Merge commit 'c34bb3b6c55f6ab084124ad964be95a699700d34' into master
Bug: b/201652781
Change-Id: I297fd48ba42d071b0b9651ea74aec61479fbd8fb
diff --git a/.github/workflows/continuous_deployment.yml b/.github/workflows/continuous_deployment.yml
new file mode 100644
index 0000000..86f439d
--- /dev/null
+++ b/.github/workflows/continuous_deployment.yml
@@ -0,0 +1,168 @@
+# NOTE: This workflow was ported from Travis.
+# Travis was using Ubuntu 14.04. Ubuntu 14.04 is not supportted by GitHub workflows. Ubuntu 20.04 is recommended.
+# Travis was using Clang 3.6. The earliest version support by Ubuntu 20.04 is Clang 6.0.
+# Travis was caching the clang package. APT package caching is not natively supported by GitHub actions/cache.
+# Travis was using Mac OS X 10.13.6 / Xcode 9.4.1 / LLVM 9.1.0
+
+# NOTE: The following documentation may be useful to maintainers of this workflow.
+# Github actions: https://docs.github.com/en/actions
+# Github github-script action: https://github.com/actions/github-script
+# GitHub REST API: https://docs.github.com/en/rest
+# Octokit front-end to the GitHub REST API: https://octokit.github.io/rest.js/v18
+# Octokit endpoint methods: https://github.com/octokit/plugin-rest-endpoint-methods.js/tree/master/docs/repos
+
+# TODO: Use actions/upload-artifact and actions/download-artifact to simplify deployment.
+# TODO: Use composite actions to refactor redundant code.
+
+name: Continuous Deployment
+
+on:
+ workflow_dispatch:
+ push:
+ branches:
+ - master
+
+jobs:
+ linux:
+ runs-on: ${{matrix.os.genus}}
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [{genus: ubuntu-20.04, family: linux}]
+ compiler: [{cc: clang, cxx: clang++}, {cc: gcc, cxx: g++}]
+ cmake_build_type: [Debug, Release]
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-python@v2
+ with:
+ python-version: '3.7'
+ - name: Install Ubuntu Package Dependencies
+ run: |
+ sudo apt-get -qq update
+ sudo apt-get install -y clang-6.0
+ - name: Install GoogleTest
+ run: |
+ # check out pre-breakage version of googletest; can be deleted when
+ # issue 3128 is fixed
+ # git clone --depth=1 https://github.com/google/googletest.git External/googletest
+ mkdir -p External/googletest
+ cd External/googletest
+ git init
+ git remote add origin https://github.com/google/googletest.git
+ git fetch --depth 1 origin 0c400f67fcf305869c5fb113dd296eca266c9725
+ git reset --hard FETCH_HEAD
+ cd ../..
+ - name: Update Glslang Sources
+ run: |
+ ./update_glslang_sources.py
+ - name: Build
+ env:
+ CC: ${{matrix.compiler.cc}}
+ CXX: ${{matrix.compiler.cxx}}
+ run: |
+ mkdir build && cd build
+ cmake -DCMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -DCMAKE_INSTALL_PREFIX=`pwd`/install ..
+ make -j4 install
+ - name: Test
+ run: |
+ cd build
+ ctest --output-on-failure &&
+ cd ../Test && ./runtests
+ - name: Zip
+ if: ${{ matrix.compiler.cc == 'clang' }}
+ env:
+ ARCHIVE: glslang-master-${{matrix.os.family}}-${{matrix.cmake_build_type}}.zip
+ run: |
+ cd build/install
+ zip ${ARCHIVE} \
+ bin/glslangValidator \
+ include/glslang/* \
+ lib/libGenericCodeGen${SUFFIX}.a \
+ lib/libglslang${SUFFIX}.a \
+ lib/libglslang-default-resource-limits${SUFFIX}.a \
+ lib/libHLSL${SUFFIX}.a \
+ lib/libMachineIndependent${SUFFIX}.a \
+ lib/libOGLCompiler${SUFFIX}.a \
+ lib/libOSDependent${SUFFIX}.a \
+ lib/libSPIRV${SUFFIX}.a \
+ lib/libSPVRemapper${SUFFIX}.a \
+ lib/libSPIRV-Tools${SUFFIX}.a \
+ lib/libSPIRV-Tools-opt${SUFFIX}.a
+ - name: Deploy
+ if: ${{ matrix.compiler.cc == 'clang' }}
+ env:
+ ARCHIVE: glslang-master-${{matrix.os.family}}-${{matrix.cmake_build_type}}.zip
+ uses: actions/github-script@v5
+ with:
+ script: |
+ const script = require('.github/workflows/deploy.js')
+ await script({github, context, core})
+
+ macos:
+ runs-on: ${{matrix.os.genus}}
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [{genus: macos-10.15, family: osx}]
+ compiler: [{cc: clang, cxx: clang++}]
+ cmake_build_type: [Debug, Release]
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-python@v2
+ with:
+ python-version: '3.7'
+ - name: Install GoogleTest
+ run: |
+ # check out pre-breakage version of googletest; can be deleted when
+ # issue 3128 is fixed
+ # git clone --depth=1 https://github.com/google/googletest.git External/googletest
+ mkdir -p External/googletest
+ cd External/googletest
+ git init
+ git remote add origin https://github.com/google/googletest.git
+ git fetch --depth 1 origin 0c400f67fcf305869c5fb113dd296eca266c9725
+ git reset --hard FETCH_HEAD
+ cd ../..
+ - name: Update Glslang Sources
+ run: |
+ ./update_glslang_sources.py
+ - name: Build
+ env:
+ CC: ${{matrix.compiler.cc}}
+ CXX: ${{matrix.compiler.cxx}}
+ run: |
+ mkdir build && cd build
+ cmake -DCMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -DCMAKE_INSTALL_PREFIX=`pwd`/install ..
+ make -j4 install
+ - name: Test
+ run: |
+ cd build
+ ctest --output-on-failure &&
+ cd ../Test && ./runtests
+ - name: Zip
+ env:
+ ARCHIVE: glslang-master-${{matrix.os.family}}-${{matrix.cmake_build_type}}.zip
+ run: |
+ cd build/install
+ zip ${ARCHIVE} \
+ bin/glslangValidator \
+ include/glslang/* \
+ lib/libGenericCodeGen${SUFFIX}.a \
+ lib/libglslang${SUFFIX}.a \
+ lib/libglslang-default-resource-limits${SUFFIX}.a \
+ lib/libHLSL${SUFFIX}.a \
+ lib/libMachineIndependent${SUFFIX}.a \
+ lib/libOGLCompiler${SUFFIX}.a \
+ lib/libOSDependent${SUFFIX}.a \
+ lib/libSPIRV${SUFFIX}.a \
+ lib/libSPVRemapper${SUFFIX}.a \
+ lib/libSPIRV-Tools${SUFFIX}.a \
+ lib/libSPIRV-Tools-opt${SUFFIX}.a
+ - name: Deploy
+ env:
+ ARCHIVE: glslang-master-${{matrix.os.family}}-${{matrix.cmake_build_type}}.zip
+ uses: actions/github-script@v5
+ with:
+ script: |
+ const script = require('.github/workflows/deploy.js')
+ await script({github, context, core})
diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml
new file mode 100644
index 0000000..feec0dc
--- /dev/null
+++ b/.github/workflows/continuous_integration.yml
@@ -0,0 +1,157 @@
+# NOTE: This workflow was ported from Travis.
+# Travis was using Ubuntu 14.04. Ubuntu 14.04 is not supportted by GitHub workflows. Ubuntu 20.04 is recommended.
+# Travis was using Clang 3.6. The earliest version support by Ubuntu 20.04 is Clang 6.0.
+# Travis was caching the clang package. APT package caching is not natively supported by GitHub actions/cache.
+# Travis was using Mac OS X 10.13.6 / Xcode 9.4.1 / LLVM 9.1.0
+#
+name: Continuous Integration
+
+on:
+ workflow_dispatch:
+ pull_request:
+ branches:
+ - master
+
+jobs:
+ linux:
+ runs-on: ${{matrix.os}}
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [ubuntu-20.04]
+ compiler: [{cc: clang, cxx: clang++}, {cc: gcc, cxx: g++}]
+ cmake_build_type: [Debug, Release]
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-python@v2
+ with:
+ python-version: '3.7'
+ - name: Install Ubuntu Package Dependencies
+ run: |
+ sudo apt-get -qq update
+ sudo apt-get install -y clang-6.0
+ - name: Install GoogleTest
+ run: |
+ # check out pre-breakage version of googletest; can be deleted when
+ # issue 3128 is fixed
+ # git clone --depth=1 https://github.com/google/googletest.git External/googletest
+ mkdir -p External/googletest
+ cd External/googletest
+ git init
+ git remote add origin https://github.com/google/googletest.git
+ git fetch --depth 1 origin 0c400f67fcf305869c5fb113dd296eca266c9725
+ git reset --hard FETCH_HEAD
+ cd ../..
+ - name: Update Glslang Sources
+ run: |
+ ./update_glslang_sources.py
+ - name: Build
+ env:
+ CC: ${{matrix.compiler.cc}}
+ CXX: ${{matrix.compiler.cxx}}
+ run: |
+ mkdir build && cd build
+ cmake -DCMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -DCMAKE_INSTALL_PREFIX=`pwd`/install ..
+ make -j4 install
+ - name: Test
+ run: |
+ cd build
+ ctest --output-on-failure &&
+ cd ../Test && ./runtests
+
+ macos:
+ runs-on: ${{matrix.os}}
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [macos-10.15]
+ compiler: [{cc: clang, cxx: clang++}]
+ cmake_build_type: [Debug, Release]
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-python@v2
+ with:
+ python-version: '3.7'
+ - name: Install GoogleTest
+ run: |
+ # check out pre-breakage version of googletest; can be deleted when
+ # issue 3128 is fixed
+ # git clone --depth=1 https://github.com/google/googletest.git External/googletest
+ mkdir -p External/googletest
+ cd External/googletest
+ git init
+ git remote add origin https://github.com/google/googletest.git
+ git fetch --depth 1 origin 0c400f67fcf305869c5fb113dd296eca266c9725
+ git reset --hard FETCH_HEAD
+ cd ../..
+ - name: Update Glslang Sources
+ run: |
+ ./update_glslang_sources.py
+ - name: Build
+ env:
+ CC: ${{matrix.compiler.cc}}
+ CXX: ${{matrix.compiler.cxx}}
+ run: |
+ mkdir build && cd build
+ cmake -DCMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -DCMAKE_INSTALL_PREFIX=`pwd`/install ..
+ make -j4 install
+ - name: Test
+ run: |
+ cd build
+ ctest --output-on-failure &&
+ cd ../Test && ./runtests
+
+ android:
+ runs-on: ${{matrix.os}}
+ strategy:
+ fail-fast: false
+ matrix:
+ os: [ubuntu-20.04]
+ compiler: [{cc: clang, cxx: clang++}]
+ cmake_build_type: [Release]
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-python@v2
+ with:
+ python-version: '3.7'
+ - name: Install Ubuntu Package Dependencies
+ if: ${{matrix.os == 'ubuntu-20.04'}}
+ run: |
+ sudo apt-get -qq update
+ sudo apt-get install -y clang-6.0
+ - name: Install Android NDK
+ run: |
+ export ANDROID_NDK=$HOME/android-ndk
+ git init $ANDROID_NDK
+ pushd $ANDROID_NDK
+ git remote add dneto0 https://github.com/dneto0/android-ndk.git
+ git fetch --depth=1 dneto0 r17b-strip
+ git checkout FETCH_HEAD
+ popd
+ - name: Install GoogleTest
+ run: |
+ # check out pre-breakage version of googletest; can be deleted when
+ # issue 3128 is fixed
+ # git clone --depth=1 https://github.com/google/googletest.git External/googletest
+ mkdir -p External/googletest
+ cd External/googletest
+ git init
+ git remote add origin https://github.com/google/googletest.git
+ git fetch --depth 1 origin 0c400f67fcf305869c5fb113dd296eca266c9725
+ git reset --hard FETCH_HEAD
+ cd ../..
+ - name: Update Glslang Sources
+ run: |
+ ./update_glslang_sources.py
+ - name: Build
+ env:
+ CC: ${{matrix.compiler.cc}}
+ CXX: ${{matrix.compiler.cxx}}
+ run: |
+ export ANDROID_NDK=$HOME/android-ndk
+ export TOOLCHAIN_PATH=$ANDROID_NDK/build/cmake/android.toolchain.cmake
+ echo $ANDROID_NDK
+ echo $TOOLCHAIN_PATH
+ mkdir build && cd build
+ cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_PATH} -DANDROID_NATIVE_API_LEVEL=android-14 -DCMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -DANDROID_ABI="armeabi-v7a with NEON" -DBUILD_TESTING=OFF ..
+ make -j4
diff --git a/.github/workflows/deploy.js b/.github/workflows/deploy.js
new file mode 100644
index 0000000..82ebb1b
--- /dev/null
+++ b/.github/workflows/deploy.js
@@ -0,0 +1,73 @@
+module.exports = async ({github, context, core}) => {
+ try {
+ await github.rest.git.updateRef({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ ref: 'tags/master-tot',
+ sha: context.sha
+ })
+ } catch (error) {
+ core.setFailed(`upload master-tot tag; ${error.name}; ${error.message}`)
+ }
+
+ let release
+ try {
+ release = await github.rest.repos.getReleaseByTag({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ tag: 'master-tot'
+ })
+ } catch (error) {
+ core.setFailed(`get the master release; ${error.name}; ${error.message}`)
+ }
+
+ try {
+ await github.rest.repos.updateRelease({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ release_id: release.data.id
+ })
+ } catch (error) {
+ core.setFailed(`update the master release; ${error.name}; ${error.message}`)
+ }
+
+ let release_assets
+ try {
+ release_assets = await github.rest.repos.listReleaseAssets({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ release_id: release.data.id
+ })
+ } catch (error) {
+ core.setFailed(`list release assets; ${error.name}; ${error.message}`)
+ }
+
+ const { ARCHIVE } = process.env
+ for (const release_asset of release_assets.data) {
+ if (release_asset.name === `${ ARCHIVE }`) {
+ try {
+ await github.rest.repos.deleteReleaseAsset({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ asset_id: release_asset.id
+ })
+ } catch (error) {
+ core.setFailed(`delete ${ ARCHIVE }; ${error.name}; ${error.message}`)
+ }
+ }
+ }
+
+ try {
+ const asset_path = `./build/install/${ ARCHIVE }`
+ const fs = require("fs")
+ await github.rest.repos.uploadReleaseAsset({
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ release_id: release.data.id,
+ name: `${ ARCHIVE }`,
+ data: fs.readFileSync(asset_path)
+ })
+ } catch (error) {
+ core.setFailed(`upload ${ ARCHIVE }; ${error.name}; ${error.message}`)
+ }
+}
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index cb0392e..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,141 +0,0 @@
-# Linux and Mac Build Configuration for Travis
-
-language: cpp
-
-os:
- - linux
- - osx
-
-# Use Ubuntu 14.04 LTS (Trusty) as the Linux testing environment.
-sudo: false
-dist: trusty
-
-env:
- global:
- - secure: aGFrgzyKp+84hKrGkxVWg8cHV61uqrKEHT38gfSQK6+WS4GfLOyH83p7WnsEBb7AMhzU7LMNFdvOFr6+NaMpVnqRvc40CEG1Q+lNg9Pq9mhIZLowvDrfqTL9kQ+8Nbw5Q6/dg6CTvY7fvRfpfCEmKIUZBRkoKUuHeuM1uy3IupFcdNuL5bSYn3Beo+apSJginh9DI4BLDXFUgBzTRSLLyCX5g3cpaeGGOCr8quJlYx75W6HRck5g9SZuLtUoH9GFEV3l+ZEWB8noErW+J56L03bwNwFuuAh321evw++oQk5KFa8rlDvar3SJ3b1RHB8u/eq5DBYMyaK/fS8+Q7QbGr8diF/wDe68bKO7U9IhpNfExXmczCpExjHomW5TQv4rYdGhygPMfW97aIsPRYyNKcl4fkmb7NDrM8w0Jscdq2g5c2Kz0ItyZoBri/NXLwFQQjaVCs7Pf97TjuMA7mK0GJmDTRzi6SrDYlWMt5BQL3y0CCojyfLIRcTh0CQjQI29s97bLfQrYAxt9GNNFR+HTXRLLrkaAlJkPGEPwUywlSfEThnvHLesNxYqemolAYpQT4ithoL4GehGIHmaxsW295aKVhuRf8K9eBODNqrfblvM42UHhjntT+92ZnQ/Gkq80GqaMxnxi4PO5FyPIxt0r981b54YBkWi8YA4P7w5pNI=
- matrix:
- - GLSLANG_BUILD_TYPE=Release
- - GLSLANG_BUILD_TYPE=Debug
-
-compiler:
- - clang
- - gcc
-
-matrix:
- fast_finish: true # Show final status immediately if a test fails.
- exclude:
- # Skip GCC builds on Mac OS X.
- - os: osx
- compiler: gcc
- include:
- # Additional build using Android NDK.
- - env: BUILD_NDK=ON
-
-cache:
- apt: true
-
-branches:
- only:
- - master
-
-addons:
- apt:
- packages:
- - clang-3.6
-
-install:
- # Make sure that clang-3.6 is selected on Linux.
- - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CC" == "clang" ]]; then
- export CC=clang-3.6 CXX=clang++-3.6;
- fi
- # Download a recent Android NDK and use its android.toolchain.cmake file.
- - if [[ "$BUILD_NDK" == "ON" ]]; then
- export ANDROID_NDK=$HOME/android-ndk;
- git init $ANDROID_NDK;
- pushd $ANDROID_NDK;
- git remote add dneto0 https://github.com/dneto0/android-ndk.git;
- git fetch --depth=1 dneto0 r17b-strip;
- git checkout FETCH_HEAD;
- popd;
- export TOOLCHAIN_PATH=$ANDROID_NDK/build/cmake/android.toolchain.cmake;
- fi
-
-before_script:
- # check out pre-breakage version of googletest; can be deleted when
- # issue 3128 is fixed
- # git clone --depth=1 https://github.com/google/googletest.git External/googletest
- - mkdir -p External/googletest
- - cd External/googletest
- - git init
- - git remote add origin https://github.com/google/googletest.git
- - git fetch --depth 1 origin 0c400f67fcf305869c5fb113dd296eca266c9725
- - git reset --hard FETCH_HEAD
- - cd ../..
- # get spirv-tools and spirv-headers
- - ./update_glslang_sources.py
-
-script:
- - mkdir build && cd build
- # For Android, do release building using NDK without testing.
- # Use android-14, the oldest native API level supporeted by NDK r17b.
- # We can use newer API levels if we want.
- # For Linux and macOS, do debug/release building with testing.
- - if [[ "$BUILD_NDK" == "ON" ]]; then
- cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_PATH}
- -DANDROID_NATIVE_API_LEVEL=android-14
- -DCMAKE_BUILD_TYPE=Release
- -DANDROID_ABI="armeabi-v7a with NEON"
- -DBUILD_TESTING=OFF ..;
- make -j4;
- else
- cmake -DCMAKE_BUILD_TYPE=${GLSLANG_BUILD_TYPE}
- -DCMAKE_INSTALL_PREFIX=`pwd`/install ..;
- make -j4 install;
- ctest --output-on-failure &&
- cd ../Test && ./runtests;
- fi
-
-after_success:
- # For debug build, the generated dll has a postfix "d" in its name.
- - if [[ "${GLSLANG_BUILD_TYPE}" == "Debug" ]]; then
- export SUFFIX="d";
- else
- export SUFFIX="";
- fi
- # Create tarball for deployment
- - if [[ ${CC} == clang* && "${BUILD_NDK}" != "ON" ]]; then
- cd ../build/install;
- export TARBALL=glslang-master-${TRAVIS_OS_NAME}-${GLSLANG_BUILD_TYPE}.zip;
- zip ${TARBALL}
- bin/glslangValidator
- include/glslang/*
- lib/libGenericCodeGen${SUFFIX}.a
- lib/libglslang${SUFFIX}.a
- lib/libglslang-default-resource-limits${SUFFIX}.a
- lib/libHLSL${SUFFIX}.a
- lib/libMachineIndependent${SUFFIX}.a
- lib/libOGLCompiler${SUFFIX}.a
- lib/libOSDependent${SUFFIX}.a
- lib/libSPIRV${SUFFIX}.a
- lib/libSPVRemapper${SUFFIX}.a
- lib/libSPIRV-Tools${SUFFIX}.a
- lib/libSPIRV-Tools-opt${SUFFIX}.a;
- fi
-
-before_deploy:
- # Tag the current top of the tree as "master-tot".
- # Travis CI replies on the tag name to properly push to GitHub Releases.
- - git config --global user.name "Travis CI"
- - git config --global user.email "builds@travis-ci.org"
- - git tag -f master-tot
- - git push -q -f https://${glslangtoken}@github.com/KhronosGroup/glslang --tags
-
-deploy:
- provider: releases
- api_key: ${glslangtoken}
- on:
- branch: master
- condition: ${CC} == clang* && ${BUILD_NDK} != ON
- file: ${TARBALL}
- skip_cleanup: true
- overwrite: true
diff --git a/BUILD.bazel b/BUILD.bazel
index e8cf6a8..1115b7d 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -49,6 +49,11 @@
srcs = ["build_info.py"],
)
+py_binary(
+ name = "gen_extension_headers",
+ srcs = ["gen_extension_headers.py"],
+)
+
genrule(
name = "gen_build_info_h",
srcs = ["CHANGES.md", "build_info.h.tmpl"],
@@ -58,6 +63,14 @@
tools = [":build_info"],
)
+genrule(
+ name = "gen_extension_headers_h",
+ srcs = ["glslang/ExtensionHeaders", "gen_extension_headers.py"],
+ outs = ["glslang/glsl_intrinsic_header.h"],
+ cmd_bash = "$(location gen_extension_headers) -i $(location glslang/ExtensionHeaders) -o $(location glslang/glsl_intrinsic_header.h)",
+ tools = [":gen_extension_headers"],
+)
+
COMMON_COPTS = select({
"@bazel_tools//src/conditions:windows": [""],
"//conditions:default": [
@@ -206,6 +219,7 @@
srcs = [
"StandAlone/StandAlone.cpp",
"StandAlone/Worklist.h",
+ ":glslang/glsl_intrinsic_header.h"
],
copts = COMMON_COPTS,
deps = [
diff --git a/BUILD.gn b/BUILD.gn
index a37e1d2..4dd0a55 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -69,6 +69,32 @@
]
}
+action("glslang_extension_headers") {
+ script = "gen_extension_headers.py"
+
+ out_file = "${target_gen_dir}/include/glslang/glsl_intrinsic_header.h"
+
+ # Fuchsia GN build rules require all GN actions to be hermetic and they
+ # should correctly and fully state their inputs and outpus (see
+ # https://fuchsia.dev/fuchsia-src/development/build/hermetic_actions
+ # for details). All input files of the script should be added to the
+ # |sources| list.
+ sources = [
+ "glslang/ExtensionHeaders/GL_EXT_shader_realtime_clock.glsl",
+ ]
+
+ inputs = [
+ script
+ ]
+ outputs = [ out_file ]
+ args = [
+ "-i",
+ rebase_path("glslang/ExtensionHeaders", root_build_dir),
+ "-o",
+ rebase_path(out_file, root_build_dir),
+ ]
+}
+
spirv_tools_dir = glslang_spirv_tools_dir
if (!defined(glslang_angle)) {
glslang_angle = false
@@ -302,6 +328,7 @@
":glslang_build_info",
":glslang_default_resource_limits_sources",
":glslang_sources",
+ ":glslang_extension_headers",
]
public_configs = [ ":glslang_hlsl" ]
diff --git a/CHANGES.md b/CHANGES.md
index 27b002e..6d3bd6d 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -3,6 +3,29 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](https://semver.org/).
+## 11.8.0 2022-01-27
+
+### Other changes
+* Add support for SPIR-V 1.6
+* Add support for Vulkan 1.3
+* Add --hlsl-dx-position-w option
+
+## 11.7.0 2021-11-11
+
+### Other changes
+* Add support for targeting Vulkan 1.2 in the C API
+
+## 11.6.0 2021-08-25
+
+### Other changes
+* Atomic memory function only for shader storage block member or shared variable
+* Add support for gl_MaxVaryingVectors for ogl
+* Fix loading bool arrays from interface blocks
+* Generate separate stores for partially swizzled memory stores
+* Allow layout(std430) uniform with GL_EXT_scalar_block_layout
+* Support for pragma STDGL invariant(all)
+* Support for GL_NV_ray_tracing_motion_blur
+
## 11.5.0 2021-06-23
### Other changes
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0600516..43533c1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -106,10 +106,17 @@
option(ENABLE_RTTI "Enables RTTI" OFF)
option(ENABLE_EXCEPTIONS "Enables Exceptions" OFF)
option(ENABLE_OPT "Enables spirv-opt capability if present" ON)
-option(ENABLE_PCH "Enables Precompiled header" ON)
+
+if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND ${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
+ # Workaround for CMake behavior on Mac OS with gcc, cmake generates -Xarch_* arguments
+ # which gcc rejects
+ option(ENABLE_PCH "Enables Precompiled header" OFF)
+else()
+ option(ENABLE_PCH "Enables Precompiled header" ON)
+endif()
option(ENABLE_CTEST "Enables testing" ON)
-if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND WIN32)
+if(ENABLE_GLSLANG_INSTALL AND CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND WIN32)
set(CMAKE_INSTALL_PREFIX "install" CACHE STRING "..." FORCE)
endif()
@@ -118,7 +125,7 @@
find_program(CCACHE_FOUND ccache)
if(CCACHE_FOUND)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
- endif(CCACHE_FOUND)
+ endif()
endif()
if(ENABLE_CTEST)
@@ -127,26 +134,27 @@
if(ENABLE_HLSL)
add_definitions(-DENABLE_HLSL)
-endif(ENABLE_HLSL)
+endif()
if(ENABLE_GLSLANG_WEBMIN)
add_definitions(-DGLSLANG_WEB)
if(ENABLE_GLSLANG_WEBMIN_DEVEL)
add_definitions(-DGLSLANG_WEB_DEVEL)
- endif(ENABLE_GLSLANG_WEBMIN_DEVEL)
-endif(ENABLE_GLSLANG_WEBMIN)
+ endif()
+endif()
if(WIN32)
set(CMAKE_DEBUG_POSTFIX "d")
- if(MSVC)
+ option(OVERRIDE_MSVCCRT "Overrides runtime of MSVC " ON)
+ if(MSVC AND OVERRIDE_MSVCCRT)
include(ChooseMSVCCRT.cmake)
- endif(MSVC)
+ endif()
add_definitions(-DGLSLANG_OSINCLUDE_WIN32)
elseif(UNIX)
add_definitions(-DGLSLANG_OSINCLUDE_UNIX)
-else(WIN32)
+else()
message("unknown platform")
-endif(WIN32)
+endif()
if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
add_compile_options(-Wall -Wmaybe-uninitialized -Wuninitialized -Wunused -Wunused-local-typedefs
@@ -162,7 +170,7 @@
add_compile_options(-Werror=deprecated-copy)
endif()
- if(NOT CMAKE_VERSION VERSION_LESS "3.13")
+ if(NOT CMAKE_VERSION VERSION_LESS "3.13" AND NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin")
# Error if there's symbols that are not found at link time.
# add_link_options() was added in CMake 3.13 - if using an earlier
# version don't set this - it should be caught by presubmits anyway.
@@ -197,7 +205,7 @@
if(ENABLE_EXCEPTIONS)
add_compile_options(/EHsc) # Enable Exceptions
else()
- string(REGEX REPLACE /EHsc "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) # Try to remove default /EHsc cxx_flag
+ string(REGEX REPLACE "/EHsc" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") # Try to remove default /EHsc cxx_flag
add_compile_options(/D_HAS_EXCEPTIONS=0)
endif()
endif()
@@ -212,7 +220,7 @@
add_compile_options(-Wno-unused-variable -Wno-unused-const-variable)
endif()
endif()
-endif(ENABLE_GLSLANG_JS)
+endif()
# Request C++11
if(${CMAKE_VERSION} VERSION_LESS 3.1)
@@ -328,7 +336,7 @@
add_subdirectory(SPIRV)
if(ENABLE_HLSL)
add_subdirectory(hlsl)
-endif(ENABLE_HLSL)
+endif()
if(ENABLE_CTEST)
add_subdirectory(gtests)
endif()
@@ -345,11 +353,11 @@
set(RESULTS_PATH ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>/localResults)
set(VALIDATOR_PATH ${CMAKE_CURRENT_BINARY_DIR}/StandAlone/$<CONFIGURATION>/glslangValidator)
set(REMAP_PATH ${CMAKE_CURRENT_BINARY_DIR}/StandAlone/$<CONFIGURATION>/spirv-remap)
- else(CMAKE_CONFIGURATION_TYPES)
+ else()
set(RESULTS_PATH ${CMAKE_CURRENT_BINARY_DIR}/localResults)
set(VALIDATOR_PATH ${CMAKE_CURRENT_BINARY_DIR}/StandAlone/glslangValidator)
set(REMAP_PATH ${CMAKE_CURRENT_BINARY_DIR}/StandAlone/spirv-remap)
- endif(CMAKE_CONFIGURATION_TYPES)
+ endif()
add_test(NAME glslang-testsuite
COMMAND bash ${IGNORE_CR_FLAG} runtests ${RESULTS_PATH} ${VALIDATOR_PATH} ${REMAP_PATH}
diff --git a/LICENSE.txt b/LICENSE.txt
index 5f58565..054e68a 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -303,41 +303,647 @@
GPL 3 with special bison exception
--------------------------------------------------------------------------------
- Bison implementation for Yacc-like parsers in C
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
- Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
+ Preamble
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
- As a special exception, you may create a larger work that contains
- part or all of the Bison parser skeleton and distribute that work
- under terms of your choice, so long as that work isn't itself a
- parser generator using the skeleton or a modified version thereof
- as a parser skeleton. Alternatively, if you modify or redistribute
- the parser skeleton itself, you may (at your option) remove this
- special exception, which will cause the skeleton and the resulting
- Bison output files to be licensed under the GNU General Public
- License without this special exception.
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
- This special exception was added by the Free Software Foundation in
- version 2.2 of Bison.
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+Bison Exception
+
+As a special exception, you may create a larger work that contains part or all
+of the Bison parser skeleton and distribute that work under terms of your
+choice, so long as that work isn't itself a parser generator using the skeleton
+or a modified version thereof as a parser skeleton. Alternatively, if you
+modify or redistribute the parser skeleton itself, you may (at your option)
+remove this special exception, which will cause the skeleton and the resulting
+Bison output files to be licensed under the GNU General Public License without
+this special exception.
+
+This special exception was added by the Free Software Foundation in version
+2.2 of Bison.
+
+ END OF TERMS AND CONDITIONS
--------------------------------------------------------------------------------
================================================================================
--------------------------------------------------------------------------------
-The preprocessor has the core licenses stated above, plus an additional licence:
+The preprocessor has the core licenses stated above, plus additional licences:
/****************************************************************************\
Copyright (c) 2002, NVIDIA Corporation.
@@ -382,3 +988,29 @@
TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF
NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\****************************************************************************/
+
+/*
+** Copyright (c) 2014-2016 The Khronos Group Inc.
+**
+** Permission is hereby granted, free of charge, to any person obtaining a copy
+** of this software and/or associated documentation files (the "Materials"),
+** to deal in the Materials without restriction, including without limitation
+** the rights to use, copy, modify, merge, publish, distribute, sublicense,
+** and/or sell copies of the Materials, and to permit persons to whom the
+** Materials are furnished to do so, subject to the following conditions:
+**
+** The above copyright notice and this permission notice shall be included in
+** all copies or substantial portions of the Materials.
+**
+** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
+** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
+** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
+**
+** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
+** IN THE MATERIALS.
+*/
diff --git a/README.md b/README.md
index 9b8cfb3..1eba3c6 100644
--- a/README.md
+++ b/README.md
@@ -19,8 +19,8 @@
If people are only using this location to get spirv.hpp, I recommend they get that from [SPIRV-Headers](https://github.com/KhronosGroup/SPIRV-Headers) instead.
-[![Build Status](https://travis-ci.org/KhronosGroup/glslang.svg?branch=master)](https://travis-ci.org/KhronosGroup/glslang)
-[![Build status](https://ci.appveyor.com/api/projects/status/q6fi9cb0qnhkla68/branch/master?svg=true)](https://ci.appveyor.com/project/Khronoswebmaster/glslang/branch/master)
+[![appveyor status](https://ci.appveyor.com/api/projects/status/q6fi9cb0qnhkla68/branch/master?svg=true)](https://ci.appveyor.com/project/Khronoswebmaster/glslang/branch/master)
+![Continuous Deployment](https://github.com/KhronosGroup/glslang/actions/workflows/continuous_deployment.yml/badge.svg)
# Glslang Components and Status
diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt
index d699dad..22f767d 100644
--- a/SPIRV/CMakeLists.txt
+++ b/SPIRV/CMakeLists.txt
@@ -101,12 +101,12 @@
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/External>)
else()
target_link_libraries(SPIRV PRIVATE MachineIndependent)
-endif(ENABLE_OPT)
+endif()
if(WIN32)
source_group("Source" FILES ${SOURCES} ${HEADERS})
source_group("Source" FILES ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS})
-endif(WIN32)
+endif()
if(ENABLE_GLSLANG_INSTALL)
if(BUILD_SHARED_LIBS)
@@ -135,4 +135,4 @@
install(EXPORT SPIRVTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
install(FILES ${HEADERS} ${SPVREMAP_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glslang/SPIRV/)
-endif(ENABLE_GLSLANG_INSTALL)
+endif()
diff --git a/SPIRV/GLSL.ext.NV.h b/SPIRV/GLSL.ext.NV.h
index 50146da..93c98bf 100644
--- a/SPIRV/GLSL.ext.NV.h
+++ b/SPIRV/GLSL.ext.NV.h
@@ -69,6 +69,9 @@
//SPV_NV_raytracing
const char* const E_SPV_NV_ray_tracing = "SPV_NV_ray_tracing";
+//SPV_NV_ray_tracing_motion_blur
+const char* const E_SPV_NV_ray_tracing_motion_blur = "SPV_NV_ray_tracing_motion_blur";
+
//SPV_NV_shading_rate
const char* const E_SPV_NV_shading_rate = "SPV_NV_shading_rate";
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index d0bebae..39941d3 100644
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -1033,6 +1033,10 @@
return spv::BuiltInIncomingRayFlagsKHR;
case glslang::EbvGeometryIndex:
return spv::BuiltInRayGeometryIndexKHR;
+ case glslang::EbvCurrentRayTimeNV:
+ builder.addExtension(spv::E_SPV_NV_ray_tracing_motion_blur);
+ builder.addCapability(spv::CapabilityRayTracingMotionBlurNV);
+ return spv::BuiltInCurrentRayTimeNV;
// barycentrics
case glslang::EbvBaryCoordNV:
@@ -1252,8 +1256,10 @@
if (type.getBasicType() == glslang::EbtRayQuery)
return spv::StorageClassPrivate;
#ifndef GLSLANG_WEB
- if (type.getQualifier().isSpirvByReference())
- return spv::StorageClassFunction;
+ if (type.getQualifier().isSpirvByReference()) {
+ if (type.getQualifier().isParamInput() || type.getQualifier().isParamOutput())
+ return spv::StorageClassFunction;
+ }
#endif
if (type.getQualifier().isPipeInput())
return spv::StorageClassInput;
@@ -1658,9 +1664,22 @@
case EShLangCompute:
builder.addCapability(spv::CapabilityShader);
- builder.addExecutionMode(shaderEntry, spv::ExecutionModeLocalSize, glslangIntermediate->getLocalSize(0),
- glslangIntermediate->getLocalSize(1),
- glslangIntermediate->getLocalSize(2));
+ if (glslangIntermediate->getSpv().spv >= glslang::EShTargetSpv_1_6) {
+ std::vector<spv::Id> dimConstId;
+ for (int dim = 0; dim < 3; ++dim) {
+ bool specConst = (glslangIntermediate->getLocalSizeSpecId(dim) != glslang::TQualifier::layoutNotSet);
+ dimConstId.push_back(builder.makeUintConstant(glslangIntermediate->getLocalSize(dim), specConst));
+ if (specConst) {
+ builder.addDecoration(dimConstId.back(), spv::DecorationSpecId,
+ glslangIntermediate->getLocalSizeSpecId(dim));
+ }
+ }
+ builder.addExecutionModeId(shaderEntry, spv::ExecutionModeLocalSizeId, dimConstId);
+ } else {
+ builder.addExecutionMode(shaderEntry, spv::ExecutionModeLocalSize, glslangIntermediate->getLocalSize(0),
+ glslangIntermediate->getLocalSize(1),
+ glslangIntermediate->getLocalSize(2));
+ }
if (glslangIntermediate->getLayoutDerivativeModeNone() == glslang::LayoutDerivativeGroupQuads) {
builder.addCapability(spv::CapabilityComputeDerivativeGroupQuadsNV);
builder.addExecutionMode(shaderEntry, spv::ExecutionModeDerivativeGroupQuadsNV);
@@ -1764,9 +1783,22 @@
case EShLangMeshNV:
builder.addCapability(spv::CapabilityMeshShadingNV);
builder.addExtension(spv::E_SPV_NV_mesh_shader);
- builder.addExecutionMode(shaderEntry, spv::ExecutionModeLocalSize, glslangIntermediate->getLocalSize(0),
- glslangIntermediate->getLocalSize(1),
- glslangIntermediate->getLocalSize(2));
+ if (glslangIntermediate->getSpv().spv >= glslang::EShTargetSpv_1_6) {
+ std::vector<spv::Id> dimConstId;
+ for (int dim = 0; dim < 3; ++dim) {
+ bool specConst = (glslangIntermediate->getLocalSizeSpecId(dim) != glslang::TQualifier::layoutNotSet);
+ dimConstId.push_back(builder.makeUintConstant(glslangIntermediate->getLocalSize(dim), specConst));
+ if (specConst) {
+ builder.addDecoration(dimConstId.back(), spv::DecorationSpecId,
+ glslangIntermediate->getLocalSizeSpecId(dim));
+ }
+ }
+ builder.addExecutionModeId(shaderEntry, spv::ExecutionModeLocalSizeId, dimConstId);
+ } else {
+ builder.addExecutionMode(shaderEntry, spv::ExecutionModeLocalSize, glslangIntermediate->getLocalSize(0),
+ glslangIntermediate->getLocalSize(1),
+ glslangIntermediate->getLocalSize(2));
+ }
if (glslangIntermediate->getStage() == EShLangMeshNV) {
builder.addExecutionMode(shaderEntry, spv::ExecutionModeOutputVertices,
glslangIntermediate->getVertices());
@@ -1826,10 +1858,10 @@
std::vector<spv::Id> operandIds;
assert(!modeId.second.empty());
for (auto extraOperand : modeId.second) {
- int nextConst = 0;
- spv::Id operandId = createSpvConstantFromConstUnionArray(
- extraOperand->getType(), extraOperand->getConstArray(), nextConst, false);
- operandIds.push_back(operandId);
+ if (extraOperand->getType().getQualifier().isSpecConstant())
+ operandIds.push_back(getSymbolId(extraOperand->getAsSymbolNode()));
+ else
+ operandIds.push_back(createSpvConstant(*extraOperand));
}
builder.addExecutionModeId(shaderEntry, static_cast<spv::ExecutionMode>(modeId.first), operandIds);
}
@@ -3018,6 +3050,7 @@
case glslang::EOpIgnoreIntersectionNV:
case glslang::EOpTerminateRayNV:
case glslang::EOpTraceNV:
+ case glslang::EOpTraceRayMotionNV:
case glslang::EOpTraceKHR:
case glslang::EOpExecuteCallableNV:
case glslang::EOpExecuteCallableKHR:
@@ -3317,9 +3350,11 @@
bool cond = glslangOperands[arg]->getAsConstantUnion()->getConstArray()[0].getBConst();
operands.push_back(builder.makeIntConstant(cond ? 1 : 0));
} else if ((arg == 10 && glslangOp == glslang::EOpTraceKHR) ||
+ (arg == 11 && glslangOp == glslang::EOpTraceRayMotionNV) ||
(arg == 1 && glslangOp == glslang::EOpExecuteCallableKHR)) {
- const int opdNum = glslangOp == glslang::EOpTraceKHR ? 10 : 1;
- const int set = glslangOp == glslang::EOpTraceKHR ? 0 : 1;
+ const int opdNum = glslangOp == glslang::EOpTraceKHR ? 10 : (glslangOp == glslang::EOpTraceRayMotionNV ? 11 : 1);
+ const int set = glslangOp == glslang::EOpExecuteCallableKHR ? 1 : 0;
+
const int location = glslangOperands[opdNum]->getAsConstantUnion()->getConstArray()[0].getUConst();
auto itNode = locationToSymbol[set].find(location);
visitSymbol(itNode->second);
@@ -3377,7 +3412,7 @@
const auto& spirvInst = node->getSpirvInstruction();
if (spirvInst.set == "") {
std::vector<spv::IdImmediate> idImmOps;
- for (int i = 0; i < glslangOperands.size(); ++i) {
+ for (unsigned int i = 0; i < glslangOperands.size(); ++i) {
if (glslangOperands[i]->getAsTyped()->getQualifier().isSpirvLiteral()) {
// Translate the constant to a literal value
std::vector<unsigned> literals;
@@ -3770,7 +3805,16 @@
switch (node->getFlowOp()) {
case glslang::EOpKill:
- builder.makeStatementTerminator(spv::OpKill, "post-discard");
+ if (glslangIntermediate->getSpv().spv >= glslang::EShTargetSpv_1_6) {
+ if (glslangIntermediate->getSource() == glslang::EShSourceHlsl) {
+ builder.addCapability(spv::CapabilityDemoteToHelperInvocation);
+ builder.createNoResultOp(spv::OpDemoteToHelperInvocationEXT);
+ } else {
+ builder.makeStatementTerminator(spv::OpTerminateInvocation, "post-terminate-invocation");
+ }
+ } else {
+ builder.makeStatementTerminator(spv::OpKill, "post-discard");
+ }
break;
case glslang::EOpTerminateInvocation:
builder.addExtension(spv::E_SPV_KHR_terminate_invocation);
@@ -3933,12 +3977,14 @@
builder.addExtension(spv::E_SPV_AMD_gpu_shader_half_float_fetch);
builder.addCapability(spv::CapabilityFloat16ImageAMD);
return builder.makeFloatType(16);
- case glslang::EbtInt64: return builder.makeIntType(64);
+ case glslang::EbtInt64:
builder.addExtension(spv::E_SPV_EXT_shader_image_int64);
- builder.addCapability(spv::CapabilityFloat16ImageAMD);
- case glslang::EbtUint64: return builder.makeUintType(64);
+ builder.addCapability(spv::CapabilityInt64ImageEXT);
+ return builder.makeIntType(64);
+ case glslang::EbtUint64:
builder.addExtension(spv::E_SPV_EXT_shader_image_int64);
- builder.addCapability(spv::CapabilityFloat16ImageAMD);
+ builder.addCapability(spv::CapabilityInt64ImageEXT);
+ return builder.makeUintType(64);
#endif
default:
assert(0);
@@ -4139,68 +4185,55 @@
const auto& spirvType = type.getSpirvType();
const auto& spirvInst = spirvType.spirvInst;
- std::vector<spv::Id> operands;
+ std::vector<spv::IdImmediate> operands;
for (const auto& typeParam : spirvType.typeParams) {
- if (typeParam.isConstant) {
- // Constant expression
- if (typeParam.constant->isLiteral()) {
- if (typeParam.constant->getBasicType() == glslang::EbtFloat) {
- float floatValue = static_cast<float>(typeParam.constant->getConstArray()[0].getDConst());
- unsigned literal = *reinterpret_cast<unsigned*>(&floatValue);
- operands.push_back(literal);
- } else if (typeParam.constant->getBasicType() == glslang::EbtInt) {
- unsigned literal = typeParam.constant->getConstArray()[0].getIConst();
- operands.push_back(literal);
- } else if (typeParam.constant->getBasicType() == glslang::EbtUint) {
- unsigned literal = typeParam.constant->getConstArray()[0].getUConst();
- operands.push_back(literal);
- } else if (typeParam.constant->getBasicType() == glslang::EbtBool) {
- unsigned literal = typeParam.constant->getConstArray()[0].getBConst();
- operands.push_back(literal);
- } else if (typeParam.constant->getBasicType() == glslang::EbtString) {
- auto str = typeParam.constant->getConstArray()[0].getSConst()->c_str();
- unsigned literal = 0;
- char* literalPtr = reinterpret_cast<char*>(&literal);
- unsigned charCount = 0;
- char ch = 0;
- do {
- ch = *(str++);
- *(literalPtr++) = ch;
- ++charCount;
- if (charCount == 4) {
- operands.push_back(literal);
- literalPtr = reinterpret_cast<char*>(&literal);
- charCount = 0;
- }
- } while (ch != 0);
-
- // Partial literal is padded with 0
- if (charCount > 0) {
- for (; charCount < 4; ++charCount)
- *(literalPtr++) = 0;
- operands.push_back(literal);
+ // Constant expression
+ if (typeParam.constant->isLiteral()) {
+ if (typeParam.constant->getBasicType() == glslang::EbtFloat) {
+ float floatValue = static_cast<float>(typeParam.constant->getConstArray()[0].getDConst());
+ unsigned literal = *reinterpret_cast<unsigned*>(&floatValue);
+ operands.push_back({false, literal});
+ } else if (typeParam.constant->getBasicType() == glslang::EbtInt) {
+ unsigned literal = typeParam.constant->getConstArray()[0].getIConst();
+ operands.push_back({false, literal});
+ } else if (typeParam.constant->getBasicType() == glslang::EbtUint) {
+ unsigned literal = typeParam.constant->getConstArray()[0].getUConst();
+ operands.push_back({false, literal});
+ } else if (typeParam.constant->getBasicType() == glslang::EbtBool) {
+ unsigned literal = typeParam.constant->getConstArray()[0].getBConst();
+ operands.push_back({false, literal});
+ } else if (typeParam.constant->getBasicType() == glslang::EbtString) {
+ auto str = typeParam.constant->getConstArray()[0].getSConst()->c_str();
+ unsigned literal = 0;
+ char* literalPtr = reinterpret_cast<char*>(&literal);
+ unsigned charCount = 0;
+ char ch = 0;
+ do {
+ ch = *(str++);
+ *(literalPtr++) = ch;
+ ++charCount;
+ if (charCount == 4) {
+ operands.push_back({false, literal});
+ literalPtr = reinterpret_cast<char*>(&literal);
+ charCount = 0;
}
- } else
- assert(0); // Unexpected type
- } else {
- int nextConst = 0;
- spv::Id constant = createSpvConstantFromConstUnionArray(
- typeParam.constant->getType(), typeParam.constant->getConstArray(), nextConst, false);
- operands.push_back(constant);
- }
- } else {
- // Type specifier
- spv::Id typeId = convertGlslangToSpvType(*typeParam.type);
- operands.push_back(typeId);
- }
+ } while (ch != 0);
+
+ // Partial literal is padded with 0
+ if (charCount > 0) {
+ for (; charCount < 4; ++charCount)
+ *(literalPtr++) = 0;
+ operands.push_back({false, literal});
+ }
+ } else
+ assert(0); // Unexpected type
+ } else
+ operands.push_back({true, createSpvConstant(*typeParam.constant)});
}
- if (spirvInst.set == "")
- spvType = builder.createOp(static_cast<spv::Op>(spirvInst.id), spv::NoType, operands);
- else {
- spvType = builder.createBuiltinCall(
- spv::NoType, getExtBuiltins(spirvInst.set.c_str()), spirvInst.id, operands);
- }
+ assert(spirvInst.set == ""); // Currently, couldn't be extended instructions.
+ spvType = builder.makeGenericType(static_cast<spv::Op>(spirvInst.id), operands);
+
break;
}
#endif
@@ -4400,7 +4433,6 @@
{
// Name and decorate the non-hidden members
int offset = -1;
- int locationOffset = 0; // for use within the members of this struct
bool memberLocationInvalid = type.isArrayOfArrays() ||
(type.isArray() && (type.getQualifier().isArrayedIo(glslangIntermediate->getStage()) == false));
for (int i = 0; i < (int)glslangMembers->size(); i++) {
@@ -4458,10 +4490,6 @@
if (!memberLocationInvalid && memberQualifier.hasLocation())
builder.addMemberDecoration(spvType, member, spv::DecorationLocation, memberQualifier.layoutLocation);
- if (qualifier.hasLocation()) // track for upcoming inheritance
- locationOffset += glslangIntermediate->computeTypeLocationSize(
- glslangMember, glslangIntermediate->getStage());
-
// component, XFB, others
if (glslangMember.getQualifier().hasComponent())
builder.addMemberDecoration(spvType, member, spv::DecorationComponent,
@@ -5322,7 +5350,10 @@
int components = node->getType().getVectorSize();
- if (node->getOp() == glslang::EOpTextureFetch) {
+ if (node->getOp() == glslang::EOpImageLoad ||
+ node->getOp() == glslang::EOpImageLoadLod ||
+ node->getOp() == glslang::EOpTextureFetch ||
+ node->getOp() == glslang::EOpTextureFetchOffset) {
// These must produce 4 components, per SPIR-V spec. We'll add a conversion constructor if needed.
// This will only happen through the HLSL path for operator[], so we do not have to handle e.g.
// the EOpTexture/Proj/Lod/etc family. It would be harmless to do so, but would need more logic
@@ -7501,6 +7532,8 @@
break;
case glslang::EOpReadFirstInvocation:
opCode = spv::OpSubgroupFirstInvocationKHR;
+ if (builder.isVectorType(typeId))
+ return CreateInvocationsVectorOperation(opCode, groupOperation, typeId, operands);
break;
case glslang::EOpBallot:
{
@@ -7625,7 +7658,7 @@
assert(op == spv::OpGroupFMin || op == spv::OpGroupUMin || op == spv::OpGroupSMin ||
op == spv::OpGroupFMax || op == spv::OpGroupUMax || op == spv::OpGroupSMax ||
op == spv::OpGroupFAdd || op == spv::OpGroupIAdd || op == spv::OpGroupBroadcast ||
- op == spv::OpSubgroupReadInvocationKHR ||
+ op == spv::OpSubgroupReadInvocationKHR || op == spv::OpSubgroupFirstInvocationKHR ||
op == spv::OpGroupFMinNonUniformAMD || op == spv::OpGroupUMinNonUniformAMD ||
op == spv::OpGroupSMinNonUniformAMD ||
op == spv::OpGroupFMaxNonUniformAMD || op == spv::OpGroupUMaxNonUniformAMD ||
@@ -7654,6 +7687,8 @@
spvGroupOperands.push_back(scalar);
spv::IdImmediate operand = { true, operands[1] };
spvGroupOperands.push_back(operand);
+ } else if (op == spv::OpSubgroupFirstInvocationKHR) {
+ spvGroupOperands.push_back(scalar);
} else if (op == spv::OpGroupBroadcast) {
spv::IdImmediate scope = { true, builder.makeUintConstant(spv::ScopeSubgroup) };
spvGroupOperands.push_back(scope);
@@ -8324,6 +8359,11 @@
case glslang::EOpTraceNV:
builder.createNoResultOp(spv::OpTraceNV, operands);
return 0;
+ case glslang::EOpTraceRayMotionNV:
+ builder.addExtension(spv::E_SPV_NV_ray_tracing_motion_blur);
+ builder.addCapability(spv::CapabilityRayTracingMotionBlurNV);
+ builder.createNoResultOp(spv::OpTraceRayMotionNV, operands);
+ return 0;
case glslang::EOpTraceKHR:
builder.createNoResultOp(spv::OpTraceRayKHR, operands);
return 0;
@@ -8711,8 +8751,18 @@
builder.addDecoration(id, spv::DecorationOffset, symbol->getQualifier().layoutOffset);
}
- if (symbol->getQualifier().hasLocation())
- builder.addDecoration(id, spv::DecorationLocation, symbol->getQualifier().layoutLocation);
+ if (symbol->getQualifier().hasLocation()) {
+ if (!(glslangIntermediate->isRayTracingStage() && glslangIntermediate->IsRequestedExtension(glslang::E_GL_EXT_ray_tracing)
+ && (builder.getStorageClass(id) == spv::StorageClassRayPayloadKHR ||
+ builder.getStorageClass(id) == spv::StorageClassIncomingRayPayloadKHR ||
+ builder.getStorageClass(id) == spv::StorageClassCallableDataKHR ||
+ builder.getStorageClass(id) == spv::StorageClassIncomingCallableDataKHR))) {
+ // Location values are used to link TraceRayKHR and ExecuteCallableKHR to corresponding variables
+ // but are not valid in SPIRV since they are supported only for Input/Output Storage classes.
+ builder.addDecoration(id, spv::DecorationLocation, symbol->getQualifier().layoutLocation);
+ }
+ }
+
builder.addDecoration(id, TranslateInvariantDecoration(symbol->getType().getQualifier()));
if (symbol->getQualifier().hasStream() && glslangIntermediate->isMultiStream()) {
builder.addCapability(spv::CapabilityGeometryStreams);
@@ -8746,7 +8796,16 @@
// add built-in variable decoration
if (builtIn != spv::BuiltInMax) {
- builder.addDecoration(id, spv::DecorationBuiltIn, (int)builtIn);
+ // WorkgroupSize deprecated in spirv1.6
+ if (glslangIntermediate->getSpv().spv < glslang::EShTargetSpv_1_6 ||
+ builtIn != spv::BuiltInWorkgroupSize)
+ builder.addDecoration(id, spv::DecorationBuiltIn, (int)builtIn);
+ }
+
+ // Add volatile decoration to HelperInvocation for spirv1.6 and beyond
+ if (builtIn == spv::BuiltInHelperInvocation &&
+ glslangIntermediate->getSpv().spv >= glslang::EShTargetSpv_1_6) {
+ builder.addDecoration(id, spv::DecorationVolatile);
}
#ifndef GLSLANG_WEB
@@ -8831,12 +8890,12 @@
std::vector<spv::Id> operandIds;
assert(!decorateId.second.empty());
for (auto extraOperand : decorateId.second) {
- int nextConst = 0;
- spv::Id operandId = createSpvConstantFromConstUnionArray(
- extraOperand->getType(), extraOperand->getConstArray(), nextConst, false);
- operandIds.push_back(operandId);
+ if (extraOperand->getQualifier().isSpecConstant())
+ operandIds.push_back(getSymbolId(extraOperand->getAsSymbolNode()));
+ else
+ operandIds.push_back(createSpvConstant(*extraOperand));
}
- builder.addDecoration(id, static_cast<spv::Decoration>(decorateId.first), operandIds);
+ builder.addDecorationId(id, static_cast<spv::Decoration>(decorateId.first), operandIds);
}
// Add spirv_decorate_string
diff --git a/SPIRV/SPVRemapper.cpp b/SPIRV/SPVRemapper.cpp
index 56d6d5d..fdfbeb9 100644
--- a/SPIRV/SPVRemapper.cpp
+++ b/SPIRV/SPVRemapper.cpp
@@ -297,15 +297,21 @@
std::string spirvbin_t::literalString(unsigned word) const
{
std::string literal;
+ const spirword_t * pos = spv.data() + word;
literal.reserve(16);
- const char* bytes = reinterpret_cast<const char*>(spv.data() + word);
-
- while (bytes && *bytes)
- literal += *bytes++;
-
- return literal;
+ do {
+ spirword_t word = *pos;
+ for (int i = 0; i < 4; i++) {
+ char c = word & 0xff;
+ if (c == '\0')
+ return literal;
+ literal += c;
+ word >>= 8;
+ }
+ pos++;
+ } while (true);
}
void spirvbin_t::applyMap()
diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp
index 0482c5a..36a3f09 100644
--- a/SPIRV/SpvBuilder.cpp
+++ b/SPIRV/SpvBuilder.cpp
@@ -427,6 +427,37 @@
return type->getResultId();
}
+Id Builder::makeGenericType(spv::Op opcode, std::vector<spv::IdImmediate>& operands)
+{
+ // try to find it
+ Instruction* type;
+ for (int t = 0; t < (int)groupedTypes[opcode].size(); ++t) {
+ type = groupedTypes[opcode][t];
+ if (static_cast<size_t>(type->getNumOperands()) != operands.size())
+ continue; // Number mismatch, find next
+
+ bool match = true;
+ for (int op = 0; match && op < (int)operands.size(); ++op) {
+ match = (operands[op].isId ? type->getIdOperand(op) : type->getImmediateOperand(op)) == operands[op].word;
+ }
+ if (match)
+ return type->getResultId();
+ }
+
+ // not found, make it
+ type = new Instruction(getUniqueId(), NoType, opcode);
+ for (size_t op = 0; op < operands.size(); ++op) {
+ if (operands[op].isId)
+ type->addIdOperand(operands[op].word);
+ else
+ type->addImmediateOperand(operands[op].word);
+ }
+ groupedTypes[opcode].push_back(type);
+ constantsTypesGlobals.push_back(std::unique_ptr<Instruction>(type));
+ module.mapInstruction(type);
+
+ return type->getResultId();
+}
// TODO: performance: track arrays per stride
// If a stride is supplied (non-zero) make an array.
@@ -743,6 +774,26 @@
}
}
+// Figure out the final resulting type of the access chain.
+Id Builder::getResultingAccessChainType() const
+{
+ assert(accessChain.base != NoResult);
+ Id typeId = getTypeId(accessChain.base);
+
+ assert(isPointerType(typeId));
+ typeId = getContainedTypeId(typeId);
+
+ for (int i = 0; i < (int)accessChain.indexChain.size(); ++i) {
+ if (isStructType(typeId)) {
+ assert(isConstantScalar(accessChain.indexChain[i]));
+ typeId = getContainedTypeId(typeId, getConstantScalar(accessChain.indexChain[i]));
+ } else
+ typeId = getContainedTypeId(typeId, accessChain.indexChain[i]);
+ }
+
+ return typeId;
+}
+
// Return the immediately contained type of a given composite type.
Id Builder::getContainedTypeId(Id typeId) const
{
@@ -1585,16 +1636,7 @@
Id Builder::createAccessChain(StorageClass storageClass, Id base, const std::vector<Id>& offsets)
{
// Figure out the final resulting type.
- spv::Id typeId = getTypeId(base);
- assert(isPointerType(typeId) && offsets.size() > 0);
- typeId = getContainedTypeId(typeId);
- for (int i = 0; i < (int)offsets.size(); ++i) {
- if (isStructType(typeId)) {
- assert(isConstantScalar(offsets[i]));
- typeId = getContainedTypeId(typeId, getConstantScalar(offsets[i]));
- } else
- typeId = getContainedTypeId(typeId, offsets[i]);
- }
+ Id typeId = getResultingAccessChainType();
typeId = makePointer(storageClass, typeId);
// Make the instruction
@@ -2794,28 +2836,59 @@
assert(accessChain.isRValue == false);
transferAccessChainSwizzle(true);
- Id base = collapseAccessChain();
- addDecoration(base, nonUniform);
- Id source = rvalue;
+ // If a swizzle exists and is not full and is not dynamic, then the swizzle will be broken into individual stores.
+ if (accessChain.swizzle.size() > 0 &&
+ getNumTypeComponents(getResultingAccessChainType()) != (int)accessChain.swizzle.size() &&
+ accessChain.component == NoResult) {
+ for (unsigned int i = 0; i < accessChain.swizzle.size(); ++i) {
+ accessChain.indexChain.push_back(makeUintConstant(accessChain.swizzle[i]));
+ accessChain.instr = NoResult;
- // dynamic component should be gone
- assert(accessChain.component == NoResult);
+ Id base = collapseAccessChain();
+ addDecoration(base, nonUniform);
- // If swizzle still exists, it is out-of-order or not full, we must load the target vector,
- // extract and insert elements to perform writeMask and/or swizzle.
- if (accessChain.swizzle.size() > 0) {
- Id tempBaseId = createLoad(base, spv::NoPrecision);
- source = createLvalueSwizzle(getTypeId(tempBaseId), tempBaseId, source, accessChain.swizzle);
+ accessChain.indexChain.pop_back();
+ accessChain.instr = NoResult;
+
+ // dynamic component should be gone
+ assert(accessChain.component == NoResult);
+
+ Id source = createCompositeExtract(rvalue, getContainedTypeId(getTypeId(rvalue)), i);
+
+ // take LSB of alignment
+ alignment = alignment & ~(alignment & (alignment-1));
+ if (getStorageClass(base) == StorageClassPhysicalStorageBufferEXT) {
+ memoryAccess = (spv::MemoryAccessMask)(memoryAccess | spv::MemoryAccessAlignedMask);
+ }
+
+ createStore(source, base, memoryAccess, scope, alignment);
+ }
}
+ else {
+ Id base = collapseAccessChain();
+ addDecoration(base, nonUniform);
- // take LSB of alignment
- alignment = alignment & ~(alignment & (alignment-1));
- if (getStorageClass(base) == StorageClassPhysicalStorageBufferEXT) {
- memoryAccess = (spv::MemoryAccessMask)(memoryAccess | spv::MemoryAccessAlignedMask);
+ Id source = rvalue;
+
+ // dynamic component should be gone
+ assert(accessChain.component == NoResult);
+
+ // If swizzle still exists, it may be out-of-order, we must load the target vector,
+ // extract and insert elements to perform writeMask and/or swizzle.
+ if (accessChain.swizzle.size() > 0) {
+ Id tempBaseId = createLoad(base, spv::NoPrecision);
+ source = createLvalueSwizzle(getTypeId(tempBaseId), tempBaseId, source, accessChain.swizzle);
+ }
+
+ // take LSB of alignment
+ alignment = alignment & ~(alignment & (alignment-1));
+ if (getStorageClass(base) == StorageClassPhysicalStorageBufferEXT) {
+ memoryAccess = (spv::MemoryAccessMask)(memoryAccess | spv::MemoryAccessAlignedMask);
+ }
+
+ createStore(source, base, memoryAccess, scope, alignment);
}
-
- createStore(source, base, memoryAccess, scope, alignment);
}
// Comments in header
diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h
index 73847e1..c72d9b2 100644
--- a/SPIRV/SpvBuilder.h
+++ b/SPIRV/SpvBuilder.h
@@ -181,6 +181,7 @@
Id makeSamplerType();
Id makeSampledImageType(Id imageType);
Id makeCooperativeMatrixType(Id component, Id scope, Id rows, Id cols);
+ Id makeGenericType(spv::Op opcode, std::vector<spv::IdImmediate>& operands);
// accelerationStructureNV type
Id makeAccelerationStructureType();
@@ -202,6 +203,7 @@
StorageClass getTypeStorageClass(Id typeId) const { return module.getStorageClass(typeId); }
ImageFormat getImageTypeFormat(Id typeId) const
{ return (ImageFormat)module.getInstruction(typeId)->getImmediateOperand(6); }
+ Id getResultingAccessChainType() const;
bool isPointer(Id resultId) const { return isPointerType(getTypeId(resultId)); }
bool isScalar(Id resultId) const { return isScalarType(getTypeId(resultId)); }
diff --git a/SPIRV/SpvPostProcess.cpp b/SPIRV/SpvPostProcess.cpp
index 23d7b5a..dd6dabc 100644
--- a/SPIRV/SpvPostProcess.cpp
+++ b/SPIRV/SpvPostProcess.cpp
@@ -44,10 +44,8 @@
#include <algorithm>
#include "SpvBuilder.h"
-
#include "spirv.hpp"
-#include "GlslangToSpv.h"
-#include "SpvBuilder.h"
+
namespace spv {
#include "GLSL.std.450.h"
#include "GLSL.ext.KHR.h"
@@ -113,8 +111,6 @@
}
}
break;
- case OpAccessChain:
- case OpPtrAccessChain:
case OpCopyObject:
break;
case OpFConvert:
@@ -161,26 +157,43 @@
switch (inst.getImmediateOperand(1)) {
case GLSLstd450Frexp:
case GLSLstd450FrexpStruct:
- if (getSpvVersion() < glslang::EShTargetSpv_1_3 && containsType(typeId, OpTypeInt, 16))
+ if (getSpvVersion() < spv::Spv_1_3 && containsType(typeId, OpTypeInt, 16))
addExtension(spv::E_SPV_AMD_gpu_shader_int16);
break;
case GLSLstd450InterpolateAtCentroid:
case GLSLstd450InterpolateAtSample:
case GLSLstd450InterpolateAtOffset:
- if (getSpvVersion() < glslang::EShTargetSpv_1_3 && containsType(typeId, OpTypeFloat, 16))
+ if (getSpvVersion() < spv::Spv_1_3 && containsType(typeId, OpTypeFloat, 16))
addExtension(spv::E_SPV_AMD_gpu_shader_half_float);
break;
default:
break;
}
break;
+ case OpAccessChain:
+ case OpPtrAccessChain:
+ if (isPointerType(typeId))
+ break;
+ if (basicTypeOp == OpTypeInt) {
+ if (width == 16)
+ addCapability(CapabilityInt16);
+ else if (width == 8)
+ addCapability(CapabilityInt8);
+ }
default:
- if (basicTypeOp == OpTypeFloat && width == 16)
- addCapability(CapabilityFloat16);
- if (basicTypeOp == OpTypeInt && width == 16)
- addCapability(CapabilityInt16);
- if (basicTypeOp == OpTypeInt && width == 8)
- addCapability(CapabilityInt8);
+ if (basicTypeOp == OpTypeInt) {
+ if (width == 16)
+ addCapability(CapabilityInt16);
+ else if (width == 8)
+ addCapability(CapabilityInt8);
+ else if (width == 64)
+ addCapability(CapabilityInt64);
+ } else if (basicTypeOp == OpTypeFloat) {
+ if (width == 16)
+ addCapability(CapabilityFloat16);
+ else if (width == 64)
+ addCapability(CapabilityFloat64);
+ }
break;
}
}
diff --git a/SPIRV/SpvTools.cpp b/SPIRV/SpvTools.cpp
index 8acf9b1..e8f8251 100644
--- a/SPIRV/SpvTools.cpp
+++ b/SPIRV/SpvTools.cpp
@@ -68,6 +68,8 @@
}
case glslang::EShTargetVulkan_1_2:
return spv_target_env::SPV_ENV_VULKAN_1_2;
+ case glslang::EShTargetVulkan_1_3:
+ return spv_target_env::SPV_ENV_VULKAN_1_3;
default:
break;
}
diff --git a/SPIRV/disassemble.cpp b/SPIRV/disassemble.cpp
index 73c988c..74dd605 100644
--- a/SPIRV/disassemble.cpp
+++ b/SPIRV/disassemble.cpp
@@ -43,6 +43,7 @@
#include <stack>
#include <sstream>
#include <cstring>
+#include <utility>
#include "disassemble.h"
#include "doc.h"
@@ -100,6 +101,7 @@
void outputMask(OperandClass operandClass, unsigned mask);
void disassembleImmediates(int numOperands);
void disassembleIds(int numOperands);
+ std::pair<int, std::string> decodeString();
int disassembleString();
void disassembleInstruction(Id resultId, Id typeId, Op opCode, int numOperands);
@@ -290,31 +292,44 @@
}
}
-// return the number of operands consumed by the string
-int SpirvStream::disassembleString()
+// decode string from words at current position (non-consuming)
+std::pair<int, std::string> SpirvStream::decodeString()
{
- int startWord = word;
-
- out << " \"";
-
- const char* wordString;
+ std::string res;
+ int wordPos = word;
+ char c;
bool done = false;
+
do {
- unsigned int content = stream[word];
- wordString = (const char*)&content;
+ unsigned int content = stream[wordPos];
for (int charCount = 0; charCount < 4; ++charCount) {
- if (*wordString == 0) {
+ c = content & 0xff;
+ content >>= 8;
+ if (c == '\0') {
done = true;
break;
}
- out << *(wordString++);
+ res += c;
}
- ++word;
- } while (! done);
+ ++wordPos;
+ } while(! done);
+ return std::make_pair(wordPos - word, res);
+}
+
+// return the number of operands consumed by the string
+int SpirvStream::disassembleString()
+{
+ out << " \"";
+
+ std::pair<int, std::string> decoderes = decodeString();
+
+ out << decoderes.second;
out << "\"";
- return word - startWord;
+ word += decoderes.first;
+
+ return decoderes.first;
}
void SpirvStream::disassembleInstruction(Id resultId, Id /*typeId*/, Op opCode, int numOperands)
@@ -331,7 +346,7 @@
nextNestedControl = 0;
}
} else if (opCode == OpExtInstImport) {
- idDescriptor[resultId] = (const char*)(&stream[word]);
+ idDescriptor[resultId] = decodeString().second;
}
else {
if (resultId != 0 && idDescriptor[resultId].size() == 0) {
@@ -428,7 +443,7 @@
--numOperands;
// Get names for printing "(XXX)" for readability, *after* this id
if (opCode == OpName)
- idDescriptor[stream[word - 1]] = (const char*)(&stream[word]);
+ idDescriptor[stream[word - 1]] = decodeString().second;
break;
case OperandVariableIds:
disassembleIds(numOperands);
diff --git a/SPIRV/doc.cpp b/SPIRV/doc.cpp
index 31b20a1..9a569e0 100644
--- a/SPIRV/doc.cpp
+++ b/SPIRV/doc.cpp
@@ -426,6 +426,7 @@
case BuiltInSMCountNV: return "SMCountNV";
case BuiltInWarpIDNV: return "WarpIDNV";
case BuiltInSMIDNV: return "SMIDNV";
+ case BuiltInCurrentRayTimeNV: return "CurrentRayTimeNV";
default: return "Bad";
}
@@ -899,6 +900,12 @@
case CapabilityDeviceGroup: return "DeviceGroup";
case CapabilityMultiView: return "MultiView";
+ case CapabilityDenormPreserve: return "DenormPreserve";
+ case CapabilityDenormFlushToZero: return "DenormFlushToZero";
+ case CapabilitySignedZeroInfNanPreserve: return "SignedZeroInfNanPreserve";
+ case CapabilityRoundingModeRTE: return "RoundingModeRTE";
+ case CapabilityRoundingModeRTZ: return "RoundingModeRTZ";
+
case CapabilityStencilExportEXT: return "StencilExportEXT";
case CapabilityFloat16ImageAMD: return "Float16ImageAMD";
@@ -916,6 +923,7 @@
case CapabilityPerViewAttributesNV: return "PerViewAttributesNV";
case CapabilityGroupNonUniformPartitionedNV: return "GroupNonUniformPartitionedNV";
case CapabilityRayTracingNV: return "RayTracingNV";
+ case CapabilityRayTracingMotionBlurNV: return "RayTracingMotionBlurNV";
case CapabilityRayTracingKHR: return "RayTracingKHR";
case CapabilityRayQueryKHR: return "RayQueryKHR";
case CapabilityRayTracingProvisionalKHR: return "RayTracingProvisionalKHR";
@@ -1382,6 +1390,7 @@
case OpTerminateRayNV: return "OpTerminateRayNV";
case OpTerminateRayKHR: return "OpTerminateRayKHR";
case OpTraceNV: return "OpTraceNV";
+ case OpTraceRayMotionNV: return "OpTraceRayMotionNV";
case OpTraceRayKHR: return "OpTraceRayKHR";
case OpTypeAccelerationStructureKHR: return "OpTypeAccelerationStructureKHR";
case OpExecuteCallableNV: return "OpExecuteCallableNV";
@@ -2812,6 +2821,20 @@
InstructionDesc[OpTraceNV].operands.push(OperandId, "'Payload'");
InstructionDesc[OpTraceNV].setResultAndType(false, false);
+ InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'Acceleration Structure'");
+ InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'Ray Flags'");
+ InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'Cull Mask'");
+ InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'SBT Record Offset'");
+ InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'SBT Record Stride'");
+ InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'Miss Index'");
+ InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'Ray Origin'");
+ InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'TMin'");
+ InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'Ray Direction'");
+ InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'TMax'");
+ InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'Time'");
+ InstructionDesc[OpTraceRayMotionNV].operands.push(OperandId, "'Payload'");
+ InstructionDesc[OpTraceRayMotionNV].setResultAndType(false, false);
+
InstructionDesc[OpTraceRayKHR].operands.push(OperandId, "'Acceleration Structure'");
InstructionDesc[OpTraceRayKHR].operands.push(OperandId, "'Ray Flags'");
InstructionDesc[OpTraceRayKHR].operands.push(OperandId, "'Cull Mask'");
diff --git a/SPIRV/spirv.hpp b/SPIRV/spirv.hpp
index 317db81..a864200 100644
--- a/SPIRV/spirv.hpp
+++ b/SPIRV/spirv.hpp
@@ -1,2308 +1,2509 @@
-// Copyright (c) 2014-2020 The Khronos Group Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and/or associated documentation files (the "Materials"),
-// to deal in the Materials without restriction, including without limitation
-// the rights to use, copy, modify, merge, publish, distribute, sublicense,
-// and/or sell copies of the Materials, and to permit persons to whom the
-// Materials are furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Materials.
-//
-// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
-// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
-// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
-//
-// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
-// IN THE MATERIALS.
-
-// This header is automatically generated by the same tool that creates
-// the Binary Section of the SPIR-V specification.
-
-// Enumeration tokens for SPIR-V, in various styles:
-// C, C++, C++11, JSON, Lua, Python, C#, D
-//
-// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
-// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
-// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
-// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
-// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
-// - C# will use enum classes in the Specification class located in the "Spv" namespace,
-// e.g.: Spv.Specification.SourceLanguage.GLSL
-// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
-//
-// Some tokens act like mask values, which can be OR'd together,
-// while others are mutually exclusive. The mask-like ones have
-// "Mask" in their name, and a parallel enum that has the shift
-// amount (1 << x) for each corresponding enumerant.
-
-#ifndef spirv_HPP
-#define spirv_HPP
-
-namespace spv {
-
-typedef unsigned int Id;
-
-#define SPV_VERSION 0x10500
-#define SPV_REVISION 4
-
-static const unsigned int MagicNumber = 0x07230203;
-static const unsigned int Version = 0x00010500;
-static const unsigned int Revision = 4;
-static const unsigned int OpCodeMask = 0xffff;
-static const unsigned int WordCountShift = 16;
-
-enum SourceLanguage {
- SourceLanguageUnknown = 0,
- SourceLanguageESSL = 1,
- SourceLanguageGLSL = 2,
- SourceLanguageOpenCL_C = 3,
- SourceLanguageOpenCL_CPP = 4,
- SourceLanguageHLSL = 5,
- SourceLanguageMax = 0x7fffffff,
-};
-
-enum ExecutionModel {
- ExecutionModelVertex = 0,
- ExecutionModelTessellationControl = 1,
- ExecutionModelTessellationEvaluation = 2,
- ExecutionModelGeometry = 3,
- ExecutionModelFragment = 4,
- ExecutionModelGLCompute = 5,
- ExecutionModelKernel = 6,
- ExecutionModelTaskNV = 5267,
- ExecutionModelMeshNV = 5268,
- ExecutionModelRayGenerationKHR = 5313,
- ExecutionModelRayGenerationNV = 5313,
- ExecutionModelIntersectionKHR = 5314,
- ExecutionModelIntersectionNV = 5314,
- ExecutionModelAnyHitKHR = 5315,
- ExecutionModelAnyHitNV = 5315,
- ExecutionModelClosestHitKHR = 5316,
- ExecutionModelClosestHitNV = 5316,
- ExecutionModelMissKHR = 5317,
- ExecutionModelMissNV = 5317,
- ExecutionModelCallableKHR = 5318,
- ExecutionModelCallableNV = 5318,
- ExecutionModelMax = 0x7fffffff,
-};
-
-enum AddressingModel {
- AddressingModelLogical = 0,
- AddressingModelPhysical32 = 1,
- AddressingModelPhysical64 = 2,
- AddressingModelPhysicalStorageBuffer64 = 5348,
- AddressingModelPhysicalStorageBuffer64EXT = 5348,
- AddressingModelMax = 0x7fffffff,
-};
-
-enum MemoryModel {
- MemoryModelSimple = 0,
- MemoryModelGLSL450 = 1,
- MemoryModelOpenCL = 2,
- MemoryModelVulkan = 3,
- MemoryModelVulkanKHR = 3,
- MemoryModelMax = 0x7fffffff,
-};
-
-enum ExecutionMode {
- ExecutionModeInvocations = 0,
- ExecutionModeSpacingEqual = 1,
- ExecutionModeSpacingFractionalEven = 2,
- ExecutionModeSpacingFractionalOdd = 3,
- ExecutionModeVertexOrderCw = 4,
- ExecutionModeVertexOrderCcw = 5,
- ExecutionModePixelCenterInteger = 6,
- ExecutionModeOriginUpperLeft = 7,
- ExecutionModeOriginLowerLeft = 8,
- ExecutionModeEarlyFragmentTests = 9,
- ExecutionModePointMode = 10,
- ExecutionModeXfb = 11,
- ExecutionModeDepthReplacing = 12,
- ExecutionModeDepthGreater = 14,
- ExecutionModeDepthLess = 15,
- ExecutionModeDepthUnchanged = 16,
- ExecutionModeLocalSize = 17,
- ExecutionModeLocalSizeHint = 18,
- ExecutionModeInputPoints = 19,
- ExecutionModeInputLines = 20,
- ExecutionModeInputLinesAdjacency = 21,
- ExecutionModeTriangles = 22,
- ExecutionModeInputTrianglesAdjacency = 23,
- ExecutionModeQuads = 24,
- ExecutionModeIsolines = 25,
- ExecutionModeOutputVertices = 26,
- ExecutionModeOutputPoints = 27,
- ExecutionModeOutputLineStrip = 28,
- ExecutionModeOutputTriangleStrip = 29,
- ExecutionModeVecTypeHint = 30,
- ExecutionModeContractionOff = 31,
- ExecutionModeInitializer = 33,
- ExecutionModeFinalizer = 34,
- ExecutionModeSubgroupSize = 35,
- ExecutionModeSubgroupsPerWorkgroup = 36,
- ExecutionModeSubgroupsPerWorkgroupId = 37,
- ExecutionModeLocalSizeId = 38,
- ExecutionModeLocalSizeHintId = 39,
- ExecutionModeSubgroupUniformControlFlowKHR = 4421,
- ExecutionModePostDepthCoverage = 4446,
- ExecutionModeDenormPreserve = 4459,
- ExecutionModeDenormFlushToZero = 4460,
- ExecutionModeSignedZeroInfNanPreserve = 4461,
- ExecutionModeRoundingModeRTE = 4462,
- ExecutionModeRoundingModeRTZ = 4463,
- ExecutionModeStencilRefReplacingEXT = 5027,
- ExecutionModeOutputLinesNV = 5269,
- ExecutionModeOutputPrimitivesNV = 5270,
- ExecutionModeDerivativeGroupQuadsNV = 5289,
- ExecutionModeDerivativeGroupLinearNV = 5290,
- ExecutionModeOutputTrianglesNV = 5298,
- ExecutionModePixelInterlockOrderedEXT = 5366,
- ExecutionModePixelInterlockUnorderedEXT = 5367,
- ExecutionModeSampleInterlockOrderedEXT = 5368,
- ExecutionModeSampleInterlockUnorderedEXT = 5369,
- ExecutionModeShadingRateInterlockOrderedEXT = 5370,
- ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
- ExecutionModeSharedLocalMemorySizeINTEL = 5618,
- ExecutionModeRoundingModeRTPINTEL = 5620,
- ExecutionModeRoundingModeRTNINTEL = 5621,
- ExecutionModeFloatingPointModeALTINTEL = 5622,
- ExecutionModeFloatingPointModeIEEEINTEL = 5623,
- ExecutionModeMaxWorkgroupSizeINTEL = 5893,
- ExecutionModeMaxWorkDimINTEL = 5894,
- ExecutionModeNoGlobalOffsetINTEL = 5895,
- ExecutionModeNumSIMDWorkitemsINTEL = 5896,
- ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
- ExecutionModeMax = 0x7fffffff,
-};
-
-enum StorageClass {
- StorageClassUniformConstant = 0,
- StorageClassInput = 1,
- StorageClassUniform = 2,
- StorageClassOutput = 3,
- StorageClassWorkgroup = 4,
- StorageClassCrossWorkgroup = 5,
- StorageClassPrivate = 6,
- StorageClassFunction = 7,
- StorageClassGeneric = 8,
- StorageClassPushConstant = 9,
- StorageClassAtomicCounter = 10,
- StorageClassImage = 11,
- StorageClassStorageBuffer = 12,
- StorageClassCallableDataKHR = 5328,
- StorageClassCallableDataNV = 5328,
- StorageClassIncomingCallableDataKHR = 5329,
- StorageClassIncomingCallableDataNV = 5329,
- StorageClassRayPayloadKHR = 5338,
- StorageClassRayPayloadNV = 5338,
- StorageClassHitAttributeKHR = 5339,
- StorageClassHitAttributeNV = 5339,
- StorageClassIncomingRayPayloadKHR = 5342,
- StorageClassIncomingRayPayloadNV = 5342,
- StorageClassShaderRecordBufferKHR = 5343,
- StorageClassShaderRecordBufferNV = 5343,
- StorageClassPhysicalStorageBuffer = 5349,
- StorageClassPhysicalStorageBufferEXT = 5349,
- StorageClassCodeSectionINTEL = 5605,
- StorageClassDeviceOnlyINTEL = 5936,
- StorageClassHostOnlyINTEL = 5937,
- StorageClassMax = 0x7fffffff,
-};
-
-enum Dim {
- Dim1D = 0,
- Dim2D = 1,
- Dim3D = 2,
- DimCube = 3,
- DimRect = 4,
- DimBuffer = 5,
- DimSubpassData = 6,
- DimMax = 0x7fffffff,
-};
-
-enum SamplerAddressingMode {
- SamplerAddressingModeNone = 0,
- SamplerAddressingModeClampToEdge = 1,
- SamplerAddressingModeClamp = 2,
- SamplerAddressingModeRepeat = 3,
- SamplerAddressingModeRepeatMirrored = 4,
- SamplerAddressingModeMax = 0x7fffffff,
-};
-
-enum SamplerFilterMode {
- SamplerFilterModeNearest = 0,
- SamplerFilterModeLinear = 1,
- SamplerFilterModeMax = 0x7fffffff,
-};
-
-enum ImageFormat {
- ImageFormatUnknown = 0,
- ImageFormatRgba32f = 1,
- ImageFormatRgba16f = 2,
- ImageFormatR32f = 3,
- ImageFormatRgba8 = 4,
- ImageFormatRgba8Snorm = 5,
- ImageFormatRg32f = 6,
- ImageFormatRg16f = 7,
- ImageFormatR11fG11fB10f = 8,
- ImageFormatR16f = 9,
- ImageFormatRgba16 = 10,
- ImageFormatRgb10A2 = 11,
- ImageFormatRg16 = 12,
- ImageFormatRg8 = 13,
- ImageFormatR16 = 14,
- ImageFormatR8 = 15,
- ImageFormatRgba16Snorm = 16,
- ImageFormatRg16Snorm = 17,
- ImageFormatRg8Snorm = 18,
- ImageFormatR16Snorm = 19,
- ImageFormatR8Snorm = 20,
- ImageFormatRgba32i = 21,
- ImageFormatRgba16i = 22,
- ImageFormatRgba8i = 23,
- ImageFormatR32i = 24,
- ImageFormatRg32i = 25,
- ImageFormatRg16i = 26,
- ImageFormatRg8i = 27,
- ImageFormatR16i = 28,
- ImageFormatR8i = 29,
- ImageFormatRgba32ui = 30,
- ImageFormatRgba16ui = 31,
- ImageFormatRgba8ui = 32,
- ImageFormatR32ui = 33,
- ImageFormatRgb10a2ui = 34,
- ImageFormatRg32ui = 35,
- ImageFormatRg16ui = 36,
- ImageFormatRg8ui = 37,
- ImageFormatR16ui = 38,
- ImageFormatR8ui = 39,
- ImageFormatR64ui = 40,
- ImageFormatR64i = 41,
- ImageFormatMax = 0x7fffffff,
-};
-
-enum ImageChannelOrder {
- ImageChannelOrderR = 0,
- ImageChannelOrderA = 1,
- ImageChannelOrderRG = 2,
- ImageChannelOrderRA = 3,
- ImageChannelOrderRGB = 4,
- ImageChannelOrderRGBA = 5,
- ImageChannelOrderBGRA = 6,
- ImageChannelOrderARGB = 7,
- ImageChannelOrderIntensity = 8,
- ImageChannelOrderLuminance = 9,
- ImageChannelOrderRx = 10,
- ImageChannelOrderRGx = 11,
- ImageChannelOrderRGBx = 12,
- ImageChannelOrderDepth = 13,
- ImageChannelOrderDepthStencil = 14,
- ImageChannelOrdersRGB = 15,
- ImageChannelOrdersRGBx = 16,
- ImageChannelOrdersRGBA = 17,
- ImageChannelOrdersBGRA = 18,
- ImageChannelOrderABGR = 19,
- ImageChannelOrderMax = 0x7fffffff,
-};
-
-enum ImageChannelDataType {
- ImageChannelDataTypeSnormInt8 = 0,
- ImageChannelDataTypeSnormInt16 = 1,
- ImageChannelDataTypeUnormInt8 = 2,
- ImageChannelDataTypeUnormInt16 = 3,
- ImageChannelDataTypeUnormShort565 = 4,
- ImageChannelDataTypeUnormShort555 = 5,
- ImageChannelDataTypeUnormInt101010 = 6,
- ImageChannelDataTypeSignedInt8 = 7,
- ImageChannelDataTypeSignedInt16 = 8,
- ImageChannelDataTypeSignedInt32 = 9,
- ImageChannelDataTypeUnsignedInt8 = 10,
- ImageChannelDataTypeUnsignedInt16 = 11,
- ImageChannelDataTypeUnsignedInt32 = 12,
- ImageChannelDataTypeHalfFloat = 13,
- ImageChannelDataTypeFloat = 14,
- ImageChannelDataTypeUnormInt24 = 15,
- ImageChannelDataTypeUnormInt101010_2 = 16,
- ImageChannelDataTypeMax = 0x7fffffff,
-};
-
-enum ImageOperandsShift {
- ImageOperandsBiasShift = 0,
- ImageOperandsLodShift = 1,
- ImageOperandsGradShift = 2,
- ImageOperandsConstOffsetShift = 3,
- ImageOperandsOffsetShift = 4,
- ImageOperandsConstOffsetsShift = 5,
- ImageOperandsSampleShift = 6,
- ImageOperandsMinLodShift = 7,
- ImageOperandsMakeTexelAvailableShift = 8,
- ImageOperandsMakeTexelAvailableKHRShift = 8,
- ImageOperandsMakeTexelVisibleShift = 9,
- ImageOperandsMakeTexelVisibleKHRShift = 9,
- ImageOperandsNonPrivateTexelShift = 10,
- ImageOperandsNonPrivateTexelKHRShift = 10,
- ImageOperandsVolatileTexelShift = 11,
- ImageOperandsVolatileTexelKHRShift = 11,
- ImageOperandsSignExtendShift = 12,
- ImageOperandsZeroExtendShift = 13,
- ImageOperandsMax = 0x7fffffff,
-};
-
-enum ImageOperandsMask {
- ImageOperandsMaskNone = 0,
- ImageOperandsBiasMask = 0x00000001,
- ImageOperandsLodMask = 0x00000002,
- ImageOperandsGradMask = 0x00000004,
- ImageOperandsConstOffsetMask = 0x00000008,
- ImageOperandsOffsetMask = 0x00000010,
- ImageOperandsConstOffsetsMask = 0x00000020,
- ImageOperandsSampleMask = 0x00000040,
- ImageOperandsMinLodMask = 0x00000080,
- ImageOperandsMakeTexelAvailableMask = 0x00000100,
- ImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
- ImageOperandsMakeTexelVisibleMask = 0x00000200,
- ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
- ImageOperandsNonPrivateTexelMask = 0x00000400,
- ImageOperandsNonPrivateTexelKHRMask = 0x00000400,
- ImageOperandsVolatileTexelMask = 0x00000800,
- ImageOperandsVolatileTexelKHRMask = 0x00000800,
- ImageOperandsSignExtendMask = 0x00001000,
- ImageOperandsZeroExtendMask = 0x00002000,
-};
-
-enum FPFastMathModeShift {
- FPFastMathModeNotNaNShift = 0,
- FPFastMathModeNotInfShift = 1,
- FPFastMathModeNSZShift = 2,
- FPFastMathModeAllowRecipShift = 3,
- FPFastMathModeFastShift = 4,
- FPFastMathModeAllowContractFastINTELShift = 16,
- FPFastMathModeAllowReassocINTELShift = 17,
- FPFastMathModeMax = 0x7fffffff,
-};
-
-enum FPFastMathModeMask {
- FPFastMathModeMaskNone = 0,
- FPFastMathModeNotNaNMask = 0x00000001,
- FPFastMathModeNotInfMask = 0x00000002,
- FPFastMathModeNSZMask = 0x00000004,
- FPFastMathModeAllowRecipMask = 0x00000008,
- FPFastMathModeFastMask = 0x00000010,
- FPFastMathModeAllowContractFastINTELMask = 0x00010000,
- FPFastMathModeAllowReassocINTELMask = 0x00020000,
-};
-
-enum FPRoundingMode {
- FPRoundingModeRTE = 0,
- FPRoundingModeRTZ = 1,
- FPRoundingModeRTP = 2,
- FPRoundingModeRTN = 3,
- FPRoundingModeMax = 0x7fffffff,
-};
-
-enum LinkageType {
- LinkageTypeExport = 0,
- LinkageTypeImport = 1,
- LinkageTypeLinkOnceODR = 2,
- LinkageTypeMax = 0x7fffffff,
-};
-
-enum AccessQualifier {
- AccessQualifierReadOnly = 0,
- AccessQualifierWriteOnly = 1,
- AccessQualifierReadWrite = 2,
- AccessQualifierMax = 0x7fffffff,
-};
-
-enum FunctionParameterAttribute {
- FunctionParameterAttributeZext = 0,
- FunctionParameterAttributeSext = 1,
- FunctionParameterAttributeByVal = 2,
- FunctionParameterAttributeSret = 3,
- FunctionParameterAttributeNoAlias = 4,
- FunctionParameterAttributeNoCapture = 5,
- FunctionParameterAttributeNoWrite = 6,
- FunctionParameterAttributeNoReadWrite = 7,
- FunctionParameterAttributeMax = 0x7fffffff,
-};
-
-enum Decoration {
- DecorationRelaxedPrecision = 0,
- DecorationSpecId = 1,
- DecorationBlock = 2,
- DecorationBufferBlock = 3,
- DecorationRowMajor = 4,
- DecorationColMajor = 5,
- DecorationArrayStride = 6,
- DecorationMatrixStride = 7,
- DecorationGLSLShared = 8,
- DecorationGLSLPacked = 9,
- DecorationCPacked = 10,
- DecorationBuiltIn = 11,
- DecorationNoPerspective = 13,
- DecorationFlat = 14,
- DecorationPatch = 15,
- DecorationCentroid = 16,
- DecorationSample = 17,
- DecorationInvariant = 18,
- DecorationRestrict = 19,
- DecorationAliased = 20,
- DecorationVolatile = 21,
- DecorationConstant = 22,
- DecorationCoherent = 23,
- DecorationNonWritable = 24,
- DecorationNonReadable = 25,
- DecorationUniform = 26,
- DecorationUniformId = 27,
- DecorationSaturatedConversion = 28,
- DecorationStream = 29,
- DecorationLocation = 30,
- DecorationComponent = 31,
- DecorationIndex = 32,
- DecorationBinding = 33,
- DecorationDescriptorSet = 34,
- DecorationOffset = 35,
- DecorationXfbBuffer = 36,
- DecorationXfbStride = 37,
- DecorationFuncParamAttr = 38,
- DecorationFPRoundingMode = 39,
- DecorationFPFastMathMode = 40,
- DecorationLinkageAttributes = 41,
- DecorationNoContraction = 42,
- DecorationInputAttachmentIndex = 43,
- DecorationAlignment = 44,
- DecorationMaxByteOffset = 45,
- DecorationAlignmentId = 46,
- DecorationMaxByteOffsetId = 47,
- DecorationNoSignedWrap = 4469,
- DecorationNoUnsignedWrap = 4470,
- DecorationExplicitInterpAMD = 4999,
- DecorationOverrideCoverageNV = 5248,
- DecorationPassthroughNV = 5250,
- DecorationViewportRelativeNV = 5252,
- DecorationSecondaryViewportRelativeNV = 5256,
- DecorationPerPrimitiveNV = 5271,
- DecorationPerViewNV = 5272,
- DecorationPerTaskNV = 5273,
- DecorationPerVertexNV = 5285,
- DecorationNonUniform = 5300,
- DecorationNonUniformEXT = 5300,
- DecorationRestrictPointer = 5355,
- DecorationRestrictPointerEXT = 5355,
- DecorationAliasedPointer = 5356,
- DecorationAliasedPointerEXT = 5356,
- DecorationSIMTCallINTEL = 5599,
- DecorationReferencedIndirectlyINTEL = 5602,
- DecorationClobberINTEL = 5607,
- DecorationSideEffectsINTEL = 5608,
- DecorationVectorComputeVariableINTEL = 5624,
- DecorationFuncParamIOKindINTEL = 5625,
- DecorationVectorComputeFunctionINTEL = 5626,
- DecorationStackCallINTEL = 5627,
- DecorationGlobalVariableOffsetINTEL = 5628,
- DecorationCounterBuffer = 5634,
- DecorationHlslCounterBufferGOOGLE = 5634,
- DecorationHlslSemanticGOOGLE = 5635,
- DecorationUserSemantic = 5635,
- DecorationUserTypeGOOGLE = 5636,
- DecorationFunctionRoundingModeINTEL = 5822,
- DecorationFunctionDenormModeINTEL = 5823,
- DecorationRegisterINTEL = 5825,
- DecorationMemoryINTEL = 5826,
- DecorationNumbanksINTEL = 5827,
- DecorationBankwidthINTEL = 5828,
- DecorationMaxPrivateCopiesINTEL = 5829,
- DecorationSinglepumpINTEL = 5830,
- DecorationDoublepumpINTEL = 5831,
- DecorationMaxReplicatesINTEL = 5832,
- DecorationSimpleDualPortINTEL = 5833,
- DecorationMergeINTEL = 5834,
- DecorationBankBitsINTEL = 5835,
- DecorationForcePow2DepthINTEL = 5836,
- DecorationBurstCoalesceINTEL = 5899,
- DecorationCacheSizeINTEL = 5900,
- DecorationDontStaticallyCoalesceINTEL = 5901,
- DecorationPrefetchINTEL = 5902,
- DecorationStallEnableINTEL = 5905,
- DecorationFuseLoopsInFunctionINTEL = 5907,
- DecorationBufferLocationINTEL = 5921,
- DecorationIOPipeStorageINTEL = 5944,
- DecorationFunctionFloatingPointModeINTEL = 6080,
- DecorationSingleElementVectorINTEL = 6085,
- DecorationVectorComputeCallableFunctionINTEL = 6087,
- DecorationMax = 0x7fffffff,
-};
-
-enum BuiltIn {
- BuiltInPosition = 0,
- BuiltInPointSize = 1,
- BuiltInClipDistance = 3,
- BuiltInCullDistance = 4,
- BuiltInVertexId = 5,
- BuiltInInstanceId = 6,
- BuiltInPrimitiveId = 7,
- BuiltInInvocationId = 8,
- BuiltInLayer = 9,
- BuiltInViewportIndex = 10,
- BuiltInTessLevelOuter = 11,
- BuiltInTessLevelInner = 12,
- BuiltInTessCoord = 13,
- BuiltInPatchVertices = 14,
- BuiltInFragCoord = 15,
- BuiltInPointCoord = 16,
- BuiltInFrontFacing = 17,
- BuiltInSampleId = 18,
- BuiltInSamplePosition = 19,
- BuiltInSampleMask = 20,
- BuiltInFragDepth = 22,
- BuiltInHelperInvocation = 23,
- BuiltInNumWorkgroups = 24,
- BuiltInWorkgroupSize = 25,
- BuiltInWorkgroupId = 26,
- BuiltInLocalInvocationId = 27,
- BuiltInGlobalInvocationId = 28,
- BuiltInLocalInvocationIndex = 29,
- BuiltInWorkDim = 30,
- BuiltInGlobalSize = 31,
- BuiltInEnqueuedWorkgroupSize = 32,
- BuiltInGlobalOffset = 33,
- BuiltInGlobalLinearId = 34,
- BuiltInSubgroupSize = 36,
- BuiltInSubgroupMaxSize = 37,
- BuiltInNumSubgroups = 38,
- BuiltInNumEnqueuedSubgroups = 39,
- BuiltInSubgroupId = 40,
- BuiltInSubgroupLocalInvocationId = 41,
- BuiltInVertexIndex = 42,
- BuiltInInstanceIndex = 43,
- BuiltInSubgroupEqMask = 4416,
- BuiltInSubgroupEqMaskKHR = 4416,
- BuiltInSubgroupGeMask = 4417,
- BuiltInSubgroupGeMaskKHR = 4417,
- BuiltInSubgroupGtMask = 4418,
- BuiltInSubgroupGtMaskKHR = 4418,
- BuiltInSubgroupLeMask = 4419,
- BuiltInSubgroupLeMaskKHR = 4419,
- BuiltInSubgroupLtMask = 4420,
- BuiltInSubgroupLtMaskKHR = 4420,
- BuiltInBaseVertex = 4424,
- BuiltInBaseInstance = 4425,
- BuiltInDrawIndex = 4426,
- BuiltInPrimitiveShadingRateKHR = 4432,
- BuiltInDeviceIndex = 4438,
- BuiltInViewIndex = 4440,
- BuiltInShadingRateKHR = 4444,
- BuiltInBaryCoordNoPerspAMD = 4992,
- BuiltInBaryCoordNoPerspCentroidAMD = 4993,
- BuiltInBaryCoordNoPerspSampleAMD = 4994,
- BuiltInBaryCoordSmoothAMD = 4995,
- BuiltInBaryCoordSmoothCentroidAMD = 4996,
- BuiltInBaryCoordSmoothSampleAMD = 4997,
- BuiltInBaryCoordPullModelAMD = 4998,
- BuiltInFragStencilRefEXT = 5014,
- BuiltInViewportMaskNV = 5253,
- BuiltInSecondaryPositionNV = 5257,
- BuiltInSecondaryViewportMaskNV = 5258,
- BuiltInPositionPerViewNV = 5261,
- BuiltInViewportMaskPerViewNV = 5262,
- BuiltInFullyCoveredEXT = 5264,
- BuiltInTaskCountNV = 5274,
- BuiltInPrimitiveCountNV = 5275,
- BuiltInPrimitiveIndicesNV = 5276,
- BuiltInClipDistancePerViewNV = 5277,
- BuiltInCullDistancePerViewNV = 5278,
- BuiltInLayerPerViewNV = 5279,
- BuiltInMeshViewCountNV = 5280,
- BuiltInMeshViewIndicesNV = 5281,
- BuiltInBaryCoordNV = 5286,
- BuiltInBaryCoordNoPerspNV = 5287,
- BuiltInFragSizeEXT = 5292,
- BuiltInFragmentSizeNV = 5292,
- BuiltInFragInvocationCountEXT = 5293,
- BuiltInInvocationsPerPixelNV = 5293,
- BuiltInLaunchIdKHR = 5319,
- BuiltInLaunchIdNV = 5319,
- BuiltInLaunchSizeKHR = 5320,
- BuiltInLaunchSizeNV = 5320,
- BuiltInWorldRayOriginKHR = 5321,
- BuiltInWorldRayOriginNV = 5321,
- BuiltInWorldRayDirectionKHR = 5322,
- BuiltInWorldRayDirectionNV = 5322,
- BuiltInObjectRayOriginKHR = 5323,
- BuiltInObjectRayOriginNV = 5323,
- BuiltInObjectRayDirectionKHR = 5324,
- BuiltInObjectRayDirectionNV = 5324,
- BuiltInRayTminKHR = 5325,
- BuiltInRayTminNV = 5325,
- BuiltInRayTmaxKHR = 5326,
- BuiltInRayTmaxNV = 5326,
- BuiltInInstanceCustomIndexKHR = 5327,
- BuiltInInstanceCustomIndexNV = 5327,
- BuiltInObjectToWorldKHR = 5330,
- BuiltInObjectToWorldNV = 5330,
- BuiltInWorldToObjectKHR = 5331,
- BuiltInWorldToObjectNV = 5331,
- BuiltInHitTNV = 5332,
- BuiltInHitKindKHR = 5333,
- BuiltInHitKindNV = 5333,
- BuiltInIncomingRayFlagsKHR = 5351,
- BuiltInIncomingRayFlagsNV = 5351,
- BuiltInRayGeometryIndexKHR = 5352,
- BuiltInWarpsPerSMNV = 5374,
- BuiltInSMCountNV = 5375,
- BuiltInWarpIDNV = 5376,
- BuiltInSMIDNV = 5377,
- BuiltInMax = 0x7fffffff,
-};
-
-enum SelectionControlShift {
- SelectionControlFlattenShift = 0,
- SelectionControlDontFlattenShift = 1,
- SelectionControlMax = 0x7fffffff,
-};
-
-enum SelectionControlMask {
- SelectionControlMaskNone = 0,
- SelectionControlFlattenMask = 0x00000001,
- SelectionControlDontFlattenMask = 0x00000002,
-};
-
-enum LoopControlShift {
- LoopControlUnrollShift = 0,
- LoopControlDontUnrollShift = 1,
- LoopControlDependencyInfiniteShift = 2,
- LoopControlDependencyLengthShift = 3,
- LoopControlMinIterationsShift = 4,
- LoopControlMaxIterationsShift = 5,
- LoopControlIterationMultipleShift = 6,
- LoopControlPeelCountShift = 7,
- LoopControlPartialCountShift = 8,
- LoopControlInitiationIntervalINTELShift = 16,
- LoopControlMaxConcurrencyINTELShift = 17,
- LoopControlDependencyArrayINTELShift = 18,
- LoopControlPipelineEnableINTELShift = 19,
- LoopControlLoopCoalesceINTELShift = 20,
- LoopControlMaxInterleavingINTELShift = 21,
- LoopControlSpeculatedIterationsINTELShift = 22,
- LoopControlNoFusionINTELShift = 23,
- LoopControlMax = 0x7fffffff,
-};
-
-enum LoopControlMask {
- LoopControlMaskNone = 0,
- LoopControlUnrollMask = 0x00000001,
- LoopControlDontUnrollMask = 0x00000002,
- LoopControlDependencyInfiniteMask = 0x00000004,
- LoopControlDependencyLengthMask = 0x00000008,
- LoopControlMinIterationsMask = 0x00000010,
- LoopControlMaxIterationsMask = 0x00000020,
- LoopControlIterationMultipleMask = 0x00000040,
- LoopControlPeelCountMask = 0x00000080,
- LoopControlPartialCountMask = 0x00000100,
- LoopControlInitiationIntervalINTELMask = 0x00010000,
- LoopControlMaxConcurrencyINTELMask = 0x00020000,
- LoopControlDependencyArrayINTELMask = 0x00040000,
- LoopControlPipelineEnableINTELMask = 0x00080000,
- LoopControlLoopCoalesceINTELMask = 0x00100000,
- LoopControlMaxInterleavingINTELMask = 0x00200000,
- LoopControlSpeculatedIterationsINTELMask = 0x00400000,
- LoopControlNoFusionINTELMask = 0x00800000,
-};
-
-enum FunctionControlShift {
- FunctionControlInlineShift = 0,
- FunctionControlDontInlineShift = 1,
- FunctionControlPureShift = 2,
- FunctionControlConstShift = 3,
- FunctionControlMax = 0x7fffffff,
-};
-
-enum FunctionControlMask {
- FunctionControlMaskNone = 0,
- FunctionControlInlineMask = 0x00000001,
- FunctionControlDontInlineMask = 0x00000002,
- FunctionControlPureMask = 0x00000004,
- FunctionControlConstMask = 0x00000008,
-};
-
-enum MemorySemanticsShift {
- MemorySemanticsAcquireShift = 1,
- MemorySemanticsReleaseShift = 2,
- MemorySemanticsAcquireReleaseShift = 3,
- MemorySemanticsSequentiallyConsistentShift = 4,
- MemorySemanticsUniformMemoryShift = 6,
- MemorySemanticsSubgroupMemoryShift = 7,
- MemorySemanticsWorkgroupMemoryShift = 8,
- MemorySemanticsCrossWorkgroupMemoryShift = 9,
- MemorySemanticsAtomicCounterMemoryShift = 10,
- MemorySemanticsImageMemoryShift = 11,
- MemorySemanticsOutputMemoryShift = 12,
- MemorySemanticsOutputMemoryKHRShift = 12,
- MemorySemanticsMakeAvailableShift = 13,
- MemorySemanticsMakeAvailableKHRShift = 13,
- MemorySemanticsMakeVisibleShift = 14,
- MemorySemanticsMakeVisibleKHRShift = 14,
- MemorySemanticsVolatileShift = 15,
- MemorySemanticsMax = 0x7fffffff,
-};
-
-enum MemorySemanticsMask {
- MemorySemanticsMaskNone = 0,
- MemorySemanticsAcquireMask = 0x00000002,
- MemorySemanticsReleaseMask = 0x00000004,
- MemorySemanticsAcquireReleaseMask = 0x00000008,
- MemorySemanticsSequentiallyConsistentMask = 0x00000010,
- MemorySemanticsUniformMemoryMask = 0x00000040,
- MemorySemanticsSubgroupMemoryMask = 0x00000080,
- MemorySemanticsWorkgroupMemoryMask = 0x00000100,
- MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
- MemorySemanticsAtomicCounterMemoryMask = 0x00000400,
- MemorySemanticsImageMemoryMask = 0x00000800,
- MemorySemanticsOutputMemoryMask = 0x00001000,
- MemorySemanticsOutputMemoryKHRMask = 0x00001000,
- MemorySemanticsMakeAvailableMask = 0x00002000,
- MemorySemanticsMakeAvailableKHRMask = 0x00002000,
- MemorySemanticsMakeVisibleMask = 0x00004000,
- MemorySemanticsMakeVisibleKHRMask = 0x00004000,
- MemorySemanticsVolatileMask = 0x00008000,
-};
-
-enum MemoryAccessShift {
- MemoryAccessVolatileShift = 0,
- MemoryAccessAlignedShift = 1,
- MemoryAccessNontemporalShift = 2,
- MemoryAccessMakePointerAvailableShift = 3,
- MemoryAccessMakePointerAvailableKHRShift = 3,
- MemoryAccessMakePointerVisibleShift = 4,
- MemoryAccessMakePointerVisibleKHRShift = 4,
- MemoryAccessNonPrivatePointerShift = 5,
- MemoryAccessNonPrivatePointerKHRShift = 5,
- MemoryAccessMax = 0x7fffffff,
-};
-
-enum MemoryAccessMask {
- MemoryAccessMaskNone = 0,
- MemoryAccessVolatileMask = 0x00000001,
- MemoryAccessAlignedMask = 0x00000002,
- MemoryAccessNontemporalMask = 0x00000004,
- MemoryAccessMakePointerAvailableMask = 0x00000008,
- MemoryAccessMakePointerAvailableKHRMask = 0x00000008,
- MemoryAccessMakePointerVisibleMask = 0x00000010,
- MemoryAccessMakePointerVisibleKHRMask = 0x00000010,
- MemoryAccessNonPrivatePointerMask = 0x00000020,
- MemoryAccessNonPrivatePointerKHRMask = 0x00000020,
-};
-
-enum Scope {
- ScopeCrossDevice = 0,
- ScopeDevice = 1,
- ScopeWorkgroup = 2,
- ScopeSubgroup = 3,
- ScopeInvocation = 4,
- ScopeQueueFamily = 5,
- ScopeQueueFamilyKHR = 5,
- ScopeShaderCallKHR = 6,
- ScopeMax = 0x7fffffff,
-};
-
-enum GroupOperation {
- GroupOperationReduce = 0,
- GroupOperationInclusiveScan = 1,
- GroupOperationExclusiveScan = 2,
- GroupOperationClusteredReduce = 3,
- GroupOperationPartitionedReduceNV = 6,
- GroupOperationPartitionedInclusiveScanNV = 7,
- GroupOperationPartitionedExclusiveScanNV = 8,
- GroupOperationMax = 0x7fffffff,
-};
-
-enum KernelEnqueueFlags {
- KernelEnqueueFlagsNoWait = 0,
- KernelEnqueueFlagsWaitKernel = 1,
- KernelEnqueueFlagsWaitWorkGroup = 2,
- KernelEnqueueFlagsMax = 0x7fffffff,
-};
-
-enum KernelProfilingInfoShift {
- KernelProfilingInfoCmdExecTimeShift = 0,
- KernelProfilingInfoMax = 0x7fffffff,
-};
-
-enum KernelProfilingInfoMask {
- KernelProfilingInfoMaskNone = 0,
- KernelProfilingInfoCmdExecTimeMask = 0x00000001,
-};
-
-enum Capability {
- CapabilityMatrix = 0,
- CapabilityShader = 1,
- CapabilityGeometry = 2,
- CapabilityTessellation = 3,
- CapabilityAddresses = 4,
- CapabilityLinkage = 5,
- CapabilityKernel = 6,
- CapabilityVector16 = 7,
- CapabilityFloat16Buffer = 8,
- CapabilityFloat16 = 9,
- CapabilityFloat64 = 10,
- CapabilityInt64 = 11,
- CapabilityInt64Atomics = 12,
- CapabilityImageBasic = 13,
- CapabilityImageReadWrite = 14,
- CapabilityImageMipmap = 15,
- CapabilityPipes = 17,
- CapabilityGroups = 18,
- CapabilityDeviceEnqueue = 19,
- CapabilityLiteralSampler = 20,
- CapabilityAtomicStorage = 21,
- CapabilityInt16 = 22,
- CapabilityTessellationPointSize = 23,
- CapabilityGeometryPointSize = 24,
- CapabilityImageGatherExtended = 25,
- CapabilityStorageImageMultisample = 27,
- CapabilityUniformBufferArrayDynamicIndexing = 28,
- CapabilitySampledImageArrayDynamicIndexing = 29,
- CapabilityStorageBufferArrayDynamicIndexing = 30,
- CapabilityStorageImageArrayDynamicIndexing = 31,
- CapabilityClipDistance = 32,
- CapabilityCullDistance = 33,
- CapabilityImageCubeArray = 34,
- CapabilitySampleRateShading = 35,
- CapabilityImageRect = 36,
- CapabilitySampledRect = 37,
- CapabilityGenericPointer = 38,
- CapabilityInt8 = 39,
- CapabilityInputAttachment = 40,
- CapabilitySparseResidency = 41,
- CapabilityMinLod = 42,
- CapabilitySampled1D = 43,
- CapabilityImage1D = 44,
- CapabilitySampledCubeArray = 45,
- CapabilitySampledBuffer = 46,
- CapabilityImageBuffer = 47,
- CapabilityImageMSArray = 48,
- CapabilityStorageImageExtendedFormats = 49,
- CapabilityImageQuery = 50,
- CapabilityDerivativeControl = 51,
- CapabilityInterpolationFunction = 52,
- CapabilityTransformFeedback = 53,
- CapabilityGeometryStreams = 54,
- CapabilityStorageImageReadWithoutFormat = 55,
- CapabilityStorageImageWriteWithoutFormat = 56,
- CapabilityMultiViewport = 57,
- CapabilitySubgroupDispatch = 58,
- CapabilityNamedBarrier = 59,
- CapabilityPipeStorage = 60,
- CapabilityGroupNonUniform = 61,
- CapabilityGroupNonUniformVote = 62,
- CapabilityGroupNonUniformArithmetic = 63,
- CapabilityGroupNonUniformBallot = 64,
- CapabilityGroupNonUniformShuffle = 65,
- CapabilityGroupNonUniformShuffleRelative = 66,
- CapabilityGroupNonUniformClustered = 67,
- CapabilityGroupNonUniformQuad = 68,
- CapabilityShaderLayer = 69,
- CapabilityShaderViewportIndex = 70,
- CapabilityFragmentShadingRateKHR = 4422,
- CapabilitySubgroupBallotKHR = 4423,
- CapabilityDrawParameters = 4427,
- CapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
- CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
- CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
- CapabilitySubgroupVoteKHR = 4431,
- CapabilityStorageBuffer16BitAccess = 4433,
- CapabilityStorageUniformBufferBlock16 = 4433,
- CapabilityStorageUniform16 = 4434,
- CapabilityUniformAndStorageBuffer16BitAccess = 4434,
- CapabilityStoragePushConstant16 = 4435,
- CapabilityStorageInputOutput16 = 4436,
- CapabilityDeviceGroup = 4437,
- CapabilityMultiView = 4439,
- CapabilityVariablePointersStorageBuffer = 4441,
- CapabilityVariablePointers = 4442,
- CapabilityAtomicStorageOps = 4445,
- CapabilitySampleMaskPostDepthCoverage = 4447,
- CapabilityStorageBuffer8BitAccess = 4448,
- CapabilityUniformAndStorageBuffer8BitAccess = 4449,
- CapabilityStoragePushConstant8 = 4450,
- CapabilityDenormPreserve = 4464,
- CapabilityDenormFlushToZero = 4465,
- CapabilitySignedZeroInfNanPreserve = 4466,
- CapabilityRoundingModeRTE = 4467,
- CapabilityRoundingModeRTZ = 4468,
- CapabilityRayQueryProvisionalKHR = 4471,
- CapabilityRayQueryKHR = 4472,
- CapabilityRayTraversalPrimitiveCullingKHR = 4478,
- CapabilityRayTracingKHR = 4479,
- CapabilityFloat16ImageAMD = 5008,
- CapabilityImageGatherBiasLodAMD = 5009,
- CapabilityFragmentMaskAMD = 5010,
- CapabilityStencilExportEXT = 5013,
- CapabilityImageReadWriteLodAMD = 5015,
- CapabilityInt64ImageEXT = 5016,
- CapabilityShaderClockKHR = 5055,
- CapabilitySampleMaskOverrideCoverageNV = 5249,
- CapabilityGeometryShaderPassthroughNV = 5251,
- CapabilityShaderViewportIndexLayerEXT = 5254,
- CapabilityShaderViewportIndexLayerNV = 5254,
- CapabilityShaderViewportMaskNV = 5255,
- CapabilityShaderStereoViewNV = 5259,
- CapabilityPerViewAttributesNV = 5260,
- CapabilityFragmentFullyCoveredEXT = 5265,
- CapabilityMeshShadingNV = 5266,
- CapabilityImageFootprintNV = 5282,
- CapabilityFragmentBarycentricNV = 5284,
- CapabilityComputeDerivativeGroupQuadsNV = 5288,
- CapabilityFragmentDensityEXT = 5291,
- CapabilityShadingRateNV = 5291,
- CapabilityGroupNonUniformPartitionedNV = 5297,
- CapabilityShaderNonUniform = 5301,
- CapabilityShaderNonUniformEXT = 5301,
- CapabilityRuntimeDescriptorArray = 5302,
- CapabilityRuntimeDescriptorArrayEXT = 5302,
- CapabilityInputAttachmentArrayDynamicIndexing = 5303,
- CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
- CapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
- CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
- CapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
- CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
- CapabilityUniformBufferArrayNonUniformIndexing = 5306,
- CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
- CapabilitySampledImageArrayNonUniformIndexing = 5307,
- CapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
- CapabilityStorageBufferArrayNonUniformIndexing = 5308,
- CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
- CapabilityStorageImageArrayNonUniformIndexing = 5309,
- CapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
- CapabilityInputAttachmentArrayNonUniformIndexing = 5310,
- CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
- CapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
- CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
- CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
- CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
- CapabilityRayTracingNV = 5340,
- CapabilityVulkanMemoryModel = 5345,
- CapabilityVulkanMemoryModelKHR = 5345,
- CapabilityVulkanMemoryModelDeviceScope = 5346,
- CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
- CapabilityPhysicalStorageBufferAddresses = 5347,
- CapabilityPhysicalStorageBufferAddressesEXT = 5347,
- CapabilityComputeDerivativeGroupLinearNV = 5350,
- CapabilityRayTracingProvisionalKHR = 5353,
- CapabilityCooperativeMatrixNV = 5357,
- CapabilityFragmentShaderSampleInterlockEXT = 5363,
- CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
- CapabilityShaderSMBuiltinsNV = 5373,
- CapabilityFragmentShaderPixelInterlockEXT = 5378,
- CapabilityDemoteToHelperInvocationEXT = 5379,
- CapabilitySubgroupShuffleINTEL = 5568,
- CapabilitySubgroupBufferBlockIOINTEL = 5569,
- CapabilitySubgroupImageBlockIOINTEL = 5570,
- CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
- CapabilityRoundToInfinityINTEL = 5582,
- CapabilityFloatingPointModeINTEL = 5583,
- CapabilityIntegerFunctions2INTEL = 5584,
- CapabilityFunctionPointersINTEL = 5603,
- CapabilityIndirectReferencesINTEL = 5604,
- CapabilityAsmINTEL = 5606,
- CapabilityAtomicFloat32MinMaxEXT = 5612,
- CapabilityAtomicFloat64MinMaxEXT = 5613,
- CapabilityAtomicFloat16MinMaxEXT = 5616,
- CapabilityVectorComputeINTEL = 5617,
- CapabilityVectorAnyINTEL = 5619,
- CapabilityExpectAssumeKHR = 5629,
- CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
- CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
- CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
- CapabilityVariableLengthArrayINTEL = 5817,
- CapabilityFunctionFloatControlINTEL = 5821,
- CapabilityFPGAMemoryAttributesINTEL = 5824,
- CapabilityFPFastMathModeINTEL = 5837,
- CapabilityArbitraryPrecisionIntegersINTEL = 5844,
- CapabilityUnstructuredLoopControlsINTEL = 5886,
- CapabilityFPGALoopControlsINTEL = 5888,
- CapabilityKernelAttributesINTEL = 5892,
- CapabilityFPGAKernelAttributesINTEL = 5897,
- CapabilityFPGAMemoryAccessesINTEL = 5898,
- CapabilityFPGAClusterAttributesINTEL = 5904,
- CapabilityLoopFuseINTEL = 5906,
- CapabilityFPGABufferLocationINTEL = 5920,
- CapabilityUSMStorageClassesINTEL = 5935,
- CapabilityIOPipesINTEL = 5943,
- CapabilityBlockingPipesINTEL = 5945,
- CapabilityFPGARegINTEL = 5948,
- CapabilityAtomicFloat32AddEXT = 6033,
- CapabilityAtomicFloat64AddEXT = 6034,
- CapabilityLongConstantCompositeINTEL = 6089,
- CapabilityAtomicFloat16AddEXT = 6095,
- CapabilityMax = 0x7fffffff,
-};
-
-enum RayFlagsShift {
- RayFlagsOpaqueKHRShift = 0,
- RayFlagsNoOpaqueKHRShift = 1,
- RayFlagsTerminateOnFirstHitKHRShift = 2,
- RayFlagsSkipClosestHitShaderKHRShift = 3,
- RayFlagsCullBackFacingTrianglesKHRShift = 4,
- RayFlagsCullFrontFacingTrianglesKHRShift = 5,
- RayFlagsCullOpaqueKHRShift = 6,
- RayFlagsCullNoOpaqueKHRShift = 7,
- RayFlagsSkipTrianglesKHRShift = 8,
- RayFlagsSkipAABBsKHRShift = 9,
- RayFlagsMax = 0x7fffffff,
-};
-
-enum RayFlagsMask {
- RayFlagsMaskNone = 0,
- RayFlagsOpaqueKHRMask = 0x00000001,
- RayFlagsNoOpaqueKHRMask = 0x00000002,
- RayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
- RayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
- RayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
- RayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
- RayFlagsCullOpaqueKHRMask = 0x00000040,
- RayFlagsCullNoOpaqueKHRMask = 0x00000080,
- RayFlagsSkipTrianglesKHRMask = 0x00000100,
- RayFlagsSkipAABBsKHRMask = 0x00000200,
-};
-
-enum RayQueryIntersection {
- RayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
- RayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
- RayQueryIntersectionMax = 0x7fffffff,
-};
-
-enum RayQueryCommittedIntersectionType {
- RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
- RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
- RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
- RayQueryCommittedIntersectionTypeMax = 0x7fffffff,
-};
-
-enum RayQueryCandidateIntersectionType {
- RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
- RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
- RayQueryCandidateIntersectionTypeMax = 0x7fffffff,
-};
-
-enum FragmentShadingRateShift {
- FragmentShadingRateVertical2PixelsShift = 0,
- FragmentShadingRateVertical4PixelsShift = 1,
- FragmentShadingRateHorizontal2PixelsShift = 2,
- FragmentShadingRateHorizontal4PixelsShift = 3,
- FragmentShadingRateMax = 0x7fffffff,
-};
-
-enum FragmentShadingRateMask {
- FragmentShadingRateMaskNone = 0,
- FragmentShadingRateVertical2PixelsMask = 0x00000001,
- FragmentShadingRateVertical4PixelsMask = 0x00000002,
- FragmentShadingRateHorizontal2PixelsMask = 0x00000004,
- FragmentShadingRateHorizontal4PixelsMask = 0x00000008,
-};
-
-enum FPDenormMode {
- FPDenormModePreserve = 0,
- FPDenormModeFlushToZero = 1,
- FPDenormModeMax = 0x7fffffff,
-};
-
-enum FPOperationMode {
- FPOperationModeIEEE = 0,
- FPOperationModeALT = 1,
- FPOperationModeMax = 0x7fffffff,
-};
-
-enum Op {
- OpNop = 0,
- OpUndef = 1,
- OpSourceContinued = 2,
- OpSource = 3,
- OpSourceExtension = 4,
- OpName = 5,
- OpMemberName = 6,
- OpString = 7,
- OpLine = 8,
- OpExtension = 10,
- OpExtInstImport = 11,
- OpExtInst = 12,
- OpMemoryModel = 14,
- OpEntryPoint = 15,
- OpExecutionMode = 16,
- OpCapability = 17,
- OpTypeVoid = 19,
- OpTypeBool = 20,
- OpTypeInt = 21,
- OpTypeFloat = 22,
- OpTypeVector = 23,
- OpTypeMatrix = 24,
- OpTypeImage = 25,
- OpTypeSampler = 26,
- OpTypeSampledImage = 27,
- OpTypeArray = 28,
- OpTypeRuntimeArray = 29,
- OpTypeStruct = 30,
- OpTypeOpaque = 31,
- OpTypePointer = 32,
- OpTypeFunction = 33,
- OpTypeEvent = 34,
- OpTypeDeviceEvent = 35,
- OpTypeReserveId = 36,
- OpTypeQueue = 37,
- OpTypePipe = 38,
- OpTypeForwardPointer = 39,
- OpConstantTrue = 41,
- OpConstantFalse = 42,
- OpConstant = 43,
- OpConstantComposite = 44,
- OpConstantSampler = 45,
- OpConstantNull = 46,
- OpSpecConstantTrue = 48,
- OpSpecConstantFalse = 49,
- OpSpecConstant = 50,
- OpSpecConstantComposite = 51,
- OpSpecConstantOp = 52,
- OpFunction = 54,
- OpFunctionParameter = 55,
- OpFunctionEnd = 56,
- OpFunctionCall = 57,
- OpVariable = 59,
- OpImageTexelPointer = 60,
- OpLoad = 61,
- OpStore = 62,
- OpCopyMemory = 63,
- OpCopyMemorySized = 64,
- OpAccessChain = 65,
- OpInBoundsAccessChain = 66,
- OpPtrAccessChain = 67,
- OpArrayLength = 68,
- OpGenericPtrMemSemantics = 69,
- OpInBoundsPtrAccessChain = 70,
- OpDecorate = 71,
- OpMemberDecorate = 72,
- OpDecorationGroup = 73,
- OpGroupDecorate = 74,
- OpGroupMemberDecorate = 75,
- OpVectorExtractDynamic = 77,
- OpVectorInsertDynamic = 78,
- OpVectorShuffle = 79,
- OpCompositeConstruct = 80,
- OpCompositeExtract = 81,
- OpCompositeInsert = 82,
- OpCopyObject = 83,
- OpTranspose = 84,
- OpSampledImage = 86,
- OpImageSampleImplicitLod = 87,
- OpImageSampleExplicitLod = 88,
- OpImageSampleDrefImplicitLod = 89,
- OpImageSampleDrefExplicitLod = 90,
- OpImageSampleProjImplicitLod = 91,
- OpImageSampleProjExplicitLod = 92,
- OpImageSampleProjDrefImplicitLod = 93,
- OpImageSampleProjDrefExplicitLod = 94,
- OpImageFetch = 95,
- OpImageGather = 96,
- OpImageDrefGather = 97,
- OpImageRead = 98,
- OpImageWrite = 99,
- OpImage = 100,
- OpImageQueryFormat = 101,
- OpImageQueryOrder = 102,
- OpImageQuerySizeLod = 103,
- OpImageQuerySize = 104,
- OpImageQueryLod = 105,
- OpImageQueryLevels = 106,
- OpImageQuerySamples = 107,
- OpConvertFToU = 109,
- OpConvertFToS = 110,
- OpConvertSToF = 111,
- OpConvertUToF = 112,
- OpUConvert = 113,
- OpSConvert = 114,
- OpFConvert = 115,
- OpQuantizeToF16 = 116,
- OpConvertPtrToU = 117,
- OpSatConvertSToU = 118,
- OpSatConvertUToS = 119,
- OpConvertUToPtr = 120,
- OpPtrCastToGeneric = 121,
- OpGenericCastToPtr = 122,
- OpGenericCastToPtrExplicit = 123,
- OpBitcast = 124,
- OpSNegate = 126,
- OpFNegate = 127,
- OpIAdd = 128,
- OpFAdd = 129,
- OpISub = 130,
- OpFSub = 131,
- OpIMul = 132,
- OpFMul = 133,
- OpUDiv = 134,
- OpSDiv = 135,
- OpFDiv = 136,
- OpUMod = 137,
- OpSRem = 138,
- OpSMod = 139,
- OpFRem = 140,
- OpFMod = 141,
- OpVectorTimesScalar = 142,
- OpMatrixTimesScalar = 143,
- OpVectorTimesMatrix = 144,
- OpMatrixTimesVector = 145,
- OpMatrixTimesMatrix = 146,
- OpOuterProduct = 147,
- OpDot = 148,
- OpIAddCarry = 149,
- OpISubBorrow = 150,
- OpUMulExtended = 151,
- OpSMulExtended = 152,
- OpAny = 154,
- OpAll = 155,
- OpIsNan = 156,
- OpIsInf = 157,
- OpIsFinite = 158,
- OpIsNormal = 159,
- OpSignBitSet = 160,
- OpLessOrGreater = 161,
- OpOrdered = 162,
- OpUnordered = 163,
- OpLogicalEqual = 164,
- OpLogicalNotEqual = 165,
- OpLogicalOr = 166,
- OpLogicalAnd = 167,
- OpLogicalNot = 168,
- OpSelect = 169,
- OpIEqual = 170,
- OpINotEqual = 171,
- OpUGreaterThan = 172,
- OpSGreaterThan = 173,
- OpUGreaterThanEqual = 174,
- OpSGreaterThanEqual = 175,
- OpULessThan = 176,
- OpSLessThan = 177,
- OpULessThanEqual = 178,
- OpSLessThanEqual = 179,
- OpFOrdEqual = 180,
- OpFUnordEqual = 181,
- OpFOrdNotEqual = 182,
- OpFUnordNotEqual = 183,
- OpFOrdLessThan = 184,
- OpFUnordLessThan = 185,
- OpFOrdGreaterThan = 186,
- OpFUnordGreaterThan = 187,
- OpFOrdLessThanEqual = 188,
- OpFUnordLessThanEqual = 189,
- OpFOrdGreaterThanEqual = 190,
- OpFUnordGreaterThanEqual = 191,
- OpShiftRightLogical = 194,
- OpShiftRightArithmetic = 195,
- OpShiftLeftLogical = 196,
- OpBitwiseOr = 197,
- OpBitwiseXor = 198,
- OpBitwiseAnd = 199,
- OpNot = 200,
- OpBitFieldInsert = 201,
- OpBitFieldSExtract = 202,
- OpBitFieldUExtract = 203,
- OpBitReverse = 204,
- OpBitCount = 205,
- OpDPdx = 207,
- OpDPdy = 208,
- OpFwidth = 209,
- OpDPdxFine = 210,
- OpDPdyFine = 211,
- OpFwidthFine = 212,
- OpDPdxCoarse = 213,
- OpDPdyCoarse = 214,
- OpFwidthCoarse = 215,
- OpEmitVertex = 218,
- OpEndPrimitive = 219,
- OpEmitStreamVertex = 220,
- OpEndStreamPrimitive = 221,
- OpControlBarrier = 224,
- OpMemoryBarrier = 225,
- OpAtomicLoad = 227,
- OpAtomicStore = 228,
- OpAtomicExchange = 229,
- OpAtomicCompareExchange = 230,
- OpAtomicCompareExchangeWeak = 231,
- OpAtomicIIncrement = 232,
- OpAtomicIDecrement = 233,
- OpAtomicIAdd = 234,
- OpAtomicISub = 235,
- OpAtomicSMin = 236,
- OpAtomicUMin = 237,
- OpAtomicSMax = 238,
- OpAtomicUMax = 239,
- OpAtomicAnd = 240,
- OpAtomicOr = 241,
- OpAtomicXor = 242,
- OpPhi = 245,
- OpLoopMerge = 246,
- OpSelectionMerge = 247,
- OpLabel = 248,
- OpBranch = 249,
- OpBranchConditional = 250,
- OpSwitch = 251,
- OpKill = 252,
- OpReturn = 253,
- OpReturnValue = 254,
- OpUnreachable = 255,
- OpLifetimeStart = 256,
- OpLifetimeStop = 257,
- OpGroupAsyncCopy = 259,
- OpGroupWaitEvents = 260,
- OpGroupAll = 261,
- OpGroupAny = 262,
- OpGroupBroadcast = 263,
- OpGroupIAdd = 264,
- OpGroupFAdd = 265,
- OpGroupFMin = 266,
- OpGroupUMin = 267,
- OpGroupSMin = 268,
- OpGroupFMax = 269,
- OpGroupUMax = 270,
- OpGroupSMax = 271,
- OpReadPipe = 274,
- OpWritePipe = 275,
- OpReservedReadPipe = 276,
- OpReservedWritePipe = 277,
- OpReserveReadPipePackets = 278,
- OpReserveWritePipePackets = 279,
- OpCommitReadPipe = 280,
- OpCommitWritePipe = 281,
- OpIsValidReserveId = 282,
- OpGetNumPipePackets = 283,
- OpGetMaxPipePackets = 284,
- OpGroupReserveReadPipePackets = 285,
- OpGroupReserveWritePipePackets = 286,
- OpGroupCommitReadPipe = 287,
- OpGroupCommitWritePipe = 288,
- OpEnqueueMarker = 291,
- OpEnqueueKernel = 292,
- OpGetKernelNDrangeSubGroupCount = 293,
- OpGetKernelNDrangeMaxSubGroupSize = 294,
- OpGetKernelWorkGroupSize = 295,
- OpGetKernelPreferredWorkGroupSizeMultiple = 296,
- OpRetainEvent = 297,
- OpReleaseEvent = 298,
- OpCreateUserEvent = 299,
- OpIsValidEvent = 300,
- OpSetUserEventStatus = 301,
- OpCaptureEventProfilingInfo = 302,
- OpGetDefaultQueue = 303,
- OpBuildNDRange = 304,
- OpImageSparseSampleImplicitLod = 305,
- OpImageSparseSampleExplicitLod = 306,
- OpImageSparseSampleDrefImplicitLod = 307,
- OpImageSparseSampleDrefExplicitLod = 308,
- OpImageSparseSampleProjImplicitLod = 309,
- OpImageSparseSampleProjExplicitLod = 310,
- OpImageSparseSampleProjDrefImplicitLod = 311,
- OpImageSparseSampleProjDrefExplicitLod = 312,
- OpImageSparseFetch = 313,
- OpImageSparseGather = 314,
- OpImageSparseDrefGather = 315,
- OpImageSparseTexelsResident = 316,
- OpNoLine = 317,
- OpAtomicFlagTestAndSet = 318,
- OpAtomicFlagClear = 319,
- OpImageSparseRead = 320,
- OpSizeOf = 321,
- OpTypePipeStorage = 322,
- OpConstantPipeStorage = 323,
- OpCreatePipeFromPipeStorage = 324,
- OpGetKernelLocalSizeForSubgroupCount = 325,
- OpGetKernelMaxNumSubgroups = 326,
- OpTypeNamedBarrier = 327,
- OpNamedBarrierInitialize = 328,
- OpMemoryNamedBarrier = 329,
- OpModuleProcessed = 330,
- OpExecutionModeId = 331,
- OpDecorateId = 332,
- OpGroupNonUniformElect = 333,
- OpGroupNonUniformAll = 334,
- OpGroupNonUniformAny = 335,
- OpGroupNonUniformAllEqual = 336,
- OpGroupNonUniformBroadcast = 337,
- OpGroupNonUniformBroadcastFirst = 338,
- OpGroupNonUniformBallot = 339,
- OpGroupNonUniformInverseBallot = 340,
- OpGroupNonUniformBallotBitExtract = 341,
- OpGroupNonUniformBallotBitCount = 342,
- OpGroupNonUniformBallotFindLSB = 343,
- OpGroupNonUniformBallotFindMSB = 344,
- OpGroupNonUniformShuffle = 345,
- OpGroupNonUniformShuffleXor = 346,
- OpGroupNonUniformShuffleUp = 347,
- OpGroupNonUniformShuffleDown = 348,
- OpGroupNonUniformIAdd = 349,
- OpGroupNonUniformFAdd = 350,
- OpGroupNonUniformIMul = 351,
- OpGroupNonUniformFMul = 352,
- OpGroupNonUniformSMin = 353,
- OpGroupNonUniformUMin = 354,
- OpGroupNonUniformFMin = 355,
- OpGroupNonUniformSMax = 356,
- OpGroupNonUniformUMax = 357,
- OpGroupNonUniformFMax = 358,
- OpGroupNonUniformBitwiseAnd = 359,
- OpGroupNonUniformBitwiseOr = 360,
- OpGroupNonUniformBitwiseXor = 361,
- OpGroupNonUniformLogicalAnd = 362,
- OpGroupNonUniformLogicalOr = 363,
- OpGroupNonUniformLogicalXor = 364,
- OpGroupNonUniformQuadBroadcast = 365,
- OpGroupNonUniformQuadSwap = 366,
- OpCopyLogical = 400,
- OpPtrEqual = 401,
- OpPtrNotEqual = 402,
- OpPtrDiff = 403,
- OpTerminateInvocation = 4416,
- OpSubgroupBallotKHR = 4421,
- OpSubgroupFirstInvocationKHR = 4422,
- OpSubgroupAllKHR = 4428,
- OpSubgroupAnyKHR = 4429,
- OpSubgroupAllEqualKHR = 4430,
- OpSubgroupReadInvocationKHR = 4432,
- OpTraceRayKHR = 4445,
- OpExecuteCallableKHR = 4446,
- OpConvertUToAccelerationStructureKHR = 4447,
- OpIgnoreIntersectionKHR = 4448,
- OpTerminateRayKHR = 4449,
- OpTypeRayQueryKHR = 4472,
- OpRayQueryInitializeKHR = 4473,
- OpRayQueryTerminateKHR = 4474,
- OpRayQueryGenerateIntersectionKHR = 4475,
- OpRayQueryConfirmIntersectionKHR = 4476,
- OpRayQueryProceedKHR = 4477,
- OpRayQueryGetIntersectionTypeKHR = 4479,
- OpGroupIAddNonUniformAMD = 5000,
- OpGroupFAddNonUniformAMD = 5001,
- OpGroupFMinNonUniformAMD = 5002,
- OpGroupUMinNonUniformAMD = 5003,
- OpGroupSMinNonUniformAMD = 5004,
- OpGroupFMaxNonUniformAMD = 5005,
- OpGroupUMaxNonUniformAMD = 5006,
- OpGroupSMaxNonUniformAMD = 5007,
- OpFragmentMaskFetchAMD = 5011,
- OpFragmentFetchAMD = 5012,
- OpReadClockKHR = 5056,
- OpImageSampleFootprintNV = 5283,
- OpGroupNonUniformPartitionNV = 5296,
- OpWritePackedPrimitiveIndices4x8NV = 5299,
- OpReportIntersectionKHR = 5334,
- OpReportIntersectionNV = 5334,
- OpIgnoreIntersectionNV = 5335,
- OpTerminateRayNV = 5336,
- OpTraceNV = 5337,
- OpTypeAccelerationStructureKHR = 5341,
- OpTypeAccelerationStructureNV = 5341,
- OpExecuteCallableNV = 5344,
- OpTypeCooperativeMatrixNV = 5358,
- OpCooperativeMatrixLoadNV = 5359,
- OpCooperativeMatrixStoreNV = 5360,
- OpCooperativeMatrixMulAddNV = 5361,
- OpCooperativeMatrixLengthNV = 5362,
- OpBeginInvocationInterlockEXT = 5364,
- OpEndInvocationInterlockEXT = 5365,
- OpDemoteToHelperInvocationEXT = 5380,
- OpIsHelperInvocationEXT = 5381,
- OpSubgroupShuffleINTEL = 5571,
- OpSubgroupShuffleDownINTEL = 5572,
- OpSubgroupShuffleUpINTEL = 5573,
- OpSubgroupShuffleXorINTEL = 5574,
- OpSubgroupBlockReadINTEL = 5575,
- OpSubgroupBlockWriteINTEL = 5576,
- OpSubgroupImageBlockReadINTEL = 5577,
- 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,
- OpConstFunctionPointerINTEL = 5600,
- OpFunctionPointerCallINTEL = 5601,
- OpAsmTargetINTEL = 5609,
- OpAsmINTEL = 5610,
- OpAsmCallINTEL = 5611,
- OpAtomicFMinEXT = 5614,
- OpAtomicFMaxEXT = 5615,
- OpAssumeTrueKHR = 5630,
- OpExpectKHR = 5631,
- OpDecorateString = 5632,
- OpDecorateStringGOOGLE = 5632,
- OpMemberDecorateString = 5633,
- OpMemberDecorateStringGOOGLE = 5633,
- OpVmeImageINTEL = 5699,
- OpTypeVmeImageINTEL = 5700,
- OpTypeAvcImePayloadINTEL = 5701,
- OpTypeAvcRefPayloadINTEL = 5702,
- OpTypeAvcSicPayloadINTEL = 5703,
- OpTypeAvcMcePayloadINTEL = 5704,
- OpTypeAvcMceResultINTEL = 5705,
- OpTypeAvcImeResultINTEL = 5706,
- OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
- OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
- OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
- OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
- OpTypeAvcRefResultINTEL = 5711,
- OpTypeAvcSicResultINTEL = 5712,
- OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
- OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
- OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
- OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
- OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
- OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
- OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
- OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
- OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
- OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
- OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
- OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
- OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
- OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
- OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
- OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
- OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
- OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
- OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
- OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
- OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
- OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
- OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
- OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
- OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
- OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
- OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
- OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
- OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
- OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
- OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
- OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
- OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
- OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
- OpSubgroupAvcImeInitializeINTEL = 5747,
- OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
- OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
- OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
- OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
- OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
- OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
- OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
- OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
- OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
- OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
- OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
- OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
- OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
- OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
- OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
- OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
- OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
- OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
- OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
- OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
- OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
- OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
- OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
- OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
- OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
- OpSubgroupAvcFmeInitializeINTEL = 5781,
- OpSubgroupAvcBmeInitializeINTEL = 5782,
- OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
- OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
- OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
- OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
- OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
- OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
- OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
- OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
- OpSubgroupAvcSicInitializeINTEL = 5791,
- OpSubgroupAvcSicConfigureSkcINTEL = 5792,
- OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
- OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
- OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
- OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
- OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
- OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
- OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
- OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
- OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
- OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
- OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
- OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
- OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
- OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
- OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
- OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
- OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
- OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
- OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
- OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
- OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
- OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
- OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
- OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
- OpVariableLengthArrayINTEL = 5818,
- OpSaveMemoryINTEL = 5819,
- OpRestoreMemoryINTEL = 5820,
- OpLoopControlINTEL = 5887,
- OpPtrCastToCrossWorkgroupINTEL = 5934,
- OpCrossWorkgroupCastToPtrINTEL = 5938,
- OpReadPipeBlockingINTEL = 5946,
- OpWritePipeBlockingINTEL = 5947,
- OpFPGARegINTEL = 5949,
- OpRayQueryGetRayTMinKHR = 6016,
- OpRayQueryGetRayFlagsKHR = 6017,
- OpRayQueryGetIntersectionTKHR = 6018,
- OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
- OpRayQueryGetIntersectionInstanceIdKHR = 6020,
- OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
- OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
- OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
- OpRayQueryGetIntersectionBarycentricsKHR = 6024,
- OpRayQueryGetIntersectionFrontFaceKHR = 6025,
- OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
- OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
- OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
- OpRayQueryGetWorldRayDirectionKHR = 6029,
- OpRayQueryGetWorldRayOriginKHR = 6030,
- OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
- OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
- OpAtomicFAddEXT = 6035,
- OpTypeBufferSurfaceINTEL = 6086,
- OpTypeStructContinuedINTEL = 6090,
- OpConstantCompositeContinuedINTEL = 6091,
- OpSpecConstantCompositeContinuedINTEL = 6092,
- OpMax = 0x7fffffff,
-};
-
-#ifdef SPV_ENABLE_UTILITY_CODE
-inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
- *hasResult = *hasResultType = false;
- switch (opcode) {
- default: /* unknown opcode */ break;
- case OpNop: *hasResult = false; *hasResultType = false; break;
- case OpUndef: *hasResult = true; *hasResultType = true; break;
- case OpSourceContinued: *hasResult = false; *hasResultType = false; break;
- case OpSource: *hasResult = false; *hasResultType = false; break;
- case OpSourceExtension: *hasResult = false; *hasResultType = false; break;
- case OpName: *hasResult = false; *hasResultType = false; break;
- case OpMemberName: *hasResult = false; *hasResultType = false; break;
- case OpString: *hasResult = true; *hasResultType = false; break;
- case OpLine: *hasResult = false; *hasResultType = false; break;
- case OpExtension: *hasResult = false; *hasResultType = false; break;
- case OpExtInstImport: *hasResult = true; *hasResultType = false; break;
- case OpExtInst: *hasResult = true; *hasResultType = true; break;
- case OpMemoryModel: *hasResult = false; *hasResultType = false; break;
- case OpEntryPoint: *hasResult = false; *hasResultType = false; break;
- case OpExecutionMode: *hasResult = false; *hasResultType = false; break;
- case OpCapability: *hasResult = false; *hasResultType = false; break;
- case OpTypeVoid: *hasResult = true; *hasResultType = false; break;
- case OpTypeBool: *hasResult = true; *hasResultType = false; break;
- case OpTypeInt: *hasResult = true; *hasResultType = false; break;
- case OpTypeFloat: *hasResult = true; *hasResultType = false; break;
- case OpTypeVector: *hasResult = true; *hasResultType = false; break;
- case OpTypeMatrix: *hasResult = true; *hasResultType = false; break;
- case OpTypeImage: *hasResult = true; *hasResultType = false; break;
- case OpTypeSampler: *hasResult = true; *hasResultType = false; break;
- case OpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
- case OpTypeArray: *hasResult = true; *hasResultType = false; break;
- case OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
- case OpTypeStruct: *hasResult = true; *hasResultType = false; break;
- case OpTypeOpaque: *hasResult = true; *hasResultType = false; break;
- case OpTypePointer: *hasResult = true; *hasResultType = false; break;
- case OpTypeFunction: *hasResult = true; *hasResultType = false; break;
- case OpTypeEvent: *hasResult = true; *hasResultType = false; break;
- case OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
- case OpTypeReserveId: *hasResult = true; *hasResultType = false; break;
- case OpTypeQueue: *hasResult = true; *hasResultType = false; break;
- case OpTypePipe: *hasResult = true; *hasResultType = false; break;
- case OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
- case OpConstantTrue: *hasResult = true; *hasResultType = true; break;
- case OpConstantFalse: *hasResult = true; *hasResultType = true; break;
- case OpConstant: *hasResult = true; *hasResultType = true; break;
- case OpConstantComposite: *hasResult = true; *hasResultType = true; break;
- case OpConstantSampler: *hasResult = true; *hasResultType = true; break;
- case OpConstantNull: *hasResult = true; *hasResultType = true; break;
- case OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
- case OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
- case OpSpecConstant: *hasResult = true; *hasResultType = true; break;
- case OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
- case OpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
- case OpFunction: *hasResult = true; *hasResultType = true; break;
- case OpFunctionParameter: *hasResult = true; *hasResultType = true; break;
- case OpFunctionEnd: *hasResult = false; *hasResultType = false; break;
- case OpFunctionCall: *hasResult = true; *hasResultType = true; break;
- case OpVariable: *hasResult = true; *hasResultType = true; break;
- case OpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
- case OpLoad: *hasResult = true; *hasResultType = true; break;
- case OpStore: *hasResult = false; *hasResultType = false; break;
- case OpCopyMemory: *hasResult = false; *hasResultType = false; break;
- case OpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
- case OpAccessChain: *hasResult = true; *hasResultType = true; break;
- case OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
- case OpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
- case OpArrayLength: *hasResult = true; *hasResultType = true; break;
- case OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
- case OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
- case OpDecorate: *hasResult = false; *hasResultType = false; break;
- case OpMemberDecorate: *hasResult = false; *hasResultType = false; break;
- case OpDecorationGroup: *hasResult = true; *hasResultType = false; break;
- case OpGroupDecorate: *hasResult = false; *hasResultType = false; break;
- case OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
- case OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
- case OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
- case OpVectorShuffle: *hasResult = true; *hasResultType = true; break;
- case OpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
- case OpCompositeExtract: *hasResult = true; *hasResultType = true; break;
- case OpCompositeInsert: *hasResult = true; *hasResultType = true; break;
- case OpCopyObject: *hasResult = true; *hasResultType = true; break;
- case OpTranspose: *hasResult = true; *hasResultType = true; break;
- case OpSampledImage: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageFetch: *hasResult = true; *hasResultType = true; break;
- case OpImageGather: *hasResult = true; *hasResultType = true; break;
- case OpImageDrefGather: *hasResult = true; *hasResultType = true; break;
- case OpImageRead: *hasResult = true; *hasResultType = true; break;
- case OpImageWrite: *hasResult = false; *hasResultType = false; break;
- case OpImage: *hasResult = true; *hasResultType = true; break;
- case OpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
- case OpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
- case OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
- case OpImageQuerySize: *hasResult = true; *hasResultType = true; break;
- case OpImageQueryLod: *hasResult = true; *hasResultType = true; break;
- case OpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
- case OpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
- case OpConvertFToU: *hasResult = true; *hasResultType = true; break;
- case OpConvertFToS: *hasResult = true; *hasResultType = true; break;
- case OpConvertSToF: *hasResult = true; *hasResultType = true; break;
- case OpConvertUToF: *hasResult = true; *hasResultType = true; break;
- case OpUConvert: *hasResult = true; *hasResultType = true; break;
- case OpSConvert: *hasResult = true; *hasResultType = true; break;
- case OpFConvert: *hasResult = true; *hasResultType = true; break;
- case OpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
- case OpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
- case OpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
- case OpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
- case OpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
- case OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
- case OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
- case OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
- case OpBitcast: *hasResult = true; *hasResultType = true; break;
- case OpSNegate: *hasResult = true; *hasResultType = true; break;
- case OpFNegate: *hasResult = true; *hasResultType = true; break;
- case OpIAdd: *hasResult = true; *hasResultType = true; break;
- case OpFAdd: *hasResult = true; *hasResultType = true; break;
- case OpISub: *hasResult = true; *hasResultType = true; break;
- case OpFSub: *hasResult = true; *hasResultType = true; break;
- case OpIMul: *hasResult = true; *hasResultType = true; break;
- case OpFMul: *hasResult = true; *hasResultType = true; break;
- case OpUDiv: *hasResult = true; *hasResultType = true; break;
- case OpSDiv: *hasResult = true; *hasResultType = true; break;
- case OpFDiv: *hasResult = true; *hasResultType = true; break;
- case OpUMod: *hasResult = true; *hasResultType = true; break;
- case OpSRem: *hasResult = true; *hasResultType = true; break;
- case OpSMod: *hasResult = true; *hasResultType = true; break;
- case OpFRem: *hasResult = true; *hasResultType = true; break;
- case OpFMod: *hasResult = true; *hasResultType = true; break;
- case OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
- case OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
- case OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
- case OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
- case OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
- case OpOuterProduct: *hasResult = true; *hasResultType = true; break;
- case OpDot: *hasResult = true; *hasResultType = true; break;
- case OpIAddCarry: *hasResult = true; *hasResultType = true; break;
- case OpISubBorrow: *hasResult = true; *hasResultType = true; break;
- case OpUMulExtended: *hasResult = true; *hasResultType = true; break;
- case OpSMulExtended: *hasResult = true; *hasResultType = true; break;
- case OpAny: *hasResult = true; *hasResultType = true; break;
- case OpAll: *hasResult = true; *hasResultType = true; break;
- case OpIsNan: *hasResult = true; *hasResultType = true; break;
- case OpIsInf: *hasResult = true; *hasResultType = true; break;
- case OpIsFinite: *hasResult = true; *hasResultType = true; break;
- case OpIsNormal: *hasResult = true; *hasResultType = true; break;
- case OpSignBitSet: *hasResult = true; *hasResultType = true; break;
- case OpLessOrGreater: *hasResult = true; *hasResultType = true; break;
- case OpOrdered: *hasResult = true; *hasResultType = true; break;
- case OpUnordered: *hasResult = true; *hasResultType = true; break;
- case OpLogicalEqual: *hasResult = true; *hasResultType = true; break;
- case OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
- case OpLogicalOr: *hasResult = true; *hasResultType = true; break;
- case OpLogicalAnd: *hasResult = true; *hasResultType = true; break;
- case OpLogicalNot: *hasResult = true; *hasResultType = true; break;
- case OpSelect: *hasResult = true; *hasResultType = true; break;
- case OpIEqual: *hasResult = true; *hasResultType = true; break;
- case OpINotEqual: *hasResult = true; *hasResultType = true; break;
- case OpUGreaterThan: *hasResult = true; *hasResultType = true; break;
- case OpSGreaterThan: *hasResult = true; *hasResultType = true; break;
- case OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpULessThan: *hasResult = true; *hasResultType = true; break;
- case OpSLessThan: *hasResult = true; *hasResultType = true; break;
- case OpULessThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpFOrdEqual: *hasResult = true; *hasResultType = true; break;
- case OpFUnordEqual: *hasResult = true; *hasResultType = true; break;
- case OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
- case OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
- case OpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
- case OpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
- case OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
- case OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
- case OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
- case OpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
- case OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
- case OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
- case OpBitwiseOr: *hasResult = true; *hasResultType = true; break;
- case OpBitwiseXor: *hasResult = true; *hasResultType = true; break;
- case OpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
- case OpNot: *hasResult = true; *hasResultType = true; break;
- case OpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
- case OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
- case OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
- case OpBitReverse: *hasResult = true; *hasResultType = true; break;
- case OpBitCount: *hasResult = true; *hasResultType = true; break;
- case OpDPdx: *hasResult = true; *hasResultType = true; break;
- case OpDPdy: *hasResult = true; *hasResultType = true; break;
- case OpFwidth: *hasResult = true; *hasResultType = true; break;
- case OpDPdxFine: *hasResult = true; *hasResultType = true; break;
- case OpDPdyFine: *hasResult = true; *hasResultType = true; break;
- case OpFwidthFine: *hasResult = true; *hasResultType = true; break;
- case OpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
- case OpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
- case OpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
- case OpEmitVertex: *hasResult = false; *hasResultType = false; break;
- case OpEndPrimitive: *hasResult = false; *hasResultType = false; break;
- case OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
- case OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
- case OpControlBarrier: *hasResult = false; *hasResultType = false; break;
- case OpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
- case OpAtomicLoad: *hasResult = true; *hasResultType = true; break;
- case OpAtomicStore: *hasResult = false; *hasResultType = false; break;
- case OpAtomicExchange: *hasResult = true; *hasResultType = true; break;
- case OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
- case OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
- case OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
- case OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
- case OpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
- case OpAtomicISub: *hasResult = true; *hasResultType = true; break;
- case OpAtomicSMin: *hasResult = true; *hasResultType = true; break;
- case OpAtomicUMin: *hasResult = true; *hasResultType = true; break;
- case OpAtomicSMax: *hasResult = true; *hasResultType = true; break;
- case OpAtomicUMax: *hasResult = true; *hasResultType = true; break;
- case OpAtomicAnd: *hasResult = true; *hasResultType = true; break;
- case OpAtomicOr: *hasResult = true; *hasResultType = true; break;
- case OpAtomicXor: *hasResult = true; *hasResultType = true; break;
- case OpPhi: *hasResult = true; *hasResultType = true; break;
- case OpLoopMerge: *hasResult = false; *hasResultType = false; break;
- case OpSelectionMerge: *hasResult = false; *hasResultType = false; break;
- case OpLabel: *hasResult = true; *hasResultType = false; break;
- case OpBranch: *hasResult = false; *hasResultType = false; break;
- case OpBranchConditional: *hasResult = false; *hasResultType = false; break;
- case OpSwitch: *hasResult = false; *hasResultType = false; break;
- case OpKill: *hasResult = false; *hasResultType = false; break;
- case OpReturn: *hasResult = false; *hasResultType = false; break;
- case OpReturnValue: *hasResult = false; *hasResultType = false; break;
- case OpUnreachable: *hasResult = false; *hasResultType = false; break;
- case OpLifetimeStart: *hasResult = false; *hasResultType = false; break;
- case OpLifetimeStop: *hasResult = false; *hasResultType = false; break;
- case OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
- case OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
- case OpGroupAll: *hasResult = true; *hasResultType = true; break;
- case OpGroupAny: *hasResult = true; *hasResultType = true; break;
- case OpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
- case OpGroupIAdd: *hasResult = true; *hasResultType = true; break;
- case OpGroupFAdd: *hasResult = true; *hasResultType = true; break;
- case OpGroupFMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupUMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupSMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupFMax: *hasResult = true; *hasResultType = true; break;
- case OpGroupUMax: *hasResult = true; *hasResultType = true; break;
- case OpGroupSMax: *hasResult = true; *hasResultType = true; break;
- case OpReadPipe: *hasResult = true; *hasResultType = true; break;
- case OpWritePipe: *hasResult = true; *hasResultType = true; break;
- case OpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
- case OpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
- case OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
- case OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
- case OpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
- case OpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
- case OpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
- case OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
- case OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
- case OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
- case OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
- case OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
- case OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
- case OpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
- case OpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
- case OpRetainEvent: *hasResult = false; *hasResultType = false; break;
- case OpReleaseEvent: *hasResult = false; *hasResultType = false; break;
- case OpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
- case OpIsValidEvent: *hasResult = true; *hasResultType = true; break;
- case OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
- case OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
- case OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
- case OpBuildNDRange: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseGather: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
- case OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
- case OpNoLine: *hasResult = false; *hasResultType = false; break;
- case OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
- case OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
- case OpImageSparseRead: *hasResult = true; *hasResultType = true; break;
- case OpSizeOf: *hasResult = true; *hasResultType = true; break;
- case OpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
- case OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
- case OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
- case OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
- case OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
- case OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
- case OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
- case OpModuleProcessed: *hasResult = false; *hasResultType = false; break;
- case OpExecutionModeId: *hasResult = false; *hasResultType = false; break;
- case OpDecorateId: *hasResult = false; *hasResultType = false; break;
- case OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
- 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 OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
- case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
- case OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
- case OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
- case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
- case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
- case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
- case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
- case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
- case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
- case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
- case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
- case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
- case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
- case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
- case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
- case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
- case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
- case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
- case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
- case OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
- case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
- case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
- 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 OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
- case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
- case OpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
- case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
- case OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
- 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 OpConstFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
- case OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
- case OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
- case OpAsmINTEL: *hasResult = true; *hasResultType = true; break;
- case OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
- case OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
- case OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
- case OpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
- case OpExpectKHR: *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;
- case OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
- case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
- case OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
- case OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
- case OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
- case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
- case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
- case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
- case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
- case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
- case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
- case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
- case OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
- case OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
- case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
- case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
- case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
- }
-}
-#endif /* SPV_ENABLE_UTILITY_CODE */
-
-// Overload operator| for mask bit combining
-
-inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
-inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }
-inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }
-inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }
-inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }
-inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
-inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
-inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
-inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
-inline FragmentShadingRateMask operator|(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) | unsigned(b)); }
-
-} // end namespace spv
-
-#endif // #ifndef spirv_HPP
-
+// Copyright (c) 2014-2020 The Khronos Group Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and/or associated documentation files (the "Materials"),
+// to deal in the Materials without restriction, including without limitation
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+// and/or sell copies of the Materials, and to permit persons to whom the
+// Materials are furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Materials.
+//
+// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
+// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
+// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
+//
+// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
+// IN THE MATERIALS.
+
+// This header is automatically generated by the same tool that creates
+// the Binary Section of the SPIR-V specification.
+
+// Enumeration tokens for SPIR-V, in various styles:
+// C, C++, C++11, JSON, Lua, Python, C#, D
+//
+// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
+// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
+// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
+// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
+// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
+// - C# will use enum classes in the Specification class located in the "Spv" namespace,
+// e.g.: Spv.Specification.SourceLanguage.GLSL
+// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
+//
+// Some tokens act like mask values, which can be OR'd together,
+// while others are mutually exclusive. The mask-like ones have
+// "Mask" in their name, and a parallel enum that has the shift
+// amount (1 << x) for each corresponding enumerant.
+
+#ifndef spirv_HPP
+#define spirv_HPP
+
+namespace spv {
+
+typedef unsigned int Id;
+
+#define SPV_VERSION 0x10600
+#define SPV_REVISION 1
+
+static const unsigned int MagicNumber = 0x07230203;
+static const unsigned int Version = 0x00010600;
+static const unsigned int Revision = 1;
+static const unsigned int OpCodeMask = 0xffff;
+static const unsigned int WordCountShift = 16;
+
+enum SourceLanguage {
+ SourceLanguageUnknown = 0,
+ SourceLanguageESSL = 1,
+ SourceLanguageGLSL = 2,
+ SourceLanguageOpenCL_C = 3,
+ SourceLanguageOpenCL_CPP = 4,
+ SourceLanguageHLSL = 5,
+ SourceLanguageCPP_for_OpenCL = 6,
+ SourceLanguageMax = 0x7fffffff,
+};
+
+enum ExecutionModel {
+ ExecutionModelVertex = 0,
+ ExecutionModelTessellationControl = 1,
+ ExecutionModelTessellationEvaluation = 2,
+ ExecutionModelGeometry = 3,
+ ExecutionModelFragment = 4,
+ ExecutionModelGLCompute = 5,
+ ExecutionModelKernel = 6,
+ ExecutionModelTaskNV = 5267,
+ ExecutionModelMeshNV = 5268,
+ ExecutionModelRayGenerationKHR = 5313,
+ ExecutionModelRayGenerationNV = 5313,
+ ExecutionModelIntersectionKHR = 5314,
+ ExecutionModelIntersectionNV = 5314,
+ ExecutionModelAnyHitKHR = 5315,
+ ExecutionModelAnyHitNV = 5315,
+ ExecutionModelClosestHitKHR = 5316,
+ ExecutionModelClosestHitNV = 5316,
+ ExecutionModelMissKHR = 5317,
+ ExecutionModelMissNV = 5317,
+ ExecutionModelCallableKHR = 5318,
+ ExecutionModelCallableNV = 5318,
+ ExecutionModelMax = 0x7fffffff,
+};
+
+enum AddressingModel {
+ AddressingModelLogical = 0,
+ AddressingModelPhysical32 = 1,
+ AddressingModelPhysical64 = 2,
+ AddressingModelPhysicalStorageBuffer64 = 5348,
+ AddressingModelPhysicalStorageBuffer64EXT = 5348,
+ AddressingModelMax = 0x7fffffff,
+};
+
+enum MemoryModel {
+ MemoryModelSimple = 0,
+ MemoryModelGLSL450 = 1,
+ MemoryModelOpenCL = 2,
+ MemoryModelVulkan = 3,
+ MemoryModelVulkanKHR = 3,
+ MemoryModelMax = 0x7fffffff,
+};
+
+enum ExecutionMode {
+ ExecutionModeInvocations = 0,
+ ExecutionModeSpacingEqual = 1,
+ ExecutionModeSpacingFractionalEven = 2,
+ ExecutionModeSpacingFractionalOdd = 3,
+ ExecutionModeVertexOrderCw = 4,
+ ExecutionModeVertexOrderCcw = 5,
+ ExecutionModePixelCenterInteger = 6,
+ ExecutionModeOriginUpperLeft = 7,
+ ExecutionModeOriginLowerLeft = 8,
+ ExecutionModeEarlyFragmentTests = 9,
+ ExecutionModePointMode = 10,
+ ExecutionModeXfb = 11,
+ ExecutionModeDepthReplacing = 12,
+ ExecutionModeDepthGreater = 14,
+ ExecutionModeDepthLess = 15,
+ ExecutionModeDepthUnchanged = 16,
+ ExecutionModeLocalSize = 17,
+ ExecutionModeLocalSizeHint = 18,
+ ExecutionModeInputPoints = 19,
+ ExecutionModeInputLines = 20,
+ ExecutionModeInputLinesAdjacency = 21,
+ ExecutionModeTriangles = 22,
+ ExecutionModeInputTrianglesAdjacency = 23,
+ ExecutionModeQuads = 24,
+ ExecutionModeIsolines = 25,
+ ExecutionModeOutputVertices = 26,
+ ExecutionModeOutputPoints = 27,
+ ExecutionModeOutputLineStrip = 28,
+ ExecutionModeOutputTriangleStrip = 29,
+ ExecutionModeVecTypeHint = 30,
+ ExecutionModeContractionOff = 31,
+ ExecutionModeInitializer = 33,
+ ExecutionModeFinalizer = 34,
+ ExecutionModeSubgroupSize = 35,
+ ExecutionModeSubgroupsPerWorkgroup = 36,
+ ExecutionModeSubgroupsPerWorkgroupId = 37,
+ ExecutionModeLocalSizeId = 38,
+ ExecutionModeLocalSizeHintId = 39,
+ ExecutionModeSubgroupUniformControlFlowKHR = 4421,
+ ExecutionModePostDepthCoverage = 4446,
+ ExecutionModeDenormPreserve = 4459,
+ ExecutionModeDenormFlushToZero = 4460,
+ ExecutionModeSignedZeroInfNanPreserve = 4461,
+ ExecutionModeRoundingModeRTE = 4462,
+ ExecutionModeRoundingModeRTZ = 4463,
+ ExecutionModeStencilRefReplacingEXT = 5027,
+ ExecutionModeOutputLinesNV = 5269,
+ ExecutionModeOutputPrimitivesNV = 5270,
+ ExecutionModeDerivativeGroupQuadsNV = 5289,
+ ExecutionModeDerivativeGroupLinearNV = 5290,
+ ExecutionModeOutputTrianglesNV = 5298,
+ ExecutionModePixelInterlockOrderedEXT = 5366,
+ ExecutionModePixelInterlockUnorderedEXT = 5367,
+ ExecutionModeSampleInterlockOrderedEXT = 5368,
+ ExecutionModeSampleInterlockUnorderedEXT = 5369,
+ ExecutionModeShadingRateInterlockOrderedEXT = 5370,
+ ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
+ ExecutionModeSharedLocalMemorySizeINTEL = 5618,
+ ExecutionModeRoundingModeRTPINTEL = 5620,
+ ExecutionModeRoundingModeRTNINTEL = 5621,
+ ExecutionModeFloatingPointModeALTINTEL = 5622,
+ ExecutionModeFloatingPointModeIEEEINTEL = 5623,
+ ExecutionModeMaxWorkgroupSizeINTEL = 5893,
+ ExecutionModeMaxWorkDimINTEL = 5894,
+ ExecutionModeNoGlobalOffsetINTEL = 5895,
+ ExecutionModeNumSIMDWorkitemsINTEL = 5896,
+ ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
+ ExecutionModeMax = 0x7fffffff,
+};
+
+enum StorageClass {
+ StorageClassUniformConstant = 0,
+ StorageClassInput = 1,
+ StorageClassUniform = 2,
+ StorageClassOutput = 3,
+ StorageClassWorkgroup = 4,
+ StorageClassCrossWorkgroup = 5,
+ StorageClassPrivate = 6,
+ StorageClassFunction = 7,
+ StorageClassGeneric = 8,
+ StorageClassPushConstant = 9,
+ StorageClassAtomicCounter = 10,
+ StorageClassImage = 11,
+ StorageClassStorageBuffer = 12,
+ StorageClassCallableDataKHR = 5328,
+ StorageClassCallableDataNV = 5328,
+ StorageClassIncomingCallableDataKHR = 5329,
+ StorageClassIncomingCallableDataNV = 5329,
+ StorageClassRayPayloadKHR = 5338,
+ StorageClassRayPayloadNV = 5338,
+ StorageClassHitAttributeKHR = 5339,
+ StorageClassHitAttributeNV = 5339,
+ StorageClassIncomingRayPayloadKHR = 5342,
+ StorageClassIncomingRayPayloadNV = 5342,
+ StorageClassShaderRecordBufferKHR = 5343,
+ StorageClassShaderRecordBufferNV = 5343,
+ StorageClassPhysicalStorageBuffer = 5349,
+ StorageClassPhysicalStorageBufferEXT = 5349,
+ StorageClassCodeSectionINTEL = 5605,
+ StorageClassDeviceOnlyINTEL = 5936,
+ StorageClassHostOnlyINTEL = 5937,
+ StorageClassMax = 0x7fffffff,
+};
+
+enum Dim {
+ Dim1D = 0,
+ Dim2D = 1,
+ Dim3D = 2,
+ DimCube = 3,
+ DimRect = 4,
+ DimBuffer = 5,
+ DimSubpassData = 6,
+ DimMax = 0x7fffffff,
+};
+
+enum SamplerAddressingMode {
+ SamplerAddressingModeNone = 0,
+ SamplerAddressingModeClampToEdge = 1,
+ SamplerAddressingModeClamp = 2,
+ SamplerAddressingModeRepeat = 3,
+ SamplerAddressingModeRepeatMirrored = 4,
+ SamplerAddressingModeMax = 0x7fffffff,
+};
+
+enum SamplerFilterMode {
+ SamplerFilterModeNearest = 0,
+ SamplerFilterModeLinear = 1,
+ SamplerFilterModeMax = 0x7fffffff,
+};
+
+enum ImageFormat {
+ ImageFormatUnknown = 0,
+ ImageFormatRgba32f = 1,
+ ImageFormatRgba16f = 2,
+ ImageFormatR32f = 3,
+ ImageFormatRgba8 = 4,
+ ImageFormatRgba8Snorm = 5,
+ ImageFormatRg32f = 6,
+ ImageFormatRg16f = 7,
+ ImageFormatR11fG11fB10f = 8,
+ ImageFormatR16f = 9,
+ ImageFormatRgba16 = 10,
+ ImageFormatRgb10A2 = 11,
+ ImageFormatRg16 = 12,
+ ImageFormatRg8 = 13,
+ ImageFormatR16 = 14,
+ ImageFormatR8 = 15,
+ ImageFormatRgba16Snorm = 16,
+ ImageFormatRg16Snorm = 17,
+ ImageFormatRg8Snorm = 18,
+ ImageFormatR16Snorm = 19,
+ ImageFormatR8Snorm = 20,
+ ImageFormatRgba32i = 21,
+ ImageFormatRgba16i = 22,
+ ImageFormatRgba8i = 23,
+ ImageFormatR32i = 24,
+ ImageFormatRg32i = 25,
+ ImageFormatRg16i = 26,
+ ImageFormatRg8i = 27,
+ ImageFormatR16i = 28,
+ ImageFormatR8i = 29,
+ ImageFormatRgba32ui = 30,
+ ImageFormatRgba16ui = 31,
+ ImageFormatRgba8ui = 32,
+ ImageFormatR32ui = 33,
+ ImageFormatRgb10a2ui = 34,
+ ImageFormatRg32ui = 35,
+ ImageFormatRg16ui = 36,
+ ImageFormatRg8ui = 37,
+ ImageFormatR16ui = 38,
+ ImageFormatR8ui = 39,
+ ImageFormatR64ui = 40,
+ ImageFormatR64i = 41,
+ ImageFormatMax = 0x7fffffff,
+};
+
+enum ImageChannelOrder {
+ ImageChannelOrderR = 0,
+ ImageChannelOrderA = 1,
+ ImageChannelOrderRG = 2,
+ ImageChannelOrderRA = 3,
+ ImageChannelOrderRGB = 4,
+ ImageChannelOrderRGBA = 5,
+ ImageChannelOrderBGRA = 6,
+ ImageChannelOrderARGB = 7,
+ ImageChannelOrderIntensity = 8,
+ ImageChannelOrderLuminance = 9,
+ ImageChannelOrderRx = 10,
+ ImageChannelOrderRGx = 11,
+ ImageChannelOrderRGBx = 12,
+ ImageChannelOrderDepth = 13,
+ ImageChannelOrderDepthStencil = 14,
+ ImageChannelOrdersRGB = 15,
+ ImageChannelOrdersRGBx = 16,
+ ImageChannelOrdersRGBA = 17,
+ ImageChannelOrdersBGRA = 18,
+ ImageChannelOrderABGR = 19,
+ ImageChannelOrderMax = 0x7fffffff,
+};
+
+enum ImageChannelDataType {
+ ImageChannelDataTypeSnormInt8 = 0,
+ ImageChannelDataTypeSnormInt16 = 1,
+ ImageChannelDataTypeUnormInt8 = 2,
+ ImageChannelDataTypeUnormInt16 = 3,
+ ImageChannelDataTypeUnormShort565 = 4,
+ ImageChannelDataTypeUnormShort555 = 5,
+ ImageChannelDataTypeUnormInt101010 = 6,
+ ImageChannelDataTypeSignedInt8 = 7,
+ ImageChannelDataTypeSignedInt16 = 8,
+ ImageChannelDataTypeSignedInt32 = 9,
+ ImageChannelDataTypeUnsignedInt8 = 10,
+ ImageChannelDataTypeUnsignedInt16 = 11,
+ ImageChannelDataTypeUnsignedInt32 = 12,
+ ImageChannelDataTypeHalfFloat = 13,
+ ImageChannelDataTypeFloat = 14,
+ ImageChannelDataTypeUnormInt24 = 15,
+ ImageChannelDataTypeUnormInt101010_2 = 16,
+ ImageChannelDataTypeMax = 0x7fffffff,
+};
+
+enum ImageOperandsShift {
+ ImageOperandsBiasShift = 0,
+ ImageOperandsLodShift = 1,
+ ImageOperandsGradShift = 2,
+ ImageOperandsConstOffsetShift = 3,
+ ImageOperandsOffsetShift = 4,
+ ImageOperandsConstOffsetsShift = 5,
+ ImageOperandsSampleShift = 6,
+ ImageOperandsMinLodShift = 7,
+ ImageOperandsMakeTexelAvailableShift = 8,
+ ImageOperandsMakeTexelAvailableKHRShift = 8,
+ ImageOperandsMakeTexelVisibleShift = 9,
+ ImageOperandsMakeTexelVisibleKHRShift = 9,
+ ImageOperandsNonPrivateTexelShift = 10,
+ ImageOperandsNonPrivateTexelKHRShift = 10,
+ ImageOperandsVolatileTexelShift = 11,
+ ImageOperandsVolatileTexelKHRShift = 11,
+ ImageOperandsSignExtendShift = 12,
+ ImageOperandsZeroExtendShift = 13,
+ ImageOperandsNontemporalShift = 14,
+ ImageOperandsOffsetsShift = 16,
+ ImageOperandsMax = 0x7fffffff,
+};
+
+enum ImageOperandsMask {
+ ImageOperandsMaskNone = 0,
+ ImageOperandsBiasMask = 0x00000001,
+ ImageOperandsLodMask = 0x00000002,
+ ImageOperandsGradMask = 0x00000004,
+ ImageOperandsConstOffsetMask = 0x00000008,
+ ImageOperandsOffsetMask = 0x00000010,
+ ImageOperandsConstOffsetsMask = 0x00000020,
+ ImageOperandsSampleMask = 0x00000040,
+ ImageOperandsMinLodMask = 0x00000080,
+ ImageOperandsMakeTexelAvailableMask = 0x00000100,
+ ImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
+ ImageOperandsMakeTexelVisibleMask = 0x00000200,
+ ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
+ ImageOperandsNonPrivateTexelMask = 0x00000400,
+ ImageOperandsNonPrivateTexelKHRMask = 0x00000400,
+ ImageOperandsVolatileTexelMask = 0x00000800,
+ ImageOperandsVolatileTexelKHRMask = 0x00000800,
+ ImageOperandsSignExtendMask = 0x00001000,
+ ImageOperandsZeroExtendMask = 0x00002000,
+ ImageOperandsNontemporalMask = 0x00004000,
+ ImageOperandsOffsetsMask = 0x00010000,
+};
+
+enum FPFastMathModeShift {
+ FPFastMathModeNotNaNShift = 0,
+ FPFastMathModeNotInfShift = 1,
+ FPFastMathModeNSZShift = 2,
+ FPFastMathModeAllowRecipShift = 3,
+ FPFastMathModeFastShift = 4,
+ FPFastMathModeAllowContractFastINTELShift = 16,
+ FPFastMathModeAllowReassocINTELShift = 17,
+ FPFastMathModeMax = 0x7fffffff,
+};
+
+enum FPFastMathModeMask {
+ FPFastMathModeMaskNone = 0,
+ FPFastMathModeNotNaNMask = 0x00000001,
+ FPFastMathModeNotInfMask = 0x00000002,
+ FPFastMathModeNSZMask = 0x00000004,
+ FPFastMathModeAllowRecipMask = 0x00000008,
+ FPFastMathModeFastMask = 0x00000010,
+ FPFastMathModeAllowContractFastINTELMask = 0x00010000,
+ FPFastMathModeAllowReassocINTELMask = 0x00020000,
+};
+
+enum FPRoundingMode {
+ FPRoundingModeRTE = 0,
+ FPRoundingModeRTZ = 1,
+ FPRoundingModeRTP = 2,
+ FPRoundingModeRTN = 3,
+ FPRoundingModeMax = 0x7fffffff,
+};
+
+enum LinkageType {
+ LinkageTypeExport = 0,
+ LinkageTypeImport = 1,
+ LinkageTypeLinkOnceODR = 2,
+ LinkageTypeMax = 0x7fffffff,
+};
+
+enum AccessQualifier {
+ AccessQualifierReadOnly = 0,
+ AccessQualifierWriteOnly = 1,
+ AccessQualifierReadWrite = 2,
+ AccessQualifierMax = 0x7fffffff,
+};
+
+enum FunctionParameterAttribute {
+ FunctionParameterAttributeZext = 0,
+ FunctionParameterAttributeSext = 1,
+ FunctionParameterAttributeByVal = 2,
+ FunctionParameterAttributeSret = 3,
+ FunctionParameterAttributeNoAlias = 4,
+ FunctionParameterAttributeNoCapture = 5,
+ FunctionParameterAttributeNoWrite = 6,
+ FunctionParameterAttributeNoReadWrite = 7,
+ FunctionParameterAttributeMax = 0x7fffffff,
+};
+
+enum Decoration {
+ DecorationRelaxedPrecision = 0,
+ DecorationSpecId = 1,
+ DecorationBlock = 2,
+ DecorationBufferBlock = 3,
+ DecorationRowMajor = 4,
+ DecorationColMajor = 5,
+ DecorationArrayStride = 6,
+ DecorationMatrixStride = 7,
+ DecorationGLSLShared = 8,
+ DecorationGLSLPacked = 9,
+ DecorationCPacked = 10,
+ DecorationBuiltIn = 11,
+ DecorationNoPerspective = 13,
+ DecorationFlat = 14,
+ DecorationPatch = 15,
+ DecorationCentroid = 16,
+ DecorationSample = 17,
+ DecorationInvariant = 18,
+ DecorationRestrict = 19,
+ DecorationAliased = 20,
+ DecorationVolatile = 21,
+ DecorationConstant = 22,
+ DecorationCoherent = 23,
+ DecorationNonWritable = 24,
+ DecorationNonReadable = 25,
+ DecorationUniform = 26,
+ DecorationUniformId = 27,
+ DecorationSaturatedConversion = 28,
+ DecorationStream = 29,
+ DecorationLocation = 30,
+ DecorationComponent = 31,
+ DecorationIndex = 32,
+ DecorationBinding = 33,
+ DecorationDescriptorSet = 34,
+ DecorationOffset = 35,
+ DecorationXfbBuffer = 36,
+ DecorationXfbStride = 37,
+ DecorationFuncParamAttr = 38,
+ DecorationFPRoundingMode = 39,
+ DecorationFPFastMathMode = 40,
+ DecorationLinkageAttributes = 41,
+ DecorationNoContraction = 42,
+ DecorationInputAttachmentIndex = 43,
+ DecorationAlignment = 44,
+ DecorationMaxByteOffset = 45,
+ DecorationAlignmentId = 46,
+ DecorationMaxByteOffsetId = 47,
+ DecorationNoSignedWrap = 4469,
+ DecorationNoUnsignedWrap = 4470,
+ DecorationExplicitInterpAMD = 4999,
+ DecorationOverrideCoverageNV = 5248,
+ DecorationPassthroughNV = 5250,
+ DecorationViewportRelativeNV = 5252,
+ DecorationSecondaryViewportRelativeNV = 5256,
+ DecorationPerPrimitiveNV = 5271,
+ DecorationPerViewNV = 5272,
+ DecorationPerTaskNV = 5273,
+ DecorationPerVertexKHR = 5285,
+ DecorationPerVertexNV = 5285,
+ DecorationNonUniform = 5300,
+ DecorationNonUniformEXT = 5300,
+ DecorationRestrictPointer = 5355,
+ DecorationRestrictPointerEXT = 5355,
+ DecorationAliasedPointer = 5356,
+ DecorationAliasedPointerEXT = 5356,
+ DecorationBindlessSamplerNV = 5398,
+ DecorationBindlessImageNV = 5399,
+ DecorationBoundSamplerNV = 5400,
+ DecorationBoundImageNV = 5401,
+ DecorationSIMTCallINTEL = 5599,
+ DecorationReferencedIndirectlyINTEL = 5602,
+ DecorationClobberINTEL = 5607,
+ DecorationSideEffectsINTEL = 5608,
+ DecorationVectorComputeVariableINTEL = 5624,
+ DecorationFuncParamIOKindINTEL = 5625,
+ DecorationVectorComputeFunctionINTEL = 5626,
+ DecorationStackCallINTEL = 5627,
+ DecorationGlobalVariableOffsetINTEL = 5628,
+ DecorationCounterBuffer = 5634,
+ DecorationHlslCounterBufferGOOGLE = 5634,
+ DecorationHlslSemanticGOOGLE = 5635,
+ DecorationUserSemantic = 5635,
+ DecorationUserTypeGOOGLE = 5636,
+ DecorationFunctionRoundingModeINTEL = 5822,
+ DecorationFunctionDenormModeINTEL = 5823,
+ DecorationRegisterINTEL = 5825,
+ DecorationMemoryINTEL = 5826,
+ DecorationNumbanksINTEL = 5827,
+ DecorationBankwidthINTEL = 5828,
+ DecorationMaxPrivateCopiesINTEL = 5829,
+ DecorationSinglepumpINTEL = 5830,
+ DecorationDoublepumpINTEL = 5831,
+ DecorationMaxReplicatesINTEL = 5832,
+ DecorationSimpleDualPortINTEL = 5833,
+ DecorationMergeINTEL = 5834,
+ DecorationBankBitsINTEL = 5835,
+ DecorationForcePow2DepthINTEL = 5836,
+ DecorationBurstCoalesceINTEL = 5899,
+ DecorationCacheSizeINTEL = 5900,
+ DecorationDontStaticallyCoalesceINTEL = 5901,
+ DecorationPrefetchINTEL = 5902,
+ DecorationStallEnableINTEL = 5905,
+ DecorationFuseLoopsInFunctionINTEL = 5907,
+ DecorationBufferLocationINTEL = 5921,
+ DecorationIOPipeStorageINTEL = 5944,
+ DecorationFunctionFloatingPointModeINTEL = 6080,
+ DecorationSingleElementVectorINTEL = 6085,
+ DecorationVectorComputeCallableFunctionINTEL = 6087,
+ DecorationMediaBlockIOINTEL = 6140,
+ DecorationMax = 0x7fffffff,
+};
+
+enum BuiltIn {
+ BuiltInPosition = 0,
+ BuiltInPointSize = 1,
+ BuiltInClipDistance = 3,
+ BuiltInCullDistance = 4,
+ BuiltInVertexId = 5,
+ BuiltInInstanceId = 6,
+ BuiltInPrimitiveId = 7,
+ BuiltInInvocationId = 8,
+ BuiltInLayer = 9,
+ BuiltInViewportIndex = 10,
+ BuiltInTessLevelOuter = 11,
+ BuiltInTessLevelInner = 12,
+ BuiltInTessCoord = 13,
+ BuiltInPatchVertices = 14,
+ BuiltInFragCoord = 15,
+ BuiltInPointCoord = 16,
+ BuiltInFrontFacing = 17,
+ BuiltInSampleId = 18,
+ BuiltInSamplePosition = 19,
+ BuiltInSampleMask = 20,
+ BuiltInFragDepth = 22,
+ BuiltInHelperInvocation = 23,
+ BuiltInNumWorkgroups = 24,
+ BuiltInWorkgroupSize = 25,
+ BuiltInWorkgroupId = 26,
+ BuiltInLocalInvocationId = 27,
+ BuiltInGlobalInvocationId = 28,
+ BuiltInLocalInvocationIndex = 29,
+ BuiltInWorkDim = 30,
+ BuiltInGlobalSize = 31,
+ BuiltInEnqueuedWorkgroupSize = 32,
+ BuiltInGlobalOffset = 33,
+ BuiltInGlobalLinearId = 34,
+ BuiltInSubgroupSize = 36,
+ BuiltInSubgroupMaxSize = 37,
+ BuiltInNumSubgroups = 38,
+ BuiltInNumEnqueuedSubgroups = 39,
+ BuiltInSubgroupId = 40,
+ BuiltInSubgroupLocalInvocationId = 41,
+ BuiltInVertexIndex = 42,
+ BuiltInInstanceIndex = 43,
+ BuiltInSubgroupEqMask = 4416,
+ BuiltInSubgroupEqMaskKHR = 4416,
+ BuiltInSubgroupGeMask = 4417,
+ BuiltInSubgroupGeMaskKHR = 4417,
+ BuiltInSubgroupGtMask = 4418,
+ BuiltInSubgroupGtMaskKHR = 4418,
+ BuiltInSubgroupLeMask = 4419,
+ BuiltInSubgroupLeMaskKHR = 4419,
+ BuiltInSubgroupLtMask = 4420,
+ BuiltInSubgroupLtMaskKHR = 4420,
+ BuiltInBaseVertex = 4424,
+ BuiltInBaseInstance = 4425,
+ BuiltInDrawIndex = 4426,
+ BuiltInPrimitiveShadingRateKHR = 4432,
+ BuiltInDeviceIndex = 4438,
+ BuiltInViewIndex = 4440,
+ BuiltInShadingRateKHR = 4444,
+ BuiltInBaryCoordNoPerspAMD = 4992,
+ BuiltInBaryCoordNoPerspCentroidAMD = 4993,
+ BuiltInBaryCoordNoPerspSampleAMD = 4994,
+ BuiltInBaryCoordSmoothAMD = 4995,
+ BuiltInBaryCoordSmoothCentroidAMD = 4996,
+ BuiltInBaryCoordSmoothSampleAMD = 4997,
+ BuiltInBaryCoordPullModelAMD = 4998,
+ BuiltInFragStencilRefEXT = 5014,
+ BuiltInViewportMaskNV = 5253,
+ BuiltInSecondaryPositionNV = 5257,
+ BuiltInSecondaryViewportMaskNV = 5258,
+ BuiltInPositionPerViewNV = 5261,
+ BuiltInViewportMaskPerViewNV = 5262,
+ BuiltInFullyCoveredEXT = 5264,
+ BuiltInTaskCountNV = 5274,
+ BuiltInPrimitiveCountNV = 5275,
+ BuiltInPrimitiveIndicesNV = 5276,
+ BuiltInClipDistancePerViewNV = 5277,
+ BuiltInCullDistancePerViewNV = 5278,
+ BuiltInLayerPerViewNV = 5279,
+ BuiltInMeshViewCountNV = 5280,
+ BuiltInMeshViewIndicesNV = 5281,
+ BuiltInBaryCoordKHR = 5286,
+ BuiltInBaryCoordNV = 5286,
+ BuiltInBaryCoordNoPerspKHR = 5287,
+ BuiltInBaryCoordNoPerspNV = 5287,
+ BuiltInFragSizeEXT = 5292,
+ BuiltInFragmentSizeNV = 5292,
+ BuiltInFragInvocationCountEXT = 5293,
+ BuiltInInvocationsPerPixelNV = 5293,
+ BuiltInLaunchIdKHR = 5319,
+ BuiltInLaunchIdNV = 5319,
+ BuiltInLaunchSizeKHR = 5320,
+ BuiltInLaunchSizeNV = 5320,
+ BuiltInWorldRayOriginKHR = 5321,
+ BuiltInWorldRayOriginNV = 5321,
+ BuiltInWorldRayDirectionKHR = 5322,
+ BuiltInWorldRayDirectionNV = 5322,
+ BuiltInObjectRayOriginKHR = 5323,
+ BuiltInObjectRayOriginNV = 5323,
+ BuiltInObjectRayDirectionKHR = 5324,
+ BuiltInObjectRayDirectionNV = 5324,
+ BuiltInRayTminKHR = 5325,
+ BuiltInRayTminNV = 5325,
+ BuiltInRayTmaxKHR = 5326,
+ BuiltInRayTmaxNV = 5326,
+ BuiltInInstanceCustomIndexKHR = 5327,
+ BuiltInInstanceCustomIndexNV = 5327,
+ BuiltInObjectToWorldKHR = 5330,
+ BuiltInObjectToWorldNV = 5330,
+ BuiltInWorldToObjectKHR = 5331,
+ BuiltInWorldToObjectNV = 5331,
+ BuiltInHitTNV = 5332,
+ BuiltInHitKindKHR = 5333,
+ BuiltInHitKindNV = 5333,
+ BuiltInCurrentRayTimeNV = 5334,
+ BuiltInIncomingRayFlagsKHR = 5351,
+ BuiltInIncomingRayFlagsNV = 5351,
+ BuiltInRayGeometryIndexKHR = 5352,
+ BuiltInWarpsPerSMNV = 5374,
+ BuiltInSMCountNV = 5375,
+ BuiltInWarpIDNV = 5376,
+ BuiltInSMIDNV = 5377,
+ BuiltInMax = 0x7fffffff,
+};
+
+enum SelectionControlShift {
+ SelectionControlFlattenShift = 0,
+ SelectionControlDontFlattenShift = 1,
+ SelectionControlMax = 0x7fffffff,
+};
+
+enum SelectionControlMask {
+ SelectionControlMaskNone = 0,
+ SelectionControlFlattenMask = 0x00000001,
+ SelectionControlDontFlattenMask = 0x00000002,
+};
+
+enum LoopControlShift {
+ LoopControlUnrollShift = 0,
+ LoopControlDontUnrollShift = 1,
+ LoopControlDependencyInfiniteShift = 2,
+ LoopControlDependencyLengthShift = 3,
+ LoopControlMinIterationsShift = 4,
+ LoopControlMaxIterationsShift = 5,
+ LoopControlIterationMultipleShift = 6,
+ LoopControlPeelCountShift = 7,
+ LoopControlPartialCountShift = 8,
+ LoopControlInitiationIntervalINTELShift = 16,
+ LoopControlMaxConcurrencyINTELShift = 17,
+ LoopControlDependencyArrayINTELShift = 18,
+ LoopControlPipelineEnableINTELShift = 19,
+ LoopControlLoopCoalesceINTELShift = 20,
+ LoopControlMaxInterleavingINTELShift = 21,
+ LoopControlSpeculatedIterationsINTELShift = 22,
+ LoopControlNoFusionINTELShift = 23,
+ LoopControlMax = 0x7fffffff,
+};
+
+enum LoopControlMask {
+ LoopControlMaskNone = 0,
+ LoopControlUnrollMask = 0x00000001,
+ LoopControlDontUnrollMask = 0x00000002,
+ LoopControlDependencyInfiniteMask = 0x00000004,
+ LoopControlDependencyLengthMask = 0x00000008,
+ LoopControlMinIterationsMask = 0x00000010,
+ LoopControlMaxIterationsMask = 0x00000020,
+ LoopControlIterationMultipleMask = 0x00000040,
+ LoopControlPeelCountMask = 0x00000080,
+ LoopControlPartialCountMask = 0x00000100,
+ LoopControlInitiationIntervalINTELMask = 0x00010000,
+ LoopControlMaxConcurrencyINTELMask = 0x00020000,
+ LoopControlDependencyArrayINTELMask = 0x00040000,
+ LoopControlPipelineEnableINTELMask = 0x00080000,
+ LoopControlLoopCoalesceINTELMask = 0x00100000,
+ LoopControlMaxInterleavingINTELMask = 0x00200000,
+ LoopControlSpeculatedIterationsINTELMask = 0x00400000,
+ LoopControlNoFusionINTELMask = 0x00800000,
+};
+
+enum FunctionControlShift {
+ FunctionControlInlineShift = 0,
+ FunctionControlDontInlineShift = 1,
+ FunctionControlPureShift = 2,
+ FunctionControlConstShift = 3,
+ FunctionControlOptNoneINTELShift = 16,
+ FunctionControlMax = 0x7fffffff,
+};
+
+enum FunctionControlMask {
+ FunctionControlMaskNone = 0,
+ FunctionControlInlineMask = 0x00000001,
+ FunctionControlDontInlineMask = 0x00000002,
+ FunctionControlPureMask = 0x00000004,
+ FunctionControlConstMask = 0x00000008,
+ FunctionControlOptNoneINTELMask = 0x00010000,
+};
+
+enum MemorySemanticsShift {
+ MemorySemanticsAcquireShift = 1,
+ MemorySemanticsReleaseShift = 2,
+ MemorySemanticsAcquireReleaseShift = 3,
+ MemorySemanticsSequentiallyConsistentShift = 4,
+ MemorySemanticsUniformMemoryShift = 6,
+ MemorySemanticsSubgroupMemoryShift = 7,
+ MemorySemanticsWorkgroupMemoryShift = 8,
+ MemorySemanticsCrossWorkgroupMemoryShift = 9,
+ MemorySemanticsAtomicCounterMemoryShift = 10,
+ MemorySemanticsImageMemoryShift = 11,
+ MemorySemanticsOutputMemoryShift = 12,
+ MemorySemanticsOutputMemoryKHRShift = 12,
+ MemorySemanticsMakeAvailableShift = 13,
+ MemorySemanticsMakeAvailableKHRShift = 13,
+ MemorySemanticsMakeVisibleShift = 14,
+ MemorySemanticsMakeVisibleKHRShift = 14,
+ MemorySemanticsVolatileShift = 15,
+ MemorySemanticsMax = 0x7fffffff,
+};
+
+enum MemorySemanticsMask {
+ MemorySemanticsMaskNone = 0,
+ MemorySemanticsAcquireMask = 0x00000002,
+ MemorySemanticsReleaseMask = 0x00000004,
+ MemorySemanticsAcquireReleaseMask = 0x00000008,
+ MemorySemanticsSequentiallyConsistentMask = 0x00000010,
+ MemorySemanticsUniformMemoryMask = 0x00000040,
+ MemorySemanticsSubgroupMemoryMask = 0x00000080,
+ MemorySemanticsWorkgroupMemoryMask = 0x00000100,
+ MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
+ MemorySemanticsAtomicCounterMemoryMask = 0x00000400,
+ MemorySemanticsImageMemoryMask = 0x00000800,
+ MemorySemanticsOutputMemoryMask = 0x00001000,
+ MemorySemanticsOutputMemoryKHRMask = 0x00001000,
+ MemorySemanticsMakeAvailableMask = 0x00002000,
+ MemorySemanticsMakeAvailableKHRMask = 0x00002000,
+ MemorySemanticsMakeVisibleMask = 0x00004000,
+ MemorySemanticsMakeVisibleKHRMask = 0x00004000,
+ MemorySemanticsVolatileMask = 0x00008000,
+};
+
+enum MemoryAccessShift {
+ MemoryAccessVolatileShift = 0,
+ MemoryAccessAlignedShift = 1,
+ MemoryAccessNontemporalShift = 2,
+ MemoryAccessMakePointerAvailableShift = 3,
+ MemoryAccessMakePointerAvailableKHRShift = 3,
+ MemoryAccessMakePointerVisibleShift = 4,
+ MemoryAccessMakePointerVisibleKHRShift = 4,
+ MemoryAccessNonPrivatePointerShift = 5,
+ MemoryAccessNonPrivatePointerKHRShift = 5,
+ MemoryAccessMax = 0x7fffffff,
+};
+
+enum MemoryAccessMask {
+ MemoryAccessMaskNone = 0,
+ MemoryAccessVolatileMask = 0x00000001,
+ MemoryAccessAlignedMask = 0x00000002,
+ MemoryAccessNontemporalMask = 0x00000004,
+ MemoryAccessMakePointerAvailableMask = 0x00000008,
+ MemoryAccessMakePointerAvailableKHRMask = 0x00000008,
+ MemoryAccessMakePointerVisibleMask = 0x00000010,
+ MemoryAccessMakePointerVisibleKHRMask = 0x00000010,
+ MemoryAccessNonPrivatePointerMask = 0x00000020,
+ MemoryAccessNonPrivatePointerKHRMask = 0x00000020,
+};
+
+enum Scope {
+ ScopeCrossDevice = 0,
+ ScopeDevice = 1,
+ ScopeWorkgroup = 2,
+ ScopeSubgroup = 3,
+ ScopeInvocation = 4,
+ ScopeQueueFamily = 5,
+ ScopeQueueFamilyKHR = 5,
+ ScopeShaderCallKHR = 6,
+ ScopeMax = 0x7fffffff,
+};
+
+enum GroupOperation {
+ GroupOperationReduce = 0,
+ GroupOperationInclusiveScan = 1,
+ GroupOperationExclusiveScan = 2,
+ GroupOperationClusteredReduce = 3,
+ GroupOperationPartitionedReduceNV = 6,
+ GroupOperationPartitionedInclusiveScanNV = 7,
+ GroupOperationPartitionedExclusiveScanNV = 8,
+ GroupOperationMax = 0x7fffffff,
+};
+
+enum KernelEnqueueFlags {
+ KernelEnqueueFlagsNoWait = 0,
+ KernelEnqueueFlagsWaitKernel = 1,
+ KernelEnqueueFlagsWaitWorkGroup = 2,
+ KernelEnqueueFlagsMax = 0x7fffffff,
+};
+
+enum KernelProfilingInfoShift {
+ KernelProfilingInfoCmdExecTimeShift = 0,
+ KernelProfilingInfoMax = 0x7fffffff,
+};
+
+enum KernelProfilingInfoMask {
+ KernelProfilingInfoMaskNone = 0,
+ KernelProfilingInfoCmdExecTimeMask = 0x00000001,
+};
+
+enum Capability {
+ CapabilityMatrix = 0,
+ CapabilityShader = 1,
+ CapabilityGeometry = 2,
+ CapabilityTessellation = 3,
+ CapabilityAddresses = 4,
+ CapabilityLinkage = 5,
+ CapabilityKernel = 6,
+ CapabilityVector16 = 7,
+ CapabilityFloat16Buffer = 8,
+ CapabilityFloat16 = 9,
+ CapabilityFloat64 = 10,
+ CapabilityInt64 = 11,
+ CapabilityInt64Atomics = 12,
+ CapabilityImageBasic = 13,
+ CapabilityImageReadWrite = 14,
+ CapabilityImageMipmap = 15,
+ CapabilityPipes = 17,
+ CapabilityGroups = 18,
+ CapabilityDeviceEnqueue = 19,
+ CapabilityLiteralSampler = 20,
+ CapabilityAtomicStorage = 21,
+ CapabilityInt16 = 22,
+ CapabilityTessellationPointSize = 23,
+ CapabilityGeometryPointSize = 24,
+ CapabilityImageGatherExtended = 25,
+ CapabilityStorageImageMultisample = 27,
+ CapabilityUniformBufferArrayDynamicIndexing = 28,
+ CapabilitySampledImageArrayDynamicIndexing = 29,
+ CapabilityStorageBufferArrayDynamicIndexing = 30,
+ CapabilityStorageImageArrayDynamicIndexing = 31,
+ CapabilityClipDistance = 32,
+ CapabilityCullDistance = 33,
+ CapabilityImageCubeArray = 34,
+ CapabilitySampleRateShading = 35,
+ CapabilityImageRect = 36,
+ CapabilitySampledRect = 37,
+ CapabilityGenericPointer = 38,
+ CapabilityInt8 = 39,
+ CapabilityInputAttachment = 40,
+ CapabilitySparseResidency = 41,
+ CapabilityMinLod = 42,
+ CapabilitySampled1D = 43,
+ CapabilityImage1D = 44,
+ CapabilitySampledCubeArray = 45,
+ CapabilitySampledBuffer = 46,
+ CapabilityImageBuffer = 47,
+ CapabilityImageMSArray = 48,
+ CapabilityStorageImageExtendedFormats = 49,
+ CapabilityImageQuery = 50,
+ CapabilityDerivativeControl = 51,
+ CapabilityInterpolationFunction = 52,
+ CapabilityTransformFeedback = 53,
+ CapabilityGeometryStreams = 54,
+ CapabilityStorageImageReadWithoutFormat = 55,
+ CapabilityStorageImageWriteWithoutFormat = 56,
+ CapabilityMultiViewport = 57,
+ CapabilitySubgroupDispatch = 58,
+ CapabilityNamedBarrier = 59,
+ CapabilityPipeStorage = 60,
+ CapabilityGroupNonUniform = 61,
+ CapabilityGroupNonUniformVote = 62,
+ CapabilityGroupNonUniformArithmetic = 63,
+ CapabilityGroupNonUniformBallot = 64,
+ CapabilityGroupNonUniformShuffle = 65,
+ CapabilityGroupNonUniformShuffleRelative = 66,
+ CapabilityGroupNonUniformClustered = 67,
+ CapabilityGroupNonUniformQuad = 68,
+ CapabilityShaderLayer = 69,
+ CapabilityShaderViewportIndex = 70,
+ CapabilityUniformDecoration = 71,
+ CapabilityFragmentShadingRateKHR = 4422,
+ CapabilitySubgroupBallotKHR = 4423,
+ CapabilityDrawParameters = 4427,
+ CapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
+ CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
+ CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
+ CapabilitySubgroupVoteKHR = 4431,
+ CapabilityStorageBuffer16BitAccess = 4433,
+ CapabilityStorageUniformBufferBlock16 = 4433,
+ CapabilityStorageUniform16 = 4434,
+ CapabilityUniformAndStorageBuffer16BitAccess = 4434,
+ CapabilityStoragePushConstant16 = 4435,
+ CapabilityStorageInputOutput16 = 4436,
+ CapabilityDeviceGroup = 4437,
+ CapabilityMultiView = 4439,
+ CapabilityVariablePointersStorageBuffer = 4441,
+ CapabilityVariablePointers = 4442,
+ CapabilityAtomicStorageOps = 4445,
+ CapabilitySampleMaskPostDepthCoverage = 4447,
+ CapabilityStorageBuffer8BitAccess = 4448,
+ CapabilityUniformAndStorageBuffer8BitAccess = 4449,
+ CapabilityStoragePushConstant8 = 4450,
+ CapabilityDenormPreserve = 4464,
+ CapabilityDenormFlushToZero = 4465,
+ CapabilitySignedZeroInfNanPreserve = 4466,
+ CapabilityRoundingModeRTE = 4467,
+ CapabilityRoundingModeRTZ = 4468,
+ CapabilityRayQueryProvisionalKHR = 4471,
+ CapabilityRayQueryKHR = 4472,
+ CapabilityRayTraversalPrimitiveCullingKHR = 4478,
+ CapabilityRayTracingKHR = 4479,
+ CapabilityFloat16ImageAMD = 5008,
+ CapabilityImageGatherBiasLodAMD = 5009,
+ CapabilityFragmentMaskAMD = 5010,
+ CapabilityStencilExportEXT = 5013,
+ CapabilityImageReadWriteLodAMD = 5015,
+ CapabilityInt64ImageEXT = 5016,
+ CapabilityShaderClockKHR = 5055,
+ CapabilitySampleMaskOverrideCoverageNV = 5249,
+ CapabilityGeometryShaderPassthroughNV = 5251,
+ CapabilityShaderViewportIndexLayerEXT = 5254,
+ CapabilityShaderViewportIndexLayerNV = 5254,
+ CapabilityShaderViewportMaskNV = 5255,
+ CapabilityShaderStereoViewNV = 5259,
+ CapabilityPerViewAttributesNV = 5260,
+ CapabilityFragmentFullyCoveredEXT = 5265,
+ CapabilityMeshShadingNV = 5266,
+ CapabilityImageFootprintNV = 5282,
+ CapabilityFragmentBarycentricKHR = 5284,
+ CapabilityFragmentBarycentricNV = 5284,
+ CapabilityComputeDerivativeGroupQuadsNV = 5288,
+ CapabilityFragmentDensityEXT = 5291,
+ CapabilityShadingRateNV = 5291,
+ CapabilityGroupNonUniformPartitionedNV = 5297,
+ CapabilityShaderNonUniform = 5301,
+ CapabilityShaderNonUniformEXT = 5301,
+ CapabilityRuntimeDescriptorArray = 5302,
+ CapabilityRuntimeDescriptorArrayEXT = 5302,
+ CapabilityInputAttachmentArrayDynamicIndexing = 5303,
+ CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
+ CapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
+ CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
+ CapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
+ CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
+ CapabilityUniformBufferArrayNonUniformIndexing = 5306,
+ CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
+ CapabilitySampledImageArrayNonUniformIndexing = 5307,
+ CapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
+ CapabilityStorageBufferArrayNonUniformIndexing = 5308,
+ CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
+ CapabilityStorageImageArrayNonUniformIndexing = 5309,
+ CapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
+ CapabilityInputAttachmentArrayNonUniformIndexing = 5310,
+ CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
+ CapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
+ CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
+ CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
+ CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+ CapabilityRayTracingNV = 5340,
+ CapabilityRayTracingMotionBlurNV = 5341,
+ CapabilityVulkanMemoryModel = 5345,
+ CapabilityVulkanMemoryModelKHR = 5345,
+ CapabilityVulkanMemoryModelDeviceScope = 5346,
+ CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
+ CapabilityPhysicalStorageBufferAddresses = 5347,
+ CapabilityPhysicalStorageBufferAddressesEXT = 5347,
+ CapabilityComputeDerivativeGroupLinearNV = 5350,
+ CapabilityRayTracingProvisionalKHR = 5353,
+ CapabilityCooperativeMatrixNV = 5357,
+ CapabilityFragmentShaderSampleInterlockEXT = 5363,
+ CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
+ CapabilityShaderSMBuiltinsNV = 5373,
+ CapabilityFragmentShaderPixelInterlockEXT = 5378,
+ CapabilityDemoteToHelperInvocation = 5379,
+ CapabilityDemoteToHelperInvocationEXT = 5379,
+ CapabilityBindlessTextureNV = 5390,
+ CapabilitySubgroupShuffleINTEL = 5568,
+ CapabilitySubgroupBufferBlockIOINTEL = 5569,
+ CapabilitySubgroupImageBlockIOINTEL = 5570,
+ CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
+ CapabilityRoundToInfinityINTEL = 5582,
+ CapabilityFloatingPointModeINTEL = 5583,
+ CapabilityIntegerFunctions2INTEL = 5584,
+ CapabilityFunctionPointersINTEL = 5603,
+ CapabilityIndirectReferencesINTEL = 5604,
+ CapabilityAsmINTEL = 5606,
+ CapabilityAtomicFloat32MinMaxEXT = 5612,
+ CapabilityAtomicFloat64MinMaxEXT = 5613,
+ CapabilityAtomicFloat16MinMaxEXT = 5616,
+ CapabilityVectorComputeINTEL = 5617,
+ CapabilityVectorAnyINTEL = 5619,
+ CapabilityExpectAssumeKHR = 5629,
+ CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
+ CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
+ CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
+ CapabilityVariableLengthArrayINTEL = 5817,
+ CapabilityFunctionFloatControlINTEL = 5821,
+ CapabilityFPGAMemoryAttributesINTEL = 5824,
+ CapabilityFPFastMathModeINTEL = 5837,
+ CapabilityArbitraryPrecisionIntegersINTEL = 5844,
+ CapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
+ CapabilityUnstructuredLoopControlsINTEL = 5886,
+ CapabilityFPGALoopControlsINTEL = 5888,
+ CapabilityKernelAttributesINTEL = 5892,
+ CapabilityFPGAKernelAttributesINTEL = 5897,
+ CapabilityFPGAMemoryAccessesINTEL = 5898,
+ CapabilityFPGAClusterAttributesINTEL = 5904,
+ CapabilityLoopFuseINTEL = 5906,
+ CapabilityFPGABufferLocationINTEL = 5920,
+ CapabilityArbitraryPrecisionFixedPointINTEL = 5922,
+ CapabilityUSMStorageClassesINTEL = 5935,
+ CapabilityIOPipesINTEL = 5943,
+ CapabilityBlockingPipesINTEL = 5945,
+ CapabilityFPGARegINTEL = 5948,
+ CapabilityDotProductInputAll = 6016,
+ CapabilityDotProductInputAllKHR = 6016,
+ CapabilityDotProductInput4x8Bit = 6017,
+ CapabilityDotProductInput4x8BitKHR = 6017,
+ CapabilityDotProductInput4x8BitPacked = 6018,
+ CapabilityDotProductInput4x8BitPackedKHR = 6018,
+ CapabilityDotProduct = 6019,
+ CapabilityDotProductKHR = 6019,
+ CapabilityBitInstructions = 6025,
+ CapabilityAtomicFloat32AddEXT = 6033,
+ CapabilityAtomicFloat64AddEXT = 6034,
+ CapabilityLongConstantCompositeINTEL = 6089,
+ CapabilityOptNoneINTEL = 6094,
+ CapabilityAtomicFloat16AddEXT = 6095,
+ CapabilityDebugInfoModuleINTEL = 6114,
+ CapabilityMax = 0x7fffffff,
+};
+
+enum RayFlagsShift {
+ RayFlagsOpaqueKHRShift = 0,
+ RayFlagsNoOpaqueKHRShift = 1,
+ RayFlagsTerminateOnFirstHitKHRShift = 2,
+ RayFlagsSkipClosestHitShaderKHRShift = 3,
+ RayFlagsCullBackFacingTrianglesKHRShift = 4,
+ RayFlagsCullFrontFacingTrianglesKHRShift = 5,
+ RayFlagsCullOpaqueKHRShift = 6,
+ RayFlagsCullNoOpaqueKHRShift = 7,
+ RayFlagsSkipTrianglesKHRShift = 8,
+ RayFlagsSkipAABBsKHRShift = 9,
+ RayFlagsMax = 0x7fffffff,
+};
+
+enum RayFlagsMask {
+ RayFlagsMaskNone = 0,
+ RayFlagsOpaqueKHRMask = 0x00000001,
+ RayFlagsNoOpaqueKHRMask = 0x00000002,
+ RayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
+ RayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
+ RayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
+ RayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
+ RayFlagsCullOpaqueKHRMask = 0x00000040,
+ RayFlagsCullNoOpaqueKHRMask = 0x00000080,
+ RayFlagsSkipTrianglesKHRMask = 0x00000100,
+ RayFlagsSkipAABBsKHRMask = 0x00000200,
+};
+
+enum RayQueryIntersection {
+ RayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
+ RayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
+ RayQueryIntersectionMax = 0x7fffffff,
+};
+
+enum RayQueryCommittedIntersectionType {
+ RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
+ RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
+ RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
+ RayQueryCommittedIntersectionTypeMax = 0x7fffffff,
+};
+
+enum RayQueryCandidateIntersectionType {
+ RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
+ RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
+ RayQueryCandidateIntersectionTypeMax = 0x7fffffff,
+};
+
+enum FragmentShadingRateShift {
+ FragmentShadingRateVertical2PixelsShift = 0,
+ FragmentShadingRateVertical4PixelsShift = 1,
+ FragmentShadingRateHorizontal2PixelsShift = 2,
+ FragmentShadingRateHorizontal4PixelsShift = 3,
+ FragmentShadingRateMax = 0x7fffffff,
+};
+
+enum FragmentShadingRateMask {
+ FragmentShadingRateMaskNone = 0,
+ FragmentShadingRateVertical2PixelsMask = 0x00000001,
+ FragmentShadingRateVertical4PixelsMask = 0x00000002,
+ FragmentShadingRateHorizontal2PixelsMask = 0x00000004,
+ FragmentShadingRateHorizontal4PixelsMask = 0x00000008,
+};
+
+enum FPDenormMode {
+ FPDenormModePreserve = 0,
+ FPDenormModeFlushToZero = 1,
+ FPDenormModeMax = 0x7fffffff,
+};
+
+enum FPOperationMode {
+ FPOperationModeIEEE = 0,
+ FPOperationModeALT = 1,
+ FPOperationModeMax = 0x7fffffff,
+};
+
+enum QuantizationModes {
+ QuantizationModesTRN = 0,
+ QuantizationModesTRN_ZERO = 1,
+ QuantizationModesRND = 2,
+ QuantizationModesRND_ZERO = 3,
+ QuantizationModesRND_INF = 4,
+ QuantizationModesRND_MIN_INF = 5,
+ QuantizationModesRND_CONV = 6,
+ QuantizationModesRND_CONV_ODD = 7,
+ QuantizationModesMax = 0x7fffffff,
+};
+
+enum OverflowModes {
+ OverflowModesWRAP = 0,
+ OverflowModesSAT = 1,
+ OverflowModesSAT_ZERO = 2,
+ OverflowModesSAT_SYM = 3,
+ OverflowModesMax = 0x7fffffff,
+};
+
+enum PackedVectorFormat {
+ PackedVectorFormatPackedVectorFormat4x8Bit = 0,
+ PackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
+ PackedVectorFormatMax = 0x7fffffff,
+};
+
+enum Op {
+ OpNop = 0,
+ OpUndef = 1,
+ OpSourceContinued = 2,
+ OpSource = 3,
+ OpSourceExtension = 4,
+ OpName = 5,
+ OpMemberName = 6,
+ OpString = 7,
+ OpLine = 8,
+ OpExtension = 10,
+ OpExtInstImport = 11,
+ OpExtInst = 12,
+ OpMemoryModel = 14,
+ OpEntryPoint = 15,
+ OpExecutionMode = 16,
+ OpCapability = 17,
+ OpTypeVoid = 19,
+ OpTypeBool = 20,
+ OpTypeInt = 21,
+ OpTypeFloat = 22,
+ OpTypeVector = 23,
+ OpTypeMatrix = 24,
+ OpTypeImage = 25,
+ OpTypeSampler = 26,
+ OpTypeSampledImage = 27,
+ OpTypeArray = 28,
+ OpTypeRuntimeArray = 29,
+ OpTypeStruct = 30,
+ OpTypeOpaque = 31,
+ OpTypePointer = 32,
+ OpTypeFunction = 33,
+ OpTypeEvent = 34,
+ OpTypeDeviceEvent = 35,
+ OpTypeReserveId = 36,
+ OpTypeQueue = 37,
+ OpTypePipe = 38,
+ OpTypeForwardPointer = 39,
+ OpConstantTrue = 41,
+ OpConstantFalse = 42,
+ OpConstant = 43,
+ OpConstantComposite = 44,
+ OpConstantSampler = 45,
+ OpConstantNull = 46,
+ OpSpecConstantTrue = 48,
+ OpSpecConstantFalse = 49,
+ OpSpecConstant = 50,
+ OpSpecConstantComposite = 51,
+ OpSpecConstantOp = 52,
+ OpFunction = 54,
+ OpFunctionParameter = 55,
+ OpFunctionEnd = 56,
+ OpFunctionCall = 57,
+ OpVariable = 59,
+ OpImageTexelPointer = 60,
+ OpLoad = 61,
+ OpStore = 62,
+ OpCopyMemory = 63,
+ OpCopyMemorySized = 64,
+ OpAccessChain = 65,
+ OpInBoundsAccessChain = 66,
+ OpPtrAccessChain = 67,
+ OpArrayLength = 68,
+ OpGenericPtrMemSemantics = 69,
+ OpInBoundsPtrAccessChain = 70,
+ OpDecorate = 71,
+ OpMemberDecorate = 72,
+ OpDecorationGroup = 73,
+ OpGroupDecorate = 74,
+ OpGroupMemberDecorate = 75,
+ OpVectorExtractDynamic = 77,
+ OpVectorInsertDynamic = 78,
+ OpVectorShuffle = 79,
+ OpCompositeConstruct = 80,
+ OpCompositeExtract = 81,
+ OpCompositeInsert = 82,
+ OpCopyObject = 83,
+ OpTranspose = 84,
+ OpSampledImage = 86,
+ OpImageSampleImplicitLod = 87,
+ OpImageSampleExplicitLod = 88,
+ OpImageSampleDrefImplicitLod = 89,
+ OpImageSampleDrefExplicitLod = 90,
+ OpImageSampleProjImplicitLod = 91,
+ OpImageSampleProjExplicitLod = 92,
+ OpImageSampleProjDrefImplicitLod = 93,
+ OpImageSampleProjDrefExplicitLod = 94,
+ OpImageFetch = 95,
+ OpImageGather = 96,
+ OpImageDrefGather = 97,
+ OpImageRead = 98,
+ OpImageWrite = 99,
+ OpImage = 100,
+ OpImageQueryFormat = 101,
+ OpImageQueryOrder = 102,
+ OpImageQuerySizeLod = 103,
+ OpImageQuerySize = 104,
+ OpImageQueryLod = 105,
+ OpImageQueryLevels = 106,
+ OpImageQuerySamples = 107,
+ OpConvertFToU = 109,
+ OpConvertFToS = 110,
+ OpConvertSToF = 111,
+ OpConvertUToF = 112,
+ OpUConvert = 113,
+ OpSConvert = 114,
+ OpFConvert = 115,
+ OpQuantizeToF16 = 116,
+ OpConvertPtrToU = 117,
+ OpSatConvertSToU = 118,
+ OpSatConvertUToS = 119,
+ OpConvertUToPtr = 120,
+ OpPtrCastToGeneric = 121,
+ OpGenericCastToPtr = 122,
+ OpGenericCastToPtrExplicit = 123,
+ OpBitcast = 124,
+ OpSNegate = 126,
+ OpFNegate = 127,
+ OpIAdd = 128,
+ OpFAdd = 129,
+ OpISub = 130,
+ OpFSub = 131,
+ OpIMul = 132,
+ OpFMul = 133,
+ OpUDiv = 134,
+ OpSDiv = 135,
+ OpFDiv = 136,
+ OpUMod = 137,
+ OpSRem = 138,
+ OpSMod = 139,
+ OpFRem = 140,
+ OpFMod = 141,
+ OpVectorTimesScalar = 142,
+ OpMatrixTimesScalar = 143,
+ OpVectorTimesMatrix = 144,
+ OpMatrixTimesVector = 145,
+ OpMatrixTimesMatrix = 146,
+ OpOuterProduct = 147,
+ OpDot = 148,
+ OpIAddCarry = 149,
+ OpISubBorrow = 150,
+ OpUMulExtended = 151,
+ OpSMulExtended = 152,
+ OpAny = 154,
+ OpAll = 155,
+ OpIsNan = 156,
+ OpIsInf = 157,
+ OpIsFinite = 158,
+ OpIsNormal = 159,
+ OpSignBitSet = 160,
+ OpLessOrGreater = 161,
+ OpOrdered = 162,
+ OpUnordered = 163,
+ OpLogicalEqual = 164,
+ OpLogicalNotEqual = 165,
+ OpLogicalOr = 166,
+ OpLogicalAnd = 167,
+ OpLogicalNot = 168,
+ OpSelect = 169,
+ OpIEqual = 170,
+ OpINotEqual = 171,
+ OpUGreaterThan = 172,
+ OpSGreaterThan = 173,
+ OpUGreaterThanEqual = 174,
+ OpSGreaterThanEqual = 175,
+ OpULessThan = 176,
+ OpSLessThan = 177,
+ OpULessThanEqual = 178,
+ OpSLessThanEqual = 179,
+ OpFOrdEqual = 180,
+ OpFUnordEqual = 181,
+ OpFOrdNotEqual = 182,
+ OpFUnordNotEqual = 183,
+ OpFOrdLessThan = 184,
+ OpFUnordLessThan = 185,
+ OpFOrdGreaterThan = 186,
+ OpFUnordGreaterThan = 187,
+ OpFOrdLessThanEqual = 188,
+ OpFUnordLessThanEqual = 189,
+ OpFOrdGreaterThanEqual = 190,
+ OpFUnordGreaterThanEqual = 191,
+ OpShiftRightLogical = 194,
+ OpShiftRightArithmetic = 195,
+ OpShiftLeftLogical = 196,
+ OpBitwiseOr = 197,
+ OpBitwiseXor = 198,
+ OpBitwiseAnd = 199,
+ OpNot = 200,
+ OpBitFieldInsert = 201,
+ OpBitFieldSExtract = 202,
+ OpBitFieldUExtract = 203,
+ OpBitReverse = 204,
+ OpBitCount = 205,
+ OpDPdx = 207,
+ OpDPdy = 208,
+ OpFwidth = 209,
+ OpDPdxFine = 210,
+ OpDPdyFine = 211,
+ OpFwidthFine = 212,
+ OpDPdxCoarse = 213,
+ OpDPdyCoarse = 214,
+ OpFwidthCoarse = 215,
+ OpEmitVertex = 218,
+ OpEndPrimitive = 219,
+ OpEmitStreamVertex = 220,
+ OpEndStreamPrimitive = 221,
+ OpControlBarrier = 224,
+ OpMemoryBarrier = 225,
+ OpAtomicLoad = 227,
+ OpAtomicStore = 228,
+ OpAtomicExchange = 229,
+ OpAtomicCompareExchange = 230,
+ OpAtomicCompareExchangeWeak = 231,
+ OpAtomicIIncrement = 232,
+ OpAtomicIDecrement = 233,
+ OpAtomicIAdd = 234,
+ OpAtomicISub = 235,
+ OpAtomicSMin = 236,
+ OpAtomicUMin = 237,
+ OpAtomicSMax = 238,
+ OpAtomicUMax = 239,
+ OpAtomicAnd = 240,
+ OpAtomicOr = 241,
+ OpAtomicXor = 242,
+ OpPhi = 245,
+ OpLoopMerge = 246,
+ OpSelectionMerge = 247,
+ OpLabel = 248,
+ OpBranch = 249,
+ OpBranchConditional = 250,
+ OpSwitch = 251,
+ OpKill = 252,
+ OpReturn = 253,
+ OpReturnValue = 254,
+ OpUnreachable = 255,
+ OpLifetimeStart = 256,
+ OpLifetimeStop = 257,
+ OpGroupAsyncCopy = 259,
+ OpGroupWaitEvents = 260,
+ OpGroupAll = 261,
+ OpGroupAny = 262,
+ OpGroupBroadcast = 263,
+ OpGroupIAdd = 264,
+ OpGroupFAdd = 265,
+ OpGroupFMin = 266,
+ OpGroupUMin = 267,
+ OpGroupSMin = 268,
+ OpGroupFMax = 269,
+ OpGroupUMax = 270,
+ OpGroupSMax = 271,
+ OpReadPipe = 274,
+ OpWritePipe = 275,
+ OpReservedReadPipe = 276,
+ OpReservedWritePipe = 277,
+ OpReserveReadPipePackets = 278,
+ OpReserveWritePipePackets = 279,
+ OpCommitReadPipe = 280,
+ OpCommitWritePipe = 281,
+ OpIsValidReserveId = 282,
+ OpGetNumPipePackets = 283,
+ OpGetMaxPipePackets = 284,
+ OpGroupReserveReadPipePackets = 285,
+ OpGroupReserveWritePipePackets = 286,
+ OpGroupCommitReadPipe = 287,
+ OpGroupCommitWritePipe = 288,
+ OpEnqueueMarker = 291,
+ OpEnqueueKernel = 292,
+ OpGetKernelNDrangeSubGroupCount = 293,
+ OpGetKernelNDrangeMaxSubGroupSize = 294,
+ OpGetKernelWorkGroupSize = 295,
+ OpGetKernelPreferredWorkGroupSizeMultiple = 296,
+ OpRetainEvent = 297,
+ OpReleaseEvent = 298,
+ OpCreateUserEvent = 299,
+ OpIsValidEvent = 300,
+ OpSetUserEventStatus = 301,
+ OpCaptureEventProfilingInfo = 302,
+ OpGetDefaultQueue = 303,
+ OpBuildNDRange = 304,
+ OpImageSparseSampleImplicitLod = 305,
+ OpImageSparseSampleExplicitLod = 306,
+ OpImageSparseSampleDrefImplicitLod = 307,
+ OpImageSparseSampleDrefExplicitLod = 308,
+ OpImageSparseSampleProjImplicitLod = 309,
+ OpImageSparseSampleProjExplicitLod = 310,
+ OpImageSparseSampleProjDrefImplicitLod = 311,
+ OpImageSparseSampleProjDrefExplicitLod = 312,
+ OpImageSparseFetch = 313,
+ OpImageSparseGather = 314,
+ OpImageSparseDrefGather = 315,
+ OpImageSparseTexelsResident = 316,
+ OpNoLine = 317,
+ OpAtomicFlagTestAndSet = 318,
+ OpAtomicFlagClear = 319,
+ OpImageSparseRead = 320,
+ OpSizeOf = 321,
+ OpTypePipeStorage = 322,
+ OpConstantPipeStorage = 323,
+ OpCreatePipeFromPipeStorage = 324,
+ OpGetKernelLocalSizeForSubgroupCount = 325,
+ OpGetKernelMaxNumSubgroups = 326,
+ OpTypeNamedBarrier = 327,
+ OpNamedBarrierInitialize = 328,
+ OpMemoryNamedBarrier = 329,
+ OpModuleProcessed = 330,
+ OpExecutionModeId = 331,
+ OpDecorateId = 332,
+ OpGroupNonUniformElect = 333,
+ OpGroupNonUniformAll = 334,
+ OpGroupNonUniformAny = 335,
+ OpGroupNonUniformAllEqual = 336,
+ OpGroupNonUniformBroadcast = 337,
+ OpGroupNonUniformBroadcastFirst = 338,
+ OpGroupNonUniformBallot = 339,
+ OpGroupNonUniformInverseBallot = 340,
+ OpGroupNonUniformBallotBitExtract = 341,
+ OpGroupNonUniformBallotBitCount = 342,
+ OpGroupNonUniformBallotFindLSB = 343,
+ OpGroupNonUniformBallotFindMSB = 344,
+ OpGroupNonUniformShuffle = 345,
+ OpGroupNonUniformShuffleXor = 346,
+ OpGroupNonUniformShuffleUp = 347,
+ OpGroupNonUniformShuffleDown = 348,
+ OpGroupNonUniformIAdd = 349,
+ OpGroupNonUniformFAdd = 350,
+ OpGroupNonUniformIMul = 351,
+ OpGroupNonUniformFMul = 352,
+ OpGroupNonUniformSMin = 353,
+ OpGroupNonUniformUMin = 354,
+ OpGroupNonUniformFMin = 355,
+ OpGroupNonUniformSMax = 356,
+ OpGroupNonUniformUMax = 357,
+ OpGroupNonUniformFMax = 358,
+ OpGroupNonUniformBitwiseAnd = 359,
+ OpGroupNonUniformBitwiseOr = 360,
+ OpGroupNonUniformBitwiseXor = 361,
+ OpGroupNonUniformLogicalAnd = 362,
+ OpGroupNonUniformLogicalOr = 363,
+ OpGroupNonUniformLogicalXor = 364,
+ OpGroupNonUniformQuadBroadcast = 365,
+ OpGroupNonUniformQuadSwap = 366,
+ OpCopyLogical = 400,
+ OpPtrEqual = 401,
+ OpPtrNotEqual = 402,
+ OpPtrDiff = 403,
+ OpTerminateInvocation = 4416,
+ OpSubgroupBallotKHR = 4421,
+ OpSubgroupFirstInvocationKHR = 4422,
+ OpSubgroupAllKHR = 4428,
+ OpSubgroupAnyKHR = 4429,
+ OpSubgroupAllEqualKHR = 4430,
+ OpSubgroupReadInvocationKHR = 4432,
+ OpTraceRayKHR = 4445,
+ OpExecuteCallableKHR = 4446,
+ OpConvertUToAccelerationStructureKHR = 4447,
+ OpIgnoreIntersectionKHR = 4448,
+ OpTerminateRayKHR = 4449,
+ OpSDot = 4450,
+ OpSDotKHR = 4450,
+ OpUDot = 4451,
+ OpUDotKHR = 4451,
+ OpSUDot = 4452,
+ OpSUDotKHR = 4452,
+ OpSDotAccSat = 4453,
+ OpSDotAccSatKHR = 4453,
+ OpUDotAccSat = 4454,
+ OpUDotAccSatKHR = 4454,
+ OpSUDotAccSat = 4455,
+ OpSUDotAccSatKHR = 4455,
+ OpTypeRayQueryKHR = 4472,
+ OpRayQueryInitializeKHR = 4473,
+ OpRayQueryTerminateKHR = 4474,
+ OpRayQueryGenerateIntersectionKHR = 4475,
+ OpRayQueryConfirmIntersectionKHR = 4476,
+ OpRayQueryProceedKHR = 4477,
+ OpRayQueryGetIntersectionTypeKHR = 4479,
+ OpGroupIAddNonUniformAMD = 5000,
+ OpGroupFAddNonUniformAMD = 5001,
+ OpGroupFMinNonUniformAMD = 5002,
+ OpGroupUMinNonUniformAMD = 5003,
+ OpGroupSMinNonUniformAMD = 5004,
+ OpGroupFMaxNonUniformAMD = 5005,
+ OpGroupUMaxNonUniformAMD = 5006,
+ OpGroupSMaxNonUniformAMD = 5007,
+ OpFragmentMaskFetchAMD = 5011,
+ OpFragmentFetchAMD = 5012,
+ OpReadClockKHR = 5056,
+ OpImageSampleFootprintNV = 5283,
+ OpGroupNonUniformPartitionNV = 5296,
+ OpWritePackedPrimitiveIndices4x8NV = 5299,
+ OpReportIntersectionKHR = 5334,
+ OpReportIntersectionNV = 5334,
+ OpIgnoreIntersectionNV = 5335,
+ OpTerminateRayNV = 5336,
+ OpTraceNV = 5337,
+ OpTraceMotionNV = 5338,
+ OpTraceRayMotionNV = 5339,
+ OpTypeAccelerationStructureKHR = 5341,
+ OpTypeAccelerationStructureNV = 5341,
+ OpExecuteCallableNV = 5344,
+ OpTypeCooperativeMatrixNV = 5358,
+ OpCooperativeMatrixLoadNV = 5359,
+ OpCooperativeMatrixStoreNV = 5360,
+ OpCooperativeMatrixMulAddNV = 5361,
+ OpCooperativeMatrixLengthNV = 5362,
+ OpBeginInvocationInterlockEXT = 5364,
+ OpEndInvocationInterlockEXT = 5365,
+ OpDemoteToHelperInvocation = 5380,
+ OpDemoteToHelperInvocationEXT = 5380,
+ OpIsHelperInvocationEXT = 5381,
+ OpConvertUToImageNV = 5391,
+ OpConvertUToSamplerNV = 5392,
+ OpConvertImageToUNV = 5393,
+ OpConvertSamplerToUNV = 5394,
+ OpConvertUToSampledImageNV = 5395,
+ OpConvertSampledImageToUNV = 5396,
+ OpSamplerImageAddressingModeNV = 5397,
+ OpSubgroupShuffleINTEL = 5571,
+ OpSubgroupShuffleDownINTEL = 5572,
+ OpSubgroupShuffleUpINTEL = 5573,
+ OpSubgroupShuffleXorINTEL = 5574,
+ OpSubgroupBlockReadINTEL = 5575,
+ OpSubgroupBlockWriteINTEL = 5576,
+ OpSubgroupImageBlockReadINTEL = 5577,
+ 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,
+ OpConstantFunctionPointerINTEL = 5600,
+ OpFunctionPointerCallINTEL = 5601,
+ OpAsmTargetINTEL = 5609,
+ OpAsmINTEL = 5610,
+ OpAsmCallINTEL = 5611,
+ OpAtomicFMinEXT = 5614,
+ OpAtomicFMaxEXT = 5615,
+ OpAssumeTrueKHR = 5630,
+ OpExpectKHR = 5631,
+ OpDecorateString = 5632,
+ OpDecorateStringGOOGLE = 5632,
+ OpMemberDecorateString = 5633,
+ OpMemberDecorateStringGOOGLE = 5633,
+ OpVmeImageINTEL = 5699,
+ OpTypeVmeImageINTEL = 5700,
+ OpTypeAvcImePayloadINTEL = 5701,
+ OpTypeAvcRefPayloadINTEL = 5702,
+ OpTypeAvcSicPayloadINTEL = 5703,
+ OpTypeAvcMcePayloadINTEL = 5704,
+ OpTypeAvcMceResultINTEL = 5705,
+ OpTypeAvcImeResultINTEL = 5706,
+ OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
+ OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
+ OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
+ OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
+ OpTypeAvcRefResultINTEL = 5711,
+ OpTypeAvcSicResultINTEL = 5712,
+ OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
+ OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
+ OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
+ OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
+ OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
+ OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
+ OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
+ OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
+ OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
+ OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
+ OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
+ OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
+ OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
+ OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
+ OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
+ OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
+ OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
+ OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
+ OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
+ OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
+ OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
+ OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
+ OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
+ OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
+ OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
+ OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
+ OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
+ OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
+ OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
+ OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
+ OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
+ OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
+ OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
+ OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
+ OpSubgroupAvcImeInitializeINTEL = 5747,
+ OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
+ OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
+ OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
+ OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
+ OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
+ OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
+ OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
+ OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
+ OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
+ OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
+ OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
+ OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
+ OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
+ OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
+ OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
+ OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
+ OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
+ OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
+ OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
+ OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
+ OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
+ OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
+ OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
+ OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
+ OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
+ OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
+ OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
+ OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
+ OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
+ OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
+ OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
+ OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
+ OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
+ OpSubgroupAvcFmeInitializeINTEL = 5781,
+ OpSubgroupAvcBmeInitializeINTEL = 5782,
+ OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
+ OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
+ OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
+ OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
+ OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
+ OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
+ OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
+ OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
+ OpSubgroupAvcSicInitializeINTEL = 5791,
+ OpSubgroupAvcSicConfigureSkcINTEL = 5792,
+ OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
+ OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
+ OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
+ OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
+ OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
+ OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
+ OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
+ OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
+ OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
+ OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
+ OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
+ OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
+ OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
+ OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
+ OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
+ OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
+ OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
+ OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
+ OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
+ OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
+ OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
+ OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
+ OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
+ OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
+ OpVariableLengthArrayINTEL = 5818,
+ OpSaveMemoryINTEL = 5819,
+ OpRestoreMemoryINTEL = 5820,
+ OpArbitraryFloatSinCosPiINTEL = 5840,
+ OpArbitraryFloatCastINTEL = 5841,
+ OpArbitraryFloatCastFromIntINTEL = 5842,
+ OpArbitraryFloatCastToIntINTEL = 5843,
+ OpArbitraryFloatAddINTEL = 5846,
+ OpArbitraryFloatSubINTEL = 5847,
+ OpArbitraryFloatMulINTEL = 5848,
+ OpArbitraryFloatDivINTEL = 5849,
+ OpArbitraryFloatGTINTEL = 5850,
+ OpArbitraryFloatGEINTEL = 5851,
+ OpArbitraryFloatLTINTEL = 5852,
+ OpArbitraryFloatLEINTEL = 5853,
+ OpArbitraryFloatEQINTEL = 5854,
+ OpArbitraryFloatRecipINTEL = 5855,
+ OpArbitraryFloatRSqrtINTEL = 5856,
+ OpArbitraryFloatCbrtINTEL = 5857,
+ OpArbitraryFloatHypotINTEL = 5858,
+ OpArbitraryFloatSqrtINTEL = 5859,
+ OpArbitraryFloatLogINTEL = 5860,
+ OpArbitraryFloatLog2INTEL = 5861,
+ OpArbitraryFloatLog10INTEL = 5862,
+ OpArbitraryFloatLog1pINTEL = 5863,
+ OpArbitraryFloatExpINTEL = 5864,
+ OpArbitraryFloatExp2INTEL = 5865,
+ OpArbitraryFloatExp10INTEL = 5866,
+ OpArbitraryFloatExpm1INTEL = 5867,
+ OpArbitraryFloatSinINTEL = 5868,
+ OpArbitraryFloatCosINTEL = 5869,
+ OpArbitraryFloatSinCosINTEL = 5870,
+ OpArbitraryFloatSinPiINTEL = 5871,
+ OpArbitraryFloatCosPiINTEL = 5872,
+ OpArbitraryFloatASinINTEL = 5873,
+ OpArbitraryFloatASinPiINTEL = 5874,
+ OpArbitraryFloatACosINTEL = 5875,
+ OpArbitraryFloatACosPiINTEL = 5876,
+ OpArbitraryFloatATanINTEL = 5877,
+ OpArbitraryFloatATanPiINTEL = 5878,
+ OpArbitraryFloatATan2INTEL = 5879,
+ OpArbitraryFloatPowINTEL = 5880,
+ OpArbitraryFloatPowRINTEL = 5881,
+ OpArbitraryFloatPowNINTEL = 5882,
+ OpLoopControlINTEL = 5887,
+ OpFixedSqrtINTEL = 5923,
+ OpFixedRecipINTEL = 5924,
+ OpFixedRsqrtINTEL = 5925,
+ OpFixedSinINTEL = 5926,
+ OpFixedCosINTEL = 5927,
+ OpFixedSinCosINTEL = 5928,
+ OpFixedSinPiINTEL = 5929,
+ OpFixedCosPiINTEL = 5930,
+ OpFixedSinCosPiINTEL = 5931,
+ OpFixedLogINTEL = 5932,
+ OpFixedExpINTEL = 5933,
+ OpPtrCastToCrossWorkgroupINTEL = 5934,
+ OpCrossWorkgroupCastToPtrINTEL = 5938,
+ OpReadPipeBlockingINTEL = 5946,
+ OpWritePipeBlockingINTEL = 5947,
+ OpFPGARegINTEL = 5949,
+ OpRayQueryGetRayTMinKHR = 6016,
+ OpRayQueryGetRayFlagsKHR = 6017,
+ OpRayQueryGetIntersectionTKHR = 6018,
+ OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
+ OpRayQueryGetIntersectionInstanceIdKHR = 6020,
+ OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
+ OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
+ OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
+ OpRayQueryGetIntersectionBarycentricsKHR = 6024,
+ OpRayQueryGetIntersectionFrontFaceKHR = 6025,
+ OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
+ OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
+ OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
+ OpRayQueryGetWorldRayDirectionKHR = 6029,
+ OpRayQueryGetWorldRayOriginKHR = 6030,
+ OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
+ OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
+ OpAtomicFAddEXT = 6035,
+ OpTypeBufferSurfaceINTEL = 6086,
+ OpTypeStructContinuedINTEL = 6090,
+ OpConstantCompositeContinuedINTEL = 6091,
+ OpSpecConstantCompositeContinuedINTEL = 6092,
+ OpMax = 0x7fffffff,
+};
+
+#ifdef SPV_ENABLE_UTILITY_CODE
+inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
+ *hasResult = *hasResultType = false;
+ switch (opcode) {
+ default: /* unknown opcode */ break;
+ case OpNop: *hasResult = false; *hasResultType = false; break;
+ case OpUndef: *hasResult = true; *hasResultType = true; break;
+ case OpSourceContinued: *hasResult = false; *hasResultType = false; break;
+ case OpSource: *hasResult = false; *hasResultType = false; break;
+ case OpSourceExtension: *hasResult = false; *hasResultType = false; break;
+ case OpName: *hasResult = false; *hasResultType = false; break;
+ case OpMemberName: *hasResult = false; *hasResultType = false; break;
+ case OpString: *hasResult = true; *hasResultType = false; break;
+ case OpLine: *hasResult = false; *hasResultType = false; break;
+ case OpExtension: *hasResult = false; *hasResultType = false; break;
+ case OpExtInstImport: *hasResult = true; *hasResultType = false; break;
+ case OpExtInst: *hasResult = true; *hasResultType = true; break;
+ case OpMemoryModel: *hasResult = false; *hasResultType = false; break;
+ case OpEntryPoint: *hasResult = false; *hasResultType = false; break;
+ case OpExecutionMode: *hasResult = false; *hasResultType = false; break;
+ case OpCapability: *hasResult = false; *hasResultType = false; break;
+ case OpTypeVoid: *hasResult = true; *hasResultType = false; break;
+ case OpTypeBool: *hasResult = true; *hasResultType = false; break;
+ case OpTypeInt: *hasResult = true; *hasResultType = false; break;
+ case OpTypeFloat: *hasResult = true; *hasResultType = false; break;
+ case OpTypeVector: *hasResult = true; *hasResultType = false; break;
+ case OpTypeMatrix: *hasResult = true; *hasResultType = false; break;
+ case OpTypeImage: *hasResult = true; *hasResultType = false; break;
+ case OpTypeSampler: *hasResult = true; *hasResultType = false; break;
+ case OpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
+ case OpTypeArray: *hasResult = true; *hasResultType = false; break;
+ case OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
+ case OpTypeStruct: *hasResult = true; *hasResultType = false; break;
+ case OpTypeOpaque: *hasResult = true; *hasResultType = false; break;
+ case OpTypePointer: *hasResult = true; *hasResultType = false; break;
+ case OpTypeFunction: *hasResult = true; *hasResultType = false; break;
+ case OpTypeEvent: *hasResult = true; *hasResultType = false; break;
+ case OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
+ case OpTypeReserveId: *hasResult = true; *hasResultType = false; break;
+ case OpTypeQueue: *hasResult = true; *hasResultType = false; break;
+ case OpTypePipe: *hasResult = true; *hasResultType = false; break;
+ case OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
+ case OpConstantTrue: *hasResult = true; *hasResultType = true; break;
+ case OpConstantFalse: *hasResult = true; *hasResultType = true; break;
+ case OpConstant: *hasResult = true; *hasResultType = true; break;
+ case OpConstantComposite: *hasResult = true; *hasResultType = true; break;
+ case OpConstantSampler: *hasResult = true; *hasResultType = true; break;
+ case OpConstantNull: *hasResult = true; *hasResultType = true; break;
+ case OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
+ case OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
+ case OpSpecConstant: *hasResult = true; *hasResultType = true; break;
+ case OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
+ case OpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
+ case OpFunction: *hasResult = true; *hasResultType = true; break;
+ case OpFunctionParameter: *hasResult = true; *hasResultType = true; break;
+ case OpFunctionEnd: *hasResult = false; *hasResultType = false; break;
+ case OpFunctionCall: *hasResult = true; *hasResultType = true; break;
+ case OpVariable: *hasResult = true; *hasResultType = true; break;
+ case OpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
+ case OpLoad: *hasResult = true; *hasResultType = true; break;
+ case OpStore: *hasResult = false; *hasResultType = false; break;
+ case OpCopyMemory: *hasResult = false; *hasResultType = false; break;
+ case OpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
+ case OpAccessChain: *hasResult = true; *hasResultType = true; break;
+ case OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
+ case OpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
+ case OpArrayLength: *hasResult = true; *hasResultType = true; break;
+ case OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
+ case OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
+ case OpDecorate: *hasResult = false; *hasResultType = false; break;
+ case OpMemberDecorate: *hasResult = false; *hasResultType = false; break;
+ case OpDecorationGroup: *hasResult = true; *hasResultType = false; break;
+ case OpGroupDecorate: *hasResult = false; *hasResultType = false; break;
+ case OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
+ case OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
+ case OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
+ case OpVectorShuffle: *hasResult = true; *hasResultType = true; break;
+ case OpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
+ case OpCompositeExtract: *hasResult = true; *hasResultType = true; break;
+ case OpCompositeInsert: *hasResult = true; *hasResultType = true; break;
+ case OpCopyObject: *hasResult = true; *hasResultType = true; break;
+ case OpTranspose: *hasResult = true; *hasResultType = true; break;
+ case OpSampledImage: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageFetch: *hasResult = true; *hasResultType = true; break;
+ case OpImageGather: *hasResult = true; *hasResultType = true; break;
+ case OpImageDrefGather: *hasResult = true; *hasResultType = true; break;
+ case OpImageRead: *hasResult = true; *hasResultType = true; break;
+ case OpImageWrite: *hasResult = false; *hasResultType = false; break;
+ case OpImage: *hasResult = true; *hasResultType = true; break;
+ case OpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
+ case OpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
+ case OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageQuerySize: *hasResult = true; *hasResultType = true; break;
+ case OpImageQueryLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
+ case OpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
+ case OpConvertFToU: *hasResult = true; *hasResultType = true; break;
+ case OpConvertFToS: *hasResult = true; *hasResultType = true; break;
+ case OpConvertSToF: *hasResult = true; *hasResultType = true; break;
+ case OpConvertUToF: *hasResult = true; *hasResultType = true; break;
+ case OpUConvert: *hasResult = true; *hasResultType = true; break;
+ case OpSConvert: *hasResult = true; *hasResultType = true; break;
+ case OpFConvert: *hasResult = true; *hasResultType = true; break;
+ case OpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
+ case OpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
+ case OpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
+ case OpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
+ case OpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
+ case OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
+ case OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
+ case OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
+ case OpBitcast: *hasResult = true; *hasResultType = true; break;
+ case OpSNegate: *hasResult = true; *hasResultType = true; break;
+ case OpFNegate: *hasResult = true; *hasResultType = true; break;
+ case OpIAdd: *hasResult = true; *hasResultType = true; break;
+ case OpFAdd: *hasResult = true; *hasResultType = true; break;
+ case OpISub: *hasResult = true; *hasResultType = true; break;
+ case OpFSub: *hasResult = true; *hasResultType = true; break;
+ case OpIMul: *hasResult = true; *hasResultType = true; break;
+ case OpFMul: *hasResult = true; *hasResultType = true; break;
+ case OpUDiv: *hasResult = true; *hasResultType = true; break;
+ case OpSDiv: *hasResult = true; *hasResultType = true; break;
+ case OpFDiv: *hasResult = true; *hasResultType = true; break;
+ case OpUMod: *hasResult = true; *hasResultType = true; break;
+ case OpSRem: *hasResult = true; *hasResultType = true; break;
+ case OpSMod: *hasResult = true; *hasResultType = true; break;
+ case OpFRem: *hasResult = true; *hasResultType = true; break;
+ case OpFMod: *hasResult = true; *hasResultType = true; break;
+ case OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
+ case OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
+ case OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
+ case OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
+ case OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
+ case OpOuterProduct: *hasResult = true; *hasResultType = true; break;
+ case OpDot: *hasResult = true; *hasResultType = true; break;
+ case OpIAddCarry: *hasResult = true; *hasResultType = true; break;
+ case OpISubBorrow: *hasResult = true; *hasResultType = true; break;
+ case OpUMulExtended: *hasResult = true; *hasResultType = true; break;
+ case OpSMulExtended: *hasResult = true; *hasResultType = true; break;
+ case OpAny: *hasResult = true; *hasResultType = true; break;
+ case OpAll: *hasResult = true; *hasResultType = true; break;
+ case OpIsNan: *hasResult = true; *hasResultType = true; break;
+ case OpIsInf: *hasResult = true; *hasResultType = true; break;
+ case OpIsFinite: *hasResult = true; *hasResultType = true; break;
+ case OpIsNormal: *hasResult = true; *hasResultType = true; break;
+ case OpSignBitSet: *hasResult = true; *hasResultType = true; break;
+ case OpLessOrGreater: *hasResult = true; *hasResultType = true; break;
+ case OpOrdered: *hasResult = true; *hasResultType = true; break;
+ case OpUnordered: *hasResult = true; *hasResultType = true; break;
+ case OpLogicalEqual: *hasResult = true; *hasResultType = true; break;
+ case OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
+ case OpLogicalOr: *hasResult = true; *hasResultType = true; break;
+ case OpLogicalAnd: *hasResult = true; *hasResultType = true; break;
+ case OpLogicalNot: *hasResult = true; *hasResultType = true; break;
+ case OpSelect: *hasResult = true; *hasResultType = true; break;
+ case OpIEqual: *hasResult = true; *hasResultType = true; break;
+ case OpINotEqual: *hasResult = true; *hasResultType = true; break;
+ case OpUGreaterThan: *hasResult = true; *hasResultType = true; break;
+ case OpSGreaterThan: *hasResult = true; *hasResultType = true; break;
+ case OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpULessThan: *hasResult = true; *hasResultType = true; break;
+ case OpSLessThan: *hasResult = true; *hasResultType = true; break;
+ case OpULessThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
+ case OpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
+ case OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
+ case OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
+ case OpBitwiseOr: *hasResult = true; *hasResultType = true; break;
+ case OpBitwiseXor: *hasResult = true; *hasResultType = true; break;
+ case OpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
+ case OpNot: *hasResult = true; *hasResultType = true; break;
+ case OpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
+ case OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
+ case OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
+ case OpBitReverse: *hasResult = true; *hasResultType = true; break;
+ case OpBitCount: *hasResult = true; *hasResultType = true; break;
+ case OpDPdx: *hasResult = true; *hasResultType = true; break;
+ case OpDPdy: *hasResult = true; *hasResultType = true; break;
+ case OpFwidth: *hasResult = true; *hasResultType = true; break;
+ case OpDPdxFine: *hasResult = true; *hasResultType = true; break;
+ case OpDPdyFine: *hasResult = true; *hasResultType = true; break;
+ case OpFwidthFine: *hasResult = true; *hasResultType = true; break;
+ case OpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
+ case OpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
+ case OpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
+ case OpEmitVertex: *hasResult = false; *hasResultType = false; break;
+ case OpEndPrimitive: *hasResult = false; *hasResultType = false; break;
+ case OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
+ case OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
+ case OpControlBarrier: *hasResult = false; *hasResultType = false; break;
+ case OpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
+ case OpAtomicLoad: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicStore: *hasResult = false; *hasResultType = false; break;
+ case OpAtomicExchange: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicISub: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicSMin: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicUMin: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicSMax: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicUMax: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicAnd: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicOr: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicXor: *hasResult = true; *hasResultType = true; break;
+ case OpPhi: *hasResult = true; *hasResultType = true; break;
+ case OpLoopMerge: *hasResult = false; *hasResultType = false; break;
+ case OpSelectionMerge: *hasResult = false; *hasResultType = false; break;
+ case OpLabel: *hasResult = true; *hasResultType = false; break;
+ case OpBranch: *hasResult = false; *hasResultType = false; break;
+ case OpBranchConditional: *hasResult = false; *hasResultType = false; break;
+ case OpSwitch: *hasResult = false; *hasResultType = false; break;
+ case OpKill: *hasResult = false; *hasResultType = false; break;
+ case OpReturn: *hasResult = false; *hasResultType = false; break;
+ case OpReturnValue: *hasResult = false; *hasResultType = false; break;
+ case OpUnreachable: *hasResult = false; *hasResultType = false; break;
+ case OpLifetimeStart: *hasResult = false; *hasResultType = false; break;
+ case OpLifetimeStop: *hasResult = false; *hasResultType = false; break;
+ case OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
+ case OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
+ case OpGroupAll: *hasResult = true; *hasResultType = true; break;
+ case OpGroupAny: *hasResult = true; *hasResultType = true; break;
+ case OpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
+ case OpGroupIAdd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFAdd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupUMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupSMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFMax: *hasResult = true; *hasResultType = true; break;
+ case OpGroupUMax: *hasResult = true; *hasResultType = true; break;
+ case OpGroupSMax: *hasResult = true; *hasResultType = true; break;
+ case OpReadPipe: *hasResult = true; *hasResultType = true; break;
+ case OpWritePipe: *hasResult = true; *hasResultType = true; break;
+ case OpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
+ case OpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
+ case OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
+ case OpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
+ case OpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
+ case OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
+ case OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
+ case OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
+ case OpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
+ case OpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
+ case OpRetainEvent: *hasResult = false; *hasResultType = false; break;
+ case OpReleaseEvent: *hasResult = false; *hasResultType = false; break;
+ case OpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
+ case OpIsValidEvent: *hasResult = true; *hasResultType = true; break;
+ case OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
+ case OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
+ case OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
+ case OpBuildNDRange: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseGather: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
+ case OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
+ case OpNoLine: *hasResult = false; *hasResultType = false; break;
+ case OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
+ case OpImageSparseRead: *hasResult = true; *hasResultType = true; break;
+ case OpSizeOf: *hasResult = true; *hasResultType = true; break;
+ case OpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
+ case OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
+ case OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
+ case OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
+ case OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
+ case OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
+ case OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
+ case OpModuleProcessed: *hasResult = false; *hasResultType = false; break;
+ case OpExecutionModeId: *hasResult = false; *hasResultType = false; break;
+ case OpDecorateId: *hasResult = false; *hasResultType = false; break;
+ case OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
+ 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 OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
+ case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
+ case OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
+ case OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
+ case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
+ case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
+ case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
+ case OpSDot: *hasResult = true; *hasResultType = true; break;
+ case OpUDot: *hasResult = true; *hasResultType = true; break;
+ case OpSUDot: *hasResult = true; *hasResultType = true; break;
+ case OpSDotAccSat: *hasResult = true; *hasResultType = true; break;
+ case OpUDotAccSat: *hasResult = true; *hasResultType = true; break;
+ case OpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
+ case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
+ case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
+ case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
+ case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
+ case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
+ case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
+ case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
+ case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
+ case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
+ case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
+ case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
+ case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
+ case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
+ case OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
+ case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
+ case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
+ case OpTraceNV: *hasResult = false; *hasResultType = false; break;
+ case OpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
+ case OpTraceRayMotionNV: *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 OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
+ case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
+ case OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
+ case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
+ case OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
+ case OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
+ case OpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
+ case OpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
+ case OpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
+ case OpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
+ case OpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;
+ case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
+ 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 OpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpAsmINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
+ case OpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
+ case OpExpectKHR: *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;
+ case OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
+ case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
+ case OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
+ case OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
+ case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+ case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
+ }
+}
+#endif /* SPV_ENABLE_UTILITY_CODE */
+
+// Overload operator| for mask bit combining
+
+inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
+inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }
+inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }
+inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }
+inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }
+inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
+inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
+inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
+inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
+inline FragmentShadingRateMask operator|(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) | unsigned(b)); }
+
+} // end namespace spv
+
+#endif // #ifndef spirv_HPP
+
diff --git a/SPIRV/spvIR.h b/SPIRV/spvIR.h
index 486e80d..5249a5b 100644
--- a/SPIRV/spvIR.h
+++ b/SPIRV/spvIR.h
@@ -111,27 +111,23 @@
void addStringOperand(const char* str)
{
- unsigned int word;
- char* wordString = (char*)&word;
- char* wordPtr = wordString;
- int charCount = 0;
+ unsigned int word = 0;
+ unsigned int shiftAmount = 0;
char c;
+
do {
c = *(str++);
- *(wordPtr++) = c;
- ++charCount;
- if (charCount == 4) {
+ word |= ((unsigned int)c) << shiftAmount;
+ shiftAmount += 8;
+ if (shiftAmount == 32) {
addImmediateOperand(word);
- wordPtr = wordString;
- charCount = 0;
+ word = 0;
+ shiftAmount = 0;
}
} while (c != 0);
// deal with partial last word
- if (charCount > 0) {
- // pad with 0s
- for (; charCount < 4; ++charCount)
- *(wordPtr++) = 0;
+ if (shiftAmount > 0) {
addImmediateOperand(word);
}
}
diff --git a/StandAlone/CMakeLists.txt b/StandAlone/CMakeLists.txt
index 751d1cd..2b163e7 100644
--- a/StandAlone/CMakeLists.txt
+++ b/StandAlone/CMakeLists.txt
@@ -31,6 +31,22 @@
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
+find_host_package(PythonInterp 3 REQUIRED)
+
+set(GLSLANG_INTRINSIC_H "${GLSLANG_GENERATED_INCLUDEDIR}/glslang/glsl_intrinsic_header.h")
+set(GLSLANG_INTRINSIC_PY "${CMAKE_CURRENT_SOURCE_DIR}/../gen_extension_headers.py")
+set(GLSLANG_INTRINSIC_HEADER_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../glslang/ExtensionHeaders")
+
+add_custom_command(
+ OUTPUT ${GLSLANG_INTRINSIC_H}
+ COMMAND ${PYTHON_EXECUTABLE} "${GLSLANG_INTRINSIC_PY}"
+ "-i" ${GLSLANG_INTRINSIC_HEADER_DIR}
+ "-o" ${GLSLANG_INTRINSIC_H}
+ DEPENDS ${GLSLANG_INTRINSIC_PY}
+ COMMENT "Generating ${GLSLANG_INTRINSIC_H}")
+
+#add_custom_target(glslangValidator DEPENDS ${GLSLANG_INTRINSIC_H})
+
add_library(glslang-default-resource-limits
${CMAKE_CURRENT_SOURCE_DIR}/ResourceLimits.cpp
${CMAKE_CURRENT_SOURCE_DIR}/resource_limits_c.cpp)
@@ -41,7 +57,7 @@
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}>)
-set(SOURCES StandAlone.cpp DirStackFileIncluder.h)
+set(SOURCES StandAlone.cpp DirStackFileIncluder.h ${GLSLANG_INTRINSIC_H})
add_executable(glslangValidator ${SOURCES})
set_property(TARGET glslangValidator PROPERTY FOLDER tools)
@@ -62,7 +78,7 @@
if(NOT ANDROID)
set(LIBRARIES ${LIBRARIES} pthread)
endif()
-endif(WIN32)
+endif()
target_link_libraries(glslangValidator ${LIBRARIES})
target_include_directories(glslangValidator PUBLIC
@@ -73,7 +89,7 @@
target_include_directories(glslangValidator
PRIVATE ${spirv-tools_SOURCE_DIR}/include
)
-endif(ENABLE_OPT)
+endif()
if(ENABLE_SPVREMAPPER)
set(REMAPPER_SOURCES spirv-remap.cpp)
@@ -85,7 +101,7 @@
if(WIN32)
source_group("Source" FILES ${SOURCES})
-endif(WIN32)
+endif()
if(ENABLE_GLSLANG_INSTALL)
install(TARGETS glslangValidator EXPORT glslangValidatorTargets
@@ -108,4 +124,4 @@
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
install(EXPORT glslang-default-resource-limitsTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
-endif(ENABLE_GLSLANG_INSTALL)
+endif()
diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp
index c6dc597..72f5522 100644
--- a/StandAlone/StandAlone.cpp
+++ b/StandAlone/StandAlone.cpp
@@ -2,6 +2,7 @@
// Copyright (C) 2002-2005 3Dlabs Inc. Ltd.
// Copyright (C) 2013-2016 LunarG, Inc.
// Copyright (C) 2016-2020 Google, Inc.
+// Modifications Copyright(C) 2021 Advanced Micro Devices, Inc.All rights reserved.
//
// All rights reserved.
//
@@ -65,6 +66,8 @@
// Build-time generated includes
#include "glslang/build_info.h"
+#include "glslang/glsl_intrinsic_header.h"
+
extern "C" {
GLSLANG_EXPORT void ShOutputHtml();
}
@@ -174,6 +177,7 @@
const char* variableName = nullptr;
bool HlslEnable16BitTypes = false;
bool HlslDX9compatible = false;
+bool HlslDxPositionW = false;
bool DumpBuiltinSymbols = false;
std::vector<std::string> IncludeDirectoryList;
@@ -263,6 +267,7 @@
// Track the user's #define and #undef from the command line.
TPreamble UserPreamble;
+std::string PreambleString;
//
// Create the default name for saving a binary if -o is not provided.
@@ -347,13 +352,13 @@
lang = FindLanguage(argv[arg++], false);
}
- if ((argc - arg) > 2 && isdigit(argv[arg+0][0]) && isdigit(argv[arg+1][0])) {
+ if ((argc - arg) >= 2 && isdigit(argv[arg+0][0]) && isdigit(argv[arg+1][0])) {
// Parse a per-set binding base
- while ((argc - arg) > 2 && isdigit(argv[arg+0][0]) && isdigit(argv[arg+1][0])) {
+ do {
const int baseNum = atoi(argv[arg++]);
const int setNum = atoi(argv[arg++]);
perSetBase[setNum] = baseNum;
- }
+ } while ((argc - arg) >= 2 && isdigit(argv[arg + 0][0]) && isdigit(argv[arg + 1][0]));
} else {
// Parse single binding base
singleBase = atoi(argv[arg++]);
@@ -658,6 +663,8 @@
HlslEnable16BitTypes = true;
} else if (lowerword == "hlsl-dx9-compatible") {
HlslDX9compatible = true;
+ } else if (lowerword == "hlsl-dx-position-w") {
+ HlslDxPositionW = true;
} else if (lowerword == "auto-sampled-textures") {
autoSampledTextures = true;
} else if (lowerword == "invert-y" || // synonyms
@@ -760,6 +767,9 @@
} else if (strcmp(argv[1], "vulkan1.2") == 0) {
setVulkanSpv();
ClientVersion = glslang::EShTargetVulkan_1_2;
+ } else if (strcmp(argv[1], "vulkan1.3") == 0) {
+ setVulkanSpv();
+ ClientVersion = glslang::EShTargetVulkan_1_3;
} else if (strcmp(argv[1], "opengl") == 0) {
setOpenGlSpv();
ClientVersion = glslang::EShTargetOpenGL_450;
@@ -781,9 +791,13 @@
} else if (strcmp(argv[1], "spirv1.5") == 0) {
TargetLanguage = glslang::EShTargetSpv;
TargetVersion = glslang::EShTargetSpv_1_5;
+ } else if (strcmp(argv[1], "spirv1.6") == 0) {
+ TargetLanguage = glslang::EShTargetSpv;
+ TargetVersion = glslang::EShTargetSpv_1_6;
} else
- Error("--target-env expected one of: vulkan1.0, vulkan1.1, vulkan1.2, opengl,\n"
- "spirv1.0, spirv1.1, spirv1.2, spirv1.3, spirv1.4, or spirv1.5");
+ Error("--target-env expected one of: vulkan1.0, vulkan1.1, vulkan1.2,\n"
+ "vulkan1.3, opengl, spirv1.0, spirv1.1, spirv1.2, spirv1.3,\n"
+ "spirv1.4, spirv1.5 or spirv1.6");
}
bumpArg();
} else if (lowerword == "undef-macro" ||
@@ -1008,6 +1022,10 @@
TargetLanguage = glslang::EShTargetSpv;
TargetVersion = glslang::EShTargetSpv_1_5;
break;
+ case glslang::EShTargetVulkan_1_3:
+ TargetLanguage = glslang::EShTargetSpv;
+ TargetVersion = glslang::EShTargetSpv_1_6;
+ break;
case glslang::EShTargetOpenGL_450:
TargetLanguage = glslang::EShTargetSpv;
TargetVersion = glslang::EShTargetSpv_1_0;
@@ -1204,8 +1222,17 @@
"Use '-e <name>'.\n");
shader->setSourceEntryPoint(sourceEntryPointName);
}
+
+ std::string intrinsicString = getIntrinsic(compUnit.text, compUnit.count);
+
+ PreambleString = "";
if (UserPreamble.isSet())
- shader->setPreamble(UserPreamble.get());
+ PreambleString.append(UserPreamble.get());
+
+ if (!intrinsicString.empty())
+ PreambleString.append(intrinsicString);
+
+ shader->setPreamble(PreambleString.c_str());
shader->addProcesses(Processes);
#ifndef GLSLANG_WEB
@@ -1271,6 +1298,9 @@
if (Options & EOptionInvertY)
shader->setInvertY(true);
+ if (HlslDxPositionW)
+ shader->setDxPositionW(true);
+
// Set up the environment, some subsettings take precedence over earlier
// ways of setting things.
if (Options & EOptionSpv) {
@@ -1834,6 +1864,8 @@
" --hlsl-dx9-compatible interprets sampler declarations as a\n"
" texture/sampler combo like DirectX9 would,\n"
" and recognizes DirectX9-specific semantics\n"
+ " --hlsl-dx-position-w W component of SV_Position in HLSL fragment\n"
+ " shaders compatible with DirectX\n"
" --invert-y | --iy invert position.Y output in vertex shader\n"
" --keep-uncalled | --ku don't eliminate uncalled functions\n"
" --nan-clamp favor non-NaN operand in min, max, and clamp\n"
@@ -1909,8 +1941,9 @@
" --sep synonym for --source-entrypoint\n"
" --stdin read from stdin instead of from a file;\n"
" requires providing the shader stage using -S\n"
- " --target-env {vulkan1.0 | vulkan1.1 | vulkan1.2 | opengl | \n"
- " spirv1.0 | spirv1.1 | spirv1.2 | spirv1.3 | spirv1.4 | spirv1.5}\n"
+ " --target-env {vulkan1.0 | vulkan1.1 | vulkan1.2 | vulkan1.3 | opengl |\n"
+ " spirv1.0 | spirv1.1 | spirv1.2 | spirv1.3 | spirv1.4 |\n"
+ " spirv1.5 | spirv1.6}\n"
" Set the execution environment that the\n"
" generated code will be executed in.\n"
" Defaults to:\n"
@@ -1919,6 +1952,7 @@
" * spirv1.0 under --target-env vulkan1.0\n"
" * spirv1.3 under --target-env vulkan1.1\n"
" * spirv1.5 under --target-env vulkan1.2\n"
+ " * spirv1.6 under --target-env vulkan1.3\n"
" Multiple --target-env can be specified.\n"
" --variable-name <name>\n"
" --vn <name> creates a C header file that contains a\n"
diff --git a/Test/150.frag b/Test/150.frag
index 228e4f0..90b1e27 100644
--- a/Test/150.frag
+++ b/Test/150.frag
@@ -111,8 +111,8 @@
vec2 pf2;
vec3 pf3;
- lod = textureQueryLod(samp1D, pf); // ERROR, extension GL_ARB_texture_query_lod needed
- lod = textureQueryLod(samp2Ds, pf2); // ERROR, extension GL_ARB_texture_query_lod needed
+ lod = textureQueryLOD(samp1D, pf); // ERROR, extension GL_ARB_texture_query_lod needed
+ lod = textureQueryLOD(samp2Ds, pf2); // ERROR, extension GL_ARB_texture_query_lod needed
}
#extension GL_ARB_texture_query_lod : enable
@@ -138,21 +138,21 @@
vec2 pf2;
vec3 pf3;
- lod = textureQueryLod(samp1D, pf);
- lod = textureQueryLod(isamp2D, pf2);
- lod = textureQueryLod(usamp3D, pf3);
- lod = textureQueryLod(sampCube, pf3);
- lod = textureQueryLod(isamp1DA, pf);
- lod = textureQueryLod(usamp2DA, pf2);
+ lod = textureQueryLOD(samp1D, pf);
+ lod = textureQueryLOD(isamp2D, pf2);
+ lod = textureQueryLOD(usamp3D, pf3);
+ lod = textureQueryLOD(sampCube, pf3);
+ lod = textureQueryLOD(isamp1DA, pf);
+ lod = textureQueryLOD(usamp2DA, pf2);
- lod = textureQueryLod(samp1Ds, pf);
- lod = textureQueryLod(samp2Ds, pf2);
- lod = textureQueryLod(sampCubes, pf3);
- lod = textureQueryLod(samp1DAs, pf);
- lod = textureQueryLod(samp2DAs, pf2);
+ lod = textureQueryLOD(samp1Ds, pf);
+ lod = textureQueryLOD(samp2Ds, pf2);
+ lod = textureQueryLOD(sampCubes, pf3);
+ lod = textureQueryLOD(samp1DAs, pf);
+ lod = textureQueryLOD(samp2DAs, pf2);
- lod = textureQueryLod(sampBuf, pf); // ERROR
- lod = textureQueryLod(sampRect, pf2); // ERROR
+ lod = textureQueryLOD(sampBuf, pf); // ERROR
+ lod = textureQueryLOD(sampRect, pf2); // ERROR
}
// Test extension GL_EXT_shader_integer_mix
diff --git a/Test/BestMatchFunction.vert b/Test/BestMatchFunction.vert
new file mode 100644
index 0000000..eb09233
--- /dev/null
+++ b/Test/BestMatchFunction.vert
@@ -0,0 +1,20 @@
+#version 150
+#extension GL_ARB_gpu_shader5 : require
+
+uniform ivec4 u1;
+uniform uvec4 u2;
+out vec4 result;
+vec4 f(in vec4 a, in vec4 b){ return a * b;} // choice 1
+vec4 f(in uvec4 a, in uvec4 b){ return vec4(a - b);} // choice 2
+
+void main()
+{
+ result = f(u1, u2); // should match choice 2. which have less implicit conversion.
+ switch (gl_VertexID)
+ {
+ case 0: gl_Position = vec4(-1.0, 1.0, 0.0, 1.0); break;
+ case 1: gl_Position = vec4( 1.0, 1.0, 0.0, 1.0); break;
+ case 2: gl_Position = vec4(-1.0,-1.0, 0.0, 1.0); break;
+ case 3: gl_Position = vec4( 1.0,-1.0, 0.0, 1.0); break;
+ }
+}
diff --git a/Test/EndStreamPrimitive.geom b/Test/EndStreamPrimitive.geom
new file mode 100644
index 0000000..a654ebc
--- /dev/null
+++ b/Test/EndStreamPrimitive.geom
@@ -0,0 +1,20 @@
+#version 150 core
+#extension GL_ARB_gpu_shader5 : require
+layout(points) in;
+layout(points, max_vertices = 1) out;
+layout(stream=0) out float output1;
+layout(stream=0) out float output2;
+layout(stream=1) out float output3;
+layout(stream=1) out float output4;
+uniform uint stream;
+void main() {
+
+ output1 = 1.0;
+ output2 = 2.0;
+ EmitStreamVertex(0);
+ EndStreamPrimitive(0);
+ output3 = 3.0;
+ output4 = 4.0;
+ EmitStreamVertex(1);
+ EndStreamPrimitive(1);
+}
\ No newline at end of file
diff --git a/Test/GL_ARB_draw_instanced.vert b/Test/GL_ARB_draw_instanced.vert
new file mode 100644
index 0000000..6e39086
--- /dev/null
+++ b/Test/GL_ARB_draw_instanced.vert
@@ -0,0 +1,18 @@
+#version 150
+#extension GL_ARB_draw_instanced : require
+#define ID gl_InstanceID
+
+uniform mat4 gtf_ModelViewProjectionMatrix;
+uniform vec3 instanceOffsets[3];
+in vec4 va[gl_MaxVertexAttribs];
+out vec4 color;
+
+void main (void)
+{
+ vec4 vertex = vec4(va[0].xy / 3.0, va[0].zw) + vec4(instanceOffsets[ID], 1.0);
+ color = vec4(0, 0, 0, 0);
+ for (int i = 1; i < gl_MaxVertexAttribs; i++)
+ color += va[i];
+ gl_Position = gtf_ModelViewProjectionMatrix * vertex;
+ gl_PointSize = 1.0;
+}
diff --git a/Test/GL_ARB_fragment_coord_conventions.vert b/Test/GL_ARB_fragment_coord_conventions.vert
new file mode 100644
index 0000000..962734f
--- /dev/null
+++ b/Test/GL_ARB_fragment_coord_conventions.vert
@@ -0,0 +1,27 @@
+#version 140
+
+#extension GL_ARB_fragment_coord_conventions: require
+#extension GL_ARB_explicit_attrib_location : enable
+
+
+#if !defined GL_ARB_fragment_coord_conventions
+# error GL_ARB_fragment_coord_conventions is not defined
+#elif GL_ARB_fragment_coord_conventions != 1
+# error GL_ARB_fragment_coord_conventions is not equal to 1
+#endif
+
+
+layout (location = 0) in vec4 pos;
+out vec4 i;
+
+uniform float gtf_windowWidth;
+uniform float gtf_windowHeight;
+uniform float n;
+uniform float f;
+
+void main()
+{
+ gl_Position = pos;
+ i = vec4((pos.x+1.0)*0.5*gtf_windowWidth, (pos.y+1.0)*0.5*gtf_windowHeight, (f-n)*0.5*pos.z + (f+n)*0.5, pos.w);
+}
+
diff --git a/Test/GL_ARB_gpu_shader5.u2i.vert b/Test/GL_ARB_gpu_shader5.u2i.vert
new file mode 100644
index 0000000..0caa9bc
--- /dev/null
+++ b/Test/GL_ARB_gpu_shader5.u2i.vert
@@ -0,0 +1,11 @@
+#version 150
+#extension GL_ARB_gpu_shader5 : require
+
+uniform int u1;
+uniform int u2;
+out vec4 result;
+void main()
+{
+ uint v = 0;
+ v = uint(u2) - u1; // implicit conversions
+}
diff --git a/Test/GL_EXT_shader_integer_mix.vert b/Test/GL_EXT_shader_integer_mix.vert
new file mode 100644
index 0000000..3616e58
--- /dev/null
+++ b/Test/GL_EXT_shader_integer_mix.vert
@@ -0,0 +1,13 @@
+#version 330
+#extension GL_EXT_shader_integer_mix: require
+
+
+#if !defined GL_EXT_shader_integer_mix
+# error GL_EXT_shader_integer_mix is not defined
+#elif GL_EXT_shader_integer_mix != 1
+# error GL_EXT_shader_integer_mix is not equal to 1
+#endif
+
+void main(void) {
+ gl_Position = vec4(0);
+}
diff --git a/Test/atomicAdd.comp b/Test/atomicAdd.comp
new file mode 100644
index 0000000..27dfa13
--- /dev/null
+++ b/Test/atomicAdd.comp
@@ -0,0 +1,19 @@
+#version 320 es
+layout(local_size_x = 1) in;
+
+struct structType{
+ int y[3];
+};
+
+layout(std430) buffer t2 {
+ structType f;
+} t;
+
+buffer coherent Buffer { int x; };
+int z;
+
+void main() {
+ atomicAdd(x, 1);
+ atomicAdd(t.f.y[1], 1);
+ atomicAdd(z, 1);
+}
\ No newline at end of file
diff --git a/Test/atomicCounterARBOps.vert b/Test/atomicCounterARBOps.vert
new file mode 100644
index 0000000..5eb6637
--- /dev/null
+++ b/Test/atomicCounterARBOps.vert
@@ -0,0 +1,28 @@
+#version 450 core
+#extension GL_ARB_shader_atomic_counters: enable
+#extension GL_ARB_shader_atomic_counter_ops:enable
+
+layout(binding = 0) uniform atomic_uint counter;
+
+out highp vec4 vsColor;
+
+void main(){
+ vec4 outColor = vec4(1.0);
+ uint ret;
+
+ ret = atomicCounterAddARB(counter, 4u);
+ ret = atomicCounterSubtractARB(counter, 4u);
+ ret = atomicCounterMinARB(counter, 4u);
+ ret = atomicCounterMaxARB(counter, 4u);
+ ret = atomicCounterAndARB(counter, 4u);
+ ret = atomicCounterOrARB(counter, 4u);
+ ret = atomicCounterXorARB(counter, 4u);
+ ret = atomicCounterExchangeARB(counter, 4u);
+ ret = atomicCounterCompSwapARB(counter, 4u, 4u);
+
+ uint after = atomicCounter(counter);
+ if (after == ret)
+ outColor = vec4(0.0);
+
+ vsColor = outColor;
+}
\ No newline at end of file
diff --git a/Test/baseLegalResults/hlsl.flattenSubset.frag.out b/Test/baseLegalResults/hlsl.flattenSubset.frag.out
index 0edf712..46d3afb 100644
--- a/Test/baseLegalResults/hlsl.flattenSubset.frag.out
+++ b/Test/baseLegalResults/hlsl.flattenSubset.frag.out
@@ -6,19 +6,17 @@
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 47 50
+ EntryPoint Fragment 4 "main" 50
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
Name 21 "samp"
Name 33 "tex"
- Name 47 "vpos"
Name 50 "@entryPointOutput"
Decorate 21(samp) DescriptorSet 0
Decorate 21(samp) Binding 0
Decorate 33(tex) DescriptorSet 0
Decorate 33(tex) Binding 1
- Decorate 47(vpos) Location 0
Decorate 50(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
@@ -34,8 +32,6 @@
39: TypeVector 6(float) 2
40: 6(float) Constant 1056964608
41: 39(fvec2) ConstantComposite 40 40
- 46: TypePointer Input 7(fvec4)
- 47(vpos): 46(ptr) Variable Input
49: TypePointer Output 7(fvec4)
50(@entryPointOutput): 49(ptr) Variable Output
4(main): 2 Function None 3
diff --git a/Test/baseLegalResults/hlsl.flattenSubset2.frag.out b/Test/baseLegalResults/hlsl.flattenSubset2.frag.out
index 00bd55b..408c0ea 100644
--- a/Test/baseLegalResults/hlsl.flattenSubset2.frag.out
+++ b/Test/baseLegalResults/hlsl.flattenSubset2.frag.out
@@ -6,13 +6,11 @@
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 49 52
+ EntryPoint Fragment 4 "main" 52
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
- Name 49 "vpos"
Name 52 "@entryPointOutput"
- Decorate 49(vpos) Location 0
Decorate 52(@entryPointOutput) Location 0
2: TypeVoid
3: TypeFunction 2
@@ -20,8 +18,6 @@
7: TypeVector 6(float) 4
43: 6(float) Constant 0
44: 7(fvec4) ConstantComposite 43 43 43 43
- 48: TypePointer Input 7(fvec4)
- 49(vpos): 48(ptr) Variable Input
51: TypePointer Output 7(fvec4)
52(@entryPointOutput): 51(ptr) Variable Output
4(main): 2 Function None 3
diff --git a/Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out b/Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out
index 824aa49..f45a768 100644
--- a/Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out
+++ b/Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out
@@ -1,18 +1,18 @@
hlsl.partialFlattenLocal.vert
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 159
+// Id's are bound by 164
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 83 86
+ EntryPoint Vertex 4 "main" 86 89
Source HLSL 500
Name 4 "main"
- Name 83 "pos"
- Name 86 "@entryPointOutput"
- Decorate 83(pos) Location 0
- Decorate 86(@entryPointOutput) BuiltIn Position
+ Name 86 "pos"
+ Name 89 "@entryPointOutput"
+ Decorate 86(pos) Location 0
+ Decorate 89(@entryPointOutput) BuiltIn Position
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -33,49 +33,54 @@
37: 6(float) Constant 1065353216
38: 18(fvec2) ConstantComposite 32 37
39: TypePointer Function 18(fvec2)
+ 42: TypePointer Function 6(float)
54: TypeBool
- 82: TypePointer Input 7(fvec4)
- 83(pos): 82(ptr) Variable Input
- 85: TypePointer Output 7(fvec4)
-86(@entryPointOutput): 85(ptr) Variable Output
- 131: TypePointer Function 17
- 133: TypePointer Function 20
+ 64: 15(int) Constant 0
+ 67: 15(int) Constant 1
+ 85: TypePointer Input 7(fvec4)
+ 86(pos): 85(ptr) Variable Input
+ 88: TypePointer Output 7(fvec4)
+89(@entryPointOutput): 88(ptr) Variable Output
+ 135: TypePointer Function 17
+ 137: TypePointer Function 20
4(main): 2 Function None 3
5: Label
- 134: 133(ptr) Variable Function
- 132: 131(ptr) Variable Function
- 84: 7(fvec4) Load 83(pos)
- 137: 34(ptr) AccessChain 132 25
- Store 137 33
- 138: 39(ptr) AccessChain 134 25
- Store 138 38
- Branch 101
- 101: Label
- 158: 21(int) Phi 25 5 119 105
- 104: 54(bool) SLessThan 158 31
- LoopMerge 120 105 None
- BranchConditional 104 105 120
- 105: Label
- 139: 39(ptr) AccessChain 134 158
- 109: 18(fvec2) Load 139
- 140: 34(ptr) AccessChain 132 158
- 111: 14(fvec3) Load 140
- 112: 18(fvec2) VectorShuffle 111 111 0 1
- 113: 18(fvec2) FAdd 112 109
- 141: 34(ptr) AccessChain 132 158
- 115: 14(fvec3) Load 141
- 116: 14(fvec3) VectorShuffle 115 113 3 4 2
- Store 141 116
- 119: 21(int) IAdd 158 31
- Branch 101
- 120: Label
- 143: 17 Load 132
- 157: 14(fvec3) CompositeExtract 143 0
- 125: 6(float) CompositeExtract 157 0
- 126: 6(float) CompositeExtract 157 1
- 127: 6(float) CompositeExtract 157 2
- 128: 7(fvec4) CompositeConstruct 125 126 127 32
- 129: 7(fvec4) FAdd 84 128
- Store 86(@entryPointOutput) 129
+ 138: 137(ptr) Variable Function
+ 136: 135(ptr) Variable Function
+ 87: 7(fvec4) Load 86(pos)
+ 141: 34(ptr) AccessChain 136 25
+ Store 141 33
+ 142: 39(ptr) AccessChain 138 25
+ Store 142 38
+ Branch 104
+ 104: Label
+ 163: 21(int) Phi 25 5 123 108
+ 107: 54(bool) SLessThan 163 31
+ LoopMerge 124 108 None
+ BranchConditional 107 108 124
+ 108: Label
+ 143: 39(ptr) AccessChain 138 163
+ 112: 18(fvec2) Load 143
+ 144: 34(ptr) AccessChain 136 163
+ 114: 14(fvec3) Load 144
+ 115: 18(fvec2) VectorShuffle 114 114 0 1
+ 116: 18(fvec2) FAdd 115 112
+ 145: 42(ptr) AccessChain 136 163 64
+ 118: 6(float) CompositeExtract 116 0
+ Store 145 118
+ 146: 42(ptr) AccessChain 136 163 67
+ 120: 6(float) CompositeExtract 116 1
+ Store 146 120
+ 123: 21(int) IAdd 163 31
+ Branch 104
+ 124: Label
+ 148: 17 Load 136
+ 162: 14(fvec3) CompositeExtract 148 0
+ 129: 6(float) CompositeExtract 162 0
+ 130: 6(float) CompositeExtract 162 1
+ 131: 6(float) CompositeExtract 162 2
+ 132: 7(fvec4) CompositeConstruct 129 130 131 32
+ 133: 7(fvec4) FAdd 87 132
+ Store 89(@entryPointOutput) 133
Return
FunctionEnd
diff --git a/Test/baseResults/150.frag.out b/Test/baseResults/150.frag.out
index 2192e14..066b8bb 100644
--- a/Test/baseResults/150.frag.out
+++ b/Test/baseResults/150.frag.out
@@ -8,13 +8,15 @@
ERROR: 0:53: 'double' : not supported for this version or the enabled extensions
ERROR: 0:53: 'double' : must be qualified as flat in
ERROR: 0:57: '=' : cannot convert from ' global double' to ' global int'
-ERROR: 0:80: 'floatBitsToInt' : required extension not requested: GL_ARB_shader_bit_encoding
+ERROR: 0:80: 'floatBitsToInt' : required extension not requested: Possible extensions include:
+GL_ARB_shader_bit_encoding
+GL_ARB_gpu_shader5
ERROR: 0:100: 'packSnorm2x16' : required extension not requested: GL_ARB_shading_language_packing
-ERROR: 0:114: 'textureQueryLod' : required extension not requested: GL_ARB_texture_query_lod
-ERROR: 0:115: 'textureQueryLod' : required extension not requested: GL_ARB_texture_query_lod
-ERROR: 0:154: 'textureQueryLod' : no matching overloaded function found
+ERROR: 0:114: 'textureQueryLOD' : required extension not requested: GL_ARB_texture_query_lod
+ERROR: 0:115: 'textureQueryLOD' : required extension not requested: GL_ARB_texture_query_lod
+ERROR: 0:154: 'textureQueryLOD' : no matching overloaded function found
ERROR: 0:154: 'assign' : cannot convert from ' const float' to ' temp 2-component vector of float'
-ERROR: 0:155: 'textureQueryLod' : no matching overloaded function found
+ERROR: 0:155: 'textureQueryLOD' : no matching overloaded function found
ERROR: 0:155: 'assign' : cannot convert from ' const float' to ' temp 2-component vector of float'
ERROR: 0:183: 'mix' : required extension not requested: GL_EXT_shader_integer_mix
ERROR: 18 compilation errors. No code generated.
diff --git a/Test/baseResults/150.geom.out b/Test/baseResults/150.geom.out
index 92b8e1a..c5a31f5 100644
--- a/Test/baseResults/150.geom.out
+++ b/Test/baseResults/150.geom.out
@@ -2,8 +2,8 @@
ERROR: 0:15: 'fromVertex' : block instance name redefinition
ERROR: 0:19: 'fromVertex' : redefinition
ERROR: 0:21: 'fooC' : block instance name redefinition
-ERROR: 0:29: 'EmitStreamVertex' : no matching overloaded function found
-ERROR: 0:30: 'EndStreamPrimitive' : no matching overloaded function found
+ERROR: 0:29: 'if the verison is 150 , the EmitStreamVertex and EndStreamPrimitive only support at extension GL_ARB_gpu_shader5' : required extension not requested: GL_ARB_gpu_shader5
+ERROR: 0:30: 'if the verison is 150 , the EmitStreamVertex and EndStreamPrimitive only support at extension GL_ARB_gpu_shader5' : required extension not requested: GL_ARB_gpu_shader5
ERROR: 0:44: 'stream' : can only be used on an output
ERROR: 0:45: 'stream' : can only be used on an output
ERROR: 0:46: 'stream' : can only be used on an output
@@ -49,10 +49,12 @@
0:27 Sequence
0:27 EmitVertex ( global void)
0:28 EndPrimitive ( global void)
-0:29 Constant:
-0:29 0.000000
-0:30 Constant:
-0:30 0.000000
+0:29 EmitStreamVertex ( global void)
+0:29 Constant:
+0:29 1 (const int)
+0:30 EndStreamPrimitive ( global void)
+0:30 Constant:
+0:30 0 (const int)
0:32 move second child to first child ( temp 3-component vector of float)
0:32 color: direct index for structure (layout( stream=0) out 3-component vector of float)
0:32 'anon@0' (layout( stream=0) out block{layout( stream=0) out 3-component vector of float color})
@@ -190,10 +192,12 @@
0:27 Sequence
0:27 EmitVertex ( global void)
0:28 EndPrimitive ( global void)
-0:29 Constant:
-0:29 0.000000
-0:30 Constant:
-0:30 0.000000
+0:29 EmitStreamVertex ( global void)
+0:29 Constant:
+0:29 1 (const int)
+0:30 EndStreamPrimitive ( global void)
+0:30 Constant:
+0:30 0 (const int)
0:32 move second child to first child ( temp 3-component vector of float)
0:32 color: direct index for structure (layout( stream=0) out 3-component vector of float)
0:32 'anon@0' (layout( stream=0) out block{layout( stream=0) out 3-component vector of float color})
diff --git a/Test/baseResults/300block.frag.out b/Test/baseResults/300block.frag.out
index e5b07dd..1a5bd9b 100644
--- a/Test/baseResults/300block.frag.out
+++ b/Test/baseResults/300block.frag.out
@@ -24,18 +24,18 @@
0:42 Function Definition: main( ( global void)
0:42 Function Parameters:
0:44 Sequence
-0:44 texture ( global lowp 4-component vector of int)
+0:44 texture ( global lowp 4-component vector of int, operation at mediump)
0:44 sampler: direct index for structure ( global lowp isampler3D)
0:44 's' ( uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{ global mediump int a} t})
0:44 Constant:
0:44 2 (const int)
-0:44 Construct vec3 ( temp lowp 3-component vector of float)
-0:44 Convert int to float ( temp lowp float)
+0:44 Construct vec3 ( temp mediump 3-component vector of float)
+0:44 Convert int to float ( temp mediump float)
0:44 ni: direct index for structure (layout( column_major shared) uniform mediump int)
0:44 'inst' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni})
0:44 Constant:
0:44 1 (const int)
-0:44 Convert uint to float ( temp lowp float)
+0:44 Convert uint to float ( temp mediump float)
0:44 direct index ( temp mediump uint)
0:44 bv: direct index for structure (layout( column_major shared) uniform mediump 4-component vector of uint)
0:44 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint bv, layout( column_major shared) uniform mediump 2X2 matrix of float bm2, layout( column_major shared) uniform lowp isampler2D sampler, layout( column_major shared) uniform structure{ global mediump int a} t, layout( column_major shared) uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, layout( column_major) global structure{ global mediump int a} t} fbs})
@@ -43,7 +43,7 @@
0:44 0 (const uint)
0:44 Constant:
0:44 1 (const int)
-0:44 Convert uint to float ( temp lowp float)
+0:44 Convert uint to float ( temp mediump float)
0:44 direct index ( temp mediump uint)
0:44 nbv: direct index for structure (layout( column_major shared) uniform mediump 4-component vector of uint)
0:44 direct index (layout( column_major shared) temp block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni})
@@ -92,18 +92,18 @@
0:42 Function Definition: main( ( global void)
0:42 Function Parameters:
0:44 Sequence
-0:44 texture ( global lowp 4-component vector of int)
+0:44 texture ( global lowp 4-component vector of int, operation at mediump)
0:44 sampler: direct index for structure ( global lowp isampler3D)
0:44 's' ( uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, global structure{ global mediump int a} t})
0:44 Constant:
0:44 2 (const int)
-0:44 Construct vec3 ( temp lowp 3-component vector of float)
-0:44 Convert int to float ( temp lowp float)
+0:44 Construct vec3 ( temp mediump 3-component vector of float)
+0:44 Convert int to float ( temp mediump float)
0:44 ni: direct index for structure (layout( column_major shared) uniform mediump int)
0:44 'inst' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni})
0:44 Constant:
0:44 1 (const int)
-0:44 Convert uint to float ( temp lowp float)
+0:44 Convert uint to float ( temp mediump float)
0:44 direct index ( temp mediump uint)
0:44 bv: direct index for structure (layout( column_major shared) uniform mediump 4-component vector of uint)
0:44 'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump 4-component vector of uint bv, layout( column_major shared) uniform mediump 2X2 matrix of float bm2, layout( column_major shared) uniform lowp isampler2D sampler, layout( column_major shared) uniform structure{ global mediump int a} t, layout( column_major shared) uniform structure{ global mediump 4-component vector of float u, global mediump 4-component vector of uint v, global lowp isampler3D sampler, global mediump 3-component vector of float w, layout( column_major) global structure{ global mediump int a} t} fbs})
@@ -111,7 +111,7 @@
0:44 0 (const uint)
0:44 Constant:
0:44 1 (const int)
-0:44 Convert uint to float ( temp lowp float)
+0:44 Convert uint to float ( temp mediump float)
0:44 direct index ( temp mediump uint)
0:44 nbv: direct index for structure (layout( column_major shared) uniform mediump 4-component vector of uint)
0:44 direct index (layout( column_major shared) temp block{layout( column_major shared) uniform mediump 4-component vector of uint nbv, layout( column_major shared) uniform mediump int ni})
diff --git a/Test/baseResults/310.comp.out b/Test/baseResults/310.comp.out
index 85b0116..ac76cbd 100644
--- a/Test/baseResults/310.comp.out
+++ b/Test/baseResults/310.comp.out
@@ -180,7 +180,7 @@
0:91 'i' ( temp highp int)
0:92 imageStore ( global highp void)
0:92 'ii2da' ( writeonly uniform highp iimage2DArray)
-0:92 Construct ivec3 ( temp 3-component vector of int)
+0:92 Construct ivec3 ( temp highp 3-component vector of int)
0:92 'i' ( temp highp int)
0:92 'i' ( temp highp int)
0:92 'i' ( temp highp int)
@@ -189,9 +189,9 @@
0:92 0 (const int)
0:92 0 (const int)
0:92 0 (const int)
-0:93 imageLoad ( global mediump 4-component vector of float)
+0:93 imageLoad ( global mediump 4-component vector of float, operation at highp)
0:93 'img2Drgba' (layout( rgba32f) readonly uniform mediump image2D)
-0:93 Construct ivec2 ( temp mediump 2-component vector of int)
+0:93 Construct ivec2 ( temp highp 2-component vector of int)
0:93 'i' ( temp highp int)
0:93 'i' ( temp highp int)
0:94 imageLoad ( global highp 4-component vector of int)
diff --git a/Test/baseResults/310.frag.out b/Test/baseResults/310.frag.out
index 9f73c67..e43a887 100644
--- a/Test/baseResults/310.frag.out
+++ b/Test/baseResults/310.frag.out
@@ -270,7 +270,7 @@
0:42 Constant:
0:42 0.000000
0:42 0.000000
-0:42 Convert float to int ( temp highp 2-component vector of int)
+0:42 Convert float to int ( temp mediump 2-component vector of int)
0:42 'c2D' ( smooth in mediump 2-component vector of float)
0:43 textureProjGradOffset ( global highp 4-component vector of uint)
0:43 'usamp2d' ( uniform highp usampler2D)
@@ -471,7 +471,7 @@
0:211 Constant:
0:211 0.100000
0:211 0.100000
-0:211 Convert float to int ( temp highp 2-component vector of int)
+0:211 Convert float to int ( temp mediump 2-component vector of int)
0:211 'inf' ( smooth in mediump 2-component vector of float)
0:212 textureGatherOffsets ( global highp 4-component vector of float)
0:212 direct index ( temp highp sampler2D)
@@ -507,7 +507,7 @@
0:221 Constant:
0:221 0.100000
0:221 0.100000
-0:221 Convert float to int ( temp highp 2-component vector of int)
+0:221 Convert float to int ( temp mediump 2-component vector of int)
0:221 'inf' ( smooth in mediump 2-component vector of float)
0:222 textureGatherOffsets ( global highp 4-component vector of float)
0:222 direct index ( temp highp sampler2D)
diff --git a/Test/baseResults/310.vert.out b/Test/baseResults/310.vert.out
index 1d2152d..13a88df 100644
--- a/Test/baseResults/310.vert.out
+++ b/Test/baseResults/310.vert.out
@@ -330,7 +330,7 @@
0:164 'sIndex' ( uniform highp int)
0:164 Constant:
0:164 2 (const int)
-0:165 textureGatherOffset ( global lowp 4-component vector of float)
+0:165 textureGatherOffset ( global lowp 4-component vector of float, operation at highp)
0:165 direct index ( temp lowp sampler2D)
0:165 'sArray' ( uniform 4-element array of lowp sampler2D)
0:165 Constant:
@@ -338,7 +338,7 @@
0:165 Constant:
0:165 0.100000
0:165 0.100000
-0:165 Convert float to int ( temp lowp 2-component vector of int)
+0:165 Convert float to int ( temp highp 2-component vector of int)
0:165 'inf' ( in highp 2-component vector of float)
0:166 textureGatherOffsets ( global lowp 4-component vector of float, operation at highp)
0:166 direct index ( temp lowp sampler2D)
@@ -394,7 +394,7 @@
0:179 'sIndex' ( uniform highp int)
0:179 Constant:
0:179 2 (const int)
-0:180 textureGatherOffset ( global lowp 4-component vector of float)
+0:180 textureGatherOffset ( global lowp 4-component vector of float, operation at highp)
0:180 direct index ( temp lowp sampler2D)
0:180 'sArray' ( uniform 4-element array of lowp sampler2D)
0:180 Constant:
@@ -402,7 +402,7 @@
0:180 Constant:
0:180 0.100000
0:180 0.100000
-0:180 Convert float to int ( temp lowp 2-component vector of int)
+0:180 Convert float to int ( temp highp 2-component vector of int)
0:180 'inf' ( in highp 2-component vector of float)
0:181 textureGatherOffsets ( global lowp 4-component vector of float, operation at highp)
0:181 direct index ( temp lowp sampler2D)
diff --git a/Test/baseResults/320.frag.out b/Test/baseResults/320.frag.out
index 002aa7f..9f4a817 100644
--- a/Test/baseResults/320.frag.out
+++ b/Test/baseResults/320.frag.out
@@ -121,7 +121,7 @@
0:76 'inf' ( smooth in mediump 2-component vector of float)
0:76 'ing' ( smooth in mediump 2-component vector of float)
0:76 'h' ( noContraction temp mediump 2-component vector of float)
-0:77 textureGatherOffset ( global lowp 4-component vector of float)
+0:77 textureGatherOffset ( global lowp 4-component vector of float, operation at mediump)
0:77 direct index ( temp lowp sampler2D)
0:77 'sArray' ( uniform 4-element array of lowp sampler2D)
0:77 Constant:
@@ -129,7 +129,7 @@
0:77 Constant:
0:77 0.100000
0:77 0.100000
-0:77 Convert float to int ( temp lowp 2-component vector of int)
+0:77 Convert float to int ( temp mediump 2-component vector of int)
0:77 'inf' ( smooth in mediump 2-component vector of float)
0:78 textureGatherOffsets ( global lowp 4-component vector of float, operation at mediump)
0:78 direct index ( temp lowp sampler2D)
diff --git a/Test/baseResults/320.vert.out b/Test/baseResults/320.vert.out
index 0313b61..5e80d14 100644
--- a/Test/baseResults/320.vert.out
+++ b/Test/baseResults/320.vert.out
@@ -99,7 +99,7 @@
0:70 'sIndex' ( uniform highp int)
0:70 Constant:
0:70 2 (const int)
-0:71 textureGatherOffset ( global lowp 4-component vector of float)
+0:71 textureGatherOffset ( global lowp 4-component vector of float, operation at highp)
0:71 direct index ( temp lowp sampler2D)
0:71 'sArray' ( uniform 4-element array of lowp sampler2D)
0:71 Constant:
@@ -107,7 +107,7 @@
0:71 Constant:
0:71 0.100000
0:71 0.100000
-0:71 Convert float to int ( temp lowp 2-component vector of int)
+0:71 Convert float to int ( temp highp 2-component vector of int)
0:71 'inf' ( in highp 2-component vector of float)
0:72 textureGatherOffsets ( global lowp 4-component vector of float, operation at highp)
0:72 direct index ( temp lowp sampler2D)
diff --git a/Test/baseResults/BestMatchFunction.vert.out b/Test/baseResults/BestMatchFunction.vert.out
new file mode 100644
index 0000000..843ffd7
--- /dev/null
+++ b/Test/baseResults/BestMatchFunction.vert.out
@@ -0,0 +1,206 @@
+BestMatchFunction.vert
+WARNING: 0:2: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5
+
+Shader version: 150
+Requested GL_ARB_gpu_shader5
+0:? Sequence
+0:7 Function Definition: f(vf4;vf4; ( global 4-component vector of float)
+0:7 Function Parameters:
+0:7 'a' ( in 4-component vector of float)
+0:7 'b' ( in 4-component vector of float)
+0:7 Sequence
+0:7 Branch: Return with expression
+0:7 component-wise multiply ( temp 4-component vector of float)
+0:7 'a' ( in 4-component vector of float)
+0:7 'b' ( in 4-component vector of float)
+0:8 Function Definition: f(vu4;vu4; ( global 4-component vector of float)
+0:8 Function Parameters:
+0:8 'a' ( in 4-component vector of uint)
+0:8 'b' ( in 4-component vector of uint)
+0:8 Sequence
+0:8 Branch: Return with expression
+0:8 Convert uint to float ( temp 4-component vector of float)
+0:8 subtract ( temp 4-component vector of uint)
+0:8 'a' ( in 4-component vector of uint)
+0:8 'b' ( in 4-component vector of uint)
+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 float)
+0:12 'result' ( smooth out 4-component vector of float)
+0:12 Function Call: f(vu4;vu4; ( global 4-component vector of float)
+0:12 Convert int to uint ( temp 4-component vector of uint)
+0:12 'u1' ( uniform 4-component vector of int)
+0:12 'u2' ( uniform 4-component vector of uint)
+0:13 switch
+0:13 condition
+0:13 'gl_VertexID' ( gl_VertexId int VertexId)
+0:13 body
+0:13 Sequence
+0:15 case: with expression
+0:15 Constant:
+0:15 0 (const int)
+0:? Sequence
+0:15 move second child to first child ( temp 4-component vector of float)
+0:15 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:15 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:15 Constant:
+0:15 0 (const uint)
+0:15 Constant:
+0:15 -1.000000
+0:15 1.000000
+0:15 0.000000
+0:15 1.000000
+0:15 Branch: Break
+0:16 case: with expression
+0:16 Constant:
+0:16 1 (const int)
+0:? Sequence
+0:16 move second child to first child ( temp 4-component vector of float)
+0:16 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:16 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:16 Constant:
+0:16 0 (const uint)
+0:16 Constant:
+0:16 1.000000
+0:16 1.000000
+0:16 0.000000
+0:16 1.000000
+0:16 Branch: Break
+0:17 case: with expression
+0:17 Constant:
+0:17 2 (const int)
+0:? Sequence
+0:17 move second child to first child ( temp 4-component vector of float)
+0:17 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:17 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:17 Constant:
+0:17 0 (const uint)
+0:17 Constant:
+0:17 -1.000000
+0:17 -1.000000
+0:17 0.000000
+0:17 1.000000
+0:17 Branch: Break
+0:18 case: with expression
+0:18 Constant:
+0:18 3 (const int)
+0:? Sequence
+0:18 move second child to first child ( temp 4-component vector of float)
+0:18 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:18 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:18 Constant:
+0:18 0 (const uint)
+0:18 Constant:
+0:18 1.000000
+0:18 -1.000000
+0:18 0.000000
+0:18 1.000000
+0:18 Branch: Break
+0:? Linker Objects
+0:? 'u1' ( uniform 4-component vector of int)
+0:? 'u2' ( uniform 4-component vector of uint)
+0:? 'result' ( smooth out 4-component vector of float)
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 150
+Requested GL_ARB_gpu_shader5
+0:? Sequence
+0:8 Function Definition: f(vu4;vu4; ( global 4-component vector of float)
+0:8 Function Parameters:
+0:8 'a' ( in 4-component vector of uint)
+0:8 'b' ( in 4-component vector of uint)
+0:8 Sequence
+0:8 Branch: Return with expression
+0:8 Convert uint to float ( temp 4-component vector of float)
+0:8 subtract ( temp 4-component vector of uint)
+0:8 'a' ( in 4-component vector of uint)
+0:8 'b' ( in 4-component vector of uint)
+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 float)
+0:12 'result' ( smooth out 4-component vector of float)
+0:12 Function Call: f(vu4;vu4; ( global 4-component vector of float)
+0:12 Convert int to uint ( temp 4-component vector of uint)
+0:12 'u1' ( uniform 4-component vector of int)
+0:12 'u2' ( uniform 4-component vector of uint)
+0:13 switch
+0:13 condition
+0:13 'gl_VertexID' ( gl_VertexId int VertexId)
+0:13 body
+0:13 Sequence
+0:15 case: with expression
+0:15 Constant:
+0:15 0 (const int)
+0:? Sequence
+0:15 move second child to first child ( temp 4-component vector of float)
+0:15 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:15 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:15 Constant:
+0:15 0 (const uint)
+0:15 Constant:
+0:15 -1.000000
+0:15 1.000000
+0:15 0.000000
+0:15 1.000000
+0:15 Branch: Break
+0:16 case: with expression
+0:16 Constant:
+0:16 1 (const int)
+0:? Sequence
+0:16 move second child to first child ( temp 4-component vector of float)
+0:16 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:16 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:16 Constant:
+0:16 0 (const uint)
+0:16 Constant:
+0:16 1.000000
+0:16 1.000000
+0:16 0.000000
+0:16 1.000000
+0:16 Branch: Break
+0:17 case: with expression
+0:17 Constant:
+0:17 2 (const int)
+0:? Sequence
+0:17 move second child to first child ( temp 4-component vector of float)
+0:17 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:17 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:17 Constant:
+0:17 0 (const uint)
+0:17 Constant:
+0:17 -1.000000
+0:17 -1.000000
+0:17 0.000000
+0:17 1.000000
+0:17 Branch: Break
+0:18 case: with expression
+0:18 Constant:
+0:18 3 (const int)
+0:? Sequence
+0:18 move second child to first child ( temp 4-component vector of float)
+0:18 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:18 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:18 Constant:
+0:18 0 (const uint)
+0:18 Constant:
+0:18 1.000000
+0:18 -1.000000
+0:18 0.000000
+0:18 1.000000
+0:18 Branch: Break
+0:? Linker Objects
+0:? 'u1' ( uniform 4-component vector of int)
+0:? 'u2' ( uniform 4-component vector of uint)
+0:? 'result' ( smooth out 4-component vector of float)
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/EndStreamPrimitive.geom.out b/Test/baseResults/EndStreamPrimitive.geom.out
new file mode 100644
index 0000000..702c3f9
--- /dev/null
+++ b/Test/baseResults/EndStreamPrimitive.geom.out
@@ -0,0 +1,97 @@
+EndStreamPrimitive.geom
+WARNING: 0:2: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5
+
+Shader version: 150
+Requested GL_ARB_gpu_shader5
+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 float)
+0:12 'output1' (layout( stream=0) out float)
+0:12 Constant:
+0:12 1.000000
+0:13 move second child to first child ( temp float)
+0:13 'output2' (layout( stream=0) out float)
+0:13 Constant:
+0:13 2.000000
+0:14 EmitStreamVertex ( global void)
+0:14 Constant:
+0:14 0 (const int)
+0:15 EndStreamPrimitive ( global void)
+0:15 Constant:
+0:15 0 (const int)
+0:16 move second child to first child ( temp float)
+0:16 'output3' (layout( stream=1) out float)
+0:16 Constant:
+0:16 3.000000
+0:17 move second child to first child ( temp float)
+0:17 'output4' (layout( stream=1) out float)
+0:17 Constant:
+0:17 4.000000
+0:18 EmitStreamVertex ( global void)
+0:18 Constant:
+0:18 1 (const int)
+0:19 EndStreamPrimitive ( global void)
+0:19 Constant:
+0:19 1 (const int)
+0:? Linker Objects
+0:? 'output1' (layout( stream=0) out float)
+0:? 'output2' (layout( stream=0) out float)
+0:? 'output3' (layout( stream=1) out float)
+0:? 'output4' (layout( stream=1) out float)
+0:? 'stream' ( uniform uint)
+
+
+Linked geometry stage:
+
+
+Shader version: 150
+Requested GL_ARB_gpu_shader5
+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 float)
+0:12 'output1' (layout( stream=0) out float)
+0:12 Constant:
+0:12 1.000000
+0:13 move second child to first child ( temp float)
+0:13 'output2' (layout( stream=0) out float)
+0:13 Constant:
+0:13 2.000000
+0:14 EmitStreamVertex ( global void)
+0:14 Constant:
+0:14 0 (const int)
+0:15 EndStreamPrimitive ( global void)
+0:15 Constant:
+0:15 0 (const int)
+0:16 move second child to first child ( temp float)
+0:16 'output3' (layout( stream=1) out float)
+0:16 Constant:
+0:16 3.000000
+0:17 move second child to first child ( temp float)
+0:17 'output4' (layout( stream=1) out float)
+0:17 Constant:
+0:17 4.000000
+0:18 EmitStreamVertex ( global void)
+0:18 Constant:
+0:18 1 (const int)
+0:19 EndStreamPrimitive ( global void)
+0:19 Constant:
+0:19 1 (const int)
+0:? Linker Objects
+0:? 'output1' (layout( stream=0) out float)
+0:? 'output2' (layout( stream=0) out float)
+0:? 'output3' (layout( stream=1) out float)
+0:? 'output4' (layout( stream=1) out float)
+0:? 'stream' ( uniform uint)
+
diff --git a/Test/baseResults/GL_ARB_draw_instanced.vert.out b/Test/baseResults/GL_ARB_draw_instanced.vert.out
new file mode 100644
index 0000000..e601bc8
--- /dev/null
+++ b/Test/baseResults/GL_ARB_draw_instanced.vert.out
@@ -0,0 +1,189 @@
+GL_ARB_draw_instanced.vert
+Shader version: 150
+Requested GL_ARB_draw_instanced
+0:? Sequence
+0:10 Function Definition: main( ( global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child ( temp 4-component vector of float)
+0:12 'vertex' ( temp 4-component vector of float)
+0:12 add ( temp 4-component vector of float)
+0:12 Construct vec4 ( temp 4-component vector of float)
+0:12 divide ( temp 2-component vector of float)
+0:12 vector swizzle ( temp 2-component vector of float)
+0:12 direct index ( temp 4-component vector of float)
+0:12 'va' ( in 64-element array of 4-component vector of float)
+0:12 Constant:
+0:12 0 (const int)
+0:12 Sequence
+0:12 Constant:
+0:12 0 (const int)
+0:12 Constant:
+0:12 1 (const int)
+0:12 Constant:
+0:12 3.000000
+0:12 vector swizzle ( temp 2-component vector of float)
+0:12 direct index ( temp 4-component vector of float)
+0:12 'va' ( in 64-element array of 4-component vector of float)
+0:12 Constant:
+0:12 0 (const int)
+0:12 Sequence
+0:12 Constant:
+0:12 2 (const int)
+0:12 Constant:
+0:12 3 (const int)
+0:12 Construct vec4 ( temp 4-component vector of float)
+0:12 indirect index ( temp 3-component vector of float)
+0:12 'instanceOffsets' ( uniform 3-element array of 3-component vector of float)
+0:12 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+0:12 Constant:
+0:12 1.000000
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 'color' ( smooth out 4-component vector of float)
+0:13 Constant:
+0:13 0.000000
+0:13 0.000000
+0:13 0.000000
+0:13 0.000000
+0:14 Sequence
+0:14 Sequence
+0:14 move second child to first child ( temp int)
+0:14 'i' ( temp int)
+0:14 Constant:
+0:14 1 (const int)
+0:14 Loop with condition tested first
+0:14 Loop Condition
+0:14 Compare Less Than ( temp bool)
+0:14 'i' ( temp int)
+0:14 Constant:
+0:14 64 (const int)
+0:14 Loop Body
+0:15 add second child into first child ( temp 4-component vector of float)
+0:15 'color' ( smooth out 4-component vector of float)
+0:15 indirect index ( temp 4-component vector of float)
+0:15 'va' ( in 64-element array of 4-component vector of float)
+0:15 'i' ( temp int)
+0:14 Loop Terminal Expression
+0:14 Post-Increment ( temp int)
+0:14 'i' ( temp int)
+0:16 move second child to first child ( temp 4-component vector of float)
+0:16 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:16 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:16 Constant:
+0:16 0 (const uint)
+0:16 matrix-times-vector ( temp 4-component vector of float)
+0:16 'gtf_ModelViewProjectionMatrix' ( uniform 4X4 matrix of float)
+0:16 'vertex' ( temp 4-component vector of float)
+0:17 move second child to first child ( temp float)
+0:17 gl_PointSize: direct index for structure ( gl_PointSize float PointSize)
+0:17 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:17 Constant:
+0:17 1 (const uint)
+0:17 Constant:
+0:17 1.000000
+0:? Linker Objects
+0:? 'gtf_ModelViewProjectionMatrix' ( uniform 4X4 matrix of float)
+0:? 'instanceOffsets' ( uniform 3-element array of 3-component vector of float)
+0:? 'va' ( in 64-element array of 4-component vector of float)
+0:? 'color' ( smooth out 4-component vector of float)
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 150
+Requested GL_ARB_draw_instanced
+0:? Sequence
+0:10 Function Definition: main( ( global void)
+0:10 Function Parameters:
+0:12 Sequence
+0:12 Sequence
+0:12 move second child to first child ( temp 4-component vector of float)
+0:12 'vertex' ( temp 4-component vector of float)
+0:12 add ( temp 4-component vector of float)
+0:12 Construct vec4 ( temp 4-component vector of float)
+0:12 divide ( temp 2-component vector of float)
+0:12 vector swizzle ( temp 2-component vector of float)
+0:12 direct index ( temp 4-component vector of float)
+0:12 'va' ( in 64-element array of 4-component vector of float)
+0:12 Constant:
+0:12 0 (const int)
+0:12 Sequence
+0:12 Constant:
+0:12 0 (const int)
+0:12 Constant:
+0:12 1 (const int)
+0:12 Constant:
+0:12 3.000000
+0:12 vector swizzle ( temp 2-component vector of float)
+0:12 direct index ( temp 4-component vector of float)
+0:12 'va' ( in 64-element array of 4-component vector of float)
+0:12 Constant:
+0:12 0 (const int)
+0:12 Sequence
+0:12 Constant:
+0:12 2 (const int)
+0:12 Constant:
+0:12 3 (const int)
+0:12 Construct vec4 ( temp 4-component vector of float)
+0:12 indirect index ( temp 3-component vector of float)
+0:12 'instanceOffsets' ( uniform 3-element array of 3-component vector of float)
+0:12 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+0:12 Constant:
+0:12 1.000000
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 'color' ( smooth out 4-component vector of float)
+0:13 Constant:
+0:13 0.000000
+0:13 0.000000
+0:13 0.000000
+0:13 0.000000
+0:14 Sequence
+0:14 Sequence
+0:14 move second child to first child ( temp int)
+0:14 'i' ( temp int)
+0:14 Constant:
+0:14 1 (const int)
+0:14 Loop with condition tested first
+0:14 Loop Condition
+0:14 Compare Less Than ( temp bool)
+0:14 'i' ( temp int)
+0:14 Constant:
+0:14 64 (const int)
+0:14 Loop Body
+0:15 add second child into first child ( temp 4-component vector of float)
+0:15 'color' ( smooth out 4-component vector of float)
+0:15 indirect index ( temp 4-component vector of float)
+0:15 'va' ( in 64-element array of 4-component vector of float)
+0:15 'i' ( temp int)
+0:14 Loop Terminal Expression
+0:14 Post-Increment ( temp int)
+0:14 'i' ( temp int)
+0:16 move second child to first child ( temp 4-component vector of float)
+0:16 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:16 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:16 Constant:
+0:16 0 (const uint)
+0:16 matrix-times-vector ( temp 4-component vector of float)
+0:16 'gtf_ModelViewProjectionMatrix' ( uniform 4X4 matrix of float)
+0:16 'vertex' ( temp 4-component vector of float)
+0:17 move second child to first child ( temp float)
+0:17 gl_PointSize: direct index for structure ( gl_PointSize float PointSize)
+0:17 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:17 Constant:
+0:17 1 (const uint)
+0:17 Constant:
+0:17 1.000000
+0:? Linker Objects
+0:? 'gtf_ModelViewProjectionMatrix' ( uniform 4X4 matrix of float)
+0:? 'instanceOffsets' ( uniform 3-element array of 3-component vector of float)
+0:? 'va' ( in 64-element array of 4-component vector of float)
+0:? 'color' ( smooth out 4-component vector of float)
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/GL_ARB_fragment_coord_conventions.vert.out b/Test/baseResults/GL_ARB_fragment_coord_conventions.vert.out
new file mode 100644
index 0000000..3b55ae0
--- /dev/null
+++ b/Test/baseResults/GL_ARB_fragment_coord_conventions.vert.out
@@ -0,0 +1,143 @@
+GL_ARB_fragment_coord_conventions.vert
+Shader version: 140
+Requested GL_ARB_explicit_attrib_location
+Requested GL_ARB_fragment_coord_conventions
+0:? Sequence
+0:22 Function Definition: main( ( global void)
+0:22 Function Parameters:
+0:24 Sequence
+0:24 move second child to first child ( temp 4-component vector of float)
+0:24 'gl_Position' ( gl_Position 4-component vector of float Position)
+0:24 'pos' (layout( location=0) in 4-component vector of float)
+0:25 move second child to first child ( temp 4-component vector of float)
+0:25 'i' ( smooth out 4-component vector of float)
+0:25 Construct vec4 ( temp 4-component vector of float)
+0:25 component-wise multiply ( temp float)
+0:25 component-wise multiply ( temp float)
+0:25 add ( temp float)
+0:25 direct index ( temp float)
+0:25 'pos' (layout( location=0) in 4-component vector of float)
+0:25 Constant:
+0:25 0 (const int)
+0:25 Constant:
+0:25 1.000000
+0:25 Constant:
+0:25 0.500000
+0:25 'gtf_windowWidth' ( uniform float)
+0:25 component-wise multiply ( temp float)
+0:25 component-wise multiply ( temp float)
+0:25 add ( temp float)
+0:25 direct index ( temp float)
+0:25 'pos' (layout( location=0) in 4-component vector of float)
+0:25 Constant:
+0:25 1 (const int)
+0:25 Constant:
+0:25 1.000000
+0:25 Constant:
+0:25 0.500000
+0:25 'gtf_windowHeight' ( uniform float)
+0:25 add ( temp float)
+0:25 component-wise multiply ( temp float)
+0:25 component-wise multiply ( temp float)
+0:25 subtract ( temp float)
+0:25 'f' ( uniform float)
+0:25 'n' ( uniform float)
+0:25 Constant:
+0:25 0.500000
+0:25 direct index ( temp float)
+0:25 'pos' (layout( location=0) in 4-component vector of float)
+0:25 Constant:
+0:25 2 (const int)
+0:25 component-wise multiply ( temp float)
+0:25 add ( temp float)
+0:25 'f' ( uniform float)
+0:25 'n' ( uniform float)
+0:25 Constant:
+0:25 0.500000
+0:25 direct index ( temp float)
+0:25 'pos' (layout( location=0) in 4-component vector of float)
+0:25 Constant:
+0:25 3 (const int)
+0:? Linker Objects
+0:? 'pos' (layout( location=0) in 4-component vector of float)
+0:? 'i' ( smooth out 4-component vector of float)
+0:? 'gtf_windowWidth' ( uniform float)
+0:? 'gtf_windowHeight' ( uniform float)
+0:? 'n' ( uniform float)
+0:? 'f' ( uniform float)
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 140
+Requested GL_ARB_explicit_attrib_location
+Requested GL_ARB_fragment_coord_conventions
+0:? Sequence
+0:22 Function Definition: main( ( global void)
+0:22 Function Parameters:
+0:24 Sequence
+0:24 move second child to first child ( temp 4-component vector of float)
+0:24 'gl_Position' ( gl_Position 4-component vector of float Position)
+0:24 'pos' (layout( location=0) in 4-component vector of float)
+0:25 move second child to first child ( temp 4-component vector of float)
+0:25 'i' ( smooth out 4-component vector of float)
+0:25 Construct vec4 ( temp 4-component vector of float)
+0:25 component-wise multiply ( temp float)
+0:25 component-wise multiply ( temp float)
+0:25 add ( temp float)
+0:25 direct index ( temp float)
+0:25 'pos' (layout( location=0) in 4-component vector of float)
+0:25 Constant:
+0:25 0 (const int)
+0:25 Constant:
+0:25 1.000000
+0:25 Constant:
+0:25 0.500000
+0:25 'gtf_windowWidth' ( uniform float)
+0:25 component-wise multiply ( temp float)
+0:25 component-wise multiply ( temp float)
+0:25 add ( temp float)
+0:25 direct index ( temp float)
+0:25 'pos' (layout( location=0) in 4-component vector of float)
+0:25 Constant:
+0:25 1 (const int)
+0:25 Constant:
+0:25 1.000000
+0:25 Constant:
+0:25 0.500000
+0:25 'gtf_windowHeight' ( uniform float)
+0:25 add ( temp float)
+0:25 component-wise multiply ( temp float)
+0:25 component-wise multiply ( temp float)
+0:25 subtract ( temp float)
+0:25 'f' ( uniform float)
+0:25 'n' ( uniform float)
+0:25 Constant:
+0:25 0.500000
+0:25 direct index ( temp float)
+0:25 'pos' (layout( location=0) in 4-component vector of float)
+0:25 Constant:
+0:25 2 (const int)
+0:25 component-wise multiply ( temp float)
+0:25 add ( temp float)
+0:25 'f' ( uniform float)
+0:25 'n' ( uniform float)
+0:25 Constant:
+0:25 0.500000
+0:25 direct index ( temp float)
+0:25 'pos' (layout( location=0) in 4-component vector of float)
+0:25 Constant:
+0:25 3 (const int)
+0:? Linker Objects
+0:? 'pos' (layout( location=0) in 4-component vector of float)
+0:? 'i' ( smooth out 4-component vector of float)
+0:? 'gtf_windowWidth' ( uniform float)
+0:? 'gtf_windowHeight' ( uniform float)
+0:? 'n' ( uniform float)
+0:? 'f' ( uniform float)
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/GL_ARB_gpu_shader5.u2i.vert.out b/Test/baseResults/GL_ARB_gpu_shader5.u2i.vert.out
new file mode 100644
index 0000000..c7b3455
--- /dev/null
+++ b/Test/baseResults/GL_ARB_gpu_shader5.u2i.vert.out
@@ -0,0 +1,57 @@
+GL_ARB_gpu_shader5.u2i.vert
+WARNING: 0:2: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5
+
+Shader version: 150
+Requested GL_ARB_gpu_shader5
+0:? Sequence
+0:7 Function Definition: main( ( global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Sequence
+0:9 move second child to first child ( temp uint)
+0:9 'v' ( temp uint)
+0:9 Constant:
+0:9 0 (const uint)
+0:10 move second child to first child ( temp uint)
+0:10 'v' ( temp uint)
+0:10 subtract ( temp uint)
+0:10 Convert int to uint ( temp uint)
+0:10 'u2' ( uniform int)
+0:10 Convert int to uint ( temp uint)
+0:10 'u1' ( uniform int)
+0:? Linker Objects
+0:? 'u1' ( uniform int)
+0:? 'u2' ( uniform int)
+0:? 'result' ( smooth out 4-component vector of float)
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 150
+Requested GL_ARB_gpu_shader5
+0:? Sequence
+0:7 Function Definition: main( ( global void)
+0:7 Function Parameters:
+0:9 Sequence
+0:9 Sequence
+0:9 move second child to first child ( temp uint)
+0:9 'v' ( temp uint)
+0:9 Constant:
+0:9 0 (const uint)
+0:10 move second child to first child ( temp uint)
+0:10 'v' ( temp uint)
+0:10 subtract ( temp uint)
+0:10 Convert int to uint ( temp uint)
+0:10 'u2' ( uniform int)
+0:10 Convert int to uint ( temp uint)
+0:10 'u1' ( uniform int)
+0:? Linker Objects
+0:? 'u1' ( uniform int)
+0:? 'u2' ( uniform int)
+0:? 'result' ( smooth out 4-component vector of float)
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/GL_EXT_shader_integer_mix.vert.out b/Test/baseResults/GL_EXT_shader_integer_mix.vert.out
new file mode 100644
index 0000000..4a62b57
--- /dev/null
+++ b/Test/baseResults/GL_EXT_shader_integer_mix.vert.out
@@ -0,0 +1,47 @@
+GL_EXT_shader_integer_mix.vert
+Shader version: 330
+Requested GL_EXT_shader_integer_mix
+0:? Sequence
+0:11 Function Definition: main( ( global void)
+0:11 Function Parameters:
+0:12 Sequence
+0:12 move second child to first child ( temp 4-component vector of float)
+0:12 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:12 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:12 Constant:
+0:12 0 (const uint)
+0:12 Constant:
+0:12 0.000000
+0:12 0.000000
+0:12 0.000000
+0:12 0.000000
+0:? Linker Objects
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 330
+Requested GL_EXT_shader_integer_mix
+0:? Sequence
+0:11 Function Definition: main( ( global void)
+0:11 Function Parameters:
+0:12 Sequence
+0:12 move second child to first child ( temp 4-component vector of float)
+0:12 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:12 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:12 Constant:
+0:12 0 (const uint)
+0:12 Constant:
+0:12 0.000000
+0:12 0.000000
+0:12 0.000000
+0:12 0.000000
+0:? Linker Objects
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/atomicAdd.comp.out b/Test/baseResults/atomicAdd.comp.out
new file mode 100644
index 0000000..6752a71
--- /dev/null
+++ b/Test/baseResults/atomicAdd.comp.out
@@ -0,0 +1,87 @@
+atomicAdd.comp
+ERROR: 0:18: 'atomicAdd' : Atomic memory function can only be used for shader storage block member or shared variable.
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 320
+local_size = (1, 1, 1)
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( ( global void)
+0:15 Function Parameters:
+0:16 Sequence
+0:16 AtomicAdd ( global highp int)
+0:16 x: direct index for structure (layout( column_major shared) coherent buffer highp int)
+0:16 'anon@0' (layout( column_major shared) coherent buffer block{layout( column_major shared) coherent buffer highp int x})
+0:16 Constant:
+0:16 0 (const uint)
+0:16 Constant:
+0:16 1 (const int)
+0:17 AtomicAdd ( global highp int)
+0:17 direct index (layout( std430) temp highp int)
+0:17 y: direct index for structure (layout( std430) global 3-element array of highp int)
+0:17 f: direct index for structure (layout( column_major std430 offset=0) buffer structure{layout( std430) global 3-element array of highp int y})
+0:17 't' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer structure{layout( std430) global 3-element array of highp int y} f})
+0:17 Constant:
+0:17 0 (const int)
+0:17 Constant:
+0:17 0 (const int)
+0:17 Constant:
+0:17 1 (const int)
+0:17 Constant:
+0:17 1 (const int)
+0:18 AtomicAdd ( global highp int)
+0:18 'z' ( global highp int)
+0:18 Constant:
+0:18 1 (const int)
+0:? Linker Objects
+0:? 'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:? 1 (const uint)
+0:? 1 (const uint)
+0:? 1 (const uint)
+0:? 't' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer structure{layout( std430) global 3-element array of highp int y} f})
+0:? 'anon@0' (layout( column_major shared) coherent buffer block{layout( column_major shared) coherent buffer highp int x})
+0:? 'z' ( global highp int)
+
+
+Linked compute stage:
+
+
+Shader version: 320
+local_size = (1, 1, 1)
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( ( global void)
+0:15 Function Parameters:
+0:16 Sequence
+0:16 AtomicAdd ( global highp int)
+0:16 x: direct index for structure (layout( column_major shared) coherent buffer highp int)
+0:16 'anon@0' (layout( column_major shared) coherent buffer block{layout( column_major shared) coherent buffer highp int x})
+0:16 Constant:
+0:16 0 (const uint)
+0:16 Constant:
+0:16 1 (const int)
+0:17 AtomicAdd ( global highp int)
+0:17 direct index (layout( std430) temp highp int)
+0:17 y: direct index for structure (layout( std430) global 3-element array of highp int)
+0:17 f: direct index for structure (layout( column_major std430 offset=0) buffer structure{layout( std430) global 3-element array of highp int y})
+0:17 't' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer structure{layout( std430) global 3-element array of highp int y} f})
+0:17 Constant:
+0:17 0 (const int)
+0:17 Constant:
+0:17 0 (const int)
+0:17 Constant:
+0:17 1 (const int)
+0:17 Constant:
+0:17 1 (const int)
+0:18 AtomicAdd ( global highp int)
+0:18 'z' ( global highp int)
+0:18 Constant:
+0:18 1 (const int)
+0:? Linker Objects
+0:? 'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
+0:? 1 (const uint)
+0:? 1 (const uint)
+0:? 1 (const uint)
+0:? 't' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer structure{layout( std430) global 3-element array of highp int y} f})
+0:? 'anon@0' (layout( column_major shared) coherent buffer block{layout( column_major shared) coherent buffer highp int x})
+0:? 'z' ( global highp int)
+
diff --git a/Test/baseResults/atomicCounterARBOps.vert.out b/Test/baseResults/atomicCounterARBOps.vert.out
new file mode 100644
index 0000000..ebb4411
--- /dev/null
+++ b/Test/baseResults/atomicCounterARBOps.vert.out
@@ -0,0 +1,201 @@
+atomicCounterARBOps.vert
+Shader version: 450
+Requested GL_ARB_shader_atomic_counter_ops
+Requested GL_ARB_shader_atomic_counters
+0:? Sequence
+0:9 Function Definition: main( ( global void)
+0:9 Function Parameters:
+0:10 Sequence
+0:10 Sequence
+0:10 move second child to first child ( temp 4-component vector of float)
+0:10 'outColor' ( temp 4-component vector of float)
+0:10 Constant:
+0:10 1.000000
+0:10 1.000000
+0:10 1.000000
+0:10 1.000000
+0:13 move second child to first child ( temp uint)
+0:13 'ret' ( temp uint)
+0:13 AtomicCounterAdd ( global uint)
+0:13 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:13 Constant:
+0:13 4 (const uint)
+0:14 move second child to first child ( temp uint)
+0:14 'ret' ( temp uint)
+0:14 AtomicCounterSubtract ( global uint)
+0:14 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:14 Constant:
+0:14 4 (const uint)
+0:15 move second child to first child ( temp uint)
+0:15 'ret' ( temp uint)
+0:15 AtomicCounterMin ( global uint)
+0:15 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:15 Constant:
+0:15 4 (const uint)
+0:16 move second child to first child ( temp uint)
+0:16 'ret' ( temp uint)
+0:16 AtomicCounterMax ( global uint)
+0:16 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:16 Constant:
+0:16 4 (const uint)
+0:17 move second child to first child ( temp uint)
+0:17 'ret' ( temp uint)
+0:17 AtomicCounterAnd ( global uint)
+0:17 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:17 Constant:
+0:17 4 (const uint)
+0:18 move second child to first child ( temp uint)
+0:18 'ret' ( temp uint)
+0:18 AtomicCounterOr ( global uint)
+0:18 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:18 Constant:
+0:18 4 (const uint)
+0:19 move second child to first child ( temp uint)
+0:19 'ret' ( temp uint)
+0:19 AtomicCounterXor ( global uint)
+0:19 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:19 Constant:
+0:19 4 (const uint)
+0:20 move second child to first child ( temp uint)
+0:20 'ret' ( temp uint)
+0:20 AtomicCounterExchange ( global uint)
+0:20 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:20 Constant:
+0:20 4 (const uint)
+0:21 move second child to first child ( temp uint)
+0:21 'ret' ( temp uint)
+0:21 AtomicCounterCompSwap ( global uint)
+0:21 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:21 Constant:
+0:21 4 (const uint)
+0:21 Constant:
+0:21 4 (const uint)
+0:23 Sequence
+0:23 move second child to first child ( temp uint)
+0:23 'after' ( temp uint)
+0:23 AtomicCounter ( global uint)
+0:23 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:24 Test condition and select ( temp void)
+0:24 Condition
+0:24 Compare Equal ( temp bool)
+0:24 'after' ( temp uint)
+0:24 'ret' ( temp uint)
+0:24 true case
+0:25 move second child to first child ( temp 4-component vector of float)
+0:25 'outColor' ( temp 4-component vector of float)
+0:25 Constant:
+0:25 0.000000
+0:25 0.000000
+0:25 0.000000
+0:25 0.000000
+0:27 move second child to first child ( temp 4-component vector of float)
+0:27 'vsColor' ( smooth out 4-component vector of float)
+0:27 'outColor' ( temp 4-component vector of float)
+0:? Linker Objects
+0:? 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:? 'vsColor' ( smooth out 4-component vector of float)
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 450
+Requested GL_ARB_shader_atomic_counter_ops
+Requested GL_ARB_shader_atomic_counters
+0:? Sequence
+0:9 Function Definition: main( ( global void)
+0:9 Function Parameters:
+0:10 Sequence
+0:10 Sequence
+0:10 move second child to first child ( temp 4-component vector of float)
+0:10 'outColor' ( temp 4-component vector of float)
+0:10 Constant:
+0:10 1.000000
+0:10 1.000000
+0:10 1.000000
+0:10 1.000000
+0:13 move second child to first child ( temp uint)
+0:13 'ret' ( temp uint)
+0:13 AtomicCounterAdd ( global uint)
+0:13 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:13 Constant:
+0:13 4 (const uint)
+0:14 move second child to first child ( temp uint)
+0:14 'ret' ( temp uint)
+0:14 AtomicCounterSubtract ( global uint)
+0:14 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:14 Constant:
+0:14 4 (const uint)
+0:15 move second child to first child ( temp uint)
+0:15 'ret' ( temp uint)
+0:15 AtomicCounterMin ( global uint)
+0:15 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:15 Constant:
+0:15 4 (const uint)
+0:16 move second child to first child ( temp uint)
+0:16 'ret' ( temp uint)
+0:16 AtomicCounterMax ( global uint)
+0:16 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:16 Constant:
+0:16 4 (const uint)
+0:17 move second child to first child ( temp uint)
+0:17 'ret' ( temp uint)
+0:17 AtomicCounterAnd ( global uint)
+0:17 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:17 Constant:
+0:17 4 (const uint)
+0:18 move second child to first child ( temp uint)
+0:18 'ret' ( temp uint)
+0:18 AtomicCounterOr ( global uint)
+0:18 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:18 Constant:
+0:18 4 (const uint)
+0:19 move second child to first child ( temp uint)
+0:19 'ret' ( temp uint)
+0:19 AtomicCounterXor ( global uint)
+0:19 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:19 Constant:
+0:19 4 (const uint)
+0:20 move second child to first child ( temp uint)
+0:20 'ret' ( temp uint)
+0:20 AtomicCounterExchange ( global uint)
+0:20 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:20 Constant:
+0:20 4 (const uint)
+0:21 move second child to first child ( temp uint)
+0:21 'ret' ( temp uint)
+0:21 AtomicCounterCompSwap ( global uint)
+0:21 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:21 Constant:
+0:21 4 (const uint)
+0:21 Constant:
+0:21 4 (const uint)
+0:23 Sequence
+0:23 move second child to first child ( temp uint)
+0:23 'after' ( temp uint)
+0:23 AtomicCounter ( global uint)
+0:23 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:24 Test condition and select ( temp void)
+0:24 Condition
+0:24 Compare Equal ( temp bool)
+0:24 'after' ( temp uint)
+0:24 'ret' ( temp uint)
+0:24 true case
+0:25 move second child to first child ( temp 4-component vector of float)
+0:25 'outColor' ( temp 4-component vector of float)
+0:25 Constant:
+0:25 0.000000
+0:25 0.000000
+0:25 0.000000
+0:25 0.000000
+0:27 move second child to first child ( temp 4-component vector of float)
+0:27 'vsColor' ( smooth out 4-component vector of float)
+0:27 'outColor' ( temp 4-component vector of float)
+0:? Linker Objects
+0:? 'counter' (layout( binding=0 offset=0) uniform atomic_uint)
+0:? 'vsColor' ( smooth out 4-component vector of float)
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/constantUnaryConversion.comp.out b/Test/baseResults/constantUnaryConversion.comp.out
index fcaf6f2..78372f0 100644
--- a/Test/baseResults/constantUnaryConversion.comp.out
+++ b/Test/baseResults/constantUnaryConversion.comp.out
@@ -3,8 +3,8 @@
Requested GL_EXT_shader_explicit_arithmetic_types
local_size = (1, 1, 1)
0:? Sequence
-0:48 Function Definition: main( ( global void)
-0:48 Function Parameters:
+0:69 Function Definition: main( ( global void)
+0:69 Function Parameters:
0:? Linker Objects
0:? 'bool_init' ( const bool)
0:? true (const bool)
@@ -29,6 +29,12 @@
0:? 'float32_t_init' ( const float)
0:? 13.000000
0:? 'float64_t_init' ( const double)
+0:? 4.000000
+0:? 'neg_float16_t_init' ( const float16_t)
+0:? -42.000000
+0:? 'neg_float32_t_init' ( const float)
+0:? -13.000000
+0:? 'neg_float64_t_init' ( const double)
0:? -4.000000
0:? 'bool_to_bool' ( const bool)
0:? true (const bool)
@@ -77,7 +83,7 @@
0:? 'float32_t_to_int8_t' ( const int8_t)
0:? 13 (const int8_t)
0:? 'float64_t_to_int8_t' ( const int8_t)
-0:? -4 (const int8_t)
+0:? 4 (const int8_t)
0:? 'bool_to_int16_t' ( const int16_t)
0:? 1 (const int16_t)
0:? 'int8_t_to_int16_t' ( const int16_t)
@@ -101,7 +107,7 @@
0:? 'float32_t_to_int16_t' ( const int16_t)
0:? 13 (const int16_t)
0:? 'float64_t_to_int16_t' ( const int16_t)
-0:? -4 (const int16_t)
+0:? 4 (const int16_t)
0:? 'bool_to_int32_t' ( const int)
0:? 1 (const int)
0:? 'int8_t_to_int32_t' ( const int)
@@ -125,7 +131,7 @@
0:? 'float32_t_to_int32_t' ( const int)
0:? 13 (const int)
0:? 'float64_t_to_int32_t' ( const int)
-0:? -4 (const int)
+0:? 4 (const int)
0:? 'bool_to_int64_t' ( const int64_t)
0:? 1 (const int64_t)
0:? 'int8_t_to_int64_t' ( const int64_t)
@@ -149,7 +155,7 @@
0:? 'float32_t_to_int64_t' ( const int64_t)
0:? 13 (const int64_t)
0:? 'float64_t_to_int64_t' ( const int64_t)
-0:? -4 (const int64_t)
+0:? 4 (const int64_t)
0:? 'bool_to_uint8_t' ( const uint8_t)
0:? 1 (const uint8_t)
0:? 'int8_t_to_uint8_t' ( const uint8_t)
@@ -173,7 +179,7 @@
0:? 'float32_t_to_uint8_t' ( const uint8_t)
0:? 13 (const uint8_t)
0:? 'float64_t_to_uint8_t' ( const uint8_t)
-0:? 252 (const uint8_t)
+0:? 4 (const uint8_t)
0:? 'bool_to_uint16_t' ( const uint16_t)
0:? 1 (const uint16_t)
0:? 'int8_t_to_uint16_t' ( const uint16_t)
@@ -197,7 +203,7 @@
0:? 'float32_t_to_uint16_t' ( const uint16_t)
0:? 13 (const uint16_t)
0:? 'float64_t_to_uint16_t' ( const uint16_t)
-0:? 65532 (const uint16_t)
+0:? 4 (const uint16_t)
0:? 'bool_to_uint32_t' ( const uint)
0:? 1 (const uint)
0:? 'int8_t_to_uint32_t' ( const uint)
@@ -221,7 +227,7 @@
0:? 'float32_t_to_uint32_t' ( const uint)
0:? 13 (const uint)
0:? 'float64_t_to_uint32_t' ( const uint)
-0:? 4294967292 (const uint)
+0:? 4 (const uint)
0:? 'bool_to_uint64_t' ( const uint64_t)
0:? 1 (const uint64_t)
0:? 'int8_t_to_uint64_t' ( const uint64_t)
@@ -245,7 +251,7 @@
0:? 'float32_t_to_uint64_t' ( const uint64_t)
0:? 13 (const uint64_t)
0:? 'float64_t_to_uint64_t' ( const uint64_t)
-0:? 18446744073709551612 (const uint64_t)
+0:? 4 (const uint64_t)
0:? 'bool_to_float16_t' ( const float16_t)
0:? 1.000000
0:? 'int8_t_to_float16_t' ( const float16_t)
@@ -269,7 +275,7 @@
0:? 'float32_t_to_float16_t' ( const float16_t)
0:? 13.000000
0:? 'float64_t_to_float16_t' ( const float16_t)
-0:? -4.000000
+0:? 4.000000
0:? 'bool_to_float32_t' ( const float)
0:? 1.000000
0:? 'int8_t_to_float32_t' ( const float)
@@ -293,7 +299,7 @@
0:? 'float32_t_to_float32_t' ( const float)
0:? 13.000000
0:? 'float64_t_to_float32_t' ( const float)
-0:? -4.000000
+0:? 4.000000
0:? 'bool_to_float64_t' ( const double)
0:? 1.000000
0:? 'int8_t_to_float64_t' ( const double)
@@ -317,6 +323,54 @@
0:? 'float32_t_to_float64_t' ( const double)
0:? 13.000000
0:? 'float64_t_to_float64_t' ( const double)
+0:? 4.000000
+0:? 'neg_float16_t_to_bool' ( const bool)
+0:? true (const bool)
+0:? 'neg_float32_t_to_bool' ( const bool)
+0:? true (const bool)
+0:? 'neg_float64_t_to_bool' ( const bool)
+0:? true (const bool)
+0:? 'neg_float16_t_to_int8_t' ( const int8_t)
+0:? -42 (const int8_t)
+0:? 'neg_float32_t_to_int8_t' ( const int8_t)
+0:? -13 (const int8_t)
+0:? 'neg_float64_t_to_int8_t' ( const int8_t)
+0:? -4 (const int8_t)
+0:? 'neg_float16_t_to_int16_t' ( const int16_t)
+0:? -42 (const int16_t)
+0:? 'neg_float32_t_to_int16_t' ( const int16_t)
+0:? -13 (const int16_t)
+0:? 'neg_float64_t_to_int16_t' ( const int16_t)
+0:? -4 (const int16_t)
+0:? 'neg_float16_t_to_int32_t' ( const int)
+0:? -42 (const int)
+0:? 'neg_float32_t_to_int32_t' ( const int)
+0:? -13 (const int)
+0:? 'neg_float64_t_to_int32_t' ( const int)
+0:? -4 (const int)
+0:? 'neg_float16_t_to_int64_t' ( const int64_t)
+0:? -42 (const int64_t)
+0:? 'neg_float32_t_to_int64_t' ( const int64_t)
+0:? -13 (const int64_t)
+0:? 'neg_float64_t_to_int64_t' ( const int64_t)
+0:? -4 (const int64_t)
+0:? 'neg_float16_t_to_float16_t' ( const float16_t)
+0:? -42.000000
+0:? 'neg_float32_t_to_float16_t' ( const float16_t)
+0:? -13.000000
+0:? 'neg_float64_t_to_float16_t' ( const float16_t)
+0:? -4.000000
+0:? 'neg_float16_t_to_float32_t' ( const float)
+0:? -42.000000
+0:? 'neg_float32_t_to_float32_t' ( const float)
+0:? -13.000000
+0:? 'neg_float64_t_to_float32_t' ( const float)
+0:? -4.000000
+0:? 'neg_float16_t_to_float64_t' ( const double)
+0:? -42.000000
+0:? 'neg_float32_t_to_float64_t' ( const double)
+0:? -13.000000
+0:? 'neg_float64_t_to_float64_t' ( const double)
0:? -4.000000
@@ -327,8 +381,8 @@
Requested GL_EXT_shader_explicit_arithmetic_types
local_size = (1, 1, 1)
0:? Sequence
-0:48 Function Definition: main( ( global void)
-0:48 Function Parameters:
+0:69 Function Definition: main( ( global void)
+0:69 Function Parameters:
0:? Linker Objects
0:? 'bool_init' ( const bool)
0:? true (const bool)
@@ -353,6 +407,12 @@
0:? 'float32_t_init' ( const float)
0:? 13.000000
0:? 'float64_t_init' ( const double)
+0:? 4.000000
+0:? 'neg_float16_t_init' ( const float16_t)
+0:? -42.000000
+0:? 'neg_float32_t_init' ( const float)
+0:? -13.000000
+0:? 'neg_float64_t_init' ( const double)
0:? -4.000000
0:? 'bool_to_bool' ( const bool)
0:? true (const bool)
@@ -401,7 +461,7 @@
0:? 'float32_t_to_int8_t' ( const int8_t)
0:? 13 (const int8_t)
0:? 'float64_t_to_int8_t' ( const int8_t)
-0:? -4 (const int8_t)
+0:? 4 (const int8_t)
0:? 'bool_to_int16_t' ( const int16_t)
0:? 1 (const int16_t)
0:? 'int8_t_to_int16_t' ( const int16_t)
@@ -425,7 +485,7 @@
0:? 'float32_t_to_int16_t' ( const int16_t)
0:? 13 (const int16_t)
0:? 'float64_t_to_int16_t' ( const int16_t)
-0:? -4 (const int16_t)
+0:? 4 (const int16_t)
0:? 'bool_to_int32_t' ( const int)
0:? 1 (const int)
0:? 'int8_t_to_int32_t' ( const int)
@@ -449,7 +509,7 @@
0:? 'float32_t_to_int32_t' ( const int)
0:? 13 (const int)
0:? 'float64_t_to_int32_t' ( const int)
-0:? -4 (const int)
+0:? 4 (const int)
0:? 'bool_to_int64_t' ( const int64_t)
0:? 1 (const int64_t)
0:? 'int8_t_to_int64_t' ( const int64_t)
@@ -473,7 +533,7 @@
0:? 'float32_t_to_int64_t' ( const int64_t)
0:? 13 (const int64_t)
0:? 'float64_t_to_int64_t' ( const int64_t)
-0:? -4 (const int64_t)
+0:? 4 (const int64_t)
0:? 'bool_to_uint8_t' ( const uint8_t)
0:? 1 (const uint8_t)
0:? 'int8_t_to_uint8_t' ( const uint8_t)
@@ -497,7 +557,7 @@
0:? 'float32_t_to_uint8_t' ( const uint8_t)
0:? 13 (const uint8_t)
0:? 'float64_t_to_uint8_t' ( const uint8_t)
-0:? 252 (const uint8_t)
+0:? 4 (const uint8_t)
0:? 'bool_to_uint16_t' ( const uint16_t)
0:? 1 (const uint16_t)
0:? 'int8_t_to_uint16_t' ( const uint16_t)
@@ -521,7 +581,7 @@
0:? 'float32_t_to_uint16_t' ( const uint16_t)
0:? 13 (const uint16_t)
0:? 'float64_t_to_uint16_t' ( const uint16_t)
-0:? 65532 (const uint16_t)
+0:? 4 (const uint16_t)
0:? 'bool_to_uint32_t' ( const uint)
0:? 1 (const uint)
0:? 'int8_t_to_uint32_t' ( const uint)
@@ -545,7 +605,7 @@
0:? 'float32_t_to_uint32_t' ( const uint)
0:? 13 (const uint)
0:? 'float64_t_to_uint32_t' ( const uint)
-0:? 4294967292 (const uint)
+0:? 4 (const uint)
0:? 'bool_to_uint64_t' ( const uint64_t)
0:? 1 (const uint64_t)
0:? 'int8_t_to_uint64_t' ( const uint64_t)
@@ -569,7 +629,7 @@
0:? 'float32_t_to_uint64_t' ( const uint64_t)
0:? 13 (const uint64_t)
0:? 'float64_t_to_uint64_t' ( const uint64_t)
-0:? 18446744073709551612 (const uint64_t)
+0:? 4 (const uint64_t)
0:? 'bool_to_float16_t' ( const float16_t)
0:? 1.000000
0:? 'int8_t_to_float16_t' ( const float16_t)
@@ -593,7 +653,7 @@
0:? 'float32_t_to_float16_t' ( const float16_t)
0:? 13.000000
0:? 'float64_t_to_float16_t' ( const float16_t)
-0:? -4.000000
+0:? 4.000000
0:? 'bool_to_float32_t' ( const float)
0:? 1.000000
0:? 'int8_t_to_float32_t' ( const float)
@@ -617,7 +677,7 @@
0:? 'float32_t_to_float32_t' ( const float)
0:? 13.000000
0:? 'float64_t_to_float32_t' ( const float)
-0:? -4.000000
+0:? 4.000000
0:? 'bool_to_float64_t' ( const double)
0:? 1.000000
0:? 'int8_t_to_float64_t' ( const double)
@@ -641,5 +701,53 @@
0:? 'float32_t_to_float64_t' ( const double)
0:? 13.000000
0:? 'float64_t_to_float64_t' ( const double)
+0:? 4.000000
+0:? 'neg_float16_t_to_bool' ( const bool)
+0:? true (const bool)
+0:? 'neg_float32_t_to_bool' ( const bool)
+0:? true (const bool)
+0:? 'neg_float64_t_to_bool' ( const bool)
+0:? true (const bool)
+0:? 'neg_float16_t_to_int8_t' ( const int8_t)
+0:? -42 (const int8_t)
+0:? 'neg_float32_t_to_int8_t' ( const int8_t)
+0:? -13 (const int8_t)
+0:? 'neg_float64_t_to_int8_t' ( const int8_t)
+0:? -4 (const int8_t)
+0:? 'neg_float16_t_to_int16_t' ( const int16_t)
+0:? -42 (const int16_t)
+0:? 'neg_float32_t_to_int16_t' ( const int16_t)
+0:? -13 (const int16_t)
+0:? 'neg_float64_t_to_int16_t' ( const int16_t)
+0:? -4 (const int16_t)
+0:? 'neg_float16_t_to_int32_t' ( const int)
+0:? -42 (const int)
+0:? 'neg_float32_t_to_int32_t' ( const int)
+0:? -13 (const int)
+0:? 'neg_float64_t_to_int32_t' ( const int)
+0:? -4 (const int)
+0:? 'neg_float16_t_to_int64_t' ( const int64_t)
+0:? -42 (const int64_t)
+0:? 'neg_float32_t_to_int64_t' ( const int64_t)
+0:? -13 (const int64_t)
+0:? 'neg_float64_t_to_int64_t' ( const int64_t)
+0:? -4 (const int64_t)
+0:? 'neg_float16_t_to_float16_t' ( const float16_t)
+0:? -42.000000
+0:? 'neg_float32_t_to_float16_t' ( const float16_t)
+0:? -13.000000
+0:? 'neg_float64_t_to_float16_t' ( const float16_t)
+0:? -4.000000
+0:? 'neg_float16_t_to_float32_t' ( const float)
+0:? -42.000000
+0:? 'neg_float32_t_to_float32_t' ( const float)
+0:? -13.000000
+0:? 'neg_float64_t_to_float32_t' ( const float)
+0:? -4.000000
+0:? 'neg_float16_t_to_float64_t' ( const double)
+0:? -42.000000
+0:? 'neg_float32_t_to_float64_t' ( const double)
+0:? -13.000000
+0:? 'neg_float64_t_to_float64_t' ( const double)
0:? -4.000000
diff --git a/Test/baseResults/floatBitsToInt.vert.out b/Test/baseResults/floatBitsToInt.vert.out
new file mode 100644
index 0000000..6d5185c
--- /dev/null
+++ b/Test/baseResults/floatBitsToInt.vert.out
@@ -0,0 +1,217 @@
+floatBitsToInt.vert
+WARNING: 0:2: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5
+
+Shader version: 150
+Requested GL_ARB_gpu_shader5
+0:? Sequence
+0:6 Function Definition: main( ( global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 move second child to first child ( temp 4-component vector of float)
+0:8 'result' ( smooth out 4-component vector of float)
+0:8 Constant:
+0:8 1.000000
+0:8 1.000000
+0:8 1.000000
+0:8 1.000000
+0:9 Sequence
+0:9 move second child to first child ( temp int)
+0:9 'ret_val' ( temp int)
+0:9 floatBitsToInt ( global int)
+0:9 'value' ( uniform float)
+0:10 Test condition and select ( temp void)
+0:10 Condition
+0:10 Compare Not Equal ( temp bool)
+0:10 'expected_value' ( uniform int)
+0:10 'ret_val' ( temp int)
+0:10 true case
+0:10 Sequence
+0:10 move second child to first child ( temp 4-component vector of float)
+0:10 'result' ( smooth out 4-component vector of float)
+0:10 Constant:
+0:10 0.000000
+0:10 0.000000
+0:10 0.000000
+0:10 0.000000
+0:12 switch
+0:12 condition
+0:12 'gl_VertexID' ( gl_VertexId int VertexId)
+0:12 body
+0:12 Sequence
+0:13 case: with expression
+0:13 Constant:
+0:13 0 (const int)
+0:? Sequence
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:13 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:13 Constant:
+0:13 0 (const uint)
+0:13 Constant:
+0:13 -1.000000
+0:13 1.000000
+0:13 0.000000
+0:13 1.000000
+0:13 Branch: Break
+0:14 case: with expression
+0:14 Constant:
+0:14 1 (const int)
+0:? Sequence
+0:14 move second child to first child ( temp 4-component vector of float)
+0:14 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:14 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:14 Constant:
+0:14 0 (const uint)
+0:14 Constant:
+0:14 1.000000
+0:14 1.000000
+0:14 0.000000
+0:14 1.000000
+0:14 Branch: Break
+0:15 case: with expression
+0:15 Constant:
+0:15 2 (const int)
+0:? Sequence
+0:15 move second child to first child ( temp 4-component vector of float)
+0:15 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:15 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:15 Constant:
+0:15 0 (const uint)
+0:15 Constant:
+0:15 -1.000000
+0:15 -1.000000
+0:15 0.000000
+0:15 1.000000
+0:15 Branch: Break
+0:16 case: with expression
+0:16 Constant:
+0:16 3 (const int)
+0:? Sequence
+0:16 move second child to first child ( temp 4-component vector of float)
+0:16 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:16 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:16 Constant:
+0:16 0 (const uint)
+0:16 Constant:
+0:16 1.000000
+0:16 -1.000000
+0:16 0.000000
+0:16 1.000000
+0:16 Branch: Break
+0:? Linker Objects
+0:? 'expected_value' ( uniform int)
+0:? 'value' ( uniform float)
+0:? 'result' ( smooth out 4-component vector of float)
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+
+Shader version: 150
+Requested GL_ARB_gpu_shader5
+0:? Sequence
+0:6 Function Definition: main( ( global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 move second child to first child ( temp 4-component vector of float)
+0:8 'result' ( smooth out 4-component vector of float)
+0:8 Constant:
+0:8 1.000000
+0:8 1.000000
+0:8 1.000000
+0:8 1.000000
+0:9 Sequence
+0:9 move second child to first child ( temp int)
+0:9 'ret_val' ( temp int)
+0:9 floatBitsToInt ( global int)
+0:9 'value' ( uniform float)
+0:10 Test condition and select ( temp void)
+0:10 Condition
+0:10 Compare Not Equal ( temp bool)
+0:10 'expected_value' ( uniform int)
+0:10 'ret_val' ( temp int)
+0:10 true case
+0:10 Sequence
+0:10 move second child to first child ( temp 4-component vector of float)
+0:10 'result' ( smooth out 4-component vector of float)
+0:10 Constant:
+0:10 0.000000
+0:10 0.000000
+0:10 0.000000
+0:10 0.000000
+0:12 switch
+0:12 condition
+0:12 'gl_VertexID' ( gl_VertexId int VertexId)
+0:12 body
+0:12 Sequence
+0:13 case: with expression
+0:13 Constant:
+0:13 0 (const int)
+0:? Sequence
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:13 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:13 Constant:
+0:13 0 (const uint)
+0:13 Constant:
+0:13 -1.000000
+0:13 1.000000
+0:13 0.000000
+0:13 1.000000
+0:13 Branch: Break
+0:14 case: with expression
+0:14 Constant:
+0:14 1 (const int)
+0:? Sequence
+0:14 move second child to first child ( temp 4-component vector of float)
+0:14 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:14 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:14 Constant:
+0:14 0 (const uint)
+0:14 Constant:
+0:14 1.000000
+0:14 1.000000
+0:14 0.000000
+0:14 1.000000
+0:14 Branch: Break
+0:15 case: with expression
+0:15 Constant:
+0:15 2 (const int)
+0:? Sequence
+0:15 move second child to first child ( temp 4-component vector of float)
+0:15 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:15 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:15 Constant:
+0:15 0 (const uint)
+0:15 Constant:
+0:15 -1.000000
+0:15 -1.000000
+0:15 0.000000
+0:15 1.000000
+0:15 Branch: Break
+0:16 case: with expression
+0:16 Constant:
+0:16 3 (const int)
+0:? Sequence
+0:16 move second child to first child ( temp 4-component vector of float)
+0:16 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:16 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:16 Constant:
+0:16 0 (const uint)
+0:16 Constant:
+0:16 1.000000
+0:16 -1.000000
+0:16 0.000000
+0:16 1.000000
+0:16 Branch: Break
+0:? Linker Objects
+0:? 'expected_value' ( uniform int)
+0:? 'value' ( uniform float)
+0:? 'result' ( smooth out 4-component vector of float)
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/glsl.es320.subgroup.geom.out b/Test/baseResults/glsl.es320.subgroup.geom.out
index 5d18d30..eab5454 100644
--- a/Test/baseResults/glsl.es320.subgroup.geom.out
+++ b/Test/baseResults/glsl.es320.subgroup.geom.out
@@ -16,7 +16,7 @@
0:12 Constant:
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 Construct uvec4 ( temp mediump 4-component vector of uint)
0:12 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:12 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:12 Constant:
@@ -47,7 +47,7 @@
0:12 Constant:
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 Construct uvec4 ( temp mediump 4-component vector of uint)
0:12 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:12 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:12 Constant:
diff --git a/Test/baseResults/glsl.es320.subgroup.tesc.out b/Test/baseResults/glsl.es320.subgroup.tesc.out
index 9512bc5..431a3c3 100644
--- a/Test/baseResults/glsl.es320.subgroup.tesc.out
+++ b/Test/baseResults/glsl.es320.subgroup.tesc.out
@@ -13,7 +13,7 @@
0:11 Constant:
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 Construct uvec4 ( temp mediump 4-component vector of uint)
0:11 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:11 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:11 Constant:
@@ -41,7 +41,7 @@
0:11 Constant:
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 Construct uvec4 ( temp mediump 4-component vector of uint)
0:11 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:11 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:11 Constant:
diff --git a/Test/baseResults/glsl.es320.subgroup.tese.out b/Test/baseResults/glsl.es320.subgroup.tese.out
index 29f7b73..198a757 100644
--- a/Test/baseResults/glsl.es320.subgroup.tese.out
+++ b/Test/baseResults/glsl.es320.subgroup.tese.out
@@ -15,7 +15,7 @@
0:11 Constant:
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 Construct uvec4 ( temp mediump 4-component vector of uint)
0:11 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:11 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:11 Constant:
@@ -45,7 +45,7 @@
0:11 Constant:
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 Construct uvec4 ( temp mediump 4-component vector of uint)
0:11 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:11 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:11 Constant:
diff --git a/Test/baseResults/glsl.es320.subgroup.vert.out b/Test/baseResults/glsl.es320.subgroup.vert.out
index bf1da49..e1a6bea 100644
--- a/Test/baseResults/glsl.es320.subgroup.vert.out
+++ b/Test/baseResults/glsl.es320.subgroup.vert.out
@@ -12,7 +12,7 @@
0:10 Constant:
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 Construct uvec4 ( temp mediump 4-component vector of uint)
0:10 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:10 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:10 Constant:
@@ -41,7 +41,7 @@
0:10 Constant:
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 Construct uvec4 ( temp mediump 4-component vector of uint)
0:10 'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:10 'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:10 Constant:
diff --git a/Test/baseResults/hlsl.imagefetch-subvec4.comp.out b/Test/baseResults/hlsl.imagefetch-subvec4.comp.out
index a12c59f..ff201eb 100644
--- a/Test/baseResults/hlsl.imagefetch-subvec4.comp.out
+++ b/Test/baseResults/hlsl.imagefetch-subvec4.comp.out
@@ -2,35 +2,204 @@
Shader version: 500
local_size = (8, 8, 8)
0:? Sequence
-0:6 Function Definition: @main(vu3; ( temp void)
-0:6 Function Parameters:
-0:6 'tid' ( in 3-component vector of uint)
+0:21 Function Definition: @main(vu3; ( temp void)
+0:21 Function Parameters:
+0:21 'tid' ( in 3-component vector of uint)
0:? Sequence
-0:7 Sequence
-0:7 move second child to first child ( temp uint)
-0:7 'storeTemp' ( temp uint)
-0:7 Convert int to uint ( temp uint)
-0:7 textureFetch ( temp int)
-0:7 'IN' (layout( binding=0) uniform itexture3D)
-0:7 'tid' ( in 3-component vector of uint)
-0:7 Constant:
-0:7 0 (const int)
-0:7 imageStore ( temp void)
-0:7 'OUT' (layout( binding=1 r32ui) uniform uimage3D)
-0:7 'tid' ( in 3-component vector of uint)
-0:7 'storeTemp' ( temp uint)
-0:7 'storeTemp' ( temp uint)
-0:6 Function Definition: main( ( temp void)
-0:6 Function Parameters:
+0:22 Sequence
+0:22 move second child to first child ( temp float)
+0:22 'f' ( temp float)
+0:22 Constant:
+0:22 0.000000
+0:23 add second child into first child ( temp float)
+0:23 'f' ( temp float)
+0:23 textureFetch ( temp float)
+0:23 'i1D' (layout( binding=0) uniform texture1D)
+0:23 direct index ( temp uint)
+0:23 'tid' ( in 3-component vector of uint)
+0:23 Constant:
+0:23 0 (const int)
+0:23 Constant:
+0:23 0 (const int)
+0:24 add second child into first child ( temp float)
+0:24 'f' ( temp float)
+0:24 textureFetch ( temp float)
+0:24 'i2D' (layout( binding=1) uniform texture2D)
+0:24 vector swizzle ( temp 2-component vector of uint)
+0:24 'tid' ( in 3-component vector of uint)
+0:24 Sequence
+0:24 Constant:
+0:24 0 (const int)
+0:24 Constant:
+0:24 1 (const int)
+0:24 Constant:
+0:24 0 (const int)
+0:25 add second child into first child ( temp float)
+0:25 'f' ( temp float)
+0:25 textureFetch ( temp float)
+0:25 'i3D' (layout( binding=2) uniform texture3D)
+0:25 'tid' ( in 3-component vector of uint)
+0:25 Constant:
+0:25 0 (const int)
+0:26 add second child into first child ( temp float)
+0:26 'f' ( temp float)
+0:26 textureFetch ( temp float)
+0:26 'i1DArray' (layout( binding=3) uniform texture1DArray)
+0:26 vector swizzle ( temp 2-component vector of uint)
+0:26 'tid' ( in 3-component vector of uint)
+0:26 Sequence
+0:26 Constant:
+0:26 0 (const int)
+0:26 Constant:
+0:26 1 (const int)
+0:26 Constant:
+0:26 0 (const int)
+0:27 add second child into first child ( temp float)
+0:27 'f' ( temp float)
+0:27 textureFetch ( temp float)
+0:27 'i2DArray' (layout( binding=4) uniform texture2DArray)
+0:27 'tid' ( in 3-component vector of uint)
+0:27 Constant:
+0:27 0 (const int)
+0:28 add second child into first child ( temp float)
+0:28 'f' ( temp float)
+0:28 Construct float ( temp float)
+0:? textureFetch ( temp 4-component vector of float)
+0:28 'i2DMS' (layout( binding=5) uniform texture2DMS)
+0:28 Convert uint to int ( temp 2-component vector of int)
+0:28 vector swizzle ( temp 2-component vector of uint)
+0:28 'tid' ( in 3-component vector of uint)
+0:28 Sequence
+0:28 Constant:
+0:28 0 (const int)
+0:28 Constant:
+0:28 1 (const int)
+0:28 Constant:
+0:28 1 (const int)
+0:29 add second child into first child ( temp float)
+0:29 'f' ( temp float)
+0:29 Construct float ( temp float)
+0:? textureFetch ( temp 4-component vector of float)
+0:29 'i2DMSArray' (layout( binding=6) uniform texture2DMSArray)
+0:29 Convert uint to int ( temp 3-component vector of int)
+0:29 'tid' ( in 3-component vector of uint)
+0:29 Constant:
+0:29 3 (const int)
+0:31 Sequence
+0:31 move second child to first child ( temp int)
+0:31 'i' ( temp int)
+0:31 Constant:
+0:31 0 (const int)
+0:32 add second child into first child ( temp int)
+0:32 'i' ( temp int)
+0:32 textureFetch ( temp int)
+0:32 'ii1D' (layout( binding=7) uniform itexture1D)
+0:32 direct index ( temp uint)
+0:32 'tid' ( in 3-component vector of uint)
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 0 (const int)
+0:33 add second child into first child ( temp int)
+0:33 'i' ( temp int)
+0:33 textureFetch ( temp int)
+0:33 'ii2D' (layout( binding=8) uniform itexture2D)
+0:33 vector swizzle ( temp 2-component vector of uint)
+0:33 'tid' ( in 3-component vector of uint)
+0:33 Sequence
+0:33 Constant:
+0:33 0 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 0 (const int)
+0:34 add second child into first child ( temp int)
+0:34 'i' ( temp int)
+0:34 textureFetch ( temp int)
+0:34 'ii3D' (layout( binding=9) uniform itexture3D)
+0:34 'tid' ( in 3-component vector of uint)
+0:34 Constant:
+0:34 0 (const int)
+0:35 add second child into first child ( temp int)
+0:35 'i' ( temp int)
+0:35 textureFetch ( temp int)
+0:35 'ii1DArray' (layout( binding=10) uniform itexture1DArray)
+0:35 vector swizzle ( temp 2-component vector of uint)
+0:35 'tid' ( in 3-component vector of uint)
+0:35 Sequence
+0:35 Constant:
+0:35 0 (const int)
+0:35 Constant:
+0:35 1 (const int)
+0:35 Constant:
+0:35 0 (const int)
+0:36 add second child into first child ( temp int)
+0:36 'i' ( temp int)
+0:36 textureFetch ( temp int)
+0:36 'ii2DArray' (layout( binding=11) uniform itexture2DArray)
+0:36 'tid' ( in 3-component vector of uint)
+0:36 Constant:
+0:36 0 (const int)
+0:37 add second child into first child ( temp int)
+0:37 'i' ( temp int)
+0:37 Construct int ( temp int)
+0:? textureFetch ( temp 4-component vector of int)
+0:37 'ii2DMS' (layout( binding=12) uniform itexture2DMS)
+0:37 Convert uint to int ( temp 2-component vector of int)
+0:37 vector swizzle ( temp 2-component vector of uint)
+0:37 'tid' ( in 3-component vector of uint)
+0:37 Sequence
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:38 add second child into first child ( temp int)
+0:38 'i' ( temp int)
+0:38 Construct int ( temp int)
+0:? textureFetch ( temp 4-component vector of int)
+0:38 'ii2DMSArray' (layout( binding=13) uniform itexture2DMSArray)
+0:38 Convert uint to int ( temp 3-component vector of int)
+0:38 'tid' ( in 3-component vector of uint)
+0:38 Constant:
+0:38 3 (const int)
+0:40 Sequence
+0:40 move second child to first child ( temp float)
+0:40 'storeTemp' ( temp float)
+0:40 add ( temp float)
+0:40 'f' ( temp float)
+0:40 Convert int to float ( temp float)
+0:40 'i' ( temp int)
+0:40 imageStore ( temp void)
+0:40 'OUT' (layout( binding=0 r32f) uniform image3D)
+0:40 'tid' ( in 3-component vector of uint)
+0:40 'storeTemp' ( temp float)
+0:40 'storeTemp' ( temp float)
+0:21 Function Definition: main( ( temp void)
+0:21 Function Parameters:
0:? Sequence
-0:6 move second child to first child ( temp 3-component vector of uint)
+0:21 move second child to first child ( temp 3-component vector of uint)
0:? 'tid' ( temp 3-component vector of uint)
0:? 'tid' ( in 3-component vector of uint GlobalInvocationID)
-0:6 Function Call: @main(vu3; ( temp void)
+0:21 Function Call: @main(vu3; ( temp void)
0:? 'tid' ( temp 3-component vector of uint)
0:? Linker Objects
-0:? 'IN' (layout( binding=0) uniform itexture3D)
-0:? 'OUT' (layout( binding=1 r32ui) uniform uimage3D)
+0:? 'i1D' (layout( binding=0) uniform texture1D)
+0:? 'i2D' (layout( binding=1) uniform texture2D)
+0:? 'i3D' (layout( binding=2) uniform texture3D)
+0:? 'i1DArray' (layout( binding=3) uniform texture1DArray)
+0:? 'i2DArray' (layout( binding=4) uniform texture2DArray)
+0:? 'i2DMS' (layout( binding=5) uniform texture2DMS)
+0:? 'i2DMSArray' (layout( binding=6) uniform texture2DMSArray)
+0:? 'ii1D' (layout( binding=7) uniform itexture1D)
+0:? 'ii2D' (layout( binding=8) uniform itexture2D)
+0:? 'ii3D' (layout( binding=9) uniform itexture3D)
+0:? 'ii1DArray' (layout( binding=10) uniform itexture1DArray)
+0:? 'ii2DArray' (layout( binding=11) uniform itexture2DArray)
+0:? 'ii2DMS' (layout( binding=12) uniform itexture2DMS)
+0:? 'ii2DMSArray' (layout( binding=13) uniform itexture2DMSArray)
+0:? 'OUT' (layout( binding=0 r32f) uniform image3D)
0:? 'tid' ( in 3-component vector of uint GlobalInvocationID)
@@ -40,103 +209,477 @@
Shader version: 500
local_size = (8, 8, 8)
0:? Sequence
-0:6 Function Definition: @main(vu3; ( temp void)
-0:6 Function Parameters:
-0:6 'tid' ( in 3-component vector of uint)
+0:21 Function Definition: @main(vu3; ( temp void)
+0:21 Function Parameters:
+0:21 'tid' ( in 3-component vector of uint)
0:? Sequence
-0:7 Sequence
-0:7 move second child to first child ( temp uint)
-0:7 'storeTemp' ( temp uint)
-0:7 Convert int to uint ( temp uint)
-0:7 textureFetch ( temp int)
-0:7 'IN' (layout( binding=0) uniform itexture3D)
-0:7 'tid' ( in 3-component vector of uint)
-0:7 Constant:
-0:7 0 (const int)
-0:7 imageStore ( temp void)
-0:7 'OUT' (layout( binding=1 r32ui) uniform uimage3D)
-0:7 'tid' ( in 3-component vector of uint)
-0:7 'storeTemp' ( temp uint)
-0:7 'storeTemp' ( temp uint)
-0:6 Function Definition: main( ( temp void)
-0:6 Function Parameters:
+0:22 Sequence
+0:22 move second child to first child ( temp float)
+0:22 'f' ( temp float)
+0:22 Constant:
+0:22 0.000000
+0:23 add second child into first child ( temp float)
+0:23 'f' ( temp float)
+0:23 textureFetch ( temp float)
+0:23 'i1D' (layout( binding=0) uniform texture1D)
+0:23 direct index ( temp uint)
+0:23 'tid' ( in 3-component vector of uint)
+0:23 Constant:
+0:23 0 (const int)
+0:23 Constant:
+0:23 0 (const int)
+0:24 add second child into first child ( temp float)
+0:24 'f' ( temp float)
+0:24 textureFetch ( temp float)
+0:24 'i2D' (layout( binding=1) uniform texture2D)
+0:24 vector swizzle ( temp 2-component vector of uint)
+0:24 'tid' ( in 3-component vector of uint)
+0:24 Sequence
+0:24 Constant:
+0:24 0 (const int)
+0:24 Constant:
+0:24 1 (const int)
+0:24 Constant:
+0:24 0 (const int)
+0:25 add second child into first child ( temp float)
+0:25 'f' ( temp float)
+0:25 textureFetch ( temp float)
+0:25 'i3D' (layout( binding=2) uniform texture3D)
+0:25 'tid' ( in 3-component vector of uint)
+0:25 Constant:
+0:25 0 (const int)
+0:26 add second child into first child ( temp float)
+0:26 'f' ( temp float)
+0:26 textureFetch ( temp float)
+0:26 'i1DArray' (layout( binding=3) uniform texture1DArray)
+0:26 vector swizzle ( temp 2-component vector of uint)
+0:26 'tid' ( in 3-component vector of uint)
+0:26 Sequence
+0:26 Constant:
+0:26 0 (const int)
+0:26 Constant:
+0:26 1 (const int)
+0:26 Constant:
+0:26 0 (const int)
+0:27 add second child into first child ( temp float)
+0:27 'f' ( temp float)
+0:27 textureFetch ( temp float)
+0:27 'i2DArray' (layout( binding=4) uniform texture2DArray)
+0:27 'tid' ( in 3-component vector of uint)
+0:27 Constant:
+0:27 0 (const int)
+0:28 add second child into first child ( temp float)
+0:28 'f' ( temp float)
+0:28 Construct float ( temp float)
+0:? textureFetch ( temp 4-component vector of float)
+0:28 'i2DMS' (layout( binding=5) uniform texture2DMS)
+0:28 Convert uint to int ( temp 2-component vector of int)
+0:28 vector swizzle ( temp 2-component vector of uint)
+0:28 'tid' ( in 3-component vector of uint)
+0:28 Sequence
+0:28 Constant:
+0:28 0 (const int)
+0:28 Constant:
+0:28 1 (const int)
+0:28 Constant:
+0:28 1 (const int)
+0:29 add second child into first child ( temp float)
+0:29 'f' ( temp float)
+0:29 Construct float ( temp float)
+0:? textureFetch ( temp 4-component vector of float)
+0:29 'i2DMSArray' (layout( binding=6) uniform texture2DMSArray)
+0:29 Convert uint to int ( temp 3-component vector of int)
+0:29 'tid' ( in 3-component vector of uint)
+0:29 Constant:
+0:29 3 (const int)
+0:31 Sequence
+0:31 move second child to first child ( temp int)
+0:31 'i' ( temp int)
+0:31 Constant:
+0:31 0 (const int)
+0:32 add second child into first child ( temp int)
+0:32 'i' ( temp int)
+0:32 textureFetch ( temp int)
+0:32 'ii1D' (layout( binding=7) uniform itexture1D)
+0:32 direct index ( temp uint)
+0:32 'tid' ( in 3-component vector of uint)
+0:32 Constant:
+0:32 0 (const int)
+0:32 Constant:
+0:32 0 (const int)
+0:33 add second child into first child ( temp int)
+0:33 'i' ( temp int)
+0:33 textureFetch ( temp int)
+0:33 'ii2D' (layout( binding=8) uniform itexture2D)
+0:33 vector swizzle ( temp 2-component vector of uint)
+0:33 'tid' ( in 3-component vector of uint)
+0:33 Sequence
+0:33 Constant:
+0:33 0 (const int)
+0:33 Constant:
+0:33 1 (const int)
+0:33 Constant:
+0:33 0 (const int)
+0:34 add second child into first child ( temp int)
+0:34 'i' ( temp int)
+0:34 textureFetch ( temp int)
+0:34 'ii3D' (layout( binding=9) uniform itexture3D)
+0:34 'tid' ( in 3-component vector of uint)
+0:34 Constant:
+0:34 0 (const int)
+0:35 add second child into first child ( temp int)
+0:35 'i' ( temp int)
+0:35 textureFetch ( temp int)
+0:35 'ii1DArray' (layout( binding=10) uniform itexture1DArray)
+0:35 vector swizzle ( temp 2-component vector of uint)
+0:35 'tid' ( in 3-component vector of uint)
+0:35 Sequence
+0:35 Constant:
+0:35 0 (const int)
+0:35 Constant:
+0:35 1 (const int)
+0:35 Constant:
+0:35 0 (const int)
+0:36 add second child into first child ( temp int)
+0:36 'i' ( temp int)
+0:36 textureFetch ( temp int)
+0:36 'ii2DArray' (layout( binding=11) uniform itexture2DArray)
+0:36 'tid' ( in 3-component vector of uint)
+0:36 Constant:
+0:36 0 (const int)
+0:37 add second child into first child ( temp int)
+0:37 'i' ( temp int)
+0:37 Construct int ( temp int)
+0:? textureFetch ( temp 4-component vector of int)
+0:37 'ii2DMS' (layout( binding=12) uniform itexture2DMS)
+0:37 Convert uint to int ( temp 2-component vector of int)
+0:37 vector swizzle ( temp 2-component vector of uint)
+0:37 'tid' ( in 3-component vector of uint)
+0:37 Sequence
+0:37 Constant:
+0:37 0 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:37 Constant:
+0:37 1 (const int)
+0:38 add second child into first child ( temp int)
+0:38 'i' ( temp int)
+0:38 Construct int ( temp int)
+0:? textureFetch ( temp 4-component vector of int)
+0:38 'ii2DMSArray' (layout( binding=13) uniform itexture2DMSArray)
+0:38 Convert uint to int ( temp 3-component vector of int)
+0:38 'tid' ( in 3-component vector of uint)
+0:38 Constant:
+0:38 3 (const int)
+0:40 Sequence
+0:40 move second child to first child ( temp float)
+0:40 'storeTemp' ( temp float)
+0:40 add ( temp float)
+0:40 'f' ( temp float)
+0:40 Convert int to float ( temp float)
+0:40 'i' ( temp int)
+0:40 imageStore ( temp void)
+0:40 'OUT' (layout( binding=0 r32f) uniform image3D)
+0:40 'tid' ( in 3-component vector of uint)
+0:40 'storeTemp' ( temp float)
+0:40 'storeTemp' ( temp float)
+0:21 Function Definition: main( ( temp void)
+0:21 Function Parameters:
0:? Sequence
-0:6 move second child to first child ( temp 3-component vector of uint)
+0:21 move second child to first child ( temp 3-component vector of uint)
0:? 'tid' ( temp 3-component vector of uint)
0:? 'tid' ( in 3-component vector of uint GlobalInvocationID)
-0:6 Function Call: @main(vu3; ( temp void)
+0:21 Function Call: @main(vu3; ( temp void)
0:? 'tid' ( temp 3-component vector of uint)
0:? Linker Objects
-0:? 'IN' (layout( binding=0) uniform itexture3D)
-0:? 'OUT' (layout( binding=1 r32ui) uniform uimage3D)
+0:? 'i1D' (layout( binding=0) uniform texture1D)
+0:? 'i2D' (layout( binding=1) uniform texture2D)
+0:? 'i3D' (layout( binding=2) uniform texture3D)
+0:? 'i1DArray' (layout( binding=3) uniform texture1DArray)
+0:? 'i2DArray' (layout( binding=4) uniform texture2DArray)
+0:? 'i2DMS' (layout( binding=5) uniform texture2DMS)
+0:? 'i2DMSArray' (layout( binding=6) uniform texture2DMSArray)
+0:? 'ii1D' (layout( binding=7) uniform itexture1D)
+0:? 'ii2D' (layout( binding=8) uniform itexture2D)
+0:? 'ii3D' (layout( binding=9) uniform itexture3D)
+0:? 'ii1DArray' (layout( binding=10) uniform itexture1DArray)
+0:? 'ii2DArray' (layout( binding=11) uniform itexture2DArray)
+0:? 'ii2DMS' (layout( binding=12) uniform itexture2DMS)
+0:? 'ii2DMSArray' (layout( binding=13) uniform itexture2DMSArray)
+0:? 'OUT' (layout( binding=0 r32f) uniform image3D)
0:? 'tid' ( in 3-component vector of uint GlobalInvocationID)
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 39
+// Id's are bound by 186
Capability Shader
+ Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint GLCompute 4 "main" 34
+ EntryPoint GLCompute 4 "main" 181
ExecutionMode 4 LocalSize 8 8 8
Source HLSL 500
Name 4 "main"
Name 11 "@main(vu3;"
Name 10 "tid"
- Name 14 "storeTemp"
- Name 18 "IN"
- Name 28 "OUT"
- Name 32 "tid"
- Name 34 "tid"
- Name 36 "param"
- Decorate 18(IN) DescriptorSet 0
- Decorate 18(IN) Binding 0
- Decorate 28(OUT) DescriptorSet 0
- Decorate 28(OUT) Binding 1
- Decorate 34(tid) BuiltIn GlobalInvocationId
+ Name 15 "f"
+ Name 19 "i1D"
+ Name 34 "i2D"
+ Name 45 "i3D"
+ Name 54 "i1DArray"
+ Name 64 "i2DArray"
+ Name 73 "i2DMS"
+ Name 86 "i2DMSArray"
+ Name 97 "i"
+ Name 100 "ii1D"
+ Name 111 "ii2D"
+ Name 121 "ii3D"
+ Name 130 "ii1DArray"
+ Name 140 "ii2DArray"
+ Name 149 "ii2DMS"
+ Name 160 "ii2DMSArray"
+ Name 168 "storeTemp"
+ Name 175 "OUT"
+ Name 179 "tid"
+ Name 181 "tid"
+ Name 183 "param"
+ Decorate 19(i1D) DescriptorSet 0
+ Decorate 19(i1D) Binding 0
+ Decorate 34(i2D) DescriptorSet 0
+ Decorate 34(i2D) Binding 1
+ Decorate 45(i3D) DescriptorSet 0
+ Decorate 45(i3D) Binding 2
+ Decorate 54(i1DArray) DescriptorSet 0
+ Decorate 54(i1DArray) Binding 3
+ Decorate 64(i2DArray) DescriptorSet 0
+ Decorate 64(i2DArray) Binding 4
+ Decorate 73(i2DMS) DescriptorSet 0
+ Decorate 73(i2DMS) Binding 5
+ Decorate 86(i2DMSArray) DescriptorSet 0
+ Decorate 86(i2DMSArray) Binding 6
+ Decorate 100(ii1D) DescriptorSet 0
+ Decorate 100(ii1D) Binding 7
+ Decorate 111(ii2D) DescriptorSet 0
+ Decorate 111(ii2D) Binding 8
+ Decorate 121(ii3D) DescriptorSet 0
+ Decorate 121(ii3D) Binding 9
+ Decorate 130(ii1DArray) DescriptorSet 0
+ Decorate 130(ii1DArray) Binding 10
+ Decorate 140(ii2DArray) DescriptorSet 0
+ Decorate 140(ii2DArray) Binding 11
+ Decorate 149(ii2DMS) DescriptorSet 0
+ Decorate 149(ii2DMS) Binding 12
+ Decorate 160(ii2DMSArray) DescriptorSet 0
+ Decorate 160(ii2DMSArray) Binding 13
+ Decorate 175(OUT) DescriptorSet 0
+ Decorate 175(OUT) Binding 0
+ Decorate 181(tid) BuiltIn GlobalInvocationId
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypeVector 6(int) 3
8: TypePointer Function 7(ivec3)
9: TypeFunction 2 8(ptr)
- 13: TypePointer Function 6(int)
- 15: TypeInt 32 1
- 16: TypeImage 15(int) 3D sampled format:Unknown
- 17: TypePointer UniformConstant 16
- 18(IN): 17(ptr) Variable UniformConstant
- 21: 15(int) Constant 0
- 22: TypeVector 15(int) 4
- 26: TypeImage 6(int) 3D nonsampled format:R32ui
- 27: TypePointer UniformConstant 26
- 28(OUT): 27(ptr) Variable UniformConstant
- 33: TypePointer Input 7(ivec3)
- 34(tid): 33(ptr) Variable Input
+ 13: TypeFloat 32
+ 14: TypePointer Function 13(float)
+ 16: 13(float) Constant 0
+ 17: TypeImage 13(float) 1D sampled format:Unknown
+ 18: TypePointer UniformConstant 17
+ 19(i1D): 18(ptr) Variable UniformConstant
+ 21: 6(int) Constant 0
+ 22: TypePointer Function 6(int)
+ 25: TypeInt 32 1
+ 26: 25(int) Constant 0
+ 27: TypeVector 13(float) 4
+ 32: TypeImage 13(float) 2D sampled format:Unknown
+ 33: TypePointer UniformConstant 32
+ 34(i2D): 33(ptr) Variable UniformConstant
+ 36: TypeVector 6(int) 2
+ 43: TypeImage 13(float) 3D sampled format:Unknown
+ 44: TypePointer UniformConstant 43
+ 45(i3D): 44(ptr) Variable UniformConstant
+ 52: TypeImage 13(float) 1D array sampled format:Unknown
+ 53: TypePointer UniformConstant 52
+ 54(i1DArray): 53(ptr) Variable UniformConstant
+ 62: TypeImage 13(float) 2D array sampled format:Unknown
+ 63: TypePointer UniformConstant 62
+ 64(i2DArray): 63(ptr) Variable UniformConstant
+ 71: TypeImage 13(float) 2D multi-sampled sampled format:Unknown
+ 72: TypePointer UniformConstant 71
+ 73(i2DMS): 72(ptr) Variable UniformConstant
+ 77: TypeVector 25(int) 2
+ 79: 25(int) Constant 1
+ 84: TypeImage 13(float) 2D array multi-sampled sampled format:Unknown
+ 85: TypePointer UniformConstant 84
+ 86(i2DMSArray): 85(ptr) Variable UniformConstant
+ 89: TypeVector 25(int) 3
+ 91: 25(int) Constant 3
+ 96: TypePointer Function 25(int)
+ 98: TypeImage 25(int) 1D sampled format:Unknown
+ 99: TypePointer UniformConstant 98
+ 100(ii1D): 99(ptr) Variable UniformConstant
+ 104: TypeVector 25(int) 4
+ 109: TypeImage 25(int) 2D sampled format:Unknown
+ 110: TypePointer UniformConstant 109
+ 111(ii2D): 110(ptr) Variable UniformConstant
+ 119: TypeImage 25(int) 3D sampled format:Unknown
+ 120: TypePointer UniformConstant 119
+ 121(ii3D): 120(ptr) Variable UniformConstant
+ 128: TypeImage 25(int) 1D array sampled format:Unknown
+ 129: TypePointer UniformConstant 128
+ 130(ii1DArray): 129(ptr) Variable UniformConstant
+ 138: TypeImage 25(int) 2D array sampled format:Unknown
+ 139: TypePointer UniformConstant 138
+ 140(ii2DArray): 139(ptr) Variable UniformConstant
+ 147: TypeImage 25(int) 2D multi-sampled sampled format:Unknown
+ 148: TypePointer UniformConstant 147
+ 149(ii2DMS): 148(ptr) Variable UniformConstant
+ 158: TypeImage 25(int) 2D array multi-sampled sampled format:Unknown
+ 159: TypePointer UniformConstant 158
+160(ii2DMSArray): 159(ptr) Variable UniformConstant
+ 173: TypeImage 13(float) 3D nonsampled format:R32f
+ 174: TypePointer UniformConstant 173
+ 175(OUT): 174(ptr) Variable UniformConstant
+ 180: TypePointer Input 7(ivec3)
+ 181(tid): 180(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 32(tid): 8(ptr) Variable Function
- 36(param): 8(ptr) Variable Function
- 35: 7(ivec3) Load 34(tid)
- Store 32(tid) 35
- 37: 7(ivec3) Load 32(tid)
- Store 36(param) 37
- 38: 2 FunctionCall 11(@main(vu3;) 36(param)
+ 179(tid): 8(ptr) Variable Function
+ 183(param): 8(ptr) Variable Function
+ 182: 7(ivec3) Load 181(tid)
+ Store 179(tid) 182
+ 184: 7(ivec3) Load 179(tid)
+ Store 183(param) 184
+ 185: 2 FunctionCall 11(@main(vu3;) 183(param)
Return
FunctionEnd
11(@main(vu3;): 2 Function None 9
10(tid): 8(ptr) FunctionParameter
12: Label
- 14(storeTemp): 13(ptr) Variable Function
- 19: 16 Load 18(IN)
- 20: 7(ivec3) Load 10(tid)
- 23: 22(ivec4) ImageFetch 19 20 Lod 21
- 24: 15(int) CompositeExtract 23 0
- 25: 6(int) Bitcast 24
- Store 14(storeTemp) 25
- 29: 26 Load 28(OUT)
- 30: 7(ivec3) Load 10(tid)
- 31: 6(int) Load 14(storeTemp)
- ImageWrite 29 30 31
+ 15(f): 14(ptr) Variable Function
+ 97(i): 96(ptr) Variable Function
+ 168(storeTemp): 14(ptr) Variable Function
+ Store 15(f) 16
+ 20: 17 Load 19(i1D)
+ 23: 22(ptr) AccessChain 10(tid) 21
+ 24: 6(int) Load 23
+ 28: 27(fvec4) ImageFetch 20 24 Lod 26
+ 29: 13(float) CompositeExtract 28 0
+ 30: 13(float) Load 15(f)
+ 31: 13(float) FAdd 30 29
+ Store 15(f) 31
+ 35: 32 Load 34(i2D)
+ 37: 7(ivec3) Load 10(tid)
+ 38: 36(ivec2) VectorShuffle 37 37 0 1
+ 39: 27(fvec4) ImageFetch 35 38 Lod 26
+ 40: 13(float) CompositeExtract 39 0
+ 41: 13(float) Load 15(f)
+ 42: 13(float) FAdd 41 40
+ Store 15(f) 42
+ 46: 43 Load 45(i3D)
+ 47: 7(ivec3) Load 10(tid)
+ 48: 27(fvec4) ImageFetch 46 47 Lod 26
+ 49: 13(float) CompositeExtract 48 0
+ 50: 13(float) Load 15(f)
+ 51: 13(float) FAdd 50 49
+ Store 15(f) 51
+ 55: 52 Load 54(i1DArray)
+ 56: 7(ivec3) Load 10(tid)
+ 57: 36(ivec2) VectorShuffle 56 56 0 1
+ 58: 27(fvec4) ImageFetch 55 57 Lod 26
+ 59: 13(float) CompositeExtract 58 0
+ 60: 13(float) Load 15(f)
+ 61: 13(float) FAdd 60 59
+ Store 15(f) 61
+ 65: 62 Load 64(i2DArray)
+ 66: 7(ivec3) Load 10(tid)
+ 67: 27(fvec4) ImageFetch 65 66 Lod 26
+ 68: 13(float) CompositeExtract 67 0
+ 69: 13(float) Load 15(f)
+ 70: 13(float) FAdd 69 68
+ Store 15(f) 70
+ 74: 71 Load 73(i2DMS)
+ 75: 7(ivec3) Load 10(tid)
+ 76: 36(ivec2) VectorShuffle 75 75 0 1
+ 78: 77(ivec2) Bitcast 76
+ 80: 27(fvec4) ImageFetch 74 78 Sample 79
+ 81: 13(float) CompositeExtract 80 0
+ 82: 13(float) Load 15(f)
+ 83: 13(float) FAdd 82 81
+ Store 15(f) 83
+ 87: 84 Load 86(i2DMSArray)
+ 88: 7(ivec3) Load 10(tid)
+ 90: 89(ivec3) Bitcast 88
+ 92: 27(fvec4) ImageFetch 87 90 Sample 91
+ 93: 13(float) CompositeExtract 92 0
+ 94: 13(float) Load 15(f)
+ 95: 13(float) FAdd 94 93
+ Store 15(f) 95
+ Store 97(i) 26
+ 101: 98 Load 100(ii1D)
+ 102: 22(ptr) AccessChain 10(tid) 21
+ 103: 6(int) Load 102
+ 105: 104(ivec4) ImageFetch 101 103 Lod 26
+ 106: 25(int) CompositeExtract 105 0
+ 107: 25(int) Load 97(i)
+ 108: 25(int) IAdd 107 106
+ Store 97(i) 108
+ 112: 109 Load 111(ii2D)
+ 113: 7(ivec3) Load 10(tid)
+ 114: 36(ivec2) VectorShuffle 113 113 0 1
+ 115: 104(ivec4) ImageFetch 112 114 Lod 26
+ 116: 25(int) CompositeExtract 115 0
+ 117: 25(int) Load 97(i)
+ 118: 25(int) IAdd 117 116
+ Store 97(i) 118
+ 122: 119 Load 121(ii3D)
+ 123: 7(ivec3) Load 10(tid)
+ 124: 104(ivec4) ImageFetch 122 123 Lod 26
+ 125: 25(int) CompositeExtract 124 0
+ 126: 25(int) Load 97(i)
+ 127: 25(int) IAdd 126 125
+ Store 97(i) 127
+ 131: 128 Load 130(ii1DArray)
+ 132: 7(ivec3) Load 10(tid)
+ 133: 36(ivec2) VectorShuffle 132 132 0 1
+ 134: 104(ivec4) ImageFetch 131 133 Lod 26
+ 135: 25(int) CompositeExtract 134 0
+ 136: 25(int) Load 97(i)
+ 137: 25(int) IAdd 136 135
+ Store 97(i) 137
+ 141: 138 Load 140(ii2DArray)
+ 142: 7(ivec3) Load 10(tid)
+ 143: 104(ivec4) ImageFetch 141 142 Lod 26
+ 144: 25(int) CompositeExtract 143 0
+ 145: 25(int) Load 97(i)
+ 146: 25(int) IAdd 145 144
+ Store 97(i) 146
+ 150: 147 Load 149(ii2DMS)
+ 151: 7(ivec3) Load 10(tid)
+ 152: 36(ivec2) VectorShuffle 151 151 0 1
+ 153: 77(ivec2) Bitcast 152
+ 154: 104(ivec4) ImageFetch 150 153 Sample 79
+ 155: 25(int) CompositeExtract 154 0
+ 156: 25(int) Load 97(i)
+ 157: 25(int) IAdd 156 155
+ Store 97(i) 157
+ 161: 158 Load 160(ii2DMSArray)
+ 162: 7(ivec3) Load 10(tid)
+ 163: 89(ivec3) Bitcast 162
+ 164: 104(ivec4) ImageFetch 161 163 Sample 91
+ 165: 25(int) CompositeExtract 164 0
+ 166: 25(int) Load 97(i)
+ 167: 25(int) IAdd 166 165
+ Store 97(i) 167
+ 169: 13(float) Load 15(f)
+ 170: 25(int) Load 97(i)
+ 171: 13(float) ConvertSToF 170
+ 172: 13(float) FAdd 169 171
+ Store 168(storeTemp) 172
+ 176: 173 Load 175(OUT)
+ 177: 7(ivec3) Load 10(tid)
+ 178: 13(float) Load 168(storeTemp)
+ ImageWrite 176 177 178
Return
FunctionEnd
diff --git a/Test/baseResults/hlsl.imageload-subvec4.comp.out b/Test/baseResults/hlsl.imageload-subvec4.comp.out
new file mode 100644
index 0000000..4d038a1
--- /dev/null
+++ b/Test/baseResults/hlsl.imageload-subvec4.comp.out
@@ -0,0 +1,477 @@
+hlsl.imageload-subvec4.comp
+Shader version: 500
+local_size = (8, 8, 8)
+0:? Sequence
+0:17 Function Definition: @main(vu3; ( temp void)
+0:17 Function Parameters:
+0:17 'tid' ( in 3-component vector of uint)
+0:? Sequence
+0:18 Sequence
+0:18 move second child to first child ( temp float)
+0:18 'f' ( temp float)
+0:18 Constant:
+0:18 0.000000
+0:19 add second child into first child ( temp float)
+0:19 'f' ( temp float)
+0:19 imageLoad ( temp float)
+0:19 'i1D' (layout( binding=0 r32f) uniform image1D)
+0:19 direct index ( temp uint)
+0:19 'tid' ( in 3-component vector of uint)
+0:19 Constant:
+0:19 0 (const int)
+0:20 add second child into first child ( temp float)
+0:20 'f' ( temp float)
+0:20 imageLoad ( temp float)
+0:20 'i2D' (layout( binding=1 r32f) uniform image2D)
+0:20 vector swizzle ( temp 2-component vector of uint)
+0:20 'tid' ( in 3-component vector of uint)
+0:20 Sequence
+0:20 Constant:
+0:20 0 (const int)
+0:20 Constant:
+0:20 1 (const int)
+0:21 add second child into first child ( temp float)
+0:21 'f' ( temp float)
+0:21 imageLoad ( temp float)
+0:21 'i3D' (layout( binding=2 r32f) uniform image3D)
+0:21 'tid' ( in 3-component vector of uint)
+0:22 add second child into first child ( temp float)
+0:22 'f' ( temp float)
+0:22 imageLoad ( temp float)
+0:22 'i1DArray' (layout( binding=3 r32f) uniform image1DArray)
+0:22 vector swizzle ( temp 2-component vector of uint)
+0:22 'tid' ( in 3-component vector of uint)
+0:22 Sequence
+0:22 Constant:
+0:22 0 (const int)
+0:22 Constant:
+0:22 1 (const int)
+0:23 add second child into first child ( temp float)
+0:23 'f' ( temp float)
+0:23 imageLoad ( temp float)
+0:23 'i2DArray' (layout( binding=4 r32f) uniform image2DArray)
+0:23 'tid' ( in 3-component vector of uint)
+0:25 Sequence
+0:25 move second child to first child ( temp int)
+0:25 'i' ( temp int)
+0:25 Constant:
+0:25 0 (const int)
+0:26 add second child into first child ( temp int)
+0:26 'i' ( temp int)
+0:26 imageLoad ( temp int)
+0:26 'ii1D' (layout( binding=5 r32i) uniform iimage1D)
+0:26 direct index ( temp uint)
+0:26 'tid' ( in 3-component vector of uint)
+0:26 Constant:
+0:26 0 (const int)
+0:27 add second child into first child ( temp int)
+0:27 'i' ( temp int)
+0:27 imageLoad ( temp int)
+0:27 'ii2D' (layout( binding=6 r32i) uniform iimage2D)
+0:27 vector swizzle ( temp 2-component vector of uint)
+0:27 'tid' ( in 3-component vector of uint)
+0:27 Sequence
+0:27 Constant:
+0:27 0 (const int)
+0:27 Constant:
+0:27 1 (const int)
+0:28 add second child into first child ( temp int)
+0:28 'i' ( temp int)
+0:28 imageLoad ( temp int)
+0:28 'ii3D' (layout( binding=7 r32i) uniform iimage3D)
+0:28 'tid' ( in 3-component vector of uint)
+0:29 add second child into first child ( temp int)
+0:29 'i' ( temp int)
+0:29 imageLoad ( temp int)
+0:29 'ii1DArray' (layout( binding=8 r32i) uniform iimage1DArray)
+0:29 vector swizzle ( temp 2-component vector of uint)
+0:29 'tid' ( in 3-component vector of uint)
+0:29 Sequence
+0:29 Constant:
+0:29 0 (const int)
+0:29 Constant:
+0:29 1 (const int)
+0:30 add second child into first child ( temp int)
+0:30 'i' ( temp int)
+0:30 imageLoad ( temp int)
+0:30 'ii2DArray' (layout( binding=9 r32i) uniform iimage2DArray)
+0:30 'tid' ( in 3-component vector of uint)
+0:32 Sequence
+0:32 move second child to first child ( temp float)
+0:32 'storeTemp' ( temp float)
+0:32 add ( temp float)
+0:32 'f' ( temp float)
+0:32 Convert int to float ( temp float)
+0:32 'i' ( temp int)
+0:32 imageStore ( temp void)
+0:32 'OUT' (layout( binding=10 r32f) uniform image3D)
+0:32 'tid' ( in 3-component vector of uint)
+0:32 'storeTemp' ( temp float)
+0:32 'storeTemp' ( temp float)
+0:17 Function Definition: main( ( temp void)
+0:17 Function Parameters:
+0:? Sequence
+0:17 move second child to first child ( temp 3-component vector of uint)
+0:? 'tid' ( temp 3-component vector of uint)
+0:? 'tid' ( in 3-component vector of uint GlobalInvocationID)
+0:17 Function Call: @main(vu3; ( temp void)
+0:? 'tid' ( temp 3-component vector of uint)
+0:? Linker Objects
+0:? 'i1D' (layout( binding=0 r32f) uniform image1D)
+0:? 'i2D' (layout( binding=1 r32f) uniform image2D)
+0:? 'i3D' (layout( binding=2 r32f) uniform image3D)
+0:? 'i1DArray' (layout( binding=3 r32f) uniform image1DArray)
+0:? 'i2DArray' (layout( binding=4 r32f) uniform image2DArray)
+0:? 'ii1D' (layout( binding=5 r32i) uniform iimage1D)
+0:? 'ii2D' (layout( binding=6 r32i) uniform iimage2D)
+0:? 'ii3D' (layout( binding=7 r32i) uniform iimage3D)
+0:? 'ii1DArray' (layout( binding=8 r32i) uniform iimage1DArray)
+0:? 'ii2DArray' (layout( binding=9 r32i) uniform iimage2DArray)
+0:? 'OUT' (layout( binding=10 r32f) uniform image3D)
+0:? 'tid' ( in 3-component vector of uint GlobalInvocationID)
+
+
+Linked compute stage:
+
+
+Shader version: 500
+local_size = (8, 8, 8)
+0:? Sequence
+0:17 Function Definition: @main(vu3; ( temp void)
+0:17 Function Parameters:
+0:17 'tid' ( in 3-component vector of uint)
+0:? Sequence
+0:18 Sequence
+0:18 move second child to first child ( temp float)
+0:18 'f' ( temp float)
+0:18 Constant:
+0:18 0.000000
+0:19 add second child into first child ( temp float)
+0:19 'f' ( temp float)
+0:19 imageLoad ( temp float)
+0:19 'i1D' (layout( binding=0 r32f) uniform image1D)
+0:19 direct index ( temp uint)
+0:19 'tid' ( in 3-component vector of uint)
+0:19 Constant:
+0:19 0 (const int)
+0:20 add second child into first child ( temp float)
+0:20 'f' ( temp float)
+0:20 imageLoad ( temp float)
+0:20 'i2D' (layout( binding=1 r32f) uniform image2D)
+0:20 vector swizzle ( temp 2-component vector of uint)
+0:20 'tid' ( in 3-component vector of uint)
+0:20 Sequence
+0:20 Constant:
+0:20 0 (const int)
+0:20 Constant:
+0:20 1 (const int)
+0:21 add second child into first child ( temp float)
+0:21 'f' ( temp float)
+0:21 imageLoad ( temp float)
+0:21 'i3D' (layout( binding=2 r32f) uniform image3D)
+0:21 'tid' ( in 3-component vector of uint)
+0:22 add second child into first child ( temp float)
+0:22 'f' ( temp float)
+0:22 imageLoad ( temp float)
+0:22 'i1DArray' (layout( binding=3 r32f) uniform image1DArray)
+0:22 vector swizzle ( temp 2-component vector of uint)
+0:22 'tid' ( in 3-component vector of uint)
+0:22 Sequence
+0:22 Constant:
+0:22 0 (const int)
+0:22 Constant:
+0:22 1 (const int)
+0:23 add second child into first child ( temp float)
+0:23 'f' ( temp float)
+0:23 imageLoad ( temp float)
+0:23 'i2DArray' (layout( binding=4 r32f) uniform image2DArray)
+0:23 'tid' ( in 3-component vector of uint)
+0:25 Sequence
+0:25 move second child to first child ( temp int)
+0:25 'i' ( temp int)
+0:25 Constant:
+0:25 0 (const int)
+0:26 add second child into first child ( temp int)
+0:26 'i' ( temp int)
+0:26 imageLoad ( temp int)
+0:26 'ii1D' (layout( binding=5 r32i) uniform iimage1D)
+0:26 direct index ( temp uint)
+0:26 'tid' ( in 3-component vector of uint)
+0:26 Constant:
+0:26 0 (const int)
+0:27 add second child into first child ( temp int)
+0:27 'i' ( temp int)
+0:27 imageLoad ( temp int)
+0:27 'ii2D' (layout( binding=6 r32i) uniform iimage2D)
+0:27 vector swizzle ( temp 2-component vector of uint)
+0:27 'tid' ( in 3-component vector of uint)
+0:27 Sequence
+0:27 Constant:
+0:27 0 (const int)
+0:27 Constant:
+0:27 1 (const int)
+0:28 add second child into first child ( temp int)
+0:28 'i' ( temp int)
+0:28 imageLoad ( temp int)
+0:28 'ii3D' (layout( binding=7 r32i) uniform iimage3D)
+0:28 'tid' ( in 3-component vector of uint)
+0:29 add second child into first child ( temp int)
+0:29 'i' ( temp int)
+0:29 imageLoad ( temp int)
+0:29 'ii1DArray' (layout( binding=8 r32i) uniform iimage1DArray)
+0:29 vector swizzle ( temp 2-component vector of uint)
+0:29 'tid' ( in 3-component vector of uint)
+0:29 Sequence
+0:29 Constant:
+0:29 0 (const int)
+0:29 Constant:
+0:29 1 (const int)
+0:30 add second child into first child ( temp int)
+0:30 'i' ( temp int)
+0:30 imageLoad ( temp int)
+0:30 'ii2DArray' (layout( binding=9 r32i) uniform iimage2DArray)
+0:30 'tid' ( in 3-component vector of uint)
+0:32 Sequence
+0:32 move second child to first child ( temp float)
+0:32 'storeTemp' ( temp float)
+0:32 add ( temp float)
+0:32 'f' ( temp float)
+0:32 Convert int to float ( temp float)
+0:32 'i' ( temp int)
+0:32 imageStore ( temp void)
+0:32 'OUT' (layout( binding=10 r32f) uniform image3D)
+0:32 'tid' ( in 3-component vector of uint)
+0:32 'storeTemp' ( temp float)
+0:32 'storeTemp' ( temp float)
+0:17 Function Definition: main( ( temp void)
+0:17 Function Parameters:
+0:? Sequence
+0:17 move second child to first child ( temp 3-component vector of uint)
+0:? 'tid' ( temp 3-component vector of uint)
+0:? 'tid' ( in 3-component vector of uint GlobalInvocationID)
+0:17 Function Call: @main(vu3; ( temp void)
+0:? 'tid' ( temp 3-component vector of uint)
+0:? Linker Objects
+0:? 'i1D' (layout( binding=0 r32f) uniform image1D)
+0:? 'i2D' (layout( binding=1 r32f) uniform image2D)
+0:? 'i3D' (layout( binding=2 r32f) uniform image3D)
+0:? 'i1DArray' (layout( binding=3 r32f) uniform image1DArray)
+0:? 'i2DArray' (layout( binding=4 r32f) uniform image2DArray)
+0:? 'ii1D' (layout( binding=5 r32i) uniform iimage1D)
+0:? 'ii2D' (layout( binding=6 r32i) uniform iimage2D)
+0:? 'ii3D' (layout( binding=7 r32i) uniform iimage3D)
+0:? 'ii1DArray' (layout( binding=8 r32i) uniform iimage1DArray)
+0:? 'ii2DArray' (layout( binding=9 r32i) uniform iimage2DArray)
+0:? 'OUT' (layout( binding=10 r32f) uniform image3D)
+0:? 'tid' ( in 3-component vector of uint GlobalInvocationID)
+
+// Module Version 10000
+// Generated by (magic number): 8000a
+// Id's are bound by 138
+
+ Capability Shader
+ Capability Image1D
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint GLCompute 4 "main" 133
+ ExecutionMode 4 LocalSize 8 8 8
+ Source HLSL 500
+ Name 4 "main"
+ Name 11 "@main(vu3;"
+ Name 10 "tid"
+ Name 15 "f"
+ Name 19 "i1D"
+ Name 32 "i2D"
+ Name 43 "i3D"
+ Name 52 "i1DArray"
+ Name 62 "i2DArray"
+ Name 71 "i"
+ Name 75 "ii1D"
+ Name 86 "ii2D"
+ Name 96 "ii3D"
+ Name 105 "ii1DArray"
+ Name 115 "ii2DArray"
+ Name 122 "storeTemp"
+ Name 127 "OUT"
+ Name 131 "tid"
+ Name 133 "tid"
+ Name 135 "param"
+ Decorate 19(i1D) DescriptorSet 0
+ Decorate 19(i1D) Binding 0
+ Decorate 32(i2D) DescriptorSet 0
+ Decorate 32(i2D) Binding 1
+ Decorate 43(i3D) DescriptorSet 0
+ Decorate 43(i3D) Binding 2
+ Decorate 52(i1DArray) DescriptorSet 0
+ Decorate 52(i1DArray) Binding 3
+ Decorate 62(i2DArray) DescriptorSet 0
+ Decorate 62(i2DArray) Binding 4
+ Decorate 75(ii1D) DescriptorSet 0
+ Decorate 75(ii1D) Binding 5
+ Decorate 86(ii2D) DescriptorSet 0
+ Decorate 86(ii2D) Binding 6
+ Decorate 96(ii3D) DescriptorSet 0
+ Decorate 96(ii3D) Binding 7
+ Decorate 105(ii1DArray) DescriptorSet 0
+ Decorate 105(ii1DArray) Binding 8
+ Decorate 115(ii2DArray) DescriptorSet 0
+ Decorate 115(ii2DArray) Binding 9
+ Decorate 127(OUT) DescriptorSet 0
+ Decorate 127(OUT) Binding 10
+ Decorate 133(tid) BuiltIn GlobalInvocationId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7: TypeVector 6(int) 3
+ 8: TypePointer Function 7(ivec3)
+ 9: TypeFunction 2 8(ptr)
+ 13: TypeFloat 32
+ 14: TypePointer Function 13(float)
+ 16: 13(float) Constant 0
+ 17: TypeImage 13(float) 1D nonsampled format:R32f
+ 18: TypePointer UniformConstant 17
+ 19(i1D): 18(ptr) Variable UniformConstant
+ 21: 6(int) Constant 0
+ 22: TypePointer Function 6(int)
+ 25: TypeVector 13(float) 4
+ 30: TypeImage 13(float) 2D nonsampled format:R32f
+ 31: TypePointer UniformConstant 30
+ 32(i2D): 31(ptr) Variable UniformConstant
+ 34: TypeVector 6(int) 2
+ 41: TypeImage 13(float) 3D nonsampled format:R32f
+ 42: TypePointer UniformConstant 41
+ 43(i3D): 42(ptr) Variable UniformConstant
+ 50: TypeImage 13(float) 1D array nonsampled format:R32f
+ 51: TypePointer UniformConstant 50
+ 52(i1DArray): 51(ptr) Variable UniformConstant
+ 60: TypeImage 13(float) 2D array nonsampled format:R32f
+ 61: TypePointer UniformConstant 60
+ 62(i2DArray): 61(ptr) Variable UniformConstant
+ 69: TypeInt 32 1
+ 70: TypePointer Function 69(int)
+ 72: 69(int) Constant 0
+ 73: TypeImage 69(int) 1D nonsampled format:R32i
+ 74: TypePointer UniformConstant 73
+ 75(ii1D): 74(ptr) Variable UniformConstant
+ 79: TypeVector 69(int) 4
+ 84: TypeImage 69(int) 2D nonsampled format:R32i
+ 85: TypePointer UniformConstant 84
+ 86(ii2D): 85(ptr) Variable UniformConstant
+ 94: TypeImage 69(int) 3D nonsampled format:R32i
+ 95: TypePointer UniformConstant 94
+ 96(ii3D): 95(ptr) Variable UniformConstant
+ 103: TypeImage 69(int) 1D array nonsampled format:R32i
+ 104: TypePointer UniformConstant 103
+ 105(ii1DArray): 104(ptr) Variable UniformConstant
+ 113: TypeImage 69(int) 2D array nonsampled format:R32i
+ 114: TypePointer UniformConstant 113
+ 115(ii2DArray): 114(ptr) Variable UniformConstant
+ 127(OUT): 42(ptr) Variable UniformConstant
+ 132: TypePointer Input 7(ivec3)
+ 133(tid): 132(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 131(tid): 8(ptr) Variable Function
+ 135(param): 8(ptr) Variable Function
+ 134: 7(ivec3) Load 133(tid)
+ Store 131(tid) 134
+ 136: 7(ivec3) Load 131(tid)
+ Store 135(param) 136
+ 137: 2 FunctionCall 11(@main(vu3;) 135(param)
+ Return
+ FunctionEnd
+ 11(@main(vu3;): 2 Function None 9
+ 10(tid): 8(ptr) FunctionParameter
+ 12: Label
+ 15(f): 14(ptr) Variable Function
+ 71(i): 70(ptr) Variable Function
+ 122(storeTemp): 14(ptr) Variable Function
+ Store 15(f) 16
+ 20: 17 Load 19(i1D)
+ 23: 22(ptr) AccessChain 10(tid) 21
+ 24: 6(int) Load 23
+ 26: 25(fvec4) ImageRead 20 24
+ 27: 13(float) CompositeExtract 26 0
+ 28: 13(float) Load 15(f)
+ 29: 13(float) FAdd 28 27
+ Store 15(f) 29
+ 33: 30 Load 32(i2D)
+ 35: 7(ivec3) Load 10(tid)
+ 36: 34(ivec2) VectorShuffle 35 35 0 1
+ 37: 25(fvec4) ImageRead 33 36
+ 38: 13(float) CompositeExtract 37 0
+ 39: 13(float) Load 15(f)
+ 40: 13(float) FAdd 39 38
+ Store 15(f) 40
+ 44: 41 Load 43(i3D)
+ 45: 7(ivec3) Load 10(tid)
+ 46: 25(fvec4) ImageRead 44 45
+ 47: 13(float) CompositeExtract 46 0
+ 48: 13(float) Load 15(f)
+ 49: 13(float) FAdd 48 47
+ Store 15(f) 49
+ 53: 50 Load 52(i1DArray)
+ 54: 7(ivec3) Load 10(tid)
+ 55: 34(ivec2) VectorShuffle 54 54 0 1
+ 56: 25(fvec4) ImageRead 53 55
+ 57: 13(float) CompositeExtract 56 0
+ 58: 13(float) Load 15(f)
+ 59: 13(float) FAdd 58 57
+ Store 15(f) 59
+ 63: 60 Load 62(i2DArray)
+ 64: 7(ivec3) Load 10(tid)
+ 65: 25(fvec4) ImageRead 63 64
+ 66: 13(float) CompositeExtract 65 0
+ 67: 13(float) Load 15(f)
+ 68: 13(float) FAdd 67 66
+ Store 15(f) 68
+ Store 71(i) 72
+ 76: 73 Load 75(ii1D)
+ 77: 22(ptr) AccessChain 10(tid) 21
+ 78: 6(int) Load 77
+ 80: 79(ivec4) ImageRead 76 78
+ 81: 69(int) CompositeExtract 80 0
+ 82: 69(int) Load 71(i)
+ 83: 69(int) IAdd 82 81
+ Store 71(i) 83
+ 87: 84 Load 86(ii2D)
+ 88: 7(ivec3) Load 10(tid)
+ 89: 34(ivec2) VectorShuffle 88 88 0 1
+ 90: 79(ivec4) ImageRead 87 89
+ 91: 69(int) CompositeExtract 90 0
+ 92: 69(int) Load 71(i)
+ 93: 69(int) IAdd 92 91
+ Store 71(i) 93
+ 97: 94 Load 96(ii3D)
+ 98: 7(ivec3) Load 10(tid)
+ 99: 79(ivec4) ImageRead 97 98
+ 100: 69(int) CompositeExtract 99 0
+ 101: 69(int) Load 71(i)
+ 102: 69(int) IAdd 101 100
+ Store 71(i) 102
+ 106: 103 Load 105(ii1DArray)
+ 107: 7(ivec3) Load 10(tid)
+ 108: 34(ivec2) VectorShuffle 107 107 0 1
+ 109: 79(ivec4) ImageRead 106 108
+ 110: 69(int) CompositeExtract 109 0
+ 111: 69(int) Load 71(i)
+ 112: 69(int) IAdd 111 110
+ Store 71(i) 112
+ 116: 113 Load 115(ii2DArray)
+ 117: 7(ivec3) Load 10(tid)
+ 118: 79(ivec4) ImageRead 116 117
+ 119: 69(int) CompositeExtract 118 0
+ 120: 69(int) Load 71(i)
+ 121: 69(int) IAdd 120 119
+ Store 71(i) 121
+ 123: 13(float) Load 15(f)
+ 124: 69(int) Load 71(i)
+ 125: 13(float) ConvertSToF 124
+ 126: 13(float) FAdd 123 125
+ Store 122(storeTemp) 126
+ 128: 41 Load 127(OUT)
+ 129: 7(ivec3) Load 10(tid)
+ 130: 13(float) Load 122(storeTemp)
+ ImageWrite 128 129 130
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/hlsl.partialFlattenLocal.vert.out b/Test/baseResults/hlsl.partialFlattenLocal.vert.out
index 12a6065..7bcc879 100644
--- a/Test/baseResults/hlsl.partialFlattenLocal.vert.out
+++ b/Test/baseResults/hlsl.partialFlattenLocal.vert.out
@@ -238,12 +238,12 @@
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 90
+// Id's are bound by 93
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 83 86
+ EntryPoint Vertex 4 "main" 86 89
Source HLSL 500
Name 4 "main"
Name 11 "@main(vf4;"
@@ -257,15 +257,15 @@
Name 24 "packed"
Name 27 "tex"
Name 47 "i"
- Name 69 "packed2"
- Name 81 "pos"
- Name 83 "pos"
- Name 86 "@entryPointOutput"
- Name 87 "param"
+ Name 72 "packed2"
+ Name 84 "pos"
+ Name 86 "pos"
+ Name 89 "@entryPointOutput"
+ Name 90 "param"
Decorate 27(tex) DescriptorSet 0
Decorate 27(tex) Binding 0
- Decorate 83(pos) Location 0
- Decorate 86(@entryPointOutput) BuiltIn Position
+ Decorate 86(pos) Location 0
+ Decorate 89(@entryPointOutput) BuiltIn Position
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -300,20 +300,22 @@
44: 21(int) Constant 4
45: TypePointer Function 21(int)
54: TypeBool
- 82: TypePointer Input 7(fvec4)
- 83(pos): 82(ptr) Variable Input
- 85: TypePointer Output 7(fvec4)
-86(@entryPointOutput): 85(ptr) Variable Output
+ 64: 15(int) Constant 0
+ 67: 15(int) Constant 1
+ 85: TypePointer Input 7(fvec4)
+ 86(pos): 85(ptr) Variable Input
+ 88: TypePointer Output 7(fvec4)
+89(@entryPointOutput): 88(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 81(pos): 8(ptr) Variable Function
- 87(param): 8(ptr) Variable Function
- 84: 7(fvec4) Load 83(pos)
- Store 81(pos) 84
- 88: 7(fvec4) Load 81(pos)
- Store 87(param) 88
- 89: 7(fvec4) FunctionCall 11(@main(vf4;) 87(param)
- Store 86(@entryPointOutput) 89
+ 84(pos): 8(ptr) Variable Function
+ 90(param): 8(ptr) Variable Function
+ 87: 7(fvec4) Load 86(pos)
+ Store 84(pos) 87
+ 91: 7(fvec4) Load 84(pos)
+ Store 90(param) 91
+ 92: 7(fvec4) FunctionCall 11(@main(vf4;) 90(param)
+ Store 89(@entryPointOutput) 92
Return
FunctionEnd
11(@main(vf4;): 7(fvec4) Function None 9
@@ -321,7 +323,7 @@
12: Label
24(packed): 23(ptr) Variable Function
47(i): 45(ptr) Variable Function
- 69(packed2): 23(ptr) Variable Function
+ 72(packed2): 23(ptr) Variable Function
28: 13 Load 27(tex)
30: 29(ptr) AccessChain 24(packed) 25
Store 30 28
@@ -351,26 +353,28 @@
61: 14(fvec3) Load 60
62: 18(fvec2) VectorShuffle 61 61 0 1
63: 18(fvec2) FAdd 62 59
- 64: 34(ptr) AccessChain 24(packed) 31 56
- 65: 14(fvec3) Load 64
- 66: 14(fvec3) VectorShuffle 65 63 3 4 2
- Store 64 66
+ 65: 42(ptr) AccessChain 24(packed) 31 56 64
+ 66: 6(float) CompositeExtract 63 0
+ Store 65 66
+ 68: 42(ptr) AccessChain 24(packed) 31 56 67
+ 69: 6(float) CompositeExtract 63 1
+ Store 68 69
Branch 51
51: Label
- 67: 21(int) Load 47(i)
- 68: 21(int) IAdd 67 31
- Store 47(i) 68
+ 70: 21(int) Load 47(i)
+ 71: 21(int) IAdd 70 31
+ Store 47(i) 71
Branch 48
50: Label
- 70: 22(Packed) Load 24(packed)
- Store 69(packed2) 70
- 71: 7(fvec4) Load 10(pos)
- 72: 34(ptr) AccessChain 69(packed2) 31 25
- 73: 14(fvec3) Load 72
- 74: 6(float) CompositeExtract 73 0
- 75: 6(float) CompositeExtract 73 1
- 76: 6(float) CompositeExtract 73 2
- 77: 7(fvec4) CompositeConstruct 74 75 76 32
- 78: 7(fvec4) FAdd 71 77
- ReturnValue 78
+ 73: 22(Packed) Load 24(packed)
+ Store 72(packed2) 73
+ 74: 7(fvec4) Load 10(pos)
+ 75: 34(ptr) AccessChain 72(packed2) 31 25
+ 76: 14(fvec3) Load 75
+ 77: 6(float) CompositeExtract 76 0
+ 78: 6(float) CompositeExtract 76 1
+ 79: 6(float) CompositeExtract 76 2
+ 80: 7(fvec4) CompositeConstruct 77 78 79 32
+ 81: 7(fvec4) FAdd 74 80
+ ReturnValue 81
FunctionEnd
diff --git a/Test/baseResults/hlsl.rw.register.frag.out b/Test/baseResults/hlsl.rw.register.frag.out
index 7bcecc9..265eaf9 100644
--- a/Test/baseResults/hlsl.rw.register.frag.out
+++ b/Test/baseResults/hlsl.rw.register.frag.out
@@ -97,17 +97,16 @@
0:? 'g_tBuf1du1' (layout( binding=3 r32ui) uniform uimageBuffer)
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
-Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 42
+// Id's are bound by 45
Capability Shader
Capability Image1D
Capability ImageBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 39
+ EntryPoint Fragment 4 "main" 42
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
@@ -116,15 +115,15 @@
Name 10 "@main("
Name 13 "r00"
Name 16 "g_tTex1df1"
- Name 23 "r01"
- Name 26 "g_tBuf1du1"
- Name 30 "psout"
- Name 39 "@entryPointOutput.Color"
+ Name 24 "r01"
+ Name 27 "g_tBuf1du1"
+ Name 33 "psout"
+ Name 42 "@entryPointOutput.Color"
Decorate 16(g_tTex1df1) DescriptorSet 0
Decorate 16(g_tTex1df1) Binding 2
- Decorate 26(g_tBuf1du1) DescriptorSet 0
- Decorate 26(g_tBuf1du1) Binding 3
- Decorate 39(@entryPointOutput.Color) Location 0
+ Decorate 27(g_tBuf1du1) DescriptorSet 0
+ Decorate 27(g_tBuf1du1) Binding 3
+ Decorate 42(@entryPointOutput.Color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -137,37 +136,40 @@
16(g_tTex1df1): 15(ptr) Variable UniformConstant
18: TypeInt 32 1
19: 18(int) Constant 0
- 21: TypeInt 32 0
- 22: TypePointer Function 21(int)
- 24: TypeImage 21(int) Buffer nonsampled format:R32ui
- 25: TypePointer UniformConstant 24
- 26(g_tBuf1du1): 25(ptr) Variable UniformConstant
- 29: TypePointer Function 8(PS_OUTPUT)
- 31: 6(float) Constant 1065353216
- 32: 7(fvec4) ConstantComposite 31 31 31 31
- 33: TypePointer Function 7(fvec4)
- 38: TypePointer Output 7(fvec4)
-39(@entryPointOutput.Color): 38(ptr) Variable Output
+ 22: TypeInt 32 0
+ 23: TypePointer Function 22(int)
+ 25: TypeImage 22(int) Buffer nonsampled format:R32ui
+ 26: TypePointer UniformConstant 25
+ 27(g_tBuf1du1): 26(ptr) Variable UniformConstant
+ 29: TypeVector 22(int) 4
+ 32: TypePointer Function 8(PS_OUTPUT)
+ 34: 6(float) Constant 1065353216
+ 35: 7(fvec4) ConstantComposite 34 34 34 34
+ 36: TypePointer Function 7(fvec4)
+ 41: TypePointer Output 7(fvec4)
+42(@entryPointOutput.Color): 41(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 40:8(PS_OUTPUT) FunctionCall 10(@main()
- 41: 7(fvec4) CompositeExtract 40 0
- Store 39(@entryPointOutput.Color) 41
+ 43:8(PS_OUTPUT) FunctionCall 10(@main()
+ 44: 7(fvec4) CompositeExtract 43 0
+ Store 42(@entryPointOutput.Color) 44
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(r00): 12(ptr) Variable Function
- 23(r01): 22(ptr) Variable Function
- 30(psout): 29(ptr) Variable Function
+ 24(r01): 23(ptr) Variable Function
+ 33(psout): 32(ptr) Variable Function
17: 14 Load 16(g_tTex1df1)
- 20: 6(float) ImageRead 17 19
- Store 13(r00) 20
- 27: 24 Load 26(g_tBuf1du1)
- 28: 21(int) ImageRead 27 19
- Store 23(r01) 28
- 34: 33(ptr) AccessChain 30(psout) 19
- Store 34 32
- 35:8(PS_OUTPUT) Load 30(psout)
- ReturnValue 35
+ 20: 7(fvec4) ImageRead 17 19
+ 21: 6(float) CompositeExtract 20 0
+ Store 13(r00) 21
+ 28: 25 Load 27(g_tBuf1du1)
+ 30: 29(ivec4) ImageRead 28 19
+ 31: 22(int) CompositeExtract 30 0
+ Store 24(r01) 31
+ 37: 36(ptr) AccessChain 33(psout) 19
+ Store 37 35
+ 38:8(PS_OUTPUT) Load 33(psout)
+ ReturnValue 38
FunctionEnd
diff --git a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
index e76d597..8e4716b 100644
--- a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
@@ -1689,16 +1689,15 @@
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform float uf1, uniform int ui1, uniform uint uu1})
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
-Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 571
+// Id's are bound by 607
Capability Shader
Capability Image1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 547
+ EntryPoint Fragment 4 "main" 583
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
@@ -1732,101 +1731,101 @@
MemberName 59($Global) 10 "uu1"
Name 61 ""
Name 70 "g_tTex1df1"
- Name 75 "r00"
- Name 80 "r01"
- Name 83 "g_tTex1di1"
- Name 88 "r02"
- Name 91 "g_tTex1du1"
- Name 96 "r10"
- Name 99 "g_tTex2df1"
- Name 106 "r11"
- Name 109 "g_tTex2di1"
- Name 114 "r12"
- Name 117 "g_tTex2du1"
- Name 122 "r20"
- Name 125 "g_tTex3df1"
- Name 132 "r21"
- Name 135 "g_tTex3di1"
- Name 140 "r22"
- Name 143 "g_tTex3du1"
- Name 148 "lf1"
- Name 153 "storeTemp"
- Name 163 "storeTemp"
- Name 168 "storeTemp"
- Name 174 "val1"
- Name 175 "coordTemp"
- Name 178 "storeTemp"
- Name 189 "coordTemp"
- Name 192 "storeTemp"
- Name 202 "coordTemp"
- Name 205 "storeTemp"
+ Name 76 "r00"
+ Name 82 "r01"
+ Name 85 "g_tTex1di1"
+ Name 91 "r02"
+ Name 94 "g_tTex1du1"
+ Name 101 "r10"
+ Name 104 "g_tTex2df1"
+ Name 112 "r11"
+ Name 115 "g_tTex2di1"
+ Name 121 "r12"
+ Name 124 "g_tTex2du1"
+ Name 130 "r20"
+ Name 133 "g_tTex3df1"
+ Name 141 "r21"
+ Name 144 "g_tTex3di1"
+ Name 150 "r22"
+ Name 153 "g_tTex3du1"
+ Name 159 "lf1"
+ Name 164 "storeTemp"
+ Name 174 "storeTemp"
+ Name 179 "storeTemp"
+ Name 185 "val1"
+ Name 186 "coordTemp"
+ Name 189 "storeTemp"
+ Name 201 "coordTemp"
+ Name 204 "storeTemp"
Name 215 "coordTemp"
Name 218 "storeTemp"
- Name 227 "coordTemp"
- Name 230 "storeTemp"
- Name 239 "coordTemp"
- Name 242 "storeTemp"
- Name 252 "coordTemp"
- Name 255 "storeTemp"
- Name 265 "coordTemp"
- Name 268 "storeTemp"
- Name 277 "coordTemp"
- Name 280 "storeTemp"
- Name 289 "storeTemp"
+ Name 229 "coordTemp"
+ Name 232 "storeTemp"
+ Name 242 "coordTemp"
+ Name 245 "storeTemp"
+ Name 255 "coordTemp"
+ Name 258 "storeTemp"
+ Name 269 "coordTemp"
+ Name 272 "storeTemp"
+ Name 283 "coordTemp"
+ Name 286 "storeTemp"
+ Name 296 "coordTemp"
Name 299 "storeTemp"
- Name 305 "storeTemp"
- Name 311 "storeTemp"
- Name 321 "storeTemp"
- Name 326 "storeTemp"
- Name 336 "param"
- Name 342 "param"
- Name 348 "param"
- Name 350 "tempArg"
- Name 351 "param"
- Name 358 "tempArg"
- Name 359 "param"
- Name 366 "tempArg"
- Name 367 "param"
- Name 374 "coordTemp"
- Name 377 "storeTemp"
- Name 387 "coordTemp"
- Name 390 "storeTemp"
- Name 399 "coordTemp"
- Name 402 "storeTemp"
+ Name 309 "storeTemp"
+ Name 319 "storeTemp"
+ Name 325 "storeTemp"
+ Name 331 "storeTemp"
+ Name 341 "storeTemp"
+ Name 346 "storeTemp"
+ Name 357 "param"
+ Name 364 "param"
+ Name 371 "param"
+ Name 373 "tempArg"
+ Name 374 "param"
+ Name 381 "tempArg"
+ Name 382 "param"
+ Name 389 "tempArg"
+ Name 390 "param"
+ Name 397 "coordTemp"
+ Name 400 "storeTemp"
Name 411 "coordTemp"
Name 414 "storeTemp"
- Name 423 "coordTemp"
- Name 426 "storeTemp"
- Name 435 "coordTemp"
- Name 438 "storeTemp"
- Name 447 "coordTemp"
- Name 450 "storeTempPre"
- Name 454 "storeTempPost"
- Name 461 "coordTemp"
- Name 464 "storeTempPre"
- Name 468 "storeTempPost"
- Name 475 "coordTemp"
- Name 478 "storeTempPre"
- Name 482 "storeTempPost"
- Name 489 "coordTemp"
- Name 492 "storeTempPre"
- Name 496 "storeTempPost"
- Name 503 "coordTemp"
- Name 506 "storeTempPre"
- Name 510 "storeTempPost"
- Name 517 "coordTemp"
- Name 520 "storeTempPre"
- Name 524 "storeTempPost"
- Name 531 "storeTemp"
- Name 539 "psout"
- Name 547 "@entryPointOutput.Color"
- Name 552 "g_sSamp"
- Name 555 "g_tTex1df1a"
- Name 558 "g_tTex1di1a"
- Name 561 "g_tTex1du1a"
- Name 564 "g_tTex2df1a"
- Name 567 "g_tTex2di1a"
- Name 570 "g_tTex2du1a"
+ Name 424 "coordTemp"
+ Name 427 "storeTemp"
+ Name 437 "coordTemp"
+ Name 440 "storeTemp"
+ Name 450 "coordTemp"
+ Name 453 "storeTemp"
+ Name 463 "coordTemp"
+ Name 466 "storeTemp"
+ Name 476 "coordTemp"
+ Name 479 "storeTempPre"
+ Name 484 "storeTempPost"
+ Name 491 "coordTemp"
+ Name 494 "storeTempPre"
+ Name 499 "storeTempPost"
+ Name 506 "coordTemp"
+ Name 509 "storeTempPre"
+ Name 514 "storeTempPost"
+ Name 521 "coordTemp"
+ Name 524 "storeTempPre"
+ Name 529 "storeTempPost"
+ Name 536 "coordTemp"
+ Name 539 "storeTempPre"
+ Name 544 "storeTempPost"
+ Name 551 "coordTemp"
+ Name 554 "storeTempPre"
+ Name 559 "storeTempPost"
+ Name 566 "storeTemp"
+ Name 575 "psout"
+ Name 583 "@entryPointOutput.Color"
+ Name 588 "g_sSamp"
+ Name 591 "g_tTex1df1a"
+ Name 594 "g_tTex1di1a"
+ Name 597 "g_tTex1du1a"
+ Name 600 "g_tTex2df1a"
+ Name 603 "g_tTex2di1a"
+ Name 606 "g_tTex2du1a"
MemberDecorate 59($Global) 0 Offset 0
MemberDecorate 59($Global) 1 Offset 8
MemberDecorate 59($Global) 2 Offset 16
@@ -1843,37 +1842,37 @@
Decorate 61 Binding 10
Decorate 70(g_tTex1df1) DescriptorSet 0
Decorate 70(g_tTex1df1) Binding 1
- Decorate 83(g_tTex1di1) DescriptorSet 0
- Decorate 83(g_tTex1di1) Binding 2
- Decorate 91(g_tTex1du1) DescriptorSet 0
- Decorate 91(g_tTex1du1) Binding 3
- Decorate 99(g_tTex2df1) DescriptorSet 0
- Decorate 99(g_tTex2df1) Binding 4
- Decorate 109(g_tTex2di1) DescriptorSet 0
- Decorate 109(g_tTex2di1) Binding 5
- Decorate 117(g_tTex2du1) DescriptorSet 0
- Decorate 117(g_tTex2du1) Binding 6
- Decorate 125(g_tTex3df1) DescriptorSet 0
- Decorate 125(g_tTex3df1) Binding 7
- Decorate 135(g_tTex3di1) DescriptorSet 0
- Decorate 135(g_tTex3di1) Binding 8
- Decorate 143(g_tTex3du1) DescriptorSet 0
- Decorate 143(g_tTex3du1) Binding 9
- Decorate 547(@entryPointOutput.Color) Location 0
- Decorate 552(g_sSamp) DescriptorSet 0
- Decorate 552(g_sSamp) Binding 0
- Decorate 555(g_tTex1df1a) DescriptorSet 0
- Decorate 555(g_tTex1df1a) Binding 0
- Decorate 558(g_tTex1di1a) DescriptorSet 0
- Decorate 558(g_tTex1di1a) Binding 0
- Decorate 561(g_tTex1du1a) DescriptorSet 0
- Decorate 561(g_tTex1du1a) Binding 0
- Decorate 564(g_tTex2df1a) DescriptorSet 0
- Decorate 564(g_tTex2df1a) Binding 0
- Decorate 567(g_tTex2di1a) DescriptorSet 0
- Decorate 567(g_tTex2di1a) Binding 0
- Decorate 570(g_tTex2du1a) DescriptorSet 0
- Decorate 570(g_tTex2du1a) Binding 0
+ Decorate 85(g_tTex1di1) DescriptorSet 0
+ Decorate 85(g_tTex1di1) Binding 2
+ Decorate 94(g_tTex1du1) DescriptorSet 0
+ Decorate 94(g_tTex1du1) Binding 3
+ Decorate 104(g_tTex2df1) DescriptorSet 0
+ Decorate 104(g_tTex2df1) Binding 4
+ Decorate 115(g_tTex2di1) DescriptorSet 0
+ Decorate 115(g_tTex2di1) Binding 5
+ Decorate 124(g_tTex2du1) DescriptorSet 0
+ Decorate 124(g_tTex2du1) Binding 6
+ Decorate 133(g_tTex3df1) DescriptorSet 0
+ Decorate 133(g_tTex3df1) Binding 7
+ Decorate 144(g_tTex3di1) DescriptorSet 0
+ Decorate 144(g_tTex3di1) Binding 8
+ Decorate 153(g_tTex3du1) DescriptorSet 0
+ Decorate 153(g_tTex3du1) Binding 9
+ Decorate 583(@entryPointOutput.Color) Location 0
+ Decorate 588(g_sSamp) DescriptorSet 0
+ Decorate 588(g_sSamp) Binding 0
+ Decorate 591(g_tTex1df1a) DescriptorSet 0
+ Decorate 591(g_tTex1df1a) Binding 0
+ Decorate 594(g_tTex1di1a) DescriptorSet 0
+ Decorate 594(g_tTex1di1a) Binding 0
+ Decorate 597(g_tTex1du1a) DescriptorSet 0
+ Decorate 597(g_tTex1du1a) Binding 0
+ Decorate 600(g_tTex2df1a) DescriptorSet 0
+ Decorate 600(g_tTex2df1a) Binding 0
+ Decorate 603(g_tTex2di1a) DescriptorSet 0
+ Decorate 603(g_tTex2di1a) Binding 0
+ Decorate 606(g_tTex2du1a) DescriptorSet 0
+ Decorate 606(g_tTex2du1a) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@@ -1905,79 +1904,80 @@
68: TypeImage 18(float) 1D nonsampled format:R32f
69: TypePointer UniformConstant 68
70(g_tTex1df1): 69(ptr) Variable UniformConstant
- 81: TypeImage 6(int) 1D nonsampled format:R32i
- 82: TypePointer UniformConstant 81
- 83(g_tTex1di1): 82(ptr) Variable UniformConstant
- 89: TypeImage 12(int) 1D nonsampled format:R32ui
- 90: TypePointer UniformConstant 89
- 91(g_tTex1du1): 90(ptr) Variable UniformConstant
- 97: TypeImage 18(float) 2D nonsampled format:R32f
- 98: TypePointer UniformConstant 97
- 99(g_tTex2df1): 98(ptr) Variable UniformConstant
- 101: 6(int) Constant 1
- 102: TypePointer Uniform 56(ivec2)
- 107: TypeImage 6(int) 2D nonsampled format:R32i
- 108: TypePointer UniformConstant 107
- 109(g_tTex2di1): 108(ptr) Variable UniformConstant
- 115: TypeImage 12(int) 2D nonsampled format:R32ui
- 116: TypePointer UniformConstant 115
- 117(g_tTex2du1): 116(ptr) Variable UniformConstant
- 123: TypeImage 18(float) 3D nonsampled format:R32f
- 124: TypePointer UniformConstant 123
- 125(g_tTex3df1): 124(ptr) Variable UniformConstant
- 127: 6(int) Constant 2
- 128: TypePointer Uniform 57(ivec3)
- 133: TypeImage 6(int) 3D nonsampled format:R32i
- 134: TypePointer UniformConstant 133
- 135(g_tTex3di1): 134(ptr) Variable UniformConstant
- 141: TypeImage 12(int) 3D nonsampled format:R32ui
- 142: TypePointer UniformConstant 141
- 143(g_tTex3du1): 142(ptr) Variable UniformConstant
- 149: 6(int) Constant 8
- 150: TypePointer Uniform 18(float)
- 169: 12(int) Constant 3
- 182: 18(float) Constant 1073741824
- 196: 18(float) Constant 1077936128
- 209: 18(float) Constant 1082130432
- 246: 6(int) Constant 65535
- 259: 6(int) Constant 61680
- 300: 6(int) Constant 5
- 306: 12(int) Constant 6
- 327: 12(int) Constant 9
- 382: 18(float) Constant 1065353216
- 533: 6(int) Constant 3
- 534: 56(ivec2) ConstantComposite 127 533
- 538: TypePointer Function 40(PS_OUTPUT)
- 540: 39(fvec4) ConstantComposite 382 382 382 382
- 541: TypePointer Function 39(fvec4)
- 546: TypePointer Output 39(fvec4)
-547(@entryPointOutput.Color): 546(ptr) Variable Output
- 550: TypeSampler
- 551: TypePointer UniformConstant 550
- 552(g_sSamp): 551(ptr) Variable UniformConstant
- 553: TypeImage 18(float) 1D array nonsampled format:R32f
- 554: TypePointer UniformConstant 553
-555(g_tTex1df1a): 554(ptr) Variable UniformConstant
- 556: TypeImage 6(int) 1D array nonsampled format:R32i
- 557: TypePointer UniformConstant 556
-558(g_tTex1di1a): 557(ptr) Variable UniformConstant
- 559: TypeImage 12(int) 1D array nonsampled format:R32ui
- 560: TypePointer UniformConstant 559
-561(g_tTex1du1a): 560(ptr) Variable UniformConstant
- 562: TypeImage 18(float) 2D array nonsampled format:R32f
- 563: TypePointer UniformConstant 562
-564(g_tTex2df1a): 563(ptr) Variable UniformConstant
- 565: TypeImage 6(int) 2D array nonsampled format:R32i
- 566: TypePointer UniformConstant 565
-567(g_tTex2di1a): 566(ptr) Variable UniformConstant
- 568: TypeImage 12(int) 2D array nonsampled format:R32ui
- 569: TypePointer UniformConstant 568
-570(g_tTex2du1a): 569(ptr) Variable UniformConstant
+ 83: TypeImage 6(int) 1D nonsampled format:R32i
+ 84: TypePointer UniformConstant 83
+ 85(g_tTex1di1): 84(ptr) Variable UniformConstant
+ 92: TypeImage 12(int) 1D nonsampled format:R32ui
+ 93: TypePointer UniformConstant 92
+ 94(g_tTex1du1): 93(ptr) Variable UniformConstant
+ 98: TypeVector 12(int) 4
+ 102: TypeImage 18(float) 2D nonsampled format:R32f
+ 103: TypePointer UniformConstant 102
+ 104(g_tTex2df1): 103(ptr) Variable UniformConstant
+ 106: 6(int) Constant 1
+ 107: TypePointer Uniform 56(ivec2)
+ 113: TypeImage 6(int) 2D nonsampled format:R32i
+ 114: TypePointer UniformConstant 113
+ 115(g_tTex2di1): 114(ptr) Variable UniformConstant
+ 122: TypeImage 12(int) 2D nonsampled format:R32ui
+ 123: TypePointer UniformConstant 122
+ 124(g_tTex2du1): 123(ptr) Variable UniformConstant
+ 131: TypeImage 18(float) 3D nonsampled format:R32f
+ 132: TypePointer UniformConstant 131
+ 133(g_tTex3df1): 132(ptr) Variable UniformConstant
+ 135: 6(int) Constant 2
+ 136: TypePointer Uniform 57(ivec3)
+ 142: TypeImage 6(int) 3D nonsampled format:R32i
+ 143: TypePointer UniformConstant 142
+ 144(g_tTex3di1): 143(ptr) Variable UniformConstant
+ 151: TypeImage 12(int) 3D nonsampled format:R32ui
+ 152: TypePointer UniformConstant 151
+ 153(g_tTex3du1): 152(ptr) Variable UniformConstant
+ 160: 6(int) Constant 8
+ 161: TypePointer Uniform 18(float)
+ 180: 12(int) Constant 3
+ 194: 18(float) Constant 1073741824
+ 209: 18(float) Constant 1077936128
+ 223: 18(float) Constant 1082130432
+ 263: 6(int) Constant 65535
+ 277: 6(int) Constant 61680
+ 320: 6(int) Constant 5
+ 326: 12(int) Constant 6
+ 347: 12(int) Constant 9
+ 406: 18(float) Constant 1065353216
+ 568: 6(int) Constant 3
+ 569: 56(ivec2) ConstantComposite 135 568
+ 574: TypePointer Function 40(PS_OUTPUT)
+ 576: 39(fvec4) ConstantComposite 406 406 406 406
+ 577: TypePointer Function 39(fvec4)
+ 582: TypePointer Output 39(fvec4)
+583(@entryPointOutput.Color): 582(ptr) Variable Output
+ 586: TypeSampler
+ 587: TypePointer UniformConstant 586
+ 588(g_sSamp): 587(ptr) Variable UniformConstant
+ 589: TypeImage 18(float) 1D array nonsampled format:R32f
+ 590: TypePointer UniformConstant 589
+591(g_tTex1df1a): 590(ptr) Variable UniformConstant
+ 592: TypeImage 6(int) 1D array nonsampled format:R32i
+ 593: TypePointer UniformConstant 592
+594(g_tTex1di1a): 593(ptr) Variable UniformConstant
+ 595: TypeImage 12(int) 1D array nonsampled format:R32ui
+ 596: TypePointer UniformConstant 595
+597(g_tTex1du1a): 596(ptr) Variable UniformConstant
+ 598: TypeImage 18(float) 2D array nonsampled format:R32f
+ 599: TypePointer UniformConstant 598
+600(g_tTex2df1a): 599(ptr) Variable UniformConstant
+ 601: TypeImage 6(int) 2D array nonsampled format:R32i
+ 602: TypePointer UniformConstant 601
+603(g_tTex2di1a): 602(ptr) Variable UniformConstant
+ 604: TypeImage 12(int) 2D array nonsampled format:R32ui
+ 605: TypePointer UniformConstant 604
+606(g_tTex2du1a): 605(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 548:40(PS_OUTPUT) FunctionCall 42(@main()
- 549: 39(fvec4) CompositeExtract 548 0
- Store 547(@entryPointOutput.Color) 549
+ 584:40(PS_OUTPUT) FunctionCall 42(@main()
+ 585: 39(fvec4) CompositeExtract 584 0
+ Store 583(@entryPointOutput.Color) 585
Return
FunctionEnd
10(Fn1(i1;): 6(int) Function None 8
@@ -2025,567 +2025,602 @@
FunctionEnd
42(@main():40(PS_OUTPUT) Function None 41
43: Label
- 75(r00): 19(ptr) Variable Function
- 80(r01): 7(ptr) Variable Function
- 88(r02): 13(ptr) Variable Function
- 96(r10): 19(ptr) Variable Function
- 106(r11): 7(ptr) Variable Function
- 114(r12): 13(ptr) Variable Function
- 122(r20): 19(ptr) Variable Function
- 132(r21): 7(ptr) Variable Function
- 140(r22): 13(ptr) Variable Function
- 148(lf1): 19(ptr) Variable Function
- 153(storeTemp): 19(ptr) Variable Function
- 163(storeTemp): 7(ptr) Variable Function
- 168(storeTemp): 13(ptr) Variable Function
- 174(val1): 19(ptr) Variable Function
- 175(coordTemp): 7(ptr) Variable Function
- 178(storeTemp): 19(ptr) Variable Function
- 189(coordTemp): 7(ptr) Variable Function
- 192(storeTemp): 19(ptr) Variable Function
- 202(coordTemp): 7(ptr) Variable Function
- 205(storeTemp): 19(ptr) Variable Function
+ 76(r00): 19(ptr) Variable Function
+ 82(r01): 7(ptr) Variable Function
+ 91(r02): 13(ptr) Variable Function
+ 101(r10): 19(ptr) Variable Function
+ 112(r11): 7(ptr) Variable Function
+ 121(r12): 13(ptr) Variable Function
+ 130(r20): 19(ptr) Variable Function
+ 141(r21): 7(ptr) Variable Function
+ 150(r22): 13(ptr) Variable Function
+ 159(lf1): 19(ptr) Variable Function
+ 164(storeTemp): 19(ptr) Variable Function
+ 174(storeTemp): 7(ptr) Variable Function
+ 179(storeTemp): 13(ptr) Variable Function
+ 185(val1): 19(ptr) Variable Function
+ 186(coordTemp): 7(ptr) Variable Function
+ 189(storeTemp): 19(ptr) Variable Function
+ 201(coordTemp): 7(ptr) Variable Function
+ 204(storeTemp): 19(ptr) Variable Function
215(coordTemp): 7(ptr) Variable Function
- 218(storeTemp): 7(ptr) Variable Function
- 227(coordTemp): 7(ptr) Variable Function
- 230(storeTemp): 7(ptr) Variable Function
- 239(coordTemp): 7(ptr) Variable Function
- 242(storeTemp): 7(ptr) Variable Function
- 252(coordTemp): 7(ptr) Variable Function
- 255(storeTemp): 7(ptr) Variable Function
- 265(coordTemp): 7(ptr) Variable Function
- 268(storeTemp): 7(ptr) Variable Function
- 277(coordTemp): 7(ptr) Variable Function
- 280(storeTemp): 7(ptr) Variable Function
- 289(storeTemp): 19(ptr) Variable Function
+ 218(storeTemp): 19(ptr) Variable Function
+ 229(coordTemp): 7(ptr) Variable Function
+ 232(storeTemp): 7(ptr) Variable Function
+ 242(coordTemp): 7(ptr) Variable Function
+ 245(storeTemp): 7(ptr) Variable Function
+ 255(coordTemp): 7(ptr) Variable Function
+ 258(storeTemp): 7(ptr) Variable Function
+ 269(coordTemp): 7(ptr) Variable Function
+ 272(storeTemp): 7(ptr) Variable Function
+ 283(coordTemp): 7(ptr) Variable Function
+ 286(storeTemp): 7(ptr) Variable Function
+ 296(coordTemp): 7(ptr) Variable Function
299(storeTemp): 7(ptr) Variable Function
- 305(storeTemp): 13(ptr) Variable Function
- 311(storeTemp): 19(ptr) Variable Function
- 321(storeTemp): 7(ptr) Variable Function
- 326(storeTemp): 13(ptr) Variable Function
- 336(param): 19(ptr) Variable Function
- 342(param): 7(ptr) Variable Function
- 348(param): 13(ptr) Variable Function
- 350(tempArg): 19(ptr) Variable Function
- 351(param): 19(ptr) Variable Function
- 358(tempArg): 7(ptr) Variable Function
- 359(param): 7(ptr) Variable Function
- 366(tempArg): 13(ptr) Variable Function
- 367(param): 13(ptr) Variable Function
- 374(coordTemp): 7(ptr) Variable Function
- 377(storeTemp): 19(ptr) Variable Function
- 387(coordTemp): 7(ptr) Variable Function
- 390(storeTemp): 7(ptr) Variable Function
- 399(coordTemp): 7(ptr) Variable Function
- 402(storeTemp): 13(ptr) Variable Function
+ 309(storeTemp): 19(ptr) Variable Function
+ 319(storeTemp): 7(ptr) Variable Function
+ 325(storeTemp): 13(ptr) Variable Function
+ 331(storeTemp): 19(ptr) Variable Function
+ 341(storeTemp): 7(ptr) Variable Function
+ 346(storeTemp): 13(ptr) Variable Function
+ 357(param): 19(ptr) Variable Function
+ 364(param): 7(ptr) Variable Function
+ 371(param): 13(ptr) Variable Function
+ 373(tempArg): 19(ptr) Variable Function
+ 374(param): 19(ptr) Variable Function
+ 381(tempArg): 7(ptr) Variable Function
+ 382(param): 7(ptr) Variable Function
+ 389(tempArg): 13(ptr) Variable Function
+ 390(param): 13(ptr) Variable Function
+ 397(coordTemp): 7(ptr) Variable Function
+ 400(storeTemp): 19(ptr) Variable Function
411(coordTemp): 7(ptr) Variable Function
- 414(storeTemp): 19(ptr) Variable Function
- 423(coordTemp): 7(ptr) Variable Function
- 426(storeTemp): 7(ptr) Variable Function
- 435(coordTemp): 7(ptr) Variable Function
- 438(storeTemp): 13(ptr) Variable Function
- 447(coordTemp): 7(ptr) Variable Function
-450(storeTempPre): 19(ptr) Variable Function
-454(storeTempPost): 19(ptr) Variable Function
- 461(coordTemp): 7(ptr) Variable Function
-464(storeTempPre): 13(ptr) Variable Function
-468(storeTempPost): 13(ptr) Variable Function
- 475(coordTemp): 7(ptr) Variable Function
-478(storeTempPre): 7(ptr) Variable Function
-482(storeTempPost): 7(ptr) Variable Function
- 489(coordTemp): 7(ptr) Variable Function
-492(storeTempPre): 19(ptr) Variable Function
-496(storeTempPost): 19(ptr) Variable Function
- 503(coordTemp): 7(ptr) Variable Function
-506(storeTempPre): 7(ptr) Variable Function
-510(storeTempPost): 7(ptr) Variable Function
- 517(coordTemp): 7(ptr) Variable Function
-520(storeTempPre): 13(ptr) Variable Function
-524(storeTempPost): 13(ptr) Variable Function
- 531(storeTemp): 19(ptr) Variable Function
- 539(psout): 538(ptr) Variable Function
+ 414(storeTemp): 7(ptr) Variable Function
+ 424(coordTemp): 7(ptr) Variable Function
+ 427(storeTemp): 13(ptr) Variable Function
+ 437(coordTemp): 7(ptr) Variable Function
+ 440(storeTemp): 19(ptr) Variable Function
+ 450(coordTemp): 7(ptr) Variable Function
+ 453(storeTemp): 7(ptr) Variable Function
+ 463(coordTemp): 7(ptr) Variable Function
+ 466(storeTemp): 13(ptr) Variable Function
+ 476(coordTemp): 7(ptr) Variable Function
+479(storeTempPre): 19(ptr) Variable Function
+484(storeTempPost): 19(ptr) Variable Function
+ 491(coordTemp): 7(ptr) Variable Function
+494(storeTempPre): 13(ptr) Variable Function
+499(storeTempPost): 13(ptr) Variable Function
+ 506(coordTemp): 7(ptr) Variable Function
+509(storeTempPre): 7(ptr) Variable Function
+514(storeTempPost): 7(ptr) Variable Function
+ 521(coordTemp): 7(ptr) Variable Function
+524(storeTempPre): 19(ptr) Variable Function
+529(storeTempPost): 19(ptr) Variable Function
+ 536(coordTemp): 7(ptr) Variable Function
+539(storeTempPre): 7(ptr) Variable Function
+544(storeTempPost): 7(ptr) Variable Function
+ 551(coordTemp): 7(ptr) Variable Function
+554(storeTempPre): 13(ptr) Variable Function
+559(storeTempPost): 13(ptr) Variable Function
+ 566(storeTemp): 19(ptr) Variable Function
+ 575(psout): 574(ptr) Variable Function
71: 68 Load 70(g_tTex1df1)
72: 62(ptr) AccessChain 61 53
73: 6(int) Load 72
- 74: 18(float) ImageRead 71 73
- 76: 68 Load 70(g_tTex1df1)
- 77: 62(ptr) AccessChain 61 53
- 78: 6(int) Load 77
- 79: 18(float) ImageRead 76 78
- Store 75(r00) 79
- 84: 81 Load 83(g_tTex1di1)
- 85: 62(ptr) AccessChain 61 53
- 86: 6(int) Load 85
- 87: 6(int) ImageRead 84 86
- Store 80(r01) 87
- 92: 89 Load 91(g_tTex1du1)
- 93: 62(ptr) AccessChain 61 53
- 94: 6(int) Load 93
- 95: 12(int) ImageRead 92 94
- Store 88(r02) 95
- 100: 97 Load 99(g_tTex2df1)
- 103: 102(ptr) AccessChain 61 101
- 104: 56(ivec2) Load 103
- 105: 18(float) ImageRead 100 104
- Store 96(r10) 105
- 110: 107 Load 109(g_tTex2di1)
- 111: 102(ptr) AccessChain 61 101
- 112: 56(ivec2) Load 111
- 113: 6(int) ImageRead 110 112
- Store 106(r11) 113
- 118: 115 Load 117(g_tTex2du1)
- 119: 102(ptr) AccessChain 61 101
- 120: 56(ivec2) Load 119
- 121: 12(int) ImageRead 118 120
- Store 114(r12) 121
- 126: 123 Load 125(g_tTex3df1)
- 129: 128(ptr) AccessChain 61 127
- 130: 57(ivec3) Load 129
- 131: 18(float) ImageRead 126 130
- Store 122(r20) 131
- 136: 133 Load 135(g_tTex3di1)
- 137: 128(ptr) AccessChain 61 127
+ 74: 39(fvec4) ImageRead 71 73
+ 75: 18(float) CompositeExtract 74 0
+ 77: 68 Load 70(g_tTex1df1)
+ 78: 62(ptr) AccessChain 61 53
+ 79: 6(int) Load 78
+ 80: 39(fvec4) ImageRead 77 79
+ 81: 18(float) CompositeExtract 80 0
+ Store 76(r00) 81
+ 86: 83 Load 85(g_tTex1di1)
+ 87: 62(ptr) AccessChain 61 53
+ 88: 6(int) Load 87
+ 89: 58(ivec4) ImageRead 86 88
+ 90: 6(int) CompositeExtract 89 0
+ Store 82(r01) 90
+ 95: 92 Load 94(g_tTex1du1)
+ 96: 62(ptr) AccessChain 61 53
+ 97: 6(int) Load 96
+ 99: 98(ivec4) ImageRead 95 97
+ 100: 12(int) CompositeExtract 99 0
+ Store 91(r02) 100
+ 105: 102 Load 104(g_tTex2df1)
+ 108: 107(ptr) AccessChain 61 106
+ 109: 56(ivec2) Load 108
+ 110: 39(fvec4) ImageRead 105 109
+ 111: 18(float) CompositeExtract 110 0
+ Store 101(r10) 111
+ 116: 113 Load 115(g_tTex2di1)
+ 117: 107(ptr) AccessChain 61 106
+ 118: 56(ivec2) Load 117
+ 119: 58(ivec4) ImageRead 116 118
+ 120: 6(int) CompositeExtract 119 0
+ Store 112(r11) 120
+ 125: 122 Load 124(g_tTex2du1)
+ 126: 107(ptr) AccessChain 61 106
+ 127: 56(ivec2) Load 126
+ 128: 98(ivec4) ImageRead 125 127
+ 129: 12(int) CompositeExtract 128 0
+ Store 121(r12) 129
+ 134: 131 Load 133(g_tTex3df1)
+ 137: 136(ptr) AccessChain 61 135
138: 57(ivec3) Load 137
- 139: 6(int) ImageRead 136 138
- Store 132(r21) 139
- 144: 141 Load 143(g_tTex3du1)
- 145: 128(ptr) AccessChain 61 127
- 146: 57(ivec3) Load 145
- 147: 12(int) ImageRead 144 146
- Store 140(r22) 147
- 151: 150(ptr) AccessChain 61 149
- 152: 18(float) Load 151
- Store 148(lf1) 152
- 154: 18(float) FunctionCall 37(SomeValue()
- Store 153(storeTemp) 154
- 155: 68 Load 70(g_tTex1df1)
- 156: 62(ptr) AccessChain 61 53
- 157: 6(int) Load 156
- 158: 18(float) Load 153(storeTemp)
- ImageWrite 155 157 158
- 159: 68 Load 70(g_tTex1df1)
- 160: 62(ptr) AccessChain 61 53
- 161: 6(int) Load 160
- 162: 18(float) Load 148(lf1)
- ImageWrite 159 161 162
- Store 163(storeTemp) 127
- 164: 81 Load 83(g_tTex1di1)
- 165: 62(ptr) AccessChain 61 53
- 166: 6(int) Load 165
- 167: 6(int) Load 163(storeTemp)
- ImageWrite 164 166 167
- Store 168(storeTemp) 169
- 170: 89 Load 91(g_tTex1du1)
+ 139: 39(fvec4) ImageRead 134 138
+ 140: 18(float) CompositeExtract 139 0
+ Store 130(r20) 140
+ 145: 142 Load 144(g_tTex3di1)
+ 146: 136(ptr) AccessChain 61 135
+ 147: 57(ivec3) Load 146
+ 148: 58(ivec4) ImageRead 145 147
+ 149: 6(int) CompositeExtract 148 0
+ Store 141(r21) 149
+ 154: 151 Load 153(g_tTex3du1)
+ 155: 136(ptr) AccessChain 61 135
+ 156: 57(ivec3) Load 155
+ 157: 98(ivec4) ImageRead 154 156
+ 158: 12(int) CompositeExtract 157 0
+ Store 150(r22) 158
+ 162: 161(ptr) AccessChain 61 160
+ 163: 18(float) Load 162
+ Store 159(lf1) 163
+ 165: 18(float) FunctionCall 37(SomeValue()
+ Store 164(storeTemp) 165
+ 166: 68 Load 70(g_tTex1df1)
+ 167: 62(ptr) AccessChain 61 53
+ 168: 6(int) Load 167
+ 169: 18(float) Load 164(storeTemp)
+ ImageWrite 166 168 169
+ 170: 68 Load 70(g_tTex1df1)
171: 62(ptr) AccessChain 61 53
172: 6(int) Load 171
- 173: 12(int) Load 168(storeTemp)
+ 173: 18(float) Load 159(lf1)
ImageWrite 170 172 173
+ Store 174(storeTemp) 135
+ 175: 83 Load 85(g_tTex1di1)
176: 62(ptr) AccessChain 61 53
177: 6(int) Load 176
- Store 175(coordTemp) 177
- 179: 68 Load 70(g_tTex1df1)
- 180: 6(int) Load 175(coordTemp)
- 181: 18(float) ImageRead 179 180
- Store 178(storeTemp) 181
- 183: 18(float) Load 178(storeTemp)
- 184: 18(float) FMul 183 182
- Store 178(storeTemp) 184
- 185: 68 Load 70(g_tTex1df1)
- 186: 6(int) Load 175(coordTemp)
- 187: 18(float) Load 178(storeTemp)
- ImageWrite 185 186 187
- 188: 18(float) Load 178(storeTemp)
- Store 174(val1) 188
- 190: 62(ptr) AccessChain 61 53
- 191: 6(int) Load 190
- Store 189(coordTemp) 191
- 193: 68 Load 70(g_tTex1df1)
- 194: 6(int) Load 189(coordTemp)
- 195: 18(float) ImageRead 193 194
- Store 192(storeTemp) 195
- 197: 18(float) Load 192(storeTemp)
- 198: 18(float) FSub 197 196
- Store 192(storeTemp) 198
- 199: 68 Load 70(g_tTex1df1)
- 200: 6(int) Load 189(coordTemp)
- 201: 18(float) Load 192(storeTemp)
- ImageWrite 199 200 201
- 203: 62(ptr) AccessChain 61 53
- 204: 6(int) Load 203
- Store 202(coordTemp) 204
- 206: 68 Load 70(g_tTex1df1)
- 207: 6(int) Load 202(coordTemp)
- 208: 18(float) ImageRead 206 207
- Store 205(storeTemp) 208
- 210: 18(float) Load 205(storeTemp)
- 211: 18(float) FAdd 210 209
- Store 205(storeTemp) 211
+ 178: 6(int) Load 174(storeTemp)
+ ImageWrite 175 177 178
+ Store 179(storeTemp) 180
+ 181: 92 Load 94(g_tTex1du1)
+ 182: 62(ptr) AccessChain 61 53
+ 183: 6(int) Load 182
+ 184: 12(int) Load 179(storeTemp)
+ ImageWrite 181 183 184
+ 187: 62(ptr) AccessChain 61 53
+ 188: 6(int) Load 187
+ Store 186(coordTemp) 188
+ 190: 68 Load 70(g_tTex1df1)
+ 191: 6(int) Load 186(coordTemp)
+ 192: 39(fvec4) ImageRead 190 191
+ 193: 18(float) CompositeExtract 192 0
+ Store 189(storeTemp) 193
+ 195: 18(float) Load 189(storeTemp)
+ 196: 18(float) FMul 195 194
+ Store 189(storeTemp) 196
+ 197: 68 Load 70(g_tTex1df1)
+ 198: 6(int) Load 186(coordTemp)
+ 199: 18(float) Load 189(storeTemp)
+ ImageWrite 197 198 199
+ 200: 18(float) Load 189(storeTemp)
+ Store 185(val1) 200
+ 202: 62(ptr) AccessChain 61 53
+ 203: 6(int) Load 202
+ Store 201(coordTemp) 203
+ 205: 68 Load 70(g_tTex1df1)
+ 206: 6(int) Load 201(coordTemp)
+ 207: 39(fvec4) ImageRead 205 206
+ 208: 18(float) CompositeExtract 207 0
+ Store 204(storeTemp) 208
+ 210: 18(float) Load 204(storeTemp)
+ 211: 18(float) FSub 210 209
+ Store 204(storeTemp) 211
212: 68 Load 70(g_tTex1df1)
- 213: 6(int) Load 202(coordTemp)
- 214: 18(float) Load 205(storeTemp)
+ 213: 6(int) Load 201(coordTemp)
+ 214: 18(float) Load 204(storeTemp)
ImageWrite 212 213 214
216: 62(ptr) AccessChain 61 53
217: 6(int) Load 216
Store 215(coordTemp) 217
- 219: 81 Load 83(g_tTex1di1)
+ 219: 68 Load 70(g_tTex1df1)
220: 6(int) Load 215(coordTemp)
- 221: 6(int) ImageRead 219 220
- Store 218(storeTemp) 221
- 222: 6(int) Load 218(storeTemp)
- 223: 6(int) SDiv 222 127
- Store 218(storeTemp) 223
- 224: 81 Load 83(g_tTex1di1)
- 225: 6(int) Load 215(coordTemp)
- 226: 6(int) Load 218(storeTemp)
- ImageWrite 224 225 226
- 228: 62(ptr) AccessChain 61 53
- 229: 6(int) Load 228
- Store 227(coordTemp) 229
- 231: 81 Load 83(g_tTex1di1)
- 232: 6(int) Load 227(coordTemp)
- 233: 6(int) ImageRead 231 232
- Store 230(storeTemp) 233
- 234: 6(int) Load 230(storeTemp)
- 235: 6(int) SMod 234 127
- Store 230(storeTemp) 235
- 236: 81 Load 83(g_tTex1di1)
- 237: 6(int) Load 227(coordTemp)
- 238: 6(int) Load 230(storeTemp)
- ImageWrite 236 237 238
- 240: 62(ptr) AccessChain 61 53
- 241: 6(int) Load 240
- Store 239(coordTemp) 241
- 243: 81 Load 83(g_tTex1di1)
- 244: 6(int) Load 239(coordTemp)
- 245: 6(int) ImageRead 243 244
- Store 242(storeTemp) 245
- 247: 6(int) Load 242(storeTemp)
- 248: 6(int) BitwiseAnd 247 246
- Store 242(storeTemp) 248
- 249: 81 Load 83(g_tTex1di1)
- 250: 6(int) Load 239(coordTemp)
- 251: 6(int) Load 242(storeTemp)
- ImageWrite 249 250 251
- 253: 62(ptr) AccessChain 61 53
- 254: 6(int) Load 253
- Store 252(coordTemp) 254
- 256: 81 Load 83(g_tTex1di1)
- 257: 6(int) Load 252(coordTemp)
- 258: 6(int) ImageRead 256 257
- Store 255(storeTemp) 258
- 260: 6(int) Load 255(storeTemp)
- 261: 6(int) BitwiseOr 260 259
- Store 255(storeTemp) 261
- 262: 81 Load 83(g_tTex1di1)
- 263: 6(int) Load 252(coordTemp)
- 264: 6(int) Load 255(storeTemp)
- ImageWrite 262 263 264
- 266: 62(ptr) AccessChain 61 53
- 267: 6(int) Load 266
- Store 265(coordTemp) 267
- 269: 81 Load 83(g_tTex1di1)
- 270: 6(int) Load 265(coordTemp)
- 271: 6(int) ImageRead 269 270
- Store 268(storeTemp) 271
- 272: 6(int) Load 268(storeTemp)
- 273: 6(int) ShiftLeftLogical 272 127
- Store 268(storeTemp) 273
- 274: 81 Load 83(g_tTex1di1)
- 275: 6(int) Load 265(coordTemp)
- 276: 6(int) Load 268(storeTemp)
- ImageWrite 274 275 276
- 278: 62(ptr) AccessChain 61 53
- 279: 6(int) Load 278
- Store 277(coordTemp) 279
- 281: 81 Load 83(g_tTex1di1)
- 282: 6(int) Load 277(coordTemp)
- 283: 6(int) ImageRead 281 282
- Store 280(storeTemp) 283
- 284: 6(int) Load 280(storeTemp)
- 285: 6(int) ShiftRightArithmetic 284 127
- Store 280(storeTemp) 285
- 286: 81 Load 83(g_tTex1di1)
- 287: 6(int) Load 277(coordTemp)
- 288: 6(int) Load 280(storeTemp)
- ImageWrite 286 287 288
- 290: 18(float) FunctionCall 37(SomeValue()
- Store 289(storeTemp) 290
- 291: 97 Load 99(g_tTex2df1)
- 292: 102(ptr) AccessChain 61 101
- 293: 56(ivec2) Load 292
- 294: 18(float) Load 289(storeTemp)
- ImageWrite 291 293 294
- 295: 97 Load 99(g_tTex2df1)
- 296: 102(ptr) AccessChain 61 101
- 297: 56(ivec2) Load 296
- 298: 18(float) Load 148(lf1)
- ImageWrite 295 297 298
- Store 299(storeTemp) 300
- 301: 107 Load 109(g_tTex2di1)
- 302: 102(ptr) AccessChain 61 101
- 303: 56(ivec2) Load 302
+ 221: 39(fvec4) ImageRead 219 220
+ 222: 18(float) CompositeExtract 221 0
+ Store 218(storeTemp) 222
+ 224: 18(float) Load 218(storeTemp)
+ 225: 18(float) FAdd 224 223
+ Store 218(storeTemp) 225
+ 226: 68 Load 70(g_tTex1df1)
+ 227: 6(int) Load 215(coordTemp)
+ 228: 18(float) Load 218(storeTemp)
+ ImageWrite 226 227 228
+ 230: 62(ptr) AccessChain 61 53
+ 231: 6(int) Load 230
+ Store 229(coordTemp) 231
+ 233: 83 Load 85(g_tTex1di1)
+ 234: 6(int) Load 229(coordTemp)
+ 235: 58(ivec4) ImageRead 233 234
+ 236: 6(int) CompositeExtract 235 0
+ Store 232(storeTemp) 236
+ 237: 6(int) Load 232(storeTemp)
+ 238: 6(int) SDiv 237 135
+ Store 232(storeTemp) 238
+ 239: 83 Load 85(g_tTex1di1)
+ 240: 6(int) Load 229(coordTemp)
+ 241: 6(int) Load 232(storeTemp)
+ ImageWrite 239 240 241
+ 243: 62(ptr) AccessChain 61 53
+ 244: 6(int) Load 243
+ Store 242(coordTemp) 244
+ 246: 83 Load 85(g_tTex1di1)
+ 247: 6(int) Load 242(coordTemp)
+ 248: 58(ivec4) ImageRead 246 247
+ 249: 6(int) CompositeExtract 248 0
+ Store 245(storeTemp) 249
+ 250: 6(int) Load 245(storeTemp)
+ 251: 6(int) SMod 250 135
+ Store 245(storeTemp) 251
+ 252: 83 Load 85(g_tTex1di1)
+ 253: 6(int) Load 242(coordTemp)
+ 254: 6(int) Load 245(storeTemp)
+ ImageWrite 252 253 254
+ 256: 62(ptr) AccessChain 61 53
+ 257: 6(int) Load 256
+ Store 255(coordTemp) 257
+ 259: 83 Load 85(g_tTex1di1)
+ 260: 6(int) Load 255(coordTemp)
+ 261: 58(ivec4) ImageRead 259 260
+ 262: 6(int) CompositeExtract 261 0
+ Store 258(storeTemp) 262
+ 264: 6(int) Load 258(storeTemp)
+ 265: 6(int) BitwiseAnd 264 263
+ Store 258(storeTemp) 265
+ 266: 83 Load 85(g_tTex1di1)
+ 267: 6(int) Load 255(coordTemp)
+ 268: 6(int) Load 258(storeTemp)
+ ImageWrite 266 267 268
+ 270: 62(ptr) AccessChain 61 53
+ 271: 6(int) Load 270
+ Store 269(coordTemp) 271
+ 273: 83 Load 85(g_tTex1di1)
+ 274: 6(int) Load 269(coordTemp)
+ 275: 58(ivec4) ImageRead 273 274
+ 276: 6(int) CompositeExtract 275 0
+ Store 272(storeTemp) 276
+ 278: 6(int) Load 272(storeTemp)
+ 279: 6(int) BitwiseOr 278 277
+ Store 272(storeTemp) 279
+ 280: 83 Load 85(g_tTex1di1)
+ 281: 6(int) Load 269(coordTemp)
+ 282: 6(int) Load 272(storeTemp)
+ ImageWrite 280 281 282
+ 284: 62(ptr) AccessChain 61 53
+ 285: 6(int) Load 284
+ Store 283(coordTemp) 285
+ 287: 83 Load 85(g_tTex1di1)
+ 288: 6(int) Load 283(coordTemp)
+ 289: 58(ivec4) ImageRead 287 288
+ 290: 6(int) CompositeExtract 289 0
+ Store 286(storeTemp) 290
+ 291: 6(int) Load 286(storeTemp)
+ 292: 6(int) ShiftLeftLogical 291 135
+ Store 286(storeTemp) 292
+ 293: 83 Load 85(g_tTex1di1)
+ 294: 6(int) Load 283(coordTemp)
+ 295: 6(int) Load 286(storeTemp)
+ ImageWrite 293 294 295
+ 297: 62(ptr) AccessChain 61 53
+ 298: 6(int) Load 297
+ Store 296(coordTemp) 298
+ 300: 83 Load 85(g_tTex1di1)
+ 301: 6(int) Load 296(coordTemp)
+ 302: 58(ivec4) ImageRead 300 301
+ 303: 6(int) CompositeExtract 302 0
+ Store 299(storeTemp) 303
304: 6(int) Load 299(storeTemp)
- ImageWrite 301 303 304
- Store 305(storeTemp) 306
- 307: 115 Load 117(g_tTex2du1)
- 308: 102(ptr) AccessChain 61 101
- 309: 56(ivec2) Load 308
- 310: 12(int) Load 305(storeTemp)
- ImageWrite 307 309 310
- 312: 18(float) FunctionCall 37(SomeValue()
- Store 311(storeTemp) 312
- 313: 123 Load 125(g_tTex3df1)
- 314: 128(ptr) AccessChain 61 127
- 315: 57(ivec3) Load 314
- 316: 18(float) Load 311(storeTemp)
- ImageWrite 313 315 316
- 317: 123 Load 125(g_tTex3df1)
- 318: 128(ptr) AccessChain 61 127
- 319: 57(ivec3) Load 318
- 320: 18(float) Load 148(lf1)
- ImageWrite 317 319 320
- Store 321(storeTemp) 149
- 322: 133 Load 135(g_tTex3di1)
- 323: 128(ptr) AccessChain 61 127
- 324: 57(ivec3) Load 323
- 325: 6(int) Load 321(storeTemp)
- ImageWrite 322 324 325
- Store 326(storeTemp) 327
- 328: 141 Load 143(g_tTex3du1)
- 329: 128(ptr) AccessChain 61 127
- 330: 57(ivec3) Load 329
- 331: 12(int) Load 326(storeTemp)
- ImageWrite 328 330 331
- 332: 68 Load 70(g_tTex1df1)
- 333: 62(ptr) AccessChain 61 53
- 334: 6(int) Load 333
- 335: 18(float) ImageRead 332 334
- Store 336(param) 335
- 337: 18(float) FunctionCall 22(Fn1(f1;) 336(param)
- 338: 81 Load 83(g_tTex1di1)
- 339: 62(ptr) AccessChain 61 53
- 340: 6(int) Load 339
- 341: 6(int) ImageRead 338 340
- Store 342(param) 341
- 343: 6(int) FunctionCall 10(Fn1(i1;) 342(param)
- 344: 89 Load 91(g_tTex1du1)
- 345: 62(ptr) AccessChain 61 53
- 346: 6(int) Load 345
- 347: 12(int) ImageRead 344 346
- Store 348(param) 347
- 349: 12(int) FunctionCall 16(Fn1(u1;) 348(param)
- 352: 2 FunctionCall 34(Fn2(f1;) 351(param)
- 353: 18(float) Load 351(param)
- Store 350(tempArg) 353
- 354: 68 Load 70(g_tTex1df1)
- 355: 62(ptr) AccessChain 61 53
- 356: 6(int) Load 355
- 357: 18(float) Load 350(tempArg)
- ImageWrite 354 356 357
- 360: 2 FunctionCall 26(Fn2(i1;) 359(param)
- 361: 6(int) Load 359(param)
- Store 358(tempArg) 361
- 362: 81 Load 83(g_tTex1di1)
- 363: 62(ptr) AccessChain 61 53
- 364: 6(int) Load 363
- 365: 6(int) Load 358(tempArg)
- ImageWrite 362 364 365
- 368: 2 FunctionCall 30(Fn2(u1;) 367(param)
- 369: 12(int) Load 367(param)
- Store 366(tempArg) 369
- 370: 89 Load 91(g_tTex1du1)
- 371: 62(ptr) AccessChain 61 53
- 372: 6(int) Load 371
- 373: 12(int) Load 366(tempArg)
- ImageWrite 370 372 373
- 375: 62(ptr) AccessChain 61 53
- 376: 6(int) Load 375
- Store 374(coordTemp) 376
- 378: 68 Load 70(g_tTex1df1)
- 379: 6(int) Load 374(coordTemp)
- 380: 18(float) ImageRead 378 379
- Store 377(storeTemp) 380
- 381: 18(float) Load 377(storeTemp)
- 383: 18(float) FAdd 381 382
- Store 377(storeTemp) 383
- 384: 68 Load 70(g_tTex1df1)
- 385: 6(int) Load 374(coordTemp)
- 386: 18(float) Load 377(storeTemp)
- ImageWrite 384 385 386
- 388: 62(ptr) AccessChain 61 53
- 389: 6(int) Load 388
- Store 387(coordTemp) 389
- 391: 81 Load 83(g_tTex1di1)
- 392: 6(int) Load 387(coordTemp)
- 393: 6(int) ImageRead 391 392
- Store 390(storeTemp) 393
- 394: 6(int) Load 390(storeTemp)
- 395: 6(int) IAdd 394 101
- Store 390(storeTemp) 395
- 396: 81 Load 83(g_tTex1di1)
- 397: 6(int) Load 387(coordTemp)
- 398: 6(int) Load 390(storeTemp)
- ImageWrite 396 397 398
- 400: 62(ptr) AccessChain 61 53
- 401: 6(int) Load 400
- Store 399(coordTemp) 401
- 403: 89 Load 91(g_tTex1du1)
- 404: 6(int) Load 399(coordTemp)
- 405: 12(int) ImageRead 403 404
- Store 402(storeTemp) 405
- 406: 12(int) Load 402(storeTemp)
- 407: 12(int) IAdd 406 101
- Store 402(storeTemp) 407
- 408: 89 Load 91(g_tTex1du1)
- 409: 6(int) Load 399(coordTemp)
- 410: 12(int) Load 402(storeTemp)
+ 305: 6(int) ShiftRightArithmetic 304 135
+ Store 299(storeTemp) 305
+ 306: 83 Load 85(g_tTex1di1)
+ 307: 6(int) Load 296(coordTemp)
+ 308: 6(int) Load 299(storeTemp)
+ ImageWrite 306 307 308
+ 310: 18(float) FunctionCall 37(SomeValue()
+ Store 309(storeTemp) 310
+ 311: 102 Load 104(g_tTex2df1)
+ 312: 107(ptr) AccessChain 61 106
+ 313: 56(ivec2) Load 312
+ 314: 18(float) Load 309(storeTemp)
+ ImageWrite 311 313 314
+ 315: 102 Load 104(g_tTex2df1)
+ 316: 107(ptr) AccessChain 61 106
+ 317: 56(ivec2) Load 316
+ 318: 18(float) Load 159(lf1)
+ ImageWrite 315 317 318
+ Store 319(storeTemp) 320
+ 321: 113 Load 115(g_tTex2di1)
+ 322: 107(ptr) AccessChain 61 106
+ 323: 56(ivec2) Load 322
+ 324: 6(int) Load 319(storeTemp)
+ ImageWrite 321 323 324
+ Store 325(storeTemp) 326
+ 327: 122 Load 124(g_tTex2du1)
+ 328: 107(ptr) AccessChain 61 106
+ 329: 56(ivec2) Load 328
+ 330: 12(int) Load 325(storeTemp)
+ ImageWrite 327 329 330
+ 332: 18(float) FunctionCall 37(SomeValue()
+ Store 331(storeTemp) 332
+ 333: 131 Load 133(g_tTex3df1)
+ 334: 136(ptr) AccessChain 61 135
+ 335: 57(ivec3) Load 334
+ 336: 18(float) Load 331(storeTemp)
+ ImageWrite 333 335 336
+ 337: 131 Load 133(g_tTex3df1)
+ 338: 136(ptr) AccessChain 61 135
+ 339: 57(ivec3) Load 338
+ 340: 18(float) Load 159(lf1)
+ ImageWrite 337 339 340
+ Store 341(storeTemp) 160
+ 342: 142 Load 144(g_tTex3di1)
+ 343: 136(ptr) AccessChain 61 135
+ 344: 57(ivec3) Load 343
+ 345: 6(int) Load 341(storeTemp)
+ ImageWrite 342 344 345
+ Store 346(storeTemp) 347
+ 348: 151 Load 153(g_tTex3du1)
+ 349: 136(ptr) AccessChain 61 135
+ 350: 57(ivec3) Load 349
+ 351: 12(int) Load 346(storeTemp)
+ ImageWrite 348 350 351
+ 352: 68 Load 70(g_tTex1df1)
+ 353: 62(ptr) AccessChain 61 53
+ 354: 6(int) Load 353
+ 355: 39(fvec4) ImageRead 352 354
+ 356: 18(float) CompositeExtract 355 0
+ Store 357(param) 356
+ 358: 18(float) FunctionCall 22(Fn1(f1;) 357(param)
+ 359: 83 Load 85(g_tTex1di1)
+ 360: 62(ptr) AccessChain 61 53
+ 361: 6(int) Load 360
+ 362: 58(ivec4) ImageRead 359 361
+ 363: 6(int) CompositeExtract 362 0
+ Store 364(param) 363
+ 365: 6(int) FunctionCall 10(Fn1(i1;) 364(param)
+ 366: 92 Load 94(g_tTex1du1)
+ 367: 62(ptr) AccessChain 61 53
+ 368: 6(int) Load 367
+ 369: 98(ivec4) ImageRead 366 368
+ 370: 12(int) CompositeExtract 369 0
+ Store 371(param) 370
+ 372: 12(int) FunctionCall 16(Fn1(u1;) 371(param)
+ 375: 2 FunctionCall 34(Fn2(f1;) 374(param)
+ 376: 18(float) Load 374(param)
+ Store 373(tempArg) 376
+ 377: 68 Load 70(g_tTex1df1)
+ 378: 62(ptr) AccessChain 61 53
+ 379: 6(int) Load 378
+ 380: 18(float) Load 373(tempArg)
+ ImageWrite 377 379 380
+ 383: 2 FunctionCall 26(Fn2(i1;) 382(param)
+ 384: 6(int) Load 382(param)
+ Store 381(tempArg) 384
+ 385: 83 Load 85(g_tTex1di1)
+ 386: 62(ptr) AccessChain 61 53
+ 387: 6(int) Load 386
+ 388: 6(int) Load 381(tempArg)
+ ImageWrite 385 387 388
+ 391: 2 FunctionCall 30(Fn2(u1;) 390(param)
+ 392: 12(int) Load 390(param)
+ Store 389(tempArg) 392
+ 393: 92 Load 94(g_tTex1du1)
+ 394: 62(ptr) AccessChain 61 53
+ 395: 6(int) Load 394
+ 396: 12(int) Load 389(tempArg)
+ ImageWrite 393 395 396
+ 398: 62(ptr) AccessChain 61 53
+ 399: 6(int) Load 398
+ Store 397(coordTemp) 399
+ 401: 68 Load 70(g_tTex1df1)
+ 402: 6(int) Load 397(coordTemp)
+ 403: 39(fvec4) ImageRead 401 402
+ 404: 18(float) CompositeExtract 403 0
+ Store 400(storeTemp) 404
+ 405: 18(float) Load 400(storeTemp)
+ 407: 18(float) FAdd 405 406
+ Store 400(storeTemp) 407
+ 408: 68 Load 70(g_tTex1df1)
+ 409: 6(int) Load 397(coordTemp)
+ 410: 18(float) Load 400(storeTemp)
ImageWrite 408 409 410
412: 62(ptr) AccessChain 61 53
413: 6(int) Load 412
Store 411(coordTemp) 413
- 415: 68 Load 70(g_tTex1df1)
+ 415: 83 Load 85(g_tTex1di1)
416: 6(int) Load 411(coordTemp)
- 417: 18(float) ImageRead 415 416
- Store 414(storeTemp) 417
- 418: 18(float) Load 414(storeTemp)
- 419: 18(float) FSub 418 382
- Store 414(storeTemp) 419
- 420: 68 Load 70(g_tTex1df1)
- 421: 6(int) Load 411(coordTemp)
- 422: 18(float) Load 414(storeTemp)
- ImageWrite 420 421 422
- 424: 62(ptr) AccessChain 61 53
- 425: 6(int) Load 424
- Store 423(coordTemp) 425
- 427: 81 Load 83(g_tTex1di1)
- 428: 6(int) Load 423(coordTemp)
- 429: 6(int) ImageRead 427 428
- Store 426(storeTemp) 429
- 430: 6(int) Load 426(storeTemp)
- 431: 6(int) ISub 430 101
- Store 426(storeTemp) 431
- 432: 81 Load 83(g_tTex1di1)
- 433: 6(int) Load 423(coordTemp)
- 434: 6(int) Load 426(storeTemp)
- ImageWrite 432 433 434
- 436: 62(ptr) AccessChain 61 53
- 437: 6(int) Load 436
- Store 435(coordTemp) 437
- 439: 89 Load 91(g_tTex1du1)
- 440: 6(int) Load 435(coordTemp)
- 441: 12(int) ImageRead 439 440
- Store 438(storeTemp) 441
- 442: 12(int) Load 438(storeTemp)
- 443: 12(int) ISub 442 101
- Store 438(storeTemp) 443
- 444: 89 Load 91(g_tTex1du1)
- 445: 6(int) Load 435(coordTemp)
- 446: 12(int) Load 438(storeTemp)
- ImageWrite 444 445 446
- 448: 62(ptr) AccessChain 61 53
- 449: 6(int) Load 448
- Store 447(coordTemp) 449
- 451: 68 Load 70(g_tTex1df1)
- 452: 6(int) Load 447(coordTemp)
- 453: 18(float) ImageRead 451 452
- Store 450(storeTempPre) 453
- 455: 18(float) Load 450(storeTempPre)
- Store 454(storeTempPost) 455
- 456: 18(float) Load 454(storeTempPost)
- 457: 18(float) FAdd 456 382
- Store 454(storeTempPost) 457
- 458: 68 Load 70(g_tTex1df1)
- 459: 6(int) Load 447(coordTemp)
- 460: 18(float) Load 454(storeTempPost)
- ImageWrite 458 459 460
- 462: 62(ptr) AccessChain 61 53
- 463: 6(int) Load 462
- Store 461(coordTemp) 463
- 465: 89 Load 91(g_tTex1du1)
- 466: 6(int) Load 461(coordTemp)
- 467: 12(int) ImageRead 465 466
- Store 464(storeTempPre) 467
- 469: 12(int) Load 464(storeTempPre)
- Store 468(storeTempPost) 469
- 470: 12(int) Load 468(storeTempPost)
- 471: 12(int) ISub 470 101
- Store 468(storeTempPost) 471
- 472: 89 Load 91(g_tTex1du1)
- 473: 6(int) Load 461(coordTemp)
- 474: 12(int) Load 468(storeTempPost)
- ImageWrite 472 473 474
- 476: 62(ptr) AccessChain 61 53
- 477: 6(int) Load 476
- Store 475(coordTemp) 477
- 479: 81 Load 83(g_tTex1di1)
- 480: 6(int) Load 475(coordTemp)
- 481: 6(int) ImageRead 479 480
- Store 478(storeTempPre) 481
- 483: 6(int) Load 478(storeTempPre)
- Store 482(storeTempPost) 483
- 484: 6(int) Load 482(storeTempPost)
- 485: 6(int) IAdd 484 101
- Store 482(storeTempPost) 485
- 486: 81 Load 83(g_tTex1di1)
- 487: 6(int) Load 475(coordTemp)
- 488: 6(int) Load 482(storeTempPost)
- ImageWrite 486 487 488
- 490: 62(ptr) AccessChain 61 53
- 491: 6(int) Load 490
- Store 489(coordTemp) 491
- 493: 68 Load 70(g_tTex1df1)
- 494: 6(int) Load 489(coordTemp)
- 495: 18(float) ImageRead 493 494
- Store 492(storeTempPre) 495
- 497: 18(float) Load 492(storeTempPre)
- Store 496(storeTempPost) 497
- 498: 18(float) Load 496(storeTempPost)
- 499: 18(float) FSub 498 382
- Store 496(storeTempPost) 499
- 500: 68 Load 70(g_tTex1df1)
- 501: 6(int) Load 489(coordTemp)
- 502: 18(float) Load 496(storeTempPost)
- ImageWrite 500 501 502
- 504: 62(ptr) AccessChain 61 53
- 505: 6(int) Load 504
- Store 503(coordTemp) 505
- 507: 81 Load 83(g_tTex1di1)
- 508: 6(int) Load 503(coordTemp)
- 509: 6(int) ImageRead 507 508
- Store 506(storeTempPre) 509
- 511: 6(int) Load 506(storeTempPre)
- Store 510(storeTempPost) 511
- 512: 6(int) Load 510(storeTempPost)
- 513: 6(int) IAdd 512 101
- Store 510(storeTempPost) 513
- 514: 81 Load 83(g_tTex1di1)
- 515: 6(int) Load 503(coordTemp)
- 516: 6(int) Load 510(storeTempPost)
- ImageWrite 514 515 516
- 518: 62(ptr) AccessChain 61 53
- 519: 6(int) Load 518
- Store 517(coordTemp) 519
- 521: 89 Load 91(g_tTex1du1)
- 522: 6(int) Load 517(coordTemp)
- 523: 12(int) ImageRead 521 522
- Store 520(storeTempPre) 523
- 525: 12(int) Load 520(storeTempPre)
- Store 524(storeTempPost) 525
- 526: 12(int) Load 524(storeTempPost)
- 527: 12(int) ISub 526 101
- Store 524(storeTempPost) 527
- 528: 89 Load 91(g_tTex1du1)
- 529: 6(int) Load 517(coordTemp)
- 530: 12(int) Load 524(storeTempPost)
- ImageWrite 528 529 530
- 532: 97 Load 99(g_tTex2df1)
- 535: 18(float) ImageRead 532 534
- Store 531(storeTemp) 535
- 536: 68 Load 70(g_tTex1df1)
- 537: 18(float) Load 531(storeTemp)
- ImageWrite 536 101 537
- 542: 541(ptr) AccessChain 539(psout) 53
- Store 542 540
- 543:40(PS_OUTPUT) Load 539(psout)
- ReturnValue 543
+ 417: 58(ivec4) ImageRead 415 416
+ 418: 6(int) CompositeExtract 417 0
+ Store 414(storeTemp) 418
+ 419: 6(int) Load 414(storeTemp)
+ 420: 6(int) IAdd 419 106
+ Store 414(storeTemp) 420
+ 421: 83 Load 85(g_tTex1di1)
+ 422: 6(int) Load 411(coordTemp)
+ 423: 6(int) Load 414(storeTemp)
+ ImageWrite 421 422 423
+ 425: 62(ptr) AccessChain 61 53
+ 426: 6(int) Load 425
+ Store 424(coordTemp) 426
+ 428: 92 Load 94(g_tTex1du1)
+ 429: 6(int) Load 424(coordTemp)
+ 430: 98(ivec4) ImageRead 428 429
+ 431: 12(int) CompositeExtract 430 0
+ Store 427(storeTemp) 431
+ 432: 12(int) Load 427(storeTemp)
+ 433: 12(int) IAdd 432 106
+ Store 427(storeTemp) 433
+ 434: 92 Load 94(g_tTex1du1)
+ 435: 6(int) Load 424(coordTemp)
+ 436: 12(int) Load 427(storeTemp)
+ ImageWrite 434 435 436
+ 438: 62(ptr) AccessChain 61 53
+ 439: 6(int) Load 438
+ Store 437(coordTemp) 439
+ 441: 68 Load 70(g_tTex1df1)
+ 442: 6(int) Load 437(coordTemp)
+ 443: 39(fvec4) ImageRead 441 442
+ 444: 18(float) CompositeExtract 443 0
+ Store 440(storeTemp) 444
+ 445: 18(float) Load 440(storeTemp)
+ 446: 18(float) FSub 445 406
+ Store 440(storeTemp) 446
+ 447: 68 Load 70(g_tTex1df1)
+ 448: 6(int) Load 437(coordTemp)
+ 449: 18(float) Load 440(storeTemp)
+ ImageWrite 447 448 449
+ 451: 62(ptr) AccessChain 61 53
+ 452: 6(int) Load 451
+ Store 450(coordTemp) 452
+ 454: 83 Load 85(g_tTex1di1)
+ 455: 6(int) Load 450(coordTemp)
+ 456: 58(ivec4) ImageRead 454 455
+ 457: 6(int) CompositeExtract 456 0
+ Store 453(storeTemp) 457
+ 458: 6(int) Load 453(storeTemp)
+ 459: 6(int) ISub 458 106
+ Store 453(storeTemp) 459
+ 460: 83 Load 85(g_tTex1di1)
+ 461: 6(int) Load 450(coordTemp)
+ 462: 6(int) Load 453(storeTemp)
+ ImageWrite 460 461 462
+ 464: 62(ptr) AccessChain 61 53
+ 465: 6(int) Load 464
+ Store 463(coordTemp) 465
+ 467: 92 Load 94(g_tTex1du1)
+ 468: 6(int) Load 463(coordTemp)
+ 469: 98(ivec4) ImageRead 467 468
+ 470: 12(int) CompositeExtract 469 0
+ Store 466(storeTemp) 470
+ 471: 12(int) Load 466(storeTemp)
+ 472: 12(int) ISub 471 106
+ Store 466(storeTemp) 472
+ 473: 92 Load 94(g_tTex1du1)
+ 474: 6(int) Load 463(coordTemp)
+ 475: 12(int) Load 466(storeTemp)
+ ImageWrite 473 474 475
+ 477: 62(ptr) AccessChain 61 53
+ 478: 6(int) Load 477
+ Store 476(coordTemp) 478
+ 480: 68 Load 70(g_tTex1df1)
+ 481: 6(int) Load 476(coordTemp)
+ 482: 39(fvec4) ImageRead 480 481
+ 483: 18(float) CompositeExtract 482 0
+ Store 479(storeTempPre) 483
+ 485: 18(float) Load 479(storeTempPre)
+ Store 484(storeTempPost) 485
+ 486: 18(float) Load 484(storeTempPost)
+ 487: 18(float) FAdd 486 406
+ Store 484(storeTempPost) 487
+ 488: 68 Load 70(g_tTex1df1)
+ 489: 6(int) Load 476(coordTemp)
+ 490: 18(float) Load 484(storeTempPost)
+ ImageWrite 488 489 490
+ 492: 62(ptr) AccessChain 61 53
+ 493: 6(int) Load 492
+ Store 491(coordTemp) 493
+ 495: 92 Load 94(g_tTex1du1)
+ 496: 6(int) Load 491(coordTemp)
+ 497: 98(ivec4) ImageRead 495 496
+ 498: 12(int) CompositeExtract 497 0
+ Store 494(storeTempPre) 498
+ 500: 12(int) Load 494(storeTempPre)
+ Store 499(storeTempPost) 500
+ 501: 12(int) Load 499(storeTempPost)
+ 502: 12(int) ISub 501 106
+ Store 499(storeTempPost) 502
+ 503: 92 Load 94(g_tTex1du1)
+ 504: 6(int) Load 491(coordTemp)
+ 505: 12(int) Load 499(storeTempPost)
+ ImageWrite 503 504 505
+ 507: 62(ptr) AccessChain 61 53
+ 508: 6(int) Load 507
+ Store 506(coordTemp) 508
+ 510: 83 Load 85(g_tTex1di1)
+ 511: 6(int) Load 506(coordTemp)
+ 512: 58(ivec4) ImageRead 510 511
+ 513: 6(int) CompositeExtract 512 0
+ Store 509(storeTempPre) 513
+ 515: 6(int) Load 509(storeTempPre)
+ Store 514(storeTempPost) 515
+ 516: 6(int) Load 514(storeTempPost)
+ 517: 6(int) IAdd 516 106
+ Store 514(storeTempPost) 517
+ 518: 83 Load 85(g_tTex1di1)
+ 519: 6(int) Load 506(coordTemp)
+ 520: 6(int) Load 514(storeTempPost)
+ ImageWrite 518 519 520
+ 522: 62(ptr) AccessChain 61 53
+ 523: 6(int) Load 522
+ Store 521(coordTemp) 523
+ 525: 68 Load 70(g_tTex1df1)
+ 526: 6(int) Load 521(coordTemp)
+ 527: 39(fvec4) ImageRead 525 526
+ 528: 18(float) CompositeExtract 527 0
+ Store 524(storeTempPre) 528
+ 530: 18(float) Load 524(storeTempPre)
+ Store 529(storeTempPost) 530
+ 531: 18(float) Load 529(storeTempPost)
+ 532: 18(float) FSub 531 406
+ Store 529(storeTempPost) 532
+ 533: 68 Load 70(g_tTex1df1)
+ 534: 6(int) Load 521(coordTemp)
+ 535: 18(float) Load 529(storeTempPost)
+ ImageWrite 533 534 535
+ 537: 62(ptr) AccessChain 61 53
+ 538: 6(int) Load 537
+ Store 536(coordTemp) 538
+ 540: 83 Load 85(g_tTex1di1)
+ 541: 6(int) Load 536(coordTemp)
+ 542: 58(ivec4) ImageRead 540 541
+ 543: 6(int) CompositeExtract 542 0
+ Store 539(storeTempPre) 543
+ 545: 6(int) Load 539(storeTempPre)
+ Store 544(storeTempPost) 545
+ 546: 6(int) Load 544(storeTempPost)
+ 547: 6(int) IAdd 546 106
+ Store 544(storeTempPost) 547
+ 548: 83 Load 85(g_tTex1di1)
+ 549: 6(int) Load 536(coordTemp)
+ 550: 6(int) Load 544(storeTempPost)
+ ImageWrite 548 549 550
+ 552: 62(ptr) AccessChain 61 53
+ 553: 6(int) Load 552
+ Store 551(coordTemp) 553
+ 555: 92 Load 94(g_tTex1du1)
+ 556: 6(int) Load 551(coordTemp)
+ 557: 98(ivec4) ImageRead 555 556
+ 558: 12(int) CompositeExtract 557 0
+ Store 554(storeTempPre) 558
+ 560: 12(int) Load 554(storeTempPre)
+ Store 559(storeTempPost) 560
+ 561: 12(int) Load 559(storeTempPost)
+ 562: 12(int) ISub 561 106
+ Store 559(storeTempPost) 562
+ 563: 92 Load 94(g_tTex1du1)
+ 564: 6(int) Load 551(coordTemp)
+ 565: 12(int) Load 559(storeTempPost)
+ ImageWrite 563 564 565
+ 567: 102 Load 104(g_tTex2df1)
+ 570: 39(fvec4) ImageRead 567 569
+ 571: 18(float) CompositeExtract 570 0
+ Store 566(storeTemp) 571
+ 572: 68 Load 70(g_tTex1df1)
+ 573: 18(float) Load 566(storeTemp)
+ ImageWrite 572 106 573
+ 578: 577(ptr) AccessChain 575(psout) 53
+ Store 578 576
+ 579:40(PS_OUTPUT) Load 575(psout)
+ ReturnValue 579
FunctionEnd
diff --git a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
index c8d10e6..1f77a77 100644
--- a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
@@ -1707,17 +1707,16 @@
0:? 'anon@0' (layout( row_major std140) uniform block{ uniform int c1, uniform 2-component vector of int c2, uniform 3-component vector of int c3, uniform 4-component vector of int c4, uniform int o1, uniform 2-component vector of int o2, uniform 3-component vector of int o3, uniform 4-component vector of int o4, uniform 2-component vector of float uf2, uniform 2-component vector of int ui2, uniform 2-component vector of uint uu2})
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
-Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 605
+// Id's are bound by 711
Capability Shader
Capability Image1D
Capability StorageImageExtendedFormats
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 581
+ EntryPoint Fragment 4 "main" 687
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
@@ -1751,101 +1750,101 @@
MemberName 64($Global) 10 "uu2"
Name 66 ""
Name 76 "g_tTex1df2"
- Name 82 "r00"
- Name 87 "r01"
- Name 90 "g_tTex1di2"
- Name 95 "r02"
- Name 98 "g_tTex1du2"
- Name 103 "r10"
- Name 106 "g_tTex2df2"
- Name 111 "r11"
- Name 114 "g_tTex2di2"
- Name 119 "r12"
- Name 122 "g_tTex2du2"
- Name 127 "r20"
- Name 130 "g_tTex3df2"
- Name 137 "r21"
- Name 140 "g_tTex3di2"
- Name 145 "r22"
- Name 148 "g_tTex3du2"
- Name 153 "lf2"
- Name 158 "storeTemp"
- Name 168 "storeTemp"
- Name 174 "storeTemp"
- Name 182 "val1"
- Name 184 "coordTemp"
- Name 187 "storeTemp"
- Name 198 "coordTemp"
- Name 201 "storeTemp"
- Name 212 "coordTemp"
- Name 215 "storeTemp"
- Name 226 "coordTemp"
- Name 229 "storeTemp"
- Name 239 "coordTemp"
- Name 242 "storeTemp"
- Name 252 "coordTemp"
- Name 255 "storeTemp"
+ Name 85 "r00"
+ Name 93 "r01"
+ Name 96 "g_tTex1di2"
+ Name 104 "r02"
+ Name 107 "g_tTex1du2"
+ Name 116 "r10"
+ Name 119 "g_tTex2df2"
+ Name 127 "r11"
+ Name 130 "g_tTex2di2"
+ Name 138 "r12"
+ Name 141 "g_tTex2du2"
+ Name 149 "r20"
+ Name 152 "g_tTex3df2"
+ Name 162 "r21"
+ Name 165 "g_tTex3di2"
+ Name 173 "r22"
+ Name 176 "g_tTex3du2"
+ Name 184 "lf2"
+ Name 189 "storeTemp"
+ Name 199 "storeTemp"
+ Name 205 "storeTemp"
+ Name 213 "val1"
+ Name 215 "coordTemp"
+ Name 218 "storeTemp"
+ Name 232 "coordTemp"
+ Name 235 "storeTemp"
+ Name 249 "coordTemp"
+ Name 252 "storeTemp"
Name 266 "coordTemp"
Name 269 "storeTemp"
- Name 280 "coordTemp"
- Name 283 "storeTemp"
- Name 293 "coordTemp"
- Name 296 "storeTemp"
- Name 306 "storeTemp"
- Name 316 "storeTemp"
- Name 323 "storeTemp"
- Name 330 "storeTemp"
- Name 340 "storeTemp"
- Name 347 "storeTemp"
- Name 358 "param"
- Name 364 "param"
- Name 370 "param"
- Name 372 "tempArg"
- Name 373 "param"
- Name 380 "tempArg"
- Name 381 "param"
- Name 388 "tempArg"
- Name 389 "param"
- Name 396 "coordTemp"
- Name 399 "storeTemp"
- Name 410 "coordTemp"
- Name 413 "storeTemp"
- Name 423 "coordTemp"
- Name 426 "storeTemp"
- Name 436 "coordTemp"
- Name 439 "storeTemp"
- Name 449 "coordTemp"
- Name 452 "storeTemp"
- Name 462 "coordTemp"
- Name 465 "storeTemp"
- Name 475 "coordTemp"
- Name 478 "storeTempPre"
- Name 482 "storeTempPost"
- Name 490 "coordTemp"
- Name 493 "storeTempPre"
- Name 497 "storeTempPost"
- Name 505 "coordTemp"
- Name 508 "storeTempPre"
- Name 512 "storeTempPost"
- Name 520 "coordTemp"
- Name 523 "storeTempPre"
- Name 527 "storeTempPost"
- Name 535 "coordTemp"
- Name 538 "storeTempPre"
- Name 542 "storeTempPost"
- Name 550 "coordTemp"
- Name 553 "storeTempPre"
- Name 557 "storeTempPost"
- Name 565 "storeTemp"
- Name 573 "psout"
- Name 581 "@entryPointOutput.Color"
- Name 586 "g_sSamp"
- Name 589 "g_tTex1df2a"
- Name 592 "g_tTex1di2a"
- Name 595 "g_tTex1du2a"
- Name 598 "g_tTex2df2a"
- Name 601 "g_tTex2di2a"
- Name 604 "g_tTex2du2a"
+ Name 282 "coordTemp"
+ Name 285 "storeTemp"
+ Name 298 "coordTemp"
+ Name 301 "storeTemp"
+ Name 315 "coordTemp"
+ Name 318 "storeTemp"
+ Name 332 "coordTemp"
+ Name 335 "storeTemp"
+ Name 348 "coordTemp"
+ Name 351 "storeTemp"
+ Name 364 "storeTemp"
+ Name 374 "storeTemp"
+ Name 381 "storeTemp"
+ Name 388 "storeTemp"
+ Name 398 "storeTemp"
+ Name 405 "storeTemp"
+ Name 419 "param"
+ Name 428 "param"
+ Name 437 "param"
+ Name 439 "tempArg"
+ Name 440 "param"
+ Name 447 "tempArg"
+ Name 448 "param"
+ Name 455 "tempArg"
+ Name 456 "param"
+ Name 463 "coordTemp"
+ Name 466 "storeTemp"
+ Name 480 "coordTemp"
+ Name 483 "storeTemp"
+ Name 496 "coordTemp"
+ Name 499 "storeTemp"
+ Name 512 "coordTemp"
+ Name 515 "storeTemp"
+ Name 528 "coordTemp"
+ Name 531 "storeTemp"
+ Name 544 "coordTemp"
+ Name 547 "storeTemp"
+ Name 560 "coordTemp"
+ Name 563 "storeTempPre"
+ Name 570 "storeTempPost"
+ Name 578 "coordTemp"
+ Name 581 "storeTempPre"
+ Name 588 "storeTempPost"
+ Name 596 "coordTemp"
+ Name 599 "storeTempPre"
+ Name 606 "storeTempPost"
+ Name 614 "coordTemp"
+ Name 617 "storeTempPre"
+ Name 624 "storeTempPost"
+ Name 632 "coordTemp"
+ Name 635 "storeTempPre"
+ Name 642 "storeTempPost"
+ Name 650 "coordTemp"
+ Name 653 "storeTempPre"
+ Name 660 "storeTempPost"
+ Name 668 "storeTemp"
+ Name 679 "psout"
+ Name 687 "@entryPointOutput.Color"
+ Name 692 "g_sSamp"
+ Name 695 "g_tTex1df2a"
+ Name 698 "g_tTex1di2a"
+ Name 701 "g_tTex1du2a"
+ Name 704 "g_tTex2df2a"
+ Name 707 "g_tTex2di2a"
+ Name 710 "g_tTex2du2a"
MemberDecorate 64($Global) 0 Offset 0
MemberDecorate 64($Global) 1 Offset 8
MemberDecorate 64($Global) 2 Offset 16
@@ -1862,37 +1861,37 @@
Decorate 66 Binding 10
Decorate 76(g_tTex1df2) DescriptorSet 0
Decorate 76(g_tTex1df2) Binding 1
- Decorate 90(g_tTex1di2) DescriptorSet 0
- Decorate 90(g_tTex1di2) Binding 2
- Decorate 98(g_tTex1du2) DescriptorSet 0
- Decorate 98(g_tTex1du2) Binding 3
- Decorate 106(g_tTex2df2) DescriptorSet 0
- Decorate 106(g_tTex2df2) Binding 4
- Decorate 114(g_tTex2di2) DescriptorSet 0
- Decorate 114(g_tTex2di2) Binding 5
- Decorate 122(g_tTex2du2) DescriptorSet 0
- Decorate 122(g_tTex2du2) Binding 6
- Decorate 130(g_tTex3df2) DescriptorSet 0
- Decorate 130(g_tTex3df2) Binding 7
- Decorate 140(g_tTex3di2) DescriptorSet 0
- Decorate 140(g_tTex3di2) Binding 8
- Decorate 148(g_tTex3du2) DescriptorSet 0
- Decorate 148(g_tTex3du2) Binding 9
- Decorate 581(@entryPointOutput.Color) Location 0
- Decorate 586(g_sSamp) DescriptorSet 0
- Decorate 586(g_sSamp) Binding 0
- Decorate 589(g_tTex1df2a) DescriptorSet 0
- Decorate 589(g_tTex1df2a) Binding 0
- Decorate 592(g_tTex1di2a) DescriptorSet 0
- Decorate 592(g_tTex1di2a) Binding 0
- Decorate 595(g_tTex1du2a) DescriptorSet 0
- Decorate 595(g_tTex1du2a) Binding 0
- Decorate 598(g_tTex2df2a) DescriptorSet 0
- Decorate 598(g_tTex2df2a) Binding 0
- Decorate 601(g_tTex2di2a) DescriptorSet 0
- Decorate 601(g_tTex2di2a) Binding 0
- Decorate 604(g_tTex2du2a) DescriptorSet 0
- Decorate 604(g_tTex2du2a) Binding 0
+ Decorate 96(g_tTex1di2) DescriptorSet 0
+ Decorate 96(g_tTex1di2) Binding 2
+ Decorate 107(g_tTex1du2) DescriptorSet 0
+ Decorate 107(g_tTex1du2) Binding 3
+ Decorate 119(g_tTex2df2) DescriptorSet 0
+ Decorate 119(g_tTex2df2) Binding 4
+ Decorate 130(g_tTex2di2) DescriptorSet 0
+ Decorate 130(g_tTex2di2) Binding 5
+ Decorate 141(g_tTex2du2) DescriptorSet 0
+ Decorate 141(g_tTex2du2) Binding 6
+ Decorate 152(g_tTex3df2) DescriptorSet 0
+ Decorate 152(g_tTex3df2) Binding 7
+ Decorate 165(g_tTex3di2) DescriptorSet 0
+ Decorate 165(g_tTex3di2) Binding 8
+ Decorate 176(g_tTex3du2) DescriptorSet 0
+ Decorate 176(g_tTex3du2) Binding 9
+ Decorate 687(@entryPointOutput.Color) Location 0
+ Decorate 692(g_sSamp) DescriptorSet 0
+ Decorate 692(g_sSamp) Binding 0
+ Decorate 695(g_tTex1df2a) DescriptorSet 0
+ Decorate 695(g_tTex1df2a) Binding 0
+ Decorate 698(g_tTex1di2a) DescriptorSet 0
+ Decorate 698(g_tTex1di2a) Binding 0
+ Decorate 701(g_tTex1du2a) DescriptorSet 0
+ Decorate 701(g_tTex1du2a) Binding 0
+ Decorate 704(g_tTex2df2a) DescriptorSet 0
+ Decorate 704(g_tTex2df2a) Binding 0
+ Decorate 707(g_tTex2di2a) DescriptorSet 0
+ Decorate 707(g_tTex2di2a) Binding 0
+ Decorate 710(g_tTex2du2a) DescriptorSet 0
+ Decorate 710(g_tTex2du2a) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@@ -1931,86 +1930,87 @@
75: TypePointer UniformConstant 74
76(g_tTex1df2): 75(ptr) Variable UniformConstant
78: TypePointer Uniform 6(int)
- 88: TypeImage 6(int) 1D nonsampled format:Rg32i
- 89: TypePointer UniformConstant 88
- 90(g_tTex1di2): 89(ptr) Variable UniformConstant
- 96: TypeImage 13(int) 1D nonsampled format:Rg32ui
- 97: TypePointer UniformConstant 96
- 98(g_tTex1du2): 97(ptr) Variable UniformConstant
- 104: TypeImage 20(float) 2D nonsampled format:Rg32f
- 105: TypePointer UniformConstant 104
- 106(g_tTex2df2): 105(ptr) Variable UniformConstant
- 112: TypeImage 6(int) 2D nonsampled format:Rg32i
- 113: TypePointer UniformConstant 112
- 114(g_tTex2di2): 113(ptr) Variable UniformConstant
- 120: TypeImage 13(int) 2D nonsampled format:Rg32ui
- 121: TypePointer UniformConstant 120
- 122(g_tTex2du2): 121(ptr) Variable UniformConstant
- 128: TypeImage 20(float) 3D nonsampled format:Rg32f
+ 94: TypeImage 6(int) 1D nonsampled format:Rg32i
+ 95: TypePointer UniformConstant 94
+ 96(g_tTex1di2): 95(ptr) Variable UniformConstant
+ 105: TypeImage 13(int) 1D nonsampled format:Rg32ui
+ 106: TypePointer UniformConstant 105
+ 107(g_tTex1du2): 106(ptr) Variable UniformConstant
+ 111: TypeVector 13(int) 4
+ 117: TypeImage 20(float) 2D nonsampled format:Rg32f
+ 118: TypePointer UniformConstant 117
+ 119(g_tTex2df2): 118(ptr) Variable UniformConstant
+ 128: TypeImage 6(int) 2D nonsampled format:Rg32i
129: TypePointer UniformConstant 128
- 130(g_tTex3df2): 129(ptr) Variable UniformConstant
- 132: 6(int) Constant 2
- 133: TypePointer Uniform 62(ivec3)
- 138: TypeImage 6(int) 3D nonsampled format:Rg32i
- 139: TypePointer UniformConstant 138
- 140(g_tTex3di2): 139(ptr) Variable UniformConstant
- 146: TypeImage 13(int) 3D nonsampled format:Rg32ui
- 147: TypePointer UniformConstant 146
- 148(g_tTex3du2): 147(ptr) Variable UniformConstant
- 154: 6(int) Constant 8
- 155: TypePointer Uniform 21(fvec2)
- 169: 7(ivec2) ConstantComposite 132 132
- 175: 13(int) Constant 3
- 176: 13(int) Constant 2
- 177: 14(ivec2) ConstantComposite 175 176
- 183: TypePointer Function 6(int)
- 191: 20(float) Constant 1073741824
- 205: 20(float) Constant 1077936128
- 219: 20(float) Constant 1082130432
- 259: 6(int) Constant 65535
- 273: 6(int) Constant 61680
- 317: 6(int) Constant 5
- 318: 7(ivec2) ConstantComposite 317 132
- 324: 13(int) Constant 6
- 325: 14(ivec2) ConstantComposite 324 176
- 341: 6(int) Constant 6
- 342: 7(ivec2) ConstantComposite 154 341
- 348: 13(int) Constant 9
- 349: 14(ivec2) ConstantComposite 348 176
- 404: 20(float) Constant 1065353216
- 567: 6(int) Constant 3
- 568: 7(ivec2) ConstantComposite 132 567
- 572: TypePointer Function 43(PS_OUTPUT)
- 574: 42(fvec4) ConstantComposite 404 404 404 404
- 575: TypePointer Function 42(fvec4)
- 580: TypePointer Output 42(fvec4)
-581(@entryPointOutput.Color): 580(ptr) Variable Output
- 584: TypeSampler
- 585: TypePointer UniformConstant 584
- 586(g_sSamp): 585(ptr) Variable UniformConstant
- 587: TypeImage 20(float) 1D array nonsampled format:Rg32f
- 588: TypePointer UniformConstant 587
-589(g_tTex1df2a): 588(ptr) Variable UniformConstant
- 590: TypeImage 6(int) 1D array nonsampled format:Rg32i
- 591: TypePointer UniformConstant 590
-592(g_tTex1di2a): 591(ptr) Variable UniformConstant
- 593: TypeImage 13(int) 1D array nonsampled format:Rg32ui
- 594: TypePointer UniformConstant 593
-595(g_tTex1du2a): 594(ptr) Variable UniformConstant
- 596: TypeImage 20(float) 2D array nonsampled format:Rg32f
- 597: TypePointer UniformConstant 596
-598(g_tTex2df2a): 597(ptr) Variable UniformConstant
- 599: TypeImage 6(int) 2D array nonsampled format:Rg32i
- 600: TypePointer UniformConstant 599
-601(g_tTex2di2a): 600(ptr) Variable UniformConstant
- 602: TypeImage 13(int) 2D array nonsampled format:Rg32ui
- 603: TypePointer UniformConstant 602
-604(g_tTex2du2a): 603(ptr) Variable UniformConstant
+ 130(g_tTex2di2): 129(ptr) Variable UniformConstant
+ 139: TypeImage 13(int) 2D nonsampled format:Rg32ui
+ 140: TypePointer UniformConstant 139
+ 141(g_tTex2du2): 140(ptr) Variable UniformConstant
+ 150: TypeImage 20(float) 3D nonsampled format:Rg32f
+ 151: TypePointer UniformConstant 150
+ 152(g_tTex3df2): 151(ptr) Variable UniformConstant
+ 154: 6(int) Constant 2
+ 155: TypePointer Uniform 62(ivec3)
+ 163: TypeImage 6(int) 3D nonsampled format:Rg32i
+ 164: TypePointer UniformConstant 163
+ 165(g_tTex3di2): 164(ptr) Variable UniformConstant
+ 174: TypeImage 13(int) 3D nonsampled format:Rg32ui
+ 175: TypePointer UniformConstant 174
+ 176(g_tTex3du2): 175(ptr) Variable UniformConstant
+ 185: 6(int) Constant 8
+ 186: TypePointer Uniform 21(fvec2)
+ 200: 7(ivec2) ConstantComposite 154 154
+ 206: 13(int) Constant 3
+ 207: 13(int) Constant 2
+ 208: 14(ivec2) ConstantComposite 206 207
+ 214: TypePointer Function 6(int)
+ 225: 20(float) Constant 1073741824
+ 242: 20(float) Constant 1077936128
+ 259: 20(float) Constant 1082130432
+ 308: 6(int) Constant 65535
+ 325: 6(int) Constant 61680
+ 375: 6(int) Constant 5
+ 376: 7(ivec2) ConstantComposite 375 154
+ 382: 13(int) Constant 6
+ 383: 14(ivec2) ConstantComposite 382 207
+ 399: 6(int) Constant 6
+ 400: 7(ivec2) ConstantComposite 185 399
+ 406: 13(int) Constant 9
+ 407: 14(ivec2) ConstantComposite 406 207
+ 474: 20(float) Constant 1065353216
+ 670: 6(int) Constant 3
+ 671: 7(ivec2) ConstantComposite 154 670
+ 678: TypePointer Function 43(PS_OUTPUT)
+ 680: 42(fvec4) ConstantComposite 474 474 474 474
+ 681: TypePointer Function 42(fvec4)
+ 686: TypePointer Output 42(fvec4)
+687(@entryPointOutput.Color): 686(ptr) Variable Output
+ 690: TypeSampler
+ 691: TypePointer UniformConstant 690
+ 692(g_sSamp): 691(ptr) Variable UniformConstant
+ 693: TypeImage 20(float) 1D array nonsampled format:Rg32f
+ 694: TypePointer UniformConstant 693
+695(g_tTex1df2a): 694(ptr) Variable UniformConstant
+ 696: TypeImage 6(int) 1D array nonsampled format:Rg32i
+ 697: TypePointer UniformConstant 696
+698(g_tTex1di2a): 697(ptr) Variable UniformConstant
+ 699: TypeImage 13(int) 1D array nonsampled format:Rg32ui
+ 700: TypePointer UniformConstant 699
+701(g_tTex1du2a): 700(ptr) Variable UniformConstant
+ 702: TypeImage 20(float) 2D array nonsampled format:Rg32f
+ 703: TypePointer UniformConstant 702
+704(g_tTex2df2a): 703(ptr) Variable UniformConstant
+ 705: TypeImage 6(int) 2D array nonsampled format:Rg32i
+ 706: TypePointer UniformConstant 705
+707(g_tTex2di2a): 706(ptr) Variable UniformConstant
+ 708: TypeImage 13(int) 2D array nonsampled format:Rg32ui
+ 709: TypePointer UniformConstant 708
+710(g_tTex2du2a): 709(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
- 582:43(PS_OUTPUT) FunctionCall 45(@main()
- 583: 42(fvec4) CompositeExtract 582 0
- Store 581(@entryPointOutput.Color) 583
+ 688:43(PS_OUTPUT) FunctionCall 45(@main()
+ 689: 42(fvec4) CompositeExtract 688 0
+ Store 687(@entryPointOutput.Color) 689
Return
FunctionEnd
11(Fn1(vi2;): 7(ivec2) Function None 9
@@ -2058,587 +2058,692 @@
FunctionEnd
45(@main():43(PS_OUTPUT) Function None 44
46: Label
- 82(r00): 22(ptr) Variable Function
- 87(r01): 8(ptr) Variable Function
- 95(r02): 15(ptr) Variable Function
- 103(r10): 22(ptr) Variable Function
- 111(r11): 8(ptr) Variable Function
- 119(r12): 15(ptr) Variable Function
- 127(r20): 22(ptr) Variable Function
- 137(r21): 8(ptr) Variable Function
- 145(r22): 15(ptr) Variable Function
- 153(lf2): 22(ptr) Variable Function
- 158(storeTemp): 22(ptr) Variable Function
- 168(storeTemp): 8(ptr) Variable Function
- 174(storeTemp): 15(ptr) Variable Function
- 182(val1): 22(ptr) Variable Function
- 184(coordTemp): 183(ptr) Variable Function
- 187(storeTemp): 22(ptr) Variable Function
- 198(coordTemp): 183(ptr) Variable Function
- 201(storeTemp): 22(ptr) Variable Function
- 212(coordTemp): 183(ptr) Variable Function
- 215(storeTemp): 22(ptr) Variable Function
- 226(coordTemp): 183(ptr) Variable Function
- 229(storeTemp): 8(ptr) Variable Function
- 239(coordTemp): 183(ptr) Variable Function
- 242(storeTemp): 8(ptr) Variable Function
- 252(coordTemp): 183(ptr) Variable Function
- 255(storeTemp): 8(ptr) Variable Function
- 266(coordTemp): 183(ptr) Variable Function
+ 85(r00): 22(ptr) Variable Function
+ 93(r01): 8(ptr) Variable Function
+ 104(r02): 15(ptr) Variable Function
+ 116(r10): 22(ptr) Variable Function
+ 127(r11): 8(ptr) Variable Function
+ 138(r12): 15(ptr) Variable Function
+ 149(r20): 22(ptr) Variable Function
+ 162(r21): 8(ptr) Variable Function
+ 173(r22): 15(ptr) Variable Function
+ 184(lf2): 22(ptr) Variable Function
+ 189(storeTemp): 22(ptr) Variable Function
+ 199(storeTemp): 8(ptr) Variable Function
+ 205(storeTemp): 15(ptr) Variable Function
+ 213(val1): 22(ptr) Variable Function
+ 215(coordTemp): 214(ptr) Variable Function
+ 218(storeTemp): 22(ptr) Variable Function
+ 232(coordTemp): 214(ptr) Variable Function
+ 235(storeTemp): 22(ptr) Variable Function
+ 249(coordTemp): 214(ptr) Variable Function
+ 252(storeTemp): 22(ptr) Variable Function
+ 266(coordTemp): 214(ptr) Variable Function
269(storeTemp): 8(ptr) Variable Function
- 280(coordTemp): 183(ptr) Variable Function
- 283(storeTemp): 8(ptr) Variable Function
- 293(coordTemp): 183(ptr) Variable Function
- 296(storeTemp): 8(ptr) Variable Function
- 306(storeTemp): 22(ptr) Variable Function
- 316(storeTemp): 8(ptr) Variable Function
- 323(storeTemp): 15(ptr) Variable Function
- 330(storeTemp): 22(ptr) Variable Function
- 340(storeTemp): 8(ptr) Variable Function
- 347(storeTemp): 15(ptr) Variable Function
- 358(param): 22(ptr) Variable Function
- 364(param): 8(ptr) Variable Function
- 370(param): 15(ptr) Variable Function
- 372(tempArg): 22(ptr) Variable Function
- 373(param): 22(ptr) Variable Function
- 380(tempArg): 8(ptr) Variable Function
- 381(param): 8(ptr) Variable Function
- 388(tempArg): 15(ptr) Variable Function
- 389(param): 15(ptr) Variable Function
- 396(coordTemp): 183(ptr) Variable Function
- 399(storeTemp): 22(ptr) Variable Function
- 410(coordTemp): 183(ptr) Variable Function
- 413(storeTemp): 8(ptr) Variable Function
- 423(coordTemp): 183(ptr) Variable Function
- 426(storeTemp): 15(ptr) Variable Function
- 436(coordTemp): 183(ptr) Variable Function
- 439(storeTemp): 22(ptr) Variable Function
- 449(coordTemp): 183(ptr) Variable Function
- 452(storeTemp): 8(ptr) Variable Function
- 462(coordTemp): 183(ptr) Variable Function
- 465(storeTemp): 15(ptr) Variable Function
- 475(coordTemp): 183(ptr) Variable Function
-478(storeTempPre): 22(ptr) Variable Function
-482(storeTempPost): 22(ptr) Variable Function
- 490(coordTemp): 183(ptr) Variable Function
-493(storeTempPre): 15(ptr) Variable Function
-497(storeTempPost): 15(ptr) Variable Function
- 505(coordTemp): 183(ptr) Variable Function
-508(storeTempPre): 8(ptr) Variable Function
-512(storeTempPost): 8(ptr) Variable Function
- 520(coordTemp): 183(ptr) Variable Function
-523(storeTempPre): 22(ptr) Variable Function
-527(storeTempPost): 22(ptr) Variable Function
- 535(coordTemp): 183(ptr) Variable Function
-538(storeTempPre): 8(ptr) Variable Function
-542(storeTempPost): 8(ptr) Variable Function
- 550(coordTemp): 183(ptr) Variable Function
-553(storeTempPre): 15(ptr) Variable Function
-557(storeTempPost): 15(ptr) Variable Function
- 565(storeTemp): 22(ptr) Variable Function
- 573(psout): 572(ptr) Variable Function
+ 282(coordTemp): 214(ptr) Variable Function
+ 285(storeTemp): 8(ptr) Variable Function
+ 298(coordTemp): 214(ptr) Variable Function
+ 301(storeTemp): 8(ptr) Variable Function
+ 315(coordTemp): 214(ptr) Variable Function
+ 318(storeTemp): 8(ptr) Variable Function
+ 332(coordTemp): 214(ptr) Variable Function
+ 335(storeTemp): 8(ptr) Variable Function
+ 348(coordTemp): 214(ptr) Variable Function
+ 351(storeTemp): 8(ptr) Variable Function
+ 364(storeTemp): 22(ptr) Variable Function
+ 374(storeTemp): 8(ptr) Variable Function
+ 381(storeTemp): 15(ptr) Variable Function
+ 388(storeTemp): 22(ptr) Variable Function
+ 398(storeTemp): 8(ptr) Variable Function
+ 405(storeTemp): 15(ptr) Variable Function
+ 419(param): 22(ptr) Variable Function
+ 428(param): 8(ptr) Variable Function
+ 437(param): 15(ptr) Variable Function
+ 439(tempArg): 22(ptr) Variable Function
+ 440(param): 22(ptr) Variable Function
+ 447(tempArg): 8(ptr) Variable Function
+ 448(param): 8(ptr) Variable Function
+ 455(tempArg): 15(ptr) Variable Function
+ 456(param): 15(ptr) Variable Function
+ 463(coordTemp): 214(ptr) Variable Function
+ 466(storeTemp): 22(ptr) Variable Function
+ 480(coordTemp): 214(ptr) Variable Function
+ 483(storeTemp): 8(ptr) Variable Function
+ 496(coordTemp): 214(ptr) Variable Function
+ 499(storeTemp): 15(ptr) Variable Function
+ 512(coordTemp): 214(ptr) Variable Function
+ 515(storeTemp): 22(ptr) Variable Function
+ 528(coordTemp): 214(ptr) Variable Function
+ 531(storeTemp): 8(ptr) Variable Function
+ 544(coordTemp): 214(ptr) Variable Function
+ 547(storeTemp): 15(ptr) Variable Function
+ 560(coordTemp): 214(ptr) Variable Function
+563(storeTempPre): 22(ptr) Variable Function
+570(storeTempPost): 22(ptr) Variable Function
+ 578(coordTemp): 214(ptr) Variable Function
+581(storeTempPre): 15(ptr) Variable Function
+588(storeTempPost): 15(ptr) Variable Function
+ 596(coordTemp): 214(ptr) Variable Function
+599(storeTempPre): 8(ptr) Variable Function
+606(storeTempPost): 8(ptr) Variable Function
+ 614(coordTemp): 214(ptr) Variable Function
+617(storeTempPre): 22(ptr) Variable Function
+624(storeTempPost): 22(ptr) Variable Function
+ 632(coordTemp): 214(ptr) Variable Function
+635(storeTempPre): 8(ptr) Variable Function
+642(storeTempPost): 8(ptr) Variable Function
+ 650(coordTemp): 214(ptr) Variable Function
+653(storeTempPre): 15(ptr) Variable Function
+660(storeTempPost): 15(ptr) Variable Function
+ 668(storeTemp): 22(ptr) Variable Function
+ 679(psout): 678(ptr) Variable Function
77: 74 Load 76(g_tTex1df2)
79: 78(ptr) AccessChain 66 56
80: 6(int) Load 79
- 81: 21(fvec2) ImageRead 77 80
- 83: 74 Load 76(g_tTex1df2)
- 84: 78(ptr) AccessChain 66 56
- 85: 6(int) Load 84
- 86: 21(fvec2) ImageRead 83 85
- Store 82(r00) 86
- 91: 88 Load 90(g_tTex1di2)
- 92: 78(ptr) AccessChain 66 56
- 93: 6(int) Load 92
- 94: 7(ivec2) ImageRead 91 93
- Store 87(r01) 94
- 99: 96 Load 98(g_tTex1du2)
- 100: 78(ptr) AccessChain 66 56
- 101: 6(int) Load 100
- 102: 14(ivec2) ImageRead 99 101
- Store 95(r02) 102
- 107: 104 Load 106(g_tTex2df2)
- 108: 68(ptr) AccessChain 66 67
- 109: 7(ivec2) Load 108
- 110: 21(fvec2) ImageRead 107 109
- Store 103(r10) 110
- 115: 112 Load 114(g_tTex2di2)
- 116: 68(ptr) AccessChain 66 67
- 117: 7(ivec2) Load 116
- 118: 7(ivec2) ImageRead 115 117
- Store 111(r11) 118
- 123: 120 Load 122(g_tTex2du2)
- 124: 68(ptr) AccessChain 66 67
- 125: 7(ivec2) Load 124
- 126: 14(ivec2) ImageRead 123 125
- Store 119(r12) 126
- 131: 128 Load 130(g_tTex3df2)
- 134: 133(ptr) AccessChain 66 132
- 135: 62(ivec3) Load 134
- 136: 21(fvec2) ImageRead 131 135
- Store 127(r20) 136
- 141: 138 Load 140(g_tTex3di2)
- 142: 133(ptr) AccessChain 66 132
- 143: 62(ivec3) Load 142
- 144: 7(ivec2) ImageRead 141 143
- Store 137(r21) 144
- 149: 146 Load 148(g_tTex3du2)
- 150: 133(ptr) AccessChain 66 132
- 151: 62(ivec3) Load 150
- 152: 14(ivec2) ImageRead 149 151
- Store 145(r22) 152
+ 81: 42(fvec4) ImageRead 77 80
+ 82: 20(float) CompositeExtract 81 0
+ 83: 20(float) CompositeExtract 81 1
+ 84: 21(fvec2) CompositeConstruct 82 83
+ 86: 74 Load 76(g_tTex1df2)
+ 87: 78(ptr) AccessChain 66 56
+ 88: 6(int) Load 87
+ 89: 42(fvec4) ImageRead 86 88
+ 90: 20(float) CompositeExtract 89 0
+ 91: 20(float) CompositeExtract 89 1
+ 92: 21(fvec2) CompositeConstruct 90 91
+ Store 85(r00) 92
+ 97: 94 Load 96(g_tTex1di2)
+ 98: 78(ptr) AccessChain 66 56
+ 99: 6(int) Load 98
+ 100: 63(ivec4) ImageRead 97 99
+ 101: 6(int) CompositeExtract 100 0
+ 102: 6(int) CompositeExtract 100 1
+ 103: 7(ivec2) CompositeConstruct 101 102
+ Store 93(r01) 103
+ 108: 105 Load 107(g_tTex1du2)
+ 109: 78(ptr) AccessChain 66 56
+ 110: 6(int) Load 109
+ 112: 111(ivec4) ImageRead 108 110
+ 113: 13(int) CompositeExtract 112 0
+ 114: 13(int) CompositeExtract 112 1
+ 115: 14(ivec2) CompositeConstruct 113 114
+ Store 104(r02) 115
+ 120: 117 Load 119(g_tTex2df2)
+ 121: 68(ptr) AccessChain 66 67
+ 122: 7(ivec2) Load 121
+ 123: 42(fvec4) ImageRead 120 122
+ 124: 20(float) CompositeExtract 123 0
+ 125: 20(float) CompositeExtract 123 1
+ 126: 21(fvec2) CompositeConstruct 124 125
+ Store 116(r10) 126
+ 131: 128 Load 130(g_tTex2di2)
+ 132: 68(ptr) AccessChain 66 67
+ 133: 7(ivec2) Load 132
+ 134: 63(ivec4) ImageRead 131 133
+ 135: 6(int) CompositeExtract 134 0
+ 136: 6(int) CompositeExtract 134 1
+ 137: 7(ivec2) CompositeConstruct 135 136
+ Store 127(r11) 137
+ 142: 139 Load 141(g_tTex2du2)
+ 143: 68(ptr) AccessChain 66 67
+ 144: 7(ivec2) Load 143
+ 145: 111(ivec4) ImageRead 142 144
+ 146: 13(int) CompositeExtract 145 0
+ 147: 13(int) CompositeExtract 145 1
+ 148: 14(ivec2) CompositeConstruct 146 147
+ Store 138(r12) 148
+ 153: 150 Load 152(g_tTex3df2)
156: 155(ptr) AccessChain 66 154
- 157: 21(fvec2) Load 156
- Store 153(lf2) 157
- 159: 21(fvec2) FunctionCall 40(SomeValue()
- Store 158(storeTemp) 159
- 160: 74 Load 76(g_tTex1df2)
- 161: 78(ptr) AccessChain 66 56
- 162: 6(int) Load 161
- 163: 21(fvec2) Load 158(storeTemp)
- ImageWrite 160 162 163
- 164: 74 Load 76(g_tTex1df2)
- 165: 78(ptr) AccessChain 66 56
- 166: 6(int) Load 165
- 167: 21(fvec2) Load 153(lf2)
- ImageWrite 164 166 167
- Store 168(storeTemp) 169
- 170: 88 Load 90(g_tTex1di2)
- 171: 78(ptr) AccessChain 66 56
- 172: 6(int) Load 171
- 173: 7(ivec2) Load 168(storeTemp)
- ImageWrite 170 172 173
- Store 174(storeTemp) 177
- 178: 96 Load 98(g_tTex1du2)
- 179: 78(ptr) AccessChain 66 56
- 180: 6(int) Load 179
- 181: 14(ivec2) Load 174(storeTemp)
- ImageWrite 178 180 181
- 185: 78(ptr) AccessChain 66 56
- 186: 6(int) Load 185
- Store 184(coordTemp) 186
- 188: 74 Load 76(g_tTex1df2)
- 189: 6(int) Load 184(coordTemp)
- 190: 21(fvec2) ImageRead 188 189
- Store 187(storeTemp) 190
- 192: 21(fvec2) Load 187(storeTemp)
- 193: 21(fvec2) VectorTimesScalar 192 191
- Store 187(storeTemp) 193
- 194: 74 Load 76(g_tTex1df2)
- 195: 6(int) Load 184(coordTemp)
- 196: 21(fvec2) Load 187(storeTemp)
- ImageWrite 194 195 196
- 197: 21(fvec2) Load 187(storeTemp)
- Store 182(val1) 197
- 199: 78(ptr) AccessChain 66 56
- 200: 6(int) Load 199
- Store 198(coordTemp) 200
- 202: 74 Load 76(g_tTex1df2)
- 203: 6(int) Load 198(coordTemp)
- 204: 21(fvec2) ImageRead 202 203
- Store 201(storeTemp) 204
- 206: 21(fvec2) Load 201(storeTemp)
- 207: 21(fvec2) CompositeConstruct 205 205
- 208: 21(fvec2) FSub 206 207
- Store 201(storeTemp) 208
- 209: 74 Load 76(g_tTex1df2)
- 210: 6(int) Load 198(coordTemp)
- 211: 21(fvec2) Load 201(storeTemp)
- ImageWrite 209 210 211
- 213: 78(ptr) AccessChain 66 56
- 214: 6(int) Load 213
- Store 212(coordTemp) 214
- 216: 74 Load 76(g_tTex1df2)
- 217: 6(int) Load 212(coordTemp)
- 218: 21(fvec2) ImageRead 216 217
- Store 215(storeTemp) 218
- 220: 21(fvec2) Load 215(storeTemp)
- 221: 21(fvec2) CompositeConstruct 219 219
- 222: 21(fvec2) FAdd 220 221
- Store 215(storeTemp) 222
- 223: 74 Load 76(g_tTex1df2)
- 224: 6(int) Load 212(coordTemp)
- 225: 21(fvec2) Load 215(storeTemp)
- ImageWrite 223 224 225
- 227: 78(ptr) AccessChain 66 56
- 228: 6(int) Load 227
- Store 226(coordTemp) 228
- 230: 88 Load 90(g_tTex1di2)
- 231: 6(int) Load 226(coordTemp)
- 232: 7(ivec2) ImageRead 230 231
- Store 229(storeTemp) 232
- 233: 7(ivec2) Load 229(storeTemp)
- 234: 7(ivec2) CompositeConstruct 132 132
- 235: 7(ivec2) SDiv 233 234
- Store 229(storeTemp) 235
- 236: 88 Load 90(g_tTex1di2)
- 237: 6(int) Load 226(coordTemp)
- 238: 7(ivec2) Load 229(storeTemp)
- ImageWrite 236 237 238
- 240: 78(ptr) AccessChain 66 56
- 241: 6(int) Load 240
- Store 239(coordTemp) 241
- 243: 88 Load 90(g_tTex1di2)
- 244: 6(int) Load 239(coordTemp)
- 245: 7(ivec2) ImageRead 243 244
- Store 242(storeTemp) 245
- 246: 7(ivec2) Load 242(storeTemp)
- 247: 7(ivec2) CompositeConstruct 132 132
- 248: 7(ivec2) SMod 246 247
- Store 242(storeTemp) 248
- 249: 88 Load 90(g_tTex1di2)
- 250: 6(int) Load 239(coordTemp)
- 251: 7(ivec2) Load 242(storeTemp)
- ImageWrite 249 250 251
- 253: 78(ptr) AccessChain 66 56
- 254: 6(int) Load 253
- Store 252(coordTemp) 254
- 256: 88 Load 90(g_tTex1di2)
- 257: 6(int) Load 252(coordTemp)
- 258: 7(ivec2) ImageRead 256 257
- Store 255(storeTemp) 258
- 260: 7(ivec2) Load 255(storeTemp)
- 261: 7(ivec2) CompositeConstruct 259 259
- 262: 7(ivec2) BitwiseAnd 260 261
- Store 255(storeTemp) 262
- 263: 88 Load 90(g_tTex1di2)
- 264: 6(int) Load 252(coordTemp)
- 265: 7(ivec2) Load 255(storeTemp)
+ 157: 62(ivec3) Load 156
+ 158: 42(fvec4) ImageRead 153 157
+ 159: 20(float) CompositeExtract 158 0
+ 160: 20(float) CompositeExtract 158 1
+ 161: 21(fvec2) CompositeConstruct 159 160
+ Store 149(r20) 161
+ 166: 163 Load 165(g_tTex3di2)
+ 167: 155(ptr) AccessChain 66 154
+ 168: 62(ivec3) Load 167
+ 169: 63(ivec4) ImageRead 166 168
+ 170: 6(int) CompositeExtract 169 0
+ 171: 6(int) CompositeExtract 169 1
+ 172: 7(ivec2) CompositeConstruct 170 171
+ Store 162(r21) 172
+ 177: 174 Load 176(g_tTex3du2)
+ 178: 155(ptr) AccessChain 66 154
+ 179: 62(ivec3) Load 178
+ 180: 111(ivec4) ImageRead 177 179
+ 181: 13(int) CompositeExtract 180 0
+ 182: 13(int) CompositeExtract 180 1
+ 183: 14(ivec2) CompositeConstruct 181 182
+ Store 173(r22) 183
+ 187: 186(ptr) AccessChain 66 185
+ 188: 21(fvec2) Load 187
+ Store 184(lf2) 188
+ 190: 21(fvec2) FunctionCall 40(SomeValue()
+ Store 189(storeTemp) 190
+ 191: 74 Load 76(g_tTex1df2)
+ 192: 78(ptr) AccessChain 66 56
+ 193: 6(int) Load 192
+ 194: 21(fvec2) Load 189(storeTemp)
+ ImageWrite 191 193 194
+ 195: 74 Load 76(g_tTex1df2)
+ 196: 78(ptr) AccessChain 66 56
+ 197: 6(int) Load 196
+ 198: 21(fvec2) Load 184(lf2)
+ ImageWrite 195 197 198
+ Store 199(storeTemp) 200
+ 201: 94 Load 96(g_tTex1di2)
+ 202: 78(ptr) AccessChain 66 56
+ 203: 6(int) Load 202
+ 204: 7(ivec2) Load 199(storeTemp)
+ ImageWrite 201 203 204
+ Store 205(storeTemp) 208
+ 209: 105 Load 107(g_tTex1du2)
+ 210: 78(ptr) AccessChain 66 56
+ 211: 6(int) Load 210
+ 212: 14(ivec2) Load 205(storeTemp)
+ ImageWrite 209 211 212
+ 216: 78(ptr) AccessChain 66 56
+ 217: 6(int) Load 216
+ Store 215(coordTemp) 217
+ 219: 74 Load 76(g_tTex1df2)
+ 220: 6(int) Load 215(coordTemp)
+ 221: 42(fvec4) ImageRead 219 220
+ 222: 20(float) CompositeExtract 221 0
+ 223: 20(float) CompositeExtract 221 1
+ 224: 21(fvec2) CompositeConstruct 222 223
+ Store 218(storeTemp) 224
+ 226: 21(fvec2) Load 218(storeTemp)
+ 227: 21(fvec2) VectorTimesScalar 226 225
+ Store 218(storeTemp) 227
+ 228: 74 Load 76(g_tTex1df2)
+ 229: 6(int) Load 215(coordTemp)
+ 230: 21(fvec2) Load 218(storeTemp)
+ ImageWrite 228 229 230
+ 231: 21(fvec2) Load 218(storeTemp)
+ Store 213(val1) 231
+ 233: 78(ptr) AccessChain 66 56
+ 234: 6(int) Load 233
+ Store 232(coordTemp) 234
+ 236: 74 Load 76(g_tTex1df2)
+ 237: 6(int) Load 232(coordTemp)
+ 238: 42(fvec4) ImageRead 236 237
+ 239: 20(float) CompositeExtract 238 0
+ 240: 20(float) CompositeExtract 238 1
+ 241: 21(fvec2) CompositeConstruct 239 240
+ Store 235(storeTemp) 241
+ 243: 21(fvec2) Load 235(storeTemp)
+ 244: 21(fvec2) CompositeConstruct 242 242
+ 245: 21(fvec2) FSub 243 244
+ Store 235(storeTemp) 245
+ 246: 74 Load 76(g_tTex1df2)
+ 247: 6(int) Load 232(coordTemp)
+ 248: 21(fvec2) Load 235(storeTemp)
+ ImageWrite 246 247 248
+ 250: 78(ptr) AccessChain 66 56
+ 251: 6(int) Load 250
+ Store 249(coordTemp) 251
+ 253: 74 Load 76(g_tTex1df2)
+ 254: 6(int) Load 249(coordTemp)
+ 255: 42(fvec4) ImageRead 253 254
+ 256: 20(float) CompositeExtract 255 0
+ 257: 20(float) CompositeExtract 255 1
+ 258: 21(fvec2) CompositeConstruct 256 257
+ Store 252(storeTemp) 258
+ 260: 21(fvec2) Load 252(storeTemp)
+ 261: 21(fvec2) CompositeConstruct 259 259
+ 262: 21(fvec2) FAdd 260 261
+ Store 252(storeTemp) 262
+ 263: 74 Load 76(g_tTex1df2)
+ 264: 6(int) Load 249(coordTemp)
+ 265: 21(fvec2) Load 252(storeTemp)
ImageWrite 263 264 265
267: 78(ptr) AccessChain 66 56
268: 6(int) Load 267
Store 266(coordTemp) 268
- 270: 88 Load 90(g_tTex1di2)
+ 270: 94 Load 96(g_tTex1di2)
271: 6(int) Load 266(coordTemp)
- 272: 7(ivec2) ImageRead 270 271
- Store 269(storeTemp) 272
- 274: 7(ivec2) Load 269(storeTemp)
- 275: 7(ivec2) CompositeConstruct 273 273
- 276: 7(ivec2) BitwiseOr 274 275
- Store 269(storeTemp) 276
- 277: 88 Load 90(g_tTex1di2)
- 278: 6(int) Load 266(coordTemp)
- 279: 7(ivec2) Load 269(storeTemp)
- ImageWrite 277 278 279
- 281: 78(ptr) AccessChain 66 56
- 282: 6(int) Load 281
- Store 280(coordTemp) 282
- 284: 88 Load 90(g_tTex1di2)
- 285: 6(int) Load 280(coordTemp)
- 286: 7(ivec2) ImageRead 284 285
- Store 283(storeTemp) 286
- 287: 7(ivec2) Load 283(storeTemp)
- 288: 7(ivec2) CompositeConstruct 132 132
- 289: 7(ivec2) ShiftLeftLogical 287 288
- Store 283(storeTemp) 289
- 290: 88 Load 90(g_tTex1di2)
- 291: 6(int) Load 280(coordTemp)
- 292: 7(ivec2) Load 283(storeTemp)
- ImageWrite 290 291 292
- 294: 78(ptr) AccessChain 66 56
- 295: 6(int) Load 294
- Store 293(coordTemp) 295
- 297: 88 Load 90(g_tTex1di2)
- 298: 6(int) Load 293(coordTemp)
- 299: 7(ivec2) ImageRead 297 298
- Store 296(storeTemp) 299
- 300: 7(ivec2) Load 296(storeTemp)
- 301: 7(ivec2) CompositeConstruct 132 132
- 302: 7(ivec2) ShiftRightArithmetic 300 301
- Store 296(storeTemp) 302
- 303: 88 Load 90(g_tTex1di2)
- 304: 6(int) Load 293(coordTemp)
- 305: 7(ivec2) Load 296(storeTemp)
- ImageWrite 303 304 305
- 307: 21(fvec2) FunctionCall 40(SomeValue()
- Store 306(storeTemp) 307
- 308: 104 Load 106(g_tTex2df2)
- 309: 68(ptr) AccessChain 66 67
- 310: 7(ivec2) Load 309
- 311: 21(fvec2) Load 306(storeTemp)
- ImageWrite 308 310 311
- 312: 104 Load 106(g_tTex2df2)
- 313: 68(ptr) AccessChain 66 67
- 314: 7(ivec2) Load 313
- 315: 21(fvec2) Load 153(lf2)
- ImageWrite 312 314 315
- Store 316(storeTemp) 318
- 319: 112 Load 114(g_tTex2di2)
- 320: 68(ptr) AccessChain 66 67
- 321: 7(ivec2) Load 320
- 322: 7(ivec2) Load 316(storeTemp)
- ImageWrite 319 321 322
- Store 323(storeTemp) 325
- 326: 120 Load 122(g_tTex2du2)
- 327: 68(ptr) AccessChain 66 67
- 328: 7(ivec2) Load 327
- 329: 14(ivec2) Load 323(storeTemp)
- ImageWrite 326 328 329
- 331: 21(fvec2) FunctionCall 40(SomeValue()
- Store 330(storeTemp) 331
- 332: 128 Load 130(g_tTex3df2)
- 333: 133(ptr) AccessChain 66 132
- 334: 62(ivec3) Load 333
- 335: 21(fvec2) Load 330(storeTemp)
- ImageWrite 332 334 335
- 336: 128 Load 130(g_tTex3df2)
- 337: 133(ptr) AccessChain 66 132
- 338: 62(ivec3) Load 337
- 339: 21(fvec2) Load 153(lf2)
- ImageWrite 336 338 339
- Store 340(storeTemp) 342
- 343: 138 Load 140(g_tTex3di2)
- 344: 133(ptr) AccessChain 66 132
- 345: 62(ivec3) Load 344
- 346: 7(ivec2) Load 340(storeTemp)
- ImageWrite 343 345 346
- Store 347(storeTemp) 349
- 350: 146 Load 148(g_tTex3du2)
- 351: 133(ptr) AccessChain 66 132
- 352: 62(ivec3) Load 351
- 353: 14(ivec2) Load 347(storeTemp)
- ImageWrite 350 352 353
- 354: 74 Load 76(g_tTex1df2)
- 355: 78(ptr) AccessChain 66 56
- 356: 6(int) Load 355
- 357: 21(fvec2) ImageRead 354 356
- Store 358(param) 357
- 359: 21(fvec2) FunctionCall 25(Fn1(vf2;) 358(param)
- 360: 88 Load 90(g_tTex1di2)
- 361: 78(ptr) AccessChain 66 56
- 362: 6(int) Load 361
- 363: 7(ivec2) ImageRead 360 362
- Store 364(param) 363
- 365: 7(ivec2) FunctionCall 11(Fn1(vi2;) 364(param)
- 366: 96 Load 98(g_tTex1du2)
- 367: 78(ptr) AccessChain 66 56
- 368: 6(int) Load 367
- 369: 14(ivec2) ImageRead 366 368
- Store 370(param) 369
- 371: 14(ivec2) FunctionCall 18(Fn1(vu2;) 370(param)
- 374: 2 FunctionCall 37(Fn2(vf2;) 373(param)
- 375: 21(fvec2) Load 373(param)
- Store 372(tempArg) 375
- 376: 74 Load 76(g_tTex1df2)
- 377: 78(ptr) AccessChain 66 56
- 378: 6(int) Load 377
- 379: 21(fvec2) Load 372(tempArg)
- ImageWrite 376 378 379
- 382: 2 FunctionCall 29(Fn2(vi2;) 381(param)
- 383: 7(ivec2) Load 381(param)
- Store 380(tempArg) 383
- 384: 88 Load 90(g_tTex1di2)
- 385: 78(ptr) AccessChain 66 56
- 386: 6(int) Load 385
- 387: 7(ivec2) Load 380(tempArg)
+ 272: 63(ivec4) ImageRead 270 271
+ 273: 6(int) CompositeExtract 272 0
+ 274: 6(int) CompositeExtract 272 1
+ 275: 7(ivec2) CompositeConstruct 273 274
+ Store 269(storeTemp) 275
+ 276: 7(ivec2) Load 269(storeTemp)
+ 277: 7(ivec2) CompositeConstruct 154 154
+ 278: 7(ivec2) SDiv 276 277
+ Store 269(storeTemp) 278
+ 279: 94 Load 96(g_tTex1di2)
+ 280: 6(int) Load 266(coordTemp)
+ 281: 7(ivec2) Load 269(storeTemp)
+ ImageWrite 279 280 281
+ 283: 78(ptr) AccessChain 66 56
+ 284: 6(int) Load 283
+ Store 282(coordTemp) 284
+ 286: 94 Load 96(g_tTex1di2)
+ 287: 6(int) Load 282(coordTemp)
+ 288: 63(ivec4) ImageRead 286 287
+ 289: 6(int) CompositeExtract 288 0
+ 290: 6(int) CompositeExtract 288 1
+ 291: 7(ivec2) CompositeConstruct 289 290
+ Store 285(storeTemp) 291
+ 292: 7(ivec2) Load 285(storeTemp)
+ 293: 7(ivec2) CompositeConstruct 154 154
+ 294: 7(ivec2) SMod 292 293
+ Store 285(storeTemp) 294
+ 295: 94 Load 96(g_tTex1di2)
+ 296: 6(int) Load 282(coordTemp)
+ 297: 7(ivec2) Load 285(storeTemp)
+ ImageWrite 295 296 297
+ 299: 78(ptr) AccessChain 66 56
+ 300: 6(int) Load 299
+ Store 298(coordTemp) 300
+ 302: 94 Load 96(g_tTex1di2)
+ 303: 6(int) Load 298(coordTemp)
+ 304: 63(ivec4) ImageRead 302 303
+ 305: 6(int) CompositeExtract 304 0
+ 306: 6(int) CompositeExtract 304 1
+ 307: 7(ivec2) CompositeConstruct 305 306
+ Store 301(storeTemp) 307
+ 309: 7(ivec2) Load 301(storeTemp)
+ 310: 7(ivec2) CompositeConstruct 308 308
+ 311: 7(ivec2) BitwiseAnd 309 310
+ Store 301(storeTemp) 311
+ 312: 94 Load 96(g_tTex1di2)
+ 313: 6(int) Load 298(coordTemp)
+ 314: 7(ivec2) Load 301(storeTemp)
+ ImageWrite 312 313 314
+ 316: 78(ptr) AccessChain 66 56
+ 317: 6(int) Load 316
+ Store 315(coordTemp) 317
+ 319: 94 Load 96(g_tTex1di2)
+ 320: 6(int) Load 315(coordTemp)
+ 321: 63(ivec4) ImageRead 319 320
+ 322: 6(int) CompositeExtract 321 0
+ 323: 6(int) CompositeExtract 321 1
+ 324: 7(ivec2) CompositeConstruct 322 323
+ Store 318(storeTemp) 324
+ 326: 7(ivec2) Load 318(storeTemp)
+ 327: 7(ivec2) CompositeConstruct 325 325
+ 328: 7(ivec2) BitwiseOr 326 327
+ Store 318(storeTemp) 328
+ 329: 94 Load 96(g_tTex1di2)
+ 330: 6(int) Load 315(coordTemp)
+ 331: 7(ivec2) Load 318(storeTemp)
+ ImageWrite 329 330 331
+ 333: 78(ptr) AccessChain 66 56
+ 334: 6(int) Load 333
+ Store 332(coordTemp) 334
+ 336: 94 Load 96(g_tTex1di2)
+ 337: 6(int) Load 332(coordTemp)
+ 338: 63(ivec4) ImageRead 336 337
+ 339: 6(int) CompositeExtract 338 0
+ 340: 6(int) CompositeExtract 338 1
+ 341: 7(ivec2) CompositeConstruct 339 340
+ Store 335(storeTemp) 341
+ 342: 7(ivec2) Load 335(storeTemp)
+ 343: 7(ivec2) CompositeConstruct 154 154
+ 344: 7(ivec2) ShiftLeftLogical 342 343
+ Store 335(storeTemp) 344
+ 345: 94 Load 96(g_tTex1di2)
+ 346: 6(int) Load 332(coordTemp)
+ 347: 7(ivec2) Load 335(storeTemp)
+ ImageWrite 345 346 347
+ 349: 78(ptr) AccessChain 66 56
+ 350: 6(int) Load 349
+ Store 348(coordTemp) 350
+ 352: 94 Load 96(g_tTex1di2)
+ 353: 6(int) Load 348(coordTemp)
+ 354: 63(ivec4) ImageRead 352 353
+ 355: 6(int) CompositeExtract 354 0
+ 356: 6(int) CompositeExtract 354 1
+ 357: 7(ivec2) CompositeConstruct 355 356
+ Store 351(storeTemp) 357
+ 358: 7(ivec2) Load 351(storeTemp)
+ 359: 7(ivec2) CompositeConstruct 154 154
+ 360: 7(ivec2) ShiftRightArithmetic 358 359
+ Store 351(storeTemp) 360
+ 361: 94 Load 96(g_tTex1di2)
+ 362: 6(int) Load 348(coordTemp)
+ 363: 7(ivec2) Load 351(storeTemp)
+ ImageWrite 361 362 363
+ 365: 21(fvec2) FunctionCall 40(SomeValue()
+ Store 364(storeTemp) 365
+ 366: 117 Load 119(g_tTex2df2)
+ 367: 68(ptr) AccessChain 66 67
+ 368: 7(ivec2) Load 367
+ 369: 21(fvec2) Load 364(storeTemp)
+ ImageWrite 366 368 369
+ 370: 117 Load 119(g_tTex2df2)
+ 371: 68(ptr) AccessChain 66 67
+ 372: 7(ivec2) Load 371
+ 373: 21(fvec2) Load 184(lf2)
+ ImageWrite 370 372 373
+ Store 374(storeTemp) 376
+ 377: 128 Load 130(g_tTex2di2)
+ 378: 68(ptr) AccessChain 66 67
+ 379: 7(ivec2) Load 378
+ 380: 7(ivec2) Load 374(storeTemp)
+ ImageWrite 377 379 380
+ Store 381(storeTemp) 383
+ 384: 139 Load 141(g_tTex2du2)
+ 385: 68(ptr) AccessChain 66 67
+ 386: 7(ivec2) Load 385
+ 387: 14(ivec2) Load 381(storeTemp)
ImageWrite 384 386 387
- 390: 2 FunctionCall 33(Fn2(vu2;) 389(param)
- 391: 14(ivec2) Load 389(param)
- Store 388(tempArg) 391
- 392: 96 Load 98(g_tTex1du2)
- 393: 78(ptr) AccessChain 66 56
- 394: 6(int) Load 393
- 395: 14(ivec2) Load 388(tempArg)
- ImageWrite 392 394 395
- 397: 78(ptr) AccessChain 66 56
- 398: 6(int) Load 397
- Store 396(coordTemp) 398
- 400: 74 Load 76(g_tTex1df2)
- 401: 6(int) Load 396(coordTemp)
- 402: 21(fvec2) ImageRead 400 401
- Store 399(storeTemp) 402
- 403: 21(fvec2) Load 399(storeTemp)
- 405: 21(fvec2) CompositeConstruct 404 404
- 406: 21(fvec2) FAdd 403 405
- Store 399(storeTemp) 406
- 407: 74 Load 76(g_tTex1df2)
- 408: 6(int) Load 396(coordTemp)
- 409: 21(fvec2) Load 399(storeTemp)
- ImageWrite 407 408 409
- 411: 78(ptr) AccessChain 66 56
- 412: 6(int) Load 411
- Store 410(coordTemp) 412
- 414: 88 Load 90(g_tTex1di2)
- 415: 6(int) Load 410(coordTemp)
- 416: 7(ivec2) ImageRead 414 415
- Store 413(storeTemp) 416
- 417: 7(ivec2) Load 413(storeTemp)
- 418: 7(ivec2) CompositeConstruct 67 67
- 419: 7(ivec2) IAdd 417 418
- Store 413(storeTemp) 419
- 420: 88 Load 90(g_tTex1di2)
- 421: 6(int) Load 410(coordTemp)
- 422: 7(ivec2) Load 413(storeTemp)
- ImageWrite 420 421 422
- 424: 78(ptr) AccessChain 66 56
- 425: 6(int) Load 424
- Store 423(coordTemp) 425
- 427: 96 Load 98(g_tTex1du2)
- 428: 6(int) Load 423(coordTemp)
- 429: 14(ivec2) ImageRead 427 428
- Store 426(storeTemp) 429
- 430: 14(ivec2) Load 426(storeTemp)
- 431: 7(ivec2) CompositeConstruct 67 67
- 432: 14(ivec2) IAdd 430 431
- Store 426(storeTemp) 432
- 433: 96 Load 98(g_tTex1du2)
- 434: 6(int) Load 423(coordTemp)
- 435: 14(ivec2) Load 426(storeTemp)
- ImageWrite 433 434 435
- 437: 78(ptr) AccessChain 66 56
- 438: 6(int) Load 437
- Store 436(coordTemp) 438
- 440: 74 Load 76(g_tTex1df2)
- 441: 6(int) Load 436(coordTemp)
- 442: 21(fvec2) ImageRead 440 441
- Store 439(storeTemp) 442
- 443: 21(fvec2) Load 439(storeTemp)
- 444: 21(fvec2) CompositeConstruct 404 404
- 445: 21(fvec2) FSub 443 444
- Store 439(storeTemp) 445
- 446: 74 Load 76(g_tTex1df2)
- 447: 6(int) Load 436(coordTemp)
- 448: 21(fvec2) Load 439(storeTemp)
- ImageWrite 446 447 448
- 450: 78(ptr) AccessChain 66 56
- 451: 6(int) Load 450
- Store 449(coordTemp) 451
- 453: 88 Load 90(g_tTex1di2)
- 454: 6(int) Load 449(coordTemp)
- 455: 7(ivec2) ImageRead 453 454
- Store 452(storeTemp) 455
- 456: 7(ivec2) Load 452(storeTemp)
- 457: 7(ivec2) CompositeConstruct 67 67
- 458: 7(ivec2) ISub 456 457
- Store 452(storeTemp) 458
- 459: 88 Load 90(g_tTex1di2)
- 460: 6(int) Load 449(coordTemp)
- 461: 7(ivec2) Load 452(storeTemp)
- ImageWrite 459 460 461
- 463: 78(ptr) AccessChain 66 56
- 464: 6(int) Load 463
- Store 462(coordTemp) 464
- 466: 96 Load 98(g_tTex1du2)
- 467: 6(int) Load 462(coordTemp)
- 468: 14(ivec2) ImageRead 466 467
- Store 465(storeTemp) 468
- 469: 14(ivec2) Load 465(storeTemp)
- 470: 7(ivec2) CompositeConstruct 67 67
- 471: 14(ivec2) ISub 469 470
- Store 465(storeTemp) 471
- 472: 96 Load 98(g_tTex1du2)
- 473: 6(int) Load 462(coordTemp)
- 474: 14(ivec2) Load 465(storeTemp)
- ImageWrite 472 473 474
- 476: 78(ptr) AccessChain 66 56
- 477: 6(int) Load 476
- Store 475(coordTemp) 477
- 479: 74 Load 76(g_tTex1df2)
- 480: 6(int) Load 475(coordTemp)
- 481: 21(fvec2) ImageRead 479 480
- Store 478(storeTempPre) 481
- 483: 21(fvec2) Load 478(storeTempPre)
- Store 482(storeTempPost) 483
- 484: 21(fvec2) Load 482(storeTempPost)
- 485: 21(fvec2) CompositeConstruct 404 404
- 486: 21(fvec2) FAdd 484 485
- Store 482(storeTempPost) 486
- 487: 74 Load 76(g_tTex1df2)
- 488: 6(int) Load 475(coordTemp)
- 489: 21(fvec2) Load 482(storeTempPost)
- ImageWrite 487 488 489
- 491: 78(ptr) AccessChain 66 56
- 492: 6(int) Load 491
- Store 490(coordTemp) 492
- 494: 96 Load 98(g_tTex1du2)
- 495: 6(int) Load 490(coordTemp)
- 496: 14(ivec2) ImageRead 494 495
- Store 493(storeTempPre) 496
- 498: 14(ivec2) Load 493(storeTempPre)
- Store 497(storeTempPost) 498
- 499: 14(ivec2) Load 497(storeTempPost)
- 500: 7(ivec2) CompositeConstruct 67 67
- 501: 14(ivec2) ISub 499 500
- Store 497(storeTempPost) 501
- 502: 96 Load 98(g_tTex1du2)
- 503: 6(int) Load 490(coordTemp)
- 504: 14(ivec2) Load 497(storeTempPost)
- ImageWrite 502 503 504
- 506: 78(ptr) AccessChain 66 56
- 507: 6(int) Load 506
- Store 505(coordTemp) 507
- 509: 88 Load 90(g_tTex1di2)
- 510: 6(int) Load 505(coordTemp)
- 511: 7(ivec2) ImageRead 509 510
- Store 508(storeTempPre) 511
- 513: 7(ivec2) Load 508(storeTempPre)
- Store 512(storeTempPost) 513
- 514: 7(ivec2) Load 512(storeTempPost)
- 515: 7(ivec2) CompositeConstruct 67 67
- 516: 7(ivec2) IAdd 514 515
- Store 512(storeTempPost) 516
- 517: 88 Load 90(g_tTex1di2)
- 518: 6(int) Load 505(coordTemp)
- 519: 7(ivec2) Load 512(storeTempPost)
- ImageWrite 517 518 519
- 521: 78(ptr) AccessChain 66 56
- 522: 6(int) Load 521
- Store 520(coordTemp) 522
- 524: 74 Load 76(g_tTex1df2)
- 525: 6(int) Load 520(coordTemp)
- 526: 21(fvec2) ImageRead 524 525
- Store 523(storeTempPre) 526
- 528: 21(fvec2) Load 523(storeTempPre)
- Store 527(storeTempPost) 528
- 529: 21(fvec2) Load 527(storeTempPost)
- 530: 21(fvec2) CompositeConstruct 404 404
- 531: 21(fvec2) FSub 529 530
- Store 527(storeTempPost) 531
- 532: 74 Load 76(g_tTex1df2)
- 533: 6(int) Load 520(coordTemp)
- 534: 21(fvec2) Load 527(storeTempPost)
- ImageWrite 532 533 534
- 536: 78(ptr) AccessChain 66 56
- 537: 6(int) Load 536
- Store 535(coordTemp) 537
- 539: 88 Load 90(g_tTex1di2)
- 540: 6(int) Load 535(coordTemp)
- 541: 7(ivec2) ImageRead 539 540
- Store 538(storeTempPre) 541
- 543: 7(ivec2) Load 538(storeTempPre)
- Store 542(storeTempPost) 543
- 544: 7(ivec2) Load 542(storeTempPost)
- 545: 7(ivec2) CompositeConstruct 67 67
- 546: 7(ivec2) IAdd 544 545
- Store 542(storeTempPost) 546
- 547: 88 Load 90(g_tTex1di2)
- 548: 6(int) Load 535(coordTemp)
- 549: 7(ivec2) Load 542(storeTempPost)
- ImageWrite 547 548 549
- 551: 78(ptr) AccessChain 66 56
- 552: 6(int) Load 551
- Store 550(coordTemp) 552
- 554: 96 Load 98(g_tTex1du2)
- 555: 6(int) Load 550(coordTemp)
- 556: 14(ivec2) ImageRead 554 555
- Store 553(storeTempPre) 556
- 558: 14(ivec2) Load 553(storeTempPre)
- Store 557(storeTempPost) 558
- 559: 14(ivec2) Load 557(storeTempPost)
- 560: 7(ivec2) CompositeConstruct 67 67
- 561: 14(ivec2) ISub 559 560
- Store 557(storeTempPost) 561
- 562: 96 Load 98(g_tTex1du2)
- 563: 6(int) Load 550(coordTemp)
- 564: 14(ivec2) Load 557(storeTempPost)
- ImageWrite 562 563 564
- 566: 104 Load 106(g_tTex2df2)
- 569: 21(fvec2) ImageRead 566 568
- Store 565(storeTemp) 569
- 570: 74 Load 76(g_tTex1df2)
- 571: 21(fvec2) Load 565(storeTemp)
- ImageWrite 570 67 571
- 576: 575(ptr) AccessChain 573(psout) 56
- Store 576 574
- 577:43(PS_OUTPUT) Load 573(psout)
- ReturnValue 577
+ 389: 21(fvec2) FunctionCall 40(SomeValue()
+ Store 388(storeTemp) 389
+ 390: 150 Load 152(g_tTex3df2)
+ 391: 155(ptr) AccessChain 66 154
+ 392: 62(ivec3) Load 391
+ 393: 21(fvec2) Load 388(storeTemp)
+ ImageWrite 390 392 393
+ 394: 150 Load 152(g_tTex3df2)
+ 395: 155(ptr) AccessChain 66 154
+ 396: 62(ivec3) Load 395
+ 397: 21(fvec2) Load 184(lf2)
+ ImageWrite 394 396 397
+ Store 398(storeTemp) 400
+ 401: 163 Load 165(g_tTex3di2)
+ 402: 155(ptr) AccessChain 66 154
+ 403: 62(ivec3) Load 402
+ 404: 7(ivec2) Load 398(storeTemp)
+ ImageWrite 401 403 404
+ Store 405(storeTemp) 407
+ 408: 174 Load 176(g_tTex3du2)
+ 409: 155(ptr) AccessChain 66 154
+ 410: 62(ivec3) Load 409
+ 411: 14(ivec2) Load 405(storeTemp)
+ ImageWrite 408 410 411
+ 412: 74 Load 76(g_tTex1df2)
+ 413: 78(ptr) AccessChain 66 56
+ 414: 6(int) Load 413
+ 415: 42(fvec4) ImageRead 412 414
+ 416: 20(float) CompositeExtract 415 0
+ 417: 20(float) CompositeExtract 415 1
+ 418: 21(fvec2) CompositeConstruct 416 417
+ Store 419(param) 418
+ 420: 21(fvec2) FunctionCall 25(Fn1(vf2;) 419(param)
+ 421: 94 Load 96(g_tTex1di2)
+ 422: 78(ptr) AccessChain 66 56
+ 423: 6(int) Load 422
+ 424: 63(ivec4) ImageRead 421 423
+ 425: 6(int) CompositeExtract 424 0
+ 426: 6(int) CompositeExtract 424 1
+ 427: 7(ivec2) CompositeConstruct 425 426
+ Store 428(param) 427
+ 429: 7(ivec2) FunctionCall 11(Fn1(vi2;) 428(param)
+ 430: 105 Load 107(g_tTex1du2)
+ 431: 78(ptr) AccessChain 66 56
+ 432: 6(int) Load 431
+ 433: 111(ivec4) ImageRead 430 432
+ 434: 13(int) CompositeExtract 433 0
+ 435: 13(int) CompositeExtract 433 1
+ 436: 14(ivec2) CompositeConstruct 434 435
+ Store 437(param) 436
+ 438: 14(ivec2) FunctionCall 18(Fn1(vu2;) 437(param)
+ 441: 2 FunctionCall 37(Fn2(vf2;) 440(param)
+ 442: 21(fvec2) Load 440(param)
+ Store 439(tempArg) 442
+ 443: 74 Load 76(g_tTex1df2)
+ 444: 78(ptr) AccessChain 66 56
+ 445: 6(int) Load 444
+ 446: 21(fvec2) Load 439(tempArg)
+ ImageWrite 443 445 446
+ 449: 2 FunctionCall 29(Fn2(vi2;) 448(param)
+ 450: 7(ivec2) Load 448(param)
+ Store 447(tempArg) 450
+ 451: 94 Load 96(g_tTex1di2)
+ 452: 78(ptr) AccessChain 66 56
+ 453: 6(int) Load 452
+ 454: 7(ivec2) Load 447(tempArg)
+ ImageWrite 451 453 454
+ 457: 2 FunctionCall 33(Fn2(vu2;) 456(param)
+ 458: 14(ivec2) Load 456(param)
+ Store 455(tempArg) 458
+ 459: 105 Load 107(g_tTex1du2)
+ 460: 78(ptr) AccessChain 66 56
+ 461: 6(int) Load 460
+ 462: 14(ivec2) Load 455(tempArg)
+ ImageWrite 459 461 462
+ 464: 78(ptr) AccessChain 66 56
+ 465: 6(int) Load 464
+ Store 463(coordTemp) 465
+ 467: 74 Load 76(g_tTex1df2)
+ 468: 6(int) Load 463(coordTemp)
+ 469: 42(fvec4) ImageRead 467 468
+ 470: 20(float) CompositeExtract 469 0
+ 471: 20(float) CompositeExtract 469 1
+ 472: 21(fvec2) CompositeConstruct 470 471
+ Store 466(storeTemp) 472
+ 473: 21(fvec2) Load 466(storeTemp)
+ 475: 21(fvec2) CompositeConstruct 474 474
+ 476: 21(fvec2) FAdd 473 475
+ Store 466(storeTemp) 476
+ 477: 74 Load 76(g_tTex1df2)
+ 478: 6(int) Load 463(coordTemp)
+ 479: 21(fvec2) Load 466(storeTemp)
+ ImageWrite 477 478 479
+ 481: 78(ptr) AccessChain 66 56
+ 482: 6(int) Load 481
+ Store 480(coordTemp) 482
+ 484: 94 Load 96(g_tTex1di2)
+ 485: 6(int) Load 480(coordTemp)
+ 486: 63(ivec4) ImageRead 484 485
+ 487: 6(int) CompositeExtract 486 0
+ 488: 6(int) CompositeExtract 486 1
+ 489: 7(ivec2) CompositeConstruct 487 488
+ Store 483(storeTemp) 489
+ 490: 7(ivec2) Load 483(storeTemp)
+ 491: 7(ivec2) CompositeConstruct 67 67
+ 492: 7(ivec2) IAdd 490 491
+ Store 483(storeTemp) 492
+ 493: 94 Load 96(g_tTex1di2)
+ 494: 6(int) Load 480(coordTemp)
+ 495: 7(ivec2) Load 483(storeTemp)
+ ImageWrite 493 494 495
+ 497: 78(ptr) AccessChain 66 56
+ 498: 6(int) Load 497
+ Store 496(coordTemp) 498
+ 500: 105 Load 107(g_tTex1du2)
+ 501: 6(int) Load 496(coordTemp)
+ 502: 111(ivec4) ImageRead 500 501
+ 503: 13(int) CompositeExtract 502 0
+ 504: 13(int) CompositeExtract 502 1
+ 505: 14(ivec2) CompositeConstruct 503 504
+ Store 499(storeTemp) 505
+ 506: 14(ivec2) Load 499(storeTemp)
+ 507: 7(ivec2) CompositeConstruct 67 67
+ 508: 14(ivec2) IAdd 506 507
+ Store 499(storeTemp) 508
+ 509: 105 Load 107(g_tTex1du2)
+ 510: 6(int) Load 496(coordTemp)
+ 511: 14(ivec2) Load 499(storeTemp)
+ ImageWrite 509 510 511
+ 513: 78(ptr) AccessChain 66 56
+ 514: 6(int) Load 513
+ Store 512(coordTemp) 514
+ 516: 74 Load 76(g_tTex1df2)
+ 517: 6(int) Load 512(coordTemp)
+ 518: 42(fvec4) ImageRead 516 517
+ 519: 20(float) CompositeExtract 518 0
+ 520: 20(float) CompositeExtract 518 1
+ 521: 21(fvec2) CompositeConstruct 519 520
+ Store 515(storeTemp) 521
+ 522: 21(fvec2) Load 515(storeTemp)
+ 523: 21(fvec2) CompositeConstruct 474 474
+ 524: 21(fvec2) FSub 522 523
+ Store 515(storeTemp) 524
+ 525: 74 Load 76(g_tTex1df2)
+ 526: 6(int) Load 512(coordTemp)
+ 527: 21(fvec2) Load 515(storeTemp)
+ ImageWrite 525 526 527
+ 529: 78(ptr) AccessChain 66 56
+ 530: 6(int) Load 529
+ Store 528(coordTemp) 530
+ 532: 94 Load 96(g_tTex1di2)
+ 533: 6(int) Load 528(coordTemp)
+ 534: 63(ivec4) ImageRead 532 533
+ 535: 6(int) CompositeExtract 534 0
+ 536: 6(int) CompositeExtract 534 1
+ 537: 7(ivec2) CompositeConstruct 535 536
+ Store 531(storeTemp) 537
+ 538: 7(ivec2) Load 531(storeTemp)
+ 539: 7(ivec2) CompositeConstruct 67 67
+ 540: 7(ivec2) ISub 538 539
+ Store 531(storeTemp) 540
+ 541: 94 Load 96(g_tTex1di2)
+ 542: 6(int) Load 528(coordTemp)
+ 543: 7(ivec2) Load 531(storeTemp)
+ ImageWrite 541 542 543
+ 545: 78(ptr) AccessChain 66 56
+ 546: 6(int) Load 545
+ Store 544(coordTemp) 546
+ 548: 105 Load 107(g_tTex1du2)
+ 549: 6(int) Load 544(coordTemp)
+ 550: 111(ivec4) ImageRead 548 549
+ 551: 13(int) CompositeExtract 550 0
+ 552: 13(int) CompositeExtract 550 1
+ 553: 14(ivec2) CompositeConstruct 551 552
+ Store 547(storeTemp) 553
+ 554: 14(ivec2) Load 547(storeTemp)
+ 555: 7(ivec2) CompositeConstruct 67 67
+ 556: 14(ivec2) ISub 554 555
+ Store 547(storeTemp) 556
+ 557: 105 Load 107(g_tTex1du2)
+ 558: 6(int) Load 544(coordTemp)
+ 559: 14(ivec2) Load 547(storeTemp)
+ ImageWrite 557 558 559
+ 561: 78(ptr) AccessChain 66 56
+ 562: 6(int) Load 561
+ Store 560(coordTemp) 562
+ 564: 74 Load 76(g_tTex1df2)
+ 565: 6(int) Load 560(coordTemp)
+ 566: 42(fvec4) ImageRead 564 565
+ 567: 20(float) CompositeExtract 566 0
+ 568: 20(float) CompositeExtract 566 1
+ 569: 21(fvec2) CompositeConstruct 567 568
+ Store 563(storeTempPre) 569
+ 571: 21(fvec2) Load 563(storeTempPre)
+ Store 570(storeTempPost) 571
+ 572: 21(fvec2) Load 570(storeTempPost)
+ 573: 21(fvec2) CompositeConstruct 474 474
+ 574: 21(fvec2) FAdd 572 573
+ Store 570(storeTempPost) 574
+ 575: 74 Load 76(g_tTex1df2)
+ 576: 6(int) Load 560(coordTemp)
+ 577: 21(fvec2) Load 570(storeTempPost)
+ ImageWrite 575 576 577
+ 579: 78(ptr) AccessChain 66 56
+ 580: 6(int) Load 579
+ Store 578(coordTemp) 580
+ 582: 105 Load 107(g_tTex1du2)
+ 583: 6(int) Load 578(coordTemp)
+ 584: 111(ivec4) ImageRead 582 583
+ 585: 13(int) CompositeExtract 584 0
+ 586: 13(int) CompositeExtract 584 1
+ 587: 14(ivec2) CompositeConstruct 585 586
+ Store 581(storeTempPre) 587
+ 589: 14(ivec2) Load 581(storeTempPre)
+ Store 588(storeTempPost) 589
+ 590: 14(ivec2) Load 588(storeTempPost)
+ 591: 7(ivec2) CompositeConstruct 67 67
+ 592: 14(ivec2) ISub 590 591
+ Store 588(storeTempPost) 592
+ 593: 105 Load 107(g_tTex1du2)
+ 594: 6(int) Load 578(coordTemp)
+ 595: 14(ivec2) Load 588(storeTempPost)
+ ImageWrite 593 594 595
+ 597: 78(ptr) AccessChain 66 56
+ 598: 6(int) Load 597
+ Store 596(coordTemp) 598
+ 600: 94 Load 96(g_tTex1di2)
+ 601: 6(int) Load 596(coordTemp)
+ 602: 63(ivec4) ImageRead 600 601
+ 603: 6(int) CompositeExtract 602 0
+ 604: 6(int) CompositeExtract 602 1
+ 605: 7(ivec2) CompositeConstruct 603 604
+ Store 599(storeTempPre) 605
+ 607: 7(ivec2) Load 599(storeTempPre)
+ Store 606(storeTempPost) 607
+ 608: 7(ivec2) Load 606(storeTempPost)
+ 609: 7(ivec2) CompositeConstruct 67 67
+ 610: 7(ivec2) IAdd 608 609
+ Store 606(storeTempPost) 610
+ 611: 94 Load 96(g_tTex1di2)
+ 612: 6(int) Load 596(coordTemp)
+ 613: 7(ivec2) Load 606(storeTempPost)
+ ImageWrite 611 612 613
+ 615: 78(ptr) AccessChain 66 56
+ 616: 6(int) Load 615
+ Store 614(coordTemp) 616
+ 618: 74 Load 76(g_tTex1df2)
+ 619: 6(int) Load 614(coordTemp)
+ 620: 42(fvec4) ImageRead 618 619
+ 621: 20(float) CompositeExtract 620 0
+ 622: 20(float) CompositeExtract 620 1
+ 623: 21(fvec2) CompositeConstruct 621 622
+ Store 617(storeTempPre) 623
+ 625: 21(fvec2) Load 617(storeTempPre)
+ Store 624(storeTempPost) 625
+ 626: 21(fvec2) Load 624(storeTempPost)
+ 627: 21(fvec2) CompositeConstruct 474 474
+ 628: 21(fvec2) FSub 626 627
+ Store 624(storeTempPost) 628
+ 629: 74 Load 76(g_tTex1df2)
+ 630: 6(int) Load 614(coordTemp)
+ 631: 21(fvec2) Load 624(storeTempPost)
+ ImageWrite 629 630 631
+ 633: 78(ptr) AccessChain 66 56
+ 634: 6(int) Load 633
+ Store 632(coordTemp) 634
+ 636: 94 Load 96(g_tTex1di2)
+ 637: 6(int) Load 632(coordTemp)
+ 638: 63(ivec4) ImageRead 636 637
+ 639: 6(int) CompositeExtract 638 0
+ 640: 6(int) CompositeExtract 638 1
+ 641: 7(ivec2) CompositeConstruct 639 640
+ Store 635(storeTempPre) 641
+ 643: 7(ivec2) Load 635(storeTempPre)
+ Store 642(storeTempPost) 643
+ 644: 7(ivec2) Load 642(storeTempPost)
+ 645: 7(ivec2) CompositeConstruct 67 67
+ 646: 7(ivec2) IAdd 644 645
+ Store 642(storeTempPost) 646
+ 647: 94 Load 96(g_tTex1di2)
+ 648: 6(int) Load 632(coordTemp)
+ 649: 7(ivec2) Load 642(storeTempPost)
+ ImageWrite 647 648 649
+ 651: 78(ptr) AccessChain 66 56
+ 652: 6(int) Load 651
+ Store 650(coordTemp) 652
+ 654: 105 Load 107(g_tTex1du2)
+ 655: 6(int) Load 650(coordTemp)
+ 656: 111(ivec4) ImageRead 654 655
+ 657: 13(int) CompositeExtract 656 0
+ 658: 13(int) CompositeExtract 656 1
+ 659: 14(ivec2) CompositeConstruct 657 658
+ Store 653(storeTempPre) 659
+ 661: 14(ivec2) Load 653(storeTempPre)
+ Store 660(storeTempPost) 661
+ 662: 14(ivec2) Load 660(storeTempPost)
+ 663: 7(ivec2) CompositeConstruct 67 67
+ 664: 14(ivec2) ISub 662 663
+ Store 660(storeTempPost) 664
+ 665: 105 Load 107(g_tTex1du2)
+ 666: 6(int) Load 650(coordTemp)
+ 667: 14(ivec2) Load 660(storeTempPost)
+ ImageWrite 665 666 667
+ 669: 117 Load 119(g_tTex2df2)
+ 672: 42(fvec4) ImageRead 669 671
+ 673: 20(float) CompositeExtract 672 0
+ 674: 20(float) CompositeExtract 672 1
+ 675: 21(fvec2) CompositeConstruct 673 674
+ Store 668(storeTemp) 675
+ 676: 74 Load 76(g_tTex1df2)
+ 677: 21(fvec2) Load 668(storeTemp)
+ ImageWrite 676 67 677
+ 682: 681(ptr) AccessChain 679(psout) 56
+ Store 682 680
+ 683:43(PS_OUTPUT) Load 679(psout)
+ ReturnValue 683
FunctionEnd
diff --git a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
index 478091d..291f624 100644
--- a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
@@ -16,9 +16,9 @@
0:31 Constant:
0:31 0.100000
0:31 Constant:
-0:31 0.500000
-0:31 Constant:
0:31 1 (const int)
+0:31 Constant:
+0:31 0.500000
0:32 Sequence
0:32 move second child to first child ( temp 4-component vector of int)
0:32 'txval11' ( temp 4-component vector of int)
@@ -29,9 +29,9 @@
0:32 Constant:
0:32 0.200000
0:32 Constant:
-0:32 0.500000
-0:32 Constant:
0:32 1 (const int)
+0:32 Constant:
+0:32 0.500000
0:33 Sequence
0:33 move second child to first child ( temp 4-component vector of uint)
0:33 'txval12' ( temp 4-component vector of uint)
@@ -42,9 +42,9 @@
0:33 Constant:
0:33 0.300000
0:33 Constant:
-0:33 0.500000
-0:33 Constant:
0:33 1 (const int)
+0:33 Constant:
+0:33 0.500000
0:35 Sequence
0:35 move second child to first child ( temp 4-component vector of float)
0:35 'txval20' ( temp 4-component vector of float)
@@ -56,10 +56,10 @@
0:35 0.100000
0:35 0.200000
0:35 Constant:
-0:35 0.500000
-0:35 Constant:
0:35 1 (const int)
0:35 0 (const int)
+0:35 Constant:
+0:35 0.500000
0:36 Sequence
0:36 move second child to first child ( temp 4-component vector of int)
0:36 'txval21' ( temp 4-component vector of int)
@@ -71,10 +71,10 @@
0:36 0.300000
0:36 0.400000
0:36 Constant:
-0:36 0.500000
+0:36 1 (const int)
+0:36 1 (const int)
0:36 Constant:
-0:36 1 (const int)
-0:36 1 (const int)
+0:36 0.500000
0:37 Sequence
0:37 move second child to first child ( temp 4-component vector of uint)
0:37 'txval22' ( temp 4-component vector of uint)
@@ -86,10 +86,10 @@
0:37 0.500000
0:37 0.600000
0:37 Constant:
-0:37 0.500000
-0:37 Constant:
0:37 1 (const int)
0:37 -1 (const int)
+0:37 Constant:
+0:37 0.500000
0:39 Sequence
0:39 move second child to first child ( temp 4-component vector of float)
0:39 'txval30' ( temp 4-component vector of float)
@@ -102,11 +102,11 @@
0:39 0.200000
0:39 0.300000
0:39 Constant:
-0:39 0.500000
-0:39 Constant:
0:39 1 (const int)
0:39 0 (const int)
0:39 1 (const int)
+0:39 Constant:
+0:39 0.500000
0:40 Sequence
0:40 move second child to first child ( temp 4-component vector of int)
0:40 'txval31' ( temp 4-component vector of int)
@@ -119,11 +119,11 @@
0:40 0.500000
0:40 0.600000
0:40 Constant:
-0:40 0.500000
+0:40 1 (const int)
+0:40 1 (const int)
+0:40 1 (const int)
0:40 Constant:
-0:40 1 (const int)
-0:40 1 (const int)
-0:40 1 (const int)
+0:40 0.500000
0:41 Sequence
0:41 move second child to first child ( temp 4-component vector of uint)
0:41 'txval32' ( temp 4-component vector of uint)
@@ -136,11 +136,11 @@
0:41 0.800000
0:41 0.900000
0:41 Constant:
-0:41 0.500000
-0:41 Constant:
0:41 1 (const int)
0:41 0 (const int)
0:41 -1 (const int)
+0:41 Constant:
+0:41 0.500000
0:45 move second child to first child ( temp 4-component vector of float)
0:45 Color: direct index for structure ( temp 4-component vector of float)
0:45 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
@@ -218,9 +218,9 @@
0:31 Constant:
0:31 0.100000
0:31 Constant:
-0:31 0.500000
-0:31 Constant:
0:31 1 (const int)
+0:31 Constant:
+0:31 0.500000
0:32 Sequence
0:32 move second child to first child ( temp 4-component vector of int)
0:32 'txval11' ( temp 4-component vector of int)
@@ -231,9 +231,9 @@
0:32 Constant:
0:32 0.200000
0:32 Constant:
-0:32 0.500000
-0:32 Constant:
0:32 1 (const int)
+0:32 Constant:
+0:32 0.500000
0:33 Sequence
0:33 move second child to first child ( temp 4-component vector of uint)
0:33 'txval12' ( temp 4-component vector of uint)
@@ -244,9 +244,9 @@
0:33 Constant:
0:33 0.300000
0:33 Constant:
-0:33 0.500000
-0:33 Constant:
0:33 1 (const int)
+0:33 Constant:
+0:33 0.500000
0:35 Sequence
0:35 move second child to first child ( temp 4-component vector of float)
0:35 'txval20' ( temp 4-component vector of float)
@@ -258,10 +258,10 @@
0:35 0.100000
0:35 0.200000
0:35 Constant:
-0:35 0.500000
-0:35 Constant:
0:35 1 (const int)
0:35 0 (const int)
+0:35 Constant:
+0:35 0.500000
0:36 Sequence
0:36 move second child to first child ( temp 4-component vector of int)
0:36 'txval21' ( temp 4-component vector of int)
@@ -273,10 +273,10 @@
0:36 0.300000
0:36 0.400000
0:36 Constant:
-0:36 0.500000
+0:36 1 (const int)
+0:36 1 (const int)
0:36 Constant:
-0:36 1 (const int)
-0:36 1 (const int)
+0:36 0.500000
0:37 Sequence
0:37 move second child to first child ( temp 4-component vector of uint)
0:37 'txval22' ( temp 4-component vector of uint)
@@ -288,10 +288,10 @@
0:37 0.500000
0:37 0.600000
0:37 Constant:
-0:37 0.500000
-0:37 Constant:
0:37 1 (const int)
0:37 -1 (const int)
+0:37 Constant:
+0:37 0.500000
0:39 Sequence
0:39 move second child to first child ( temp 4-component vector of float)
0:39 'txval30' ( temp 4-component vector of float)
@@ -304,11 +304,11 @@
0:39 0.200000
0:39 0.300000
0:39 Constant:
-0:39 0.500000
-0:39 Constant:
0:39 1 (const int)
0:39 0 (const int)
0:39 1 (const int)
+0:39 Constant:
+0:39 0.500000
0:40 Sequence
0:40 move second child to first child ( temp 4-component vector of int)
0:40 'txval31' ( temp 4-component vector of int)
@@ -321,11 +321,11 @@
0:40 0.500000
0:40 0.600000
0:40 Constant:
-0:40 0.500000
+0:40 1 (const int)
+0:40 1 (const int)
+0:40 1 (const int)
0:40 Constant:
-0:40 1 (const int)
-0:40 1 (const int)
-0:40 1 (const int)
+0:40 0.500000
0:41 Sequence
0:41 move second child to first child ( temp 4-component vector of uint)
0:41 'txval32' ( temp 4-component vector of uint)
@@ -338,11 +338,11 @@
0:41 0.800000
0:41 0.900000
0:41 Constant:
-0:41 0.500000
-0:41 Constant:
0:41 1 (const int)
0:41 0 (const int)
0:41 -1 (const int)
+0:41 Constant:
+0:41 0.500000
0:45 move second child to first child ( temp 4-component vector of float)
0:45 Color: direct index for structure ( temp 4-component vector of float)
0:45 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
@@ -399,7 +399,6 @@
0:? '@entryPointOutput.Depth' ( out float FragDepth)
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
-Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 161
@@ -489,12 +488,12 @@
20(g_sSamp): 19(ptr) Variable UniformConstant
22: TypeSampledImage 14
24: 6(float) Constant 1036831949
- 25: 6(float) Constant 1056964608
- 26: TypeInt 32 1
- 27: 26(int) Constant 1
- 29: TypeVector 26(int) 4
+ 25: TypeInt 32 1
+ 26: 25(int) Constant 1
+ 27: 6(float) Constant 1056964608
+ 29: TypeVector 25(int) 4
30: TypePointer Function 29(ivec4)
- 32: TypeImage 26(int) 1D sampled format:Unknown
+ 32: TypeImage 25(int) 1D sampled format:Unknown
33: TypePointer UniformConstant 32
34(g_tTex1di4): 33(ptr) Variable UniformConstant
37: TypeSampledImage 32
@@ -513,38 +512,38 @@
60: TypeSampledImage 55
62: TypeVector 6(float) 2
63: 62(fvec2) ConstantComposite 24 39
- 64: TypeVector 26(int) 2
- 65: 26(int) Constant 0
- 66: 64(ivec2) ConstantComposite 27 65
- 69: TypeImage 26(int) 2D sampled format:Unknown
+ 64: TypeVector 25(int) 2
+ 65: 25(int) Constant 0
+ 66: 64(ivec2) ConstantComposite 26 65
+ 69: TypeImage 25(int) 2D sampled format:Unknown
70: TypePointer UniformConstant 69
71(g_tTex2di4): 70(ptr) Variable UniformConstant
74: TypeSampledImage 69
76: 6(float) Constant 1053609165
77: 62(fvec2) ConstantComposite 52 76
- 78: 64(ivec2) ConstantComposite 27 27
+ 78: 64(ivec2) ConstantComposite 26 26
81: TypeImage 41(int) 2D sampled format:Unknown
82: TypePointer UniformConstant 81
83(g_tTex2du4): 82(ptr) Variable UniformConstant
86: TypeSampledImage 81
88: 6(float) Constant 1058642330
- 89: 62(fvec2) ConstantComposite 25 88
- 90: 26(int) Constant 4294967295
- 91: 64(ivec2) ConstantComposite 27 90
+ 89: 62(fvec2) ConstantComposite 27 88
+ 90: 25(int) Constant 4294967295
+ 91: 64(ivec2) ConstantComposite 26 90
94: TypeImage 6(float) 3D sampled format:Unknown
95: TypePointer UniformConstant 94
96(g_tTex3df4): 95(ptr) Variable UniformConstant
99: TypeSampledImage 94
101: TypeVector 6(float) 3
102: 101(fvec3) ConstantComposite 24 39 52
- 103: TypeVector 26(int) 3
- 104: 103(ivec3) ConstantComposite 27 65 27
- 107: TypeImage 26(int) 3D sampled format:Unknown
+ 103: TypeVector 25(int) 3
+ 104: 103(ivec3) ConstantComposite 26 65 26
+ 107: TypeImage 25(int) 3D sampled format:Unknown
108: TypePointer UniformConstant 107
109(g_tTex3di4): 108(ptr) Variable UniformConstant
112: TypeSampledImage 107
- 114: 101(fvec3) ConstantComposite 76 25 88
- 115: 103(ivec3) ConstantComposite 27 27 27
+ 114: 101(fvec3) ConstantComposite 76 27 88
+ 115: 103(ivec3) ConstantComposite 26 26 26
118: TypeImage 41(int) 3D sampled format:Unknown
119: TypePointer UniformConstant 118
120(g_tTex3du4): 119(ptr) Variable UniformConstant
@@ -553,7 +552,7 @@
126: 6(float) Constant 1061997773
127: 6(float) Constant 1063675494
128: 101(fvec3) ConstantComposite 125 126 127
- 129: 103(ivec3) ConstantComposite 27 65 90
+ 129: 103(ivec3) ConstantComposite 26 65 90
131: TypePointer Function 8(PS_OUTPUT)
133: 6(float) Constant 1065353216
134: 7(fvec4) ConstantComposite 133 133 133 133
@@ -566,7 +565,7 @@
152: TypeImage 6(float) Cube sampled format:Unknown
153: TypePointer UniformConstant 152
154(g_tTexcdf4): 153(ptr) Variable UniformConstant
- 155: TypeImage 26(int) Cube sampled format:Unknown
+ 155: TypeImage 25(int) Cube sampled format:Unknown
156: TypePointer UniformConstant 155
157(g_tTexcdi4): 156(ptr) Variable UniformConstant
158: TypeImage 41(int) Cube sampled format:Unknown
@@ -580,7 +579,7 @@
145: 12(ptr) AccessChain 141(flattenTemp) 65
146: 7(fvec4) Load 145
Store 144(@entryPointOutput.Color) 146
- 149: 136(ptr) AccessChain 141(flattenTemp) 27
+ 149: 136(ptr) AccessChain 141(flattenTemp) 26
150: 6(float) Load 149
Store 148(@entryPointOutput.Depth) 150
Return
@@ -600,51 +599,51 @@
17: 14 Load 16(g_tTex1df4)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
- 28: 7(fvec4) ImageSampleImplicitLod 23 24 Bias ConstOffset 27 25
+ 28: 7(fvec4) ImageSampleImplicitLod 23 24 Bias ConstOffset 27 26
Store 13(txval10) 28
35: 32 Load 34(g_tTex1di4)
36: 18 Load 20(g_sSamp)
38: 37 SampledImage 35 36
- 40: 29(ivec4) ImageSampleImplicitLod 38 39 Bias ConstOffset 27 25
+ 40: 29(ivec4) ImageSampleImplicitLod 38 39 Bias ConstOffset 27 26
Store 31(txval11) 40
48: 45 Load 47(g_tTex1du4)
49: 18 Load 20(g_sSamp)
51: 50 SampledImage 48 49
- 53: 42(ivec4) ImageSampleImplicitLod 51 52 Bias ConstOffset 27 25
+ 53: 42(ivec4) ImageSampleImplicitLod 51 52 Bias ConstOffset 27 26
Store 44(txval12) 53
58: 55 Load 57(g_tTex2df4)
59: 18 Load 20(g_sSamp)
61: 60 SampledImage 58 59
- 67: 7(fvec4) ImageSampleImplicitLod 61 63 Bias ConstOffset 66 25
+ 67: 7(fvec4) ImageSampleImplicitLod 61 63 Bias ConstOffset 27 66
Store 54(txval20) 67
72: 69 Load 71(g_tTex2di4)
73: 18 Load 20(g_sSamp)
75: 74 SampledImage 72 73
- 79: 29(ivec4) ImageSampleImplicitLod 75 77 Bias ConstOffset 78 25
+ 79: 29(ivec4) ImageSampleImplicitLod 75 77 Bias ConstOffset 27 78
Store 68(txval21) 79
84: 81 Load 83(g_tTex2du4)
85: 18 Load 20(g_sSamp)
87: 86 SampledImage 84 85
- 92: 42(ivec4) ImageSampleImplicitLod 87 89 Bias ConstOffset 91 25
+ 92: 42(ivec4) ImageSampleImplicitLod 87 89 Bias ConstOffset 27 91
Store 80(txval22) 92
97: 94 Load 96(g_tTex3df4)
98: 18 Load 20(g_sSamp)
100: 99 SampledImage 97 98
- 105: 7(fvec4) ImageSampleImplicitLod 100 102 Bias ConstOffset 104 25
+ 105: 7(fvec4) ImageSampleImplicitLod 100 102 Bias ConstOffset 27 104
Store 93(txval30) 105
110: 107 Load 109(g_tTex3di4)
111: 18 Load 20(g_sSamp)
113: 112 SampledImage 110 111
- 116: 29(ivec4) ImageSampleImplicitLod 113 114 Bias ConstOffset 115 25
+ 116: 29(ivec4) ImageSampleImplicitLod 113 114 Bias ConstOffset 27 115
Store 106(txval31) 116
121: 118 Load 120(g_tTex3du4)
122: 18 Load 20(g_sSamp)
124: 123 SampledImage 121 122
- 130: 42(ivec4) ImageSampleImplicitLod 124 128 Bias ConstOffset 129 25
+ 130: 42(ivec4) ImageSampleImplicitLod 124 128 Bias ConstOffset 27 129
Store 117(txval32) 130
135: 12(ptr) AccessChain 132(psout) 65
Store 135 134
- 137: 136(ptr) AccessChain 132(psout) 27
+ 137: 136(ptr) AccessChain 132(psout) 26
Store 137 133
138:8(PS_OUTPUT) Load 132(psout)
ReturnValue 138
diff --git a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
index f5aff67..a5bb613 100644
--- a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
@@ -17,9 +17,9 @@
0:23 0.100000
0:23 0.200000
0:23 Constant:
-0:23 0.500000
-0:23 Constant:
0:23 0 (const int)
+0:23 Constant:
+0:23 0.500000
0:24 Sequence
0:24 move second child to first child ( temp 4-component vector of int)
0:24 'txval11' ( temp 4-component vector of int)
@@ -31,9 +31,9 @@
0:24 0.200000
0:24 0.300000
0:24 Constant:
-0:24 0.500000
-0:24 Constant:
0:24 1 (const int)
+0:24 Constant:
+0:24 0.500000
0:25 Sequence
0:25 move second child to first child ( temp 4-component vector of uint)
0:25 'txval12' ( temp 4-component vector of uint)
@@ -45,9 +45,9 @@
0:25 0.300000
0:25 0.400000
0:25 Constant:
-0:25 0.500000
-0:25 Constant:
0:25 2 (const int)
+0:25 Constant:
+0:25 0.500000
0:27 Sequence
0:27 move second child to first child ( temp 4-component vector of float)
0:27 'txval20' ( temp 4-component vector of float)
@@ -60,10 +60,10 @@
0:27 0.200000
0:27 0.300000
0:27 Constant:
-0:27 0.500000
+0:27 0 (const int)
+0:27 0 (const int)
0:27 Constant:
-0:27 0 (const int)
-0:27 0 (const int)
+0:27 0.500000
0:28 Sequence
0:28 move second child to first child ( temp 4-component vector of int)
0:28 'txval21' ( temp 4-component vector of int)
@@ -76,10 +76,10 @@
0:28 0.400000
0:28 0.500000
0:28 Constant:
-0:28 0.500000
+0:28 0 (const int)
+0:28 0 (const int)
0:28 Constant:
-0:28 0 (const int)
-0:28 0 (const int)
+0:28 0.500000
0:29 Sequence
0:29 move second child to first child ( temp 4-component vector of uint)
0:29 'txval22' ( temp 4-component vector of uint)
@@ -92,10 +92,10 @@
0:29 0.600000
0:29 0.700000
0:29 Constant:
-0:29 0.500000
-0:29 Constant:
0:29 0 (const int)
0:29 1 (const int)
+0:29 Constant:
+0:29 0.500000
0:33 move second child to first child ( temp 4-component vector of float)
0:33 Color: direct index for structure ( temp 4-component vector of float)
0:33 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
@@ -168,9 +168,9 @@
0:23 0.100000
0:23 0.200000
0:23 Constant:
-0:23 0.500000
-0:23 Constant:
0:23 0 (const int)
+0:23 Constant:
+0:23 0.500000
0:24 Sequence
0:24 move second child to first child ( temp 4-component vector of int)
0:24 'txval11' ( temp 4-component vector of int)
@@ -182,9 +182,9 @@
0:24 0.200000
0:24 0.300000
0:24 Constant:
-0:24 0.500000
-0:24 Constant:
0:24 1 (const int)
+0:24 Constant:
+0:24 0.500000
0:25 Sequence
0:25 move second child to first child ( temp 4-component vector of uint)
0:25 'txval12' ( temp 4-component vector of uint)
@@ -196,9 +196,9 @@
0:25 0.300000
0:25 0.400000
0:25 Constant:
-0:25 0.500000
-0:25 Constant:
0:25 2 (const int)
+0:25 Constant:
+0:25 0.500000
0:27 Sequence
0:27 move second child to first child ( temp 4-component vector of float)
0:27 'txval20' ( temp 4-component vector of float)
@@ -211,10 +211,10 @@
0:27 0.200000
0:27 0.300000
0:27 Constant:
-0:27 0.500000
+0:27 0 (const int)
+0:27 0 (const int)
0:27 Constant:
-0:27 0 (const int)
-0:27 0 (const int)
+0:27 0.500000
0:28 Sequence
0:28 move second child to first child ( temp 4-component vector of int)
0:28 'txval21' ( temp 4-component vector of int)
@@ -227,10 +227,10 @@
0:28 0.400000
0:28 0.500000
0:28 Constant:
-0:28 0.500000
+0:28 0 (const int)
+0:28 0 (const int)
0:28 Constant:
-0:28 0 (const int)
-0:28 0 (const int)
+0:28 0.500000
0:29 Sequence
0:29 move second child to first child ( temp 4-component vector of uint)
0:29 'txval22' ( temp 4-component vector of uint)
@@ -243,10 +243,10 @@
0:29 0.600000
0:29 0.700000
0:29 Constant:
-0:29 0.500000
-0:29 Constant:
0:29 0 (const int)
0:29 1 (const int)
+0:29 Constant:
+0:29 0.500000
0:33 move second child to first child ( temp 4-component vector of float)
0:33 Color: direct index for structure ( temp 4-component vector of float)
0:33 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
@@ -297,7 +297,6 @@
0:? '@entryPointOutput.Depth' ( out float FragDepth)
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
-Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 118
@@ -369,18 +368,18 @@
25: 6(float) Constant 1036831949
26: 6(float) Constant 1045220557
27: 24(fvec2) ConstantComposite 25 26
- 28: 6(float) Constant 1056964608
- 29: TypeInt 32 1
- 30: 29(int) Constant 0
- 32: TypeVector 29(int) 4
+ 28: TypeInt 32 1
+ 29: 28(int) Constant 0
+ 30: 6(float) Constant 1056964608
+ 32: TypeVector 28(int) 4
33: TypePointer Function 32(ivec4)
- 35: TypeImage 29(int) 1D array sampled format:Unknown
+ 35: TypeImage 28(int) 1D array sampled format:Unknown
36: TypePointer UniformConstant 35
37(g_tTex1di4): 36(ptr) Variable UniformConstant
40: TypeSampledImage 35
42: 6(float) Constant 1050253722
43: 24(fvec2) ConstantComposite 26 42
- 44: 29(int) Constant 1
+ 44: 28(int) Constant 1
46: TypeInt 32 0
47: TypeVector 46(int) 4
48: TypePointer Function 47(ivec4)
@@ -390,28 +389,28 @@
55: TypeSampledImage 50
57: 6(float) Constant 1053609165
58: 24(fvec2) ConstantComposite 42 57
- 59: 29(int) Constant 2
+ 59: 28(int) Constant 2
62: TypeImage 6(float) 2D array sampled format:Unknown
63: TypePointer UniformConstant 62
64(g_tTex2df4): 63(ptr) Variable UniformConstant
67: TypeSampledImage 62
69: TypeVector 6(float) 3
70: 69(fvec3) ConstantComposite 25 26 42
- 71: TypeVector 29(int) 2
- 72: 71(ivec2) ConstantComposite 30 30
- 75: TypeImage 29(int) 2D array sampled format:Unknown
+ 71: TypeVector 28(int) 2
+ 72: 71(ivec2) ConstantComposite 29 29
+ 75: TypeImage 28(int) 2D array sampled format:Unknown
76: TypePointer UniformConstant 75
77(g_tTex2di4): 76(ptr) Variable UniformConstant
80: TypeSampledImage 75
- 82: 69(fvec3) ConstantComposite 42 57 28
+ 82: 69(fvec3) ConstantComposite 42 57 30
85: TypeImage 46(int) 2D array sampled format:Unknown
86: TypePointer UniformConstant 85
87(g_tTex2du4): 86(ptr) Variable UniformConstant
90: TypeSampledImage 85
92: 6(float) Constant 1058642330
93: 6(float) Constant 1060320051
- 94: 69(fvec3) ConstantComposite 28 92 93
- 95: 71(ivec2) ConstantComposite 30 44
+ 94: 69(fvec3) ConstantComposite 30 92 93
+ 95: 71(ivec2) ConstantComposite 29 44
97: TypePointer Function 8(PS_OUTPUT)
99: 6(float) Constant 1065353216
100: 7(fvec4) ConstantComposite 99 99 99 99
@@ -426,7 +425,7 @@
107(flattenTemp): 97(ptr) Variable Function
108:8(PS_OUTPUT) FunctionCall 10(@main()
Store 107(flattenTemp) 108
- 111: 12(ptr) AccessChain 107(flattenTemp) 30
+ 111: 12(ptr) AccessChain 107(flattenTemp) 29
112: 7(fvec4) Load 111
Store 110(@entryPointOutput.Color) 112
115: 102(ptr) AccessChain 107(flattenTemp) 44
@@ -446,34 +445,34 @@
17: 14 Load 16(g_tTex1df4)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
- 31: 7(fvec4) ImageSampleImplicitLod 23 27 Bias ConstOffset 30 28
+ 31: 7(fvec4) ImageSampleImplicitLod 23 27 Bias ConstOffset 30 29
Store 13(txval10) 31
38: 35 Load 37(g_tTex1di4)
39: 18 Load 20(g_sSamp)
41: 40 SampledImage 38 39
- 45: 32(ivec4) ImageSampleImplicitLod 41 43 Bias ConstOffset 44 28
+ 45: 32(ivec4) ImageSampleImplicitLod 41 43 Bias ConstOffset 30 44
Store 34(txval11) 45
53: 50 Load 52(g_tTex1du4)
54: 18 Load 20(g_sSamp)
56: 55 SampledImage 53 54
- 60: 47(ivec4) ImageSampleImplicitLod 56 58 Bias ConstOffset 59 28
+ 60: 47(ivec4) ImageSampleImplicitLod 56 58 Bias ConstOffset 30 59
Store 49(txval12) 60
65: 62 Load 64(g_tTex2df4)
66: 18 Load 20(g_sSamp)
68: 67 SampledImage 65 66
- 73: 7(fvec4) ImageSampleImplicitLod 68 70 Bias ConstOffset 72 28
+ 73: 7(fvec4) ImageSampleImplicitLod 68 70 Bias ConstOffset 30 72
Store 61(txval20) 73
78: 75 Load 77(g_tTex2di4)
79: 18 Load 20(g_sSamp)
81: 80 SampledImage 78 79
- 83: 32(ivec4) ImageSampleImplicitLod 81 82 Bias ConstOffset 72 28
+ 83: 32(ivec4) ImageSampleImplicitLod 81 82 Bias ConstOffset 30 72
Store 74(txval21) 83
88: 85 Load 87(g_tTex2du4)
89: 18 Load 20(g_sSamp)
91: 90 SampledImage 88 89
- 96: 47(ivec4) ImageSampleImplicitLod 91 94 Bias ConstOffset 95 28
+ 96: 47(ivec4) ImageSampleImplicitLod 91 94 Bias ConstOffset 30 95
Store 84(txval22) 96
- 101: 12(ptr) AccessChain 98(psout) 30
+ 101: 12(ptr) AccessChain 98(psout) 29
Store 101 100
103: 102(ptr) AccessChain 98(psout) 44
Store 103 99
diff --git a/Test/baseResults/hlsl.spv.1.6.discard.frag.out b/Test/baseResults/hlsl.spv.1.6.discard.frag.out
new file mode 100644
index 0000000..d521914
--- /dev/null
+++ b/Test/baseResults/hlsl.spv.1.6.discard.frag.out
@@ -0,0 +1,195 @@
+hlsl.spv.1.6.discard.frag
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:2 Function Definition: foo(f1; ( temp void)
+0:2 Function Parameters:
+0:2 'f' ( in float)
+0:? Sequence
+0:3 Test condition and select ( temp void)
+0:3 Condition
+0:3 Compare Less Than ( temp bool)
+0:3 'f' ( in float)
+0:3 Constant:
+0:3 1.000000
+0:3 true case
+0:4 Branch: Kill
+0:8 Function Definition: @PixelShaderFunction(vf4; ( temp void)
+0:8 Function Parameters:
+0:8 'input' ( in 4-component vector of float)
+0:? Sequence
+0:9 Function Call: foo(f1; ( temp void)
+0:9 direct index ( temp float)
+0:9 'input' ( in 4-component vector of float)
+0:9 Constant:
+0:9 2 (const int)
+0:10 Test condition and select ( temp void)
+0:10 Condition
+0:10 Convert float to bool ( temp bool)
+0:10 direct index ( temp float)
+0:10 'input' ( in 4-component vector of float)
+0:10 Constant:
+0:10 0 (const int)
+0:10 true case
+0:11 Branch: Kill
+0:12 Sequence
+0:12 move second child to first child ( temp float)
+0:12 'f' ( temp float)
+0:12 direct index ( temp float)
+0:12 'input' ( in 4-component vector of float)
+0:12 Constant:
+0:12 0 (const int)
+0:13 Branch: Kill
+0:8 Function Definition: PixelShaderFunction( ( temp void)
+0:8 Function Parameters:
+0:? Sequence
+0:8 move second child to first child ( temp 4-component vector of float)
+0:? 'input' ( temp 4-component vector of float)
+0:? 'input' (layout( location=0) in 4-component vector of float)
+0:8 Function Call: @PixelShaderFunction(vf4; ( temp void)
+0:? 'input' ( temp 4-component vector of float)
+0:? Linker Objects
+0:? 'input' (layout( location=0) in 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:2 Function Definition: foo(f1; ( temp void)
+0:2 Function Parameters:
+0:2 'f' ( in float)
+0:? Sequence
+0:3 Test condition and select ( temp void)
+0:3 Condition
+0:3 Compare Less Than ( temp bool)
+0:3 'f' ( in float)
+0:3 Constant:
+0:3 1.000000
+0:3 true case
+0:4 Branch: Kill
+0:8 Function Definition: @PixelShaderFunction(vf4; ( temp void)
+0:8 Function Parameters:
+0:8 'input' ( in 4-component vector of float)
+0:? Sequence
+0:9 Function Call: foo(f1; ( temp void)
+0:9 direct index ( temp float)
+0:9 'input' ( in 4-component vector of float)
+0:9 Constant:
+0:9 2 (const int)
+0:10 Test condition and select ( temp void)
+0:10 Condition
+0:10 Convert float to bool ( temp bool)
+0:10 direct index ( temp float)
+0:10 'input' ( in 4-component vector of float)
+0:10 Constant:
+0:10 0 (const int)
+0:10 true case
+0:11 Branch: Kill
+0:12 Sequence
+0:12 move second child to first child ( temp float)
+0:12 'f' ( temp float)
+0:12 direct index ( temp float)
+0:12 'input' ( in 4-component vector of float)
+0:12 Constant:
+0:12 0 (const int)
+0:13 Branch: Kill
+0:8 Function Definition: PixelShaderFunction( ( temp void)
+0:8 Function Parameters:
+0:? Sequence
+0:8 move second child to first child ( temp 4-component vector of float)
+0:? 'input' ( temp 4-component vector of float)
+0:? 'input' (layout( location=0) in 4-component vector of float)
+0:8 Function Call: @PixelShaderFunction(vf4; ( temp void)
+0:? 'input' ( temp 4-component vector of float)
+0:? Linker Objects
+0:? 'input' (layout( location=0) in 4-component vector of float)
+
+// Module Version 10600
+// Generated by (magic number): 8000a
+// Id's are bound by 47
+
+ Capability Shader
+ Capability DemoteToHelperInvocationEXT
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "PixelShaderFunction" 42
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 500
+ Name 4 "PixelShaderFunction"
+ Name 10 "foo(f1;"
+ Name 9 "f"
+ Name 16 "@PixelShaderFunction(vf4;"
+ Name 15 "input"
+ Name 24 "param"
+ Name 37 "f"
+ Name 40 "input"
+ Name 42 "input"
+ Name 44 "param"
+ Decorate 42(input) Location 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 8: TypeFunction 2 7(ptr)
+ 12: TypeVector 6(float) 4
+ 13: TypePointer Function 12(fvec4)
+ 14: TypeFunction 2 13(ptr)
+ 19: 6(float) Constant 1065353216
+ 20: TypeBool
+ 25: TypeInt 32 0
+ 26: 25(int) Constant 2
+ 30: 25(int) Constant 0
+ 33: 6(float) Constant 0
+ 41: TypePointer Input 12(fvec4)
+ 42(input): 41(ptr) Variable Input
+4(PixelShaderFunction): 2 Function None 3
+ 5: Label
+ 40(input): 13(ptr) Variable Function
+ 44(param): 13(ptr) Variable Function
+ 43: 12(fvec4) Load 42(input)
+ Store 40(input) 43
+ 45: 12(fvec4) Load 40(input)
+ Store 44(param) 45
+ 46: 2 FunctionCall 16(@PixelShaderFunction(vf4;) 44(param)
+ Return
+ FunctionEnd
+ 10(foo(f1;): 2 Function None 8
+ 9(f): 7(ptr) FunctionParameter
+ 11: Label
+ 18: 6(float) Load 9(f)
+ 21: 20(bool) FOrdLessThan 18 19
+ SelectionMerge 23 None
+ BranchConditional 21 22 23
+ 22: Label
+ DemoteToHelperInvocationEXT
+ Branch 23
+ 23: Label
+ Return
+ FunctionEnd
+16(@PixelShaderFunction(vf4;): 2 Function None 14
+ 15(input): 13(ptr) FunctionParameter
+ 17: Label
+ 24(param): 7(ptr) Variable Function
+ 37(f): 7(ptr) Variable Function
+ 27: 7(ptr) AccessChain 15(input) 26
+ 28: 6(float) Load 27
+ Store 24(param) 28
+ 29: 2 FunctionCall 10(foo(f1;) 24(param)
+ 31: 7(ptr) AccessChain 15(input) 30
+ 32: 6(float) Load 31
+ 34: 20(bool) FUnordNotEqual 32 33
+ SelectionMerge 36 None
+ BranchConditional 34 35 36
+ 35: Label
+ DemoteToHelperInvocationEXT
+ Branch 36
+ 36: Label
+ 38: 7(ptr) AccessChain 15(input) 30
+ 39: 6(float) Load 38
+ Store 37(f) 39
+ DemoteToHelperInvocationEXT
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out b/Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out
new file mode 100644
index 0000000..127d52c
--- /dev/null
+++ b/Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out
@@ -0,0 +1,140 @@
+hlsl.structbuffer.rwbyte2.comp
+Shader version: 500
+local_size = (1, 1, 1)
+0:? Sequence
+0:6 Function Definition: @main( ( temp void)
+0:6 Function Parameters:
+0:? Sequence
+0:7 Sequence
+0:7 move second child to first child ( temp uint)
+0:7 'f' ( temp uint)
+0:7 indirect index (layout( row_major std430) buffer uint)
+0:7 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
+0:7 'g_bbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
+0:7 Constant:
+0:7 0 (const uint)
+0:7 right-shift ( temp int)
+0:7 Constant:
+0:7 16 (const int)
+0:7 Constant:
+0:7 2 (const int)
+0:8 move second child to first child ( temp uint)
+0:8 direct index (layout( row_major std430) buffer uint)
+0:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
+0:8 'g_sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
+0:8 Constant:
+0:8 0 (const uint)
+0:8 Constant:
+0:8 0 (const int)
+0:8 'f' ( temp uint)
+0:6 Function Definition: main( ( temp void)
+0:6 Function Parameters:
+0:? Sequence
+0:6 Function Call: @main( ( temp void)
+0:? Linker Objects
+0:? 'g_sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
+0:? 'g_bbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
+
+
+Linked compute stage:
+
+
+Shader version: 500
+local_size = (1, 1, 1)
+0:? Sequence
+0:6 Function Definition: @main( ( temp void)
+0:6 Function Parameters:
+0:? Sequence
+0:7 Sequence
+0:7 move second child to first child ( temp uint)
+0:7 'f' ( temp uint)
+0:7 indirect index (layout( row_major std430) buffer uint)
+0:7 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
+0:7 'g_bbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
+0:7 Constant:
+0:7 0 (const uint)
+0:7 right-shift ( temp int)
+0:7 Constant:
+0:7 16 (const int)
+0:7 Constant:
+0:7 2 (const int)
+0:8 move second child to first child ( temp uint)
+0:8 direct index (layout( row_major std430) buffer uint)
+0:8 @data: direct index for structure (layout( row_major std430) buffer unsized 1-element array of uint)
+0:8 'g_sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
+0:8 Constant:
+0:8 0 (const uint)
+0:8 Constant:
+0:8 0 (const int)
+0:8 'f' ( temp uint)
+0:6 Function Definition: main( ( temp void)
+0:6 Function Parameters:
+0:? Sequence
+0:6 Function Call: @main( ( temp void)
+0:? Linker Objects
+0:? 'g_sbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
+0:? 'g_bbuf' (layout( row_major std430) buffer block{layout( row_major std430) buffer unsized 1-element array of uint @data})
+
+// Module Version 10000
+// Generated by (magic number): 8000a
+// Id's are bound by 30
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint GLCompute 4 "main"
+ ExecutionMode 4 LocalSize 1 1 1
+ Source HLSL 500
+ Name 4 "main"
+ Name 6 "@main("
+ Name 10 "f"
+ Name 12 "g_bbuf"
+ MemberName 12(g_bbuf) 0 "@data"
+ Name 14 "g_bbuf"
+ Name 24 "g_sbuf"
+ MemberName 24(g_sbuf) 0 "@data"
+ Name 26 "g_sbuf"
+ Decorate 11 ArrayStride 4
+ MemberDecorate 12(g_bbuf) 0 Offset 0
+ Decorate 12(g_bbuf) BufferBlock
+ Decorate 14(g_bbuf) DescriptorSet 0
+ Decorate 14(g_bbuf) Binding 1
+ Decorate 23 ArrayStride 4
+ MemberDecorate 24(g_sbuf) 0 Offset 0
+ Decorate 24(g_sbuf) BufferBlock
+ Decorate 26(g_sbuf) DescriptorSet 0
+ Decorate 26(g_sbuf) Binding 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 8: TypeInt 32 0
+ 9: TypePointer Function 8(int)
+ 11: TypeRuntimeArray 8(int)
+ 12(g_bbuf): TypeStruct 11
+ 13: TypePointer Uniform 12(g_bbuf)
+ 14(g_bbuf): 13(ptr) Variable Uniform
+ 15: TypeInt 32 1
+ 16: 15(int) Constant 0
+ 17: 15(int) Constant 16
+ 18: 15(int) Constant 2
+ 20: TypePointer Uniform 8(int)
+ 23: TypeRuntimeArray 8(int)
+ 24(g_sbuf): TypeStruct 23
+ 25: TypePointer Uniform 24(g_sbuf)
+ 26(g_sbuf): 25(ptr) Variable Uniform
+ 4(main): 2 Function None 3
+ 5: Label
+ 29: 2 FunctionCall 6(@main()
+ Return
+ FunctionEnd
+ 6(@main(): 2 Function None 3
+ 7: Label
+ 10(f): 9(ptr) Variable Function
+ 19: 15(int) ShiftRightArithmetic 17 18
+ 21: 20(ptr) AccessChain 14(g_bbuf) 16 19
+ 22: 8(int) Load 21
+ Store 10(f) 22
+ 27: 8(int) Load 10(f)
+ 28: 20(ptr) AccessChain 26(g_sbuf) 16 16
+ Store 28 27
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/hlsl.w-recip.frag.out b/Test/baseResults/hlsl.w-recip.frag.out
new file mode 100644
index 0000000..b72f361
--- /dev/null
+++ b/Test/baseResults/hlsl.w-recip.frag.out
@@ -0,0 +1,268 @@
+hlsl.w-recip.frag
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:5 Function Definition: @main(vf4; ( temp 4-component vector of float)
+0:5 Function Parameters:
+0:5 'vpos' ( in 4-component vector of float)
+0:? Sequence
+0:6 Sequence
+0:6 move second child to first child ( temp 4-component vector of float)
+0:6 'vpos_t' ( temp 4-component vector of float)
+0:6 Construct vec4 ( temp 4-component vector of float)
+0:6 vector swizzle ( temp 3-component vector of float)
+0:6 'vpos' ( in 4-component vector of float)
+0:6 Sequence
+0:6 Constant:
+0:6 0 (const int)
+0:6 Constant:
+0:6 1 (const int)
+0:6 Constant:
+0:6 2 (const int)
+0:6 divide ( temp float)
+0:6 Constant:
+0:6 1.000000
+0:6 direct index ( temp float)
+0:6 'vpos' ( in 4-component vector of float)
+0:6 Constant:
+0:6 3 (const int)
+0:7 Test condition and select ( temp void)
+0:7 Condition
+0:7 Compare Less Than ( temp bool)
+0:7 direct index ( temp float)
+0:7 'vpos_t' ( temp 4-component vector of float)
+0:7 Constant:
+0:7 0 (const int)
+0:7 Constant:
+0:7 400.000000
+0:7 true case
+0:8 Branch: Return with expression
+0:8 AmbientColor: direct index for structure ( uniform 4-component vector of float)
+0:8 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
+0:8 Constant:
+0:8 0 (const uint)
+0:7 false case
+0:10 Branch: Return with expression
+0:10 AmbientColor2: direct index for structure ( uniform 4-component vector of float)
+0:10 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
+0:10 Constant:
+0:10 1 (const uint)
+0:5 Function Definition: main( ( temp void)
+0:5 Function Parameters:
+0:? Sequence
+0:5 move second child to first child ( temp 4-component vector of float)
+0:? 'vpos' ( temp 4-component vector of float)
+0:5 Construct vec4 ( temp 4-component vector of float)
+0:5 vector swizzle ( temp 3-component vector of float)
+0:? 'vpos' ( in 4-component vector of float FragCoord)
+0:5 Sequence
+0:5 Constant:
+0:5 0 (const int)
+0:5 Constant:
+0:5 1 (const int)
+0:5 Constant:
+0:5 2 (const int)
+0:5 divide ( temp float)
+0:5 Constant:
+0:5 1.000000
+0:5 direct index ( temp float)
+0:? 'vpos' ( in 4-component vector of float FragCoord)
+0:5 Constant:
+0:5 3 (const int)
+0:5 move second child to first child ( temp 4-component vector of float)
+0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:5 Function Call: @main(vf4; ( temp 4-component vector of float)
+0:? 'vpos' ( temp 4-component vector of float)
+0:? Linker Objects
+0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
+0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:? 'vpos' ( in 4-component vector of float FragCoord)
+
+
+Linked fragment stage:
+
+
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:5 Function Definition: @main(vf4; ( temp 4-component vector of float)
+0:5 Function Parameters:
+0:5 'vpos' ( in 4-component vector of float)
+0:? Sequence
+0:6 Sequence
+0:6 move second child to first child ( temp 4-component vector of float)
+0:6 'vpos_t' ( temp 4-component vector of float)
+0:6 Construct vec4 ( temp 4-component vector of float)
+0:6 vector swizzle ( temp 3-component vector of float)
+0:6 'vpos' ( in 4-component vector of float)
+0:6 Sequence
+0:6 Constant:
+0:6 0 (const int)
+0:6 Constant:
+0:6 1 (const int)
+0:6 Constant:
+0:6 2 (const int)
+0:6 divide ( temp float)
+0:6 Constant:
+0:6 1.000000
+0:6 direct index ( temp float)
+0:6 'vpos' ( in 4-component vector of float)
+0:6 Constant:
+0:6 3 (const int)
+0:7 Test condition and select ( temp void)
+0:7 Condition
+0:7 Compare Less Than ( temp bool)
+0:7 direct index ( temp float)
+0:7 'vpos_t' ( temp 4-component vector of float)
+0:7 Constant:
+0:7 0 (const int)
+0:7 Constant:
+0:7 400.000000
+0:7 true case
+0:8 Branch: Return with expression
+0:8 AmbientColor: direct index for structure ( uniform 4-component vector of float)
+0:8 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
+0:8 Constant:
+0:8 0 (const uint)
+0:7 false case
+0:10 Branch: Return with expression
+0:10 AmbientColor2: direct index for structure ( uniform 4-component vector of float)
+0:10 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
+0:10 Constant:
+0:10 1 (const uint)
+0:5 Function Definition: main( ( temp void)
+0:5 Function Parameters:
+0:? Sequence
+0:5 move second child to first child ( temp 4-component vector of float)
+0:? 'vpos' ( temp 4-component vector of float)
+0:5 Construct vec4 ( temp 4-component vector of float)
+0:5 vector swizzle ( temp 3-component vector of float)
+0:? 'vpos' ( in 4-component vector of float FragCoord)
+0:5 Sequence
+0:5 Constant:
+0:5 0 (const int)
+0:5 Constant:
+0:5 1 (const int)
+0:5 Constant:
+0:5 2 (const int)
+0:5 divide ( temp float)
+0:5 Constant:
+0:5 1.000000
+0:5 direct index ( temp float)
+0:? 'vpos' ( in 4-component vector of float FragCoord)
+0:5 Constant:
+0:5 3 (const int)
+0:5 move second child to first child ( temp 4-component vector of float)
+0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:5 Function Call: @main(vf4; ( temp 4-component vector of float)
+0:? 'vpos' ( temp 4-component vector of float)
+0:? Linker Objects
+0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
+0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:? 'vpos' ( in 4-component vector of float FragCoord)
+
+// Module Version 10000
+// Generated by (magic number): 8000a
+// Id's are bound by 69
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 53 65
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 500
+ Name 4 "main"
+ Name 11 "@main(vf4;"
+ Name 10 "vpos"
+ Name 13 "vpos_t"
+ Name 36 "$Global"
+ MemberName 36($Global) 0 "AmbientColor"
+ MemberName 36($Global) 1 "AmbientColor2"
+ Name 38 ""
+ Name 51 "vpos"
+ Name 53 "vpos"
+ Name 65 "@entryPointOutput"
+ Name 66 "param"
+ MemberDecorate 36($Global) 0 Offset 0
+ MemberDecorate 36($Global) 1 Offset 16
+ Decorate 36($Global) Block
+ Decorate 38 DescriptorSet 0
+ Decorate 38 Binding 0
+ Decorate 53(vpos) BuiltIn FragCoord
+ Decorate 65(@entryPointOutput) Location 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 9: TypeFunction 7(fvec4) 8(ptr)
+ 14: TypeVector 6(float) 3
+ 17: 6(float) Constant 1065353216
+ 18: TypeInt 32 0
+ 19: 18(int) Constant 3
+ 20: TypePointer Function 6(float)
+ 28: 18(int) Constant 0
+ 31: 6(float) Constant 1137180672
+ 32: TypeBool
+ 36($Global): TypeStruct 7(fvec4) 7(fvec4)
+ 37: TypePointer Uniform 36($Global)
+ 38: 37(ptr) Variable Uniform
+ 39: TypeInt 32 1
+ 40: 39(int) Constant 0
+ 41: TypePointer Uniform 7(fvec4)
+ 46: 39(int) Constant 1
+ 52: TypePointer Input 7(fvec4)
+ 53(vpos): 52(ptr) Variable Input
+ 56: TypePointer Input 6(float)
+ 64: TypePointer Output 7(fvec4)
+65(@entryPointOutput): 64(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 51(vpos): 8(ptr) Variable Function
+ 66(param): 8(ptr) Variable Function
+ 54: 7(fvec4) Load 53(vpos)
+ 55: 14(fvec3) VectorShuffle 54 54 0 1 2
+ 57: 56(ptr) AccessChain 53(vpos) 19
+ 58: 6(float) Load 57
+ 59: 6(float) FDiv 17 58
+ 60: 6(float) CompositeExtract 55 0
+ 61: 6(float) CompositeExtract 55 1
+ 62: 6(float) CompositeExtract 55 2
+ 63: 7(fvec4) CompositeConstruct 60 61 62 59
+ Store 51(vpos) 63
+ 67: 7(fvec4) Load 51(vpos)
+ Store 66(param) 67
+ 68: 7(fvec4) FunctionCall 11(@main(vf4;) 66(param)
+ Store 65(@entryPointOutput) 68
+ Return
+ FunctionEnd
+ 11(@main(vf4;): 7(fvec4) Function None 9
+ 10(vpos): 8(ptr) FunctionParameter
+ 12: Label
+ 13(vpos_t): 8(ptr) Variable Function
+ 15: 7(fvec4) Load 10(vpos)
+ 16: 14(fvec3) VectorShuffle 15 15 0 1 2
+ 21: 20(ptr) AccessChain 10(vpos) 19
+ 22: 6(float) Load 21
+ 23: 6(float) FDiv 17 22
+ 24: 6(float) CompositeExtract 16 0
+ 25: 6(float) CompositeExtract 16 1
+ 26: 6(float) CompositeExtract 16 2
+ 27: 7(fvec4) CompositeConstruct 24 25 26 23
+ Store 13(vpos_t) 27
+ 29: 20(ptr) AccessChain 13(vpos_t) 28
+ 30: 6(float) Load 29
+ 33: 32(bool) FOrdLessThan 30 31
+ SelectionMerge 35 None
+ BranchConditional 33 34 45
+ 34: Label
+ 42: 41(ptr) AccessChain 38 40
+ 43: 7(fvec4) Load 42
+ ReturnValue 43
+ 45: Label
+ 47: 41(ptr) AccessChain 38 46
+ 48: 7(fvec4) Load 47
+ ReturnValue 48
+ 35: Label
+ Unreachable
+ FunctionEnd
diff --git a/Test/baseResults/hlsl.w-recip2.frag.out b/Test/baseResults/hlsl.w-recip2.frag.out
new file mode 100644
index 0000000..6fee15c
--- /dev/null
+++ b/Test/baseResults/hlsl.w-recip2.frag.out
@@ -0,0 +1,305 @@
+hlsl.w-recip2.frag
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:13 Function Definition: @main(struct-VSOutput-vf4-vf3-vf3-vf21; ( temp 4-component vector of float)
+0:13 Function Parameters:
+0:13 'VSOut' ( in structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
+0:? Sequence
+0:14 Test condition and select ( temp void)
+0:14 Condition
+0:14 Compare Less Than ( temp bool)
+0:14 direct index ( temp float)
+0:14 PositionPS: direct index for structure ( temp 4-component vector of float)
+0:14 'VSOut' ( in structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
+0:14 Constant:
+0:14 0 (const int)
+0:14 Constant:
+0:14 0 (const int)
+0:14 Constant:
+0:14 400.000000
+0:14 true case
+0:15 Branch: Return with expression
+0:15 AmbientColor: direct index for structure ( uniform 4-component vector of float)
+0:15 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
+0:15 Constant:
+0:15 0 (const uint)
+0:14 false case
+0:17 Branch: Return with expression
+0:17 AmbientColor2: direct index for structure ( uniform 4-component vector of float)
+0:17 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
+0:17 Constant:
+0:17 1 (const uint)
+0:13 Function Definition: main( ( temp void)
+0:13 Function Parameters:
+0:? Sequence
+0:13 Sequence
+0:13 Sequence
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 '@fragcoord' ( temp 4-component vector of float)
+0:? 'VSOut.PositionPS' ( in 4-component vector of float FragCoord)
+0:13 move second child to first child ( temp float)
+0:13 direct index ( in float FragCoord)
+0:13 '@fragcoord' ( temp 4-component vector of float)
+0:13 Constant:
+0:13 3 (const int)
+0:13 divide ( temp float)
+0:13 Constant:
+0:13 1.000000
+0:13 direct index ( in float FragCoord)
+0:13 '@fragcoord' ( temp 4-component vector of float)
+0:13 Constant:
+0:13 3 (const int)
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 PositionPS: direct index for structure ( temp 4-component vector of float)
+0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
+0:13 Constant:
+0:13 0 (const int)
+0:13 '@fragcoord' ( temp 4-component vector of float)
+0:13 move second child to first child ( temp 3-component vector of float)
+0:13 PosInLightViewSpace: direct index for structure ( temp 3-component vector of float)
+0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
+0:13 Constant:
+0:13 1 (const int)
+0:? 'VSOut.PosInLightViewSpace' (layout( location=0) in 3-component vector of float)
+0:13 move second child to first child ( temp 3-component vector of float)
+0:13 NormalWS: direct index for structure ( temp 3-component vector of float)
+0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
+0:13 Constant:
+0:13 2 (const int)
+0:? 'VSOut.NormalWS' (layout( location=1) in 3-component vector of float)
+0:13 move second child to first child ( temp 2-component vector of float)
+0:13 TexCoord: direct index for structure ( temp 2-component vector of float)
+0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
+0:13 Constant:
+0:13 3 (const int)
+0:? 'VSOut.TexCoord' (layout( location=2) in 2-component vector of float)
+0:13 move second child to first child ( temp 4-component vector of float)
+0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:13 Function Call: @main(struct-VSOutput-vf4-vf3-vf3-vf21; ( temp 4-component vector of float)
+0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
+0:? Linker Objects
+0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
+0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:? 'VSOut.PositionPS' ( in 4-component vector of float FragCoord)
+0:? 'VSOut.PosInLightViewSpace' (layout( location=0) in 3-component vector of float)
+0:? 'VSOut.NormalWS' (layout( location=1) in 3-component vector of float)
+0:? 'VSOut.TexCoord' (layout( location=2) in 2-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:13 Function Definition: @main(struct-VSOutput-vf4-vf3-vf3-vf21; ( temp 4-component vector of float)
+0:13 Function Parameters:
+0:13 'VSOut' ( in structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
+0:? Sequence
+0:14 Test condition and select ( temp void)
+0:14 Condition
+0:14 Compare Less Than ( temp bool)
+0:14 direct index ( temp float)
+0:14 PositionPS: direct index for structure ( temp 4-component vector of float)
+0:14 'VSOut' ( in structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
+0:14 Constant:
+0:14 0 (const int)
+0:14 Constant:
+0:14 0 (const int)
+0:14 Constant:
+0:14 400.000000
+0:14 true case
+0:15 Branch: Return with expression
+0:15 AmbientColor: direct index for structure ( uniform 4-component vector of float)
+0:15 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
+0:15 Constant:
+0:15 0 (const uint)
+0:14 false case
+0:17 Branch: Return with expression
+0:17 AmbientColor2: direct index for structure ( uniform 4-component vector of float)
+0:17 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
+0:17 Constant:
+0:17 1 (const uint)
+0:13 Function Definition: main( ( temp void)
+0:13 Function Parameters:
+0:? Sequence
+0:13 Sequence
+0:13 Sequence
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 '@fragcoord' ( temp 4-component vector of float)
+0:? 'VSOut.PositionPS' ( in 4-component vector of float FragCoord)
+0:13 move second child to first child ( temp float)
+0:13 direct index ( in float FragCoord)
+0:13 '@fragcoord' ( temp 4-component vector of float)
+0:13 Constant:
+0:13 3 (const int)
+0:13 divide ( temp float)
+0:13 Constant:
+0:13 1.000000
+0:13 direct index ( in float FragCoord)
+0:13 '@fragcoord' ( temp 4-component vector of float)
+0:13 Constant:
+0:13 3 (const int)
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 PositionPS: direct index for structure ( temp 4-component vector of float)
+0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
+0:13 Constant:
+0:13 0 (const int)
+0:13 '@fragcoord' ( temp 4-component vector of float)
+0:13 move second child to first child ( temp 3-component vector of float)
+0:13 PosInLightViewSpace: direct index for structure ( temp 3-component vector of float)
+0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
+0:13 Constant:
+0:13 1 (const int)
+0:? 'VSOut.PosInLightViewSpace' (layout( location=0) in 3-component vector of float)
+0:13 move second child to first child ( temp 3-component vector of float)
+0:13 NormalWS: direct index for structure ( temp 3-component vector of float)
+0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
+0:13 Constant:
+0:13 2 (const int)
+0:? 'VSOut.NormalWS' (layout( location=1) in 3-component vector of float)
+0:13 move second child to first child ( temp 2-component vector of float)
+0:13 TexCoord: direct index for structure ( temp 2-component vector of float)
+0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
+0:13 Constant:
+0:13 3 (const int)
+0:? 'VSOut.TexCoord' (layout( location=2) in 2-component vector of float)
+0:13 move second child to first child ( temp 4-component vector of float)
+0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:13 Function Call: @main(struct-VSOutput-vf4-vf3-vf3-vf21; ( temp 4-component vector of float)
+0:? 'VSOut' ( temp structure{ temp 4-component vector of float PositionPS, temp 3-component vector of float PosInLightViewSpace, temp 3-component vector of float NormalWS, temp 2-component vector of float TexCoord})
+0:? Linker Objects
+0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor, uniform 4-component vector of float AmbientColor2})
+0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:? 'VSOut.PositionPS' ( in 4-component vector of float FragCoord)
+0:? 'VSOut.PosInLightViewSpace' (layout( location=0) in 3-component vector of float)
+0:? 'VSOut.NormalWS' (layout( location=1) in 3-component vector of float)
+0:? 'VSOut.TexCoord' (layout( location=2) in 2-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 8000a
+// Id's are bound by 75
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 44 56 61 66 71
+ ExecutionMode 4 OriginUpperLeft
+ Source HLSL 500
+ Name 4 "main"
+ Name 10 "VSOutput"
+ MemberName 10(VSOutput) 0 "PositionPS"
+ MemberName 10(VSOutput) 1 "PosInLightViewSpace"
+ MemberName 10(VSOutput) 2 "NormalWS"
+ MemberName 10(VSOutput) 3 "TexCoord"
+ Name 14 "@main(struct-VSOutput-vf4-vf3-vf3-vf21;"
+ Name 13 "VSOut"
+ Name 28 "$Global"
+ MemberName 28($Global) 0 "AmbientColor"
+ MemberName 28($Global) 1 "AmbientColor2"
+ Name 30 ""
+ Name 42 "@fragcoord"
+ Name 44 "VSOut.PositionPS"
+ Name 52 "VSOut"
+ Name 56 "VSOut.PosInLightViewSpace"
+ Name 61 "VSOut.NormalWS"
+ Name 66 "VSOut.TexCoord"
+ Name 71 "@entryPointOutput"
+ Name 72 "param"
+ MemberDecorate 28($Global) 0 Offset 0
+ MemberDecorate 28($Global) 1 Offset 16
+ Decorate 28($Global) Block
+ Decorate 30 DescriptorSet 0
+ Decorate 30 Binding 0
+ Decorate 44(VSOut.PositionPS) BuiltIn FragCoord
+ Decorate 56(VSOut.PosInLightViewSpace) Location 0
+ Decorate 61(VSOut.NormalWS) Location 1
+ Decorate 66(VSOut.TexCoord) Location 2
+ Decorate 71(@entryPointOutput) Location 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeVector 6(float) 3
+ 9: TypeVector 6(float) 2
+ 10(VSOutput): TypeStruct 7(fvec4) 8(fvec3) 8(fvec3) 9(fvec2)
+ 11: TypePointer Function 10(VSOutput)
+ 12: TypeFunction 7(fvec4) 11(ptr)
+ 16: TypeInt 32 1
+ 17: 16(int) Constant 0
+ 18: TypeInt 32 0
+ 19: 18(int) Constant 0
+ 20: TypePointer Function 6(float)
+ 23: 6(float) Constant 1137180672
+ 24: TypeBool
+ 28($Global): TypeStruct 7(fvec4) 7(fvec4)
+ 29: TypePointer Uniform 28($Global)
+ 30: 29(ptr) Variable Uniform
+ 31: TypePointer Uniform 7(fvec4)
+ 36: 16(int) Constant 1
+ 41: TypePointer Function 7(fvec4)
+ 43: TypePointer Input 7(fvec4)
+44(VSOut.PositionPS): 43(ptr) Variable Input
+ 46: 6(float) Constant 1065353216
+ 47: 18(int) Constant 3
+ 55: TypePointer Input 8(fvec3)
+56(VSOut.PosInLightViewSpace): 55(ptr) Variable Input
+ 58: TypePointer Function 8(fvec3)
+ 60: 16(int) Constant 2
+61(VSOut.NormalWS): 55(ptr) Variable Input
+ 64: 16(int) Constant 3
+ 65: TypePointer Input 9(fvec2)
+66(VSOut.TexCoord): 65(ptr) Variable Input
+ 68: TypePointer Function 9(fvec2)
+ 70: TypePointer Output 7(fvec4)
+71(@entryPointOutput): 70(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 42(@fragcoord): 41(ptr) Variable Function
+ 52(VSOut): 11(ptr) Variable Function
+ 72(param): 11(ptr) Variable Function
+ 45: 7(fvec4) Load 44(VSOut.PositionPS)
+ Store 42(@fragcoord) 45
+ 48: 20(ptr) AccessChain 42(@fragcoord) 47
+ 49: 6(float) Load 48
+ 50: 6(float) FDiv 46 49
+ 51: 20(ptr) AccessChain 42(@fragcoord) 47
+ Store 51 50
+ 53: 7(fvec4) Load 42(@fragcoord)
+ 54: 41(ptr) AccessChain 52(VSOut) 17
+ Store 54 53
+ 57: 8(fvec3) Load 56(VSOut.PosInLightViewSpace)
+ 59: 58(ptr) AccessChain 52(VSOut) 36
+ Store 59 57
+ 62: 8(fvec3) Load 61(VSOut.NormalWS)
+ 63: 58(ptr) AccessChain 52(VSOut) 60
+ Store 63 62
+ 67: 9(fvec2) Load 66(VSOut.TexCoord)
+ 69: 68(ptr) AccessChain 52(VSOut) 64
+ Store 69 67
+ 73:10(VSOutput) Load 52(VSOut)
+ Store 72(param) 73
+ 74: 7(fvec4) FunctionCall 14(@main(struct-VSOutput-vf4-vf3-vf3-vf21;) 72(param)
+ Store 71(@entryPointOutput) 74
+ Return
+ FunctionEnd
+14(@main(struct-VSOutput-vf4-vf3-vf3-vf21;): 7(fvec4) Function None 12
+ 13(VSOut): 11(ptr) FunctionParameter
+ 15: Label
+ 21: 20(ptr) AccessChain 13(VSOut) 17 19
+ 22: 6(float) Load 21
+ 25: 24(bool) FOrdLessThan 22 23
+ SelectionMerge 27 None
+ BranchConditional 25 26 35
+ 26: Label
+ 32: 31(ptr) AccessChain 30 17
+ 33: 7(fvec4) Load 32
+ ReturnValue 33
+ 35: Label
+ 37: 31(ptr) AccessChain 30 36
+ 38: 7(fvec4) Load 37
+ ReturnValue 38
+ 27: Label
+ Unreachable
+ FunctionEnd
diff --git a/Test/baseResults/hlsl.wavebroadcast.comp.out b/Test/baseResults/hlsl.wavebroadcast.comp.out
index 573195d..01bc953 100644
--- a/Test/baseResults/hlsl.wavebroadcast.comp.out
+++ b/Test/baseResults/hlsl.wavebroadcast.comp.out
@@ -2299,7 +2299,7 @@
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 359
+// Id's are bound by 393
Capability Shader
Capability Float64
@@ -2308,7 +2308,7 @@
Capability GroupNonUniformShuffle
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint GLCompute 4 "CSMain" 354
+ EntryPoint GLCompute 4 "CSMain" 388
ExecutionMode 4 LocalSize 32 16 1
Source HLSL 500
Name 4 "CSMain"
@@ -2322,9 +2322,9 @@
Name 22 "data"
MemberName 22(data) 0 "@data"
Name 24 "data"
- Name 352 "dti"
- Name 354 "dti"
- Name 356 "param"
+ Name 386 "dti"
+ Name 388 "dti"
+ Name 390 "param"
MemberDecorate 20(Types) 0 Offset 0
MemberDecorate 20(Types) 1 Offset 16
MemberDecorate 20(Types) 2 Offset 32
@@ -2334,7 +2334,7 @@
Decorate 22(data) BufferBlock
Decorate 24(data) DescriptorSet 0
Decorate 24(data) Binding 0
- Decorate 354(dti) BuiltIn GlobalInvocationId
+ Decorate 388(dti) BuiltIn GlobalInvocationId
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -2361,32 +2361,34 @@
36: 6(int) Constant 3
43: TypePointer Uniform 6(int)
52: TypeVector 6(int) 2
- 73: 14(int) Constant 1
- 76: TypePointer Uniform 15(ivec4)
- 85: TypePointer Uniform 14(int)
- 94: TypeVector 14(int) 2
- 106: TypeVector 14(int) 3
- 116: 14(int) Constant 2
- 119: TypePointer Uniform 17(fvec4)
- 128: TypePointer Uniform 16(float)
- 137: TypeVector 16(float) 2
- 149: TypeVector 16(float) 3
- 159: 14(int) Constant 3
- 162: TypePointer Uniform 19(f64vec4)
- 171: TypePointer Uniform 18(float64_t)
- 180: TypeVector 18(float64_t) 2
- 192: TypeVector 18(float64_t) 3
- 353: TypePointer Input 7(ivec3)
- 354(dti): 353(ptr) Variable Input
+ 59: 6(int) Constant 1
+ 74: 6(int) Constant 2
+ 79: 14(int) Constant 1
+ 82: TypePointer Uniform 15(ivec4)
+ 91: TypePointer Uniform 14(int)
+ 100: TypeVector 14(int) 2
+ 113: TypeVector 14(int) 3
+ 126: 14(int) Constant 2
+ 129: TypePointer Uniform 17(fvec4)
+ 138: TypePointer Uniform 16(float)
+ 147: TypeVector 16(float) 2
+ 160: TypeVector 16(float) 3
+ 173: 14(int) Constant 3
+ 176: TypePointer Uniform 19(f64vec4)
+ 185: TypePointer Uniform 18(float64_t)
+ 194: TypeVector 18(float64_t) 2
+ 207: TypeVector 18(float64_t) 3
+ 387: TypePointer Input 7(ivec3)
+ 388(dti): 387(ptr) Variable Input
4(CSMain): 2 Function None 3
5: Label
- 352(dti): 8(ptr) Variable Function
- 356(param): 8(ptr) Variable Function
- 355: 7(ivec3) Load 354(dti)
- Store 352(dti) 355
- 357: 7(ivec3) Load 352(dti)
- Store 356(param) 357
- 358: 2 FunctionCall 11(@CSMain(vu3;) 356(param)
+ 386(dti): 8(ptr) Variable Function
+ 390(param): 8(ptr) Variable Function
+ 389: 7(ivec3) Load 388(dti)
+ Store 386(dti) 389
+ 391: 7(ivec3) Load 386(dti)
+ Store 390(param) 391
+ 392: 2 FunctionCall 11(@CSMain(vu3;) 390(param)
Return
FunctionEnd
11(@CSMain(vu3;): 2 Function None 9
@@ -2418,315 +2420,371 @@
54: 13(ivec4) Load 53
55: 52(ivec2) VectorShuffle 54 54 0 1
56: 52(ivec2) GroupNonUniformShuffle 36 55 35
- 57: 32(ptr) AccessChain 24(data) 25 49 25
- 58: 13(ivec4) Load 57
- 59: 13(ivec4) VectorShuffle 58 56 4 5 2 3
- Store 57 59
- 60: 27(ptr) AccessChain 10(dti) 26
- 61: 6(int) Load 60
+ 57: 43(ptr) AccessChain 24(data) 25 49 25 26
+ 58: 6(int) CompositeExtract 56 0
+ Store 57 58
+ 60: 43(ptr) AccessChain 24(data) 25 49 25 59
+ 61: 6(int) CompositeExtract 56 1
+ Store 60 61
62: 27(ptr) AccessChain 10(dti) 26
63: 6(int) Load 62
- 64: 32(ptr) AccessChain 24(data) 25 63 25
- 65: 13(ivec4) Load 64
- 66: 7(ivec3) VectorShuffle 65 65 0 1 2
- 67: 7(ivec3) GroupNonUniformShuffle 36 66 35
- 68: 32(ptr) AccessChain 24(data) 25 61 25
- 69: 13(ivec4) Load 68
- 70: 13(ivec4) VectorShuffle 69 67 4 5 6 3
- Store 68 70
- 71: 27(ptr) AccessChain 10(dti) 26
- 72: 6(int) Load 71
- 74: 27(ptr) AccessChain 10(dti) 26
- 75: 6(int) Load 74
- 77: 76(ptr) AccessChain 24(data) 25 75 73
- 78: 15(ivec4) Load 77
- 79: 15(ivec4) GroupNonUniformShuffle 36 78 35
- 80: 76(ptr) AccessChain 24(data) 25 72 73
- Store 80 79
- 81: 27(ptr) AccessChain 10(dti) 26
- 82: 6(int) Load 81
- 83: 27(ptr) AccessChain 10(dti) 26
- 84: 6(int) Load 83
- 86: 85(ptr) AccessChain 24(data) 25 84 73 26
- 87: 14(int) Load 86
- 88: 14(int) GroupNonUniformShuffle 36 87 35
- 89: 85(ptr) AccessChain 24(data) 25 82 73 26
- Store 89 88
- 90: 27(ptr) AccessChain 10(dti) 26
- 91: 6(int) Load 90
- 92: 27(ptr) AccessChain 10(dti) 26
- 93: 6(int) Load 92
- 95: 76(ptr) AccessChain 24(data) 25 93 73
- 96: 15(ivec4) Load 95
- 97: 94(ivec2) VectorShuffle 96 96 0 1
- 98: 94(ivec2) GroupNonUniformShuffle 36 97 35
- 99: 76(ptr) AccessChain 24(data) 25 91 73
- 100: 15(ivec4) Load 99
- 101: 15(ivec4) VectorShuffle 100 98 4 5 2 3
- Store 99 101
- 102: 27(ptr) AccessChain 10(dti) 26
- 103: 6(int) Load 102
- 104: 27(ptr) AccessChain 10(dti) 26
- 105: 6(int) Load 104
- 107: 76(ptr) AccessChain 24(data) 25 105 73
- 108: 15(ivec4) Load 107
- 109: 106(ivec3) VectorShuffle 108 108 0 1 2
- 110: 106(ivec3) GroupNonUniformShuffle 36 109 35
- 111: 76(ptr) AccessChain 24(data) 25 103 73
- 112: 15(ivec4) Load 111
- 113: 15(ivec4) VectorShuffle 112 110 4 5 6 3
- Store 111 113
- 114: 27(ptr) AccessChain 10(dti) 26
- 115: 6(int) Load 114
- 117: 27(ptr) AccessChain 10(dti) 26
- 118: 6(int) Load 117
- 120: 119(ptr) AccessChain 24(data) 25 118 116
- 121: 17(fvec4) Load 120
- 122: 17(fvec4) GroupNonUniformShuffle 36 121 35
- 123: 119(ptr) AccessChain 24(data) 25 115 116
- Store 123 122
+ 64: 27(ptr) AccessChain 10(dti) 26
+ 65: 6(int) Load 64
+ 66: 32(ptr) AccessChain 24(data) 25 65 25
+ 67: 13(ivec4) Load 66
+ 68: 7(ivec3) VectorShuffle 67 67 0 1 2
+ 69: 7(ivec3) GroupNonUniformShuffle 36 68 35
+ 70: 43(ptr) AccessChain 24(data) 25 63 25 26
+ 71: 6(int) CompositeExtract 69 0
+ Store 70 71
+ 72: 43(ptr) AccessChain 24(data) 25 63 25 59
+ 73: 6(int) CompositeExtract 69 1
+ Store 72 73
+ 75: 43(ptr) AccessChain 24(data) 25 63 25 74
+ 76: 6(int) CompositeExtract 69 2
+ Store 75 76
+ 77: 27(ptr) AccessChain 10(dti) 26
+ 78: 6(int) Load 77
+ 80: 27(ptr) AccessChain 10(dti) 26
+ 81: 6(int) Load 80
+ 83: 82(ptr) AccessChain 24(data) 25 81 79
+ 84: 15(ivec4) Load 83
+ 85: 15(ivec4) GroupNonUniformShuffle 36 84 35
+ 86: 82(ptr) AccessChain 24(data) 25 78 79
+ Store 86 85
+ 87: 27(ptr) AccessChain 10(dti) 26
+ 88: 6(int) Load 87
+ 89: 27(ptr) AccessChain 10(dti) 26
+ 90: 6(int) Load 89
+ 92: 91(ptr) AccessChain 24(data) 25 90 79 26
+ 93: 14(int) Load 92
+ 94: 14(int) GroupNonUniformShuffle 36 93 35
+ 95: 91(ptr) AccessChain 24(data) 25 88 79 26
+ Store 95 94
+ 96: 27(ptr) AccessChain 10(dti) 26
+ 97: 6(int) Load 96
+ 98: 27(ptr) AccessChain 10(dti) 26
+ 99: 6(int) Load 98
+ 101: 82(ptr) AccessChain 24(data) 25 99 79
+ 102: 15(ivec4) Load 101
+ 103: 100(ivec2) VectorShuffle 102 102 0 1
+ 104: 100(ivec2) GroupNonUniformShuffle 36 103 35
+ 105: 91(ptr) AccessChain 24(data) 25 97 79 26
+ 106: 14(int) CompositeExtract 104 0
+ Store 105 106
+ 107: 91(ptr) AccessChain 24(data) 25 97 79 59
+ 108: 14(int) CompositeExtract 104 1
+ Store 107 108
+ 109: 27(ptr) AccessChain 10(dti) 26
+ 110: 6(int) Load 109
+ 111: 27(ptr) AccessChain 10(dti) 26
+ 112: 6(int) Load 111
+ 114: 82(ptr) AccessChain 24(data) 25 112 79
+ 115: 15(ivec4) Load 114
+ 116: 113(ivec3) VectorShuffle 115 115 0 1 2
+ 117: 113(ivec3) GroupNonUniformShuffle 36 116 35
+ 118: 91(ptr) AccessChain 24(data) 25 110 79 26
+ 119: 14(int) CompositeExtract 117 0
+ Store 118 119
+ 120: 91(ptr) AccessChain 24(data) 25 110 79 59
+ 121: 14(int) CompositeExtract 117 1
+ Store 120 121
+ 122: 91(ptr) AccessChain 24(data) 25 110 79 74
+ 123: 14(int) CompositeExtract 117 2
+ Store 122 123
124: 27(ptr) AccessChain 10(dti) 26
125: 6(int) Load 124
- 126: 27(ptr) AccessChain 10(dti) 26
- 127: 6(int) Load 126
- 129: 128(ptr) AccessChain 24(data) 25 127 116 26
- 130: 16(float) Load 129
- 131: 16(float) GroupNonUniformShuffle 36 130 35
- 132: 128(ptr) AccessChain 24(data) 25 125 116 26
- Store 132 131
- 133: 27(ptr) AccessChain 10(dti) 26
- 134: 6(int) Load 133
- 135: 27(ptr) AccessChain 10(dti) 26
- 136: 6(int) Load 135
- 138: 119(ptr) AccessChain 24(data) 25 136 116
- 139: 17(fvec4) Load 138
- 140: 137(fvec2) VectorShuffle 139 139 0 1
- 141: 137(fvec2) GroupNonUniformShuffle 36 140 35
- 142: 119(ptr) AccessChain 24(data) 25 134 116
- 143: 17(fvec4) Load 142
- 144: 17(fvec4) VectorShuffle 143 141 4 5 2 3
- Store 142 144
+ 127: 27(ptr) AccessChain 10(dti) 26
+ 128: 6(int) Load 127
+ 130: 129(ptr) AccessChain 24(data) 25 128 126
+ 131: 17(fvec4) Load 130
+ 132: 17(fvec4) GroupNonUniformShuffle 36 131 35
+ 133: 129(ptr) AccessChain 24(data) 25 125 126
+ Store 133 132
+ 134: 27(ptr) AccessChain 10(dti) 26
+ 135: 6(int) Load 134
+ 136: 27(ptr) AccessChain 10(dti) 26
+ 137: 6(int) Load 136
+ 139: 138(ptr) AccessChain 24(data) 25 137 126 26
+ 140: 16(float) Load 139
+ 141: 16(float) GroupNonUniformShuffle 36 140 35
+ 142: 138(ptr) AccessChain 24(data) 25 135 126 26
+ Store 142 141
+ 143: 27(ptr) AccessChain 10(dti) 26
+ 144: 6(int) Load 143
145: 27(ptr) AccessChain 10(dti) 26
146: 6(int) Load 145
- 147: 27(ptr) AccessChain 10(dti) 26
- 148: 6(int) Load 147
- 150: 119(ptr) AccessChain 24(data) 25 148 116
- 151: 17(fvec4) Load 150
- 152: 149(fvec3) VectorShuffle 151 151 0 1 2
- 153: 149(fvec3) GroupNonUniformShuffle 36 152 35
- 154: 119(ptr) AccessChain 24(data) 25 146 116
- 155: 17(fvec4) Load 154
- 156: 17(fvec4) VectorShuffle 155 153 4 5 6 3
- Store 154 156
- 157: 27(ptr) AccessChain 10(dti) 26
- 158: 6(int) Load 157
- 160: 27(ptr) AccessChain 10(dti) 26
- 161: 6(int) Load 160
- 163: 162(ptr) AccessChain 24(data) 25 161 159
- 164: 19(f64vec4) Load 163
- 165: 19(f64vec4) GroupNonUniformBroadcastFirst 36 164
- 166: 162(ptr) AccessChain 24(data) 25 158 159
- Store 166 165
- 167: 27(ptr) AccessChain 10(dti) 26
- 168: 6(int) Load 167
- 169: 27(ptr) AccessChain 10(dti) 26
- 170: 6(int) Load 169
- 172: 171(ptr) AccessChain 24(data) 25 170 159 26
- 173:18(float64_t) Load 172
- 174:18(float64_t) GroupNonUniformBroadcastFirst 36 173
- 175: 171(ptr) AccessChain 24(data) 25 168 159 26
- Store 175 174
- 176: 27(ptr) AccessChain 10(dti) 26
- 177: 6(int) Load 176
- 178: 27(ptr) AccessChain 10(dti) 26
- 179: 6(int) Load 178
- 181: 162(ptr) AccessChain 24(data) 25 179 159
- 182: 19(f64vec4) Load 181
- 183:180(f64vec2) VectorShuffle 182 182 0 1
- 184:180(f64vec2) GroupNonUniformBroadcastFirst 36 183
- 185: 162(ptr) AccessChain 24(data) 25 177 159
- 186: 19(f64vec4) Load 185
- 187: 19(f64vec4) VectorShuffle 186 184 4 5 2 3
- Store 185 187
- 188: 27(ptr) AccessChain 10(dti) 26
- 189: 6(int) Load 188
+ 148: 129(ptr) AccessChain 24(data) 25 146 126
+ 149: 17(fvec4) Load 148
+ 150: 147(fvec2) VectorShuffle 149 149 0 1
+ 151: 147(fvec2) GroupNonUniformShuffle 36 150 35
+ 152: 138(ptr) AccessChain 24(data) 25 144 126 26
+ 153: 16(float) CompositeExtract 151 0
+ Store 152 153
+ 154: 138(ptr) AccessChain 24(data) 25 144 126 59
+ 155: 16(float) CompositeExtract 151 1
+ Store 154 155
+ 156: 27(ptr) AccessChain 10(dti) 26
+ 157: 6(int) Load 156
+ 158: 27(ptr) AccessChain 10(dti) 26
+ 159: 6(int) Load 158
+ 161: 129(ptr) AccessChain 24(data) 25 159 126
+ 162: 17(fvec4) Load 161
+ 163: 160(fvec3) VectorShuffle 162 162 0 1 2
+ 164: 160(fvec3) GroupNonUniformShuffle 36 163 35
+ 165: 138(ptr) AccessChain 24(data) 25 157 126 26
+ 166: 16(float) CompositeExtract 164 0
+ Store 165 166
+ 167: 138(ptr) AccessChain 24(data) 25 157 126 59
+ 168: 16(float) CompositeExtract 164 1
+ Store 167 168
+ 169: 138(ptr) AccessChain 24(data) 25 157 126 74
+ 170: 16(float) CompositeExtract 164 2
+ Store 169 170
+ 171: 27(ptr) AccessChain 10(dti) 26
+ 172: 6(int) Load 171
+ 174: 27(ptr) AccessChain 10(dti) 26
+ 175: 6(int) Load 174
+ 177: 176(ptr) AccessChain 24(data) 25 175 173
+ 178: 19(f64vec4) Load 177
+ 179: 19(f64vec4) GroupNonUniformBroadcastFirst 36 178
+ 180: 176(ptr) AccessChain 24(data) 25 172 173
+ Store 180 179
+ 181: 27(ptr) AccessChain 10(dti) 26
+ 182: 6(int) Load 181
+ 183: 27(ptr) AccessChain 10(dti) 26
+ 184: 6(int) Load 183
+ 186: 185(ptr) AccessChain 24(data) 25 184 173 26
+ 187:18(float64_t) Load 186
+ 188:18(float64_t) GroupNonUniformBroadcastFirst 36 187
+ 189: 185(ptr) AccessChain 24(data) 25 182 173 26
+ Store 189 188
190: 27(ptr) AccessChain 10(dti) 26
191: 6(int) Load 190
- 193: 162(ptr) AccessChain 24(data) 25 191 159
- 194: 19(f64vec4) Load 193
- 195:192(f64vec3) VectorShuffle 194 194 0 1 2
- 196:192(f64vec3) GroupNonUniformBroadcastFirst 36 195
- 197: 162(ptr) AccessChain 24(data) 25 189 159
- 198: 19(f64vec4) Load 197
- 199: 19(f64vec4) VectorShuffle 198 196 4 5 6 3
- Store 197 199
- 200: 27(ptr) AccessChain 10(dti) 26
- 201: 6(int) Load 200
- 202: 27(ptr) AccessChain 10(dti) 26
- 203: 6(int) Load 202
- 204: 32(ptr) AccessChain 24(data) 25 203 25
- 205: 13(ivec4) Load 204
- 206: 13(ivec4) GroupNonUniformBroadcastFirst 36 205
- 207: 32(ptr) AccessChain 24(data) 25 201 25
- Store 207 206
- 208: 27(ptr) AccessChain 10(dti) 26
- 209: 6(int) Load 208
- 210: 27(ptr) AccessChain 10(dti) 26
- 211: 6(int) Load 210
- 212: 43(ptr) AccessChain 24(data) 25 211 25 26
- 213: 6(int) Load 212
- 214: 6(int) GroupNonUniformBroadcastFirst 36 213
- 215: 43(ptr) AccessChain 24(data) 25 209 25 26
- Store 215 214
- 216: 27(ptr) AccessChain 10(dti) 26
- 217: 6(int) Load 216
+ 192: 27(ptr) AccessChain 10(dti) 26
+ 193: 6(int) Load 192
+ 195: 176(ptr) AccessChain 24(data) 25 193 173
+ 196: 19(f64vec4) Load 195
+ 197:194(f64vec2) VectorShuffle 196 196 0 1
+ 198:194(f64vec2) GroupNonUniformBroadcastFirst 36 197
+ 199: 185(ptr) AccessChain 24(data) 25 191 173 26
+ 200:18(float64_t) CompositeExtract 198 0
+ Store 199 200
+ 201: 185(ptr) AccessChain 24(data) 25 191 173 59
+ 202:18(float64_t) CompositeExtract 198 1
+ Store 201 202
+ 203: 27(ptr) AccessChain 10(dti) 26
+ 204: 6(int) Load 203
+ 205: 27(ptr) AccessChain 10(dti) 26
+ 206: 6(int) Load 205
+ 208: 176(ptr) AccessChain 24(data) 25 206 173
+ 209: 19(f64vec4) Load 208
+ 210:207(f64vec3) VectorShuffle 209 209 0 1 2
+ 211:207(f64vec3) GroupNonUniformBroadcastFirst 36 210
+ 212: 185(ptr) AccessChain 24(data) 25 204 173 26
+ 213:18(float64_t) CompositeExtract 211 0
+ Store 212 213
+ 214: 185(ptr) AccessChain 24(data) 25 204 173 59
+ 215:18(float64_t) CompositeExtract 211 1
+ Store 214 215
+ 216: 185(ptr) AccessChain 24(data) 25 204 173 74
+ 217:18(float64_t) CompositeExtract 211 2
+ Store 216 217
218: 27(ptr) AccessChain 10(dti) 26
219: 6(int) Load 218
- 220: 32(ptr) AccessChain 24(data) 25 219 25
- 221: 13(ivec4) Load 220
- 222: 52(ivec2) VectorShuffle 221 221 0 1
- 223: 52(ivec2) GroupNonUniformBroadcastFirst 36 222
- 224: 32(ptr) AccessChain 24(data) 25 217 25
- 225: 13(ivec4) Load 224
- 226: 13(ivec4) VectorShuffle 225 223 4 5 2 3
- Store 224 226
- 227: 27(ptr) AccessChain 10(dti) 26
- 228: 6(int) Load 227
- 229: 27(ptr) AccessChain 10(dti) 26
- 230: 6(int) Load 229
- 231: 32(ptr) AccessChain 24(data) 25 230 25
- 232: 13(ivec4) Load 231
- 233: 7(ivec3) VectorShuffle 232 232 0 1 2
- 234: 7(ivec3) GroupNonUniformBroadcastFirst 36 233
- 235: 32(ptr) AccessChain 24(data) 25 228 25
- 236: 13(ivec4) Load 235
- 237: 13(ivec4) VectorShuffle 236 234 4 5 6 3
- Store 235 237
- 238: 27(ptr) AccessChain 10(dti) 26
- 239: 6(int) Load 238
- 240: 27(ptr) AccessChain 10(dti) 26
- 241: 6(int) Load 240
- 242: 76(ptr) AccessChain 24(data) 25 241 73
- 243: 15(ivec4) Load 242
- 244: 15(ivec4) GroupNonUniformBroadcastFirst 36 243
- 245: 76(ptr) AccessChain 24(data) 25 239 73
- Store 245 244
+ 220: 27(ptr) AccessChain 10(dti) 26
+ 221: 6(int) Load 220
+ 222: 32(ptr) AccessChain 24(data) 25 221 25
+ 223: 13(ivec4) Load 222
+ 224: 13(ivec4) GroupNonUniformBroadcastFirst 36 223
+ 225: 32(ptr) AccessChain 24(data) 25 219 25
+ Store 225 224
+ 226: 27(ptr) AccessChain 10(dti) 26
+ 227: 6(int) Load 226
+ 228: 27(ptr) AccessChain 10(dti) 26
+ 229: 6(int) Load 228
+ 230: 43(ptr) AccessChain 24(data) 25 229 25 26
+ 231: 6(int) Load 230
+ 232: 6(int) GroupNonUniformBroadcastFirst 36 231
+ 233: 43(ptr) AccessChain 24(data) 25 227 25 26
+ Store 233 232
+ 234: 27(ptr) AccessChain 10(dti) 26
+ 235: 6(int) Load 234
+ 236: 27(ptr) AccessChain 10(dti) 26
+ 237: 6(int) Load 236
+ 238: 32(ptr) AccessChain 24(data) 25 237 25
+ 239: 13(ivec4) Load 238
+ 240: 52(ivec2) VectorShuffle 239 239 0 1
+ 241: 52(ivec2) GroupNonUniformBroadcastFirst 36 240
+ 242: 43(ptr) AccessChain 24(data) 25 235 25 26
+ 243: 6(int) CompositeExtract 241 0
+ Store 242 243
+ 244: 43(ptr) AccessChain 24(data) 25 235 25 59
+ 245: 6(int) CompositeExtract 241 1
+ Store 244 245
246: 27(ptr) AccessChain 10(dti) 26
247: 6(int) Load 246
248: 27(ptr) AccessChain 10(dti) 26
249: 6(int) Load 248
- 250: 85(ptr) AccessChain 24(data) 25 249 73 26
- 251: 14(int) Load 250
- 252: 14(int) GroupNonUniformBroadcastFirst 36 251
- 253: 85(ptr) AccessChain 24(data) 25 247 73 26
- Store 253 252
- 254: 27(ptr) AccessChain 10(dti) 26
- 255: 6(int) Load 254
- 256: 27(ptr) AccessChain 10(dti) 26
- 257: 6(int) Load 256
- 258: 76(ptr) AccessChain 24(data) 25 257 73
- 259: 15(ivec4) Load 258
- 260: 94(ivec2) VectorShuffle 259 259 0 1
- 261: 94(ivec2) GroupNonUniformBroadcastFirst 36 260
- 262: 76(ptr) AccessChain 24(data) 25 255 73
- 263: 15(ivec4) Load 262
- 264: 15(ivec4) VectorShuffle 263 261 4 5 2 3
- Store 262 264
- 265: 27(ptr) AccessChain 10(dti) 26
- 266: 6(int) Load 265
- 267: 27(ptr) AccessChain 10(dti) 26
- 268: 6(int) Load 267
- 269: 76(ptr) AccessChain 24(data) 25 268 73
- 270: 15(ivec4) Load 269
- 271: 106(ivec3) VectorShuffle 270 270 0 1 2
- 272: 106(ivec3) GroupNonUniformBroadcastFirst 36 271
- 273: 76(ptr) AccessChain 24(data) 25 266 73
- 274: 15(ivec4) Load 273
- 275: 15(ivec4) VectorShuffle 274 272 4 5 6 3
- Store 273 275
+ 250: 32(ptr) AccessChain 24(data) 25 249 25
+ 251: 13(ivec4) Load 250
+ 252: 7(ivec3) VectorShuffle 251 251 0 1 2
+ 253: 7(ivec3) GroupNonUniformBroadcastFirst 36 252
+ 254: 43(ptr) AccessChain 24(data) 25 247 25 26
+ 255: 6(int) CompositeExtract 253 0
+ Store 254 255
+ 256: 43(ptr) AccessChain 24(data) 25 247 25 59
+ 257: 6(int) CompositeExtract 253 1
+ Store 256 257
+ 258: 43(ptr) AccessChain 24(data) 25 247 25 74
+ 259: 6(int) CompositeExtract 253 2
+ Store 258 259
+ 260: 27(ptr) AccessChain 10(dti) 26
+ 261: 6(int) Load 260
+ 262: 27(ptr) AccessChain 10(dti) 26
+ 263: 6(int) Load 262
+ 264: 82(ptr) AccessChain 24(data) 25 263 79
+ 265: 15(ivec4) Load 264
+ 266: 15(ivec4) GroupNonUniformBroadcastFirst 36 265
+ 267: 82(ptr) AccessChain 24(data) 25 261 79
+ Store 267 266
+ 268: 27(ptr) AccessChain 10(dti) 26
+ 269: 6(int) Load 268
+ 270: 27(ptr) AccessChain 10(dti) 26
+ 271: 6(int) Load 270
+ 272: 91(ptr) AccessChain 24(data) 25 271 79 26
+ 273: 14(int) Load 272
+ 274: 14(int) GroupNonUniformBroadcastFirst 36 273
+ 275: 91(ptr) AccessChain 24(data) 25 269 79 26
+ Store 275 274
276: 27(ptr) AccessChain 10(dti) 26
277: 6(int) Load 276
278: 27(ptr) AccessChain 10(dti) 26
279: 6(int) Load 278
- 280: 119(ptr) AccessChain 24(data) 25 279 116
- 281: 17(fvec4) Load 280
- 282: 17(fvec4) GroupNonUniformBroadcastFirst 36 281
- 283: 119(ptr) AccessChain 24(data) 25 277 116
- Store 283 282
- 284: 27(ptr) AccessChain 10(dti) 26
- 285: 6(int) Load 284
- 286: 27(ptr) AccessChain 10(dti) 26
- 287: 6(int) Load 286
- 288: 128(ptr) AccessChain 24(data) 25 287 116 26
- 289: 16(float) Load 288
- 290: 16(float) GroupNonUniformBroadcastFirst 36 289
- 291: 128(ptr) AccessChain 24(data) 25 285 116 26
- Store 291 290
- 292: 27(ptr) AccessChain 10(dti) 26
- 293: 6(int) Load 292
- 294: 27(ptr) AccessChain 10(dti) 26
- 295: 6(int) Load 294
- 296: 119(ptr) AccessChain 24(data) 25 295 116
- 297: 17(fvec4) Load 296
- 298: 137(fvec2) VectorShuffle 297 297 0 1
- 299: 137(fvec2) GroupNonUniformBroadcastFirst 36 298
- 300: 119(ptr) AccessChain 24(data) 25 293 116
- 301: 17(fvec4) Load 300
- 302: 17(fvec4) VectorShuffle 301 299 4 5 2 3
- Store 300 302
- 303: 27(ptr) AccessChain 10(dti) 26
- 304: 6(int) Load 303
- 305: 27(ptr) AccessChain 10(dti) 26
- 306: 6(int) Load 305
- 307: 119(ptr) AccessChain 24(data) 25 306 116
- 308: 17(fvec4) Load 307
- 309: 149(fvec3) VectorShuffle 308 308 0 1 2
- 310: 149(fvec3) GroupNonUniformBroadcastFirst 36 309
- 311: 119(ptr) AccessChain 24(data) 25 304 116
- 312: 17(fvec4) Load 311
- 313: 17(fvec4) VectorShuffle 312 310 4 5 6 3
- Store 311 313
- 314: 27(ptr) AccessChain 10(dti) 26
- 315: 6(int) Load 314
- 316: 27(ptr) AccessChain 10(dti) 26
- 317: 6(int) Load 316
- 318: 162(ptr) AccessChain 24(data) 25 317 159
- 319: 19(f64vec4) Load 318
- 320: 19(f64vec4) GroupNonUniformBroadcastFirst 36 319
- 321: 162(ptr) AccessChain 24(data) 25 315 159
- Store 321 320
- 322: 27(ptr) AccessChain 10(dti) 26
- 323: 6(int) Load 322
- 324: 27(ptr) AccessChain 10(dti) 26
- 325: 6(int) Load 324
- 326: 171(ptr) AccessChain 24(data) 25 325 159 26
- 327:18(float64_t) Load 326
- 328:18(float64_t) GroupNonUniformBroadcastFirst 36 327
- 329: 171(ptr) AccessChain 24(data) 25 323 159 26
- Store 329 328
+ 280: 82(ptr) AccessChain 24(data) 25 279 79
+ 281: 15(ivec4) Load 280
+ 282: 100(ivec2) VectorShuffle 281 281 0 1
+ 283: 100(ivec2) GroupNonUniformBroadcastFirst 36 282
+ 284: 91(ptr) AccessChain 24(data) 25 277 79 26
+ 285: 14(int) CompositeExtract 283 0
+ Store 284 285
+ 286: 91(ptr) AccessChain 24(data) 25 277 79 59
+ 287: 14(int) CompositeExtract 283 1
+ Store 286 287
+ 288: 27(ptr) AccessChain 10(dti) 26
+ 289: 6(int) Load 288
+ 290: 27(ptr) AccessChain 10(dti) 26
+ 291: 6(int) Load 290
+ 292: 82(ptr) AccessChain 24(data) 25 291 79
+ 293: 15(ivec4) Load 292
+ 294: 113(ivec3) VectorShuffle 293 293 0 1 2
+ 295: 113(ivec3) GroupNonUniformBroadcastFirst 36 294
+ 296: 91(ptr) AccessChain 24(data) 25 289 79 26
+ 297: 14(int) CompositeExtract 295 0
+ Store 296 297
+ 298: 91(ptr) AccessChain 24(data) 25 289 79 59
+ 299: 14(int) CompositeExtract 295 1
+ Store 298 299
+ 300: 91(ptr) AccessChain 24(data) 25 289 79 74
+ 301: 14(int) CompositeExtract 295 2
+ Store 300 301
+ 302: 27(ptr) AccessChain 10(dti) 26
+ 303: 6(int) Load 302
+ 304: 27(ptr) AccessChain 10(dti) 26
+ 305: 6(int) Load 304
+ 306: 129(ptr) AccessChain 24(data) 25 305 126
+ 307: 17(fvec4) Load 306
+ 308: 17(fvec4) GroupNonUniformBroadcastFirst 36 307
+ 309: 129(ptr) AccessChain 24(data) 25 303 126
+ Store 309 308
+ 310: 27(ptr) AccessChain 10(dti) 26
+ 311: 6(int) Load 310
+ 312: 27(ptr) AccessChain 10(dti) 26
+ 313: 6(int) Load 312
+ 314: 138(ptr) AccessChain 24(data) 25 313 126 26
+ 315: 16(float) Load 314
+ 316: 16(float) GroupNonUniformBroadcastFirst 36 315
+ 317: 138(ptr) AccessChain 24(data) 25 311 126 26
+ Store 317 316
+ 318: 27(ptr) AccessChain 10(dti) 26
+ 319: 6(int) Load 318
+ 320: 27(ptr) AccessChain 10(dti) 26
+ 321: 6(int) Load 320
+ 322: 129(ptr) AccessChain 24(data) 25 321 126
+ 323: 17(fvec4) Load 322
+ 324: 147(fvec2) VectorShuffle 323 323 0 1
+ 325: 147(fvec2) GroupNonUniformBroadcastFirst 36 324
+ 326: 138(ptr) AccessChain 24(data) 25 319 126 26
+ 327: 16(float) CompositeExtract 325 0
+ Store 326 327
+ 328: 138(ptr) AccessChain 24(data) 25 319 126 59
+ 329: 16(float) CompositeExtract 325 1
+ Store 328 329
330: 27(ptr) AccessChain 10(dti) 26
331: 6(int) Load 330
332: 27(ptr) AccessChain 10(dti) 26
333: 6(int) Load 332
- 334: 162(ptr) AccessChain 24(data) 25 333 159
- 335: 19(f64vec4) Load 334
- 336:180(f64vec2) VectorShuffle 335 335 0 1
- 337:180(f64vec2) GroupNonUniformBroadcastFirst 36 336
- 338: 162(ptr) AccessChain 24(data) 25 331 159
- 339: 19(f64vec4) Load 338
- 340: 19(f64vec4) VectorShuffle 339 337 4 5 2 3
- Store 338 340
- 341: 27(ptr) AccessChain 10(dti) 26
- 342: 6(int) Load 341
- 343: 27(ptr) AccessChain 10(dti) 26
- 344: 6(int) Load 343
- 345: 162(ptr) AccessChain 24(data) 25 344 159
- 346: 19(f64vec4) Load 345
- 347:192(f64vec3) VectorShuffle 346 346 0 1 2
- 348:192(f64vec3) GroupNonUniformBroadcastFirst 36 347
- 349: 162(ptr) AccessChain 24(data) 25 342 159
- 350: 19(f64vec4) Load 349
- 351: 19(f64vec4) VectorShuffle 350 348 4 5 6 3
- Store 349 351
+ 334: 129(ptr) AccessChain 24(data) 25 333 126
+ 335: 17(fvec4) Load 334
+ 336: 160(fvec3) VectorShuffle 335 335 0 1 2
+ 337: 160(fvec3) GroupNonUniformBroadcastFirst 36 336
+ 338: 138(ptr) AccessChain 24(data) 25 331 126 26
+ 339: 16(float) CompositeExtract 337 0
+ Store 338 339
+ 340: 138(ptr) AccessChain 24(data) 25 331 126 59
+ 341: 16(float) CompositeExtract 337 1
+ Store 340 341
+ 342: 138(ptr) AccessChain 24(data) 25 331 126 74
+ 343: 16(float) CompositeExtract 337 2
+ Store 342 343
+ 344: 27(ptr) AccessChain 10(dti) 26
+ 345: 6(int) Load 344
+ 346: 27(ptr) AccessChain 10(dti) 26
+ 347: 6(int) Load 346
+ 348: 176(ptr) AccessChain 24(data) 25 347 173
+ 349: 19(f64vec4) Load 348
+ 350: 19(f64vec4) GroupNonUniformBroadcastFirst 36 349
+ 351: 176(ptr) AccessChain 24(data) 25 345 173
+ Store 351 350
+ 352: 27(ptr) AccessChain 10(dti) 26
+ 353: 6(int) Load 352
+ 354: 27(ptr) AccessChain 10(dti) 26
+ 355: 6(int) Load 354
+ 356: 185(ptr) AccessChain 24(data) 25 355 173 26
+ 357:18(float64_t) Load 356
+ 358:18(float64_t) GroupNonUniformBroadcastFirst 36 357
+ 359: 185(ptr) AccessChain 24(data) 25 353 173 26
+ Store 359 358
+ 360: 27(ptr) AccessChain 10(dti) 26
+ 361: 6(int) Load 360
+ 362: 27(ptr) AccessChain 10(dti) 26
+ 363: 6(int) Load 362
+ 364: 176(ptr) AccessChain 24(data) 25 363 173
+ 365: 19(f64vec4) Load 364
+ 366:194(f64vec2) VectorShuffle 365 365 0 1
+ 367:194(f64vec2) GroupNonUniformBroadcastFirst 36 366
+ 368: 185(ptr) AccessChain 24(data) 25 361 173 26
+ 369:18(float64_t) CompositeExtract 367 0
+ Store 368 369
+ 370: 185(ptr) AccessChain 24(data) 25 361 173 59
+ 371:18(float64_t) CompositeExtract 367 1
+ Store 370 371
+ 372: 27(ptr) AccessChain 10(dti) 26
+ 373: 6(int) Load 372
+ 374: 27(ptr) AccessChain 10(dti) 26
+ 375: 6(int) Load 374
+ 376: 176(ptr) AccessChain 24(data) 25 375 173
+ 377: 19(f64vec4) Load 376
+ 378:207(f64vec3) VectorShuffle 377 377 0 1 2
+ 379:207(f64vec3) GroupNonUniformBroadcastFirst 36 378
+ 380: 185(ptr) AccessChain 24(data) 25 373 173 26
+ 381:18(float64_t) CompositeExtract 379 0
+ Store 380 381
+ 382: 185(ptr) AccessChain 24(data) 25 373 173 59
+ 383:18(float64_t) CompositeExtract 379 1
+ Store 382 383
+ 384: 185(ptr) AccessChain 24(data) 25 373 173 74
+ 385:18(float64_t) CompositeExtract 379 2
+ Store 384 385
Return
FunctionEnd
diff --git a/Test/baseResults/hlsl.waveprefix.comp.out b/Test/baseResults/hlsl.waveprefix.comp.out
index 1d79f17..cc4737e 100644
--- a/Test/baseResults/hlsl.waveprefix.comp.out
+++ b/Test/baseResults/hlsl.waveprefix.comp.out
@@ -2323,7 +2323,7 @@
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 369
+// Id's are bound by 403
Capability Shader
Capability Float64
@@ -2332,7 +2332,7 @@
Capability GroupNonUniformBallot
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint GLCompute 4 "CSMain" 364
+ EntryPoint GLCompute 4 "CSMain" 398
ExecutionMode 4 LocalSize 32 16 1
Source HLSL 500
Name 4 "CSMain"
@@ -2346,9 +2346,9 @@
Name 22 "data"
MemberName 22(data) 0 "@data"
Name 24 "data"
- Name 362 "dti"
- Name 364 "dti"
- Name 366 "param"
+ Name 396 "dti"
+ Name 398 "dti"
+ Name 400 "param"
MemberDecorate 20(Types) 0 Offset 0
MemberDecorate 20(Types) 1 Offset 16
MemberDecorate 20(Types) 2 Offset 32
@@ -2358,7 +2358,7 @@
Decorate 22(data) BufferBlock
Decorate 24(data) DescriptorSet 0
Decorate 24(data) Binding 0
- Decorate 364(dti) BuiltIn GlobalInvocationId
+ Decorate 398(dti) BuiltIn GlobalInvocationId
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -2384,33 +2384,35 @@
35: 6(int) Constant 3
42: TypePointer Uniform 6(int)
51: TypeVector 6(int) 2
- 72: 14(int) Constant 1
- 75: TypePointer Uniform 15(ivec4)
- 84: TypePointer Uniform 14(int)
- 93: TypeVector 14(int) 2
- 105: TypeVector 14(int) 3
- 115: 14(int) Constant 2
- 118: TypePointer Uniform 17(fvec4)
- 127: TypePointer Uniform 16(float)
- 136: TypeVector 16(float) 2
- 148: TypeVector 16(float) 3
- 158: 14(int) Constant 3
- 161: TypePointer Uniform 19(f64vec4)
- 170: TypePointer Uniform 18(float64_t)
- 179: TypeVector 18(float64_t) 2
- 191: TypeVector 18(float64_t) 3
- 357: TypeBool
- 363: TypePointer Input 7(ivec3)
- 364(dti): 363(ptr) Variable Input
+ 58: 6(int) Constant 1
+ 73: 6(int) Constant 2
+ 78: 14(int) Constant 1
+ 81: TypePointer Uniform 15(ivec4)
+ 90: TypePointer Uniform 14(int)
+ 99: TypeVector 14(int) 2
+ 112: TypeVector 14(int) 3
+ 125: 14(int) Constant 2
+ 128: TypePointer Uniform 17(fvec4)
+ 137: TypePointer Uniform 16(float)
+ 146: TypeVector 16(float) 2
+ 159: TypeVector 16(float) 3
+ 172: 14(int) Constant 3
+ 175: TypePointer Uniform 19(f64vec4)
+ 184: TypePointer Uniform 18(float64_t)
+ 193: TypeVector 18(float64_t) 2
+ 206: TypeVector 18(float64_t) 3
+ 391: TypeBool
+ 397: TypePointer Input 7(ivec3)
+ 398(dti): 397(ptr) Variable Input
4(CSMain): 2 Function None 3
5: Label
- 362(dti): 8(ptr) Variable Function
- 366(param): 8(ptr) Variable Function
- 365: 7(ivec3) Load 364(dti)
- Store 362(dti) 365
- 367: 7(ivec3) Load 362(dti)
- Store 366(param) 367
- 368: 2 FunctionCall 11(@CSMain(vu3;) 366(param)
+ 396(dti): 8(ptr) Variable Function
+ 400(param): 8(ptr) Variable Function
+ 399: 7(ivec3) Load 398(dti)
+ Store 396(dti) 399
+ 401: 7(ivec3) Load 396(dti)
+ Store 400(param) 401
+ 402: 2 FunctionCall 11(@CSMain(vu3;) 400(param)
Return
FunctionEnd
11(@CSMain(vu3;): 2 Function None 9
@@ -2442,326 +2444,382 @@
53: 13(ivec4) Load 52
54: 51(ivec2) VectorShuffle 53 53 0 1
55: 51(ivec2) GroupNonUniformIAdd 35 InclusiveScan 54
- 56: 32(ptr) AccessChain 24(data) 25 48 25
- 57: 13(ivec4) Load 56
- 58: 13(ivec4) VectorShuffle 57 55 4 5 2 3
- Store 56 58
- 59: 27(ptr) AccessChain 10(dti) 26
- 60: 6(int) Load 59
+ 56: 42(ptr) AccessChain 24(data) 25 48 25 26
+ 57: 6(int) CompositeExtract 55 0
+ Store 56 57
+ 59: 42(ptr) AccessChain 24(data) 25 48 25 58
+ 60: 6(int) CompositeExtract 55 1
+ Store 59 60
61: 27(ptr) AccessChain 10(dti) 26
62: 6(int) Load 61
- 63: 32(ptr) AccessChain 24(data) 25 62 25
- 64: 13(ivec4) Load 63
- 65: 7(ivec3) VectorShuffle 64 64 0 1 2
- 66: 7(ivec3) GroupNonUniformIAdd 35 InclusiveScan 65
- 67: 32(ptr) AccessChain 24(data) 25 60 25
- 68: 13(ivec4) Load 67
- 69: 13(ivec4) VectorShuffle 68 66 4 5 6 3
- Store 67 69
- 70: 27(ptr) AccessChain 10(dti) 26
- 71: 6(int) Load 70
- 73: 27(ptr) AccessChain 10(dti) 26
- 74: 6(int) Load 73
- 76: 75(ptr) AccessChain 24(data) 25 74 72
- 77: 15(ivec4) Load 76
- 78: 15(ivec4) GroupNonUniformIAdd 35 InclusiveScan 77
- 79: 75(ptr) AccessChain 24(data) 25 71 72
- Store 79 78
- 80: 27(ptr) AccessChain 10(dti) 26
- 81: 6(int) Load 80
- 82: 27(ptr) AccessChain 10(dti) 26
- 83: 6(int) Load 82
- 85: 84(ptr) AccessChain 24(data) 25 83 72 26
- 86: 14(int) Load 85
- 87: 14(int) GroupNonUniformIAdd 35 InclusiveScan 86
- 88: 84(ptr) AccessChain 24(data) 25 81 72 26
- Store 88 87
- 89: 27(ptr) AccessChain 10(dti) 26
- 90: 6(int) Load 89
- 91: 27(ptr) AccessChain 10(dti) 26
- 92: 6(int) Load 91
- 94: 75(ptr) AccessChain 24(data) 25 92 72
- 95: 15(ivec4) Load 94
- 96: 93(ivec2) VectorShuffle 95 95 0 1
- 97: 93(ivec2) GroupNonUniformIAdd 35 InclusiveScan 96
- 98: 75(ptr) AccessChain 24(data) 25 90 72
- 99: 15(ivec4) Load 98
- 100: 15(ivec4) VectorShuffle 99 97 4 5 2 3
- Store 98 100
- 101: 27(ptr) AccessChain 10(dti) 26
- 102: 6(int) Load 101
- 103: 27(ptr) AccessChain 10(dti) 26
- 104: 6(int) Load 103
- 106: 75(ptr) AccessChain 24(data) 25 104 72
- 107: 15(ivec4) Load 106
- 108: 105(ivec3) VectorShuffle 107 107 0 1 2
- 109: 105(ivec3) GroupNonUniformIAdd 35 InclusiveScan 108
- 110: 75(ptr) AccessChain 24(data) 25 102 72
- 111: 15(ivec4) Load 110
- 112: 15(ivec4) VectorShuffle 111 109 4 5 6 3
- Store 110 112
- 113: 27(ptr) AccessChain 10(dti) 26
- 114: 6(int) Load 113
- 116: 27(ptr) AccessChain 10(dti) 26
- 117: 6(int) Load 116
- 119: 118(ptr) AccessChain 24(data) 25 117 115
- 120: 17(fvec4) Load 119
- 121: 17(fvec4) GroupNonUniformFAdd 35 InclusiveScan 120
- 122: 118(ptr) AccessChain 24(data) 25 114 115
- Store 122 121
+ 63: 27(ptr) AccessChain 10(dti) 26
+ 64: 6(int) Load 63
+ 65: 32(ptr) AccessChain 24(data) 25 64 25
+ 66: 13(ivec4) Load 65
+ 67: 7(ivec3) VectorShuffle 66 66 0 1 2
+ 68: 7(ivec3) GroupNonUniformIAdd 35 InclusiveScan 67
+ 69: 42(ptr) AccessChain 24(data) 25 62 25 26
+ 70: 6(int) CompositeExtract 68 0
+ Store 69 70
+ 71: 42(ptr) AccessChain 24(data) 25 62 25 58
+ 72: 6(int) CompositeExtract 68 1
+ Store 71 72
+ 74: 42(ptr) AccessChain 24(data) 25 62 25 73
+ 75: 6(int) CompositeExtract 68 2
+ Store 74 75
+ 76: 27(ptr) AccessChain 10(dti) 26
+ 77: 6(int) Load 76
+ 79: 27(ptr) AccessChain 10(dti) 26
+ 80: 6(int) Load 79
+ 82: 81(ptr) AccessChain 24(data) 25 80 78
+ 83: 15(ivec4) Load 82
+ 84: 15(ivec4) GroupNonUniformIAdd 35 InclusiveScan 83
+ 85: 81(ptr) AccessChain 24(data) 25 77 78
+ Store 85 84
+ 86: 27(ptr) AccessChain 10(dti) 26
+ 87: 6(int) Load 86
+ 88: 27(ptr) AccessChain 10(dti) 26
+ 89: 6(int) Load 88
+ 91: 90(ptr) AccessChain 24(data) 25 89 78 26
+ 92: 14(int) Load 91
+ 93: 14(int) GroupNonUniformIAdd 35 InclusiveScan 92
+ 94: 90(ptr) AccessChain 24(data) 25 87 78 26
+ Store 94 93
+ 95: 27(ptr) AccessChain 10(dti) 26
+ 96: 6(int) Load 95
+ 97: 27(ptr) AccessChain 10(dti) 26
+ 98: 6(int) Load 97
+ 100: 81(ptr) AccessChain 24(data) 25 98 78
+ 101: 15(ivec4) Load 100
+ 102: 99(ivec2) VectorShuffle 101 101 0 1
+ 103: 99(ivec2) GroupNonUniformIAdd 35 InclusiveScan 102
+ 104: 90(ptr) AccessChain 24(data) 25 96 78 26
+ 105: 14(int) CompositeExtract 103 0
+ Store 104 105
+ 106: 90(ptr) AccessChain 24(data) 25 96 78 58
+ 107: 14(int) CompositeExtract 103 1
+ Store 106 107
+ 108: 27(ptr) AccessChain 10(dti) 26
+ 109: 6(int) Load 108
+ 110: 27(ptr) AccessChain 10(dti) 26
+ 111: 6(int) Load 110
+ 113: 81(ptr) AccessChain 24(data) 25 111 78
+ 114: 15(ivec4) Load 113
+ 115: 112(ivec3) VectorShuffle 114 114 0 1 2
+ 116: 112(ivec3) GroupNonUniformIAdd 35 InclusiveScan 115
+ 117: 90(ptr) AccessChain 24(data) 25 109 78 26
+ 118: 14(int) CompositeExtract 116 0
+ Store 117 118
+ 119: 90(ptr) AccessChain 24(data) 25 109 78 58
+ 120: 14(int) CompositeExtract 116 1
+ Store 119 120
+ 121: 90(ptr) AccessChain 24(data) 25 109 78 73
+ 122: 14(int) CompositeExtract 116 2
+ Store 121 122
123: 27(ptr) AccessChain 10(dti) 26
124: 6(int) Load 123
- 125: 27(ptr) AccessChain 10(dti) 26
- 126: 6(int) Load 125
- 128: 127(ptr) AccessChain 24(data) 25 126 115 26
- 129: 16(float) Load 128
- 130: 16(float) GroupNonUniformFAdd 35 InclusiveScan 129
- 131: 127(ptr) AccessChain 24(data) 25 124 115 26
- Store 131 130
- 132: 27(ptr) AccessChain 10(dti) 26
- 133: 6(int) Load 132
- 134: 27(ptr) AccessChain 10(dti) 26
- 135: 6(int) Load 134
- 137: 118(ptr) AccessChain 24(data) 25 135 115
- 138: 17(fvec4) Load 137
- 139: 136(fvec2) VectorShuffle 138 138 0 1
- 140: 136(fvec2) GroupNonUniformFAdd 35 InclusiveScan 139
- 141: 118(ptr) AccessChain 24(data) 25 133 115
- 142: 17(fvec4) Load 141
- 143: 17(fvec4) VectorShuffle 142 140 4 5 2 3
- Store 141 143
+ 126: 27(ptr) AccessChain 10(dti) 26
+ 127: 6(int) Load 126
+ 129: 128(ptr) AccessChain 24(data) 25 127 125
+ 130: 17(fvec4) Load 129
+ 131: 17(fvec4) GroupNonUniformFAdd 35 InclusiveScan 130
+ 132: 128(ptr) AccessChain 24(data) 25 124 125
+ Store 132 131
+ 133: 27(ptr) AccessChain 10(dti) 26
+ 134: 6(int) Load 133
+ 135: 27(ptr) AccessChain 10(dti) 26
+ 136: 6(int) Load 135
+ 138: 137(ptr) AccessChain 24(data) 25 136 125 26
+ 139: 16(float) Load 138
+ 140: 16(float) GroupNonUniformFAdd 35 InclusiveScan 139
+ 141: 137(ptr) AccessChain 24(data) 25 134 125 26
+ Store 141 140
+ 142: 27(ptr) AccessChain 10(dti) 26
+ 143: 6(int) Load 142
144: 27(ptr) AccessChain 10(dti) 26
145: 6(int) Load 144
- 146: 27(ptr) AccessChain 10(dti) 26
- 147: 6(int) Load 146
- 149: 118(ptr) AccessChain 24(data) 25 147 115
- 150: 17(fvec4) Load 149
- 151: 148(fvec3) VectorShuffle 150 150 0 1 2
- 152: 148(fvec3) GroupNonUniformFAdd 35 InclusiveScan 151
- 153: 118(ptr) AccessChain 24(data) 25 145 115
- 154: 17(fvec4) Load 153
- 155: 17(fvec4) VectorShuffle 154 152 4 5 6 3
- Store 153 155
- 156: 27(ptr) AccessChain 10(dti) 26
- 157: 6(int) Load 156
- 159: 27(ptr) AccessChain 10(dti) 26
- 160: 6(int) Load 159
- 162: 161(ptr) AccessChain 24(data) 25 160 158
- 163: 19(f64vec4) Load 162
- 164: 19(f64vec4) GroupNonUniformFAdd 35 InclusiveScan 163
- 165: 161(ptr) AccessChain 24(data) 25 157 158
- Store 165 164
- 166: 27(ptr) AccessChain 10(dti) 26
- 167: 6(int) Load 166
- 168: 27(ptr) AccessChain 10(dti) 26
- 169: 6(int) Load 168
- 171: 170(ptr) AccessChain 24(data) 25 169 158 26
- 172:18(float64_t) Load 171
- 173:18(float64_t) GroupNonUniformFAdd 35 InclusiveScan 172
- 174: 170(ptr) AccessChain 24(data) 25 167 158 26
- Store 174 173
- 175: 27(ptr) AccessChain 10(dti) 26
- 176: 6(int) Load 175
- 177: 27(ptr) AccessChain 10(dti) 26
- 178: 6(int) Load 177
- 180: 161(ptr) AccessChain 24(data) 25 178 158
- 181: 19(f64vec4) Load 180
- 182:179(f64vec2) VectorShuffle 181 181 0 1
- 183:179(f64vec2) GroupNonUniformFAdd 35 InclusiveScan 182
- 184: 161(ptr) AccessChain 24(data) 25 176 158
- 185: 19(f64vec4) Load 184
- 186: 19(f64vec4) VectorShuffle 185 183 4 5 2 3
- Store 184 186
- 187: 27(ptr) AccessChain 10(dti) 26
- 188: 6(int) Load 187
+ 147: 128(ptr) AccessChain 24(data) 25 145 125
+ 148: 17(fvec4) Load 147
+ 149: 146(fvec2) VectorShuffle 148 148 0 1
+ 150: 146(fvec2) GroupNonUniformFAdd 35 InclusiveScan 149
+ 151: 137(ptr) AccessChain 24(data) 25 143 125 26
+ 152: 16(float) CompositeExtract 150 0
+ Store 151 152
+ 153: 137(ptr) AccessChain 24(data) 25 143 125 58
+ 154: 16(float) CompositeExtract 150 1
+ Store 153 154
+ 155: 27(ptr) AccessChain 10(dti) 26
+ 156: 6(int) Load 155
+ 157: 27(ptr) AccessChain 10(dti) 26
+ 158: 6(int) Load 157
+ 160: 128(ptr) AccessChain 24(data) 25 158 125
+ 161: 17(fvec4) Load 160
+ 162: 159(fvec3) VectorShuffle 161 161 0 1 2
+ 163: 159(fvec3) GroupNonUniformFAdd 35 InclusiveScan 162
+ 164: 137(ptr) AccessChain 24(data) 25 156 125 26
+ 165: 16(float) CompositeExtract 163 0
+ Store 164 165
+ 166: 137(ptr) AccessChain 24(data) 25 156 125 58
+ 167: 16(float) CompositeExtract 163 1
+ Store 166 167
+ 168: 137(ptr) AccessChain 24(data) 25 156 125 73
+ 169: 16(float) CompositeExtract 163 2
+ Store 168 169
+ 170: 27(ptr) AccessChain 10(dti) 26
+ 171: 6(int) Load 170
+ 173: 27(ptr) AccessChain 10(dti) 26
+ 174: 6(int) Load 173
+ 176: 175(ptr) AccessChain 24(data) 25 174 172
+ 177: 19(f64vec4) Load 176
+ 178: 19(f64vec4) GroupNonUniformFAdd 35 InclusiveScan 177
+ 179: 175(ptr) AccessChain 24(data) 25 171 172
+ Store 179 178
+ 180: 27(ptr) AccessChain 10(dti) 26
+ 181: 6(int) Load 180
+ 182: 27(ptr) AccessChain 10(dti) 26
+ 183: 6(int) Load 182
+ 185: 184(ptr) AccessChain 24(data) 25 183 172 26
+ 186:18(float64_t) Load 185
+ 187:18(float64_t) GroupNonUniformFAdd 35 InclusiveScan 186
+ 188: 184(ptr) AccessChain 24(data) 25 181 172 26
+ Store 188 187
189: 27(ptr) AccessChain 10(dti) 26
190: 6(int) Load 189
- 192: 161(ptr) AccessChain 24(data) 25 190 158
- 193: 19(f64vec4) Load 192
- 194:191(f64vec3) VectorShuffle 193 193 0 1 2
- 195:191(f64vec3) GroupNonUniformFAdd 35 InclusiveScan 194
- 196: 161(ptr) AccessChain 24(data) 25 188 158
- 197: 19(f64vec4) Load 196
- 198: 19(f64vec4) VectorShuffle 197 195 4 5 6 3
- Store 196 198
- 199: 27(ptr) AccessChain 10(dti) 26
- 200: 6(int) Load 199
- 201: 27(ptr) AccessChain 10(dti) 26
- 202: 6(int) Load 201
- 203: 32(ptr) AccessChain 24(data) 25 202 25
- 204: 13(ivec4) Load 203
- 205: 13(ivec4) GroupNonUniformIMul 35 InclusiveScan 204
- 206: 32(ptr) AccessChain 24(data) 25 200 25
- Store 206 205
- 207: 27(ptr) AccessChain 10(dti) 26
- 208: 6(int) Load 207
- 209: 27(ptr) AccessChain 10(dti) 26
- 210: 6(int) Load 209
- 211: 42(ptr) AccessChain 24(data) 25 210 25 26
- 212: 6(int) Load 211
- 213: 6(int) GroupNonUniformIMul 35 InclusiveScan 212
- 214: 42(ptr) AccessChain 24(data) 25 208 25 26
- Store 214 213
- 215: 27(ptr) AccessChain 10(dti) 26
- 216: 6(int) Load 215
+ 191: 27(ptr) AccessChain 10(dti) 26
+ 192: 6(int) Load 191
+ 194: 175(ptr) AccessChain 24(data) 25 192 172
+ 195: 19(f64vec4) Load 194
+ 196:193(f64vec2) VectorShuffle 195 195 0 1
+ 197:193(f64vec2) GroupNonUniformFAdd 35 InclusiveScan 196
+ 198: 184(ptr) AccessChain 24(data) 25 190 172 26
+ 199:18(float64_t) CompositeExtract 197 0
+ Store 198 199
+ 200: 184(ptr) AccessChain 24(data) 25 190 172 58
+ 201:18(float64_t) CompositeExtract 197 1
+ Store 200 201
+ 202: 27(ptr) AccessChain 10(dti) 26
+ 203: 6(int) Load 202
+ 204: 27(ptr) AccessChain 10(dti) 26
+ 205: 6(int) Load 204
+ 207: 175(ptr) AccessChain 24(data) 25 205 172
+ 208: 19(f64vec4) Load 207
+ 209:206(f64vec3) VectorShuffle 208 208 0 1 2
+ 210:206(f64vec3) GroupNonUniformFAdd 35 InclusiveScan 209
+ 211: 184(ptr) AccessChain 24(data) 25 203 172 26
+ 212:18(float64_t) CompositeExtract 210 0
+ Store 211 212
+ 213: 184(ptr) AccessChain 24(data) 25 203 172 58
+ 214:18(float64_t) CompositeExtract 210 1
+ Store 213 214
+ 215: 184(ptr) AccessChain 24(data) 25 203 172 73
+ 216:18(float64_t) CompositeExtract 210 2
+ Store 215 216
217: 27(ptr) AccessChain 10(dti) 26
218: 6(int) Load 217
- 219: 32(ptr) AccessChain 24(data) 25 218 25
- 220: 13(ivec4) Load 219
- 221: 51(ivec2) VectorShuffle 220 220 0 1
- 222: 51(ivec2) GroupNonUniformIMul 35 InclusiveScan 221
- 223: 32(ptr) AccessChain 24(data) 25 216 25
- 224: 13(ivec4) Load 223
- 225: 13(ivec4) VectorShuffle 224 222 4 5 2 3
- Store 223 225
- 226: 27(ptr) AccessChain 10(dti) 26
- 227: 6(int) Load 226
- 228: 27(ptr) AccessChain 10(dti) 26
- 229: 6(int) Load 228
- 230: 32(ptr) AccessChain 24(data) 25 229 25
- 231: 13(ivec4) Load 230
- 232: 7(ivec3) VectorShuffle 231 231 0 1 2
- 233: 7(ivec3) GroupNonUniformIMul 35 InclusiveScan 232
- 234: 32(ptr) AccessChain 24(data) 25 227 25
- 235: 13(ivec4) Load 234
- 236: 13(ivec4) VectorShuffle 235 233 4 5 6 3
- Store 234 236
- 237: 27(ptr) AccessChain 10(dti) 26
- 238: 6(int) Load 237
- 239: 27(ptr) AccessChain 10(dti) 26
- 240: 6(int) Load 239
- 241: 75(ptr) AccessChain 24(data) 25 240 72
- 242: 15(ivec4) Load 241
- 243: 15(ivec4) GroupNonUniformIMul 35 InclusiveScan 242
- 244: 75(ptr) AccessChain 24(data) 25 238 72
- Store 244 243
+ 219: 27(ptr) AccessChain 10(dti) 26
+ 220: 6(int) Load 219
+ 221: 32(ptr) AccessChain 24(data) 25 220 25
+ 222: 13(ivec4) Load 221
+ 223: 13(ivec4) GroupNonUniformIMul 35 InclusiveScan 222
+ 224: 32(ptr) AccessChain 24(data) 25 218 25
+ Store 224 223
+ 225: 27(ptr) AccessChain 10(dti) 26
+ 226: 6(int) Load 225
+ 227: 27(ptr) AccessChain 10(dti) 26
+ 228: 6(int) Load 227
+ 229: 42(ptr) AccessChain 24(data) 25 228 25 26
+ 230: 6(int) Load 229
+ 231: 6(int) GroupNonUniformIMul 35 InclusiveScan 230
+ 232: 42(ptr) AccessChain 24(data) 25 226 25 26
+ Store 232 231
+ 233: 27(ptr) AccessChain 10(dti) 26
+ 234: 6(int) Load 233
+ 235: 27(ptr) AccessChain 10(dti) 26
+ 236: 6(int) Load 235
+ 237: 32(ptr) AccessChain 24(data) 25 236 25
+ 238: 13(ivec4) Load 237
+ 239: 51(ivec2) VectorShuffle 238 238 0 1
+ 240: 51(ivec2) GroupNonUniformIMul 35 InclusiveScan 239
+ 241: 42(ptr) AccessChain 24(data) 25 234 25 26
+ 242: 6(int) CompositeExtract 240 0
+ Store 241 242
+ 243: 42(ptr) AccessChain 24(data) 25 234 25 58
+ 244: 6(int) CompositeExtract 240 1
+ Store 243 244
245: 27(ptr) AccessChain 10(dti) 26
246: 6(int) Load 245
247: 27(ptr) AccessChain 10(dti) 26
248: 6(int) Load 247
- 249: 84(ptr) AccessChain 24(data) 25 248 72 26
- 250: 14(int) Load 249
- 251: 14(int) GroupNonUniformIMul 35 InclusiveScan 250
- 252: 84(ptr) AccessChain 24(data) 25 246 72 26
- Store 252 251
- 253: 27(ptr) AccessChain 10(dti) 26
- 254: 6(int) Load 253
- 255: 27(ptr) AccessChain 10(dti) 26
- 256: 6(int) Load 255
- 257: 75(ptr) AccessChain 24(data) 25 256 72
- 258: 15(ivec4) Load 257
- 259: 93(ivec2) VectorShuffle 258 258 0 1
- 260: 93(ivec2) GroupNonUniformIMul 35 InclusiveScan 259
- 261: 75(ptr) AccessChain 24(data) 25 254 72
- 262: 15(ivec4) Load 261
- 263: 15(ivec4) VectorShuffle 262 260 4 5 2 3
- Store 261 263
- 264: 27(ptr) AccessChain 10(dti) 26
- 265: 6(int) Load 264
- 266: 27(ptr) AccessChain 10(dti) 26
- 267: 6(int) Load 266
- 268: 75(ptr) AccessChain 24(data) 25 267 72
- 269: 15(ivec4) Load 268
- 270: 105(ivec3) VectorShuffle 269 269 0 1 2
- 271: 105(ivec3) GroupNonUniformIMul 35 InclusiveScan 270
- 272: 75(ptr) AccessChain 24(data) 25 265 72
- 273: 15(ivec4) Load 272
- 274: 15(ivec4) VectorShuffle 273 271 4 5 6 3
- Store 272 274
+ 249: 32(ptr) AccessChain 24(data) 25 248 25
+ 250: 13(ivec4) Load 249
+ 251: 7(ivec3) VectorShuffle 250 250 0 1 2
+ 252: 7(ivec3) GroupNonUniformIMul 35 InclusiveScan 251
+ 253: 42(ptr) AccessChain 24(data) 25 246 25 26
+ 254: 6(int) CompositeExtract 252 0
+ Store 253 254
+ 255: 42(ptr) AccessChain 24(data) 25 246 25 58
+ 256: 6(int) CompositeExtract 252 1
+ Store 255 256
+ 257: 42(ptr) AccessChain 24(data) 25 246 25 73
+ 258: 6(int) CompositeExtract 252 2
+ Store 257 258
+ 259: 27(ptr) AccessChain 10(dti) 26
+ 260: 6(int) Load 259
+ 261: 27(ptr) AccessChain 10(dti) 26
+ 262: 6(int) Load 261
+ 263: 81(ptr) AccessChain 24(data) 25 262 78
+ 264: 15(ivec4) Load 263
+ 265: 15(ivec4) GroupNonUniformIMul 35 InclusiveScan 264
+ 266: 81(ptr) AccessChain 24(data) 25 260 78
+ Store 266 265
+ 267: 27(ptr) AccessChain 10(dti) 26
+ 268: 6(int) Load 267
+ 269: 27(ptr) AccessChain 10(dti) 26
+ 270: 6(int) Load 269
+ 271: 90(ptr) AccessChain 24(data) 25 270 78 26
+ 272: 14(int) Load 271
+ 273: 14(int) GroupNonUniformIMul 35 InclusiveScan 272
+ 274: 90(ptr) AccessChain 24(data) 25 268 78 26
+ Store 274 273
275: 27(ptr) AccessChain 10(dti) 26
276: 6(int) Load 275
277: 27(ptr) AccessChain 10(dti) 26
278: 6(int) Load 277
- 279: 118(ptr) AccessChain 24(data) 25 278 115
- 280: 17(fvec4) Load 279
- 281: 17(fvec4) GroupNonUniformFMul 35 InclusiveScan 280
- 282: 118(ptr) AccessChain 24(data) 25 276 115
- Store 282 281
- 283: 27(ptr) AccessChain 10(dti) 26
- 284: 6(int) Load 283
- 285: 27(ptr) AccessChain 10(dti) 26
- 286: 6(int) Load 285
- 287: 127(ptr) AccessChain 24(data) 25 286 115 26
- 288: 16(float) Load 287
- 289: 16(float) GroupNonUniformFMul 35 InclusiveScan 288
- 290: 127(ptr) AccessChain 24(data) 25 284 115 26
- Store 290 289
- 291: 27(ptr) AccessChain 10(dti) 26
- 292: 6(int) Load 291
- 293: 27(ptr) AccessChain 10(dti) 26
- 294: 6(int) Load 293
- 295: 118(ptr) AccessChain 24(data) 25 294 115
- 296: 17(fvec4) Load 295
- 297: 136(fvec2) VectorShuffle 296 296 0 1
- 298: 136(fvec2) GroupNonUniformFMul 35 InclusiveScan 297
- 299: 118(ptr) AccessChain 24(data) 25 292 115
- 300: 17(fvec4) Load 299
- 301: 17(fvec4) VectorShuffle 300 298 4 5 2 3
- Store 299 301
- 302: 27(ptr) AccessChain 10(dti) 26
- 303: 6(int) Load 302
- 304: 27(ptr) AccessChain 10(dti) 26
- 305: 6(int) Load 304
- 306: 118(ptr) AccessChain 24(data) 25 305 115
- 307: 17(fvec4) Load 306
- 308: 148(fvec3) VectorShuffle 307 307 0 1 2
- 309: 148(fvec3) GroupNonUniformFMul 35 InclusiveScan 308
- 310: 118(ptr) AccessChain 24(data) 25 303 115
- 311: 17(fvec4) Load 310
- 312: 17(fvec4) VectorShuffle 311 309 4 5 6 3
- Store 310 312
- 313: 27(ptr) AccessChain 10(dti) 26
- 314: 6(int) Load 313
- 315: 27(ptr) AccessChain 10(dti) 26
- 316: 6(int) Load 315
- 317: 161(ptr) AccessChain 24(data) 25 316 158
- 318: 19(f64vec4) Load 317
- 319: 19(f64vec4) GroupNonUniformFMul 35 InclusiveScan 318
- 320: 161(ptr) AccessChain 24(data) 25 314 158
- Store 320 319
- 321: 27(ptr) AccessChain 10(dti) 26
- 322: 6(int) Load 321
- 323: 27(ptr) AccessChain 10(dti) 26
- 324: 6(int) Load 323
- 325: 170(ptr) AccessChain 24(data) 25 324 158 26
- 326:18(float64_t) Load 325
- 327:18(float64_t) GroupNonUniformFMul 35 InclusiveScan 326
- 328: 170(ptr) AccessChain 24(data) 25 322 158 26
- Store 328 327
+ 279: 81(ptr) AccessChain 24(data) 25 278 78
+ 280: 15(ivec4) Load 279
+ 281: 99(ivec2) VectorShuffle 280 280 0 1
+ 282: 99(ivec2) GroupNonUniformIMul 35 InclusiveScan 281
+ 283: 90(ptr) AccessChain 24(data) 25 276 78 26
+ 284: 14(int) CompositeExtract 282 0
+ Store 283 284
+ 285: 90(ptr) AccessChain 24(data) 25 276 78 58
+ 286: 14(int) CompositeExtract 282 1
+ Store 285 286
+ 287: 27(ptr) AccessChain 10(dti) 26
+ 288: 6(int) Load 287
+ 289: 27(ptr) AccessChain 10(dti) 26
+ 290: 6(int) Load 289
+ 291: 81(ptr) AccessChain 24(data) 25 290 78
+ 292: 15(ivec4) Load 291
+ 293: 112(ivec3) VectorShuffle 292 292 0 1 2
+ 294: 112(ivec3) GroupNonUniformIMul 35 InclusiveScan 293
+ 295: 90(ptr) AccessChain 24(data) 25 288 78 26
+ 296: 14(int) CompositeExtract 294 0
+ Store 295 296
+ 297: 90(ptr) AccessChain 24(data) 25 288 78 58
+ 298: 14(int) CompositeExtract 294 1
+ Store 297 298
+ 299: 90(ptr) AccessChain 24(data) 25 288 78 73
+ 300: 14(int) CompositeExtract 294 2
+ Store 299 300
+ 301: 27(ptr) AccessChain 10(dti) 26
+ 302: 6(int) Load 301
+ 303: 27(ptr) AccessChain 10(dti) 26
+ 304: 6(int) Load 303
+ 305: 128(ptr) AccessChain 24(data) 25 304 125
+ 306: 17(fvec4) Load 305
+ 307: 17(fvec4) GroupNonUniformFMul 35 InclusiveScan 306
+ 308: 128(ptr) AccessChain 24(data) 25 302 125
+ Store 308 307
+ 309: 27(ptr) AccessChain 10(dti) 26
+ 310: 6(int) Load 309
+ 311: 27(ptr) AccessChain 10(dti) 26
+ 312: 6(int) Load 311
+ 313: 137(ptr) AccessChain 24(data) 25 312 125 26
+ 314: 16(float) Load 313
+ 315: 16(float) GroupNonUniformFMul 35 InclusiveScan 314
+ 316: 137(ptr) AccessChain 24(data) 25 310 125 26
+ Store 316 315
+ 317: 27(ptr) AccessChain 10(dti) 26
+ 318: 6(int) Load 317
+ 319: 27(ptr) AccessChain 10(dti) 26
+ 320: 6(int) Load 319
+ 321: 128(ptr) AccessChain 24(data) 25 320 125
+ 322: 17(fvec4) Load 321
+ 323: 146(fvec2) VectorShuffle 322 322 0 1
+ 324: 146(fvec2) GroupNonUniformFMul 35 InclusiveScan 323
+ 325: 137(ptr) AccessChain 24(data) 25 318 125 26
+ 326: 16(float) CompositeExtract 324 0
+ Store 325 326
+ 327: 137(ptr) AccessChain 24(data) 25 318 125 58
+ 328: 16(float) CompositeExtract 324 1
+ Store 327 328
329: 27(ptr) AccessChain 10(dti) 26
330: 6(int) Load 329
331: 27(ptr) AccessChain 10(dti) 26
332: 6(int) Load 331
- 333: 161(ptr) AccessChain 24(data) 25 332 158
- 334: 19(f64vec4) Load 333
- 335:179(f64vec2) VectorShuffle 334 334 0 1
- 336:179(f64vec2) GroupNonUniformFMul 35 InclusiveScan 335
- 337: 161(ptr) AccessChain 24(data) 25 330 158
- 338: 19(f64vec4) Load 337
- 339: 19(f64vec4) VectorShuffle 338 336 4 5 2 3
- Store 337 339
- 340: 27(ptr) AccessChain 10(dti) 26
- 341: 6(int) Load 340
- 342: 27(ptr) AccessChain 10(dti) 26
- 343: 6(int) Load 342
- 344: 161(ptr) AccessChain 24(data) 25 343 158
- 345: 19(f64vec4) Load 344
- 346:191(f64vec3) VectorShuffle 345 345 0 1 2
- 347:191(f64vec3) GroupNonUniformFMul 35 InclusiveScan 346
- 348: 161(ptr) AccessChain 24(data) 25 341 158
- 349: 19(f64vec4) Load 348
- 350: 19(f64vec4) VectorShuffle 349 347 4 5 6 3
- Store 348 350
+ 333: 128(ptr) AccessChain 24(data) 25 332 125
+ 334: 17(fvec4) Load 333
+ 335: 159(fvec3) VectorShuffle 334 334 0 1 2
+ 336: 159(fvec3) GroupNonUniformFMul 35 InclusiveScan 335
+ 337: 137(ptr) AccessChain 24(data) 25 330 125 26
+ 338: 16(float) CompositeExtract 336 0
+ Store 337 338
+ 339: 137(ptr) AccessChain 24(data) 25 330 125 58
+ 340: 16(float) CompositeExtract 336 1
+ Store 339 340
+ 341: 137(ptr) AccessChain 24(data) 25 330 125 73
+ 342: 16(float) CompositeExtract 336 2
+ Store 341 342
+ 343: 27(ptr) AccessChain 10(dti) 26
+ 344: 6(int) Load 343
+ 345: 27(ptr) AccessChain 10(dti) 26
+ 346: 6(int) Load 345
+ 347: 175(ptr) AccessChain 24(data) 25 346 172
+ 348: 19(f64vec4) Load 347
+ 349: 19(f64vec4) GroupNonUniformFMul 35 InclusiveScan 348
+ 350: 175(ptr) AccessChain 24(data) 25 344 172
+ Store 350 349
351: 27(ptr) AccessChain 10(dti) 26
352: 6(int) Load 351
353: 27(ptr) AccessChain 10(dti) 26
354: 6(int) Load 353
- 355: 42(ptr) AccessChain 24(data) 25 354 25 26
- 356: 6(int) Load 355
- 358: 357(bool) IEqual 356 26
- 359: 13(ivec4) GroupNonUniformBallot 35 358
- 360: 6(int) GroupNonUniformBallotBitCount 35 InclusiveScan 359
- 361: 42(ptr) AccessChain 24(data) 25 352 25 26
- Store 361 360
+ 355: 184(ptr) AccessChain 24(data) 25 354 172 26
+ 356:18(float64_t) Load 355
+ 357:18(float64_t) GroupNonUniformFMul 35 InclusiveScan 356
+ 358: 184(ptr) AccessChain 24(data) 25 352 172 26
+ Store 358 357
+ 359: 27(ptr) AccessChain 10(dti) 26
+ 360: 6(int) Load 359
+ 361: 27(ptr) AccessChain 10(dti) 26
+ 362: 6(int) Load 361
+ 363: 175(ptr) AccessChain 24(data) 25 362 172
+ 364: 19(f64vec4) Load 363
+ 365:193(f64vec2) VectorShuffle 364 364 0 1
+ 366:193(f64vec2) GroupNonUniformFMul 35 InclusiveScan 365
+ 367: 184(ptr) AccessChain 24(data) 25 360 172 26
+ 368:18(float64_t) CompositeExtract 366 0
+ Store 367 368
+ 369: 184(ptr) AccessChain 24(data) 25 360 172 58
+ 370:18(float64_t) CompositeExtract 366 1
+ Store 369 370
+ 371: 27(ptr) AccessChain 10(dti) 26
+ 372: 6(int) Load 371
+ 373: 27(ptr) AccessChain 10(dti) 26
+ 374: 6(int) Load 373
+ 375: 175(ptr) AccessChain 24(data) 25 374 172
+ 376: 19(f64vec4) Load 375
+ 377:206(f64vec3) VectorShuffle 376 376 0 1 2
+ 378:206(f64vec3) GroupNonUniformFMul 35 InclusiveScan 377
+ 379: 184(ptr) AccessChain 24(data) 25 372 172 26
+ 380:18(float64_t) CompositeExtract 378 0
+ Store 379 380
+ 381: 184(ptr) AccessChain 24(data) 25 372 172 58
+ 382:18(float64_t) CompositeExtract 378 1
+ Store 381 382
+ 383: 184(ptr) AccessChain 24(data) 25 372 172 73
+ 384:18(float64_t) CompositeExtract 378 2
+ Store 383 384
+ 385: 27(ptr) AccessChain 10(dti) 26
+ 386: 6(int) Load 385
+ 387: 27(ptr) AccessChain 10(dti) 26
+ 388: 6(int) Load 387
+ 389: 42(ptr) AccessChain 24(data) 25 388 25 26
+ 390: 6(int) Load 389
+ 392: 391(bool) IEqual 390 26
+ 393: 13(ivec4) GroupNonUniformBallot 35 392
+ 394: 6(int) GroupNonUniformBallotBitCount 35 InclusiveScan 393
+ 395: 42(ptr) AccessChain 24(data) 25 386 25 26
+ Store 395 394
Return
FunctionEnd
diff --git a/Test/baseResults/hlsl.wavequad.comp.out b/Test/baseResults/hlsl.wavequad.comp.out
index 1647c7d..e4311c7 100644
--- a/Test/baseResults/hlsl.wavequad.comp.out
+++ b/Test/baseResults/hlsl.wavequad.comp.out
@@ -8027,7 +8027,7 @@
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 1120
+// Id's are bound by 1232
Capability Shader
Capability Float64
@@ -8035,7 +8035,7 @@
Capability GroupNonUniformQuad
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint GLCompute 4 "CSMain" 1115
+ EntryPoint GLCompute 4 "CSMain" 1227
ExecutionMode 4 LocalSize 32 16 1
Source HLSL 500
Name 4 "CSMain"
@@ -8049,9 +8049,9 @@
Name 22 "data"
MemberName 22(data) 0 "@data"
Name 24 "data"
- Name 1113 "dti"
- Name 1115 "dti"
- Name 1117 "param"
+ Name 1225 "dti"
+ Name 1227 "dti"
+ Name 1229 "param"
MemberDecorate 20(Types) 0 Offset 0
MemberDecorate 20(Types) 1 Offset 16
MemberDecorate 20(Types) 2 Offset 32
@@ -8061,7 +8061,7 @@
Decorate 22(data) BufferBlock
Decorate 24(data) DescriptorSet 0
Decorate 24(data) Binding 0
- Decorate 1115(dti) BuiltIn GlobalInvocationId
+ Decorate 1227(dti) BuiltIn GlobalInvocationId
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -8087,34 +8087,34 @@
35: 6(int) Constant 3
42: TypePointer Uniform 6(int)
51: TypeVector 6(int) 2
- 72: 14(int) Constant 1
- 75: TypePointer Uniform 15(ivec4)
- 84: TypePointer Uniform 14(int)
- 93: TypeVector 14(int) 2
- 105: TypeVector 14(int) 3
- 115: 14(int) Constant 2
- 118: TypePointer Uniform 17(fvec4)
- 127: TypePointer Uniform 16(float)
- 136: TypeVector 16(float) 2
- 148: TypeVector 16(float) 3
- 158: 14(int) Constant 3
- 161: TypePointer Uniform 19(f64vec4)
- 170: TypePointer Uniform 18(float64_t)
- 179: TypeVector 18(float64_t) 2
- 191: TypeVector 18(float64_t) 3
- 205: 6(int) Constant 1
- 358: 6(int) Constant 2
- 1114: TypePointer Input 7(ivec3)
- 1115(dti): 1114(ptr) Variable Input
+ 58: 6(int) Constant 1
+ 73: 6(int) Constant 2
+ 78: 14(int) Constant 1
+ 81: TypePointer Uniform 15(ivec4)
+ 90: TypePointer Uniform 14(int)
+ 99: TypeVector 14(int) 2
+ 112: TypeVector 14(int) 3
+ 125: 14(int) Constant 2
+ 128: TypePointer Uniform 17(fvec4)
+ 137: TypePointer Uniform 16(float)
+ 146: TypeVector 16(float) 2
+ 159: TypeVector 16(float) 3
+ 172: 14(int) Constant 3
+ 175: TypePointer Uniform 19(f64vec4)
+ 184: TypePointer Uniform 18(float64_t)
+ 193: TypeVector 18(float64_t) 2
+ 206: TypeVector 18(float64_t) 3
+ 1226: TypePointer Input 7(ivec3)
+ 1227(dti): 1226(ptr) Variable Input
4(CSMain): 2 Function None 3
5: Label
- 1113(dti): 8(ptr) Variable Function
- 1117(param): 8(ptr) Variable Function
- 1116: 7(ivec3) Load 1115(dti)
- Store 1113(dti) 1116
- 1118: 7(ivec3) Load 1113(dti)
- Store 1117(param) 1118
- 1119: 2 FunctionCall 11(@CSMain(vu3;) 1117(param)
+ 1225(dti): 8(ptr) Variable Function
+ 1229(param): 8(ptr) Variable Function
+ 1228: 7(ivec3) Load 1227(dti)
+ Store 1225(dti) 1228
+ 1230: 7(ivec3) Load 1225(dti)
+ Store 1229(param) 1230
+ 1231: 2 FunctionCall 11(@CSMain(vu3;) 1229(param)
Return
FunctionEnd
11(@CSMain(vu3;): 2 Function None 9
@@ -8146,1155 +8146,1351 @@
53: 13(ivec4) Load 52
54: 51(ivec2) VectorShuffle 53 53 0 1
55: 51(ivec2) GroupNonUniformQuadBroadcast 35 54 26
- 56: 32(ptr) AccessChain 24(data) 25 48 25
- 57: 13(ivec4) Load 56
- 58: 13(ivec4) VectorShuffle 57 55 4 5 2 3
- Store 56 58
- 59: 27(ptr) AccessChain 10(dti) 26
- 60: 6(int) Load 59
+ 56: 42(ptr) AccessChain 24(data) 25 48 25 26
+ 57: 6(int) CompositeExtract 55 0
+ Store 56 57
+ 59: 42(ptr) AccessChain 24(data) 25 48 25 58
+ 60: 6(int) CompositeExtract 55 1
+ Store 59 60
61: 27(ptr) AccessChain 10(dti) 26
62: 6(int) Load 61
- 63: 32(ptr) AccessChain 24(data) 25 62 25
- 64: 13(ivec4) Load 63
- 65: 7(ivec3) VectorShuffle 64 64 0 1 2
- 66: 7(ivec3) GroupNonUniformQuadBroadcast 35 65 26
- 67: 32(ptr) AccessChain 24(data) 25 60 25
- 68: 13(ivec4) Load 67
- 69: 13(ivec4) VectorShuffle 68 66 4 5 6 3
- Store 67 69
- 70: 27(ptr) AccessChain 10(dti) 26
- 71: 6(int) Load 70
- 73: 27(ptr) AccessChain 10(dti) 26
- 74: 6(int) Load 73
- 76: 75(ptr) AccessChain 24(data) 25 74 72
- 77: 15(ivec4) Load 76
- 78: 15(ivec4) GroupNonUniformQuadBroadcast 35 77 26
- 79: 75(ptr) AccessChain 24(data) 25 71 72
- Store 79 78
- 80: 27(ptr) AccessChain 10(dti) 26
- 81: 6(int) Load 80
- 82: 27(ptr) AccessChain 10(dti) 26
- 83: 6(int) Load 82
- 85: 84(ptr) AccessChain 24(data) 25 83 72 26
- 86: 14(int) Load 85
- 87: 14(int) GroupNonUniformQuadBroadcast 35 86 26
- 88: 84(ptr) AccessChain 24(data) 25 81 72 26
- Store 88 87
- 89: 27(ptr) AccessChain 10(dti) 26
- 90: 6(int) Load 89
- 91: 27(ptr) AccessChain 10(dti) 26
- 92: 6(int) Load 91
- 94: 75(ptr) AccessChain 24(data) 25 92 72
- 95: 15(ivec4) Load 94
- 96: 93(ivec2) VectorShuffle 95 95 0 1
- 97: 93(ivec2) GroupNonUniformQuadBroadcast 35 96 26
- 98: 75(ptr) AccessChain 24(data) 25 90 72
- 99: 15(ivec4) Load 98
- 100: 15(ivec4) VectorShuffle 99 97 4 5 2 3
- Store 98 100
- 101: 27(ptr) AccessChain 10(dti) 26
- 102: 6(int) Load 101
- 103: 27(ptr) AccessChain 10(dti) 26
- 104: 6(int) Load 103
- 106: 75(ptr) AccessChain 24(data) 25 104 72
- 107: 15(ivec4) Load 106
- 108: 105(ivec3) VectorShuffle 107 107 0 1 2
- 109: 105(ivec3) GroupNonUniformQuadBroadcast 35 108 26
- 110: 75(ptr) AccessChain 24(data) 25 102 72
- 111: 15(ivec4) Load 110
- 112: 15(ivec4) VectorShuffle 111 109 4 5 6 3
- Store 110 112
- 113: 27(ptr) AccessChain 10(dti) 26
- 114: 6(int) Load 113
- 116: 27(ptr) AccessChain 10(dti) 26
- 117: 6(int) Load 116
- 119: 118(ptr) AccessChain 24(data) 25 117 115
- 120: 17(fvec4) Load 119
- 121: 17(fvec4) GroupNonUniformQuadBroadcast 35 120 26
- 122: 118(ptr) AccessChain 24(data) 25 114 115
- Store 122 121
+ 63: 27(ptr) AccessChain 10(dti) 26
+ 64: 6(int) Load 63
+ 65: 32(ptr) AccessChain 24(data) 25 64 25
+ 66: 13(ivec4) Load 65
+ 67: 7(ivec3) VectorShuffle 66 66 0 1 2
+ 68: 7(ivec3) GroupNonUniformQuadBroadcast 35 67 26
+ 69: 42(ptr) AccessChain 24(data) 25 62 25 26
+ 70: 6(int) CompositeExtract 68 0
+ Store 69 70
+ 71: 42(ptr) AccessChain 24(data) 25 62 25 58
+ 72: 6(int) CompositeExtract 68 1
+ Store 71 72
+ 74: 42(ptr) AccessChain 24(data) 25 62 25 73
+ 75: 6(int) CompositeExtract 68 2
+ Store 74 75
+ 76: 27(ptr) AccessChain 10(dti) 26
+ 77: 6(int) Load 76
+ 79: 27(ptr) AccessChain 10(dti) 26
+ 80: 6(int) Load 79
+ 82: 81(ptr) AccessChain 24(data) 25 80 78
+ 83: 15(ivec4) Load 82
+ 84: 15(ivec4) GroupNonUniformQuadBroadcast 35 83 26
+ 85: 81(ptr) AccessChain 24(data) 25 77 78
+ Store 85 84
+ 86: 27(ptr) AccessChain 10(dti) 26
+ 87: 6(int) Load 86
+ 88: 27(ptr) AccessChain 10(dti) 26
+ 89: 6(int) Load 88
+ 91: 90(ptr) AccessChain 24(data) 25 89 78 26
+ 92: 14(int) Load 91
+ 93: 14(int) GroupNonUniformQuadBroadcast 35 92 26
+ 94: 90(ptr) AccessChain 24(data) 25 87 78 26
+ Store 94 93
+ 95: 27(ptr) AccessChain 10(dti) 26
+ 96: 6(int) Load 95
+ 97: 27(ptr) AccessChain 10(dti) 26
+ 98: 6(int) Load 97
+ 100: 81(ptr) AccessChain 24(data) 25 98 78
+ 101: 15(ivec4) Load 100
+ 102: 99(ivec2) VectorShuffle 101 101 0 1
+ 103: 99(ivec2) GroupNonUniformQuadBroadcast 35 102 26
+ 104: 90(ptr) AccessChain 24(data) 25 96 78 26
+ 105: 14(int) CompositeExtract 103 0
+ Store 104 105
+ 106: 90(ptr) AccessChain 24(data) 25 96 78 58
+ 107: 14(int) CompositeExtract 103 1
+ Store 106 107
+ 108: 27(ptr) AccessChain 10(dti) 26
+ 109: 6(int) Load 108
+ 110: 27(ptr) AccessChain 10(dti) 26
+ 111: 6(int) Load 110
+ 113: 81(ptr) AccessChain 24(data) 25 111 78
+ 114: 15(ivec4) Load 113
+ 115: 112(ivec3) VectorShuffle 114 114 0 1 2
+ 116: 112(ivec3) GroupNonUniformQuadBroadcast 35 115 26
+ 117: 90(ptr) AccessChain 24(data) 25 109 78 26
+ 118: 14(int) CompositeExtract 116 0
+ Store 117 118
+ 119: 90(ptr) AccessChain 24(data) 25 109 78 58
+ 120: 14(int) CompositeExtract 116 1
+ Store 119 120
+ 121: 90(ptr) AccessChain 24(data) 25 109 78 73
+ 122: 14(int) CompositeExtract 116 2
+ Store 121 122
123: 27(ptr) AccessChain 10(dti) 26
124: 6(int) Load 123
- 125: 27(ptr) AccessChain 10(dti) 26
- 126: 6(int) Load 125
- 128: 127(ptr) AccessChain 24(data) 25 126 115 26
- 129: 16(float) Load 128
- 130: 16(float) GroupNonUniformQuadBroadcast 35 129 26
- 131: 127(ptr) AccessChain 24(data) 25 124 115 26
- Store 131 130
- 132: 27(ptr) AccessChain 10(dti) 26
- 133: 6(int) Load 132
- 134: 27(ptr) AccessChain 10(dti) 26
- 135: 6(int) Load 134
- 137: 118(ptr) AccessChain 24(data) 25 135 115
- 138: 17(fvec4) Load 137
- 139: 136(fvec2) VectorShuffle 138 138 0 1
- 140: 136(fvec2) GroupNonUniformQuadBroadcast 35 139 26
- 141: 118(ptr) AccessChain 24(data) 25 133 115
- 142: 17(fvec4) Load 141
- 143: 17(fvec4) VectorShuffle 142 140 4 5 2 3
- Store 141 143
+ 126: 27(ptr) AccessChain 10(dti) 26
+ 127: 6(int) Load 126
+ 129: 128(ptr) AccessChain 24(data) 25 127 125
+ 130: 17(fvec4) Load 129
+ 131: 17(fvec4) GroupNonUniformQuadBroadcast 35 130 26
+ 132: 128(ptr) AccessChain 24(data) 25 124 125
+ Store 132 131
+ 133: 27(ptr) AccessChain 10(dti) 26
+ 134: 6(int) Load 133
+ 135: 27(ptr) AccessChain 10(dti) 26
+ 136: 6(int) Load 135
+ 138: 137(ptr) AccessChain 24(data) 25 136 125 26
+ 139: 16(float) Load 138
+ 140: 16(float) GroupNonUniformQuadBroadcast 35 139 26
+ 141: 137(ptr) AccessChain 24(data) 25 134 125 26
+ Store 141 140
+ 142: 27(ptr) AccessChain 10(dti) 26
+ 143: 6(int) Load 142
144: 27(ptr) AccessChain 10(dti) 26
145: 6(int) Load 144
- 146: 27(ptr) AccessChain 10(dti) 26
- 147: 6(int) Load 146
- 149: 118(ptr) AccessChain 24(data) 25 147 115
- 150: 17(fvec4) Load 149
- 151: 148(fvec3) VectorShuffle 150 150 0 1 2
- 152: 148(fvec3) GroupNonUniformQuadBroadcast 35 151 26
- 153: 118(ptr) AccessChain 24(data) 25 145 115
- 154: 17(fvec4) Load 153
- 155: 17(fvec4) VectorShuffle 154 152 4 5 6 3
- Store 153 155
- 156: 27(ptr) AccessChain 10(dti) 26
- 157: 6(int) Load 156
- 159: 27(ptr) AccessChain 10(dti) 26
- 160: 6(int) Load 159
- 162: 161(ptr) AccessChain 24(data) 25 160 158
- 163: 19(f64vec4) Load 162
- 164: 19(f64vec4) GroupNonUniformQuadBroadcast 35 163 26
- 165: 161(ptr) AccessChain 24(data) 25 157 158
- Store 165 164
- 166: 27(ptr) AccessChain 10(dti) 26
- 167: 6(int) Load 166
- 168: 27(ptr) AccessChain 10(dti) 26
- 169: 6(int) Load 168
- 171: 170(ptr) AccessChain 24(data) 25 169 158 26
- 172:18(float64_t) Load 171
- 173:18(float64_t) GroupNonUniformQuadBroadcast 35 172 26
- 174: 170(ptr) AccessChain 24(data) 25 167 158 26
- Store 174 173
- 175: 27(ptr) AccessChain 10(dti) 26
- 176: 6(int) Load 175
- 177: 27(ptr) AccessChain 10(dti) 26
- 178: 6(int) Load 177
- 180: 161(ptr) AccessChain 24(data) 25 178 158
- 181: 19(f64vec4) Load 180
- 182:179(f64vec2) VectorShuffle 181 181 0 1
- 183:179(f64vec2) GroupNonUniformQuadBroadcast 35 182 26
- 184: 161(ptr) AccessChain 24(data) 25 176 158
- 185: 19(f64vec4) Load 184
- 186: 19(f64vec4) VectorShuffle 185 183 4 5 2 3
- Store 184 186
- 187: 27(ptr) AccessChain 10(dti) 26
- 188: 6(int) Load 187
+ 147: 128(ptr) AccessChain 24(data) 25 145 125
+ 148: 17(fvec4) Load 147
+ 149: 146(fvec2) VectorShuffle 148 148 0 1
+ 150: 146(fvec2) GroupNonUniformQuadBroadcast 35 149 26
+ 151: 137(ptr) AccessChain 24(data) 25 143 125 26
+ 152: 16(float) CompositeExtract 150 0
+ Store 151 152
+ 153: 137(ptr) AccessChain 24(data) 25 143 125 58
+ 154: 16(float) CompositeExtract 150 1
+ Store 153 154
+ 155: 27(ptr) AccessChain 10(dti) 26
+ 156: 6(int) Load 155
+ 157: 27(ptr) AccessChain 10(dti) 26
+ 158: 6(int) Load 157
+ 160: 128(ptr) AccessChain 24(data) 25 158 125
+ 161: 17(fvec4) Load 160
+ 162: 159(fvec3) VectorShuffle 161 161 0 1 2
+ 163: 159(fvec3) GroupNonUniformQuadBroadcast 35 162 26
+ 164: 137(ptr) AccessChain 24(data) 25 156 125 26
+ 165: 16(float) CompositeExtract 163 0
+ Store 164 165
+ 166: 137(ptr) AccessChain 24(data) 25 156 125 58
+ 167: 16(float) CompositeExtract 163 1
+ Store 166 167
+ 168: 137(ptr) AccessChain 24(data) 25 156 125 73
+ 169: 16(float) CompositeExtract 163 2
+ Store 168 169
+ 170: 27(ptr) AccessChain 10(dti) 26
+ 171: 6(int) Load 170
+ 173: 27(ptr) AccessChain 10(dti) 26
+ 174: 6(int) Load 173
+ 176: 175(ptr) AccessChain 24(data) 25 174 172
+ 177: 19(f64vec4) Load 176
+ 178: 19(f64vec4) GroupNonUniformQuadBroadcast 35 177 26
+ 179: 175(ptr) AccessChain 24(data) 25 171 172
+ Store 179 178
+ 180: 27(ptr) AccessChain 10(dti) 26
+ 181: 6(int) Load 180
+ 182: 27(ptr) AccessChain 10(dti) 26
+ 183: 6(int) Load 182
+ 185: 184(ptr) AccessChain 24(data) 25 183 172 26
+ 186:18(float64_t) Load 185
+ 187:18(float64_t) GroupNonUniformQuadBroadcast 35 186 26
+ 188: 184(ptr) AccessChain 24(data) 25 181 172 26
+ Store 188 187
189: 27(ptr) AccessChain 10(dti) 26
190: 6(int) Load 189
- 192: 161(ptr) AccessChain 24(data) 25 190 158
- 193: 19(f64vec4) Load 192
- 194:191(f64vec3) VectorShuffle 193 193 0 1 2
- 195:191(f64vec3) GroupNonUniformQuadBroadcast 35 194 26
- 196: 161(ptr) AccessChain 24(data) 25 188 158
- 197: 19(f64vec4) Load 196
- 198: 19(f64vec4) VectorShuffle 197 195 4 5 6 3
- Store 196 198
- 199: 27(ptr) AccessChain 10(dti) 26
- 200: 6(int) Load 199
- 201: 27(ptr) AccessChain 10(dti) 26
- 202: 6(int) Load 201
- 203: 32(ptr) AccessChain 24(data) 25 202 25
- 204: 13(ivec4) Load 203
- 206: 13(ivec4) GroupNonUniformQuadBroadcast 35 204 205
- 207: 32(ptr) AccessChain 24(data) 25 200 25
- Store 207 206
- 208: 27(ptr) AccessChain 10(dti) 26
- 209: 6(int) Load 208
- 210: 27(ptr) AccessChain 10(dti) 26
- 211: 6(int) Load 210
- 212: 42(ptr) AccessChain 24(data) 25 211 25 26
- 213: 6(int) Load 212
- 214: 6(int) GroupNonUniformQuadBroadcast 35 213 205
- 215: 42(ptr) AccessChain 24(data) 25 209 25 26
- Store 215 214
- 216: 27(ptr) AccessChain 10(dti) 26
- 217: 6(int) Load 216
- 218: 27(ptr) AccessChain 10(dti) 26
- 219: 6(int) Load 218
- 220: 32(ptr) AccessChain 24(data) 25 219 25
- 221: 13(ivec4) Load 220
- 222: 51(ivec2) VectorShuffle 221 221 0 1
- 223: 51(ivec2) GroupNonUniformQuadBroadcast 35 222 205
- 224: 32(ptr) AccessChain 24(data) 25 217 25
- 225: 13(ivec4) Load 224
- 226: 13(ivec4) VectorShuffle 225 223 4 5 2 3
- Store 224 226
+ 191: 27(ptr) AccessChain 10(dti) 26
+ 192: 6(int) Load 191
+ 194: 175(ptr) AccessChain 24(data) 25 192 172
+ 195: 19(f64vec4) Load 194
+ 196:193(f64vec2) VectorShuffle 195 195 0 1
+ 197:193(f64vec2) GroupNonUniformQuadBroadcast 35 196 26
+ 198: 184(ptr) AccessChain 24(data) 25 190 172 26
+ 199:18(float64_t) CompositeExtract 197 0
+ Store 198 199
+ 200: 184(ptr) AccessChain 24(data) 25 190 172 58
+ 201:18(float64_t) CompositeExtract 197 1
+ Store 200 201
+ 202: 27(ptr) AccessChain 10(dti) 26
+ 203: 6(int) Load 202
+ 204: 27(ptr) AccessChain 10(dti) 26
+ 205: 6(int) Load 204
+ 207: 175(ptr) AccessChain 24(data) 25 205 172
+ 208: 19(f64vec4) Load 207
+ 209:206(f64vec3) VectorShuffle 208 208 0 1 2
+ 210:206(f64vec3) GroupNonUniformQuadBroadcast 35 209 26
+ 211: 184(ptr) AccessChain 24(data) 25 203 172 26
+ 212:18(float64_t) CompositeExtract 210 0
+ Store 211 212
+ 213: 184(ptr) AccessChain 24(data) 25 203 172 58
+ 214:18(float64_t) CompositeExtract 210 1
+ Store 213 214
+ 215: 184(ptr) AccessChain 24(data) 25 203 172 73
+ 216:18(float64_t) CompositeExtract 210 2
+ Store 215 216
+ 217: 27(ptr) AccessChain 10(dti) 26
+ 218: 6(int) Load 217
+ 219: 27(ptr) AccessChain 10(dti) 26
+ 220: 6(int) Load 219
+ 221: 32(ptr) AccessChain 24(data) 25 220 25
+ 222: 13(ivec4) Load 221
+ 223: 13(ivec4) GroupNonUniformQuadBroadcast 35 222 58
+ 224: 32(ptr) AccessChain 24(data) 25 218 25
+ Store 224 223
+ 225: 27(ptr) AccessChain 10(dti) 26
+ 226: 6(int) Load 225
227: 27(ptr) AccessChain 10(dti) 26
228: 6(int) Load 227
- 229: 27(ptr) AccessChain 10(dti) 26
+ 229: 42(ptr) AccessChain 24(data) 25 228 25 26
230: 6(int) Load 229
- 231: 32(ptr) AccessChain 24(data) 25 230 25
- 232: 13(ivec4) Load 231
- 233: 7(ivec3) VectorShuffle 232 232 0 1 2
- 234: 7(ivec3) GroupNonUniformQuadBroadcast 35 233 205
- 235: 32(ptr) AccessChain 24(data) 25 228 25
- 236: 13(ivec4) Load 235
- 237: 13(ivec4) VectorShuffle 236 234 4 5 6 3
- Store 235 237
- 238: 27(ptr) AccessChain 10(dti) 26
- 239: 6(int) Load 238
- 240: 27(ptr) AccessChain 10(dti) 26
- 241: 6(int) Load 240
- 242: 75(ptr) AccessChain 24(data) 25 241 72
- 243: 15(ivec4) Load 242
- 244: 15(ivec4) GroupNonUniformQuadBroadcast 35 243 205
- 245: 75(ptr) AccessChain 24(data) 25 239 72
- Store 245 244
- 246: 27(ptr) AccessChain 10(dti) 26
- 247: 6(int) Load 246
- 248: 27(ptr) AccessChain 10(dti) 26
- 249: 6(int) Load 248
- 250: 84(ptr) AccessChain 24(data) 25 249 72 26
- 251: 14(int) Load 250
- 252: 14(int) GroupNonUniformQuadBroadcast 35 251 205
- 253: 84(ptr) AccessChain 24(data) 25 247 72 26
- Store 253 252
- 254: 27(ptr) AccessChain 10(dti) 26
- 255: 6(int) Load 254
- 256: 27(ptr) AccessChain 10(dti) 26
- 257: 6(int) Load 256
- 258: 75(ptr) AccessChain 24(data) 25 257 72
- 259: 15(ivec4) Load 258
- 260: 93(ivec2) VectorShuffle 259 259 0 1
- 261: 93(ivec2) GroupNonUniformQuadBroadcast 35 260 205
- 262: 75(ptr) AccessChain 24(data) 25 255 72
- 263: 15(ivec4) Load 262
- 264: 15(ivec4) VectorShuffle 263 261 4 5 2 3
- Store 262 264
- 265: 27(ptr) AccessChain 10(dti) 26
- 266: 6(int) Load 265
+ 231: 6(int) GroupNonUniformQuadBroadcast 35 230 58
+ 232: 42(ptr) AccessChain 24(data) 25 226 25 26
+ Store 232 231
+ 233: 27(ptr) AccessChain 10(dti) 26
+ 234: 6(int) Load 233
+ 235: 27(ptr) AccessChain 10(dti) 26
+ 236: 6(int) Load 235
+ 237: 32(ptr) AccessChain 24(data) 25 236 25
+ 238: 13(ivec4) Load 237
+ 239: 51(ivec2) VectorShuffle 238 238 0 1
+ 240: 51(ivec2) GroupNonUniformQuadBroadcast 35 239 58
+ 241: 42(ptr) AccessChain 24(data) 25 234 25 26
+ 242: 6(int) CompositeExtract 240 0
+ Store 241 242
+ 243: 42(ptr) AccessChain 24(data) 25 234 25 58
+ 244: 6(int) CompositeExtract 240 1
+ Store 243 244
+ 245: 27(ptr) AccessChain 10(dti) 26
+ 246: 6(int) Load 245
+ 247: 27(ptr) AccessChain 10(dti) 26
+ 248: 6(int) Load 247
+ 249: 32(ptr) AccessChain 24(data) 25 248 25
+ 250: 13(ivec4) Load 249
+ 251: 7(ivec3) VectorShuffle 250 250 0 1 2
+ 252: 7(ivec3) GroupNonUniformQuadBroadcast 35 251 58
+ 253: 42(ptr) AccessChain 24(data) 25 246 25 26
+ 254: 6(int) CompositeExtract 252 0
+ Store 253 254
+ 255: 42(ptr) AccessChain 24(data) 25 246 25 58
+ 256: 6(int) CompositeExtract 252 1
+ Store 255 256
+ 257: 42(ptr) AccessChain 24(data) 25 246 25 73
+ 258: 6(int) CompositeExtract 252 2
+ Store 257 258
+ 259: 27(ptr) AccessChain 10(dti) 26
+ 260: 6(int) Load 259
+ 261: 27(ptr) AccessChain 10(dti) 26
+ 262: 6(int) Load 261
+ 263: 81(ptr) AccessChain 24(data) 25 262 78
+ 264: 15(ivec4) Load 263
+ 265: 15(ivec4) GroupNonUniformQuadBroadcast 35 264 58
+ 266: 81(ptr) AccessChain 24(data) 25 260 78
+ Store 266 265
267: 27(ptr) AccessChain 10(dti) 26
268: 6(int) Load 267
- 269: 75(ptr) AccessChain 24(data) 25 268 72
- 270: 15(ivec4) Load 269
- 271: 105(ivec3) VectorShuffle 270 270 0 1 2
- 272: 105(ivec3) GroupNonUniformQuadBroadcast 35 271 205
- 273: 75(ptr) AccessChain 24(data) 25 266 72
- 274: 15(ivec4) Load 273
- 275: 15(ivec4) VectorShuffle 274 272 4 5 6 3
- Store 273 275
- 276: 27(ptr) AccessChain 10(dti) 26
- 277: 6(int) Load 276
- 278: 27(ptr) AccessChain 10(dti) 26
- 279: 6(int) Load 278
- 280: 118(ptr) AccessChain 24(data) 25 279 115
- 281: 17(fvec4) Load 280
- 282: 17(fvec4) GroupNonUniformQuadBroadcast 35 281 205
- 283: 118(ptr) AccessChain 24(data) 25 277 115
- Store 283 282
- 284: 27(ptr) AccessChain 10(dti) 26
- 285: 6(int) Load 284
- 286: 27(ptr) AccessChain 10(dti) 26
- 287: 6(int) Load 286
- 288: 127(ptr) AccessChain 24(data) 25 287 115 26
- 289: 16(float) Load 288
- 290: 16(float) GroupNonUniformQuadBroadcast 35 289 205
- 291: 127(ptr) AccessChain 24(data) 25 285 115 26
- Store 291 290
- 292: 27(ptr) AccessChain 10(dti) 26
- 293: 6(int) Load 292
- 294: 27(ptr) AccessChain 10(dti) 26
- 295: 6(int) Load 294
- 296: 118(ptr) AccessChain 24(data) 25 295 115
- 297: 17(fvec4) Load 296
- 298: 136(fvec2) VectorShuffle 297 297 0 1
- 299: 136(fvec2) GroupNonUniformQuadBroadcast 35 298 205
- 300: 118(ptr) AccessChain 24(data) 25 293 115
- 301: 17(fvec4) Load 300
- 302: 17(fvec4) VectorShuffle 301 299 4 5 2 3
- Store 300 302
+ 269: 27(ptr) AccessChain 10(dti) 26
+ 270: 6(int) Load 269
+ 271: 90(ptr) AccessChain 24(data) 25 270 78 26
+ 272: 14(int) Load 271
+ 273: 14(int) GroupNonUniformQuadBroadcast 35 272 58
+ 274: 90(ptr) AccessChain 24(data) 25 268 78 26
+ Store 274 273
+ 275: 27(ptr) AccessChain 10(dti) 26
+ 276: 6(int) Load 275
+ 277: 27(ptr) AccessChain 10(dti) 26
+ 278: 6(int) Load 277
+ 279: 81(ptr) AccessChain 24(data) 25 278 78
+ 280: 15(ivec4) Load 279
+ 281: 99(ivec2) VectorShuffle 280 280 0 1
+ 282: 99(ivec2) GroupNonUniformQuadBroadcast 35 281 58
+ 283: 90(ptr) AccessChain 24(data) 25 276 78 26
+ 284: 14(int) CompositeExtract 282 0
+ Store 283 284
+ 285: 90(ptr) AccessChain 24(data) 25 276 78 58
+ 286: 14(int) CompositeExtract 282 1
+ Store 285 286
+ 287: 27(ptr) AccessChain 10(dti) 26
+ 288: 6(int) Load 287
+ 289: 27(ptr) AccessChain 10(dti) 26
+ 290: 6(int) Load 289
+ 291: 81(ptr) AccessChain 24(data) 25 290 78
+ 292: 15(ivec4) Load 291
+ 293: 112(ivec3) VectorShuffle 292 292 0 1 2
+ 294: 112(ivec3) GroupNonUniformQuadBroadcast 35 293 58
+ 295: 90(ptr) AccessChain 24(data) 25 288 78 26
+ 296: 14(int) CompositeExtract 294 0
+ Store 295 296
+ 297: 90(ptr) AccessChain 24(data) 25 288 78 58
+ 298: 14(int) CompositeExtract 294 1
+ Store 297 298
+ 299: 90(ptr) AccessChain 24(data) 25 288 78 73
+ 300: 14(int) CompositeExtract 294 2
+ Store 299 300
+ 301: 27(ptr) AccessChain 10(dti) 26
+ 302: 6(int) Load 301
303: 27(ptr) AccessChain 10(dti) 26
304: 6(int) Load 303
- 305: 27(ptr) AccessChain 10(dti) 26
- 306: 6(int) Load 305
- 307: 118(ptr) AccessChain 24(data) 25 306 115
- 308: 17(fvec4) Load 307
- 309: 148(fvec3) VectorShuffle 308 308 0 1 2
- 310: 148(fvec3) GroupNonUniformQuadBroadcast 35 309 205
- 311: 118(ptr) AccessChain 24(data) 25 304 115
- 312: 17(fvec4) Load 311
- 313: 17(fvec4) VectorShuffle 312 310 4 5 6 3
- Store 311 313
- 314: 27(ptr) AccessChain 10(dti) 26
- 315: 6(int) Load 314
- 316: 27(ptr) AccessChain 10(dti) 26
- 317: 6(int) Load 316
- 318: 161(ptr) AccessChain 24(data) 25 317 158
- 319: 19(f64vec4) Load 318
- 320: 19(f64vec4) GroupNonUniformQuadBroadcast 35 319 205
- 321: 161(ptr) AccessChain 24(data) 25 315 158
- Store 321 320
- 322: 27(ptr) AccessChain 10(dti) 26
- 323: 6(int) Load 322
- 324: 27(ptr) AccessChain 10(dti) 26
- 325: 6(int) Load 324
- 326: 170(ptr) AccessChain 24(data) 25 325 158 26
- 327:18(float64_t) Load 326
- 328:18(float64_t) GroupNonUniformQuadBroadcast 35 327 205
- 329: 170(ptr) AccessChain 24(data) 25 323 158 26
- Store 329 328
- 330: 27(ptr) AccessChain 10(dti) 26
- 331: 6(int) Load 330
- 332: 27(ptr) AccessChain 10(dti) 26
- 333: 6(int) Load 332
- 334: 161(ptr) AccessChain 24(data) 25 333 158
- 335: 19(f64vec4) Load 334
- 336:179(f64vec2) VectorShuffle 335 335 0 1
- 337:179(f64vec2) GroupNonUniformQuadBroadcast 35 336 205
- 338: 161(ptr) AccessChain 24(data) 25 331 158
- 339: 19(f64vec4) Load 338
- 340: 19(f64vec4) VectorShuffle 339 337 4 5 2 3
- Store 338 340
- 341: 27(ptr) AccessChain 10(dti) 26
- 342: 6(int) Load 341
+ 305: 128(ptr) AccessChain 24(data) 25 304 125
+ 306: 17(fvec4) Load 305
+ 307: 17(fvec4) GroupNonUniformQuadBroadcast 35 306 58
+ 308: 128(ptr) AccessChain 24(data) 25 302 125
+ Store 308 307
+ 309: 27(ptr) AccessChain 10(dti) 26
+ 310: 6(int) Load 309
+ 311: 27(ptr) AccessChain 10(dti) 26
+ 312: 6(int) Load 311
+ 313: 137(ptr) AccessChain 24(data) 25 312 125 26
+ 314: 16(float) Load 313
+ 315: 16(float) GroupNonUniformQuadBroadcast 35 314 58
+ 316: 137(ptr) AccessChain 24(data) 25 310 125 26
+ Store 316 315
+ 317: 27(ptr) AccessChain 10(dti) 26
+ 318: 6(int) Load 317
+ 319: 27(ptr) AccessChain 10(dti) 26
+ 320: 6(int) Load 319
+ 321: 128(ptr) AccessChain 24(data) 25 320 125
+ 322: 17(fvec4) Load 321
+ 323: 146(fvec2) VectorShuffle 322 322 0 1
+ 324: 146(fvec2) GroupNonUniformQuadBroadcast 35 323 58
+ 325: 137(ptr) AccessChain 24(data) 25 318 125 26
+ 326: 16(float) CompositeExtract 324 0
+ Store 325 326
+ 327: 137(ptr) AccessChain 24(data) 25 318 125 58
+ 328: 16(float) CompositeExtract 324 1
+ Store 327 328
+ 329: 27(ptr) AccessChain 10(dti) 26
+ 330: 6(int) Load 329
+ 331: 27(ptr) AccessChain 10(dti) 26
+ 332: 6(int) Load 331
+ 333: 128(ptr) AccessChain 24(data) 25 332 125
+ 334: 17(fvec4) Load 333
+ 335: 159(fvec3) VectorShuffle 334 334 0 1 2
+ 336: 159(fvec3) GroupNonUniformQuadBroadcast 35 335 58
+ 337: 137(ptr) AccessChain 24(data) 25 330 125 26
+ 338: 16(float) CompositeExtract 336 0
+ Store 337 338
+ 339: 137(ptr) AccessChain 24(data) 25 330 125 58
+ 340: 16(float) CompositeExtract 336 1
+ Store 339 340
+ 341: 137(ptr) AccessChain 24(data) 25 330 125 73
+ 342: 16(float) CompositeExtract 336 2
+ Store 341 342
343: 27(ptr) AccessChain 10(dti) 26
344: 6(int) Load 343
- 345: 161(ptr) AccessChain 24(data) 25 344 158
- 346: 19(f64vec4) Load 345
- 347:191(f64vec3) VectorShuffle 346 346 0 1 2
- 348:191(f64vec3) GroupNonUniformQuadBroadcast 35 347 205
- 349: 161(ptr) AccessChain 24(data) 25 342 158
- 350: 19(f64vec4) Load 349
- 351: 19(f64vec4) VectorShuffle 350 348 4 5 6 3
- Store 349 351
- 352: 27(ptr) AccessChain 10(dti) 26
- 353: 6(int) Load 352
- 354: 27(ptr) AccessChain 10(dti) 26
- 355: 6(int) Load 354
- 356: 32(ptr) AccessChain 24(data) 25 355 25
- 357: 13(ivec4) Load 356
- 359: 13(ivec4) GroupNonUniformQuadBroadcast 35 357 358
- 360: 32(ptr) AccessChain 24(data) 25 353 25
- Store 360 359
+ 345: 27(ptr) AccessChain 10(dti) 26
+ 346: 6(int) Load 345
+ 347: 175(ptr) AccessChain 24(data) 25 346 172
+ 348: 19(f64vec4) Load 347
+ 349: 19(f64vec4) GroupNonUniformQuadBroadcast 35 348 58
+ 350: 175(ptr) AccessChain 24(data) 25 344 172
+ Store 350 349
+ 351: 27(ptr) AccessChain 10(dti) 26
+ 352: 6(int) Load 351
+ 353: 27(ptr) AccessChain 10(dti) 26
+ 354: 6(int) Load 353
+ 355: 184(ptr) AccessChain 24(data) 25 354 172 26
+ 356:18(float64_t) Load 355
+ 357:18(float64_t) GroupNonUniformQuadBroadcast 35 356 58
+ 358: 184(ptr) AccessChain 24(data) 25 352 172 26
+ Store 358 357
+ 359: 27(ptr) AccessChain 10(dti) 26
+ 360: 6(int) Load 359
361: 27(ptr) AccessChain 10(dti) 26
362: 6(int) Load 361
- 363: 27(ptr) AccessChain 10(dti) 26
- 364: 6(int) Load 363
- 365: 42(ptr) AccessChain 24(data) 25 364 25 26
- 366: 6(int) Load 365
- 367: 6(int) GroupNonUniformQuadBroadcast 35 366 358
- 368: 42(ptr) AccessChain 24(data) 25 362 25 26
- Store 368 367
- 369: 27(ptr) AccessChain 10(dti) 26
- 370: 6(int) Load 369
+ 363: 175(ptr) AccessChain 24(data) 25 362 172
+ 364: 19(f64vec4) Load 363
+ 365:193(f64vec2) VectorShuffle 364 364 0 1
+ 366:193(f64vec2) GroupNonUniformQuadBroadcast 35 365 58
+ 367: 184(ptr) AccessChain 24(data) 25 360 172 26
+ 368:18(float64_t) CompositeExtract 366 0
+ Store 367 368
+ 369: 184(ptr) AccessChain 24(data) 25 360 172 58
+ 370:18(float64_t) CompositeExtract 366 1
+ Store 369 370
371: 27(ptr) AccessChain 10(dti) 26
372: 6(int) Load 371
- 373: 32(ptr) AccessChain 24(data) 25 372 25
- 374: 13(ivec4) Load 373
- 375: 51(ivec2) VectorShuffle 374 374 0 1
- 376: 51(ivec2) GroupNonUniformQuadBroadcast 35 375 358
- 377: 32(ptr) AccessChain 24(data) 25 370 25
- 378: 13(ivec4) Load 377
- 379: 13(ivec4) VectorShuffle 378 376 4 5 2 3
- Store 377 379
- 380: 27(ptr) AccessChain 10(dti) 26
- 381: 6(int) Load 380
- 382: 27(ptr) AccessChain 10(dti) 26
- 383: 6(int) Load 382
- 384: 32(ptr) AccessChain 24(data) 25 383 25
- 385: 13(ivec4) Load 384
- 386: 7(ivec3) VectorShuffle 385 385 0 1 2
- 387: 7(ivec3) GroupNonUniformQuadBroadcast 35 386 358
- 388: 32(ptr) AccessChain 24(data) 25 381 25
- 389: 13(ivec4) Load 388
- 390: 13(ivec4) VectorShuffle 389 387 4 5 6 3
- Store 388 390
- 391: 27(ptr) AccessChain 10(dti) 26
- 392: 6(int) Load 391
+ 373: 27(ptr) AccessChain 10(dti) 26
+ 374: 6(int) Load 373
+ 375: 175(ptr) AccessChain 24(data) 25 374 172
+ 376: 19(f64vec4) Load 375
+ 377:206(f64vec3) VectorShuffle 376 376 0 1 2
+ 378:206(f64vec3) GroupNonUniformQuadBroadcast 35 377 58
+ 379: 184(ptr) AccessChain 24(data) 25 372 172 26
+ 380:18(float64_t) CompositeExtract 378 0
+ Store 379 380
+ 381: 184(ptr) AccessChain 24(data) 25 372 172 58
+ 382:18(float64_t) CompositeExtract 378 1
+ Store 381 382
+ 383: 184(ptr) AccessChain 24(data) 25 372 172 73
+ 384:18(float64_t) CompositeExtract 378 2
+ Store 383 384
+ 385: 27(ptr) AccessChain 10(dti) 26
+ 386: 6(int) Load 385
+ 387: 27(ptr) AccessChain 10(dti) 26
+ 388: 6(int) Load 387
+ 389: 32(ptr) AccessChain 24(data) 25 388 25
+ 390: 13(ivec4) Load 389
+ 391: 13(ivec4) GroupNonUniformQuadBroadcast 35 390 73
+ 392: 32(ptr) AccessChain 24(data) 25 386 25
+ Store 392 391
393: 27(ptr) AccessChain 10(dti) 26
394: 6(int) Load 393
- 395: 75(ptr) AccessChain 24(data) 25 394 72
- 396: 15(ivec4) Load 395
- 397: 15(ivec4) GroupNonUniformQuadBroadcast 35 396 358
- 398: 75(ptr) AccessChain 24(data) 25 392 72
- Store 398 397
- 399: 27(ptr) AccessChain 10(dti) 26
- 400: 6(int) Load 399
+ 395: 27(ptr) AccessChain 10(dti) 26
+ 396: 6(int) Load 395
+ 397: 42(ptr) AccessChain 24(data) 25 396 25 26
+ 398: 6(int) Load 397
+ 399: 6(int) GroupNonUniformQuadBroadcast 35 398 73
+ 400: 42(ptr) AccessChain 24(data) 25 394 25 26
+ Store 400 399
401: 27(ptr) AccessChain 10(dti) 26
402: 6(int) Load 401
- 403: 84(ptr) AccessChain 24(data) 25 402 72 26
- 404: 14(int) Load 403
- 405: 14(int) GroupNonUniformQuadBroadcast 35 404 358
- 406: 84(ptr) AccessChain 24(data) 25 400 72 26
- Store 406 405
- 407: 27(ptr) AccessChain 10(dti) 26
- 408: 6(int) Load 407
- 409: 27(ptr) AccessChain 10(dti) 26
- 410: 6(int) Load 409
- 411: 75(ptr) AccessChain 24(data) 25 410 72
- 412: 15(ivec4) Load 411
- 413: 93(ivec2) VectorShuffle 412 412 0 1
- 414: 93(ivec2) GroupNonUniformQuadBroadcast 35 413 358
- 415: 75(ptr) AccessChain 24(data) 25 408 72
- 416: 15(ivec4) Load 415
- 417: 15(ivec4) VectorShuffle 416 414 4 5 2 3
- Store 415 417
- 418: 27(ptr) AccessChain 10(dti) 26
- 419: 6(int) Load 418
- 420: 27(ptr) AccessChain 10(dti) 26
- 421: 6(int) Load 420
- 422: 75(ptr) AccessChain 24(data) 25 421 72
- 423: 15(ivec4) Load 422
- 424: 105(ivec3) VectorShuffle 423 423 0 1 2
- 425: 105(ivec3) GroupNonUniformQuadBroadcast 35 424 358
- 426: 75(ptr) AccessChain 24(data) 25 419 72
- 427: 15(ivec4) Load 426
- 428: 15(ivec4) VectorShuffle 427 425 4 5 6 3
- Store 426 428
+ 403: 27(ptr) AccessChain 10(dti) 26
+ 404: 6(int) Load 403
+ 405: 32(ptr) AccessChain 24(data) 25 404 25
+ 406: 13(ivec4) Load 405
+ 407: 51(ivec2) VectorShuffle 406 406 0 1
+ 408: 51(ivec2) GroupNonUniformQuadBroadcast 35 407 73
+ 409: 42(ptr) AccessChain 24(data) 25 402 25 26
+ 410: 6(int) CompositeExtract 408 0
+ Store 409 410
+ 411: 42(ptr) AccessChain 24(data) 25 402 25 58
+ 412: 6(int) CompositeExtract 408 1
+ Store 411 412
+ 413: 27(ptr) AccessChain 10(dti) 26
+ 414: 6(int) Load 413
+ 415: 27(ptr) AccessChain 10(dti) 26
+ 416: 6(int) Load 415
+ 417: 32(ptr) AccessChain 24(data) 25 416 25
+ 418: 13(ivec4) Load 417
+ 419: 7(ivec3) VectorShuffle 418 418 0 1 2
+ 420: 7(ivec3) GroupNonUniformQuadBroadcast 35 419 73
+ 421: 42(ptr) AccessChain 24(data) 25 414 25 26
+ 422: 6(int) CompositeExtract 420 0
+ Store 421 422
+ 423: 42(ptr) AccessChain 24(data) 25 414 25 58
+ 424: 6(int) CompositeExtract 420 1
+ Store 423 424
+ 425: 42(ptr) AccessChain 24(data) 25 414 25 73
+ 426: 6(int) CompositeExtract 420 2
+ Store 425 426
+ 427: 27(ptr) AccessChain 10(dti) 26
+ 428: 6(int) Load 427
429: 27(ptr) AccessChain 10(dti) 26
430: 6(int) Load 429
- 431: 27(ptr) AccessChain 10(dti) 26
- 432: 6(int) Load 431
- 433: 118(ptr) AccessChain 24(data) 25 432 115
- 434: 17(fvec4) Load 433
- 435: 17(fvec4) GroupNonUniformQuadBroadcast 35 434 358
- 436: 118(ptr) AccessChain 24(data) 25 430 115
- Store 436 435
+ 431: 81(ptr) AccessChain 24(data) 25 430 78
+ 432: 15(ivec4) Load 431
+ 433: 15(ivec4) GroupNonUniformQuadBroadcast 35 432 73
+ 434: 81(ptr) AccessChain 24(data) 25 428 78
+ Store 434 433
+ 435: 27(ptr) AccessChain 10(dti) 26
+ 436: 6(int) Load 435
437: 27(ptr) AccessChain 10(dti) 26
438: 6(int) Load 437
- 439: 27(ptr) AccessChain 10(dti) 26
- 440: 6(int) Load 439
- 441: 127(ptr) AccessChain 24(data) 25 440 115 26
- 442: 16(float) Load 441
- 443: 16(float) GroupNonUniformQuadBroadcast 35 442 358
- 444: 127(ptr) AccessChain 24(data) 25 438 115 26
- Store 444 443
+ 439: 90(ptr) AccessChain 24(data) 25 438 78 26
+ 440: 14(int) Load 439
+ 441: 14(int) GroupNonUniformQuadBroadcast 35 440 73
+ 442: 90(ptr) AccessChain 24(data) 25 436 78 26
+ Store 442 441
+ 443: 27(ptr) AccessChain 10(dti) 26
+ 444: 6(int) Load 443
445: 27(ptr) AccessChain 10(dti) 26
446: 6(int) Load 445
- 447: 27(ptr) AccessChain 10(dti) 26
- 448: 6(int) Load 447
- 449: 118(ptr) AccessChain 24(data) 25 448 115
- 450: 17(fvec4) Load 449
- 451: 136(fvec2) VectorShuffle 450 450 0 1
- 452: 136(fvec2) GroupNonUniformQuadBroadcast 35 451 358
- 453: 118(ptr) AccessChain 24(data) 25 446 115
- 454: 17(fvec4) Load 453
- 455: 17(fvec4) VectorShuffle 454 452 4 5 2 3
- Store 453 455
- 456: 27(ptr) AccessChain 10(dti) 26
- 457: 6(int) Load 456
- 458: 27(ptr) AccessChain 10(dti) 26
- 459: 6(int) Load 458
- 460: 118(ptr) AccessChain 24(data) 25 459 115
- 461: 17(fvec4) Load 460
- 462: 148(fvec3) VectorShuffle 461 461 0 1 2
- 463: 148(fvec3) GroupNonUniformQuadBroadcast 35 462 358
- 464: 118(ptr) AccessChain 24(data) 25 457 115
- 465: 17(fvec4) Load 464
- 466: 17(fvec4) VectorShuffle 465 463 4 5 6 3
- Store 464 466
- 467: 27(ptr) AccessChain 10(dti) 26
- 468: 6(int) Load 467
+ 447: 81(ptr) AccessChain 24(data) 25 446 78
+ 448: 15(ivec4) Load 447
+ 449: 99(ivec2) VectorShuffle 448 448 0 1
+ 450: 99(ivec2) GroupNonUniformQuadBroadcast 35 449 73
+ 451: 90(ptr) AccessChain 24(data) 25 444 78 26
+ 452: 14(int) CompositeExtract 450 0
+ Store 451 452
+ 453: 90(ptr) AccessChain 24(data) 25 444 78 58
+ 454: 14(int) CompositeExtract 450 1
+ Store 453 454
+ 455: 27(ptr) AccessChain 10(dti) 26
+ 456: 6(int) Load 455
+ 457: 27(ptr) AccessChain 10(dti) 26
+ 458: 6(int) Load 457
+ 459: 81(ptr) AccessChain 24(data) 25 458 78
+ 460: 15(ivec4) Load 459
+ 461: 112(ivec3) VectorShuffle 460 460 0 1 2
+ 462: 112(ivec3) GroupNonUniformQuadBroadcast 35 461 73
+ 463: 90(ptr) AccessChain 24(data) 25 456 78 26
+ 464: 14(int) CompositeExtract 462 0
+ Store 463 464
+ 465: 90(ptr) AccessChain 24(data) 25 456 78 58
+ 466: 14(int) CompositeExtract 462 1
+ Store 465 466
+ 467: 90(ptr) AccessChain 24(data) 25 456 78 73
+ 468: 14(int) CompositeExtract 462 2
+ Store 467 468
469: 27(ptr) AccessChain 10(dti) 26
470: 6(int) Load 469
- 471: 161(ptr) AccessChain 24(data) 25 470 158
- 472: 19(f64vec4) Load 471
- 473: 19(f64vec4) GroupNonUniformQuadBroadcast 35 472 358
- 474: 161(ptr) AccessChain 24(data) 25 468 158
- Store 474 473
- 475: 27(ptr) AccessChain 10(dti) 26
- 476: 6(int) Load 475
+ 471: 27(ptr) AccessChain 10(dti) 26
+ 472: 6(int) Load 471
+ 473: 128(ptr) AccessChain 24(data) 25 472 125
+ 474: 17(fvec4) Load 473
+ 475: 17(fvec4) GroupNonUniformQuadBroadcast 35 474 73
+ 476: 128(ptr) AccessChain 24(data) 25 470 125
+ Store 476 475
477: 27(ptr) AccessChain 10(dti) 26
478: 6(int) Load 477
- 479: 170(ptr) AccessChain 24(data) 25 478 158 26
- 480:18(float64_t) Load 479
- 481:18(float64_t) GroupNonUniformQuadBroadcast 35 480 358
- 482: 170(ptr) AccessChain 24(data) 25 476 158 26
- Store 482 481
- 483: 27(ptr) AccessChain 10(dti) 26
- 484: 6(int) Load 483
+ 479: 27(ptr) AccessChain 10(dti) 26
+ 480: 6(int) Load 479
+ 481: 137(ptr) AccessChain 24(data) 25 480 125 26
+ 482: 16(float) Load 481
+ 483: 16(float) GroupNonUniformQuadBroadcast 35 482 73
+ 484: 137(ptr) AccessChain 24(data) 25 478 125 26
+ Store 484 483
485: 27(ptr) AccessChain 10(dti) 26
486: 6(int) Load 485
- 487: 161(ptr) AccessChain 24(data) 25 486 158
- 488: 19(f64vec4) Load 487
- 489:179(f64vec2) VectorShuffle 488 488 0 1
- 490:179(f64vec2) GroupNonUniformQuadBroadcast 35 489 358
- 491: 161(ptr) AccessChain 24(data) 25 484 158
- 492: 19(f64vec4) Load 491
- 493: 19(f64vec4) VectorShuffle 492 490 4 5 2 3
- Store 491 493
- 494: 27(ptr) AccessChain 10(dti) 26
- 495: 6(int) Load 494
- 496: 27(ptr) AccessChain 10(dti) 26
- 497: 6(int) Load 496
- 498: 161(ptr) AccessChain 24(data) 25 497 158
- 499: 19(f64vec4) Load 498
- 500:191(f64vec3) VectorShuffle 499 499 0 1 2
- 501:191(f64vec3) GroupNonUniformQuadBroadcast 35 500 358
- 502: 161(ptr) AccessChain 24(data) 25 495 158
- 503: 19(f64vec4) Load 502
- 504: 19(f64vec4) VectorShuffle 503 501 4 5 6 3
- Store 502 504
- 505: 27(ptr) AccessChain 10(dti) 26
- 506: 6(int) Load 505
- 507: 27(ptr) AccessChain 10(dti) 26
- 508: 6(int) Load 507
- 509: 32(ptr) AccessChain 24(data) 25 508 25
- 510: 13(ivec4) Load 509
- 511: 13(ivec4) GroupNonUniformQuadBroadcast 35 510 35
- 512: 32(ptr) AccessChain 24(data) 25 506 25
- Store 512 511
+ 487: 27(ptr) AccessChain 10(dti) 26
+ 488: 6(int) Load 487
+ 489: 128(ptr) AccessChain 24(data) 25 488 125
+ 490: 17(fvec4) Load 489
+ 491: 146(fvec2) VectorShuffle 490 490 0 1
+ 492: 146(fvec2) GroupNonUniformQuadBroadcast 35 491 73
+ 493: 137(ptr) AccessChain 24(data) 25 486 125 26
+ 494: 16(float) CompositeExtract 492 0
+ Store 493 494
+ 495: 137(ptr) AccessChain 24(data) 25 486 125 58
+ 496: 16(float) CompositeExtract 492 1
+ Store 495 496
+ 497: 27(ptr) AccessChain 10(dti) 26
+ 498: 6(int) Load 497
+ 499: 27(ptr) AccessChain 10(dti) 26
+ 500: 6(int) Load 499
+ 501: 128(ptr) AccessChain 24(data) 25 500 125
+ 502: 17(fvec4) Load 501
+ 503: 159(fvec3) VectorShuffle 502 502 0 1 2
+ 504: 159(fvec3) GroupNonUniformQuadBroadcast 35 503 73
+ 505: 137(ptr) AccessChain 24(data) 25 498 125 26
+ 506: 16(float) CompositeExtract 504 0
+ Store 505 506
+ 507: 137(ptr) AccessChain 24(data) 25 498 125 58
+ 508: 16(float) CompositeExtract 504 1
+ Store 507 508
+ 509: 137(ptr) AccessChain 24(data) 25 498 125 73
+ 510: 16(float) CompositeExtract 504 2
+ Store 509 510
+ 511: 27(ptr) AccessChain 10(dti) 26
+ 512: 6(int) Load 511
513: 27(ptr) AccessChain 10(dti) 26
514: 6(int) Load 513
- 515: 27(ptr) AccessChain 10(dti) 26
- 516: 6(int) Load 515
- 517: 42(ptr) AccessChain 24(data) 25 516 25 26
- 518: 6(int) Load 517
- 519: 6(int) GroupNonUniformQuadBroadcast 35 518 35
- 520: 42(ptr) AccessChain 24(data) 25 514 25 26
- Store 520 519
+ 515: 175(ptr) AccessChain 24(data) 25 514 172
+ 516: 19(f64vec4) Load 515
+ 517: 19(f64vec4) GroupNonUniformQuadBroadcast 35 516 73
+ 518: 175(ptr) AccessChain 24(data) 25 512 172
+ Store 518 517
+ 519: 27(ptr) AccessChain 10(dti) 26
+ 520: 6(int) Load 519
521: 27(ptr) AccessChain 10(dti) 26
522: 6(int) Load 521
- 523: 27(ptr) AccessChain 10(dti) 26
- 524: 6(int) Load 523
- 525: 32(ptr) AccessChain 24(data) 25 524 25
- 526: 13(ivec4) Load 525
- 527: 51(ivec2) VectorShuffle 526 526 0 1
- 528: 51(ivec2) GroupNonUniformQuadBroadcast 35 527 35
- 529: 32(ptr) AccessChain 24(data) 25 522 25
- 530: 13(ivec4) Load 529
- 531: 13(ivec4) VectorShuffle 530 528 4 5 2 3
- Store 529 531
- 532: 27(ptr) AccessChain 10(dti) 26
- 533: 6(int) Load 532
- 534: 27(ptr) AccessChain 10(dti) 26
- 535: 6(int) Load 534
- 536: 32(ptr) AccessChain 24(data) 25 535 25
- 537: 13(ivec4) Load 536
- 538: 7(ivec3) VectorShuffle 537 537 0 1 2
- 539: 7(ivec3) GroupNonUniformQuadBroadcast 35 538 35
- 540: 32(ptr) AccessChain 24(data) 25 533 25
- 541: 13(ivec4) Load 540
- 542: 13(ivec4) VectorShuffle 541 539 4 5 6 3
- Store 540 542
- 543: 27(ptr) AccessChain 10(dti) 26
- 544: 6(int) Load 543
- 545: 27(ptr) AccessChain 10(dti) 26
- 546: 6(int) Load 545
- 547: 75(ptr) AccessChain 24(data) 25 546 72
- 548: 15(ivec4) Load 547
- 549: 15(ivec4) GroupNonUniformQuadBroadcast 35 548 35
- 550: 75(ptr) AccessChain 24(data) 25 544 72
- Store 550 549
- 551: 27(ptr) AccessChain 10(dti) 26
- 552: 6(int) Load 551
+ 523: 184(ptr) AccessChain 24(data) 25 522 172 26
+ 524:18(float64_t) Load 523
+ 525:18(float64_t) GroupNonUniformQuadBroadcast 35 524 73
+ 526: 184(ptr) AccessChain 24(data) 25 520 172 26
+ Store 526 525
+ 527: 27(ptr) AccessChain 10(dti) 26
+ 528: 6(int) Load 527
+ 529: 27(ptr) AccessChain 10(dti) 26
+ 530: 6(int) Load 529
+ 531: 175(ptr) AccessChain 24(data) 25 530 172
+ 532: 19(f64vec4) Load 531
+ 533:193(f64vec2) VectorShuffle 532 532 0 1
+ 534:193(f64vec2) GroupNonUniformQuadBroadcast 35 533 73
+ 535: 184(ptr) AccessChain 24(data) 25 528 172 26
+ 536:18(float64_t) CompositeExtract 534 0
+ Store 535 536
+ 537: 184(ptr) AccessChain 24(data) 25 528 172 58
+ 538:18(float64_t) CompositeExtract 534 1
+ Store 537 538
+ 539: 27(ptr) AccessChain 10(dti) 26
+ 540: 6(int) Load 539
+ 541: 27(ptr) AccessChain 10(dti) 26
+ 542: 6(int) Load 541
+ 543: 175(ptr) AccessChain 24(data) 25 542 172
+ 544: 19(f64vec4) Load 543
+ 545:206(f64vec3) VectorShuffle 544 544 0 1 2
+ 546:206(f64vec3) GroupNonUniformQuadBroadcast 35 545 73
+ 547: 184(ptr) AccessChain 24(data) 25 540 172 26
+ 548:18(float64_t) CompositeExtract 546 0
+ Store 547 548
+ 549: 184(ptr) AccessChain 24(data) 25 540 172 58
+ 550:18(float64_t) CompositeExtract 546 1
+ Store 549 550
+ 551: 184(ptr) AccessChain 24(data) 25 540 172 73
+ 552:18(float64_t) CompositeExtract 546 2
+ Store 551 552
553: 27(ptr) AccessChain 10(dti) 26
554: 6(int) Load 553
- 555: 84(ptr) AccessChain 24(data) 25 554 72 26
- 556: 14(int) Load 555
- 557: 14(int) GroupNonUniformQuadBroadcast 35 556 35
- 558: 84(ptr) AccessChain 24(data) 25 552 72 26
- Store 558 557
- 559: 27(ptr) AccessChain 10(dti) 26
- 560: 6(int) Load 559
+ 555: 27(ptr) AccessChain 10(dti) 26
+ 556: 6(int) Load 555
+ 557: 32(ptr) AccessChain 24(data) 25 556 25
+ 558: 13(ivec4) Load 557
+ 559: 13(ivec4) GroupNonUniformQuadBroadcast 35 558 35
+ 560: 32(ptr) AccessChain 24(data) 25 554 25
+ Store 560 559
561: 27(ptr) AccessChain 10(dti) 26
562: 6(int) Load 561
- 563: 75(ptr) AccessChain 24(data) 25 562 72
- 564: 15(ivec4) Load 563
- 565: 93(ivec2) VectorShuffle 564 564 0 1
- 566: 93(ivec2) GroupNonUniformQuadBroadcast 35 565 35
- 567: 75(ptr) AccessChain 24(data) 25 560 72
- 568: 15(ivec4) Load 567
- 569: 15(ivec4) VectorShuffle 568 566 4 5 2 3
- Store 567 569
- 570: 27(ptr) AccessChain 10(dti) 26
- 571: 6(int) Load 570
- 572: 27(ptr) AccessChain 10(dti) 26
- 573: 6(int) Load 572
- 574: 75(ptr) AccessChain 24(data) 25 573 72
- 575: 15(ivec4) Load 574
- 576: 105(ivec3) VectorShuffle 575 575 0 1 2
- 577: 105(ivec3) GroupNonUniformQuadBroadcast 35 576 35
- 578: 75(ptr) AccessChain 24(data) 25 571 72
- 579: 15(ivec4) Load 578
- 580: 15(ivec4) VectorShuffle 579 577 4 5 6 3
- Store 578 580
+ 563: 27(ptr) AccessChain 10(dti) 26
+ 564: 6(int) Load 563
+ 565: 42(ptr) AccessChain 24(data) 25 564 25 26
+ 566: 6(int) Load 565
+ 567: 6(int) GroupNonUniformQuadBroadcast 35 566 35
+ 568: 42(ptr) AccessChain 24(data) 25 562 25 26
+ Store 568 567
+ 569: 27(ptr) AccessChain 10(dti) 26
+ 570: 6(int) Load 569
+ 571: 27(ptr) AccessChain 10(dti) 26
+ 572: 6(int) Load 571
+ 573: 32(ptr) AccessChain 24(data) 25 572 25
+ 574: 13(ivec4) Load 573
+ 575: 51(ivec2) VectorShuffle 574 574 0 1
+ 576: 51(ivec2) GroupNonUniformQuadBroadcast 35 575 35
+ 577: 42(ptr) AccessChain 24(data) 25 570 25 26
+ 578: 6(int) CompositeExtract 576 0
+ Store 577 578
+ 579: 42(ptr) AccessChain 24(data) 25 570 25 58
+ 580: 6(int) CompositeExtract 576 1
+ Store 579 580
581: 27(ptr) AccessChain 10(dti) 26
582: 6(int) Load 581
583: 27(ptr) AccessChain 10(dti) 26
584: 6(int) Load 583
- 585: 118(ptr) AccessChain 24(data) 25 584 115
- 586: 17(fvec4) Load 585
- 587: 17(fvec4) GroupNonUniformQuadBroadcast 35 586 35
- 588: 118(ptr) AccessChain 24(data) 25 582 115
- Store 588 587
- 589: 27(ptr) AccessChain 10(dti) 26
- 590: 6(int) Load 589
- 591: 27(ptr) AccessChain 10(dti) 26
- 592: 6(int) Load 591
- 593: 127(ptr) AccessChain 24(data) 25 592 115 26
- 594: 16(float) Load 593
- 595: 16(float) GroupNonUniformQuadBroadcast 35 594 35
- 596: 127(ptr) AccessChain 24(data) 25 590 115 26
- Store 596 595
+ 585: 32(ptr) AccessChain 24(data) 25 584 25
+ 586: 13(ivec4) Load 585
+ 587: 7(ivec3) VectorShuffle 586 586 0 1 2
+ 588: 7(ivec3) GroupNonUniformQuadBroadcast 35 587 35
+ 589: 42(ptr) AccessChain 24(data) 25 582 25 26
+ 590: 6(int) CompositeExtract 588 0
+ Store 589 590
+ 591: 42(ptr) AccessChain 24(data) 25 582 25 58
+ 592: 6(int) CompositeExtract 588 1
+ Store 591 592
+ 593: 42(ptr) AccessChain 24(data) 25 582 25 73
+ 594: 6(int) CompositeExtract 588 2
+ Store 593 594
+ 595: 27(ptr) AccessChain 10(dti) 26
+ 596: 6(int) Load 595
597: 27(ptr) AccessChain 10(dti) 26
598: 6(int) Load 597
- 599: 27(ptr) AccessChain 10(dti) 26
- 600: 6(int) Load 599
- 601: 118(ptr) AccessChain 24(data) 25 600 115
- 602: 17(fvec4) Load 601
- 603: 136(fvec2) VectorShuffle 602 602 0 1
- 604: 136(fvec2) GroupNonUniformQuadBroadcast 35 603 35
- 605: 118(ptr) AccessChain 24(data) 25 598 115
- 606: 17(fvec4) Load 605
- 607: 17(fvec4) VectorShuffle 606 604 4 5 2 3
- Store 605 607
- 608: 27(ptr) AccessChain 10(dti) 26
- 609: 6(int) Load 608
- 610: 27(ptr) AccessChain 10(dti) 26
- 611: 6(int) Load 610
- 612: 118(ptr) AccessChain 24(data) 25 611 115
- 613: 17(fvec4) Load 612
- 614: 148(fvec3) VectorShuffle 613 613 0 1 2
- 615: 148(fvec3) GroupNonUniformQuadBroadcast 35 614 35
- 616: 118(ptr) AccessChain 24(data) 25 609 115
- 617: 17(fvec4) Load 616
- 618: 17(fvec4) VectorShuffle 617 615 4 5 6 3
- Store 616 618
- 619: 27(ptr) AccessChain 10(dti) 26
- 620: 6(int) Load 619
- 621: 27(ptr) AccessChain 10(dti) 26
- 622: 6(int) Load 621
- 623: 161(ptr) AccessChain 24(data) 25 622 158
- 624: 19(f64vec4) Load 623
- 625: 19(f64vec4) GroupNonUniformQuadBroadcast 35 624 35
- 626: 161(ptr) AccessChain 24(data) 25 620 158
- Store 626 625
- 627: 27(ptr) AccessChain 10(dti) 26
- 628: 6(int) Load 627
- 629: 27(ptr) AccessChain 10(dti) 26
- 630: 6(int) Load 629
- 631: 170(ptr) AccessChain 24(data) 25 630 158 26
- 632:18(float64_t) Load 631
- 633:18(float64_t) GroupNonUniformQuadBroadcast 35 632 35
- 634: 170(ptr) AccessChain 24(data) 25 628 158 26
- Store 634 633
- 635: 27(ptr) AccessChain 10(dti) 26
- 636: 6(int) Load 635
+ 599: 81(ptr) AccessChain 24(data) 25 598 78
+ 600: 15(ivec4) Load 599
+ 601: 15(ivec4) GroupNonUniformQuadBroadcast 35 600 35
+ 602: 81(ptr) AccessChain 24(data) 25 596 78
+ Store 602 601
+ 603: 27(ptr) AccessChain 10(dti) 26
+ 604: 6(int) Load 603
+ 605: 27(ptr) AccessChain 10(dti) 26
+ 606: 6(int) Load 605
+ 607: 90(ptr) AccessChain 24(data) 25 606 78 26
+ 608: 14(int) Load 607
+ 609: 14(int) GroupNonUniformQuadBroadcast 35 608 35
+ 610: 90(ptr) AccessChain 24(data) 25 604 78 26
+ Store 610 609
+ 611: 27(ptr) AccessChain 10(dti) 26
+ 612: 6(int) Load 611
+ 613: 27(ptr) AccessChain 10(dti) 26
+ 614: 6(int) Load 613
+ 615: 81(ptr) AccessChain 24(data) 25 614 78
+ 616: 15(ivec4) Load 615
+ 617: 99(ivec2) VectorShuffle 616 616 0 1
+ 618: 99(ivec2) GroupNonUniformQuadBroadcast 35 617 35
+ 619: 90(ptr) AccessChain 24(data) 25 612 78 26
+ 620: 14(int) CompositeExtract 618 0
+ Store 619 620
+ 621: 90(ptr) AccessChain 24(data) 25 612 78 58
+ 622: 14(int) CompositeExtract 618 1
+ Store 621 622
+ 623: 27(ptr) AccessChain 10(dti) 26
+ 624: 6(int) Load 623
+ 625: 27(ptr) AccessChain 10(dti) 26
+ 626: 6(int) Load 625
+ 627: 81(ptr) AccessChain 24(data) 25 626 78
+ 628: 15(ivec4) Load 627
+ 629: 112(ivec3) VectorShuffle 628 628 0 1 2
+ 630: 112(ivec3) GroupNonUniformQuadBroadcast 35 629 35
+ 631: 90(ptr) AccessChain 24(data) 25 624 78 26
+ 632: 14(int) CompositeExtract 630 0
+ Store 631 632
+ 633: 90(ptr) AccessChain 24(data) 25 624 78 58
+ 634: 14(int) CompositeExtract 630 1
+ Store 633 634
+ 635: 90(ptr) AccessChain 24(data) 25 624 78 73
+ 636: 14(int) CompositeExtract 630 2
+ Store 635 636
637: 27(ptr) AccessChain 10(dti) 26
638: 6(int) Load 637
- 639: 161(ptr) AccessChain 24(data) 25 638 158
- 640: 19(f64vec4) Load 639
- 641:179(f64vec2) VectorShuffle 640 640 0 1
- 642:179(f64vec2) GroupNonUniformQuadBroadcast 35 641 35
- 643: 161(ptr) AccessChain 24(data) 25 636 158
- 644: 19(f64vec4) Load 643
- 645: 19(f64vec4) VectorShuffle 644 642 4 5 2 3
- Store 643 645
- 646: 27(ptr) AccessChain 10(dti) 26
- 647: 6(int) Load 646
- 648: 27(ptr) AccessChain 10(dti) 26
- 649: 6(int) Load 648
- 650: 161(ptr) AccessChain 24(data) 25 649 158
- 651: 19(f64vec4) Load 650
- 652:191(f64vec3) VectorShuffle 651 651 0 1 2
- 653:191(f64vec3) GroupNonUniformQuadBroadcast 35 652 35
- 654: 161(ptr) AccessChain 24(data) 25 647 158
- 655: 19(f64vec4) Load 654
- 656: 19(f64vec4) VectorShuffle 655 653 4 5 6 3
- Store 654 656
- 657: 27(ptr) AccessChain 10(dti) 26
- 658: 6(int) Load 657
- 659: 27(ptr) AccessChain 10(dti) 26
- 660: 6(int) Load 659
- 661: 32(ptr) AccessChain 24(data) 25 660 25
- 662: 13(ivec4) Load 661
- 663: 13(ivec4) GroupNonUniformQuadSwap 35 662 26
- 664: 32(ptr) AccessChain 24(data) 25 658 25
- Store 664 663
+ 639: 27(ptr) AccessChain 10(dti) 26
+ 640: 6(int) Load 639
+ 641: 128(ptr) AccessChain 24(data) 25 640 125
+ 642: 17(fvec4) Load 641
+ 643: 17(fvec4) GroupNonUniformQuadBroadcast 35 642 35
+ 644: 128(ptr) AccessChain 24(data) 25 638 125
+ Store 644 643
+ 645: 27(ptr) AccessChain 10(dti) 26
+ 646: 6(int) Load 645
+ 647: 27(ptr) AccessChain 10(dti) 26
+ 648: 6(int) Load 647
+ 649: 137(ptr) AccessChain 24(data) 25 648 125 26
+ 650: 16(float) Load 649
+ 651: 16(float) GroupNonUniformQuadBroadcast 35 650 35
+ 652: 137(ptr) AccessChain 24(data) 25 646 125 26
+ Store 652 651
+ 653: 27(ptr) AccessChain 10(dti) 26
+ 654: 6(int) Load 653
+ 655: 27(ptr) AccessChain 10(dti) 26
+ 656: 6(int) Load 655
+ 657: 128(ptr) AccessChain 24(data) 25 656 125
+ 658: 17(fvec4) Load 657
+ 659: 146(fvec2) VectorShuffle 658 658 0 1
+ 660: 146(fvec2) GroupNonUniformQuadBroadcast 35 659 35
+ 661: 137(ptr) AccessChain 24(data) 25 654 125 26
+ 662: 16(float) CompositeExtract 660 0
+ Store 661 662
+ 663: 137(ptr) AccessChain 24(data) 25 654 125 58
+ 664: 16(float) CompositeExtract 660 1
+ Store 663 664
665: 27(ptr) AccessChain 10(dti) 26
666: 6(int) Load 665
667: 27(ptr) AccessChain 10(dti) 26
668: 6(int) Load 667
- 669: 42(ptr) AccessChain 24(data) 25 668 25 26
- 670: 6(int) Load 669
- 671: 6(int) GroupNonUniformQuadSwap 35 670 26
- 672: 42(ptr) AccessChain 24(data) 25 666 25 26
- Store 672 671
- 673: 27(ptr) AccessChain 10(dti) 26
- 674: 6(int) Load 673
- 675: 27(ptr) AccessChain 10(dti) 26
- 676: 6(int) Load 675
- 677: 32(ptr) AccessChain 24(data) 25 676 25
- 678: 13(ivec4) Load 677
- 679: 51(ivec2) VectorShuffle 678 678 0 1
- 680: 51(ivec2) GroupNonUniformQuadSwap 35 679 26
- 681: 32(ptr) AccessChain 24(data) 25 674 25
- 682: 13(ivec4) Load 681
- 683: 13(ivec4) VectorShuffle 682 680 4 5 2 3
- Store 681 683
- 684: 27(ptr) AccessChain 10(dti) 26
- 685: 6(int) Load 684
- 686: 27(ptr) AccessChain 10(dti) 26
- 687: 6(int) Load 686
- 688: 32(ptr) AccessChain 24(data) 25 687 25
- 689: 13(ivec4) Load 688
- 690: 7(ivec3) VectorShuffle 689 689 0 1 2
- 691: 7(ivec3) GroupNonUniformQuadSwap 35 690 26
- 692: 32(ptr) AccessChain 24(data) 25 685 25
- 693: 13(ivec4) Load 692
- 694: 13(ivec4) VectorShuffle 693 691 4 5 6 3
- Store 692 694
+ 669: 128(ptr) AccessChain 24(data) 25 668 125
+ 670: 17(fvec4) Load 669
+ 671: 159(fvec3) VectorShuffle 670 670 0 1 2
+ 672: 159(fvec3) GroupNonUniformQuadBroadcast 35 671 35
+ 673: 137(ptr) AccessChain 24(data) 25 666 125 26
+ 674: 16(float) CompositeExtract 672 0
+ Store 673 674
+ 675: 137(ptr) AccessChain 24(data) 25 666 125 58
+ 676: 16(float) CompositeExtract 672 1
+ Store 675 676
+ 677: 137(ptr) AccessChain 24(data) 25 666 125 73
+ 678: 16(float) CompositeExtract 672 2
+ Store 677 678
+ 679: 27(ptr) AccessChain 10(dti) 26
+ 680: 6(int) Load 679
+ 681: 27(ptr) AccessChain 10(dti) 26
+ 682: 6(int) Load 681
+ 683: 175(ptr) AccessChain 24(data) 25 682 172
+ 684: 19(f64vec4) Load 683
+ 685: 19(f64vec4) GroupNonUniformQuadBroadcast 35 684 35
+ 686: 175(ptr) AccessChain 24(data) 25 680 172
+ Store 686 685
+ 687: 27(ptr) AccessChain 10(dti) 26
+ 688: 6(int) Load 687
+ 689: 27(ptr) AccessChain 10(dti) 26
+ 690: 6(int) Load 689
+ 691: 184(ptr) AccessChain 24(data) 25 690 172 26
+ 692:18(float64_t) Load 691
+ 693:18(float64_t) GroupNonUniformQuadBroadcast 35 692 35
+ 694: 184(ptr) AccessChain 24(data) 25 688 172 26
+ Store 694 693
695: 27(ptr) AccessChain 10(dti) 26
696: 6(int) Load 695
697: 27(ptr) AccessChain 10(dti) 26
698: 6(int) Load 697
- 699: 75(ptr) AccessChain 24(data) 25 698 72
- 700: 15(ivec4) Load 699
- 701: 15(ivec4) GroupNonUniformQuadSwap 35 700 26
- 702: 75(ptr) AccessChain 24(data) 25 696 72
- Store 702 701
- 703: 27(ptr) AccessChain 10(dti) 26
- 704: 6(int) Load 703
- 705: 27(ptr) AccessChain 10(dti) 26
- 706: 6(int) Load 705
- 707: 84(ptr) AccessChain 24(data) 25 706 72 26
- 708: 14(int) Load 707
- 709: 14(int) GroupNonUniformQuadSwap 35 708 26
- 710: 84(ptr) AccessChain 24(data) 25 704 72 26
- Store 710 709
- 711: 27(ptr) AccessChain 10(dti) 26
- 712: 6(int) Load 711
- 713: 27(ptr) AccessChain 10(dti) 26
- 714: 6(int) Load 713
- 715: 75(ptr) AccessChain 24(data) 25 714 72
- 716: 15(ivec4) Load 715
- 717: 93(ivec2) VectorShuffle 716 716 0 1
- 718: 93(ivec2) GroupNonUniformQuadSwap 35 717 26
- 719: 75(ptr) AccessChain 24(data) 25 712 72
- 720: 15(ivec4) Load 719
- 721: 15(ivec4) VectorShuffle 720 718 4 5 2 3
- Store 719 721
- 722: 27(ptr) AccessChain 10(dti) 26
- 723: 6(int) Load 722
- 724: 27(ptr) AccessChain 10(dti) 26
- 725: 6(int) Load 724
- 726: 75(ptr) AccessChain 24(data) 25 725 72
- 727: 15(ivec4) Load 726
- 728: 105(ivec3) VectorShuffle 727 727 0 1 2
- 729: 105(ivec3) GroupNonUniformQuadSwap 35 728 26
- 730: 75(ptr) AccessChain 24(data) 25 723 72
- 731: 15(ivec4) Load 730
- 732: 15(ivec4) VectorShuffle 731 729 4 5 6 3
- Store 730 732
- 733: 27(ptr) AccessChain 10(dti) 26
+ 699: 175(ptr) AccessChain 24(data) 25 698 172
+ 700: 19(f64vec4) Load 699
+ 701:193(f64vec2) VectorShuffle 700 700 0 1
+ 702:193(f64vec2) GroupNonUniformQuadBroadcast 35 701 35
+ 703: 184(ptr) AccessChain 24(data) 25 696 172 26
+ 704:18(float64_t) CompositeExtract 702 0
+ Store 703 704
+ 705: 184(ptr) AccessChain 24(data) 25 696 172 58
+ 706:18(float64_t) CompositeExtract 702 1
+ Store 705 706
+ 707: 27(ptr) AccessChain 10(dti) 26
+ 708: 6(int) Load 707
+ 709: 27(ptr) AccessChain 10(dti) 26
+ 710: 6(int) Load 709
+ 711: 175(ptr) AccessChain 24(data) 25 710 172
+ 712: 19(f64vec4) Load 711
+ 713:206(f64vec3) VectorShuffle 712 712 0 1 2
+ 714:206(f64vec3) GroupNonUniformQuadBroadcast 35 713 35
+ 715: 184(ptr) AccessChain 24(data) 25 708 172 26
+ 716:18(float64_t) CompositeExtract 714 0
+ Store 715 716
+ 717: 184(ptr) AccessChain 24(data) 25 708 172 58
+ 718:18(float64_t) CompositeExtract 714 1
+ Store 717 718
+ 719: 184(ptr) AccessChain 24(data) 25 708 172 73
+ 720:18(float64_t) CompositeExtract 714 2
+ Store 719 720
+ 721: 27(ptr) AccessChain 10(dti) 26
+ 722: 6(int) Load 721
+ 723: 27(ptr) AccessChain 10(dti) 26
+ 724: 6(int) Load 723
+ 725: 32(ptr) AccessChain 24(data) 25 724 25
+ 726: 13(ivec4) Load 725
+ 727: 13(ivec4) GroupNonUniformQuadSwap 35 726 26
+ 728: 32(ptr) AccessChain 24(data) 25 722 25
+ Store 728 727
+ 729: 27(ptr) AccessChain 10(dti) 26
+ 730: 6(int) Load 729
+ 731: 27(ptr) AccessChain 10(dti) 26
+ 732: 6(int) Load 731
+ 733: 42(ptr) AccessChain 24(data) 25 732 25 26
734: 6(int) Load 733
- 735: 27(ptr) AccessChain 10(dti) 26
- 736: 6(int) Load 735
- 737: 118(ptr) AccessChain 24(data) 25 736 115
- 738: 17(fvec4) Load 737
- 739: 17(fvec4) GroupNonUniformQuadSwap 35 738 26
- 740: 118(ptr) AccessChain 24(data) 25 734 115
- Store 740 739
- 741: 27(ptr) AccessChain 10(dti) 26
- 742: 6(int) Load 741
- 743: 27(ptr) AccessChain 10(dti) 26
- 744: 6(int) Load 743
- 745: 127(ptr) AccessChain 24(data) 25 744 115 26
- 746: 16(float) Load 745
- 747: 16(float) GroupNonUniformQuadSwap 35 746 26
- 748: 127(ptr) AccessChain 24(data) 25 742 115 26
- Store 748 747
+ 735: 6(int) GroupNonUniformQuadSwap 35 734 26
+ 736: 42(ptr) AccessChain 24(data) 25 730 25 26
+ Store 736 735
+ 737: 27(ptr) AccessChain 10(dti) 26
+ 738: 6(int) Load 737
+ 739: 27(ptr) AccessChain 10(dti) 26
+ 740: 6(int) Load 739
+ 741: 32(ptr) AccessChain 24(data) 25 740 25
+ 742: 13(ivec4) Load 741
+ 743: 51(ivec2) VectorShuffle 742 742 0 1
+ 744: 51(ivec2) GroupNonUniformQuadSwap 35 743 26
+ 745: 42(ptr) AccessChain 24(data) 25 738 25 26
+ 746: 6(int) CompositeExtract 744 0
+ Store 745 746
+ 747: 42(ptr) AccessChain 24(data) 25 738 25 58
+ 748: 6(int) CompositeExtract 744 1
+ Store 747 748
749: 27(ptr) AccessChain 10(dti) 26
750: 6(int) Load 749
751: 27(ptr) AccessChain 10(dti) 26
752: 6(int) Load 751
- 753: 118(ptr) AccessChain 24(data) 25 752 115
- 754: 17(fvec4) Load 753
- 755: 136(fvec2) VectorShuffle 754 754 0 1
- 756: 136(fvec2) GroupNonUniformQuadSwap 35 755 26
- 757: 118(ptr) AccessChain 24(data) 25 750 115
- 758: 17(fvec4) Load 757
- 759: 17(fvec4) VectorShuffle 758 756 4 5 2 3
- Store 757 759
- 760: 27(ptr) AccessChain 10(dti) 26
- 761: 6(int) Load 760
- 762: 27(ptr) AccessChain 10(dti) 26
- 763: 6(int) Load 762
- 764: 118(ptr) AccessChain 24(data) 25 763 115
- 765: 17(fvec4) Load 764
- 766: 148(fvec3) VectorShuffle 765 765 0 1 2
- 767: 148(fvec3) GroupNonUniformQuadSwap 35 766 26
- 768: 118(ptr) AccessChain 24(data) 25 761 115
- 769: 17(fvec4) Load 768
- 770: 17(fvec4) VectorShuffle 769 767 4 5 6 3
- Store 768 770
+ 753: 32(ptr) AccessChain 24(data) 25 752 25
+ 754: 13(ivec4) Load 753
+ 755: 7(ivec3) VectorShuffle 754 754 0 1 2
+ 756: 7(ivec3) GroupNonUniformQuadSwap 35 755 26
+ 757: 42(ptr) AccessChain 24(data) 25 750 25 26
+ 758: 6(int) CompositeExtract 756 0
+ Store 757 758
+ 759: 42(ptr) AccessChain 24(data) 25 750 25 58
+ 760: 6(int) CompositeExtract 756 1
+ Store 759 760
+ 761: 42(ptr) AccessChain 24(data) 25 750 25 73
+ 762: 6(int) CompositeExtract 756 2
+ Store 761 762
+ 763: 27(ptr) AccessChain 10(dti) 26
+ 764: 6(int) Load 763
+ 765: 27(ptr) AccessChain 10(dti) 26
+ 766: 6(int) Load 765
+ 767: 81(ptr) AccessChain 24(data) 25 766 78
+ 768: 15(ivec4) Load 767
+ 769: 15(ivec4) GroupNonUniformQuadSwap 35 768 26
+ 770: 81(ptr) AccessChain 24(data) 25 764 78
+ Store 770 769
771: 27(ptr) AccessChain 10(dti) 26
772: 6(int) Load 771
773: 27(ptr) AccessChain 10(dti) 26
774: 6(int) Load 773
- 775: 161(ptr) AccessChain 24(data) 25 774 158
- 776: 19(f64vec4) Load 775
- 777: 19(f64vec4) GroupNonUniformQuadSwap 35 776 26
- 778: 161(ptr) AccessChain 24(data) 25 772 158
+ 775: 90(ptr) AccessChain 24(data) 25 774 78 26
+ 776: 14(int) Load 775
+ 777: 14(int) GroupNonUniformQuadSwap 35 776 26
+ 778: 90(ptr) AccessChain 24(data) 25 772 78 26
Store 778 777
779: 27(ptr) AccessChain 10(dti) 26
780: 6(int) Load 779
781: 27(ptr) AccessChain 10(dti) 26
782: 6(int) Load 781
- 783: 170(ptr) AccessChain 24(data) 25 782 158 26
- 784:18(float64_t) Load 783
- 785:18(float64_t) GroupNonUniformQuadSwap 35 784 26
- 786: 170(ptr) AccessChain 24(data) 25 780 158 26
- Store 786 785
- 787: 27(ptr) AccessChain 10(dti) 26
- 788: 6(int) Load 787
- 789: 27(ptr) AccessChain 10(dti) 26
- 790: 6(int) Load 789
- 791: 161(ptr) AccessChain 24(data) 25 790 158
- 792: 19(f64vec4) Load 791
- 793:179(f64vec2) VectorShuffle 792 792 0 1
- 794:179(f64vec2) GroupNonUniformQuadSwap 35 793 26
- 795: 161(ptr) AccessChain 24(data) 25 788 158
- 796: 19(f64vec4) Load 795
- 797: 19(f64vec4) VectorShuffle 796 794 4 5 2 3
- Store 795 797
- 798: 27(ptr) AccessChain 10(dti) 26
- 799: 6(int) Load 798
- 800: 27(ptr) AccessChain 10(dti) 26
- 801: 6(int) Load 800
- 802: 161(ptr) AccessChain 24(data) 25 801 158
- 803: 19(f64vec4) Load 802
- 804:191(f64vec3) VectorShuffle 803 803 0 1 2
- 805:191(f64vec3) GroupNonUniformQuadSwap 35 804 26
- 806: 161(ptr) AccessChain 24(data) 25 799 158
- 807: 19(f64vec4) Load 806
- 808: 19(f64vec4) VectorShuffle 807 805 4 5 6 3
- Store 806 808
- 809: 27(ptr) AccessChain 10(dti) 26
- 810: 6(int) Load 809
- 811: 27(ptr) AccessChain 10(dti) 26
- 812: 6(int) Load 811
- 813: 32(ptr) AccessChain 24(data) 25 812 25
- 814: 13(ivec4) Load 813
- 815: 13(ivec4) GroupNonUniformQuadSwap 35 814 205
- 816: 32(ptr) AccessChain 24(data) 25 810 25
- Store 816 815
- 817: 27(ptr) AccessChain 10(dti) 26
- 818: 6(int) Load 817
- 819: 27(ptr) AccessChain 10(dti) 26
- 820: 6(int) Load 819
- 821: 42(ptr) AccessChain 24(data) 25 820 25 26
+ 783: 81(ptr) AccessChain 24(data) 25 782 78
+ 784: 15(ivec4) Load 783
+ 785: 99(ivec2) VectorShuffle 784 784 0 1
+ 786: 99(ivec2) GroupNonUniformQuadSwap 35 785 26
+ 787: 90(ptr) AccessChain 24(data) 25 780 78 26
+ 788: 14(int) CompositeExtract 786 0
+ Store 787 788
+ 789: 90(ptr) AccessChain 24(data) 25 780 78 58
+ 790: 14(int) CompositeExtract 786 1
+ Store 789 790
+ 791: 27(ptr) AccessChain 10(dti) 26
+ 792: 6(int) Load 791
+ 793: 27(ptr) AccessChain 10(dti) 26
+ 794: 6(int) Load 793
+ 795: 81(ptr) AccessChain 24(data) 25 794 78
+ 796: 15(ivec4) Load 795
+ 797: 112(ivec3) VectorShuffle 796 796 0 1 2
+ 798: 112(ivec3) GroupNonUniformQuadSwap 35 797 26
+ 799: 90(ptr) AccessChain 24(data) 25 792 78 26
+ 800: 14(int) CompositeExtract 798 0
+ Store 799 800
+ 801: 90(ptr) AccessChain 24(data) 25 792 78 58
+ 802: 14(int) CompositeExtract 798 1
+ Store 801 802
+ 803: 90(ptr) AccessChain 24(data) 25 792 78 73
+ 804: 14(int) CompositeExtract 798 2
+ Store 803 804
+ 805: 27(ptr) AccessChain 10(dti) 26
+ 806: 6(int) Load 805
+ 807: 27(ptr) AccessChain 10(dti) 26
+ 808: 6(int) Load 807
+ 809: 128(ptr) AccessChain 24(data) 25 808 125
+ 810: 17(fvec4) Load 809
+ 811: 17(fvec4) GroupNonUniformQuadSwap 35 810 26
+ 812: 128(ptr) AccessChain 24(data) 25 806 125
+ Store 812 811
+ 813: 27(ptr) AccessChain 10(dti) 26
+ 814: 6(int) Load 813
+ 815: 27(ptr) AccessChain 10(dti) 26
+ 816: 6(int) Load 815
+ 817: 137(ptr) AccessChain 24(data) 25 816 125 26
+ 818: 16(float) Load 817
+ 819: 16(float) GroupNonUniformQuadSwap 35 818 26
+ 820: 137(ptr) AccessChain 24(data) 25 814 125 26
+ Store 820 819
+ 821: 27(ptr) AccessChain 10(dti) 26
822: 6(int) Load 821
- 823: 6(int) GroupNonUniformQuadSwap 35 822 205
- 824: 42(ptr) AccessChain 24(data) 25 818 25 26
- Store 824 823
- 825: 27(ptr) AccessChain 10(dti) 26
- 826: 6(int) Load 825
- 827: 27(ptr) AccessChain 10(dti) 26
- 828: 6(int) Load 827
- 829: 32(ptr) AccessChain 24(data) 25 828 25
- 830: 13(ivec4) Load 829
- 831: 51(ivec2) VectorShuffle 830 830 0 1
- 832: 51(ivec2) GroupNonUniformQuadSwap 35 831 205
- 833: 32(ptr) AccessChain 24(data) 25 826 25
- 834: 13(ivec4) Load 833
- 835: 13(ivec4) VectorShuffle 834 832 4 5 2 3
- Store 833 835
- 836: 27(ptr) AccessChain 10(dti) 26
- 837: 6(int) Load 836
- 838: 27(ptr) AccessChain 10(dti) 26
- 839: 6(int) Load 838
- 840: 32(ptr) AccessChain 24(data) 25 839 25
- 841: 13(ivec4) Load 840
- 842: 7(ivec3) VectorShuffle 841 841 0 1 2
- 843: 7(ivec3) GroupNonUniformQuadSwap 35 842 205
- 844: 32(ptr) AccessChain 24(data) 25 837 25
- 845: 13(ivec4) Load 844
- 846: 13(ivec4) VectorShuffle 845 843 4 5 6 3
- Store 844 846
+ 823: 27(ptr) AccessChain 10(dti) 26
+ 824: 6(int) Load 823
+ 825: 128(ptr) AccessChain 24(data) 25 824 125
+ 826: 17(fvec4) Load 825
+ 827: 146(fvec2) VectorShuffle 826 826 0 1
+ 828: 146(fvec2) GroupNonUniformQuadSwap 35 827 26
+ 829: 137(ptr) AccessChain 24(data) 25 822 125 26
+ 830: 16(float) CompositeExtract 828 0
+ Store 829 830
+ 831: 137(ptr) AccessChain 24(data) 25 822 125 58
+ 832: 16(float) CompositeExtract 828 1
+ Store 831 832
+ 833: 27(ptr) AccessChain 10(dti) 26
+ 834: 6(int) Load 833
+ 835: 27(ptr) AccessChain 10(dti) 26
+ 836: 6(int) Load 835
+ 837: 128(ptr) AccessChain 24(data) 25 836 125
+ 838: 17(fvec4) Load 837
+ 839: 159(fvec3) VectorShuffle 838 838 0 1 2
+ 840: 159(fvec3) GroupNonUniformQuadSwap 35 839 26
+ 841: 137(ptr) AccessChain 24(data) 25 834 125 26
+ 842: 16(float) CompositeExtract 840 0
+ Store 841 842
+ 843: 137(ptr) AccessChain 24(data) 25 834 125 58
+ 844: 16(float) CompositeExtract 840 1
+ Store 843 844
+ 845: 137(ptr) AccessChain 24(data) 25 834 125 73
+ 846: 16(float) CompositeExtract 840 2
+ Store 845 846
847: 27(ptr) AccessChain 10(dti) 26
848: 6(int) Load 847
849: 27(ptr) AccessChain 10(dti) 26
850: 6(int) Load 849
- 851: 75(ptr) AccessChain 24(data) 25 850 72
- 852: 15(ivec4) Load 851
- 853: 15(ivec4) GroupNonUniformQuadSwap 35 852 205
- 854: 75(ptr) AccessChain 24(data) 25 848 72
+ 851: 175(ptr) AccessChain 24(data) 25 850 172
+ 852: 19(f64vec4) Load 851
+ 853: 19(f64vec4) GroupNonUniformQuadSwap 35 852 26
+ 854: 175(ptr) AccessChain 24(data) 25 848 172
Store 854 853
855: 27(ptr) AccessChain 10(dti) 26
856: 6(int) Load 855
857: 27(ptr) AccessChain 10(dti) 26
858: 6(int) Load 857
- 859: 84(ptr) AccessChain 24(data) 25 858 72 26
- 860: 14(int) Load 859
- 861: 14(int) GroupNonUniformQuadSwap 35 860 205
- 862: 84(ptr) AccessChain 24(data) 25 856 72 26
+ 859: 184(ptr) AccessChain 24(data) 25 858 172 26
+ 860:18(float64_t) Load 859
+ 861:18(float64_t) GroupNonUniformQuadSwap 35 860 26
+ 862: 184(ptr) AccessChain 24(data) 25 856 172 26
Store 862 861
863: 27(ptr) AccessChain 10(dti) 26
864: 6(int) Load 863
865: 27(ptr) AccessChain 10(dti) 26
866: 6(int) Load 865
- 867: 75(ptr) AccessChain 24(data) 25 866 72
- 868: 15(ivec4) Load 867
- 869: 93(ivec2) VectorShuffle 868 868 0 1
- 870: 93(ivec2) GroupNonUniformQuadSwap 35 869 205
- 871: 75(ptr) AccessChain 24(data) 25 864 72
- 872: 15(ivec4) Load 871
- 873: 15(ivec4) VectorShuffle 872 870 4 5 2 3
- Store 871 873
- 874: 27(ptr) AccessChain 10(dti) 26
- 875: 6(int) Load 874
- 876: 27(ptr) AccessChain 10(dti) 26
- 877: 6(int) Load 876
- 878: 75(ptr) AccessChain 24(data) 25 877 72
- 879: 15(ivec4) Load 878
- 880: 105(ivec3) VectorShuffle 879 879 0 1 2
- 881: 105(ivec3) GroupNonUniformQuadSwap 35 880 205
- 882: 75(ptr) AccessChain 24(data) 25 875 72
- 883: 15(ivec4) Load 882
- 884: 15(ivec4) VectorShuffle 883 881 4 5 6 3
- Store 882 884
- 885: 27(ptr) AccessChain 10(dti) 26
- 886: 6(int) Load 885
- 887: 27(ptr) AccessChain 10(dti) 26
- 888: 6(int) Load 887
- 889: 118(ptr) AccessChain 24(data) 25 888 115
- 890: 17(fvec4) Load 889
- 891: 17(fvec4) GroupNonUniformQuadSwap 35 890 205
- 892: 118(ptr) AccessChain 24(data) 25 886 115
- Store 892 891
- 893: 27(ptr) AccessChain 10(dti) 26
- 894: 6(int) Load 893
- 895: 27(ptr) AccessChain 10(dti) 26
- 896: 6(int) Load 895
- 897: 127(ptr) AccessChain 24(data) 25 896 115 26
- 898: 16(float) Load 897
- 899: 16(float) GroupNonUniformQuadSwap 35 898 205
- 900: 127(ptr) AccessChain 24(data) 25 894 115 26
- Store 900 899
- 901: 27(ptr) AccessChain 10(dti) 26
+ 867: 175(ptr) AccessChain 24(data) 25 866 172
+ 868: 19(f64vec4) Load 867
+ 869:193(f64vec2) VectorShuffle 868 868 0 1
+ 870:193(f64vec2) GroupNonUniformQuadSwap 35 869 26
+ 871: 184(ptr) AccessChain 24(data) 25 864 172 26
+ 872:18(float64_t) CompositeExtract 870 0
+ Store 871 872
+ 873: 184(ptr) AccessChain 24(data) 25 864 172 58
+ 874:18(float64_t) CompositeExtract 870 1
+ Store 873 874
+ 875: 27(ptr) AccessChain 10(dti) 26
+ 876: 6(int) Load 875
+ 877: 27(ptr) AccessChain 10(dti) 26
+ 878: 6(int) Load 877
+ 879: 175(ptr) AccessChain 24(data) 25 878 172
+ 880: 19(f64vec4) Load 879
+ 881:206(f64vec3) VectorShuffle 880 880 0 1 2
+ 882:206(f64vec3) GroupNonUniformQuadSwap 35 881 26
+ 883: 184(ptr) AccessChain 24(data) 25 876 172 26
+ 884:18(float64_t) CompositeExtract 882 0
+ Store 883 884
+ 885: 184(ptr) AccessChain 24(data) 25 876 172 58
+ 886:18(float64_t) CompositeExtract 882 1
+ Store 885 886
+ 887: 184(ptr) AccessChain 24(data) 25 876 172 73
+ 888:18(float64_t) CompositeExtract 882 2
+ Store 887 888
+ 889: 27(ptr) AccessChain 10(dti) 26
+ 890: 6(int) Load 889
+ 891: 27(ptr) AccessChain 10(dti) 26
+ 892: 6(int) Load 891
+ 893: 32(ptr) AccessChain 24(data) 25 892 25
+ 894: 13(ivec4) Load 893
+ 895: 13(ivec4) GroupNonUniformQuadSwap 35 894 58
+ 896: 32(ptr) AccessChain 24(data) 25 890 25
+ Store 896 895
+ 897: 27(ptr) AccessChain 10(dti) 26
+ 898: 6(int) Load 897
+ 899: 27(ptr) AccessChain 10(dti) 26
+ 900: 6(int) Load 899
+ 901: 42(ptr) AccessChain 24(data) 25 900 25 26
902: 6(int) Load 901
- 903: 27(ptr) AccessChain 10(dti) 26
- 904: 6(int) Load 903
- 905: 118(ptr) AccessChain 24(data) 25 904 115
- 906: 17(fvec4) Load 905
- 907: 136(fvec2) VectorShuffle 906 906 0 1
- 908: 136(fvec2) GroupNonUniformQuadSwap 35 907 205
- 909: 118(ptr) AccessChain 24(data) 25 902 115
- 910: 17(fvec4) Load 909
- 911: 17(fvec4) VectorShuffle 910 908 4 5 2 3
- Store 909 911
- 912: 27(ptr) AccessChain 10(dti) 26
- 913: 6(int) Load 912
- 914: 27(ptr) AccessChain 10(dti) 26
- 915: 6(int) Load 914
- 916: 118(ptr) AccessChain 24(data) 25 915 115
- 917: 17(fvec4) Load 916
- 918: 148(fvec3) VectorShuffle 917 917 0 1 2
- 919: 148(fvec3) GroupNonUniformQuadSwap 35 918 205
- 920: 118(ptr) AccessChain 24(data) 25 913 115
- 921: 17(fvec4) Load 920
- 922: 17(fvec4) VectorShuffle 921 919 4 5 6 3
- Store 920 922
- 923: 27(ptr) AccessChain 10(dti) 26
- 924: 6(int) Load 923
- 925: 27(ptr) AccessChain 10(dti) 26
- 926: 6(int) Load 925
- 927: 161(ptr) AccessChain 24(data) 25 926 158
- 928: 19(f64vec4) Load 927
- 929: 19(f64vec4) GroupNonUniformQuadSwap 35 928 205
- 930: 161(ptr) AccessChain 24(data) 25 924 158
- Store 930 929
+ 903: 6(int) GroupNonUniformQuadSwap 35 902 58
+ 904: 42(ptr) AccessChain 24(data) 25 898 25 26
+ Store 904 903
+ 905: 27(ptr) AccessChain 10(dti) 26
+ 906: 6(int) Load 905
+ 907: 27(ptr) AccessChain 10(dti) 26
+ 908: 6(int) Load 907
+ 909: 32(ptr) AccessChain 24(data) 25 908 25
+ 910: 13(ivec4) Load 909
+ 911: 51(ivec2) VectorShuffle 910 910 0 1
+ 912: 51(ivec2) GroupNonUniformQuadSwap 35 911 58
+ 913: 42(ptr) AccessChain 24(data) 25 906 25 26
+ 914: 6(int) CompositeExtract 912 0
+ Store 913 914
+ 915: 42(ptr) AccessChain 24(data) 25 906 25 58
+ 916: 6(int) CompositeExtract 912 1
+ Store 915 916
+ 917: 27(ptr) AccessChain 10(dti) 26
+ 918: 6(int) Load 917
+ 919: 27(ptr) AccessChain 10(dti) 26
+ 920: 6(int) Load 919
+ 921: 32(ptr) AccessChain 24(data) 25 920 25
+ 922: 13(ivec4) Load 921
+ 923: 7(ivec3) VectorShuffle 922 922 0 1 2
+ 924: 7(ivec3) GroupNonUniformQuadSwap 35 923 58
+ 925: 42(ptr) AccessChain 24(data) 25 918 25 26
+ 926: 6(int) CompositeExtract 924 0
+ Store 925 926
+ 927: 42(ptr) AccessChain 24(data) 25 918 25 58
+ 928: 6(int) CompositeExtract 924 1
+ Store 927 928
+ 929: 42(ptr) AccessChain 24(data) 25 918 25 73
+ 930: 6(int) CompositeExtract 924 2
+ Store 929 930
931: 27(ptr) AccessChain 10(dti) 26
932: 6(int) Load 931
933: 27(ptr) AccessChain 10(dti) 26
934: 6(int) Load 933
- 935: 170(ptr) AccessChain 24(data) 25 934 158 26
- 936:18(float64_t) Load 935
- 937:18(float64_t) GroupNonUniformQuadSwap 35 936 205
- 938: 170(ptr) AccessChain 24(data) 25 932 158 26
+ 935: 81(ptr) AccessChain 24(data) 25 934 78
+ 936: 15(ivec4) Load 935
+ 937: 15(ivec4) GroupNonUniformQuadSwap 35 936 58
+ 938: 81(ptr) AccessChain 24(data) 25 932 78
Store 938 937
939: 27(ptr) AccessChain 10(dti) 26
940: 6(int) Load 939
941: 27(ptr) AccessChain 10(dti) 26
942: 6(int) Load 941
- 943: 161(ptr) AccessChain 24(data) 25 942 158
- 944: 19(f64vec4) Load 943
- 945:179(f64vec2) VectorShuffle 944 944 0 1
- 946:179(f64vec2) GroupNonUniformQuadSwap 35 945 205
- 947: 161(ptr) AccessChain 24(data) 25 940 158
- 948: 19(f64vec4) Load 947
- 949: 19(f64vec4) VectorShuffle 948 946 4 5 2 3
- Store 947 949
- 950: 27(ptr) AccessChain 10(dti) 26
- 951: 6(int) Load 950
- 952: 27(ptr) AccessChain 10(dti) 26
- 953: 6(int) Load 952
- 954: 161(ptr) AccessChain 24(data) 25 953 158
- 955: 19(f64vec4) Load 954
- 956:191(f64vec3) VectorShuffle 955 955 0 1 2
- 957:191(f64vec3) GroupNonUniformQuadSwap 35 956 205
- 958: 161(ptr) AccessChain 24(data) 25 951 158
- 959: 19(f64vec4) Load 958
- 960: 19(f64vec4) VectorShuffle 959 957 4 5 6 3
- Store 958 960
+ 943: 90(ptr) AccessChain 24(data) 25 942 78 26
+ 944: 14(int) Load 943
+ 945: 14(int) GroupNonUniformQuadSwap 35 944 58
+ 946: 90(ptr) AccessChain 24(data) 25 940 78 26
+ Store 946 945
+ 947: 27(ptr) AccessChain 10(dti) 26
+ 948: 6(int) Load 947
+ 949: 27(ptr) AccessChain 10(dti) 26
+ 950: 6(int) Load 949
+ 951: 81(ptr) AccessChain 24(data) 25 950 78
+ 952: 15(ivec4) Load 951
+ 953: 99(ivec2) VectorShuffle 952 952 0 1
+ 954: 99(ivec2) GroupNonUniformQuadSwap 35 953 58
+ 955: 90(ptr) AccessChain 24(data) 25 948 78 26
+ 956: 14(int) CompositeExtract 954 0
+ Store 955 956
+ 957: 90(ptr) AccessChain 24(data) 25 948 78 58
+ 958: 14(int) CompositeExtract 954 1
+ Store 957 958
+ 959: 27(ptr) AccessChain 10(dti) 26
+ 960: 6(int) Load 959
961: 27(ptr) AccessChain 10(dti) 26
962: 6(int) Load 961
- 963: 27(ptr) AccessChain 10(dti) 26
- 964: 6(int) Load 963
- 965: 32(ptr) AccessChain 24(data) 25 964 25
- 966: 13(ivec4) Load 965
- 967: 13(ivec4) GroupNonUniformQuadSwap 35 966 358
- 968: 32(ptr) AccessChain 24(data) 25 962 25
- Store 968 967
- 969: 27(ptr) AccessChain 10(dti) 26
- 970: 6(int) Load 969
- 971: 27(ptr) AccessChain 10(dti) 26
- 972: 6(int) Load 971
- 973: 42(ptr) AccessChain 24(data) 25 972 25 26
+ 963: 81(ptr) AccessChain 24(data) 25 962 78
+ 964: 15(ivec4) Load 963
+ 965: 112(ivec3) VectorShuffle 964 964 0 1 2
+ 966: 112(ivec3) GroupNonUniformQuadSwap 35 965 58
+ 967: 90(ptr) AccessChain 24(data) 25 960 78 26
+ 968: 14(int) CompositeExtract 966 0
+ Store 967 968
+ 969: 90(ptr) AccessChain 24(data) 25 960 78 58
+ 970: 14(int) CompositeExtract 966 1
+ Store 969 970
+ 971: 90(ptr) AccessChain 24(data) 25 960 78 73
+ 972: 14(int) CompositeExtract 966 2
+ Store 971 972
+ 973: 27(ptr) AccessChain 10(dti) 26
974: 6(int) Load 973
- 975: 6(int) GroupNonUniformQuadSwap 35 974 358
- 976: 42(ptr) AccessChain 24(data) 25 970 25 26
- Store 976 975
- 977: 27(ptr) AccessChain 10(dti) 26
- 978: 6(int) Load 977
- 979: 27(ptr) AccessChain 10(dti) 26
- 980: 6(int) Load 979
- 981: 32(ptr) AccessChain 24(data) 25 980 25
- 982: 13(ivec4) Load 981
- 983: 51(ivec2) VectorShuffle 982 982 0 1
- 984: 51(ivec2) GroupNonUniformQuadSwap 35 983 358
- 985: 32(ptr) AccessChain 24(data) 25 978 25
- 986: 13(ivec4) Load 985
- 987: 13(ivec4) VectorShuffle 986 984 4 5 2 3
- Store 985 987
- 988: 27(ptr) AccessChain 10(dti) 26
- 989: 6(int) Load 988
- 990: 27(ptr) AccessChain 10(dti) 26
- 991: 6(int) Load 990
- 992: 32(ptr) AccessChain 24(data) 25 991 25
- 993: 13(ivec4) Load 992
- 994: 7(ivec3) VectorShuffle 993 993 0 1 2
- 995: 7(ivec3) GroupNonUniformQuadSwap 35 994 358
- 996: 32(ptr) AccessChain 24(data) 25 989 25
- 997: 13(ivec4) Load 996
- 998: 13(ivec4) VectorShuffle 997 995 4 5 6 3
- Store 996 998
- 999: 27(ptr) AccessChain 10(dti) 26
- 1000: 6(int) Load 999
+ 975: 27(ptr) AccessChain 10(dti) 26
+ 976: 6(int) Load 975
+ 977: 128(ptr) AccessChain 24(data) 25 976 125
+ 978: 17(fvec4) Load 977
+ 979: 17(fvec4) GroupNonUniformQuadSwap 35 978 58
+ 980: 128(ptr) AccessChain 24(data) 25 974 125
+ Store 980 979
+ 981: 27(ptr) AccessChain 10(dti) 26
+ 982: 6(int) Load 981
+ 983: 27(ptr) AccessChain 10(dti) 26
+ 984: 6(int) Load 983
+ 985: 137(ptr) AccessChain 24(data) 25 984 125 26
+ 986: 16(float) Load 985
+ 987: 16(float) GroupNonUniformQuadSwap 35 986 58
+ 988: 137(ptr) AccessChain 24(data) 25 982 125 26
+ Store 988 987
+ 989: 27(ptr) AccessChain 10(dti) 26
+ 990: 6(int) Load 989
+ 991: 27(ptr) AccessChain 10(dti) 26
+ 992: 6(int) Load 991
+ 993: 128(ptr) AccessChain 24(data) 25 992 125
+ 994: 17(fvec4) Load 993
+ 995: 146(fvec2) VectorShuffle 994 994 0 1
+ 996: 146(fvec2) GroupNonUniformQuadSwap 35 995 58
+ 997: 137(ptr) AccessChain 24(data) 25 990 125 26
+ 998: 16(float) CompositeExtract 996 0
+ Store 997 998
+ 999: 137(ptr) AccessChain 24(data) 25 990 125 58
+ 1000: 16(float) CompositeExtract 996 1
+ Store 999 1000
1001: 27(ptr) AccessChain 10(dti) 26
1002: 6(int) Load 1001
- 1003: 75(ptr) AccessChain 24(data) 25 1002 72
- 1004: 15(ivec4) Load 1003
- 1005: 15(ivec4) GroupNonUniformQuadSwap 35 1004 358
- 1006: 75(ptr) AccessChain 24(data) 25 1000 72
- Store 1006 1005
- 1007: 27(ptr) AccessChain 10(dti) 26
- 1008: 6(int) Load 1007
- 1009: 27(ptr) AccessChain 10(dti) 26
- 1010: 6(int) Load 1009
- 1011: 84(ptr) AccessChain 24(data) 25 1010 72 26
- 1012: 14(int) Load 1011
- 1013: 14(int) GroupNonUniformQuadSwap 35 1012 358
- 1014: 84(ptr) AccessChain 24(data) 25 1008 72 26
- Store 1014 1013
+ 1003: 27(ptr) AccessChain 10(dti) 26
+ 1004: 6(int) Load 1003
+ 1005: 128(ptr) AccessChain 24(data) 25 1004 125
+ 1006: 17(fvec4) Load 1005
+ 1007: 159(fvec3) VectorShuffle 1006 1006 0 1 2
+ 1008: 159(fvec3) GroupNonUniformQuadSwap 35 1007 58
+ 1009: 137(ptr) AccessChain 24(data) 25 1002 125 26
+ 1010: 16(float) CompositeExtract 1008 0
+ Store 1009 1010
+ 1011: 137(ptr) AccessChain 24(data) 25 1002 125 58
+ 1012: 16(float) CompositeExtract 1008 1
+ Store 1011 1012
+ 1013: 137(ptr) AccessChain 24(data) 25 1002 125 73
+ 1014: 16(float) CompositeExtract 1008 2
+ Store 1013 1014
1015: 27(ptr) AccessChain 10(dti) 26
1016: 6(int) Load 1015
1017: 27(ptr) AccessChain 10(dti) 26
1018: 6(int) Load 1017
- 1019: 75(ptr) AccessChain 24(data) 25 1018 72
- 1020: 15(ivec4) Load 1019
- 1021: 93(ivec2) VectorShuffle 1020 1020 0 1
- 1022: 93(ivec2) GroupNonUniformQuadSwap 35 1021 358
- 1023: 75(ptr) AccessChain 24(data) 25 1016 72
- 1024: 15(ivec4) Load 1023
- 1025: 15(ivec4) VectorShuffle 1024 1022 4 5 2 3
- Store 1023 1025
- 1026: 27(ptr) AccessChain 10(dti) 26
- 1027: 6(int) Load 1026
- 1028: 27(ptr) AccessChain 10(dti) 26
- 1029: 6(int) Load 1028
- 1030: 75(ptr) AccessChain 24(data) 25 1029 72
- 1031: 15(ivec4) Load 1030
- 1032: 105(ivec3) VectorShuffle 1031 1031 0 1 2
- 1033: 105(ivec3) GroupNonUniformQuadSwap 35 1032 358
- 1034: 75(ptr) AccessChain 24(data) 25 1027 72
- 1035: 15(ivec4) Load 1034
- 1036: 15(ivec4) VectorShuffle 1035 1033 4 5 6 3
- Store 1034 1036
- 1037: 27(ptr) AccessChain 10(dti) 26
- 1038: 6(int) Load 1037
- 1039: 27(ptr) AccessChain 10(dti) 26
- 1040: 6(int) Load 1039
- 1041: 118(ptr) AccessChain 24(data) 25 1040 115
- 1042: 17(fvec4) Load 1041
- 1043: 17(fvec4) GroupNonUniformQuadSwap 35 1042 358
- 1044: 118(ptr) AccessChain 24(data) 25 1038 115
- Store 1044 1043
+ 1019: 175(ptr) AccessChain 24(data) 25 1018 172
+ 1020: 19(f64vec4) Load 1019
+ 1021: 19(f64vec4) GroupNonUniformQuadSwap 35 1020 58
+ 1022: 175(ptr) AccessChain 24(data) 25 1016 172
+ Store 1022 1021
+ 1023: 27(ptr) AccessChain 10(dti) 26
+ 1024: 6(int) Load 1023
+ 1025: 27(ptr) AccessChain 10(dti) 26
+ 1026: 6(int) Load 1025
+ 1027: 184(ptr) AccessChain 24(data) 25 1026 172 26
+ 1028:18(float64_t) Load 1027
+ 1029:18(float64_t) GroupNonUniformQuadSwap 35 1028 58
+ 1030: 184(ptr) AccessChain 24(data) 25 1024 172 26
+ Store 1030 1029
+ 1031: 27(ptr) AccessChain 10(dti) 26
+ 1032: 6(int) Load 1031
+ 1033: 27(ptr) AccessChain 10(dti) 26
+ 1034: 6(int) Load 1033
+ 1035: 175(ptr) AccessChain 24(data) 25 1034 172
+ 1036: 19(f64vec4) Load 1035
+ 1037:193(f64vec2) VectorShuffle 1036 1036 0 1
+ 1038:193(f64vec2) GroupNonUniformQuadSwap 35 1037 58
+ 1039: 184(ptr) AccessChain 24(data) 25 1032 172 26
+ 1040:18(float64_t) CompositeExtract 1038 0
+ Store 1039 1040
+ 1041: 184(ptr) AccessChain 24(data) 25 1032 172 58
+ 1042:18(float64_t) CompositeExtract 1038 1
+ Store 1041 1042
+ 1043: 27(ptr) AccessChain 10(dti) 26
+ 1044: 6(int) Load 1043
1045: 27(ptr) AccessChain 10(dti) 26
1046: 6(int) Load 1045
- 1047: 27(ptr) AccessChain 10(dti) 26
- 1048: 6(int) Load 1047
- 1049: 127(ptr) AccessChain 24(data) 25 1048 115 26
- 1050: 16(float) Load 1049
- 1051: 16(float) GroupNonUniformQuadSwap 35 1050 358
- 1052: 127(ptr) AccessChain 24(data) 25 1046 115 26
- Store 1052 1051
- 1053: 27(ptr) AccessChain 10(dti) 26
- 1054: 6(int) Load 1053
- 1055: 27(ptr) AccessChain 10(dti) 26
- 1056: 6(int) Load 1055
- 1057: 118(ptr) AccessChain 24(data) 25 1056 115
- 1058: 17(fvec4) Load 1057
- 1059: 136(fvec2) VectorShuffle 1058 1058 0 1
- 1060: 136(fvec2) GroupNonUniformQuadSwap 35 1059 358
- 1061: 118(ptr) AccessChain 24(data) 25 1054 115
- 1062: 17(fvec4) Load 1061
- 1063: 17(fvec4) VectorShuffle 1062 1060 4 5 2 3
- Store 1061 1063
- 1064: 27(ptr) AccessChain 10(dti) 26
- 1065: 6(int) Load 1064
- 1066: 27(ptr) AccessChain 10(dti) 26
- 1067: 6(int) Load 1066
- 1068: 118(ptr) AccessChain 24(data) 25 1067 115
- 1069: 17(fvec4) Load 1068
- 1070: 148(fvec3) VectorShuffle 1069 1069 0 1 2
- 1071: 148(fvec3) GroupNonUniformQuadSwap 35 1070 358
- 1072: 118(ptr) AccessChain 24(data) 25 1065 115
- 1073: 17(fvec4) Load 1072
- 1074: 17(fvec4) VectorShuffle 1073 1071 4 5 6 3
- Store 1072 1074
+ 1047: 175(ptr) AccessChain 24(data) 25 1046 172
+ 1048: 19(f64vec4) Load 1047
+ 1049:206(f64vec3) VectorShuffle 1048 1048 0 1 2
+ 1050:206(f64vec3) GroupNonUniformQuadSwap 35 1049 58
+ 1051: 184(ptr) AccessChain 24(data) 25 1044 172 26
+ 1052:18(float64_t) CompositeExtract 1050 0
+ Store 1051 1052
+ 1053: 184(ptr) AccessChain 24(data) 25 1044 172 58
+ 1054:18(float64_t) CompositeExtract 1050 1
+ Store 1053 1054
+ 1055: 184(ptr) AccessChain 24(data) 25 1044 172 73
+ 1056:18(float64_t) CompositeExtract 1050 2
+ Store 1055 1056
+ 1057: 27(ptr) AccessChain 10(dti) 26
+ 1058: 6(int) Load 1057
+ 1059: 27(ptr) AccessChain 10(dti) 26
+ 1060: 6(int) Load 1059
+ 1061: 32(ptr) AccessChain 24(data) 25 1060 25
+ 1062: 13(ivec4) Load 1061
+ 1063: 13(ivec4) GroupNonUniformQuadSwap 35 1062 73
+ 1064: 32(ptr) AccessChain 24(data) 25 1058 25
+ Store 1064 1063
+ 1065: 27(ptr) AccessChain 10(dti) 26
+ 1066: 6(int) Load 1065
+ 1067: 27(ptr) AccessChain 10(dti) 26
+ 1068: 6(int) Load 1067
+ 1069: 42(ptr) AccessChain 24(data) 25 1068 25 26
+ 1070: 6(int) Load 1069
+ 1071: 6(int) GroupNonUniformQuadSwap 35 1070 73
+ 1072: 42(ptr) AccessChain 24(data) 25 1066 25 26
+ Store 1072 1071
+ 1073: 27(ptr) AccessChain 10(dti) 26
+ 1074: 6(int) Load 1073
1075: 27(ptr) AccessChain 10(dti) 26
1076: 6(int) Load 1075
- 1077: 27(ptr) AccessChain 10(dti) 26
- 1078: 6(int) Load 1077
- 1079: 161(ptr) AccessChain 24(data) 25 1078 158
- 1080: 19(f64vec4) Load 1079
- 1081: 19(f64vec4) GroupNonUniformQuadSwap 35 1080 358
- 1082: 161(ptr) AccessChain 24(data) 25 1076 158
- Store 1082 1081
- 1083: 27(ptr) AccessChain 10(dti) 26
- 1084: 6(int) Load 1083
+ 1077: 32(ptr) AccessChain 24(data) 25 1076 25
+ 1078: 13(ivec4) Load 1077
+ 1079: 51(ivec2) VectorShuffle 1078 1078 0 1
+ 1080: 51(ivec2) GroupNonUniformQuadSwap 35 1079 73
+ 1081: 42(ptr) AccessChain 24(data) 25 1074 25 26
+ 1082: 6(int) CompositeExtract 1080 0
+ Store 1081 1082
+ 1083: 42(ptr) AccessChain 24(data) 25 1074 25 58
+ 1084: 6(int) CompositeExtract 1080 1
+ Store 1083 1084
1085: 27(ptr) AccessChain 10(dti) 26
1086: 6(int) Load 1085
- 1087: 170(ptr) AccessChain 24(data) 25 1086 158 26
- 1088:18(float64_t) Load 1087
- 1089:18(float64_t) GroupNonUniformQuadSwap 35 1088 358
- 1090: 170(ptr) AccessChain 24(data) 25 1084 158 26
- Store 1090 1089
- 1091: 27(ptr) AccessChain 10(dti) 26
- 1092: 6(int) Load 1091
- 1093: 27(ptr) AccessChain 10(dti) 26
- 1094: 6(int) Load 1093
- 1095: 161(ptr) AccessChain 24(data) 25 1094 158
- 1096: 19(f64vec4) Load 1095
- 1097:179(f64vec2) VectorShuffle 1096 1096 0 1
- 1098:179(f64vec2) GroupNonUniformQuadSwap 35 1097 358
- 1099: 161(ptr) AccessChain 24(data) 25 1092 158
- 1100: 19(f64vec4) Load 1099
- 1101: 19(f64vec4) VectorShuffle 1100 1098 4 5 2 3
- Store 1099 1101
- 1102: 27(ptr) AccessChain 10(dti) 26
- 1103: 6(int) Load 1102
- 1104: 27(ptr) AccessChain 10(dti) 26
- 1105: 6(int) Load 1104
- 1106: 161(ptr) AccessChain 24(data) 25 1105 158
- 1107: 19(f64vec4) Load 1106
- 1108:191(f64vec3) VectorShuffle 1107 1107 0 1 2
- 1109:191(f64vec3) GroupNonUniformQuadSwap 35 1108 358
- 1110: 161(ptr) AccessChain 24(data) 25 1103 158
- 1111: 19(f64vec4) Load 1110
- 1112: 19(f64vec4) VectorShuffle 1111 1109 4 5 6 3
- Store 1110 1112
+ 1087: 27(ptr) AccessChain 10(dti) 26
+ 1088: 6(int) Load 1087
+ 1089: 32(ptr) AccessChain 24(data) 25 1088 25
+ 1090: 13(ivec4) Load 1089
+ 1091: 7(ivec3) VectorShuffle 1090 1090 0 1 2
+ 1092: 7(ivec3) GroupNonUniformQuadSwap 35 1091 73
+ 1093: 42(ptr) AccessChain 24(data) 25 1086 25 26
+ 1094: 6(int) CompositeExtract 1092 0
+ Store 1093 1094
+ 1095: 42(ptr) AccessChain 24(data) 25 1086 25 58
+ 1096: 6(int) CompositeExtract 1092 1
+ Store 1095 1096
+ 1097: 42(ptr) AccessChain 24(data) 25 1086 25 73
+ 1098: 6(int) CompositeExtract 1092 2
+ Store 1097 1098
+ 1099: 27(ptr) AccessChain 10(dti) 26
+ 1100: 6(int) Load 1099
+ 1101: 27(ptr) AccessChain 10(dti) 26
+ 1102: 6(int) Load 1101
+ 1103: 81(ptr) AccessChain 24(data) 25 1102 78
+ 1104: 15(ivec4) Load 1103
+ 1105: 15(ivec4) GroupNonUniformQuadSwap 35 1104 73
+ 1106: 81(ptr) AccessChain 24(data) 25 1100 78
+ Store 1106 1105
+ 1107: 27(ptr) AccessChain 10(dti) 26
+ 1108: 6(int) Load 1107
+ 1109: 27(ptr) AccessChain 10(dti) 26
+ 1110: 6(int) Load 1109
+ 1111: 90(ptr) AccessChain 24(data) 25 1110 78 26
+ 1112: 14(int) Load 1111
+ 1113: 14(int) GroupNonUniformQuadSwap 35 1112 73
+ 1114: 90(ptr) AccessChain 24(data) 25 1108 78 26
+ Store 1114 1113
+ 1115: 27(ptr) AccessChain 10(dti) 26
+ 1116: 6(int) Load 1115
+ 1117: 27(ptr) AccessChain 10(dti) 26
+ 1118: 6(int) Load 1117
+ 1119: 81(ptr) AccessChain 24(data) 25 1118 78
+ 1120: 15(ivec4) Load 1119
+ 1121: 99(ivec2) VectorShuffle 1120 1120 0 1
+ 1122: 99(ivec2) GroupNonUniformQuadSwap 35 1121 73
+ 1123: 90(ptr) AccessChain 24(data) 25 1116 78 26
+ 1124: 14(int) CompositeExtract 1122 0
+ Store 1123 1124
+ 1125: 90(ptr) AccessChain 24(data) 25 1116 78 58
+ 1126: 14(int) CompositeExtract 1122 1
+ Store 1125 1126
+ 1127: 27(ptr) AccessChain 10(dti) 26
+ 1128: 6(int) Load 1127
+ 1129: 27(ptr) AccessChain 10(dti) 26
+ 1130: 6(int) Load 1129
+ 1131: 81(ptr) AccessChain 24(data) 25 1130 78
+ 1132: 15(ivec4) Load 1131
+ 1133: 112(ivec3) VectorShuffle 1132 1132 0 1 2
+ 1134: 112(ivec3) GroupNonUniformQuadSwap 35 1133 73
+ 1135: 90(ptr) AccessChain 24(data) 25 1128 78 26
+ 1136: 14(int) CompositeExtract 1134 0
+ Store 1135 1136
+ 1137: 90(ptr) AccessChain 24(data) 25 1128 78 58
+ 1138: 14(int) CompositeExtract 1134 1
+ Store 1137 1138
+ 1139: 90(ptr) AccessChain 24(data) 25 1128 78 73
+ 1140: 14(int) CompositeExtract 1134 2
+ Store 1139 1140
+ 1141: 27(ptr) AccessChain 10(dti) 26
+ 1142: 6(int) Load 1141
+ 1143: 27(ptr) AccessChain 10(dti) 26
+ 1144: 6(int) Load 1143
+ 1145: 128(ptr) AccessChain 24(data) 25 1144 125
+ 1146: 17(fvec4) Load 1145
+ 1147: 17(fvec4) GroupNonUniformQuadSwap 35 1146 73
+ 1148: 128(ptr) AccessChain 24(data) 25 1142 125
+ Store 1148 1147
+ 1149: 27(ptr) AccessChain 10(dti) 26
+ 1150: 6(int) Load 1149
+ 1151: 27(ptr) AccessChain 10(dti) 26
+ 1152: 6(int) Load 1151
+ 1153: 137(ptr) AccessChain 24(data) 25 1152 125 26
+ 1154: 16(float) Load 1153
+ 1155: 16(float) GroupNonUniformQuadSwap 35 1154 73
+ 1156: 137(ptr) AccessChain 24(data) 25 1150 125 26
+ Store 1156 1155
+ 1157: 27(ptr) AccessChain 10(dti) 26
+ 1158: 6(int) Load 1157
+ 1159: 27(ptr) AccessChain 10(dti) 26
+ 1160: 6(int) Load 1159
+ 1161: 128(ptr) AccessChain 24(data) 25 1160 125
+ 1162: 17(fvec4) Load 1161
+ 1163: 146(fvec2) VectorShuffle 1162 1162 0 1
+ 1164: 146(fvec2) GroupNonUniformQuadSwap 35 1163 73
+ 1165: 137(ptr) AccessChain 24(data) 25 1158 125 26
+ 1166: 16(float) CompositeExtract 1164 0
+ Store 1165 1166
+ 1167: 137(ptr) AccessChain 24(data) 25 1158 125 58
+ 1168: 16(float) CompositeExtract 1164 1
+ Store 1167 1168
+ 1169: 27(ptr) AccessChain 10(dti) 26
+ 1170: 6(int) Load 1169
+ 1171: 27(ptr) AccessChain 10(dti) 26
+ 1172: 6(int) Load 1171
+ 1173: 128(ptr) AccessChain 24(data) 25 1172 125
+ 1174: 17(fvec4) Load 1173
+ 1175: 159(fvec3) VectorShuffle 1174 1174 0 1 2
+ 1176: 159(fvec3) GroupNonUniformQuadSwap 35 1175 73
+ 1177: 137(ptr) AccessChain 24(data) 25 1170 125 26
+ 1178: 16(float) CompositeExtract 1176 0
+ Store 1177 1178
+ 1179: 137(ptr) AccessChain 24(data) 25 1170 125 58
+ 1180: 16(float) CompositeExtract 1176 1
+ Store 1179 1180
+ 1181: 137(ptr) AccessChain 24(data) 25 1170 125 73
+ 1182: 16(float) CompositeExtract 1176 2
+ Store 1181 1182
+ 1183: 27(ptr) AccessChain 10(dti) 26
+ 1184: 6(int) Load 1183
+ 1185: 27(ptr) AccessChain 10(dti) 26
+ 1186: 6(int) Load 1185
+ 1187: 175(ptr) AccessChain 24(data) 25 1186 172
+ 1188: 19(f64vec4) Load 1187
+ 1189: 19(f64vec4) GroupNonUniformQuadSwap 35 1188 73
+ 1190: 175(ptr) AccessChain 24(data) 25 1184 172
+ Store 1190 1189
+ 1191: 27(ptr) AccessChain 10(dti) 26
+ 1192: 6(int) Load 1191
+ 1193: 27(ptr) AccessChain 10(dti) 26
+ 1194: 6(int) Load 1193
+ 1195: 184(ptr) AccessChain 24(data) 25 1194 172 26
+ 1196:18(float64_t) Load 1195
+ 1197:18(float64_t) GroupNonUniformQuadSwap 35 1196 73
+ 1198: 184(ptr) AccessChain 24(data) 25 1192 172 26
+ Store 1198 1197
+ 1199: 27(ptr) AccessChain 10(dti) 26
+ 1200: 6(int) Load 1199
+ 1201: 27(ptr) AccessChain 10(dti) 26
+ 1202: 6(int) Load 1201
+ 1203: 175(ptr) AccessChain 24(data) 25 1202 172
+ 1204: 19(f64vec4) Load 1203
+ 1205:193(f64vec2) VectorShuffle 1204 1204 0 1
+ 1206:193(f64vec2) GroupNonUniformQuadSwap 35 1205 73
+ 1207: 184(ptr) AccessChain 24(data) 25 1200 172 26
+ 1208:18(float64_t) CompositeExtract 1206 0
+ Store 1207 1208
+ 1209: 184(ptr) AccessChain 24(data) 25 1200 172 58
+ 1210:18(float64_t) CompositeExtract 1206 1
+ Store 1209 1210
+ 1211: 27(ptr) AccessChain 10(dti) 26
+ 1212: 6(int) Load 1211
+ 1213: 27(ptr) AccessChain 10(dti) 26
+ 1214: 6(int) Load 1213
+ 1215: 175(ptr) AccessChain 24(data) 25 1214 172
+ 1216: 19(f64vec4) Load 1215
+ 1217:206(f64vec3) VectorShuffle 1216 1216 0 1 2
+ 1218:206(f64vec3) GroupNonUniformQuadSwap 35 1217 73
+ 1219: 184(ptr) AccessChain 24(data) 25 1212 172 26
+ 1220:18(float64_t) CompositeExtract 1218 0
+ Store 1219 1220
+ 1221: 184(ptr) AccessChain 24(data) 25 1212 172 58
+ 1222:18(float64_t) CompositeExtract 1218 1
+ Store 1221 1222
+ 1223: 184(ptr) AccessChain 24(data) 25 1212 172 73
+ 1224:18(float64_t) CompositeExtract 1218 2
+ Store 1223 1224
Return
FunctionEnd
diff --git a/Test/baseResults/hlsl.wavereduction.comp.out b/Test/baseResults/hlsl.wavereduction.comp.out
index a898612..64a4e7c 100644
--- a/Test/baseResults/hlsl.wavereduction.comp.out
+++ b/Test/baseResults/hlsl.wavereduction.comp.out
@@ -6187,7 +6187,7 @@
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 901
+// Id's are bound by 991
Capability Shader
Capability Float64
@@ -6196,7 +6196,7 @@
Capability GroupNonUniformBallot
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint GLCompute 4 "CSMain" 896
+ EntryPoint GLCompute 4 "CSMain" 986
ExecutionMode 4 LocalSize 32 16 1
Source HLSL 500
Name 4 "CSMain"
@@ -6210,9 +6210,9 @@
Name 22 "data"
MemberName 22(data) 0 "@data"
Name 24 "data"
- Name 894 "dti"
- Name 896 "dti"
- Name 898 "param"
+ Name 984 "dti"
+ Name 986 "dti"
+ Name 988 "param"
MemberDecorate 20(Types) 0 Offset 0
MemberDecorate 20(Types) 1 Offset 16
MemberDecorate 20(Types) 2 Offset 32
@@ -6222,7 +6222,7 @@
Decorate 22(data) BufferBlock
Decorate 24(data) DescriptorSet 0
Decorate 24(data) Binding 0
- Decorate 896(dti) BuiltIn GlobalInvocationId
+ Decorate 986(dti) BuiltIn GlobalInvocationId
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -6248,33 +6248,35 @@
35: 6(int) Constant 3
42: TypePointer Uniform 6(int)
51: TypeVector 6(int) 2
- 72: 14(int) Constant 1
- 75: TypePointer Uniform 15(ivec4)
- 84: TypePointer Uniform 14(int)
- 93: TypeVector 14(int) 2
- 105: TypeVector 14(int) 3
- 115: 14(int) Constant 2
- 118: TypePointer Uniform 17(fvec4)
- 127: TypePointer Uniform 16(float)
- 136: TypeVector 16(float) 2
- 148: TypeVector 16(float) 3
- 158: 14(int) Constant 3
- 161: TypePointer Uniform 19(f64vec4)
- 170: TypePointer Uniform 18(float64_t)
- 179: TypeVector 18(float64_t) 2
- 191: TypeVector 18(float64_t) 3
- 889: TypeBool
- 895: TypePointer Input 7(ivec3)
- 896(dti): 895(ptr) Variable Input
+ 58: 6(int) Constant 1
+ 73: 6(int) Constant 2
+ 78: 14(int) Constant 1
+ 81: TypePointer Uniform 15(ivec4)
+ 90: TypePointer Uniform 14(int)
+ 99: TypeVector 14(int) 2
+ 112: TypeVector 14(int) 3
+ 125: 14(int) Constant 2
+ 128: TypePointer Uniform 17(fvec4)
+ 137: TypePointer Uniform 16(float)
+ 146: TypeVector 16(float) 2
+ 159: TypeVector 16(float) 3
+ 172: 14(int) Constant 3
+ 175: TypePointer Uniform 19(f64vec4)
+ 184: TypePointer Uniform 18(float64_t)
+ 193: TypeVector 18(float64_t) 2
+ 206: TypeVector 18(float64_t) 3
+ 979: TypeBool
+ 985: TypePointer Input 7(ivec3)
+ 986(dti): 985(ptr) Variable Input
4(CSMain): 2 Function None 3
5: Label
- 894(dti): 8(ptr) Variable Function
- 898(param): 8(ptr) Variable Function
- 897: 7(ivec3) Load 896(dti)
- Store 894(dti) 897
- 899: 7(ivec3) Load 894(dti)
- Store 898(param) 899
- 900: 2 FunctionCall 11(@CSMain(vu3;) 898(param)
+ 984(dti): 8(ptr) Variable Function
+ 988(param): 8(ptr) Variable Function
+ 987: 7(ivec3) Load 986(dti)
+ Store 984(dti) 987
+ 989: 7(ivec3) Load 984(dti)
+ Store 988(param) 989
+ 990: 2 FunctionCall 11(@CSMain(vu3;) 988(param)
Return
FunctionEnd
11(@CSMain(vu3;): 2 Function None 9
@@ -6306,914 +6308,1068 @@
53: 13(ivec4) Load 52
54: 51(ivec2) VectorShuffle 53 53 0 1
55: 51(ivec2) GroupNonUniformIAdd 35 Reduce 54
- 56: 32(ptr) AccessChain 24(data) 25 48 25
- 57: 13(ivec4) Load 56
- 58: 13(ivec4) VectorShuffle 57 55 4 5 2 3
- Store 56 58
- 59: 27(ptr) AccessChain 10(dti) 26
- 60: 6(int) Load 59
+ 56: 42(ptr) AccessChain 24(data) 25 48 25 26
+ 57: 6(int) CompositeExtract 55 0
+ Store 56 57
+ 59: 42(ptr) AccessChain 24(data) 25 48 25 58
+ 60: 6(int) CompositeExtract 55 1
+ Store 59 60
61: 27(ptr) AccessChain 10(dti) 26
62: 6(int) Load 61
- 63: 32(ptr) AccessChain 24(data) 25 62 25
- 64: 13(ivec4) Load 63
- 65: 7(ivec3) VectorShuffle 64 64 0 1 2
- 66: 7(ivec3) GroupNonUniformIAdd 35 Reduce 65
- 67: 32(ptr) AccessChain 24(data) 25 60 25
- 68: 13(ivec4) Load 67
- 69: 13(ivec4) VectorShuffle 68 66 4 5 6 3
- Store 67 69
- 70: 27(ptr) AccessChain 10(dti) 26
- 71: 6(int) Load 70
- 73: 27(ptr) AccessChain 10(dti) 26
- 74: 6(int) Load 73
- 76: 75(ptr) AccessChain 24(data) 25 74 72
- 77: 15(ivec4) Load 76
- 78: 15(ivec4) GroupNonUniformIAdd 35 Reduce 77
- 79: 75(ptr) AccessChain 24(data) 25 71 72
- Store 79 78
- 80: 27(ptr) AccessChain 10(dti) 26
- 81: 6(int) Load 80
- 82: 27(ptr) AccessChain 10(dti) 26
- 83: 6(int) Load 82
- 85: 84(ptr) AccessChain 24(data) 25 83 72 26
- 86: 14(int) Load 85
- 87: 14(int) GroupNonUniformIAdd 35 Reduce 86
- 88: 84(ptr) AccessChain 24(data) 25 81 72 26
- Store 88 87
- 89: 27(ptr) AccessChain 10(dti) 26
- 90: 6(int) Load 89
- 91: 27(ptr) AccessChain 10(dti) 26
- 92: 6(int) Load 91
- 94: 75(ptr) AccessChain 24(data) 25 92 72
- 95: 15(ivec4) Load 94
- 96: 93(ivec2) VectorShuffle 95 95 0 1
- 97: 93(ivec2) GroupNonUniformIAdd 35 Reduce 96
- 98: 75(ptr) AccessChain 24(data) 25 90 72
- 99: 15(ivec4) Load 98
- 100: 15(ivec4) VectorShuffle 99 97 4 5 2 3
- Store 98 100
- 101: 27(ptr) AccessChain 10(dti) 26
- 102: 6(int) Load 101
- 103: 27(ptr) AccessChain 10(dti) 26
- 104: 6(int) Load 103
- 106: 75(ptr) AccessChain 24(data) 25 104 72
- 107: 15(ivec4) Load 106
- 108: 105(ivec3) VectorShuffle 107 107 0 1 2
- 109: 105(ivec3) GroupNonUniformIAdd 35 Reduce 108
- 110: 75(ptr) AccessChain 24(data) 25 102 72
- 111: 15(ivec4) Load 110
- 112: 15(ivec4) VectorShuffle 111 109 4 5 6 3
- Store 110 112
- 113: 27(ptr) AccessChain 10(dti) 26
- 114: 6(int) Load 113
- 116: 27(ptr) AccessChain 10(dti) 26
- 117: 6(int) Load 116
- 119: 118(ptr) AccessChain 24(data) 25 117 115
- 120: 17(fvec4) Load 119
- 121: 17(fvec4) GroupNonUniformFAdd 35 Reduce 120
- 122: 118(ptr) AccessChain 24(data) 25 114 115
- Store 122 121
+ 63: 27(ptr) AccessChain 10(dti) 26
+ 64: 6(int) Load 63
+ 65: 32(ptr) AccessChain 24(data) 25 64 25
+ 66: 13(ivec4) Load 65
+ 67: 7(ivec3) VectorShuffle 66 66 0 1 2
+ 68: 7(ivec3) GroupNonUniformIAdd 35 Reduce 67
+ 69: 42(ptr) AccessChain 24(data) 25 62 25 26
+ 70: 6(int) CompositeExtract 68 0
+ Store 69 70
+ 71: 42(ptr) AccessChain 24(data) 25 62 25 58
+ 72: 6(int) CompositeExtract 68 1
+ Store 71 72
+ 74: 42(ptr) AccessChain 24(data) 25 62 25 73
+ 75: 6(int) CompositeExtract 68 2
+ Store 74 75
+ 76: 27(ptr) AccessChain 10(dti) 26
+ 77: 6(int) Load 76
+ 79: 27(ptr) AccessChain 10(dti) 26
+ 80: 6(int) Load 79
+ 82: 81(ptr) AccessChain 24(data) 25 80 78
+ 83: 15(ivec4) Load 82
+ 84: 15(ivec4) GroupNonUniformIAdd 35 Reduce 83
+ 85: 81(ptr) AccessChain 24(data) 25 77 78
+ Store 85 84
+ 86: 27(ptr) AccessChain 10(dti) 26
+ 87: 6(int) Load 86
+ 88: 27(ptr) AccessChain 10(dti) 26
+ 89: 6(int) Load 88
+ 91: 90(ptr) AccessChain 24(data) 25 89 78 26
+ 92: 14(int) Load 91
+ 93: 14(int) GroupNonUniformIAdd 35 Reduce 92
+ 94: 90(ptr) AccessChain 24(data) 25 87 78 26
+ Store 94 93
+ 95: 27(ptr) AccessChain 10(dti) 26
+ 96: 6(int) Load 95
+ 97: 27(ptr) AccessChain 10(dti) 26
+ 98: 6(int) Load 97
+ 100: 81(ptr) AccessChain 24(data) 25 98 78
+ 101: 15(ivec4) Load 100
+ 102: 99(ivec2) VectorShuffle 101 101 0 1
+ 103: 99(ivec2) GroupNonUniformIAdd 35 Reduce 102
+ 104: 90(ptr) AccessChain 24(data) 25 96 78 26
+ 105: 14(int) CompositeExtract 103 0
+ Store 104 105
+ 106: 90(ptr) AccessChain 24(data) 25 96 78 58
+ 107: 14(int) CompositeExtract 103 1
+ Store 106 107
+ 108: 27(ptr) AccessChain 10(dti) 26
+ 109: 6(int) Load 108
+ 110: 27(ptr) AccessChain 10(dti) 26
+ 111: 6(int) Load 110
+ 113: 81(ptr) AccessChain 24(data) 25 111 78
+ 114: 15(ivec4) Load 113
+ 115: 112(ivec3) VectorShuffle 114 114 0 1 2
+ 116: 112(ivec3) GroupNonUniformIAdd 35 Reduce 115
+ 117: 90(ptr) AccessChain 24(data) 25 109 78 26
+ 118: 14(int) CompositeExtract 116 0
+ Store 117 118
+ 119: 90(ptr) AccessChain 24(data) 25 109 78 58
+ 120: 14(int) CompositeExtract 116 1
+ Store 119 120
+ 121: 90(ptr) AccessChain 24(data) 25 109 78 73
+ 122: 14(int) CompositeExtract 116 2
+ Store 121 122
123: 27(ptr) AccessChain 10(dti) 26
124: 6(int) Load 123
- 125: 27(ptr) AccessChain 10(dti) 26
- 126: 6(int) Load 125
- 128: 127(ptr) AccessChain 24(data) 25 126 115 26
- 129: 16(float) Load 128
- 130: 16(float) GroupNonUniformFAdd 35 Reduce 129
- 131: 127(ptr) AccessChain 24(data) 25 124 115 26
- Store 131 130
- 132: 27(ptr) AccessChain 10(dti) 26
- 133: 6(int) Load 132
- 134: 27(ptr) AccessChain 10(dti) 26
- 135: 6(int) Load 134
- 137: 118(ptr) AccessChain 24(data) 25 135 115
- 138: 17(fvec4) Load 137
- 139: 136(fvec2) VectorShuffle 138 138 0 1
- 140: 136(fvec2) GroupNonUniformFAdd 35 Reduce 139
- 141: 118(ptr) AccessChain 24(data) 25 133 115
- 142: 17(fvec4) Load 141
- 143: 17(fvec4) VectorShuffle 142 140 4 5 2 3
- Store 141 143
+ 126: 27(ptr) AccessChain 10(dti) 26
+ 127: 6(int) Load 126
+ 129: 128(ptr) AccessChain 24(data) 25 127 125
+ 130: 17(fvec4) Load 129
+ 131: 17(fvec4) GroupNonUniformFAdd 35 Reduce 130
+ 132: 128(ptr) AccessChain 24(data) 25 124 125
+ Store 132 131
+ 133: 27(ptr) AccessChain 10(dti) 26
+ 134: 6(int) Load 133
+ 135: 27(ptr) AccessChain 10(dti) 26
+ 136: 6(int) Load 135
+ 138: 137(ptr) AccessChain 24(data) 25 136 125 26
+ 139: 16(float) Load 138
+ 140: 16(float) GroupNonUniformFAdd 35 Reduce 139
+ 141: 137(ptr) AccessChain 24(data) 25 134 125 26
+ Store 141 140
+ 142: 27(ptr) AccessChain 10(dti) 26
+ 143: 6(int) Load 142
144: 27(ptr) AccessChain 10(dti) 26
145: 6(int) Load 144
- 146: 27(ptr) AccessChain 10(dti) 26
- 147: 6(int) Load 146
- 149: 118(ptr) AccessChain 24(data) 25 147 115
- 150: 17(fvec4) Load 149
- 151: 148(fvec3) VectorShuffle 150 150 0 1 2
- 152: 148(fvec3) GroupNonUniformFAdd 35 Reduce 151
- 153: 118(ptr) AccessChain 24(data) 25 145 115
- 154: 17(fvec4) Load 153
- 155: 17(fvec4) VectorShuffle 154 152 4 5 6 3
- Store 153 155
- 156: 27(ptr) AccessChain 10(dti) 26
- 157: 6(int) Load 156
- 159: 27(ptr) AccessChain 10(dti) 26
- 160: 6(int) Load 159
- 162: 161(ptr) AccessChain 24(data) 25 160 158
- 163: 19(f64vec4) Load 162
- 164: 19(f64vec4) GroupNonUniformFAdd 35 Reduce 163
- 165: 161(ptr) AccessChain 24(data) 25 157 158
- Store 165 164
- 166: 27(ptr) AccessChain 10(dti) 26
- 167: 6(int) Load 166
- 168: 27(ptr) AccessChain 10(dti) 26
- 169: 6(int) Load 168
- 171: 170(ptr) AccessChain 24(data) 25 169 158 26
- 172:18(float64_t) Load 171
- 173:18(float64_t) GroupNonUniformFAdd 35 Reduce 172
- 174: 170(ptr) AccessChain 24(data) 25 167 158 26
- Store 174 173
- 175: 27(ptr) AccessChain 10(dti) 26
- 176: 6(int) Load 175
- 177: 27(ptr) AccessChain 10(dti) 26
- 178: 6(int) Load 177
- 180: 161(ptr) AccessChain 24(data) 25 178 158
- 181: 19(f64vec4) Load 180
- 182:179(f64vec2) VectorShuffle 181 181 0 1
- 183:179(f64vec2) GroupNonUniformFAdd 35 Reduce 182
- 184: 161(ptr) AccessChain 24(data) 25 176 158
- 185: 19(f64vec4) Load 184
- 186: 19(f64vec4) VectorShuffle 185 183 4 5 2 3
- Store 184 186
- 187: 27(ptr) AccessChain 10(dti) 26
- 188: 6(int) Load 187
+ 147: 128(ptr) AccessChain 24(data) 25 145 125
+ 148: 17(fvec4) Load 147
+ 149: 146(fvec2) VectorShuffle 148 148 0 1
+ 150: 146(fvec2) GroupNonUniformFAdd 35 Reduce 149
+ 151: 137(ptr) AccessChain 24(data) 25 143 125 26
+ 152: 16(float) CompositeExtract 150 0
+ Store 151 152
+ 153: 137(ptr) AccessChain 24(data) 25 143 125 58
+ 154: 16(float) CompositeExtract 150 1
+ Store 153 154
+ 155: 27(ptr) AccessChain 10(dti) 26
+ 156: 6(int) Load 155
+ 157: 27(ptr) AccessChain 10(dti) 26
+ 158: 6(int) Load 157
+ 160: 128(ptr) AccessChain 24(data) 25 158 125
+ 161: 17(fvec4) Load 160
+ 162: 159(fvec3) VectorShuffle 161 161 0 1 2
+ 163: 159(fvec3) GroupNonUniformFAdd 35 Reduce 162
+ 164: 137(ptr) AccessChain 24(data) 25 156 125 26
+ 165: 16(float) CompositeExtract 163 0
+ Store 164 165
+ 166: 137(ptr) AccessChain 24(data) 25 156 125 58
+ 167: 16(float) CompositeExtract 163 1
+ Store 166 167
+ 168: 137(ptr) AccessChain 24(data) 25 156 125 73
+ 169: 16(float) CompositeExtract 163 2
+ Store 168 169
+ 170: 27(ptr) AccessChain 10(dti) 26
+ 171: 6(int) Load 170
+ 173: 27(ptr) AccessChain 10(dti) 26
+ 174: 6(int) Load 173
+ 176: 175(ptr) AccessChain 24(data) 25 174 172
+ 177: 19(f64vec4) Load 176
+ 178: 19(f64vec4) GroupNonUniformFAdd 35 Reduce 177
+ 179: 175(ptr) AccessChain 24(data) 25 171 172
+ Store 179 178
+ 180: 27(ptr) AccessChain 10(dti) 26
+ 181: 6(int) Load 180
+ 182: 27(ptr) AccessChain 10(dti) 26
+ 183: 6(int) Load 182
+ 185: 184(ptr) AccessChain 24(data) 25 183 172 26
+ 186:18(float64_t) Load 185
+ 187:18(float64_t) GroupNonUniformFAdd 35 Reduce 186
+ 188: 184(ptr) AccessChain 24(data) 25 181 172 26
+ Store 188 187
189: 27(ptr) AccessChain 10(dti) 26
190: 6(int) Load 189
- 192: 161(ptr) AccessChain 24(data) 25 190 158
- 193: 19(f64vec4) Load 192
- 194:191(f64vec3) VectorShuffle 193 193 0 1 2
- 195:191(f64vec3) GroupNonUniformFAdd 35 Reduce 194
- 196: 161(ptr) AccessChain 24(data) 25 188 158
- 197: 19(f64vec4) Load 196
- 198: 19(f64vec4) VectorShuffle 197 195 4 5 6 3
- Store 196 198
- 199: 27(ptr) AccessChain 10(dti) 26
- 200: 6(int) Load 199
- 201: 27(ptr) AccessChain 10(dti) 26
- 202: 6(int) Load 201
- 203: 32(ptr) AccessChain 24(data) 25 202 25
- 204: 13(ivec4) Load 203
- 205: 13(ivec4) GroupNonUniformIMul 35 Reduce 204
- 206: 32(ptr) AccessChain 24(data) 25 200 25
- Store 206 205
- 207: 27(ptr) AccessChain 10(dti) 26
- 208: 6(int) Load 207
- 209: 27(ptr) AccessChain 10(dti) 26
- 210: 6(int) Load 209
- 211: 42(ptr) AccessChain 24(data) 25 210 25 26
- 212: 6(int) Load 211
- 213: 6(int) GroupNonUniformIMul 35 Reduce 212
- 214: 42(ptr) AccessChain 24(data) 25 208 25 26
- Store 214 213
- 215: 27(ptr) AccessChain 10(dti) 26
- 216: 6(int) Load 215
+ 191: 27(ptr) AccessChain 10(dti) 26
+ 192: 6(int) Load 191
+ 194: 175(ptr) AccessChain 24(data) 25 192 172
+ 195: 19(f64vec4) Load 194
+ 196:193(f64vec2) VectorShuffle 195 195 0 1
+ 197:193(f64vec2) GroupNonUniformFAdd 35 Reduce 196
+ 198: 184(ptr) AccessChain 24(data) 25 190 172 26
+ 199:18(float64_t) CompositeExtract 197 0
+ Store 198 199
+ 200: 184(ptr) AccessChain 24(data) 25 190 172 58
+ 201:18(float64_t) CompositeExtract 197 1
+ Store 200 201
+ 202: 27(ptr) AccessChain 10(dti) 26
+ 203: 6(int) Load 202
+ 204: 27(ptr) AccessChain 10(dti) 26
+ 205: 6(int) Load 204
+ 207: 175(ptr) AccessChain 24(data) 25 205 172
+ 208: 19(f64vec4) Load 207
+ 209:206(f64vec3) VectorShuffle 208 208 0 1 2
+ 210:206(f64vec3) GroupNonUniformFAdd 35 Reduce 209
+ 211: 184(ptr) AccessChain 24(data) 25 203 172 26
+ 212:18(float64_t) CompositeExtract 210 0
+ Store 211 212
+ 213: 184(ptr) AccessChain 24(data) 25 203 172 58
+ 214:18(float64_t) CompositeExtract 210 1
+ Store 213 214
+ 215: 184(ptr) AccessChain 24(data) 25 203 172 73
+ 216:18(float64_t) CompositeExtract 210 2
+ Store 215 216
217: 27(ptr) AccessChain 10(dti) 26
218: 6(int) Load 217
- 219: 32(ptr) AccessChain 24(data) 25 218 25
- 220: 13(ivec4) Load 219
- 221: 51(ivec2) VectorShuffle 220 220 0 1
- 222: 51(ivec2) GroupNonUniformIMul 35 Reduce 221
- 223: 32(ptr) AccessChain 24(data) 25 216 25
- 224: 13(ivec4) Load 223
- 225: 13(ivec4) VectorShuffle 224 222 4 5 2 3
- Store 223 225
- 226: 27(ptr) AccessChain 10(dti) 26
- 227: 6(int) Load 226
- 228: 27(ptr) AccessChain 10(dti) 26
- 229: 6(int) Load 228
- 230: 32(ptr) AccessChain 24(data) 25 229 25
- 231: 13(ivec4) Load 230
- 232: 7(ivec3) VectorShuffle 231 231 0 1 2
- 233: 7(ivec3) GroupNonUniformIMul 35 Reduce 232
- 234: 32(ptr) AccessChain 24(data) 25 227 25
- 235: 13(ivec4) Load 234
- 236: 13(ivec4) VectorShuffle 235 233 4 5 6 3
- Store 234 236
- 237: 27(ptr) AccessChain 10(dti) 26
- 238: 6(int) Load 237
- 239: 27(ptr) AccessChain 10(dti) 26
- 240: 6(int) Load 239
- 241: 75(ptr) AccessChain 24(data) 25 240 72
- 242: 15(ivec4) Load 241
- 243: 15(ivec4) GroupNonUniformIMul 35 Reduce 242
- 244: 75(ptr) AccessChain 24(data) 25 238 72
- Store 244 243
+ 219: 27(ptr) AccessChain 10(dti) 26
+ 220: 6(int) Load 219
+ 221: 32(ptr) AccessChain 24(data) 25 220 25
+ 222: 13(ivec4) Load 221
+ 223: 13(ivec4) GroupNonUniformIMul 35 Reduce 222
+ 224: 32(ptr) AccessChain 24(data) 25 218 25
+ Store 224 223
+ 225: 27(ptr) AccessChain 10(dti) 26
+ 226: 6(int) Load 225
+ 227: 27(ptr) AccessChain 10(dti) 26
+ 228: 6(int) Load 227
+ 229: 42(ptr) AccessChain 24(data) 25 228 25 26
+ 230: 6(int) Load 229
+ 231: 6(int) GroupNonUniformIMul 35 Reduce 230
+ 232: 42(ptr) AccessChain 24(data) 25 226 25 26
+ Store 232 231
+ 233: 27(ptr) AccessChain 10(dti) 26
+ 234: 6(int) Load 233
+ 235: 27(ptr) AccessChain 10(dti) 26
+ 236: 6(int) Load 235
+ 237: 32(ptr) AccessChain 24(data) 25 236 25
+ 238: 13(ivec4) Load 237
+ 239: 51(ivec2) VectorShuffle 238 238 0 1
+ 240: 51(ivec2) GroupNonUniformIMul 35 Reduce 239
+ 241: 42(ptr) AccessChain 24(data) 25 234 25 26
+ 242: 6(int) CompositeExtract 240 0
+ Store 241 242
+ 243: 42(ptr) AccessChain 24(data) 25 234 25 58
+ 244: 6(int) CompositeExtract 240 1
+ Store 243 244
245: 27(ptr) AccessChain 10(dti) 26
246: 6(int) Load 245
247: 27(ptr) AccessChain 10(dti) 26
248: 6(int) Load 247
- 249: 84(ptr) AccessChain 24(data) 25 248 72 26
- 250: 14(int) Load 249
- 251: 14(int) GroupNonUniformIMul 35 Reduce 250
- 252: 84(ptr) AccessChain 24(data) 25 246 72 26
- Store 252 251
- 253: 27(ptr) AccessChain 10(dti) 26
- 254: 6(int) Load 253
- 255: 27(ptr) AccessChain 10(dti) 26
- 256: 6(int) Load 255
- 257: 75(ptr) AccessChain 24(data) 25 256 72
- 258: 15(ivec4) Load 257
- 259: 93(ivec2) VectorShuffle 258 258 0 1
- 260: 93(ivec2) GroupNonUniformIMul 35 Reduce 259
- 261: 75(ptr) AccessChain 24(data) 25 254 72
- 262: 15(ivec4) Load 261
- 263: 15(ivec4) VectorShuffle 262 260 4 5 2 3
- Store 261 263
- 264: 27(ptr) AccessChain 10(dti) 26
- 265: 6(int) Load 264
- 266: 27(ptr) AccessChain 10(dti) 26
- 267: 6(int) Load 266
- 268: 75(ptr) AccessChain 24(data) 25 267 72
- 269: 15(ivec4) Load 268
- 270: 105(ivec3) VectorShuffle 269 269 0 1 2
- 271: 105(ivec3) GroupNonUniformIMul 35 Reduce 270
- 272: 75(ptr) AccessChain 24(data) 25 265 72
- 273: 15(ivec4) Load 272
- 274: 15(ivec4) VectorShuffle 273 271 4 5 6 3
- Store 272 274
+ 249: 32(ptr) AccessChain 24(data) 25 248 25
+ 250: 13(ivec4) Load 249
+ 251: 7(ivec3) VectorShuffle 250 250 0 1 2
+ 252: 7(ivec3) GroupNonUniformIMul 35 Reduce 251
+ 253: 42(ptr) AccessChain 24(data) 25 246 25 26
+ 254: 6(int) CompositeExtract 252 0
+ Store 253 254
+ 255: 42(ptr) AccessChain 24(data) 25 246 25 58
+ 256: 6(int) CompositeExtract 252 1
+ Store 255 256
+ 257: 42(ptr) AccessChain 24(data) 25 246 25 73
+ 258: 6(int) CompositeExtract 252 2
+ Store 257 258
+ 259: 27(ptr) AccessChain 10(dti) 26
+ 260: 6(int) Load 259
+ 261: 27(ptr) AccessChain 10(dti) 26
+ 262: 6(int) Load 261
+ 263: 81(ptr) AccessChain 24(data) 25 262 78
+ 264: 15(ivec4) Load 263
+ 265: 15(ivec4) GroupNonUniformIMul 35 Reduce 264
+ 266: 81(ptr) AccessChain 24(data) 25 260 78
+ Store 266 265
+ 267: 27(ptr) AccessChain 10(dti) 26
+ 268: 6(int) Load 267
+ 269: 27(ptr) AccessChain 10(dti) 26
+ 270: 6(int) Load 269
+ 271: 90(ptr) AccessChain 24(data) 25 270 78 26
+ 272: 14(int) Load 271
+ 273: 14(int) GroupNonUniformIMul 35 Reduce 272
+ 274: 90(ptr) AccessChain 24(data) 25 268 78 26
+ Store 274 273
275: 27(ptr) AccessChain 10(dti) 26
276: 6(int) Load 275
277: 27(ptr) AccessChain 10(dti) 26
278: 6(int) Load 277
- 279: 118(ptr) AccessChain 24(data) 25 278 115
- 280: 17(fvec4) Load 279
- 281: 17(fvec4) GroupNonUniformFMul 35 Reduce 280
- 282: 118(ptr) AccessChain 24(data) 25 276 115
- Store 282 281
- 283: 27(ptr) AccessChain 10(dti) 26
- 284: 6(int) Load 283
- 285: 27(ptr) AccessChain 10(dti) 26
- 286: 6(int) Load 285
- 287: 127(ptr) AccessChain 24(data) 25 286 115 26
- 288: 16(float) Load 287
- 289: 16(float) GroupNonUniformFMul 35 Reduce 288
- 290: 127(ptr) AccessChain 24(data) 25 284 115 26
- Store 290 289
- 291: 27(ptr) AccessChain 10(dti) 26
- 292: 6(int) Load 291
- 293: 27(ptr) AccessChain 10(dti) 26
- 294: 6(int) Load 293
- 295: 118(ptr) AccessChain 24(data) 25 294 115
- 296: 17(fvec4) Load 295
- 297: 136(fvec2) VectorShuffle 296 296 0 1
- 298: 136(fvec2) GroupNonUniformFMul 35 Reduce 297
- 299: 118(ptr) AccessChain 24(data) 25 292 115
- 300: 17(fvec4) Load 299
- 301: 17(fvec4) VectorShuffle 300 298 4 5 2 3
- Store 299 301
- 302: 27(ptr) AccessChain 10(dti) 26
- 303: 6(int) Load 302
- 304: 27(ptr) AccessChain 10(dti) 26
- 305: 6(int) Load 304
- 306: 118(ptr) AccessChain 24(data) 25 305 115
- 307: 17(fvec4) Load 306
- 308: 148(fvec3) VectorShuffle 307 307 0 1 2
- 309: 148(fvec3) GroupNonUniformFMul 35 Reduce 308
- 310: 118(ptr) AccessChain 24(data) 25 303 115
- 311: 17(fvec4) Load 310
- 312: 17(fvec4) VectorShuffle 311 309 4 5 6 3
- Store 310 312
- 313: 27(ptr) AccessChain 10(dti) 26
- 314: 6(int) Load 313
- 315: 27(ptr) AccessChain 10(dti) 26
- 316: 6(int) Load 315
- 317: 161(ptr) AccessChain 24(data) 25 316 158
- 318: 19(f64vec4) Load 317
- 319: 19(f64vec4) GroupNonUniformFMul 35 Reduce 318
- 320: 161(ptr) AccessChain 24(data) 25 314 158
- Store 320 319
- 321: 27(ptr) AccessChain 10(dti) 26
- 322: 6(int) Load 321
- 323: 27(ptr) AccessChain 10(dti) 26
- 324: 6(int) Load 323
- 325: 170(ptr) AccessChain 24(data) 25 324 158 26
- 326:18(float64_t) Load 325
- 327:18(float64_t) GroupNonUniformFMul 35 Reduce 326
- 328: 170(ptr) AccessChain 24(data) 25 322 158 26
- Store 328 327
+ 279: 81(ptr) AccessChain 24(data) 25 278 78
+ 280: 15(ivec4) Load 279
+ 281: 99(ivec2) VectorShuffle 280 280 0 1
+ 282: 99(ivec2) GroupNonUniformIMul 35 Reduce 281
+ 283: 90(ptr) AccessChain 24(data) 25 276 78 26
+ 284: 14(int) CompositeExtract 282 0
+ Store 283 284
+ 285: 90(ptr) AccessChain 24(data) 25 276 78 58
+ 286: 14(int) CompositeExtract 282 1
+ Store 285 286
+ 287: 27(ptr) AccessChain 10(dti) 26
+ 288: 6(int) Load 287
+ 289: 27(ptr) AccessChain 10(dti) 26
+ 290: 6(int) Load 289
+ 291: 81(ptr) AccessChain 24(data) 25 290 78
+ 292: 15(ivec4) Load 291
+ 293: 112(ivec3) VectorShuffle 292 292 0 1 2
+ 294: 112(ivec3) GroupNonUniformIMul 35 Reduce 293
+ 295: 90(ptr) AccessChain 24(data) 25 288 78 26
+ 296: 14(int) CompositeExtract 294 0
+ Store 295 296
+ 297: 90(ptr) AccessChain 24(data) 25 288 78 58
+ 298: 14(int) CompositeExtract 294 1
+ Store 297 298
+ 299: 90(ptr) AccessChain 24(data) 25 288 78 73
+ 300: 14(int) CompositeExtract 294 2
+ Store 299 300
+ 301: 27(ptr) AccessChain 10(dti) 26
+ 302: 6(int) Load 301
+ 303: 27(ptr) AccessChain 10(dti) 26
+ 304: 6(int) Load 303
+ 305: 128(ptr) AccessChain 24(data) 25 304 125
+ 306: 17(fvec4) Load 305
+ 307: 17(fvec4) GroupNonUniformFMul 35 Reduce 306
+ 308: 128(ptr) AccessChain 24(data) 25 302 125
+ Store 308 307
+ 309: 27(ptr) AccessChain 10(dti) 26
+ 310: 6(int) Load 309
+ 311: 27(ptr) AccessChain 10(dti) 26
+ 312: 6(int) Load 311
+ 313: 137(ptr) AccessChain 24(data) 25 312 125 26
+ 314: 16(float) Load 313
+ 315: 16(float) GroupNonUniformFMul 35 Reduce 314
+ 316: 137(ptr) AccessChain 24(data) 25 310 125 26
+ Store 316 315
+ 317: 27(ptr) AccessChain 10(dti) 26
+ 318: 6(int) Load 317
+ 319: 27(ptr) AccessChain 10(dti) 26
+ 320: 6(int) Load 319
+ 321: 128(ptr) AccessChain 24(data) 25 320 125
+ 322: 17(fvec4) Load 321
+ 323: 146(fvec2) VectorShuffle 322 322 0 1
+ 324: 146(fvec2) GroupNonUniformFMul 35 Reduce 323
+ 325: 137(ptr) AccessChain 24(data) 25 318 125 26
+ 326: 16(float) CompositeExtract 324 0
+ Store 325 326
+ 327: 137(ptr) AccessChain 24(data) 25 318 125 58
+ 328: 16(float) CompositeExtract 324 1
+ Store 327 328
329: 27(ptr) AccessChain 10(dti) 26
330: 6(int) Load 329
331: 27(ptr) AccessChain 10(dti) 26
332: 6(int) Load 331
- 333: 161(ptr) AccessChain 24(data) 25 332 158
- 334: 19(f64vec4) Load 333
- 335:179(f64vec2) VectorShuffle 334 334 0 1
- 336:179(f64vec2) GroupNonUniformFMul 35 Reduce 335
- 337: 161(ptr) AccessChain 24(data) 25 330 158
- 338: 19(f64vec4) Load 337
- 339: 19(f64vec4) VectorShuffle 338 336 4 5 2 3
- Store 337 339
- 340: 27(ptr) AccessChain 10(dti) 26
- 341: 6(int) Load 340
- 342: 27(ptr) AccessChain 10(dti) 26
- 343: 6(int) Load 342
- 344: 161(ptr) AccessChain 24(data) 25 343 158
- 345: 19(f64vec4) Load 344
- 346:191(f64vec3) VectorShuffle 345 345 0 1 2
- 347:191(f64vec3) GroupNonUniformFMul 35 Reduce 346
- 348: 161(ptr) AccessChain 24(data) 25 341 158
- 349: 19(f64vec4) Load 348
- 350: 19(f64vec4) VectorShuffle 349 347 4 5 6 3
- Store 348 350
+ 333: 128(ptr) AccessChain 24(data) 25 332 125
+ 334: 17(fvec4) Load 333
+ 335: 159(fvec3) VectorShuffle 334 334 0 1 2
+ 336: 159(fvec3) GroupNonUniformFMul 35 Reduce 335
+ 337: 137(ptr) AccessChain 24(data) 25 330 125 26
+ 338: 16(float) CompositeExtract 336 0
+ Store 337 338
+ 339: 137(ptr) AccessChain 24(data) 25 330 125 58
+ 340: 16(float) CompositeExtract 336 1
+ Store 339 340
+ 341: 137(ptr) AccessChain 24(data) 25 330 125 73
+ 342: 16(float) CompositeExtract 336 2
+ Store 341 342
+ 343: 27(ptr) AccessChain 10(dti) 26
+ 344: 6(int) Load 343
+ 345: 27(ptr) AccessChain 10(dti) 26
+ 346: 6(int) Load 345
+ 347: 175(ptr) AccessChain 24(data) 25 346 172
+ 348: 19(f64vec4) Load 347
+ 349: 19(f64vec4) GroupNonUniformFMul 35 Reduce 348
+ 350: 175(ptr) AccessChain 24(data) 25 344 172
+ Store 350 349
351: 27(ptr) AccessChain 10(dti) 26
352: 6(int) Load 351
353: 27(ptr) AccessChain 10(dti) 26
354: 6(int) Load 353
- 355: 32(ptr) AccessChain 24(data) 25 354 25
- 356: 13(ivec4) Load 355
- 357: 13(ivec4) GroupNonUniformUMin 35 Reduce 356
- 358: 32(ptr) AccessChain 24(data) 25 352 25
+ 355: 184(ptr) AccessChain 24(data) 25 354 172 26
+ 356:18(float64_t) Load 355
+ 357:18(float64_t) GroupNonUniformFMul 35 Reduce 356
+ 358: 184(ptr) AccessChain 24(data) 25 352 172 26
Store 358 357
359: 27(ptr) AccessChain 10(dti) 26
360: 6(int) Load 359
361: 27(ptr) AccessChain 10(dti) 26
362: 6(int) Load 361
- 363: 42(ptr) AccessChain 24(data) 25 362 25 26
- 364: 6(int) Load 363
- 365: 6(int) GroupNonUniformUMin 35 Reduce 364
- 366: 42(ptr) AccessChain 24(data) 25 360 25 26
- Store 366 365
- 367: 27(ptr) AccessChain 10(dti) 26
- 368: 6(int) Load 367
- 369: 27(ptr) AccessChain 10(dti) 26
- 370: 6(int) Load 369
- 371: 32(ptr) AccessChain 24(data) 25 370 25
- 372: 13(ivec4) Load 371
- 373: 51(ivec2) VectorShuffle 372 372 0 1
- 374: 51(ivec2) GroupNonUniformUMin 35 Reduce 373
- 375: 32(ptr) AccessChain 24(data) 25 368 25
- 376: 13(ivec4) Load 375
- 377: 13(ivec4) VectorShuffle 376 374 4 5 2 3
- Store 375 377
- 378: 27(ptr) AccessChain 10(dti) 26
- 379: 6(int) Load 378
- 380: 27(ptr) AccessChain 10(dti) 26
- 381: 6(int) Load 380
- 382: 32(ptr) AccessChain 24(data) 25 381 25
- 383: 13(ivec4) Load 382
- 384: 7(ivec3) VectorShuffle 383 383 0 1 2
- 385: 7(ivec3) GroupNonUniformUMin 35 Reduce 384
- 386: 32(ptr) AccessChain 24(data) 25 379 25
- 387: 13(ivec4) Load 386
- 388: 13(ivec4) VectorShuffle 387 385 4 5 6 3
- Store 386 388
- 389: 27(ptr) AccessChain 10(dti) 26
- 390: 6(int) Load 389
- 391: 27(ptr) AccessChain 10(dti) 26
- 392: 6(int) Load 391
- 393: 75(ptr) AccessChain 24(data) 25 392 72
- 394: 15(ivec4) Load 393
- 395: 15(ivec4) GroupNonUniformSMin 35 Reduce 394
- 396: 75(ptr) AccessChain 24(data) 25 390 72
- Store 396 395
- 397: 27(ptr) AccessChain 10(dti) 26
+ 363: 175(ptr) AccessChain 24(data) 25 362 172
+ 364: 19(f64vec4) Load 363
+ 365:193(f64vec2) VectorShuffle 364 364 0 1
+ 366:193(f64vec2) GroupNonUniformFMul 35 Reduce 365
+ 367: 184(ptr) AccessChain 24(data) 25 360 172 26
+ 368:18(float64_t) CompositeExtract 366 0
+ Store 367 368
+ 369: 184(ptr) AccessChain 24(data) 25 360 172 58
+ 370:18(float64_t) CompositeExtract 366 1
+ Store 369 370
+ 371: 27(ptr) AccessChain 10(dti) 26
+ 372: 6(int) Load 371
+ 373: 27(ptr) AccessChain 10(dti) 26
+ 374: 6(int) Load 373
+ 375: 175(ptr) AccessChain 24(data) 25 374 172
+ 376: 19(f64vec4) Load 375
+ 377:206(f64vec3) VectorShuffle 376 376 0 1 2
+ 378:206(f64vec3) GroupNonUniformFMul 35 Reduce 377
+ 379: 184(ptr) AccessChain 24(data) 25 372 172 26
+ 380:18(float64_t) CompositeExtract 378 0
+ Store 379 380
+ 381: 184(ptr) AccessChain 24(data) 25 372 172 58
+ 382:18(float64_t) CompositeExtract 378 1
+ Store 381 382
+ 383: 184(ptr) AccessChain 24(data) 25 372 172 73
+ 384:18(float64_t) CompositeExtract 378 2
+ Store 383 384
+ 385: 27(ptr) AccessChain 10(dti) 26
+ 386: 6(int) Load 385
+ 387: 27(ptr) AccessChain 10(dti) 26
+ 388: 6(int) Load 387
+ 389: 32(ptr) AccessChain 24(data) 25 388 25
+ 390: 13(ivec4) Load 389
+ 391: 13(ivec4) GroupNonUniformUMin 35 Reduce 390
+ 392: 32(ptr) AccessChain 24(data) 25 386 25
+ Store 392 391
+ 393: 27(ptr) AccessChain 10(dti) 26
+ 394: 6(int) Load 393
+ 395: 27(ptr) AccessChain 10(dti) 26
+ 396: 6(int) Load 395
+ 397: 42(ptr) AccessChain 24(data) 25 396 25 26
398: 6(int) Load 397
- 399: 27(ptr) AccessChain 10(dti) 26
- 400: 6(int) Load 399
- 401: 84(ptr) AccessChain 24(data) 25 400 72 26
- 402: 14(int) Load 401
- 403: 14(int) GroupNonUniformSMin 35 Reduce 402
- 404: 84(ptr) AccessChain 24(data) 25 398 72 26
- Store 404 403
- 405: 27(ptr) AccessChain 10(dti) 26
- 406: 6(int) Load 405
- 407: 27(ptr) AccessChain 10(dti) 26
- 408: 6(int) Load 407
- 409: 75(ptr) AccessChain 24(data) 25 408 72
- 410: 15(ivec4) Load 409
- 411: 93(ivec2) VectorShuffle 410 410 0 1
- 412: 93(ivec2) GroupNonUniformSMin 35 Reduce 411
- 413: 75(ptr) AccessChain 24(data) 25 406 72
- 414: 15(ivec4) Load 413
- 415: 15(ivec4) VectorShuffle 414 412 4 5 2 3
- Store 413 415
- 416: 27(ptr) AccessChain 10(dti) 26
- 417: 6(int) Load 416
- 418: 27(ptr) AccessChain 10(dti) 26
- 419: 6(int) Load 418
- 420: 75(ptr) AccessChain 24(data) 25 419 72
- 421: 15(ivec4) Load 420
- 422: 105(ivec3) VectorShuffle 421 421 0 1 2
- 423: 105(ivec3) GroupNonUniformSMin 35 Reduce 422
- 424: 75(ptr) AccessChain 24(data) 25 417 72
- 425: 15(ivec4) Load 424
- 426: 15(ivec4) VectorShuffle 425 423 4 5 6 3
- Store 424 426
+ 399: 6(int) GroupNonUniformUMin 35 Reduce 398
+ 400: 42(ptr) AccessChain 24(data) 25 394 25 26
+ Store 400 399
+ 401: 27(ptr) AccessChain 10(dti) 26
+ 402: 6(int) Load 401
+ 403: 27(ptr) AccessChain 10(dti) 26
+ 404: 6(int) Load 403
+ 405: 32(ptr) AccessChain 24(data) 25 404 25
+ 406: 13(ivec4) Load 405
+ 407: 51(ivec2) VectorShuffle 406 406 0 1
+ 408: 51(ivec2) GroupNonUniformUMin 35 Reduce 407
+ 409: 42(ptr) AccessChain 24(data) 25 402 25 26
+ 410: 6(int) CompositeExtract 408 0
+ Store 409 410
+ 411: 42(ptr) AccessChain 24(data) 25 402 25 58
+ 412: 6(int) CompositeExtract 408 1
+ Store 411 412
+ 413: 27(ptr) AccessChain 10(dti) 26
+ 414: 6(int) Load 413
+ 415: 27(ptr) AccessChain 10(dti) 26
+ 416: 6(int) Load 415
+ 417: 32(ptr) AccessChain 24(data) 25 416 25
+ 418: 13(ivec4) Load 417
+ 419: 7(ivec3) VectorShuffle 418 418 0 1 2
+ 420: 7(ivec3) GroupNonUniformUMin 35 Reduce 419
+ 421: 42(ptr) AccessChain 24(data) 25 414 25 26
+ 422: 6(int) CompositeExtract 420 0
+ Store 421 422
+ 423: 42(ptr) AccessChain 24(data) 25 414 25 58
+ 424: 6(int) CompositeExtract 420 1
+ Store 423 424
+ 425: 42(ptr) AccessChain 24(data) 25 414 25 73
+ 426: 6(int) CompositeExtract 420 2
+ Store 425 426
427: 27(ptr) AccessChain 10(dti) 26
428: 6(int) Load 427
429: 27(ptr) AccessChain 10(dti) 26
430: 6(int) Load 429
- 431: 118(ptr) AccessChain 24(data) 25 430 115
- 432: 17(fvec4) Load 431
- 433: 17(fvec4) GroupNonUniformFMin 35 Reduce 432
- 434: 118(ptr) AccessChain 24(data) 25 428 115
+ 431: 81(ptr) AccessChain 24(data) 25 430 78
+ 432: 15(ivec4) Load 431
+ 433: 15(ivec4) GroupNonUniformSMin 35 Reduce 432
+ 434: 81(ptr) AccessChain 24(data) 25 428 78
Store 434 433
435: 27(ptr) AccessChain 10(dti) 26
436: 6(int) Load 435
437: 27(ptr) AccessChain 10(dti) 26
438: 6(int) Load 437
- 439: 127(ptr) AccessChain 24(data) 25 438 115 26
- 440: 16(float) Load 439
- 441: 16(float) GroupNonUniformFMin 35 Reduce 440
- 442: 127(ptr) AccessChain 24(data) 25 436 115 26
+ 439: 90(ptr) AccessChain 24(data) 25 438 78 26
+ 440: 14(int) Load 439
+ 441: 14(int) GroupNonUniformSMin 35 Reduce 440
+ 442: 90(ptr) AccessChain 24(data) 25 436 78 26
Store 442 441
443: 27(ptr) AccessChain 10(dti) 26
444: 6(int) Load 443
445: 27(ptr) AccessChain 10(dti) 26
446: 6(int) Load 445
- 447: 118(ptr) AccessChain 24(data) 25 446 115
- 448: 17(fvec4) Load 447
- 449: 136(fvec2) VectorShuffle 448 448 0 1
- 450: 136(fvec2) GroupNonUniformFMin 35 Reduce 449
- 451: 118(ptr) AccessChain 24(data) 25 444 115
- 452: 17(fvec4) Load 451
- 453: 17(fvec4) VectorShuffle 452 450 4 5 2 3
- Store 451 453
- 454: 27(ptr) AccessChain 10(dti) 26
- 455: 6(int) Load 454
- 456: 27(ptr) AccessChain 10(dti) 26
- 457: 6(int) Load 456
- 458: 118(ptr) AccessChain 24(data) 25 457 115
- 459: 17(fvec4) Load 458
- 460: 148(fvec3) VectorShuffle 459 459 0 1 2
- 461: 148(fvec3) GroupNonUniformFMin 35 Reduce 460
- 462: 118(ptr) AccessChain 24(data) 25 455 115
- 463: 17(fvec4) Load 462
- 464: 17(fvec4) VectorShuffle 463 461 4 5 6 3
- Store 462 464
- 465: 27(ptr) AccessChain 10(dti) 26
- 466: 6(int) Load 465
- 467: 27(ptr) AccessChain 10(dti) 26
- 468: 6(int) Load 467
- 469: 161(ptr) AccessChain 24(data) 25 468 158
- 470: 19(f64vec4) Load 469
- 471: 19(f64vec4) GroupNonUniformFMin 35 Reduce 470
- 472: 161(ptr) AccessChain 24(data) 25 466 158
- Store 472 471
- 473: 27(ptr) AccessChain 10(dti) 26
- 474: 6(int) Load 473
- 475: 27(ptr) AccessChain 10(dti) 26
- 476: 6(int) Load 475
- 477: 170(ptr) AccessChain 24(data) 25 476 158 26
- 478:18(float64_t) Load 477
- 479:18(float64_t) GroupNonUniformFMin 35 Reduce 478
- 480: 170(ptr) AccessChain 24(data) 25 474 158 26
- Store 480 479
- 481: 27(ptr) AccessChain 10(dti) 26
- 482: 6(int) Load 481
- 483: 27(ptr) AccessChain 10(dti) 26
- 484: 6(int) Load 483
- 485: 161(ptr) AccessChain 24(data) 25 484 158
- 486: 19(f64vec4) Load 485
- 487:179(f64vec2) VectorShuffle 486 486 0 1
- 488:179(f64vec2) GroupNonUniformFMin 35 Reduce 487
- 489: 161(ptr) AccessChain 24(data) 25 482 158
- 490: 19(f64vec4) Load 489
- 491: 19(f64vec4) VectorShuffle 490 488 4 5 2 3
- Store 489 491
- 492: 27(ptr) AccessChain 10(dti) 26
- 493: 6(int) Load 492
- 494: 27(ptr) AccessChain 10(dti) 26
- 495: 6(int) Load 494
- 496: 161(ptr) AccessChain 24(data) 25 495 158
- 497: 19(f64vec4) Load 496
- 498:191(f64vec3) VectorShuffle 497 497 0 1 2
- 499:191(f64vec3) GroupNonUniformFMin 35 Reduce 498
- 500: 161(ptr) AccessChain 24(data) 25 493 158
- 501: 19(f64vec4) Load 500
- 502: 19(f64vec4) VectorShuffle 501 499 4 5 6 3
- Store 500 502
- 503: 27(ptr) AccessChain 10(dti) 26
- 504: 6(int) Load 503
- 505: 27(ptr) AccessChain 10(dti) 26
- 506: 6(int) Load 505
- 507: 32(ptr) AccessChain 24(data) 25 506 25
- 508: 13(ivec4) Load 507
- 509: 13(ivec4) GroupNonUniformUMax 35 Reduce 508
- 510: 32(ptr) AccessChain 24(data) 25 504 25
- Store 510 509
+ 447: 81(ptr) AccessChain 24(data) 25 446 78
+ 448: 15(ivec4) Load 447
+ 449: 99(ivec2) VectorShuffle 448 448 0 1
+ 450: 99(ivec2) GroupNonUniformSMin 35 Reduce 449
+ 451: 90(ptr) AccessChain 24(data) 25 444 78 26
+ 452: 14(int) CompositeExtract 450 0
+ Store 451 452
+ 453: 90(ptr) AccessChain 24(data) 25 444 78 58
+ 454: 14(int) CompositeExtract 450 1
+ Store 453 454
+ 455: 27(ptr) AccessChain 10(dti) 26
+ 456: 6(int) Load 455
+ 457: 27(ptr) AccessChain 10(dti) 26
+ 458: 6(int) Load 457
+ 459: 81(ptr) AccessChain 24(data) 25 458 78
+ 460: 15(ivec4) Load 459
+ 461: 112(ivec3) VectorShuffle 460 460 0 1 2
+ 462: 112(ivec3) GroupNonUniformSMin 35 Reduce 461
+ 463: 90(ptr) AccessChain 24(data) 25 456 78 26
+ 464: 14(int) CompositeExtract 462 0
+ Store 463 464
+ 465: 90(ptr) AccessChain 24(data) 25 456 78 58
+ 466: 14(int) CompositeExtract 462 1
+ Store 465 466
+ 467: 90(ptr) AccessChain 24(data) 25 456 78 73
+ 468: 14(int) CompositeExtract 462 2
+ Store 467 468
+ 469: 27(ptr) AccessChain 10(dti) 26
+ 470: 6(int) Load 469
+ 471: 27(ptr) AccessChain 10(dti) 26
+ 472: 6(int) Load 471
+ 473: 128(ptr) AccessChain 24(data) 25 472 125
+ 474: 17(fvec4) Load 473
+ 475: 17(fvec4) GroupNonUniformFMin 35 Reduce 474
+ 476: 128(ptr) AccessChain 24(data) 25 470 125
+ Store 476 475
+ 477: 27(ptr) AccessChain 10(dti) 26
+ 478: 6(int) Load 477
+ 479: 27(ptr) AccessChain 10(dti) 26
+ 480: 6(int) Load 479
+ 481: 137(ptr) AccessChain 24(data) 25 480 125 26
+ 482: 16(float) Load 481
+ 483: 16(float) GroupNonUniformFMin 35 Reduce 482
+ 484: 137(ptr) AccessChain 24(data) 25 478 125 26
+ Store 484 483
+ 485: 27(ptr) AccessChain 10(dti) 26
+ 486: 6(int) Load 485
+ 487: 27(ptr) AccessChain 10(dti) 26
+ 488: 6(int) Load 487
+ 489: 128(ptr) AccessChain 24(data) 25 488 125
+ 490: 17(fvec4) Load 489
+ 491: 146(fvec2) VectorShuffle 490 490 0 1
+ 492: 146(fvec2) GroupNonUniformFMin 35 Reduce 491
+ 493: 137(ptr) AccessChain 24(data) 25 486 125 26
+ 494: 16(float) CompositeExtract 492 0
+ Store 493 494
+ 495: 137(ptr) AccessChain 24(data) 25 486 125 58
+ 496: 16(float) CompositeExtract 492 1
+ Store 495 496
+ 497: 27(ptr) AccessChain 10(dti) 26
+ 498: 6(int) Load 497
+ 499: 27(ptr) AccessChain 10(dti) 26
+ 500: 6(int) Load 499
+ 501: 128(ptr) AccessChain 24(data) 25 500 125
+ 502: 17(fvec4) Load 501
+ 503: 159(fvec3) VectorShuffle 502 502 0 1 2
+ 504: 159(fvec3) GroupNonUniformFMin 35 Reduce 503
+ 505: 137(ptr) AccessChain 24(data) 25 498 125 26
+ 506: 16(float) CompositeExtract 504 0
+ Store 505 506
+ 507: 137(ptr) AccessChain 24(data) 25 498 125 58
+ 508: 16(float) CompositeExtract 504 1
+ Store 507 508
+ 509: 137(ptr) AccessChain 24(data) 25 498 125 73
+ 510: 16(float) CompositeExtract 504 2
+ Store 509 510
511: 27(ptr) AccessChain 10(dti) 26
512: 6(int) Load 511
513: 27(ptr) AccessChain 10(dti) 26
514: 6(int) Load 513
- 515: 42(ptr) AccessChain 24(data) 25 514 25 26
- 516: 6(int) Load 515
- 517: 6(int) GroupNonUniformUMax 35 Reduce 516
- 518: 42(ptr) AccessChain 24(data) 25 512 25 26
+ 515: 175(ptr) AccessChain 24(data) 25 514 172
+ 516: 19(f64vec4) Load 515
+ 517: 19(f64vec4) GroupNonUniformFMin 35 Reduce 516
+ 518: 175(ptr) AccessChain 24(data) 25 512 172
Store 518 517
519: 27(ptr) AccessChain 10(dti) 26
520: 6(int) Load 519
521: 27(ptr) AccessChain 10(dti) 26
522: 6(int) Load 521
- 523: 32(ptr) AccessChain 24(data) 25 522 25
- 524: 13(ivec4) Load 523
- 525: 51(ivec2) VectorShuffle 524 524 0 1
- 526: 51(ivec2) GroupNonUniformUMax 35 Reduce 525
- 527: 32(ptr) AccessChain 24(data) 25 520 25
- 528: 13(ivec4) Load 527
- 529: 13(ivec4) VectorShuffle 528 526 4 5 2 3
- Store 527 529
- 530: 27(ptr) AccessChain 10(dti) 26
- 531: 6(int) Load 530
- 532: 27(ptr) AccessChain 10(dti) 26
- 533: 6(int) Load 532
- 534: 32(ptr) AccessChain 24(data) 25 533 25
- 535: 13(ivec4) Load 534
- 536: 7(ivec3) VectorShuffle 535 535 0 1 2
- 537: 7(ivec3) GroupNonUniformUMax 35 Reduce 536
- 538: 32(ptr) AccessChain 24(data) 25 531 25
- 539: 13(ivec4) Load 538
- 540: 13(ivec4) VectorShuffle 539 537 4 5 6 3
- Store 538 540
+ 523: 184(ptr) AccessChain 24(data) 25 522 172 26
+ 524:18(float64_t) Load 523
+ 525:18(float64_t) GroupNonUniformFMin 35 Reduce 524
+ 526: 184(ptr) AccessChain 24(data) 25 520 172 26
+ Store 526 525
+ 527: 27(ptr) AccessChain 10(dti) 26
+ 528: 6(int) Load 527
+ 529: 27(ptr) AccessChain 10(dti) 26
+ 530: 6(int) Load 529
+ 531: 175(ptr) AccessChain 24(data) 25 530 172
+ 532: 19(f64vec4) Load 531
+ 533:193(f64vec2) VectorShuffle 532 532 0 1
+ 534:193(f64vec2) GroupNonUniformFMin 35 Reduce 533
+ 535: 184(ptr) AccessChain 24(data) 25 528 172 26
+ 536:18(float64_t) CompositeExtract 534 0
+ Store 535 536
+ 537: 184(ptr) AccessChain 24(data) 25 528 172 58
+ 538:18(float64_t) CompositeExtract 534 1
+ Store 537 538
+ 539: 27(ptr) AccessChain 10(dti) 26
+ 540: 6(int) Load 539
541: 27(ptr) AccessChain 10(dti) 26
542: 6(int) Load 541
- 543: 27(ptr) AccessChain 10(dti) 26
- 544: 6(int) Load 543
- 545: 75(ptr) AccessChain 24(data) 25 544 72
- 546: 15(ivec4) Load 545
- 547: 15(ivec4) GroupNonUniformSMax 35 Reduce 546
- 548: 75(ptr) AccessChain 24(data) 25 542 72
- Store 548 547
- 549: 27(ptr) AccessChain 10(dti) 26
- 550: 6(int) Load 549
- 551: 27(ptr) AccessChain 10(dti) 26
- 552: 6(int) Load 551
- 553: 84(ptr) AccessChain 24(data) 25 552 72 26
- 554: 14(int) Load 553
- 555: 14(int) GroupNonUniformSMax 35 Reduce 554
- 556: 84(ptr) AccessChain 24(data) 25 550 72 26
- Store 556 555
- 557: 27(ptr) AccessChain 10(dti) 26
- 558: 6(int) Load 557
- 559: 27(ptr) AccessChain 10(dti) 26
- 560: 6(int) Load 559
- 561: 75(ptr) AccessChain 24(data) 25 560 72
- 562: 15(ivec4) Load 561
- 563: 93(ivec2) VectorShuffle 562 562 0 1
- 564: 93(ivec2) GroupNonUniformSMax 35 Reduce 563
- 565: 75(ptr) AccessChain 24(data) 25 558 72
- 566: 15(ivec4) Load 565
- 567: 15(ivec4) VectorShuffle 566 564 4 5 2 3
- Store 565 567
- 568: 27(ptr) AccessChain 10(dti) 26
- 569: 6(int) Load 568
- 570: 27(ptr) AccessChain 10(dti) 26
- 571: 6(int) Load 570
- 572: 75(ptr) AccessChain 24(data) 25 571 72
- 573: 15(ivec4) Load 572
- 574: 105(ivec3) VectorShuffle 573 573 0 1 2
- 575: 105(ivec3) GroupNonUniformSMax 35 Reduce 574
- 576: 75(ptr) AccessChain 24(data) 25 569 72
- 577: 15(ivec4) Load 576
- 578: 15(ivec4) VectorShuffle 577 575 4 5 6 3
- Store 576 578
- 579: 27(ptr) AccessChain 10(dti) 26
- 580: 6(int) Load 579
+ 543: 175(ptr) AccessChain 24(data) 25 542 172
+ 544: 19(f64vec4) Load 543
+ 545:206(f64vec3) VectorShuffle 544 544 0 1 2
+ 546:206(f64vec3) GroupNonUniformFMin 35 Reduce 545
+ 547: 184(ptr) AccessChain 24(data) 25 540 172 26
+ 548:18(float64_t) CompositeExtract 546 0
+ Store 547 548
+ 549: 184(ptr) AccessChain 24(data) 25 540 172 58
+ 550:18(float64_t) CompositeExtract 546 1
+ Store 549 550
+ 551: 184(ptr) AccessChain 24(data) 25 540 172 73
+ 552:18(float64_t) CompositeExtract 546 2
+ Store 551 552
+ 553: 27(ptr) AccessChain 10(dti) 26
+ 554: 6(int) Load 553
+ 555: 27(ptr) AccessChain 10(dti) 26
+ 556: 6(int) Load 555
+ 557: 32(ptr) AccessChain 24(data) 25 556 25
+ 558: 13(ivec4) Load 557
+ 559: 13(ivec4) GroupNonUniformUMax 35 Reduce 558
+ 560: 32(ptr) AccessChain 24(data) 25 554 25
+ Store 560 559
+ 561: 27(ptr) AccessChain 10(dti) 26
+ 562: 6(int) Load 561
+ 563: 27(ptr) AccessChain 10(dti) 26
+ 564: 6(int) Load 563
+ 565: 42(ptr) AccessChain 24(data) 25 564 25 26
+ 566: 6(int) Load 565
+ 567: 6(int) GroupNonUniformUMax 35 Reduce 566
+ 568: 42(ptr) AccessChain 24(data) 25 562 25 26
+ Store 568 567
+ 569: 27(ptr) AccessChain 10(dti) 26
+ 570: 6(int) Load 569
+ 571: 27(ptr) AccessChain 10(dti) 26
+ 572: 6(int) Load 571
+ 573: 32(ptr) AccessChain 24(data) 25 572 25
+ 574: 13(ivec4) Load 573
+ 575: 51(ivec2) VectorShuffle 574 574 0 1
+ 576: 51(ivec2) GroupNonUniformUMax 35 Reduce 575
+ 577: 42(ptr) AccessChain 24(data) 25 570 25 26
+ 578: 6(int) CompositeExtract 576 0
+ Store 577 578
+ 579: 42(ptr) AccessChain 24(data) 25 570 25 58
+ 580: 6(int) CompositeExtract 576 1
+ Store 579 580
581: 27(ptr) AccessChain 10(dti) 26
582: 6(int) Load 581
- 583: 118(ptr) AccessChain 24(data) 25 582 115
- 584: 17(fvec4) Load 583
- 585: 17(fvec4) GroupNonUniformFMax 35 Reduce 584
- 586: 118(ptr) AccessChain 24(data) 25 580 115
- Store 586 585
- 587: 27(ptr) AccessChain 10(dti) 26
- 588: 6(int) Load 587
- 589: 27(ptr) AccessChain 10(dti) 26
- 590: 6(int) Load 589
- 591: 127(ptr) AccessChain 24(data) 25 590 115 26
- 592: 16(float) Load 591
- 593: 16(float) GroupNonUniformFMax 35 Reduce 592
- 594: 127(ptr) AccessChain 24(data) 25 588 115 26
- Store 594 593
+ 583: 27(ptr) AccessChain 10(dti) 26
+ 584: 6(int) Load 583
+ 585: 32(ptr) AccessChain 24(data) 25 584 25
+ 586: 13(ivec4) Load 585
+ 587: 7(ivec3) VectorShuffle 586 586 0 1 2
+ 588: 7(ivec3) GroupNonUniformUMax 35 Reduce 587
+ 589: 42(ptr) AccessChain 24(data) 25 582 25 26
+ 590: 6(int) CompositeExtract 588 0
+ Store 589 590
+ 591: 42(ptr) AccessChain 24(data) 25 582 25 58
+ 592: 6(int) CompositeExtract 588 1
+ Store 591 592
+ 593: 42(ptr) AccessChain 24(data) 25 582 25 73
+ 594: 6(int) CompositeExtract 588 2
+ Store 593 594
595: 27(ptr) AccessChain 10(dti) 26
596: 6(int) Load 595
597: 27(ptr) AccessChain 10(dti) 26
598: 6(int) Load 597
- 599: 118(ptr) AccessChain 24(data) 25 598 115
- 600: 17(fvec4) Load 599
- 601: 136(fvec2) VectorShuffle 600 600 0 1
- 602: 136(fvec2) GroupNonUniformFMax 35 Reduce 601
- 603: 118(ptr) AccessChain 24(data) 25 596 115
- 604: 17(fvec4) Load 603
- 605: 17(fvec4) VectorShuffle 604 602 4 5 2 3
- Store 603 605
- 606: 27(ptr) AccessChain 10(dti) 26
- 607: 6(int) Load 606
- 608: 27(ptr) AccessChain 10(dti) 26
- 609: 6(int) Load 608
- 610: 118(ptr) AccessChain 24(data) 25 609 115
- 611: 17(fvec4) Load 610
- 612: 148(fvec3) VectorShuffle 611 611 0 1 2
- 613: 148(fvec3) GroupNonUniformFMax 35 Reduce 612
- 614: 118(ptr) AccessChain 24(data) 25 607 115
- 615: 17(fvec4) Load 614
- 616: 17(fvec4) VectorShuffle 615 613 4 5 6 3
- Store 614 616
- 617: 27(ptr) AccessChain 10(dti) 26
- 618: 6(int) Load 617
- 619: 27(ptr) AccessChain 10(dti) 26
- 620: 6(int) Load 619
- 621: 161(ptr) AccessChain 24(data) 25 620 158
- 622: 19(f64vec4) Load 621
- 623: 19(f64vec4) GroupNonUniformFMax 35 Reduce 622
- 624: 161(ptr) AccessChain 24(data) 25 618 158
- Store 624 623
+ 599: 81(ptr) AccessChain 24(data) 25 598 78
+ 600: 15(ivec4) Load 599
+ 601: 15(ivec4) GroupNonUniformSMax 35 Reduce 600
+ 602: 81(ptr) AccessChain 24(data) 25 596 78
+ Store 602 601
+ 603: 27(ptr) AccessChain 10(dti) 26
+ 604: 6(int) Load 603
+ 605: 27(ptr) AccessChain 10(dti) 26
+ 606: 6(int) Load 605
+ 607: 90(ptr) AccessChain 24(data) 25 606 78 26
+ 608: 14(int) Load 607
+ 609: 14(int) GroupNonUniformSMax 35 Reduce 608
+ 610: 90(ptr) AccessChain 24(data) 25 604 78 26
+ Store 610 609
+ 611: 27(ptr) AccessChain 10(dti) 26
+ 612: 6(int) Load 611
+ 613: 27(ptr) AccessChain 10(dti) 26
+ 614: 6(int) Load 613
+ 615: 81(ptr) AccessChain 24(data) 25 614 78
+ 616: 15(ivec4) Load 615
+ 617: 99(ivec2) VectorShuffle 616 616 0 1
+ 618: 99(ivec2) GroupNonUniformSMax 35 Reduce 617
+ 619: 90(ptr) AccessChain 24(data) 25 612 78 26
+ 620: 14(int) CompositeExtract 618 0
+ Store 619 620
+ 621: 90(ptr) AccessChain 24(data) 25 612 78 58
+ 622: 14(int) CompositeExtract 618 1
+ Store 621 622
+ 623: 27(ptr) AccessChain 10(dti) 26
+ 624: 6(int) Load 623
625: 27(ptr) AccessChain 10(dti) 26
626: 6(int) Load 625
- 627: 27(ptr) AccessChain 10(dti) 26
- 628: 6(int) Load 627
- 629: 170(ptr) AccessChain 24(data) 25 628 158 26
- 630:18(float64_t) Load 629
- 631:18(float64_t) GroupNonUniformFMax 35 Reduce 630
- 632: 170(ptr) AccessChain 24(data) 25 626 158 26
- Store 632 631
- 633: 27(ptr) AccessChain 10(dti) 26
- 634: 6(int) Load 633
- 635: 27(ptr) AccessChain 10(dti) 26
- 636: 6(int) Load 635
- 637: 161(ptr) AccessChain 24(data) 25 636 158
- 638: 19(f64vec4) Load 637
- 639:179(f64vec2) VectorShuffle 638 638 0 1
- 640:179(f64vec2) GroupNonUniformFMax 35 Reduce 639
- 641: 161(ptr) AccessChain 24(data) 25 634 158
- 642: 19(f64vec4) Load 641
- 643: 19(f64vec4) VectorShuffle 642 640 4 5 2 3
- Store 641 643
- 644: 27(ptr) AccessChain 10(dti) 26
- 645: 6(int) Load 644
- 646: 27(ptr) AccessChain 10(dti) 26
- 647: 6(int) Load 646
- 648: 161(ptr) AccessChain 24(data) 25 647 158
- 649: 19(f64vec4) Load 648
- 650:191(f64vec3) VectorShuffle 649 649 0 1 2
- 651:191(f64vec3) GroupNonUniformFMax 35 Reduce 650
- 652: 161(ptr) AccessChain 24(data) 25 645 158
- 653: 19(f64vec4) Load 652
- 654: 19(f64vec4) VectorShuffle 653 651 4 5 6 3
- Store 652 654
+ 627: 81(ptr) AccessChain 24(data) 25 626 78
+ 628: 15(ivec4) Load 627
+ 629: 112(ivec3) VectorShuffle 628 628 0 1 2
+ 630: 112(ivec3) GroupNonUniformSMax 35 Reduce 629
+ 631: 90(ptr) AccessChain 24(data) 25 624 78 26
+ 632: 14(int) CompositeExtract 630 0
+ Store 631 632
+ 633: 90(ptr) AccessChain 24(data) 25 624 78 58
+ 634: 14(int) CompositeExtract 630 1
+ Store 633 634
+ 635: 90(ptr) AccessChain 24(data) 25 624 78 73
+ 636: 14(int) CompositeExtract 630 2
+ Store 635 636
+ 637: 27(ptr) AccessChain 10(dti) 26
+ 638: 6(int) Load 637
+ 639: 27(ptr) AccessChain 10(dti) 26
+ 640: 6(int) Load 639
+ 641: 128(ptr) AccessChain 24(data) 25 640 125
+ 642: 17(fvec4) Load 641
+ 643: 17(fvec4) GroupNonUniformFMax 35 Reduce 642
+ 644: 128(ptr) AccessChain 24(data) 25 638 125
+ Store 644 643
+ 645: 27(ptr) AccessChain 10(dti) 26
+ 646: 6(int) Load 645
+ 647: 27(ptr) AccessChain 10(dti) 26
+ 648: 6(int) Load 647
+ 649: 137(ptr) AccessChain 24(data) 25 648 125 26
+ 650: 16(float) Load 649
+ 651: 16(float) GroupNonUniformFMax 35 Reduce 650
+ 652: 137(ptr) AccessChain 24(data) 25 646 125 26
+ Store 652 651
+ 653: 27(ptr) AccessChain 10(dti) 26
+ 654: 6(int) Load 653
655: 27(ptr) AccessChain 10(dti) 26
656: 6(int) Load 655
- 657: 27(ptr) AccessChain 10(dti) 26
- 658: 6(int) Load 657
- 659: 32(ptr) AccessChain 24(data) 25 658 25
- 660: 13(ivec4) Load 659
- 661: 13(ivec4) GroupNonUniformBitwiseAnd 35 Reduce 660
- 662: 32(ptr) AccessChain 24(data) 25 656 25
- Store 662 661
- 663: 27(ptr) AccessChain 10(dti) 26
- 664: 6(int) Load 663
+ 657: 128(ptr) AccessChain 24(data) 25 656 125
+ 658: 17(fvec4) Load 657
+ 659: 146(fvec2) VectorShuffle 658 658 0 1
+ 660: 146(fvec2) GroupNonUniformFMax 35 Reduce 659
+ 661: 137(ptr) AccessChain 24(data) 25 654 125 26
+ 662: 16(float) CompositeExtract 660 0
+ Store 661 662
+ 663: 137(ptr) AccessChain 24(data) 25 654 125 58
+ 664: 16(float) CompositeExtract 660 1
+ Store 663 664
665: 27(ptr) AccessChain 10(dti) 26
666: 6(int) Load 665
- 667: 42(ptr) AccessChain 24(data) 25 666 25 26
+ 667: 27(ptr) AccessChain 10(dti) 26
668: 6(int) Load 667
- 669: 6(int) GroupNonUniformBitwiseAnd 35 Reduce 668
- 670: 42(ptr) AccessChain 24(data) 25 664 25 26
- Store 670 669
- 671: 27(ptr) AccessChain 10(dti) 26
- 672: 6(int) Load 671
- 673: 27(ptr) AccessChain 10(dti) 26
- 674: 6(int) Load 673
- 675: 32(ptr) AccessChain 24(data) 25 674 25
- 676: 13(ivec4) Load 675
- 677: 51(ivec2) VectorShuffle 676 676 0 1
- 678: 51(ivec2) GroupNonUniformBitwiseAnd 35 Reduce 677
- 679: 32(ptr) AccessChain 24(data) 25 672 25
- 680: 13(ivec4) Load 679
- 681: 13(ivec4) VectorShuffle 680 678 4 5 2 3
- Store 679 681
- 682: 27(ptr) AccessChain 10(dti) 26
- 683: 6(int) Load 682
- 684: 27(ptr) AccessChain 10(dti) 26
- 685: 6(int) Load 684
- 686: 32(ptr) AccessChain 24(data) 25 685 25
- 687: 13(ivec4) Load 686
- 688: 7(ivec3) VectorShuffle 687 687 0 1 2
- 689: 7(ivec3) GroupNonUniformBitwiseAnd 35 Reduce 688
- 690: 32(ptr) AccessChain 24(data) 25 683 25
- 691: 13(ivec4) Load 690
- 692: 13(ivec4) VectorShuffle 691 689 4 5 6 3
- Store 690 692
- 693: 27(ptr) AccessChain 10(dti) 26
- 694: 6(int) Load 693
+ 669: 128(ptr) AccessChain 24(data) 25 668 125
+ 670: 17(fvec4) Load 669
+ 671: 159(fvec3) VectorShuffle 670 670 0 1 2
+ 672: 159(fvec3) GroupNonUniformFMax 35 Reduce 671
+ 673: 137(ptr) AccessChain 24(data) 25 666 125 26
+ 674: 16(float) CompositeExtract 672 0
+ Store 673 674
+ 675: 137(ptr) AccessChain 24(data) 25 666 125 58
+ 676: 16(float) CompositeExtract 672 1
+ Store 675 676
+ 677: 137(ptr) AccessChain 24(data) 25 666 125 73
+ 678: 16(float) CompositeExtract 672 2
+ Store 677 678
+ 679: 27(ptr) AccessChain 10(dti) 26
+ 680: 6(int) Load 679
+ 681: 27(ptr) AccessChain 10(dti) 26
+ 682: 6(int) Load 681
+ 683: 175(ptr) AccessChain 24(data) 25 682 172
+ 684: 19(f64vec4) Load 683
+ 685: 19(f64vec4) GroupNonUniformFMax 35 Reduce 684
+ 686: 175(ptr) AccessChain 24(data) 25 680 172
+ Store 686 685
+ 687: 27(ptr) AccessChain 10(dti) 26
+ 688: 6(int) Load 687
+ 689: 27(ptr) AccessChain 10(dti) 26
+ 690: 6(int) Load 689
+ 691: 184(ptr) AccessChain 24(data) 25 690 172 26
+ 692:18(float64_t) Load 691
+ 693:18(float64_t) GroupNonUniformFMax 35 Reduce 692
+ 694: 184(ptr) AccessChain 24(data) 25 688 172 26
+ Store 694 693
695: 27(ptr) AccessChain 10(dti) 26
696: 6(int) Load 695
- 697: 75(ptr) AccessChain 24(data) 25 696 72
- 698: 15(ivec4) Load 697
- 699: 15(ivec4) GroupNonUniformBitwiseAnd 35 Reduce 698
- 700: 75(ptr) AccessChain 24(data) 25 694 72
- Store 700 699
- 701: 27(ptr) AccessChain 10(dti) 26
- 702: 6(int) Load 701
- 703: 27(ptr) AccessChain 10(dti) 26
- 704: 6(int) Load 703
- 705: 84(ptr) AccessChain 24(data) 25 704 72 26
- 706: 14(int) Load 705
- 707: 14(int) GroupNonUniformBitwiseAnd 35 Reduce 706
- 708: 84(ptr) AccessChain 24(data) 25 702 72 26
- Store 708 707
+ 697: 27(ptr) AccessChain 10(dti) 26
+ 698: 6(int) Load 697
+ 699: 175(ptr) AccessChain 24(data) 25 698 172
+ 700: 19(f64vec4) Load 699
+ 701:193(f64vec2) VectorShuffle 700 700 0 1
+ 702:193(f64vec2) GroupNonUniformFMax 35 Reduce 701
+ 703: 184(ptr) AccessChain 24(data) 25 696 172 26
+ 704:18(float64_t) CompositeExtract 702 0
+ Store 703 704
+ 705: 184(ptr) AccessChain 24(data) 25 696 172 58
+ 706:18(float64_t) CompositeExtract 702 1
+ Store 705 706
+ 707: 27(ptr) AccessChain 10(dti) 26
+ 708: 6(int) Load 707
709: 27(ptr) AccessChain 10(dti) 26
710: 6(int) Load 709
- 711: 27(ptr) AccessChain 10(dti) 26
- 712: 6(int) Load 711
- 713: 75(ptr) AccessChain 24(data) 25 712 72
- 714: 15(ivec4) Load 713
- 715: 93(ivec2) VectorShuffle 714 714 0 1
- 716: 93(ivec2) GroupNonUniformBitwiseAnd 35 Reduce 715
- 717: 75(ptr) AccessChain 24(data) 25 710 72
- 718: 15(ivec4) Load 717
- 719: 15(ivec4) VectorShuffle 718 716 4 5 2 3
- Store 717 719
- 720: 27(ptr) AccessChain 10(dti) 26
- 721: 6(int) Load 720
- 722: 27(ptr) AccessChain 10(dti) 26
- 723: 6(int) Load 722
- 724: 75(ptr) AccessChain 24(data) 25 723 72
- 725: 15(ivec4) Load 724
- 726: 105(ivec3) VectorShuffle 725 725 0 1 2
- 727: 105(ivec3) GroupNonUniformBitwiseAnd 35 Reduce 726
- 728: 75(ptr) AccessChain 24(data) 25 721 72
- 729: 15(ivec4) Load 728
- 730: 15(ivec4) VectorShuffle 729 727 4 5 6 3
- Store 728 730
+ 711: 175(ptr) AccessChain 24(data) 25 710 172
+ 712: 19(f64vec4) Load 711
+ 713:206(f64vec3) VectorShuffle 712 712 0 1 2
+ 714:206(f64vec3) GroupNonUniformFMax 35 Reduce 713
+ 715: 184(ptr) AccessChain 24(data) 25 708 172 26
+ 716:18(float64_t) CompositeExtract 714 0
+ Store 715 716
+ 717: 184(ptr) AccessChain 24(data) 25 708 172 58
+ 718:18(float64_t) CompositeExtract 714 1
+ Store 717 718
+ 719: 184(ptr) AccessChain 24(data) 25 708 172 73
+ 720:18(float64_t) CompositeExtract 714 2
+ Store 719 720
+ 721: 27(ptr) AccessChain 10(dti) 26
+ 722: 6(int) Load 721
+ 723: 27(ptr) AccessChain 10(dti) 26
+ 724: 6(int) Load 723
+ 725: 32(ptr) AccessChain 24(data) 25 724 25
+ 726: 13(ivec4) Load 725
+ 727: 13(ivec4) GroupNonUniformBitwiseAnd 35 Reduce 726
+ 728: 32(ptr) AccessChain 24(data) 25 722 25
+ Store 728 727
+ 729: 27(ptr) AccessChain 10(dti) 26
+ 730: 6(int) Load 729
731: 27(ptr) AccessChain 10(dti) 26
732: 6(int) Load 731
- 733: 27(ptr) AccessChain 10(dti) 26
+ 733: 42(ptr) AccessChain 24(data) 25 732 25 26
734: 6(int) Load 733
- 735: 32(ptr) AccessChain 24(data) 25 734 25
- 736: 13(ivec4) Load 735
- 737: 13(ivec4) GroupNonUniformBitwiseOr 35 Reduce 736
- 738: 32(ptr) AccessChain 24(data) 25 732 25
- Store 738 737
+ 735: 6(int) GroupNonUniformBitwiseAnd 35 Reduce 734
+ 736: 42(ptr) AccessChain 24(data) 25 730 25 26
+ Store 736 735
+ 737: 27(ptr) AccessChain 10(dti) 26
+ 738: 6(int) Load 737
739: 27(ptr) AccessChain 10(dti) 26
740: 6(int) Load 739
- 741: 27(ptr) AccessChain 10(dti) 26
- 742: 6(int) Load 741
- 743: 42(ptr) AccessChain 24(data) 25 742 25 26
- 744: 6(int) Load 743
- 745: 6(int) GroupNonUniformBitwiseOr 35 Reduce 744
- 746: 42(ptr) AccessChain 24(data) 25 740 25 26
- Store 746 745
- 747: 27(ptr) AccessChain 10(dti) 26
- 748: 6(int) Load 747
+ 741: 32(ptr) AccessChain 24(data) 25 740 25
+ 742: 13(ivec4) Load 741
+ 743: 51(ivec2) VectorShuffle 742 742 0 1
+ 744: 51(ivec2) GroupNonUniformBitwiseAnd 35 Reduce 743
+ 745: 42(ptr) AccessChain 24(data) 25 738 25 26
+ 746: 6(int) CompositeExtract 744 0
+ Store 745 746
+ 747: 42(ptr) AccessChain 24(data) 25 738 25 58
+ 748: 6(int) CompositeExtract 744 1
+ Store 747 748
749: 27(ptr) AccessChain 10(dti) 26
750: 6(int) Load 749
- 751: 32(ptr) AccessChain 24(data) 25 750 25
- 752: 13(ivec4) Load 751
- 753: 51(ivec2) VectorShuffle 752 752 0 1
- 754: 51(ivec2) GroupNonUniformBitwiseOr 35 Reduce 753
- 755: 32(ptr) AccessChain 24(data) 25 748 25
- 756: 13(ivec4) Load 755
- 757: 13(ivec4) VectorShuffle 756 754 4 5 2 3
- Store 755 757
- 758: 27(ptr) AccessChain 10(dti) 26
- 759: 6(int) Load 758
- 760: 27(ptr) AccessChain 10(dti) 26
- 761: 6(int) Load 760
- 762: 32(ptr) AccessChain 24(data) 25 761 25
- 763: 13(ivec4) Load 762
- 764: 7(ivec3) VectorShuffle 763 763 0 1 2
- 765: 7(ivec3) GroupNonUniformBitwiseOr 35 Reduce 764
- 766: 32(ptr) AccessChain 24(data) 25 759 25
- 767: 13(ivec4) Load 766
- 768: 13(ivec4) VectorShuffle 767 765 4 5 6 3
- Store 766 768
- 769: 27(ptr) AccessChain 10(dti) 26
- 770: 6(int) Load 769
+ 751: 27(ptr) AccessChain 10(dti) 26
+ 752: 6(int) Load 751
+ 753: 32(ptr) AccessChain 24(data) 25 752 25
+ 754: 13(ivec4) Load 753
+ 755: 7(ivec3) VectorShuffle 754 754 0 1 2
+ 756: 7(ivec3) GroupNonUniformBitwiseAnd 35 Reduce 755
+ 757: 42(ptr) AccessChain 24(data) 25 750 25 26
+ 758: 6(int) CompositeExtract 756 0
+ Store 757 758
+ 759: 42(ptr) AccessChain 24(data) 25 750 25 58
+ 760: 6(int) CompositeExtract 756 1
+ Store 759 760
+ 761: 42(ptr) AccessChain 24(data) 25 750 25 73
+ 762: 6(int) CompositeExtract 756 2
+ Store 761 762
+ 763: 27(ptr) AccessChain 10(dti) 26
+ 764: 6(int) Load 763
+ 765: 27(ptr) AccessChain 10(dti) 26
+ 766: 6(int) Load 765
+ 767: 81(ptr) AccessChain 24(data) 25 766 78
+ 768: 15(ivec4) Load 767
+ 769: 15(ivec4) GroupNonUniformBitwiseAnd 35 Reduce 768
+ 770: 81(ptr) AccessChain 24(data) 25 764 78
+ Store 770 769
771: 27(ptr) AccessChain 10(dti) 26
772: 6(int) Load 771
- 773: 75(ptr) AccessChain 24(data) 25 772 72
- 774: 15(ivec4) Load 773
- 775: 15(ivec4) GroupNonUniformBitwiseOr 35 Reduce 774
- 776: 75(ptr) AccessChain 24(data) 25 770 72
- Store 776 775
- 777: 27(ptr) AccessChain 10(dti) 26
- 778: 6(int) Load 777
+ 773: 27(ptr) AccessChain 10(dti) 26
+ 774: 6(int) Load 773
+ 775: 90(ptr) AccessChain 24(data) 25 774 78 26
+ 776: 14(int) Load 775
+ 777: 14(int) GroupNonUniformBitwiseAnd 35 Reduce 776
+ 778: 90(ptr) AccessChain 24(data) 25 772 78 26
+ Store 778 777
779: 27(ptr) AccessChain 10(dti) 26
780: 6(int) Load 779
- 781: 84(ptr) AccessChain 24(data) 25 780 72 26
- 782: 14(int) Load 781
- 783: 14(int) GroupNonUniformBitwiseOr 35 Reduce 782
- 784: 84(ptr) AccessChain 24(data) 25 778 72 26
- Store 784 783
- 785: 27(ptr) AccessChain 10(dti) 26
- 786: 6(int) Load 785
- 787: 27(ptr) AccessChain 10(dti) 26
- 788: 6(int) Load 787
- 789: 75(ptr) AccessChain 24(data) 25 788 72
- 790: 15(ivec4) Load 789
- 791: 93(ivec2) VectorShuffle 790 790 0 1
- 792: 93(ivec2) GroupNonUniformBitwiseOr 35 Reduce 791
- 793: 75(ptr) AccessChain 24(data) 25 786 72
- 794: 15(ivec4) Load 793
- 795: 15(ivec4) VectorShuffle 794 792 4 5 2 3
- Store 793 795
- 796: 27(ptr) AccessChain 10(dti) 26
- 797: 6(int) Load 796
- 798: 27(ptr) AccessChain 10(dti) 26
- 799: 6(int) Load 798
- 800: 75(ptr) AccessChain 24(data) 25 799 72
- 801: 15(ivec4) Load 800
- 802: 105(ivec3) VectorShuffle 801 801 0 1 2
- 803: 105(ivec3) GroupNonUniformBitwiseOr 35 Reduce 802
- 804: 75(ptr) AccessChain 24(data) 25 797 72
- 805: 15(ivec4) Load 804
- 806: 15(ivec4) VectorShuffle 805 803 4 5 6 3
- Store 804 806
+ 781: 27(ptr) AccessChain 10(dti) 26
+ 782: 6(int) Load 781
+ 783: 81(ptr) AccessChain 24(data) 25 782 78
+ 784: 15(ivec4) Load 783
+ 785: 99(ivec2) VectorShuffle 784 784 0 1
+ 786: 99(ivec2) GroupNonUniformBitwiseAnd 35 Reduce 785
+ 787: 90(ptr) AccessChain 24(data) 25 780 78 26
+ 788: 14(int) CompositeExtract 786 0
+ Store 787 788
+ 789: 90(ptr) AccessChain 24(data) 25 780 78 58
+ 790: 14(int) CompositeExtract 786 1
+ Store 789 790
+ 791: 27(ptr) AccessChain 10(dti) 26
+ 792: 6(int) Load 791
+ 793: 27(ptr) AccessChain 10(dti) 26
+ 794: 6(int) Load 793
+ 795: 81(ptr) AccessChain 24(data) 25 794 78
+ 796: 15(ivec4) Load 795
+ 797: 112(ivec3) VectorShuffle 796 796 0 1 2
+ 798: 112(ivec3) GroupNonUniformBitwiseAnd 35 Reduce 797
+ 799: 90(ptr) AccessChain 24(data) 25 792 78 26
+ 800: 14(int) CompositeExtract 798 0
+ Store 799 800
+ 801: 90(ptr) AccessChain 24(data) 25 792 78 58
+ 802: 14(int) CompositeExtract 798 1
+ Store 801 802
+ 803: 90(ptr) AccessChain 24(data) 25 792 78 73
+ 804: 14(int) CompositeExtract 798 2
+ Store 803 804
+ 805: 27(ptr) AccessChain 10(dti) 26
+ 806: 6(int) Load 805
807: 27(ptr) AccessChain 10(dti) 26
808: 6(int) Load 807
- 809: 27(ptr) AccessChain 10(dti) 26
- 810: 6(int) Load 809
- 811: 32(ptr) AccessChain 24(data) 25 810 25
- 812: 13(ivec4) Load 811
- 813: 13(ivec4) GroupNonUniformBitwiseXor 35 Reduce 812
- 814: 32(ptr) AccessChain 24(data) 25 808 25
- Store 814 813
+ 809: 32(ptr) AccessChain 24(data) 25 808 25
+ 810: 13(ivec4) Load 809
+ 811: 13(ivec4) GroupNonUniformBitwiseOr 35 Reduce 810
+ 812: 32(ptr) AccessChain 24(data) 25 806 25
+ Store 812 811
+ 813: 27(ptr) AccessChain 10(dti) 26
+ 814: 6(int) Load 813
815: 27(ptr) AccessChain 10(dti) 26
816: 6(int) Load 815
- 817: 27(ptr) AccessChain 10(dti) 26
+ 817: 42(ptr) AccessChain 24(data) 25 816 25 26
818: 6(int) Load 817
- 819: 42(ptr) AccessChain 24(data) 25 818 25 26
- 820: 6(int) Load 819
- 821: 6(int) GroupNonUniformBitwiseXor 35 Reduce 820
- 822: 42(ptr) AccessChain 24(data) 25 816 25 26
- Store 822 821
+ 819: 6(int) GroupNonUniformBitwiseOr 35 Reduce 818
+ 820: 42(ptr) AccessChain 24(data) 25 814 25 26
+ Store 820 819
+ 821: 27(ptr) AccessChain 10(dti) 26
+ 822: 6(int) Load 821
823: 27(ptr) AccessChain 10(dti) 26
824: 6(int) Load 823
- 825: 27(ptr) AccessChain 10(dti) 26
- 826: 6(int) Load 825
- 827: 32(ptr) AccessChain 24(data) 25 826 25
- 828: 13(ivec4) Load 827
- 829: 51(ivec2) VectorShuffle 828 828 0 1
- 830: 51(ivec2) GroupNonUniformBitwiseXor 35 Reduce 829
- 831: 32(ptr) AccessChain 24(data) 25 824 25
- 832: 13(ivec4) Load 831
- 833: 13(ivec4) VectorShuffle 832 830 4 5 2 3
- Store 831 833
- 834: 27(ptr) AccessChain 10(dti) 26
- 835: 6(int) Load 834
- 836: 27(ptr) AccessChain 10(dti) 26
- 837: 6(int) Load 836
- 838: 32(ptr) AccessChain 24(data) 25 837 25
- 839: 13(ivec4) Load 838
- 840: 7(ivec3) VectorShuffle 839 839 0 1 2
- 841: 7(ivec3) GroupNonUniformBitwiseXor 35 Reduce 840
- 842: 32(ptr) AccessChain 24(data) 25 835 25
- 843: 13(ivec4) Load 842
- 844: 13(ivec4) VectorShuffle 843 841 4 5 6 3
- Store 842 844
- 845: 27(ptr) AccessChain 10(dti) 26
- 846: 6(int) Load 845
+ 825: 32(ptr) AccessChain 24(data) 25 824 25
+ 826: 13(ivec4) Load 825
+ 827: 51(ivec2) VectorShuffle 826 826 0 1
+ 828: 51(ivec2) GroupNonUniformBitwiseOr 35 Reduce 827
+ 829: 42(ptr) AccessChain 24(data) 25 822 25 26
+ 830: 6(int) CompositeExtract 828 0
+ Store 829 830
+ 831: 42(ptr) AccessChain 24(data) 25 822 25 58
+ 832: 6(int) CompositeExtract 828 1
+ Store 831 832
+ 833: 27(ptr) AccessChain 10(dti) 26
+ 834: 6(int) Load 833
+ 835: 27(ptr) AccessChain 10(dti) 26
+ 836: 6(int) Load 835
+ 837: 32(ptr) AccessChain 24(data) 25 836 25
+ 838: 13(ivec4) Load 837
+ 839: 7(ivec3) VectorShuffle 838 838 0 1 2
+ 840: 7(ivec3) GroupNonUniformBitwiseOr 35 Reduce 839
+ 841: 42(ptr) AccessChain 24(data) 25 834 25 26
+ 842: 6(int) CompositeExtract 840 0
+ Store 841 842
+ 843: 42(ptr) AccessChain 24(data) 25 834 25 58
+ 844: 6(int) CompositeExtract 840 1
+ Store 843 844
+ 845: 42(ptr) AccessChain 24(data) 25 834 25 73
+ 846: 6(int) CompositeExtract 840 2
+ Store 845 846
847: 27(ptr) AccessChain 10(dti) 26
848: 6(int) Load 847
- 849: 75(ptr) AccessChain 24(data) 25 848 72
- 850: 15(ivec4) Load 849
- 851: 15(ivec4) GroupNonUniformBitwiseXor 35 Reduce 850
- 852: 75(ptr) AccessChain 24(data) 25 846 72
- Store 852 851
- 853: 27(ptr) AccessChain 10(dti) 26
- 854: 6(int) Load 853
+ 849: 27(ptr) AccessChain 10(dti) 26
+ 850: 6(int) Load 849
+ 851: 81(ptr) AccessChain 24(data) 25 850 78
+ 852: 15(ivec4) Load 851
+ 853: 15(ivec4) GroupNonUniformBitwiseOr 35 Reduce 852
+ 854: 81(ptr) AccessChain 24(data) 25 848 78
+ Store 854 853
855: 27(ptr) AccessChain 10(dti) 26
856: 6(int) Load 855
- 857: 84(ptr) AccessChain 24(data) 25 856 72 26
- 858: 14(int) Load 857
- 859: 14(int) GroupNonUniformBitwiseXor 35 Reduce 858
- 860: 84(ptr) AccessChain 24(data) 25 854 72 26
- Store 860 859
- 861: 27(ptr) AccessChain 10(dti) 26
- 862: 6(int) Load 861
+ 857: 27(ptr) AccessChain 10(dti) 26
+ 858: 6(int) Load 857
+ 859: 90(ptr) AccessChain 24(data) 25 858 78 26
+ 860: 14(int) Load 859
+ 861: 14(int) GroupNonUniformBitwiseOr 35 Reduce 860
+ 862: 90(ptr) AccessChain 24(data) 25 856 78 26
+ Store 862 861
863: 27(ptr) AccessChain 10(dti) 26
864: 6(int) Load 863
- 865: 75(ptr) AccessChain 24(data) 25 864 72
- 866: 15(ivec4) Load 865
- 867: 93(ivec2) VectorShuffle 866 866 0 1
- 868: 93(ivec2) GroupNonUniformBitwiseXor 35 Reduce 867
- 869: 75(ptr) AccessChain 24(data) 25 862 72
- 870: 15(ivec4) Load 869
- 871: 15(ivec4) VectorShuffle 870 868 4 5 2 3
- Store 869 871
- 872: 27(ptr) AccessChain 10(dti) 26
- 873: 6(int) Load 872
- 874: 27(ptr) AccessChain 10(dti) 26
- 875: 6(int) Load 874
- 876: 75(ptr) AccessChain 24(data) 25 875 72
- 877: 15(ivec4) Load 876
- 878: 105(ivec3) VectorShuffle 877 877 0 1 2
- 879: 105(ivec3) GroupNonUniformBitwiseXor 35 Reduce 878
- 880: 75(ptr) AccessChain 24(data) 25 873 72
- 881: 15(ivec4) Load 880
- 882: 15(ivec4) VectorShuffle 881 879 4 5 6 3
- Store 880 882
- 883: 27(ptr) AccessChain 10(dti) 26
- 884: 6(int) Load 883
- 885: 27(ptr) AccessChain 10(dti) 26
- 886: 6(int) Load 885
- 887: 42(ptr) AccessChain 24(data) 25 886 25 26
- 888: 6(int) Load 887
- 890: 889(bool) IEqual 888 26
- 891: 13(ivec4) GroupNonUniformBallot 35 890
- 892: 6(int) GroupNonUniformBallotBitCount 35 Reduce 891
- 893: 42(ptr) AccessChain 24(data) 25 884 25 26
- Store 893 892
+ 865: 27(ptr) AccessChain 10(dti) 26
+ 866: 6(int) Load 865
+ 867: 81(ptr) AccessChain 24(data) 25 866 78
+ 868: 15(ivec4) Load 867
+ 869: 99(ivec2) VectorShuffle 868 868 0 1
+ 870: 99(ivec2) GroupNonUniformBitwiseOr 35 Reduce 869
+ 871: 90(ptr) AccessChain 24(data) 25 864 78 26
+ 872: 14(int) CompositeExtract 870 0
+ Store 871 872
+ 873: 90(ptr) AccessChain 24(data) 25 864 78 58
+ 874: 14(int) CompositeExtract 870 1
+ Store 873 874
+ 875: 27(ptr) AccessChain 10(dti) 26
+ 876: 6(int) Load 875
+ 877: 27(ptr) AccessChain 10(dti) 26
+ 878: 6(int) Load 877
+ 879: 81(ptr) AccessChain 24(data) 25 878 78
+ 880: 15(ivec4) Load 879
+ 881: 112(ivec3) VectorShuffle 880 880 0 1 2
+ 882: 112(ivec3) GroupNonUniformBitwiseOr 35 Reduce 881
+ 883: 90(ptr) AccessChain 24(data) 25 876 78 26
+ 884: 14(int) CompositeExtract 882 0
+ Store 883 884
+ 885: 90(ptr) AccessChain 24(data) 25 876 78 58
+ 886: 14(int) CompositeExtract 882 1
+ Store 885 886
+ 887: 90(ptr) AccessChain 24(data) 25 876 78 73
+ 888: 14(int) CompositeExtract 882 2
+ Store 887 888
+ 889: 27(ptr) AccessChain 10(dti) 26
+ 890: 6(int) Load 889
+ 891: 27(ptr) AccessChain 10(dti) 26
+ 892: 6(int) Load 891
+ 893: 32(ptr) AccessChain 24(data) 25 892 25
+ 894: 13(ivec4) Load 893
+ 895: 13(ivec4) GroupNonUniformBitwiseXor 35 Reduce 894
+ 896: 32(ptr) AccessChain 24(data) 25 890 25
+ Store 896 895
+ 897: 27(ptr) AccessChain 10(dti) 26
+ 898: 6(int) Load 897
+ 899: 27(ptr) AccessChain 10(dti) 26
+ 900: 6(int) Load 899
+ 901: 42(ptr) AccessChain 24(data) 25 900 25 26
+ 902: 6(int) Load 901
+ 903: 6(int) GroupNonUniformBitwiseXor 35 Reduce 902
+ 904: 42(ptr) AccessChain 24(data) 25 898 25 26
+ Store 904 903
+ 905: 27(ptr) AccessChain 10(dti) 26
+ 906: 6(int) Load 905
+ 907: 27(ptr) AccessChain 10(dti) 26
+ 908: 6(int) Load 907
+ 909: 32(ptr) AccessChain 24(data) 25 908 25
+ 910: 13(ivec4) Load 909
+ 911: 51(ivec2) VectorShuffle 910 910 0 1
+ 912: 51(ivec2) GroupNonUniformBitwiseXor 35 Reduce 911
+ 913: 42(ptr) AccessChain 24(data) 25 906 25 26
+ 914: 6(int) CompositeExtract 912 0
+ Store 913 914
+ 915: 42(ptr) AccessChain 24(data) 25 906 25 58
+ 916: 6(int) CompositeExtract 912 1
+ Store 915 916
+ 917: 27(ptr) AccessChain 10(dti) 26
+ 918: 6(int) Load 917
+ 919: 27(ptr) AccessChain 10(dti) 26
+ 920: 6(int) Load 919
+ 921: 32(ptr) AccessChain 24(data) 25 920 25
+ 922: 13(ivec4) Load 921
+ 923: 7(ivec3) VectorShuffle 922 922 0 1 2
+ 924: 7(ivec3) GroupNonUniformBitwiseXor 35 Reduce 923
+ 925: 42(ptr) AccessChain 24(data) 25 918 25 26
+ 926: 6(int) CompositeExtract 924 0
+ Store 925 926
+ 927: 42(ptr) AccessChain 24(data) 25 918 25 58
+ 928: 6(int) CompositeExtract 924 1
+ Store 927 928
+ 929: 42(ptr) AccessChain 24(data) 25 918 25 73
+ 930: 6(int) CompositeExtract 924 2
+ Store 929 930
+ 931: 27(ptr) AccessChain 10(dti) 26
+ 932: 6(int) Load 931
+ 933: 27(ptr) AccessChain 10(dti) 26
+ 934: 6(int) Load 933
+ 935: 81(ptr) AccessChain 24(data) 25 934 78
+ 936: 15(ivec4) Load 935
+ 937: 15(ivec4) GroupNonUniformBitwiseXor 35 Reduce 936
+ 938: 81(ptr) AccessChain 24(data) 25 932 78
+ Store 938 937
+ 939: 27(ptr) AccessChain 10(dti) 26
+ 940: 6(int) Load 939
+ 941: 27(ptr) AccessChain 10(dti) 26
+ 942: 6(int) Load 941
+ 943: 90(ptr) AccessChain 24(data) 25 942 78 26
+ 944: 14(int) Load 943
+ 945: 14(int) GroupNonUniformBitwiseXor 35 Reduce 944
+ 946: 90(ptr) AccessChain 24(data) 25 940 78 26
+ Store 946 945
+ 947: 27(ptr) AccessChain 10(dti) 26
+ 948: 6(int) Load 947
+ 949: 27(ptr) AccessChain 10(dti) 26
+ 950: 6(int) Load 949
+ 951: 81(ptr) AccessChain 24(data) 25 950 78
+ 952: 15(ivec4) Load 951
+ 953: 99(ivec2) VectorShuffle 952 952 0 1
+ 954: 99(ivec2) GroupNonUniformBitwiseXor 35 Reduce 953
+ 955: 90(ptr) AccessChain 24(data) 25 948 78 26
+ 956: 14(int) CompositeExtract 954 0
+ Store 955 956
+ 957: 90(ptr) AccessChain 24(data) 25 948 78 58
+ 958: 14(int) CompositeExtract 954 1
+ Store 957 958
+ 959: 27(ptr) AccessChain 10(dti) 26
+ 960: 6(int) Load 959
+ 961: 27(ptr) AccessChain 10(dti) 26
+ 962: 6(int) Load 961
+ 963: 81(ptr) AccessChain 24(data) 25 962 78
+ 964: 15(ivec4) Load 963
+ 965: 112(ivec3) VectorShuffle 964 964 0 1 2
+ 966: 112(ivec3) GroupNonUniformBitwiseXor 35 Reduce 965
+ 967: 90(ptr) AccessChain 24(data) 25 960 78 26
+ 968: 14(int) CompositeExtract 966 0
+ Store 967 968
+ 969: 90(ptr) AccessChain 24(data) 25 960 78 58
+ 970: 14(int) CompositeExtract 966 1
+ Store 969 970
+ 971: 90(ptr) AccessChain 24(data) 25 960 78 73
+ 972: 14(int) CompositeExtract 966 2
+ Store 971 972
+ 973: 27(ptr) AccessChain 10(dti) 26
+ 974: 6(int) Load 973
+ 975: 27(ptr) AccessChain 10(dti) 26
+ 976: 6(int) Load 975
+ 977: 42(ptr) AccessChain 24(data) 25 976 25 26
+ 978: 6(int) Load 977
+ 980: 979(bool) IEqual 978 26
+ 981: 13(ivec4) GroupNonUniformBallot 35 980
+ 982: 6(int) GroupNonUniformBallotBitCount 35 Reduce 981
+ 983: 42(ptr) AccessChain 24(data) 25 974 25 26
+ Store 983 982
Return
FunctionEnd
diff --git a/Test/baseResults/iomap.blockOutVariableIn.2.vert.out b/Test/baseResults/iomap.blockOutVariableIn.2.vert.out
new file mode 100644
index 0000000..0b4c0ac
--- /dev/null
+++ b/Test/baseResults/iomap.blockOutVariableIn.2.vert.out
@@ -0,0 +1,413 @@
+iomap.blockOutVariableIn.2.vert
+Shader version: 440
+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 float)
+0:11 a1: direct index for structure ( out 4-component vector of float)
+0:11 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
+0:11 Constant:
+0:11 0 (const uint)
+0:11 Constant:
+0:11 1.000000
+0:11 1.000000
+0:11 1.000000
+0:11 1.000000
+0:12 move second child to first child ( temp 2-component vector of float)
+0:12 a2: direct index for structure ( out 2-component vector of float)
+0:12 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
+0:12 Constant:
+0:12 1 (const uint)
+0:12 Constant:
+0:12 0.500000
+0:12 0.500000
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:13 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:13 Constant:
+0:13 0 (const uint)
+0:13 Constant:
+0:13 1.000000
+0:13 1.000000
+0:13 1.000000
+0:13 1.000000
+0:? Linker Objects
+0:? 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
+0:? 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+iomap.blockOutVariableIn.geom
+Shader version: 440
+invocations = -1
+max_vertices = 3
+input primitive = triangles
+output primitive = triangle_strip
+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 4-component vector of float)
+0:14 'a1' (layout( location=0 stream=0) out 4-component vector of float)
+0:14 direct index (layout( location=0) temp 4-component vector of float)
+0:14 'in_a1' (layout( location=0) in 3-element array of 4-component vector of float)
+0:14 Constant:
+0:14 0 (const int)
+0:15 move second child to first child ( temp 2-component vector of float)
+0:15 'a2' (layout( location=1 stream=0) out 2-component vector of float)
+0:15 direct index (layout( location=1) temp 2-component vector of float)
+0:15 'in_a2' (layout( location=1) in 3-element array of 2-component vector of float)
+0:15 Constant:
+0:15 0 (const int)
+0:16 move second child to first child ( temp 4-component vector of float)
+0:16 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
+0:16 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:16 Constant:
+0:16 0 (const uint)
+0:16 Constant:
+0:16 1.000000
+0:16 1.000000
+0:16 1.000000
+0:16 1.000000
+0:17 EmitVertex ( global void)
+0:19 move second child to first child ( temp 4-component vector of float)
+0:19 'a1' (layout( location=0 stream=0) out 4-component vector of float)
+0:19 direct index (layout( location=0) temp 4-component vector of float)
+0:19 'in_a1' (layout( location=0) in 3-element array of 4-component vector of float)
+0:19 Constant:
+0:19 1 (const int)
+0:20 move second child to first child ( temp 2-component vector of float)
+0:20 'a2' (layout( location=1 stream=0) out 2-component vector of float)
+0:20 direct index (layout( location=1) temp 2-component vector of float)
+0:20 'in_a2' (layout( location=1) in 3-element array of 2-component vector of float)
+0:20 Constant:
+0:20 1 (const int)
+0:21 move second child to first child ( temp 4-component vector of float)
+0:21 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
+0:21 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:21 Constant:
+0:21 0 (const uint)
+0:21 Constant:
+0:21 1.000000
+0:21 1.000000
+0:21 1.000000
+0:21 1.000000
+0:22 EmitVertex ( global void)
+0:24 move second child to first child ( temp 4-component vector of float)
+0:24 'a1' (layout( location=0 stream=0) out 4-component vector of float)
+0:24 direct index (layout( location=0) temp 4-component vector of float)
+0:24 'in_a1' (layout( location=0) in 3-element array of 4-component vector of float)
+0:24 Constant:
+0:24 2 (const int)
+0:25 move second child to first child ( temp 2-component vector of float)
+0:25 'a2' (layout( location=1 stream=0) out 2-component vector of float)
+0:25 direct index (layout( location=1) temp 2-component vector of float)
+0:25 'in_a2' (layout( location=1) in 3-element array of 2-component vector of float)
+0:25 Constant:
+0:25 2 (const int)
+0:26 move second child to first child ( temp 4-component vector of float)
+0:26 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
+0:26 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:26 Constant:
+0:26 0 (const uint)
+0:26 Constant:
+0:26 1.000000
+0:26 1.000000
+0:26 1.000000
+0:26 1.000000
+0:27 EmitVertex ( global void)
+0:? Linker Objects
+0:? 'in_a1' (layout( location=0) in 3-element array of 4-component vector of float)
+0:? 'in_a2' (layout( location=1) in 3-element array of 2-component vector of float)
+0:? 'a1' (layout( location=0 stream=0) out 4-component vector of float)
+0:? 'a2' (layout( location=1 stream=0) out 2-component vector of float)
+0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
+
+
+Linked vertex stage:
+
+
+Linked geometry stage:
+
+
+Shader version: 440
+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 float)
+0:11 a1: direct index for structure ( out 4-component vector of float)
+0:11 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
+0:11 Constant:
+0:11 0 (const uint)
+0:11 Constant:
+0:11 1.000000
+0:11 1.000000
+0:11 1.000000
+0:11 1.000000
+0:12 move second child to first child ( temp 2-component vector of float)
+0:12 a2: direct index for structure ( out 2-component vector of float)
+0:12 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
+0:12 Constant:
+0:12 1 (const uint)
+0:12 Constant:
+0:12 0.500000
+0:12 0.500000
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:13 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:13 Constant:
+0:13 0 (const uint)
+0:13 Constant:
+0:13 1.000000
+0:13 1.000000
+0:13 1.000000
+0:13 1.000000
+0:? Linker Objects
+0:? 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
+0:? 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+Shader version: 440
+invocations = 1
+max_vertices = 3
+input primitive = triangles
+output primitive = triangle_strip
+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 4-component vector of float)
+0:14 'a1' (layout( location=0 stream=0) out 4-component vector of float)
+0:14 direct index (layout( location=0) temp 4-component vector of float)
+0:14 'in_a1' (layout( location=0) in 3-element array of 4-component vector of float)
+0:14 Constant:
+0:14 0 (const int)
+0:15 move second child to first child ( temp 2-component vector of float)
+0:15 'a2' (layout( location=1 stream=0) out 2-component vector of float)
+0:15 direct index (layout( location=1) temp 2-component vector of float)
+0:15 'in_a2' (layout( location=1) in 3-element array of 2-component vector of float)
+0:15 Constant:
+0:15 0 (const int)
+0:16 move second child to first child ( temp 4-component vector of float)
+0:16 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
+0:16 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
+0:16 Constant:
+0:16 0 (const uint)
+0:16 Constant:
+0:16 1.000000
+0:16 1.000000
+0:16 1.000000
+0:16 1.000000
+0:17 EmitVertex ( global void)
+0:19 move second child to first child ( temp 4-component vector of float)
+0:19 'a1' (layout( location=0 stream=0) out 4-component vector of float)
+0:19 direct index (layout( location=0) temp 4-component vector of float)
+0:19 'in_a1' (layout( location=0) in 3-element array of 4-component vector of float)
+0:19 Constant:
+0:19 1 (const int)
+0:20 move second child to first child ( temp 2-component vector of float)
+0:20 'a2' (layout( location=1 stream=0) out 2-component vector of float)
+0:20 direct index (layout( location=1) temp 2-component vector of float)
+0:20 'in_a2' (layout( location=1) in 3-element array of 2-component vector of float)
+0:20 Constant:
+0:20 1 (const int)
+0:21 move second child to first child ( temp 4-component vector of float)
+0:21 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
+0:21 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
+0:21 Constant:
+0:21 0 (const uint)
+0:21 Constant:
+0:21 1.000000
+0:21 1.000000
+0:21 1.000000
+0:21 1.000000
+0:22 EmitVertex ( global void)
+0:24 move second child to first child ( temp 4-component vector of float)
+0:24 'a1' (layout( location=0 stream=0) out 4-component vector of float)
+0:24 direct index (layout( location=0) temp 4-component vector of float)
+0:24 'in_a1' (layout( location=0) in 3-element array of 4-component vector of float)
+0:24 Constant:
+0:24 2 (const int)
+0:25 move second child to first child ( temp 2-component vector of float)
+0:25 'a2' (layout( location=1 stream=0) out 2-component vector of float)
+0:25 direct index (layout( location=1) temp 2-component vector of float)
+0:25 'in_a2' (layout( location=1) in 3-element array of 2-component vector of float)
+0:25 Constant:
+0:25 2 (const int)
+0:26 move second child to first child ( temp 4-component vector of float)
+0:26 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
+0:26 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
+0:26 Constant:
+0:26 0 (const uint)
+0:26 Constant:
+0:26 1.000000
+0:26 1.000000
+0:26 1.000000
+0:26 1.000000
+0:27 EmitVertex ( global void)
+0:? Linker Objects
+0:? 'in_a1' (layout( location=0) in 3-element array of 4-component vector of float)
+0:? 'in_a2' (layout( location=1) in 3-element array of 2-component vector of float)
+0:? 'a1' (layout( location=0 stream=0) out 4-component vector of float)
+0:? 'a2' (layout( location=1 stream=0) out 2-component vector of float)
+0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
+
+// Module Version 10000
+// Generated by (magic number): 8000a
+// Id's are bound by 33
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 11 28 31 32
+ Source GLSL 440
+ Name 4 "main"
+ Name 9 "Block"
+ MemberName 9(Block) 0 "a1"
+ MemberName 9(Block) 1 "a2"
+ Name 11 ""
+ Name 26 "gl_PerVertex"
+ MemberName 26(gl_PerVertex) 0 "gl_Position"
+ MemberName 26(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 26(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 28 ""
+ Name 31 "gl_VertexID"
+ Name 32 "gl_InstanceID"
+ Decorate 9(Block) Block
+ Decorate 11 Location 0
+ MemberDecorate 26(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 26(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 26(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 26(gl_PerVertex) Block
+ Decorate 31(gl_VertexID) BuiltIn VertexId
+ Decorate 32(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeVector 6(float) 2
+ 9(Block): TypeStruct 7(fvec4) 8(fvec2)
+ 10: TypePointer Output 9(Block)
+ 11: 10(ptr) Variable Output
+ 12: TypeInt 32 1
+ 13: 12(int) Constant 0
+ 14: 6(float) Constant 1065353216
+ 15: 7(fvec4) ConstantComposite 14 14 14 14
+ 16: TypePointer Output 7(fvec4)
+ 18: 12(int) Constant 1
+ 19: 6(float) Constant 1056964608
+ 20: 8(fvec2) ConstantComposite 19 19
+ 21: TypePointer Output 8(fvec2)
+ 23: TypeInt 32 0
+ 24: 23(int) Constant 1
+ 25: TypeArray 6(float) 24
+26(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 25
+ 27: TypePointer Output 26(gl_PerVertex)
+ 28: 27(ptr) Variable Output
+ 30: TypePointer Input 12(int)
+ 31(gl_VertexID): 30(ptr) Variable Input
+32(gl_InstanceID): 30(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 17: 16(ptr) AccessChain 11 13
+ Store 17 15
+ 22: 21(ptr) AccessChain 11 18
+ Store 22 20
+ 29: 16(ptr) AccessChain 28 13
+ Store 29 15
+ Return
+ FunctionEnd
+// Module Version 10000
+// Generated by (magic number): 8000a
+// Id's are bound by 49
+
+ Capability Geometry
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Geometry 4 "main" 9 14 22 25 33
+ ExecutionMode 4 Triangles
+ ExecutionMode 4 Invocations 1
+ ExecutionMode 4 OutputTriangleStrip
+ ExecutionMode 4 OutputVertices 3
+ Source GLSL 440
+ Name 4 "main"
+ Name 9 "a1"
+ Name 14 "in_a1"
+ Name 22 "a2"
+ Name 25 "in_a2"
+ Name 31 "gl_PerVertex"
+ MemberName 31(gl_PerVertex) 0 "gl_Position"
+ MemberName 31(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 31(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 33 ""
+ Decorate 9(a1) Location 0
+ Decorate 14(in_a1) Location 0
+ Decorate 22(a2) Location 1
+ Decorate 25(in_a2) Location 1
+ MemberDecorate 31(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 31(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 31(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 31(gl_PerVertex) Block
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(a1): 8(ptr) Variable Output
+ 10: TypeInt 32 0
+ 11: 10(int) Constant 3
+ 12: TypeArray 7(fvec4) 11
+ 13: TypePointer Input 12
+ 14(in_a1): 13(ptr) Variable Input
+ 15: TypeInt 32 1
+ 16: 15(int) Constant 0
+ 17: TypePointer Input 7(fvec4)
+ 20: TypeVector 6(float) 2
+ 21: TypePointer Output 20(fvec2)
+ 22(a2): 21(ptr) Variable Output
+ 23: TypeArray 20(fvec2) 11
+ 24: TypePointer Input 23
+ 25(in_a2): 24(ptr) Variable Input
+ 26: TypePointer Input 20(fvec2)
+ 29: 10(int) Constant 1
+ 30: TypeArray 6(float) 29
+31(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 30
+ 32: TypePointer Output 31(gl_PerVertex)
+ 33: 32(ptr) Variable Output
+ 34: 6(float) Constant 1065353216
+ 35: 7(fvec4) ConstantComposite 34 34 34 34
+ 37: 15(int) Constant 1
+ 43: 15(int) Constant 2
+ 4(main): 2 Function None 3
+ 5: Label
+ 18: 17(ptr) AccessChain 14(in_a1) 16
+ 19: 7(fvec4) Load 18
+ Store 9(a1) 19
+ 27: 26(ptr) AccessChain 25(in_a2) 16
+ 28: 20(fvec2) Load 27
+ Store 22(a2) 28
+ 36: 8(ptr) AccessChain 33 16
+ Store 36 35
+ EmitVertex
+ 38: 17(ptr) AccessChain 14(in_a1) 37
+ 39: 7(fvec4) Load 38
+ Store 9(a1) 39
+ 40: 26(ptr) AccessChain 25(in_a2) 37
+ 41: 20(fvec2) Load 40
+ Store 22(a2) 41
+ 42: 8(ptr) AccessChain 33 16
+ Store 42 35
+ EmitVertex
+ 44: 17(ptr) AccessChain 14(in_a1) 43
+ 45: 7(fvec4) Load 44
+ Store 9(a1) 45
+ 46: 26(ptr) AccessChain 25(in_a2) 43
+ 47: 20(fvec2) Load 46
+ Store 22(a2) 47
+ 48: 8(ptr) AccessChain 33 16
+ Store 48 35
+ EmitVertex
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/iomap.blockOutVariableIn.vert.out b/Test/baseResults/iomap.blockOutVariableIn.vert.out
new file mode 100644
index 0000000..dd12cbc
--- /dev/null
+++ b/Test/baseResults/iomap.blockOutVariableIn.vert.out
@@ -0,0 +1,234 @@
+iomap.blockOutVariableIn.vert
+Shader version: 440
+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 float)
+0:11 a1: direct index for structure ( out 4-component vector of float)
+0:11 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
+0:11 Constant:
+0:11 0 (const uint)
+0:11 Constant:
+0:11 1.000000
+0:11 1.000000
+0:11 1.000000
+0:11 1.000000
+0:12 move second child to first child ( temp 2-component vector of float)
+0:12 a2: direct index for structure ( out 2-component vector of float)
+0:12 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
+0:12 Constant:
+0:12 1 (const uint)
+0:12 Constant:
+0:12 0.500000
+0:12 0.500000
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:13 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:13 Constant:
+0:13 0 (const uint)
+0:13 Constant:
+0:13 1.000000
+0:13 1.000000
+0:13 1.000000
+0:13 1.000000
+0:? Linker Objects
+0:? 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
+0:? 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+iomap.blockOutVariableIn.frag
+Shader version: 440
+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 float)
+0:10 'color' (layout( location=0) out 4-component vector of float)
+0:10 Construct vec4 ( temp 4-component vector of float)
+0:10 vector swizzle ( temp 2-component vector of float)
+0:10 'a1' (layout( location=0) smooth in 4-component vector of float)
+0:10 Sequence
+0:10 Constant:
+0:10 0 (const int)
+0:10 Constant:
+0:10 1 (const int)
+0:10 'a2' (layout( location=1) smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'a1' (layout( location=0) smooth in 4-component vector of float)
+0:? 'a2' (layout( location=1) smooth in 2-component vector of float)
+0:? 'color' (layout( location=0) out 4-component vector of float)
+
+
+Linked vertex stage:
+
+
+Linked fragment stage:
+
+
+Shader version: 440
+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 float)
+0:11 a1: direct index for structure ( out 4-component vector of float)
+0:11 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
+0:11 Constant:
+0:11 0 (const uint)
+0:11 Constant:
+0:11 1.000000
+0:11 1.000000
+0:11 1.000000
+0:11 1.000000
+0:12 move second child to first child ( temp 2-component vector of float)
+0:12 a2: direct index for structure ( out 2-component vector of float)
+0:12 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
+0:12 Constant:
+0:12 1 (const uint)
+0:12 Constant:
+0:12 0.500000
+0:12 0.500000
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:13 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:13 Constant:
+0:13 0 (const uint)
+0:13 Constant:
+0:13 1.000000
+0:13 1.000000
+0:13 1.000000
+0:13 1.000000
+0:? Linker Objects
+0:? 'anon@0' (layout( location=0) out block{ out 4-component vector of float a1, out 2-component vector of float a2})
+0:? 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+Shader version: 440
+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 float)
+0:10 'color' (layout( location=0) out 4-component vector of float)
+0:10 Construct vec4 ( temp 4-component vector of float)
+0:10 vector swizzle ( temp 2-component vector of float)
+0:10 'a1' (layout( location=0) smooth in 4-component vector of float)
+0:10 Sequence
+0:10 Constant:
+0:10 0 (const int)
+0:10 Constant:
+0:10 1 (const int)
+0:10 'a2' (layout( location=1) smooth in 2-component vector of float)
+0:? Linker Objects
+0:? 'a1' (layout( location=0) smooth in 4-component vector of float)
+0:? 'a2' (layout( location=1) smooth in 2-component vector of float)
+0:? 'color' (layout( location=0) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 8000a
+// Id's are bound by 33
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 11 28 31 32
+ Source GLSL 440
+ Name 4 "main"
+ Name 9 "Block"
+ MemberName 9(Block) 0 "a1"
+ MemberName 9(Block) 1 "a2"
+ Name 11 ""
+ Name 26 "gl_PerVertex"
+ MemberName 26(gl_PerVertex) 0 "gl_Position"
+ MemberName 26(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 26(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 28 ""
+ Name 31 "gl_VertexID"
+ Name 32 "gl_InstanceID"
+ Decorate 9(Block) Block
+ Decorate 11 Location 0
+ MemberDecorate 26(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 26(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 26(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 26(gl_PerVertex) Block
+ Decorate 31(gl_VertexID) BuiltIn VertexId
+ Decorate 32(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeVector 6(float) 2
+ 9(Block): TypeStruct 7(fvec4) 8(fvec2)
+ 10: TypePointer Output 9(Block)
+ 11: 10(ptr) Variable Output
+ 12: TypeInt 32 1
+ 13: 12(int) Constant 0
+ 14: 6(float) Constant 1065353216
+ 15: 7(fvec4) ConstantComposite 14 14 14 14
+ 16: TypePointer Output 7(fvec4)
+ 18: 12(int) Constant 1
+ 19: 6(float) Constant 1056964608
+ 20: 8(fvec2) ConstantComposite 19 19
+ 21: TypePointer Output 8(fvec2)
+ 23: TypeInt 32 0
+ 24: 23(int) Constant 1
+ 25: TypeArray 6(float) 24
+26(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 25
+ 27: TypePointer Output 26(gl_PerVertex)
+ 28: 27(ptr) Variable Output
+ 30: TypePointer Input 12(int)
+ 31(gl_VertexID): 30(ptr) Variable Input
+32(gl_InstanceID): 30(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 17: 16(ptr) AccessChain 11 13
+ Store 17 15
+ 22: 21(ptr) AccessChain 11 18
+ Store 22 20
+ 29: 16(ptr) AccessChain 28 13
+ Store 29 15
+ Return
+ FunctionEnd
+// Module Version 10000
+// Generated by (magic number): 8000a
+// Id's are bound by 23
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 9 11 16
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 440
+ Name 4 "main"
+ Name 9 "color"
+ Name 11 "a1"
+ Name 16 "a2"
+ Decorate 9(color) Location 0
+ Decorate 11(a1) Location 0
+ Decorate 16(a2) Location 1
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(color): 8(ptr) Variable Output
+ 10: TypePointer Input 7(fvec4)
+ 11(a1): 10(ptr) Variable Input
+ 12: TypeVector 6(float) 2
+ 15: TypePointer Input 12(fvec2)
+ 16(a2): 15(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ 13: 7(fvec4) Load 11(a1)
+ 14: 12(fvec2) VectorShuffle 13 13 0 1
+ 17: 12(fvec2) Load 16(a2)
+ 18: 6(float) CompositeExtract 14 0
+ 19: 6(float) CompositeExtract 14 1
+ 20: 6(float) CompositeExtract 17 0
+ 21: 6(float) CompositeExtract 17 1
+ 22: 7(fvec4) CompositeConstruct 18 19 20 21
+ Store 9(color) 22
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/iomap.variableOutBlockIn.2.vert.out b/Test/baseResults/iomap.variableOutBlockIn.2.vert.out
new file mode 100644
index 0000000..6ef7d4e
--- /dev/null
+++ b/Test/baseResults/iomap.variableOutBlockIn.2.vert.out
@@ -0,0 +1,276 @@
+iomap.variableOutBlockIn.2.vert
+Shader version: 440
+0:? Sequence
+0:6 Function Definition: main( ( global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 move second child to first child ( temp 4-component vector of float)
+0:8 'a1' (layout( location=0) smooth out 4-component vector of float)
+0:8 Constant:
+0:8 1.000000
+0:8 1.000000
+0:8 1.000000
+0:8 1.000000
+0:9 move second child to first child ( temp 2-component vector of float)
+0:9 'a2' (layout( location=1) smooth out 2-component vector of float)
+0:9 Constant:
+0:9 0.500000
+0:9 0.500000
+0:10 move second child to first child ( temp 4-component vector of float)
+0:10 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:10 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:10 Constant:
+0:10 0 (const uint)
+0:10 Constant:
+0:10 1.000000
+0:10 1.000000
+0:10 1.000000
+0:10 1.000000
+0:? Linker Objects
+0:? 'a1' (layout( location=0) smooth out 4-component vector of float)
+0:? 'a2' (layout( location=1) smooth out 2-component vector of float)
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+iomap.variableOutBlockIn.geom
+Shader version: 440
+invocations = -1
+max_vertices = 3
+input primitive = triangles
+output primitive = triangle_strip
+0:? Sequence
+0:14 Function Definition: main( ( global void)
+0:14 Function Parameters:
+0:16 Sequence
+0:16 move second child to first child ( temp 4-component vector of float)
+0:16 'a1' (layout( location=0 stream=0) out 4-component vector of float)
+0:16 Constant:
+0:16 1.000000
+0:16 1.000000
+0:16 1.000000
+0:16 1.000000
+0:17 move second child to first child ( temp 2-component vector of float)
+0:17 'a2' (layout( location=1 stream=0) out 2-component vector of float)
+0:17 Constant:
+0:17 0.500000
+0:17 0.500000
+0:18 move second child to first child ( temp 4-component vector of float)
+0:18 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
+0:18 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:18 Constant:
+0:18 0 (const uint)
+0:18 Constant:
+0:18 1.000000
+0:18 1.000000
+0:18 1.000000
+0:18 1.000000
+0:? Linker Objects
+0:? 'gin' (layout( location=0) in 3-element array of block{ in 4-component vector of float a1, in 2-component vector of float a2})
+0:? 'a1' (layout( location=0 stream=0) out 4-component vector of float)
+0:? 'a2' (layout( location=1 stream=0) out 2-component vector of float)
+0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
+
+
+Linked vertex stage:
+
+
+Linked geometry stage:
+
+
+Shader version: 440
+0:? Sequence
+0:6 Function Definition: main( ( global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 move second child to first child ( temp 4-component vector of float)
+0:8 'a1' (layout( location=0) smooth out 4-component vector of float)
+0:8 Constant:
+0:8 1.000000
+0:8 1.000000
+0:8 1.000000
+0:8 1.000000
+0:9 move second child to first child ( temp 2-component vector of float)
+0:9 'a2' (layout( location=1) smooth out 2-component vector of float)
+0:9 Constant:
+0:9 0.500000
+0:9 0.500000
+0:10 move second child to first child ( temp 4-component vector of float)
+0:10 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:10 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:10 Constant:
+0:10 0 (const uint)
+0:10 Constant:
+0:10 1.000000
+0:10 1.000000
+0:10 1.000000
+0:10 1.000000
+0:? Linker Objects
+0:? 'a1' (layout( location=0) smooth out 4-component vector of float)
+0:? 'a2' (layout( location=1) smooth out 2-component vector of float)
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+Shader version: 440
+invocations = 1
+max_vertices = 3
+input primitive = triangles
+output primitive = triangle_strip
+0:? Sequence
+0:14 Function Definition: main( ( global void)
+0:14 Function Parameters:
+0:16 Sequence
+0:16 move second child to first child ( temp 4-component vector of float)
+0:16 'a1' (layout( location=0 stream=0) out 4-component vector of float)
+0:16 Constant:
+0:16 1.000000
+0:16 1.000000
+0:16 1.000000
+0:16 1.000000
+0:17 move second child to first child ( temp 2-component vector of float)
+0:17 'a2' (layout( location=1 stream=0) out 2-component vector of float)
+0:17 Constant:
+0:17 0.500000
+0:17 0.500000
+0:18 move second child to first child ( temp 4-component vector of float)
+0:18 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
+0:18 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
+0:18 Constant:
+0:18 0 (const uint)
+0:18 Constant:
+0:18 1.000000
+0:18 1.000000
+0:18 1.000000
+0:18 1.000000
+0:? Linker Objects
+0:? 'gin' (layout( location=0) in 3-element array of block{ in 4-component vector of float a1, in 2-component vector of float a2})
+0:? 'a1' (layout( location=0 stream=0) out 4-component vector of float)
+0:? 'a2' (layout( location=1 stream=0) out 2-component vector of float)
+0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
+
+// Module Version 10000
+// Generated by (magic number): 8000a
+// Id's are bound by 29
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 9 14 22 27 28
+ Source GLSL 440
+ Name 4 "main"
+ Name 9 "a1"
+ Name 14 "a2"
+ Name 20 "gl_PerVertex"
+ MemberName 20(gl_PerVertex) 0 "gl_Position"
+ MemberName 20(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 20(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 22 ""
+ Name 27 "gl_VertexID"
+ Name 28 "gl_InstanceID"
+ Decorate 9(a1) Location 0
+ Decorate 14(a2) Location 1
+ MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 20(gl_PerVertex) Block
+ Decorate 27(gl_VertexID) BuiltIn VertexId
+ Decorate 28(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(a1): 8(ptr) Variable Output
+ 10: 6(float) Constant 1065353216
+ 11: 7(fvec4) ConstantComposite 10 10 10 10
+ 12: TypeVector 6(float) 2
+ 13: TypePointer Output 12(fvec2)
+ 14(a2): 13(ptr) Variable Output
+ 15: 6(float) Constant 1056964608
+ 16: 12(fvec2) ConstantComposite 15 15
+ 17: TypeInt 32 0
+ 18: 17(int) Constant 1
+ 19: TypeArray 6(float) 18
+20(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 19
+ 21: TypePointer Output 20(gl_PerVertex)
+ 22: 21(ptr) Variable Output
+ 23: TypeInt 32 1
+ 24: 23(int) Constant 0
+ 26: TypePointer Input 23(int)
+ 27(gl_VertexID): 26(ptr) Variable Input
+28(gl_InstanceID): 26(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ Store 9(a1) 11
+ Store 14(a2) 16
+ 25: 8(ptr) AccessChain 22 24
+ Store 25 11
+ Return
+ FunctionEnd
+// Module Version 10000
+// Generated by (magic number): 8000a
+// Id's are bound by 31
+
+ Capability Geometry
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Geometry 4 "main" 9 14 22 30
+ ExecutionMode 4 Triangles
+ ExecutionMode 4 Invocations 1
+ ExecutionMode 4 OutputTriangleStrip
+ ExecutionMode 4 OutputVertices 3
+ Source GLSL 440
+ Name 4 "main"
+ Name 9 "a1"
+ Name 14 "a2"
+ Name 20 "gl_PerVertex"
+ MemberName 20(gl_PerVertex) 0 "gl_Position"
+ MemberName 20(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 20(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 22 ""
+ Name 26 "Inputs"
+ MemberName 26(Inputs) 0 "a1"
+ MemberName 26(Inputs) 1 "a2"
+ Name 30 "gin"
+ Decorate 9(a1) Location 0
+ Decorate 14(a2) Location 1
+ MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 20(gl_PerVertex) Block
+ Decorate 26(Inputs) Block
+ Decorate 30(gin) Location 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(a1): 8(ptr) Variable Output
+ 10: 6(float) Constant 1065353216
+ 11: 7(fvec4) ConstantComposite 10 10 10 10
+ 12: TypeVector 6(float) 2
+ 13: TypePointer Output 12(fvec2)
+ 14(a2): 13(ptr) Variable Output
+ 15: 6(float) Constant 1056964608
+ 16: 12(fvec2) ConstantComposite 15 15
+ 17: TypeInt 32 0
+ 18: 17(int) Constant 1
+ 19: TypeArray 6(float) 18
+20(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 19
+ 21: TypePointer Output 20(gl_PerVertex)
+ 22: 21(ptr) Variable Output
+ 23: TypeInt 32 1
+ 24: 23(int) Constant 0
+ 26(Inputs): TypeStruct 7(fvec4) 12(fvec2)
+ 27: 17(int) Constant 3
+ 28: TypeArray 26(Inputs) 27
+ 29: TypePointer Input 28
+ 30(gin): 29(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ Store 9(a1) 11
+ Store 14(a2) 16
+ 25: 8(ptr) AccessChain 22 24
+ Store 25 11
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/iomap.variableOutBlockIn.vert.out b/Test/baseResults/iomap.variableOutBlockIn.vert.out
new file mode 100644
index 0000000..8fef640
--- /dev/null
+++ b/Test/baseResults/iomap.variableOutBlockIn.vert.out
@@ -0,0 +1,236 @@
+iomap.variableOutBlockIn.vert
+Shader version: 440
+0:? Sequence
+0:6 Function Definition: main( ( global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 move second child to first child ( temp 4-component vector of float)
+0:8 'a1' (layout( location=0) smooth out 4-component vector of float)
+0:8 Constant:
+0:8 1.000000
+0:8 1.000000
+0:8 1.000000
+0:8 1.000000
+0:9 move second child to first child ( temp 2-component vector of float)
+0:9 'a2' (layout( location=1) smooth out 2-component vector of float)
+0:9 Constant:
+0:9 0.500000
+0:9 0.500000
+0:10 move second child to first child ( temp 4-component vector of float)
+0:10 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:10 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:10 Constant:
+0:10 0 (const uint)
+0:10 Constant:
+0:10 1.000000
+0:10 1.000000
+0:10 1.000000
+0:10 1.000000
+0:? Linker Objects
+0:? 'a1' (layout( location=0) smooth out 4-component vector of float)
+0:? 'a2' (layout( location=1) smooth out 2-component vector of float)
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+iomap.variableOutBlockIn.frag
+Shader version: 440
+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 float)
+0:12 'color' (layout( location=0) out 4-component vector of float)
+0:12 Construct vec4 ( temp 4-component vector of float)
+0:12 vector swizzle ( temp 2-component vector of float)
+0:12 a1: direct index for structure ( in 4-component vector of float)
+0:12 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
+0:12 Constant:
+0:12 0 (const uint)
+0:12 Sequence
+0:12 Constant:
+0:12 0 (const int)
+0:12 Constant:
+0:12 1 (const int)
+0:12 a2: direct index for structure ( in 2-component vector of float)
+0:12 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
+0:12 Constant:
+0:12 1 (const uint)
+0:? Linker Objects
+0:? 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
+0:? 'color' (layout( location=0) out 4-component vector of float)
+
+
+Linked vertex stage:
+
+
+Linked fragment stage:
+
+
+Shader version: 440
+0:? Sequence
+0:6 Function Definition: main( ( global void)
+0:6 Function Parameters:
+0:8 Sequence
+0:8 move second child to first child ( temp 4-component vector of float)
+0:8 'a1' (layout( location=0) smooth out 4-component vector of float)
+0:8 Constant:
+0:8 1.000000
+0:8 1.000000
+0:8 1.000000
+0:8 1.000000
+0:9 move second child to first child ( temp 2-component vector of float)
+0:9 'a2' (layout( location=1) smooth out 2-component vector of float)
+0:9 Constant:
+0:9 0.500000
+0:9 0.500000
+0:10 move second child to first child ( temp 4-component vector of float)
+0:10 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:10 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:10 Constant:
+0:10 0 (const uint)
+0:10 Constant:
+0:10 1.000000
+0:10 1.000000
+0:10 1.000000
+0:10 1.000000
+0:? Linker Objects
+0:? 'a1' (layout( location=0) smooth out 4-component vector of float)
+0:? 'a2' (layout( location=1) smooth out 2-component vector of float)
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+Shader version: 440
+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 float)
+0:12 'color' (layout( location=0) out 4-component vector of float)
+0:12 Construct vec4 ( temp 4-component vector of float)
+0:12 vector swizzle ( temp 2-component vector of float)
+0:12 a1: direct index for structure ( in 4-component vector of float)
+0:12 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
+0:12 Constant:
+0:12 0 (const uint)
+0:12 Sequence
+0:12 Constant:
+0:12 0 (const int)
+0:12 Constant:
+0:12 1 (const int)
+0:12 a2: direct index for structure ( in 2-component vector of float)
+0:12 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
+0:12 Constant:
+0:12 1 (const uint)
+0:? Linker Objects
+0:? 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
+0:? 'color' (layout( location=0) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 8000a
+// Id's are bound by 29
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 9 14 22 27 28
+ Source GLSL 440
+ Name 4 "main"
+ Name 9 "a1"
+ Name 14 "a2"
+ Name 20 "gl_PerVertex"
+ MemberName 20(gl_PerVertex) 0 "gl_Position"
+ MemberName 20(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 20(gl_PerVertex) 2 "gl_ClipDistance"
+ Name 22 ""
+ Name 27 "gl_VertexID"
+ Name 28 "gl_InstanceID"
+ Decorate 9(a1) Location 0
+ Decorate 14(a2) Location 1
+ MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance
+ Decorate 20(gl_PerVertex) Block
+ Decorate 27(gl_VertexID) BuiltIn VertexId
+ Decorate 28(gl_InstanceID) BuiltIn InstanceId
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(a1): 8(ptr) Variable Output
+ 10: 6(float) Constant 1065353216
+ 11: 7(fvec4) ConstantComposite 10 10 10 10
+ 12: TypeVector 6(float) 2
+ 13: TypePointer Output 12(fvec2)
+ 14(a2): 13(ptr) Variable Output
+ 15: 6(float) Constant 1056964608
+ 16: 12(fvec2) ConstantComposite 15 15
+ 17: TypeInt 32 0
+ 18: 17(int) Constant 1
+ 19: TypeArray 6(float) 18
+20(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 19
+ 21: TypePointer Output 20(gl_PerVertex)
+ 22: 21(ptr) Variable Output
+ 23: TypeInt 32 1
+ 24: 23(int) Constant 0
+ 26: TypePointer Input 23(int)
+ 27(gl_VertexID): 26(ptr) Variable Input
+28(gl_InstanceID): 26(ptr) Variable Input
+ 4(main): 2 Function None 3
+ 5: Label
+ Store 9(a1) 11
+ Store 14(a2) 16
+ 25: 8(ptr) AccessChain 22 24
+ Store 25 11
+ Return
+ FunctionEnd
+// Module Version 10000
+// Generated by (magic number): 8000a
+// Id's are bound by 29
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 9 13
+ ExecutionMode 4 OriginLowerLeft
+ Source GLSL 440
+ Name 4 "main"
+ Name 9 "color"
+ Name 11 "Inputs"
+ MemberName 11(Inputs) 0 "a1"
+ MemberName 11(Inputs) 1 "a2"
+ Name 13 ""
+ Decorate 9(color) Location 0
+ Decorate 11(Inputs) Block
+ Decorate 13 Location 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Output 7(fvec4)
+ 9(color): 8(ptr) Variable Output
+ 10: TypeVector 6(float) 2
+ 11(Inputs): TypeStruct 7(fvec4) 10(fvec2)
+ 12: TypePointer Input 11(Inputs)
+ 13: 12(ptr) Variable Input
+ 14: TypeInt 32 1
+ 15: 14(int) Constant 0
+ 16: TypePointer Input 7(fvec4)
+ 20: 14(int) Constant 1
+ 21: TypePointer Input 10(fvec2)
+ 4(main): 2 Function None 3
+ 5: Label
+ 17: 16(ptr) AccessChain 13 15
+ 18: 7(fvec4) Load 17
+ 19: 10(fvec2) VectorShuffle 18 18 0 1
+ 22: 21(ptr) AccessChain 13 20
+ 23: 10(fvec2) Load 22
+ 24: 6(float) CompositeExtract 19 0
+ 25: 6(float) CompositeExtract 19 1
+ 26: 6(float) CompositeExtract 23 0
+ 27: 6(float) CompositeExtract 23 1
+ 28: 7(fvec4) CompositeConstruct 24 25 26 27
+ Store 9(color) 28
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/link.redeclareBuiltin.vert.out b/Test/baseResults/link.redeclareBuiltin.vert.out
new file mode 100644
index 0000000..2cd42b9
--- /dev/null
+++ b/Test/baseResults/link.redeclareBuiltin.vert.out
@@ -0,0 +1,154 @@
+link.redeclareBuiltin.vert
+Shader version: 410
+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 float)
+0:10 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:10 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position})
+0:10 Constant:
+0:10 0 (const uint)
+0:10 Constant:
+0:10 1.000000
+0:10 1.000000
+0:10 1.000000
+0:10 1.000000
+0:? Linker Objects
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+link.redeclareBuiltin.geom
+Shader version: 410
+invocations = -1
+max_vertices = 3
+input primitive = triangles
+output primitive = triangle_strip
+0:? Sequence
+0:11 Function Definition: main( ( global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
+0:13 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:13 Constant:
+0:13 0 (const uint)
+0:13 gl_Position: direct index for structure ( in 4-component vector of float Position)
+0:13 direct index ( temp block{ in 4-component vector of float Position gl_Position})
+0:13 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position})
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 0 (const int)
+0:14 EmitVertex ( global void)
+0:16 move second child to first child ( temp 4-component vector of float)
+0:16 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
+0:16 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:16 Constant:
+0:16 0 (const uint)
+0:16 gl_Position: direct index for structure ( in 4-component vector of float Position)
+0:16 direct index ( temp block{ in 4-component vector of float Position gl_Position})
+0:16 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position})
+0:16 Constant:
+0:16 1 (const int)
+0:16 Constant:
+0:16 0 (const int)
+0:17 EmitVertex ( global void)
+0:19 move second child to first child ( temp 4-component vector of float)
+0:19 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
+0:19 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:19 Constant:
+0:19 0 (const uint)
+0:19 gl_Position: direct index for structure ( in 4-component vector of float Position)
+0:19 direct index ( temp block{ in 4-component vector of float Position gl_Position})
+0:19 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position})
+0:19 Constant:
+0:19 2 (const int)
+0:19 Constant:
+0:19 0 (const int)
+0:20 EmitVertex ( global void)
+0:22 EndPrimitive ( global void)
+0:? Linker Objects
+0:? 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position})
+0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance})
+
+
+Linked vertex stage:
+
+
+Linked geometry stage:
+
+
+Shader version: 410
+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 float)
+0:10 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:10 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position})
+0:10 Constant:
+0:10 0 (const uint)
+0:10 Constant:
+0:10 1.000000
+0:10 1.000000
+0:10 1.000000
+0:10 1.000000
+0:? Linker Objects
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+Shader version: 410
+invocations = 1
+max_vertices = 3
+input primitive = triangles
+output primitive = triangle_strip
+0:? Sequence
+0:11 Function Definition: main( ( global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
+0:13 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
+0:13 Constant:
+0:13 0 (const uint)
+0:13 gl_Position: direct index for structure ( in 4-component vector of float Position)
+0:13 direct index ( temp block{ in 4-component vector of float Position gl_Position})
+0:13 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position})
+0:13 Constant:
+0:13 0 (const int)
+0:13 Constant:
+0:13 0 (const int)
+0:14 EmitVertex ( global void)
+0:16 move second child to first child ( temp 4-component vector of float)
+0:16 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
+0:16 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
+0:16 Constant:
+0:16 0 (const uint)
+0:16 gl_Position: direct index for structure ( in 4-component vector of float Position)
+0:16 direct index ( temp block{ in 4-component vector of float Position gl_Position})
+0:16 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position})
+0:16 Constant:
+0:16 1 (const int)
+0:16 Constant:
+0:16 0 (const int)
+0:17 EmitVertex ( global void)
+0:19 move second child to first child ( temp 4-component vector of float)
+0:19 gl_Position: direct index for structure (layout( stream=0) gl_Position 4-component vector of float Position)
+0:19 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
+0:19 Constant:
+0:19 0 (const uint)
+0:19 gl_Position: direct index for structure ( in 4-component vector of float Position)
+0:19 direct index ( temp block{ in 4-component vector of float Position gl_Position})
+0:19 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position})
+0:19 Constant:
+0:19 2 (const int)
+0:19 Constant:
+0:19 0 (const int)
+0:20 EmitVertex ( global void)
+0:22 EndPrimitive ( global void)
+0:? Linker Objects
+0:? 'gl_in' ( in 3-element array of block{ in 4-component vector of float Position gl_Position})
+0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance})
+
diff --git a/Test/baseResults/link.tesselation.tese.out b/Test/baseResults/link.tesselation.tese.out
new file mode 100644
index 0000000..056459f
--- /dev/null
+++ b/Test/baseResults/link.tesselation.tese.out
@@ -0,0 +1,254 @@
+link.tesselation.tese
+Shader version: 440
+input primitive = triangles
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+0:? Sequence
+0:15 Function Definition: main( ( global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child ( temp float)
+0:17 'u' ( temp float)
+0:17 direct index ( temp float)
+0:17 'gl_TessCoord' ( in 3-component vector of float TessCoord)
+0:17 Constant:
+0:17 0 (const int)
+0:18 Sequence
+0:18 move second child to first child ( temp float)
+0:18 'v' ( temp float)
+0:18 direct index ( temp float)
+0:18 'gl_TessCoord' ( in 3-component vector of float TessCoord)
+0:18 Constant:
+0:18 1 (const int)
+0:19 Sequence
+0:19 move second child to first child ( temp float)
+0:19 'w' ( temp float)
+0:19 direct index ( temp float)
+0:19 'gl_TessCoord' ( in 3-component vector of float TessCoord)
+0:19 Constant:
+0:19 2 (const int)
+0:21 Sequence
+0:21 move second child to first child ( temp 2-component vector of float)
+0:21 'newUv' ( temp 2-component vector of float)
+0:21 Construct vec2 ( temp 2-component vector of float)
+0:21 add ( temp 2-component vector of float)
+0:21 add ( temp 2-component vector of float)
+0:21 vector-scale ( temp 2-component vector of float)
+0:21 'u' ( temp float)
+0:21 texCoord: direct index for structure ( in 2-component vector of float)
+0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
+0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
+0:21 Constant:
+0:21 0 (const int)
+0:21 Constant:
+0:21 0 (const int)
+0:21 vector-scale ( temp 2-component vector of float)
+0:21 'v' ( temp float)
+0:21 texCoord: direct index for structure ( in 2-component vector of float)
+0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
+0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
+0:21 Constant:
+0:21 1 (const int)
+0:21 Constant:
+0:21 0 (const int)
+0:21 vector-scale ( temp 2-component vector of float)
+0:21 'w' ( temp float)
+0:21 texCoord: direct index for structure ( in 2-component vector of float)
+0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
+0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
+0:21 Constant:
+0:21 2 (const int)
+0:21 Constant:
+0:21 0 (const int)
+0:22 move second child to first child ( temp 2-component vector of float)
+0:22 texCoord: direct index for structure ( out 2-component vector of float)
+0:22 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
+0:22 Constant:
+0:22 0 (const int)
+0:22 'newUv' ( temp 2-component vector of float)
+0:23 move second child to first child ( temp 4-component vector of float)
+0:23 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:23 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:23 Constant:
+0:23 0 (const uint)
+0:23 gl_Position: direct index for structure ( in 4-component vector of float Position)
+0:23 indirect index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:23 'gl_PatchVerticesIn' ( in int PatchVertices)
+0:23 Constant:
+0:23 0 (const int)
+0:? Linker Objects
+0:? 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
+0:? 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+
+link.tesselation.tesc
+Shader version: 440
+vertices = 3
+0:? Sequence
+0:14 Function Definition: main( ( global void)
+0:14 Function Parameters:
+0:16 Sequence
+0:16 move second child to first child ( temp 2-component vector of float)
+0:16 texCoord: direct index for structure ( out 2-component vector of float)
+0:16 indirect index (layout( location=0) temp block{ out 2-component vector of float texCoord})
+0:16 'OUT' (layout( location=0) out 3-element array of block{ out 2-component vector of float texCoord})
+0:16 'gl_InvocationID' ( in int InvocationID)
+0:16 Constant:
+0:16 0 (const int)
+0:16 texCoord: direct index for structure ( in 2-component vector of float)
+0:16 indirect index (layout( location=0) temp block{ in 2-component vector of float texCoord})
+0:16 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
+0:16 'gl_InvocationID' ( in int InvocationID)
+0:16 Constant:
+0:16 0 (const int)
+0:18 Sequence
+0:18 move second child to first child ( temp float)
+0:18 'tessLevel' ( temp float)
+0:18 Constant:
+0:18 10.000000
+0:19 move second child to first child ( temp float)
+0:19 indirect index ( patch temp float TessLevelOuter)
+0:19 'gl_TessLevelOuter' ( patch out 4-element array of float TessLevelOuter)
+0:19 'gl_InvocationID' ( in int InvocationID)
+0:19 'tessLevel' ( temp float)
+0:20 move second child to first child ( temp float)
+0:20 direct index ( patch temp float TessLevelInner)
+0:20 'gl_TessLevelInner' ( patch out 2-element array of float TessLevelInner)
+0:20 Constant:
+0:20 0 (const int)
+0:20 'tessLevel' ( temp float)
+0:? Linker Objects
+0:? 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
+0:? 'OUT' (layout( location=0) out 3-element array of block{ out 2-component vector of float texCoord})
+
+
+Linked tessellation control stage:
+
+
+Linked tessellation evaluation stage:
+
+
+Shader version: 440
+vertices = 3
+0:? Sequence
+0:14 Function Definition: main( ( global void)
+0:14 Function Parameters:
+0:16 Sequence
+0:16 move second child to first child ( temp 2-component vector of float)
+0:16 texCoord: direct index for structure ( out 2-component vector of float)
+0:16 indirect index (layout( location=0) temp block{ out 2-component vector of float texCoord})
+0:16 'OUT' (layout( location=0) out 3-element array of block{ out 2-component vector of float texCoord})
+0:16 'gl_InvocationID' ( in int InvocationID)
+0:16 Constant:
+0:16 0 (const int)
+0:16 texCoord: direct index for structure ( in 2-component vector of float)
+0:16 indirect index (layout( location=0) temp block{ in 2-component vector of float texCoord})
+0:16 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
+0:16 'gl_InvocationID' ( in int InvocationID)
+0:16 Constant:
+0:16 0 (const int)
+0:18 Sequence
+0:18 move second child to first child ( temp float)
+0:18 'tessLevel' ( temp float)
+0:18 Constant:
+0:18 10.000000
+0:19 move second child to first child ( temp float)
+0:19 indirect index ( patch temp float TessLevelOuter)
+0:19 'gl_TessLevelOuter' ( patch out 4-element array of float TessLevelOuter)
+0:19 'gl_InvocationID' ( in int InvocationID)
+0:19 'tessLevel' ( temp float)
+0:20 move second child to first child ( temp float)
+0:20 direct index ( patch temp float TessLevelInner)
+0:20 'gl_TessLevelInner' ( patch out 2-element array of float TessLevelInner)
+0:20 Constant:
+0:20 0 (const int)
+0:20 'tessLevel' ( temp float)
+0:? Linker Objects
+0:? 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
+0:? 'OUT' (layout( location=0) out 3-element array of block{ out 2-component vector of float texCoord})
+Shader version: 440
+input primitive = triangles
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+0:? Sequence
+0:15 Function Definition: main( ( global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child ( temp float)
+0:17 'u' ( temp float)
+0:17 direct index ( temp float)
+0:17 'gl_TessCoord' ( in 3-component vector of float TessCoord)
+0:17 Constant:
+0:17 0 (const int)
+0:18 Sequence
+0:18 move second child to first child ( temp float)
+0:18 'v' ( temp float)
+0:18 direct index ( temp float)
+0:18 'gl_TessCoord' ( in 3-component vector of float TessCoord)
+0:18 Constant:
+0:18 1 (const int)
+0:19 Sequence
+0:19 move second child to first child ( temp float)
+0:19 'w' ( temp float)
+0:19 direct index ( temp float)
+0:19 'gl_TessCoord' ( in 3-component vector of float TessCoord)
+0:19 Constant:
+0:19 2 (const int)
+0:21 Sequence
+0:21 move second child to first child ( temp 2-component vector of float)
+0:21 'newUv' ( temp 2-component vector of float)
+0:21 Construct vec2 ( temp 2-component vector of float)
+0:21 add ( temp 2-component vector of float)
+0:21 add ( temp 2-component vector of float)
+0:21 vector-scale ( temp 2-component vector of float)
+0:21 'u' ( temp float)
+0:21 texCoord: direct index for structure ( in 2-component vector of float)
+0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
+0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
+0:21 Constant:
+0:21 0 (const int)
+0:21 Constant:
+0:21 0 (const int)
+0:21 vector-scale ( temp 2-component vector of float)
+0:21 'v' ( temp float)
+0:21 texCoord: direct index for structure ( in 2-component vector of float)
+0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
+0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
+0:21 Constant:
+0:21 1 (const int)
+0:21 Constant:
+0:21 0 (const int)
+0:21 vector-scale ( temp 2-component vector of float)
+0:21 'w' ( temp float)
+0:21 texCoord: direct index for structure ( in 2-component vector of float)
+0:21 direct index (layout( location=0) temp block{ in 2-component vector of float texCoord})
+0:21 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
+0:21 Constant:
+0:21 2 (const int)
+0:21 Constant:
+0:21 0 (const int)
+0:22 move second child to first child ( temp 2-component vector of float)
+0:22 texCoord: direct index for structure ( out 2-component vector of float)
+0:22 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
+0:22 Constant:
+0:22 0 (const int)
+0:22 'newUv' ( temp 2-component vector of float)
+0:23 move second child to first child ( temp 4-component vector of float)
+0:23 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:23 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:23 Constant:
+0:23 0 (const uint)
+0:23 gl_Position: direct index for structure ( in 4-component vector of float Position)
+0:23 indirect index ( temp block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:23 'gl_in' ( in 32-element array of block{ in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
+0:23 'gl_PatchVerticesIn' ( in int PatchVertices)
+0:23 Constant:
+0:23 0 (const int)
+0:? Linker Objects
+0:? 'IN' (layout( location=0) in 32-element array of block{ in 2-component vector of float texCoord})
+0:? 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+
diff --git a/Test/baseResults/link.tesselation.vert.out b/Test/baseResults/link.tesselation.vert.out
new file mode 100644
index 0000000..d56c340
--- /dev/null
+++ b/Test/baseResults/link.tesselation.vert.out
@@ -0,0 +1,94 @@
+link.tesselation.vert
+Shader version: 440
+0:? Sequence
+0:11 Function Definition: main( ( global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:13 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:13 Constant:
+0:13 0 (const uint)
+0:13 'i_Pos' (layout( location=0) in 4-component vector of float)
+0:14 move second child to first child ( temp 2-component vector of float)
+0:14 texCoord: direct index for structure ( out 2-component vector of float)
+0:14 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
+0:14 Constant:
+0:14 0 (const int)
+0:14 'i_Tex' (layout( location=1) in 2-component vector of float)
+0:? Linker Objects
+0:? 'i_Pos' (layout( location=0) in 4-component vector of float)
+0:? 'i_Tex' (layout( location=1) in 2-component vector of float)
+0:? 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+link.tesselation.frag
+Shader version: 440
+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 4-component vector of float)
+0:14 'oColor' (layout( location=0) out 4-component vector of float)
+0:14 texture ( global 4-component vector of float)
+0:14 'mytex' (layout( binding=0) uniform sampler2D)
+0:14 texCoord: direct index for structure ( in 2-component vector of float)
+0:14 'IN' (layout( location=0) in block{ in 2-component vector of float texCoord})
+0:14 Constant:
+0:14 0 (const int)
+0:? Linker Objects
+0:? 'IN' (layout( location=0) in block{ in 2-component vector of float texCoord})
+0:? 'oColor' (layout( location=0) out 4-component vector of float)
+0:? 'mytex' (layout( binding=0) uniform sampler2D)
+
+
+Linked vertex stage:
+
+
+Linked fragment stage:
+
+
+Shader version: 440
+0:? Sequence
+0:11 Function Definition: main( ( global void)
+0:11 Function Parameters:
+0:13 Sequence
+0:13 move second child to first child ( temp 4-component vector of float)
+0:13 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
+0:13 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:13 Constant:
+0:13 0 (const uint)
+0:13 'i_Pos' (layout( location=0) in 4-component vector of float)
+0:14 move second child to first child ( temp 2-component vector of float)
+0:14 texCoord: direct index for structure ( out 2-component vector of float)
+0:14 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
+0:14 Constant:
+0:14 0 (const int)
+0:14 'i_Tex' (layout( location=1) in 2-component vector of float)
+0:? Linker Objects
+0:? 'i_Pos' (layout( location=0) in 4-component vector of float)
+0:? 'i_Tex' (layout( location=1) in 2-component vector of float)
+0:? 'OUT' (layout( location=0) out block{ out 2-component vector of float texCoord})
+0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
+0:? 'gl_VertexID' ( gl_VertexId int VertexId)
+0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
+Shader version: 440
+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 4-component vector of float)
+0:14 'oColor' (layout( location=0) out 4-component vector of float)
+0:14 texture ( global 4-component vector of float)
+0:14 'mytex' (layout( binding=0) uniform sampler2D)
+0:14 texCoord: direct index for structure ( in 2-component vector of float)
+0:14 'IN' (layout( location=0) in block{ in 2-component vector of float texCoord})
+0:14 Constant:
+0:14 0 (const int)
+0:? Linker Objects
+0:? 'IN' (layout( location=0) in block{ in 2-component vector of float texCoord})
+0:? 'oColor' (layout( location=0) out 4-component vector of float)
+0:? 'mytex' (layout( binding=0) uniform sampler2D)
+
diff --git a/Test/baseResults/noMatchingFunction.frag.out b/Test/baseResults/noMatchingFunction.frag.out
new file mode 100644
index 0000000..85aa3f6
--- /dev/null
+++ b/Test/baseResults/noMatchingFunction.frag.out
@@ -0,0 +1,52 @@
+noMatchingFunction.frag
+ERROR: 0:17: 'func' : no matching overloaded function found
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 330
+ERROR: node is still EOpNull!
+0:8 Function Definition: func(struct-S-f11; ( global float)
+0:8 Function Parameters:
+0:8 's' ( in structure{ global float a})
+0:10 Sequence
+0:10 Branch: Return with expression
+0:10 a: direct index for structure ( global float)
+0:10 's' ( in structure{ global float a})
+0:10 Constant:
+0:10 0 (const int)
+0:15 Function Definition: main( ( global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child ( temp float)
+0:17 'c' ( temp float)
+0:17 Constant:
+0:17 0.000000
+0:18 move second child to first child ( temp 4-component vector of float)
+0:18 'o_color' (layout( location=0) out 4-component vector of float)
+0:18 Construct vec4 ( temp 4-component vector of float)
+0:18 'c' ( temp float)
+0:? Linker Objects
+0:? 'o_color' (layout( location=0) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 330
+ERROR: node is still EOpNull!
+0:15 Function Definition: main( ( global void)
+0:15 Function Parameters:
+0:17 Sequence
+0:17 Sequence
+0:17 move second child to first child ( temp float)
+0:17 'c' ( temp float)
+0:17 Constant:
+0:17 0.000000
+0:18 move second child to first child ( temp 4-component vector of float)
+0:18 'o_color' (layout( location=0) out 4-component vector of float)
+0:18 Construct vec4 ( temp 4-component vector of float)
+0:18 'c' ( temp float)
+0:? Linker Objects
+0:? 'o_color' (layout( location=0) out 4-component vector of float)
+
diff --git a/Test/baseResults/rayQuery.rgen.out b/Test/baseResults/rayQuery.rgen.out
index 80e9916..06a1a5a 100644
--- a/Test/baseResults/rayQuery.rgen.out
+++ b/Test/baseResults/rayQuery.rgen.out
@@ -28,8 +28,6 @@
MemberDecorate 26(block) 0 Offset 0
MemberDecorate 26(block) 1 Offset 16
Decorate 26(block) BufferBlock
- Decorate 28 DescriptorSet 0
- Decorate 28 Binding 1
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
diff --git a/Test/baseResults/remap.uniformarray.everything.frag.out b/Test/baseResults/remap.uniformarray.everything.frag.out
index bebff93..ee1daa7 100644
--- a/Test/baseResults/remap.uniformarray.everything.frag.out
+++ b/Test/baseResults/remap.uniformarray.everything.frag.out
@@ -28,14 +28,17 @@
24: TypeVector 13(float) 3
661: TypePointer Input 24(fvec3)
4957: 661(ptr) Variable Input
+ 2570: 11(int) Constant 0
+ 650: TypePointer Function 13(float)
+ 2573: 11(int) Constant 1
+ 2576: 11(int) Constant 2
2618: 11(int) Constant 16
- 669: TypeArray 13(float) 2618
- 1306: TypePointer Input 669
- 4339: 1306(ptr) Variable Input
+ 709: TypeArray 13(float) 2618
+ 1346: TypePointer Input 709
+ 4339: 1346(ptr) Variable Input
2607: 12(int) Constant 12
- 650: TypePointer Input 13(float)
+ 651: TypePointer Input 13(float)
2579: 11(int) Constant 3
- 651: TypePointer Function 13(float)
668: TypePointer Output 29(fvec4)
5139: 668(ptr) Variable Output
5663: 8 Function None 1282
@@ -49,17 +52,23 @@
Store 4902 23084
21218: 24(fvec3) Load 4957
13695: 29(fvec4) Load 4902
- 23883: 24(fvec3) VectorShuffle 13695 13695 0 1 2
- 15591: 24(fvec3) FAdd 23883 21218
- 17086: 29(fvec4) Load 4902
- 7051: 29(fvec4) VectorShuffle 17086 15591 4 5 6 3
- Store 4902 7051
- 18282: 650(ptr) AccessChain 4339 2607
- 7372: 13(float) Load 18282
- 21371: 651(ptr) AccessChain 4902 2579
+ 23959: 24(fvec3) VectorShuffle 13695 13695 0 1 2
+ 14937: 24(fvec3) FAdd 23959 21218
+ 15653: 650(ptr) AccessChain 4902 2570
+ 21354: 13(float) CompositeExtract 14937 0
+ Store 15653 21354
+ 16378: 650(ptr) AccessChain 4902 2573
+ 15746: 13(float) CompositeExtract 14937 1
+ Store 16378 15746
+ 16379: 650(ptr) AccessChain 4902 2576
+ 15747: 13(float) CompositeExtract 14937 2
+ Store 16379 15747
+ 19895: 651(ptr) AccessChain 4339 2607
+ 7372: 13(float) Load 19895
+ 21371: 650(ptr) AccessChain 4902 2579
11412: 13(float) Load 21371
22584: 13(float) FAdd 11412 7372
- 17318: 651(ptr) AccessChain 4902 2579
+ 17318: 650(ptr) AccessChain 4902 2579
Store 17318 22584
17934: 29(fvec4) Load 4902
Store 5139 17934
diff --git a/Test/baseResults/remap.uniformarray.none.frag.out b/Test/baseResults/remap.uniformarray.none.frag.out
index 6bd58d2..00e1f57 100644
--- a/Test/baseResults/remap.uniformarray.none.frag.out
+++ b/Test/baseResults/remap.uniformarray.none.frag.out
@@ -1,27 +1,27 @@
remap.uniformarray.none.frag
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 53
+// Id's are bound by 60
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 14 25 35 47
+ EntryPoint Fragment 4 "main" 14 25 43 54
ExecutionMode 4 OriginUpperLeft
Source GLSL 140
Name 4 "main"
Name 9 "texColor"
Name 14 "color"
Name 25 "inColor"
- Name 35 "alpha"
- Name 47 "gl_FragColor"
- Name 52 "texSampler2D"
+ Name 43 "alpha"
+ Name 54 "gl_FragColor"
+ Name 59 "texSampler2D"
Decorate 14(color) Location 1
Decorate 25(inColor) Location 0
- Decorate 35(alpha) Location 7
- Decorate 47(gl_FragColor) Location 0
- Decorate 52(texSampler2D) DescriptorSet 0
- Decorate 52(texSampler2D) Binding 0
+ Decorate 43(alpha) Location 7
+ Decorate 54(gl_FragColor) Location 0
+ Decorate 59(texSampler2D) DescriptorSet 0
+ Decorate 59(texSampler2D) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -38,20 +38,23 @@
23: TypeVector 6(float) 3
24: TypePointer Input 23(fvec3)
25(inColor): 24(ptr) Variable Input
- 32: 10(int) Constant 16
- 33: TypeArray 6(float) 32
- 34: TypePointer Input 33
- 35(alpha): 34(ptr) Variable Input
- 36: 15(int) Constant 12
- 37: TypePointer Input 6(float)
- 40: 10(int) Constant 3
- 41: TypePointer Function 6(float)
- 46: TypePointer Output 7(fvec4)
-47(gl_FragColor): 46(ptr) Variable Output
- 49: TypeImage 6(float) 2D sampled format:Unknown
- 50: TypeSampledImage 49
- 51: TypePointer UniformConstant 50
-52(texSampler2D): 51(ptr) Variable UniformConstant
+ 30: 10(int) Constant 0
+ 31: TypePointer Function 6(float)
+ 34: 10(int) Constant 1
+ 37: 10(int) Constant 2
+ 40: 10(int) Constant 16
+ 41: TypeArray 6(float) 40
+ 42: TypePointer Input 41
+ 43(alpha): 42(ptr) Variable Input
+ 44: 15(int) Constant 12
+ 45: TypePointer Input 6(float)
+ 48: 10(int) Constant 3
+ 53: TypePointer Output 7(fvec4)
+54(gl_FragColor): 53(ptr) Variable Output
+ 56: TypeImage 6(float) 2D sampled format:Unknown
+ 57: TypeSampledImage 56
+ 58: TypePointer UniformConstant 57
+59(texSampler2D): 58(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(texColor): 8(ptr) Variable Function
@@ -65,17 +68,23 @@
27: 7(fvec4) Load 9(texColor)
28: 23(fvec3) VectorShuffle 27 27 0 1 2
29: 23(fvec3) FAdd 28 26
- 30: 7(fvec4) Load 9(texColor)
- 31: 7(fvec4) VectorShuffle 30 29 4 5 6 3
- Store 9(texColor) 31
- 38: 37(ptr) AccessChain 35(alpha) 36
- 39: 6(float) Load 38
- 42: 41(ptr) AccessChain 9(texColor) 40
- 43: 6(float) Load 42
- 44: 6(float) FAdd 43 39
- 45: 41(ptr) AccessChain 9(texColor) 40
- Store 45 44
- 48: 7(fvec4) Load 9(texColor)
- Store 47(gl_FragColor) 48
+ 32: 31(ptr) AccessChain 9(texColor) 30
+ 33: 6(float) CompositeExtract 29 0
+ Store 32 33
+ 35: 31(ptr) AccessChain 9(texColor) 34
+ 36: 6(float) CompositeExtract 29 1
+ Store 35 36
+ 38: 31(ptr) AccessChain 9(texColor) 37
+ 39: 6(float) CompositeExtract 29 2
+ Store 38 39
+ 46: 45(ptr) AccessChain 43(alpha) 44
+ 47: 6(float) Load 46
+ 49: 31(ptr) AccessChain 9(texColor) 48
+ 50: 6(float) Load 49
+ 51: 6(float) FAdd 50 47
+ 52: 31(ptr) AccessChain 9(texColor) 48
+ Store 52 51
+ 55: 7(fvec4) Load 9(texColor)
+ Store 54(gl_FragColor) 55
Return
FunctionEnd
diff --git a/Test/baseResults/spv.1.4.OpEntryPoint.frag.out b/Test/baseResults/spv.1.4.OpEntryPoint.frag.out
index cf5d98a..e43e954 100644
--- a/Test/baseResults/spv.1.4.OpEntryPoint.frag.out
+++ b/Test/baseResults/spv.1.4.OpEntryPoint.frag.out
@@ -31,7 +31,6 @@
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
diff --git a/Test/baseResults/spv.1.6.conditionalDiscard.frag.out b/Test/baseResults/spv.1.6.conditionalDiscard.frag.out
new file mode 100644
index 0000000..f538fd9
--- /dev/null
+++ b/Test/baseResults/spv.1.6.conditionalDiscard.frag.out
@@ -0,0 +1,60 @@
+spv.1.6.conditionalDiscard.frag
+// Module Version 10600
+// Generated by (magic number): 8000a
+// Id's are bound by 36
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 13 17 34
+ ExecutionMode 4 OriginUpperLeft
+ Source GLSL 400
+ Name 4 "main"
+ Name 9 "v"
+ Name 13 "tex"
+ Name 17 "coord"
+ Name 34 "gl_FragColor"
+ Decorate 13(tex) DescriptorSet 0
+ Decorate 13(tex) Binding 0
+ Decorate 17(coord) Location 0
+ Decorate 34(gl_FragColor) Location 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypePointer Function 7(fvec4)
+ 10: TypeImage 6(float) 2D sampled format:Unknown
+ 11: TypeSampledImage 10
+ 12: TypePointer UniformConstant 11
+ 13(tex): 12(ptr) Variable UniformConstant
+ 15: TypeVector 6(float) 2
+ 16: TypePointer Input 15(fvec2)
+ 17(coord): 16(ptr) Variable Input
+ 21: 6(float) Constant 1036831949
+ 22: 6(float) Constant 1045220557
+ 23: 6(float) Constant 1050253722
+ 24: 6(float) Constant 1053609165
+ 25: 7(fvec4) ConstantComposite 21 22 23 24
+ 26: TypeBool
+ 27: TypeVector 26(bool) 4
+ 33: TypePointer Output 7(fvec4)
+34(gl_FragColor): 33(ptr) Variable Output
+ 4(main): 2 Function None 3
+ 5: Label
+ 9(v): 8(ptr) Variable Function
+ 14: 11 Load 13(tex)
+ 18: 15(fvec2) Load 17(coord)
+ 19: 7(fvec4) ImageSampleImplicitLod 14 18
+ Store 9(v) 19
+ 20: 7(fvec4) Load 9(v)
+ 28: 27(bvec4) FOrdEqual 20 25
+ 29: 26(bool) All 28
+ SelectionMerge 31 None
+ BranchConditional 29 30 31
+ 30: Label
+ TerminateInvocation
+ 31: Label
+ 35: 7(fvec4) Load 9(v)
+ Store 34(gl_FragColor) 35
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.1.6.helperInvocation.frag.out b/Test/baseResults/spv.1.6.helperInvocation.frag.out
new file mode 100644
index 0000000..7df2a2a
--- /dev/null
+++ b/Test/baseResults/spv.1.6.helperInvocation.frag.out
@@ -0,0 +1,41 @@
+spv.1.6.helperInvocation.frag
+// Module Version 10600
+// Generated by (magic number): 8000a
+// Id's are bound by 20
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Fragment 4 "main" 8 15
+ ExecutionMode 4 OriginUpperLeft
+ Source ESSL 310
+ Name 4 "main"
+ Name 8 "gl_HelperInvocation"
+ Name 15 "outp"
+ Decorate 8(gl_HelperInvocation) BuiltIn HelperInvocation
+ Decorate 8(gl_HelperInvocation) Volatile
+ Decorate 15(outp) Location 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeBool
+ 7: TypePointer Input 6(bool)
+8(gl_HelperInvocation): 7(ptr) Variable Input
+ 12: TypeFloat 32
+ 13: TypeVector 12(float) 4
+ 14: TypePointer Output 13(fvec4)
+ 15(outp): 14(ptr) Variable Output
+ 17: 12(float) Constant 1065353216
+ 4(main): 2 Function None 3
+ 5: Label
+ 9: 6(bool) Load 8(gl_HelperInvocation)
+ SelectionMerge 11 None
+ BranchConditional 9 10 11
+ 10: Label
+ 16: 13(fvec4) Load 15(outp)
+ 18: 13(fvec4) CompositeConstruct 17 17 17 17
+ 19: 13(fvec4) FAdd 16 18
+ Store 15(outp) 19
+ Branch 11
+ 11: Label
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.1.6.specConstant.comp.out b/Test/baseResults/spv.1.6.specConstant.comp.out
new file mode 100644
index 0000000..7485f04
--- /dev/null
+++ b/Test/baseResults/spv.1.6.specConstant.comp.out
@@ -0,0 +1,69 @@
+spv.1.6.specConstant.comp
+// Module Version 10600
+// Generated by (magic number): 8000a
+// Id's are bound by 39
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint GLCompute 4 "main" 18
+ ExecutionModeId 4 LocalSizeId 7 8 9
+ Source GLSL 450
+ Name 4 "main"
+ Name 14 "foo(vu3;"
+ Name 13 "wgs"
+ Name 16 "bn"
+ MemberName 16(bn) 0 "a"
+ Name 18 "bi"
+ Name 37 "param"
+ Decorate 7 SpecId 18
+ Decorate 9 SpecId 19
+ MemberDecorate 16(bn) 0 Offset 0
+ Decorate 16(bn) Block
+ Decorate 18(bi) DescriptorSet 0
+ Decorate 18(bi) Binding 0
+ Decorate 25 SpecId 18
+ Decorate 26 SpecId 19
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeInt 32 0
+ 7: 6(int) SpecConstant 32
+ 8: 6(int) Constant 32
+ 9: 6(int) SpecConstant 1
+ 10: TypeVector 6(int) 3
+ 11: TypePointer Function 10(ivec3)
+ 12: TypeFunction 2 11(ptr)
+ 16(bn): TypeStruct 6(int)
+ 17: TypePointer StorageBuffer 16(bn)
+ 18(bi): 17(ptr) Variable StorageBuffer
+ 19: TypeInt 32 1
+ 20: 19(int) Constant 0
+ 21: 6(int) Constant 0
+ 22: TypePointer Function 6(int)
+ 25: 6(int) SpecConstant 32
+ 26: 6(int) SpecConstant 1
+ 27: 10(ivec3) SpecConstantComposite 25 8 26
+ 28: 6(int) Constant 1
+ 31: 6(int) Constant 2
+ 35: TypePointer StorageBuffer 6(int)
+ 4(main): 2 Function None 3
+ 5: Label
+ 37(param): 11(ptr) Variable Function
+ Store 37(param) 27
+ 38: 2 FunctionCall 14(foo(vu3;) 37(param)
+ Return
+ FunctionEnd
+ 14(foo(vu3;): 2 Function None 12
+ 13(wgs): 11(ptr) FunctionParameter
+ 15: Label
+ 23: 22(ptr) AccessChain 13(wgs) 21
+ 24: 6(int) Load 23
+ 29: 6(int) CompositeExtract 27 1
+ 30: 6(int) IMul 24 29
+ 32: 22(ptr) AccessChain 13(wgs) 31
+ 33: 6(int) Load 32
+ 34: 6(int) IMul 30 33
+ 36: 35(ptr) AccessChain 18(bi) 20
+ Store 36 34
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.310.bitcast.frag.out b/Test/baseResults/spv.310.bitcast.frag.out
index b7f823d..f4322ab 100644
--- a/Test/baseResults/spv.310.bitcast.frag.out
+++ b/Test/baseResults/spv.310.bitcast.frag.out
@@ -1,71 +1,71 @@
spv.310.bitcast.frag
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 153
+// Id's are bound by 179
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 14 26 37 48 89 98 107 116 122 130 139 148
+ EntryPoint Fragment 4 "main" 14 26 40 56 103 112 123 136 142 150 161 174
ExecutionMode 4 OriginUpperLeft
Source ESSL 310
Name 4 "main"
Name 9 "idata"
Name 14 "f1"
Name 26 "f2"
- Name 37 "f3"
- Name 48 "f4"
- Name 55 "udata"
- Name 85 "fdata"
- Name 89 "i1"
- Name 98 "i2"
- Name 107 "i3"
- Name 116 "i4"
- Name 122 "u1"
- Name 130 "u2"
- Name 139 "u3"
- Name 148 "u4"
+ Name 40 "f3"
+ Name 56 "f4"
+ Name 63 "udata"
+ Name 99 "fdata"
+ Name 103 "i1"
+ Name 112 "i2"
+ Name 123 "i3"
+ Name 136 "i4"
+ Name 142 "u1"
+ Name 150 "u2"
+ Name 161 "u3"
+ Name 174 "u4"
Decorate 14(f1) RelaxedPrecision
Decorate 14(f1) Location 8
Decorate 15 RelaxedPrecision
Decorate 26(f2) RelaxedPrecision
Decorate 26(f2) Location 9
Decorate 27 RelaxedPrecision
- Decorate 37(f3) RelaxedPrecision
- Decorate 37(f3) Location 10
- Decorate 38 RelaxedPrecision
- Decorate 48(f4) Location 11
- Decorate 57 RelaxedPrecision
- Decorate 64 RelaxedPrecision
+ Decorate 40(f3) RelaxedPrecision
+ Decorate 40(f3) Location 10
+ Decorate 41 RelaxedPrecision
+ Decorate 56(f4) Location 11
+ Decorate 65 RelaxedPrecision
Decorate 72 RelaxedPrecision
- Decorate 89(i1) RelaxedPrecision
- Decorate 89(i1) Flat
- Decorate 89(i1) Location 0
- Decorate 90 RelaxedPrecision
- Decorate 98(i2) RelaxedPrecision
- Decorate 98(i2) Flat
- Decorate 98(i2) Location 1
- Decorate 99 RelaxedPrecision
- Decorate 107(i3) RelaxedPrecision
- Decorate 107(i3) Flat
- Decorate 107(i3) Location 2
- Decorate 108 RelaxedPrecision
- Decorate 116(i4) Flat
- Decorate 116(i4) Location 3
- Decorate 122(u1) RelaxedPrecision
- Decorate 122(u1) Flat
- Decorate 122(u1) Location 4
- Decorate 123 RelaxedPrecision
- Decorate 130(u2) RelaxedPrecision
- Decorate 130(u2) Flat
- Decorate 130(u2) Location 5
- Decorate 131 RelaxedPrecision
- Decorate 139(u3) RelaxedPrecision
- Decorate 139(u3) Flat
- Decorate 139(u3) Location 6
- Decorate 140 RelaxedPrecision
- Decorate 148(u4) Flat
- Decorate 148(u4) Location 7
+ Decorate 82 RelaxedPrecision
+ Decorate 103(i1) RelaxedPrecision
+ Decorate 103(i1) Flat
+ Decorate 103(i1) Location 0
+ Decorate 104 RelaxedPrecision
+ Decorate 112(i2) RelaxedPrecision
+ Decorate 112(i2) Flat
+ Decorate 112(i2) Location 1
+ Decorate 113 RelaxedPrecision
+ Decorate 123(i3) RelaxedPrecision
+ Decorate 123(i3) Flat
+ Decorate 123(i3) Location 2
+ Decorate 124 RelaxedPrecision
+ Decorate 136(i4) Flat
+ Decorate 136(i4) Location 3
+ Decorate 142(u1) RelaxedPrecision
+ Decorate 142(u1) Flat
+ Decorate 142(u1) Location 4
+ Decorate 143 RelaxedPrecision
+ Decorate 150(u2) RelaxedPrecision
+ Decorate 150(u2) Flat
+ Decorate 150(u2) Location 5
+ Decorate 151 RelaxedPrecision
+ Decorate 161(u3) RelaxedPrecision
+ Decorate 161(u3) Flat
+ Decorate 161(u3) Location 6
+ Decorate 162 RelaxedPrecision
+ Decorate 174(u4) Flat
+ Decorate 174(u4) Location 7
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@@ -83,44 +83,46 @@
25: TypePointer Input 24(fvec2)
26(f2): 25(ptr) Variable Input
28: TypeVector 6(int) 2
- 35: TypeVector 12(float) 3
- 36: TypePointer Input 35(fvec3)
- 37(f3): 36(ptr) Variable Input
- 39: TypeVector 6(int) 3
- 46: TypeVector 12(float) 4
- 47: TypePointer Input 46(fvec4)
- 48(f4): 47(ptr) Variable Input
- 53: TypeVector 17(int) 4
- 54: TypePointer Function 53(ivec4)
- 56: 53(ivec4) ConstantComposite 18 18 18 18
- 59: TypePointer Function 17(int)
- 65: TypeVector 17(int) 2
- 73: TypeVector 17(int) 3
- 84: TypePointer Function 46(fvec4)
- 86: 12(float) Constant 0
- 87: 46(fvec4) ConstantComposite 86 86 86 86
- 88: TypePointer Input 6(int)
- 89(i1): 88(ptr) Variable Input
- 92: TypePointer Function 12(float)
- 97: TypePointer Input 28(ivec2)
- 98(i2): 97(ptr) Variable Input
- 106: TypePointer Input 39(ivec3)
- 107(i3): 106(ptr) Variable Input
- 115: TypePointer Input 7(ivec4)
- 116(i4): 115(ptr) Variable Input
- 121: TypePointer Input 17(int)
- 122(u1): 121(ptr) Variable Input
- 129: TypePointer Input 65(ivec2)
- 130(u2): 129(ptr) Variable Input
- 138: TypePointer Input 73(ivec3)
- 139(u3): 138(ptr) Variable Input
- 147: TypePointer Input 53(ivec4)
- 148(u4): 147(ptr) Variable Input
+ 35: 17(int) Constant 1
+ 38: TypeVector 12(float) 3
+ 39: TypePointer Input 38(fvec3)
+ 40(f3): 39(ptr) Variable Input
+ 42: TypeVector 6(int) 3
+ 51: 17(int) Constant 2
+ 54: TypeVector 12(float) 4
+ 55: TypePointer Input 54(fvec4)
+ 56(f4): 55(ptr) Variable Input
+ 61: TypeVector 17(int) 4
+ 62: TypePointer Function 61(ivec4)
+ 64: 61(ivec4) ConstantComposite 18 18 18 18
+ 67: TypePointer Function 17(int)
+ 73: TypeVector 17(int) 2
+ 83: TypeVector 17(int) 3
+ 98: TypePointer Function 54(fvec4)
+ 100: 12(float) Constant 0
+ 101: 54(fvec4) ConstantComposite 100 100 100 100
+ 102: TypePointer Input 6(int)
+ 103(i1): 102(ptr) Variable Input
+ 106: TypePointer Function 12(float)
+ 111: TypePointer Input 28(ivec2)
+ 112(i2): 111(ptr) Variable Input
+ 122: TypePointer Input 42(ivec3)
+ 123(i3): 122(ptr) Variable Input
+ 135: TypePointer Input 7(ivec4)
+ 136(i4): 135(ptr) Variable Input
+ 141: TypePointer Input 17(int)
+ 142(u1): 141(ptr) Variable Input
+ 149: TypePointer Input 73(ivec2)
+ 150(u2): 149(ptr) Variable Input
+ 160: TypePointer Input 83(ivec3)
+ 161(u3): 160(ptr) Variable Input
+ 173: TypePointer Input 61(ivec4)
+ 174(u4): 173(ptr) Variable Input
4(main): 2 Function None 3
5: Label
9(idata): 8(ptr) Variable Function
- 55(udata): 54(ptr) Variable Function
- 85(fdata): 84(ptr) Variable Function
+ 63(udata): 62(ptr) Variable Function
+ 99(fdata): 98(ptr) Variable Function
Store 9(idata) 11
15: 12(float) Load 14(f1)
16: 6(int) Bitcast 15
@@ -134,107 +136,143 @@
30: 7(ivec4) Load 9(idata)
31: 28(ivec2) VectorShuffle 30 30 0 1
32: 28(ivec2) IAdd 31 29
- 33: 7(ivec4) Load 9(idata)
- 34: 7(ivec4) VectorShuffle 33 32 4 5 2 3
- Store 9(idata) 34
- 38: 35(fvec3) Load 37(f3)
- 40: 39(ivec3) Bitcast 38
- 41: 7(ivec4) Load 9(idata)
- 42: 39(ivec3) VectorShuffle 41 41 0 1 2
- 43: 39(ivec3) IAdd 42 40
+ 33: 19(ptr) AccessChain 9(idata) 18
+ 34: 6(int) CompositeExtract 32 0
+ Store 33 34
+ 36: 19(ptr) AccessChain 9(idata) 35
+ 37: 6(int) CompositeExtract 32 1
+ Store 36 37
+ 41: 38(fvec3) Load 40(f3)
+ 43: 42(ivec3) Bitcast 41
44: 7(ivec4) Load 9(idata)
- 45: 7(ivec4) VectorShuffle 44 43 4 5 6 3
- Store 9(idata) 45
- 49: 46(fvec4) Load 48(f4)
- 50: 7(ivec4) Bitcast 49
- 51: 7(ivec4) Load 9(idata)
- 52: 7(ivec4) IAdd 51 50
- Store 9(idata) 52
- Store 55(udata) 56
- 57: 12(float) Load 14(f1)
- 58: 17(int) Bitcast 57
- 60: 59(ptr) AccessChain 55(udata) 18
- 61: 17(int) Load 60
- 62: 17(int) IAdd 61 58
- 63: 59(ptr) AccessChain 55(udata) 18
- Store 63 62
- 64: 24(fvec2) Load 26(f2)
- 66: 65(ivec2) Bitcast 64
- 67: 53(ivec4) Load 55(udata)
- 68: 65(ivec2) VectorShuffle 67 67 0 1
- 69: 65(ivec2) IAdd 68 66
- 70: 53(ivec4) Load 55(udata)
- 71: 53(ivec4) VectorShuffle 70 69 4 5 2 3
- Store 55(udata) 71
- 72: 35(fvec3) Load 37(f3)
- 74: 73(ivec3) Bitcast 72
- 75: 53(ivec4) Load 55(udata)
- 76: 73(ivec3) VectorShuffle 75 75 0 1 2
- 77: 73(ivec3) IAdd 76 74
- 78: 53(ivec4) Load 55(udata)
- 79: 53(ivec4) VectorShuffle 78 77 4 5 6 3
- Store 55(udata) 79
- 80: 46(fvec4) Load 48(f4)
- 81: 53(ivec4) Bitcast 80
- 82: 53(ivec4) Load 55(udata)
- 83: 53(ivec4) IAdd 82 81
- Store 55(udata) 83
- Store 85(fdata) 87
- 90: 6(int) Load 89(i1)
- 91: 12(float) Bitcast 90
- 93: 92(ptr) AccessChain 85(fdata) 18
- 94: 12(float) Load 93
- 95: 12(float) FAdd 94 91
- 96: 92(ptr) AccessChain 85(fdata) 18
- Store 96 95
- 99: 28(ivec2) Load 98(i2)
- 100: 24(fvec2) Bitcast 99
- 101: 46(fvec4) Load 85(fdata)
- 102: 24(fvec2) VectorShuffle 101 101 0 1
- 103: 24(fvec2) FAdd 102 100
- 104: 46(fvec4) Load 85(fdata)
- 105: 46(fvec4) VectorShuffle 104 103 4 5 2 3
- Store 85(fdata) 105
- 108: 39(ivec3) Load 107(i3)
- 109: 35(fvec3) Bitcast 108
- 110: 46(fvec4) Load 85(fdata)
- 111: 35(fvec3) VectorShuffle 110 110 0 1 2
- 112: 35(fvec3) FAdd 111 109
- 113: 46(fvec4) Load 85(fdata)
- 114: 46(fvec4) VectorShuffle 113 112 4 5 6 3
- Store 85(fdata) 114
- 117: 7(ivec4) Load 116(i4)
- 118: 46(fvec4) Bitcast 117
- 119: 46(fvec4) Load 85(fdata)
- 120: 46(fvec4) FAdd 119 118
- Store 85(fdata) 120
- 123: 17(int) Load 122(u1)
- 124: 12(float) Bitcast 123
- 125: 92(ptr) AccessChain 85(fdata) 18
- 126: 12(float) Load 125
- 127: 12(float) FAdd 126 124
- 128: 92(ptr) AccessChain 85(fdata) 18
- Store 128 127
- 131: 65(ivec2) Load 130(u2)
- 132: 24(fvec2) Bitcast 131
- 133: 46(fvec4) Load 85(fdata)
- 134: 24(fvec2) VectorShuffle 133 133 0 1
- 135: 24(fvec2) FAdd 134 132
- 136: 46(fvec4) Load 85(fdata)
- 137: 46(fvec4) VectorShuffle 136 135 4 5 2 3
- Store 85(fdata) 137
- 140: 73(ivec3) Load 139(u3)
- 141: 35(fvec3) Bitcast 140
- 142: 46(fvec4) Load 85(fdata)
- 143: 35(fvec3) VectorShuffle 142 142 0 1 2
- 144: 35(fvec3) FAdd 143 141
- 145: 46(fvec4) Load 85(fdata)
- 146: 46(fvec4) VectorShuffle 145 144 4 5 6 3
- Store 85(fdata) 146
- 149: 53(ivec4) Load 148(u4)
- 150: 46(fvec4) Bitcast 149
- 151: 46(fvec4) Load 85(fdata)
- 152: 46(fvec4) FAdd 151 150
- Store 85(fdata) 152
+ 45: 42(ivec3) VectorShuffle 44 44 0 1 2
+ 46: 42(ivec3) IAdd 45 43
+ 47: 19(ptr) AccessChain 9(idata) 18
+ 48: 6(int) CompositeExtract 46 0
+ Store 47 48
+ 49: 19(ptr) AccessChain 9(idata) 35
+ 50: 6(int) CompositeExtract 46 1
+ Store 49 50
+ 52: 19(ptr) AccessChain 9(idata) 51
+ 53: 6(int) CompositeExtract 46 2
+ Store 52 53
+ 57: 54(fvec4) Load 56(f4)
+ 58: 7(ivec4) Bitcast 57
+ 59: 7(ivec4) Load 9(idata)
+ 60: 7(ivec4) IAdd 59 58
+ Store 9(idata) 60
+ Store 63(udata) 64
+ 65: 12(float) Load 14(f1)
+ 66: 17(int) Bitcast 65
+ 68: 67(ptr) AccessChain 63(udata) 18
+ 69: 17(int) Load 68
+ 70: 17(int) IAdd 69 66
+ 71: 67(ptr) AccessChain 63(udata) 18
+ Store 71 70
+ 72: 24(fvec2) Load 26(f2)
+ 74: 73(ivec2) Bitcast 72
+ 75: 61(ivec4) Load 63(udata)
+ 76: 73(ivec2) VectorShuffle 75 75 0 1
+ 77: 73(ivec2) IAdd 76 74
+ 78: 67(ptr) AccessChain 63(udata) 18
+ 79: 17(int) CompositeExtract 77 0
+ Store 78 79
+ 80: 67(ptr) AccessChain 63(udata) 35
+ 81: 17(int) CompositeExtract 77 1
+ Store 80 81
+ 82: 38(fvec3) Load 40(f3)
+ 84: 83(ivec3) Bitcast 82
+ 85: 61(ivec4) Load 63(udata)
+ 86: 83(ivec3) VectorShuffle 85 85 0 1 2
+ 87: 83(ivec3) IAdd 86 84
+ 88: 67(ptr) AccessChain 63(udata) 18
+ 89: 17(int) CompositeExtract 87 0
+ Store 88 89
+ 90: 67(ptr) AccessChain 63(udata) 35
+ 91: 17(int) CompositeExtract 87 1
+ Store 90 91
+ 92: 67(ptr) AccessChain 63(udata) 51
+ 93: 17(int) CompositeExtract 87 2
+ Store 92 93
+ 94: 54(fvec4) Load 56(f4)
+ 95: 61(ivec4) Bitcast 94
+ 96: 61(ivec4) Load 63(udata)
+ 97: 61(ivec4) IAdd 96 95
+ Store 63(udata) 97
+ Store 99(fdata) 101
+ 104: 6(int) Load 103(i1)
+ 105: 12(float) Bitcast 104
+ 107: 106(ptr) AccessChain 99(fdata) 18
+ 108: 12(float) Load 107
+ 109: 12(float) FAdd 108 105
+ 110: 106(ptr) AccessChain 99(fdata) 18
+ Store 110 109
+ 113: 28(ivec2) Load 112(i2)
+ 114: 24(fvec2) Bitcast 113
+ 115: 54(fvec4) Load 99(fdata)
+ 116: 24(fvec2) VectorShuffle 115 115 0 1
+ 117: 24(fvec2) FAdd 116 114
+ 118: 106(ptr) AccessChain 99(fdata) 18
+ 119: 12(float) CompositeExtract 117 0
+ Store 118 119
+ 120: 106(ptr) AccessChain 99(fdata) 35
+ 121: 12(float) CompositeExtract 117 1
+ Store 120 121
+ 124: 42(ivec3) Load 123(i3)
+ 125: 38(fvec3) Bitcast 124
+ 126: 54(fvec4) Load 99(fdata)
+ 127: 38(fvec3) VectorShuffle 126 126 0 1 2
+ 128: 38(fvec3) FAdd 127 125
+ 129: 106(ptr) AccessChain 99(fdata) 18
+ 130: 12(float) CompositeExtract 128 0
+ Store 129 130
+ 131: 106(ptr) AccessChain 99(fdata) 35
+ 132: 12(float) CompositeExtract 128 1
+ Store 131 132
+ 133: 106(ptr) AccessChain 99(fdata) 51
+ 134: 12(float) CompositeExtract 128 2
+ Store 133 134
+ 137: 7(ivec4) Load 136(i4)
+ 138: 54(fvec4) Bitcast 137
+ 139: 54(fvec4) Load 99(fdata)
+ 140: 54(fvec4) FAdd 139 138
+ Store 99(fdata) 140
+ 143: 17(int) Load 142(u1)
+ 144: 12(float) Bitcast 143
+ 145: 106(ptr) AccessChain 99(fdata) 18
+ 146: 12(float) Load 145
+ 147: 12(float) FAdd 146 144
+ 148: 106(ptr) AccessChain 99(fdata) 18
+ Store 148 147
+ 151: 73(ivec2) Load 150(u2)
+ 152: 24(fvec2) Bitcast 151
+ 153: 54(fvec4) Load 99(fdata)
+ 154: 24(fvec2) VectorShuffle 153 153 0 1
+ 155: 24(fvec2) FAdd 154 152
+ 156: 106(ptr) AccessChain 99(fdata) 18
+ 157: 12(float) CompositeExtract 155 0
+ Store 156 157
+ 158: 106(ptr) AccessChain 99(fdata) 35
+ 159: 12(float) CompositeExtract 155 1
+ Store 158 159
+ 162: 83(ivec3) Load 161(u3)
+ 163: 38(fvec3) Bitcast 162
+ 164: 54(fvec4) Load 99(fdata)
+ 165: 38(fvec3) VectorShuffle 164 164 0 1 2
+ 166: 38(fvec3) FAdd 165 163
+ 167: 106(ptr) AccessChain 99(fdata) 18
+ 168: 12(float) CompositeExtract 166 0
+ Store 167 168
+ 169: 106(ptr) AccessChain 99(fdata) 35
+ 170: 12(float) CompositeExtract 166 1
+ Store 169 170
+ 171: 106(ptr) AccessChain 99(fdata) 51
+ 172: 12(float) CompositeExtract 166 2
+ Store 171 172
+ 175: 61(ivec4) Load 174(u4)
+ 176: 54(fvec4) Bitcast 175
+ 177: 54(fvec4) Load 99(fdata)
+ 178: 54(fvec4) FAdd 177 176
+ Store 99(fdata) 178
Return
FunctionEnd
diff --git a/Test/baseResults/spv.320.meshShaderUserDefined.mesh.out b/Test/baseResults/spv.320.meshShaderUserDefined.mesh.out
index 9bc86d0..a4d8413 100644
--- a/Test/baseResults/spv.320.meshShaderUserDefined.mesh.out
+++ b/Test/baseResults/spv.320.meshShaderUserDefined.mesh.out
@@ -1,13 +1,13 @@
spv.320.meshShaderUserDefined.mesh
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 140
+// Id's are bound by 143
Capability MeshShadingNV
Extension "SPV_NV_mesh_shader"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint MeshNV 4 "main" 12 19 37 103
+ EntryPoint MeshNV 4 "main" 12 19 37 106
ExecutionMode 4 LocalSize 32 1 1
ExecutionMode 4 OutputVertices 81
ExecutionMode 4 OutputPrimitivesNV 32
@@ -27,11 +27,11 @@
MemberName 33(myblock) 4 "m"
MemberName 33(myblock) 5 "mArr"
Name 37 "blk"
- Name 99 "myblock2"
- MemberName 99(myblock2) 0 "f"
- MemberName 99(myblock2) 1 "pos"
- MemberName 99(myblock2) 2 "m"
- Name 103 "blk2"
+ Name 102 "myblock2"
+ MemberName 102(myblock2) 0 "f"
+ MemberName 102(myblock2) 1 "pos"
+ MemberName 102(myblock2) 2 "m"
+ Name 106 "blk2"
Decorate 12(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 19(gl_WorkGroupID) BuiltIn WorkgroupId
MemberDecorate 33(myblock) 0 PerPrimitiveNV
@@ -42,9 +42,9 @@
MemberDecorate 33(myblock) 5 PerPrimitiveNV
Decorate 33(myblock) Block
Decorate 37(blk) Location 0
- Decorate 99(myblock2) Block
- Decorate 103(blk2) Location 20
- Decorate 139 BuiltIn WorkgroupSize
+ Decorate 102(myblock2) Block
+ Decorate 106(blk2) Location 20
+ Decorate 142 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@@ -82,31 +82,31 @@
57: 26(fvec3) ConstantComposite 54 55 56
58: TypePointer Output 26(fvec3)
64: 6(int) Constant 3
- 69: TypePointer Output 27(fvec4)
- 74: 6(int) Constant 4
- 76: 23(float) Constant 1098907648
- 77: 27(fvec4) ConstantComposite 56 54 55 76
- 82: 6(int) Constant 5
- 85: 9(int) Constant 3
- 88: 9(int) Constant 1
- 93: 23(float) Constant 1099431936
- 94: 23(float) Constant 1099956224
- 95: 23(float) Constant 1100480512
- 96: 26(fvec3) ConstantComposite 93 94 95
- 98: 9(int) Constant 264
- 99(myblock2): TypeStruct 23(float) 27(fvec4) 29
- 100: 9(int) Constant 81
- 101: TypeArray 99(myblock2) 100
- 102: TypePointer Output 101
- 103(blk2): 102(ptr) Variable Output
- 109: 23(float) Constant 1101004800
- 113: 23(float) Constant 1101529088
- 114: 23(float) Constant 1102053376
- 115: 23(float) Constant 1102577664
- 116: 23(float) Constant 1103101952
- 117: 27(fvec4) ConstantComposite 113 114 115 116
- 129: 23(float) Constant 1105723392
- 139: 10(ivec3) ConstantComposite 34 88 88
+ 69: 9(int) Constant 1
+ 74: 9(int) Constant 3
+ 78: 6(int) Constant 4
+ 80: 23(float) Constant 1098907648
+ 81: 27(fvec4) ConstantComposite 56 54 55 80
+ 82: TypePointer Output 27(fvec4)
+ 87: 6(int) Constant 5
+ 96: 23(float) Constant 1099431936
+ 97: 23(float) Constant 1099956224
+ 98: 23(float) Constant 1100480512
+ 99: 26(fvec3) ConstantComposite 96 97 98
+ 101: 9(int) Constant 264
+ 102(myblock2): TypeStruct 23(float) 27(fvec4) 29
+ 103: 9(int) Constant 81
+ 104: TypeArray 102(myblock2) 103
+ 105: TypePointer Output 104
+ 106(blk2): 105(ptr) Variable Output
+ 112: 23(float) Constant 1101004800
+ 116: 23(float) Constant 1101529088
+ 117: 23(float) Constant 1102053376
+ 118: 23(float) Constant 1102577664
+ 119: 23(float) Constant 1103101952
+ 120: 27(fvec4) ConstantComposite 116 117 118 119
+ 132: 23(float) Constant 1105723392
+ 142: 10(ivec3) ConstantComposite 34 69 69
4(main): 2 Function None 3
5: Label
8(iid): 7(ptr) Variable Function
@@ -142,64 +142,69 @@
66: 6(int) SDiv 65 52
67: 58(ptr) AccessChain 37(blk) 66 52
68: 26(fvec3) Load 67
- 70: 69(ptr) AccessChain 37(blk) 63 64 44
- 71: 27(fvec4) Load 70
- 72: 27(fvec4) VectorShuffle 71 68 0 4 5 6
- Store 70 72
- 73: 6(int) Load 8(iid)
- 75: 6(int) SDiv 73 74
- 78: 69(ptr) AccessChain 37(blk) 75 74 52
- 79: 27(fvec4) Load 78
- 80: 27(fvec4) VectorShuffle 79 77 7 6 5 4
- Store 78 80
- 81: 6(int) Load 8(iid)
- 83: 6(int) Load 8(iid)
- 84: 6(int) SDiv 83 74
- 86: 41(ptr) AccessChain 37(blk) 84 74 52 85
- 87: 23(float) Load 86
- 89: 41(ptr) AccessChain 37(blk) 81 82 39 44 88
- Store 89 87
- 90: 6(int) Load 8(iid)
- 91: 6(int) IMul 90 74
- 92: 6(int) Load 18(gid)
- 97: 58(ptr) AccessChain 37(blk) 91 82 44 92
- Store 97 96
- MemoryBarrier 88 98
- ControlBarrier 31 31 98
- 104: 6(int) Load 8(iid)
- 105: 6(int) Load 8(iid)
- 106: 6(int) ISub 105 44
- 107: 41(ptr) AccessChain 103(blk2) 106 39
- 108: 23(float) Load 107
- 110: 23(float) FAdd 108 109
- 111: 41(ptr) AccessChain 103(blk2) 104 39
- Store 111 110
- 112: 6(int) Load 8(iid)
- 118: 69(ptr) AccessChain 103(blk2) 112 44
- Store 118 117
- 119: 6(int) Load 8(iid)
- 120: 6(int) IAdd 119 44
- 121: 6(int) Load 18(gid)
+ 70: 41(ptr) AccessChain 37(blk) 63 64 44 69
+ 71: 23(float) CompositeExtract 68 0
+ Store 70 71
+ 72: 41(ptr) AccessChain 37(blk) 63 64 44 31
+ 73: 23(float) CompositeExtract 68 1
+ Store 72 73
+ 75: 41(ptr) AccessChain 37(blk) 63 64 44 74
+ 76: 23(float) CompositeExtract 68 2
+ Store 75 76
+ 77: 6(int) Load 8(iid)
+ 79: 6(int) SDiv 77 78
+ 83: 82(ptr) AccessChain 37(blk) 79 78 52
+ 84: 27(fvec4) Load 83
+ 85: 27(fvec4) VectorShuffle 84 81 7 6 5 4
+ Store 83 85
+ 86: 6(int) Load 8(iid)
+ 88: 6(int) Load 8(iid)
+ 89: 6(int) SDiv 88 78
+ 90: 41(ptr) AccessChain 37(blk) 89 78 52 74
+ 91: 23(float) Load 90
+ 92: 41(ptr) AccessChain 37(blk) 86 87 39 44 69
+ Store 92 91
+ 93: 6(int) Load 8(iid)
+ 94: 6(int) IMul 93 78
+ 95: 6(int) Load 18(gid)
+ 100: 58(ptr) AccessChain 37(blk) 94 87 44 95
+ Store 100 99
+ MemoryBarrier 69 101
+ ControlBarrier 31 31 101
+ 107: 6(int) Load 8(iid)
+ 108: 6(int) Load 8(iid)
+ 109: 6(int) ISub 108 44
+ 110: 41(ptr) AccessChain 106(blk2) 109 39
+ 111: 23(float) Load 110
+ 113: 23(float) FAdd 111 112
+ 114: 41(ptr) AccessChain 106(blk2) 107 39
+ Store 114 113
+ 115: 6(int) Load 8(iid)
+ 121: 82(ptr) AccessChain 106(blk2) 115 44
+ Store 121 120
122: 6(int) Load 8(iid)
- 123: 69(ptr) AccessChain 103(blk2) 122 44
- 124: 27(fvec4) Load 123
- 125: 69(ptr) AccessChain 103(blk2) 120 52 121
- Store 125 124
- 126: 6(int) Load 8(iid)
- 127: 6(int) IAdd 126 44
- 128: 6(int) Load 18(gid)
- 130: 41(ptr) AccessChain 103(blk2) 127 52 128 31
- Store 130 129
- 131: 6(int) Load 8(iid)
- 132: 6(int) IAdd 131 52
- 133: 6(int) Load 8(iid)
- 134: 6(int) IAdd 133 44
- 135: 6(int) Load 18(gid)
- 136: 69(ptr) AccessChain 103(blk2) 134 52 135
- 137: 27(fvec4) Load 136
- 138: 69(ptr) AccessChain 103(blk2) 132 52 64
- Store 138 137
- MemoryBarrier 88 98
- ControlBarrier 31 31 98
+ 123: 6(int) IAdd 122 44
+ 124: 6(int) Load 18(gid)
+ 125: 6(int) Load 8(iid)
+ 126: 82(ptr) AccessChain 106(blk2) 125 44
+ 127: 27(fvec4) Load 126
+ 128: 82(ptr) AccessChain 106(blk2) 123 52 124
+ Store 128 127
+ 129: 6(int) Load 8(iid)
+ 130: 6(int) IAdd 129 44
+ 131: 6(int) Load 18(gid)
+ 133: 41(ptr) AccessChain 106(blk2) 130 52 131 31
+ Store 133 132
+ 134: 6(int) Load 8(iid)
+ 135: 6(int) IAdd 134 52
+ 136: 6(int) Load 8(iid)
+ 137: 6(int) IAdd 136 44
+ 138: 6(int) Load 18(gid)
+ 139: 82(ptr) AccessChain 106(blk2) 137 52 138
+ 140: 27(fvec4) Load 139
+ 141: 82(ptr) AccessChain 106(blk2) 135 52 64
+ Store 141 140
+ MemoryBarrier 69 101
+ ControlBarrier 31 31 101
Return
FunctionEnd
diff --git a/Test/baseResults/spv.400.frag.nanclamp.out b/Test/baseResults/spv.400.frag.nanclamp.out
index 57f4365..cf1ffb0 100644
--- a/Test/baseResults/spv.400.frag.nanclamp.out
+++ b/Test/baseResults/spv.400.frag.nanclamp.out
@@ -1,7 +1,7 @@
spv.400.frag
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 1118
+// Id's are bound by 1122
Capability Shader
Capability Geometry
@@ -11,7 +11,7 @@
Capability SampledRect
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 13 1027 1033 1038 1050 1076 1097 1099 1105 1107 1116
+ EntryPoint Fragment 4 "main" 13 1027 1033 1038 1054 1080 1101 1103 1109 1111 1120
ExecutionMode 4 OriginUpperLeft
Source GLSL 400
SourceExtension "GL_ARB_separate_shader_objects"
@@ -42,16 +42,16 @@
Name 1027 "i"
Name 1033 "c2D"
Name 1038 "gl_ClipDistance"
- Name 1050 "uoutp"
- Name 1054 "samp2dr"
- Name 1076 "ioutp"
- Name 1080 "isamp2DA"
- Name 1097 "gl_FragCoord"
- Name 1099 "vl2"
- Name 1105 "uo"
- Name 1107 "u"
- Name 1115 "id"
- Name 1116 "gl_PrimitiveID"
+ Name 1054 "uoutp"
+ Name 1058 "samp2dr"
+ Name 1080 "ioutp"
+ Name 1084 "isamp2DA"
+ Name 1101 "gl_FragCoord"
+ Name 1103 "vl2"
+ Name 1109 "uo"
+ Name 1111 "u"
+ Name 1119 "id"
+ Name 1120 "gl_PrimitiveID"
Decorate 13(outp) Location 1
Decorate 17(u2drs) DescriptorSet 0
Decorate 17(u2drs) Binding 3
@@ -61,19 +61,19 @@
Decorate 1027(i) Location 1
Decorate 1033(c2D) Location 0
Decorate 1038(gl_ClipDistance) BuiltIn ClipDistance
- Decorate 1050(uoutp) Location 3
- Decorate 1054(samp2dr) DescriptorSet 0
- Decorate 1054(samp2dr) Binding 1
- Decorate 1076(ioutp) Location 2
- Decorate 1080(isamp2DA) DescriptorSet 0
- Decorate 1080(isamp2DA) Binding 2
- Decorate 1097(gl_FragCoord) BuiltIn FragCoord
- Decorate 1099(vl2) Location 6
- Decorate 1105(uo) Location 0
- Decorate 1107(u) Flat
- Decorate 1107(u) Location 2
- Decorate 1116(gl_PrimitiveID) Flat
- Decorate 1116(gl_PrimitiveID) BuiltIn PrimitiveId
+ Decorate 1054(uoutp) Location 3
+ Decorate 1058(samp2dr) DescriptorSet 0
+ Decorate 1058(samp2dr) Binding 1
+ Decorate 1080(ioutp) Location 2
+ Decorate 1084(isamp2DA) DescriptorSet 0
+ Decorate 1084(isamp2DA) Binding 2
+ Decorate 1101(gl_FragCoord) BuiltIn FragCoord
+ Decorate 1103(vl2) Location 6
+ Decorate 1109(uo) Location 0
+ Decorate 1111(u) Flat
+ Decorate 1111(u) Location 2
+ Decorate 1120(gl_PrimitiveID) Flat
+ Decorate 1120(gl_PrimitiveID) BuiltIn PrimitiveId
2: TypeVoid
3: TypeFunction 2
10: TypeFloat 32
@@ -161,46 +161,46 @@
1038(gl_ClipDistance): 1037(ptr) Variable Input
1039: TypePointer Input 10(float)
1043: TypeVector 10(float) 3
- 1048: TypeVector 32(int) 4
- 1049: TypePointer Output 1048(ivec4)
- 1050(uoutp): 1049(ptr) Variable Output
- 1051: TypeImage 32(int) Rect sampled format:Unknown
- 1052: TypeSampledImage 1051
- 1053: TypePointer UniformConstant 1052
- 1054(samp2dr): 1053(ptr) Variable UniformConstant
- 1057: 32(int) Constant 4
- 1058: TypeArray 24(ivec2) 1057
- 1059: 24(ivec2) ConstantComposite 966 970
- 1060: 23(int) Constant 15
- 1061: 23(int) Constant 16
- 1062: 24(ivec2) ConstantComposite 1060 1061
- 1063: 23(int) Constant 4294967294
- 1064: 23(int) Constant 0
- 1065: 24(ivec2) ConstantComposite 1063 1064
- 1066: 1058 ConstantComposite 1059 27 1062 1065
- 1074: TypeVector 23(int) 4
- 1075: TypePointer Output 1074(ivec4)
- 1076(ioutp): 1075(ptr) Variable Output
- 1077: TypeImage 23(int) 2D array sampled format:Unknown
- 1078: TypeSampledImage 1077
- 1079: TypePointer UniformConstant 1078
- 1080(isamp2DA): 1079(ptr) Variable UniformConstant
- 1082: 10(float) Constant 1036831949
- 1083: 1043(fvec3) ConstantComposite 1082 1082 1082
- 1084: 24(ivec2) ConstantComposite 966 966
- 1096: TypePointer Input 11(fvec4)
-1097(gl_FragCoord): 1096(ptr) Variable Input
- 1099(vl2): 1096(ptr) Variable Input
- 1104: TypePointer Output 32(int)
- 1105(uo): 1104(ptr) Variable Output
- 1106: TypePointer Input 32(int)
- 1107(u): 1106(ptr) Variable Input
- 1114: TypePointer Function 23(int)
-1116(gl_PrimitiveID): 1026(ptr) Variable Input
+ 1052: TypeVector 32(int) 4
+ 1053: TypePointer Output 1052(ivec4)
+ 1054(uoutp): 1053(ptr) Variable Output
+ 1055: TypeImage 32(int) Rect sampled format:Unknown
+ 1056: TypeSampledImage 1055
+ 1057: TypePointer UniformConstant 1056
+ 1058(samp2dr): 1057(ptr) Variable UniformConstant
+ 1061: 32(int) Constant 4
+ 1062: TypeArray 24(ivec2) 1061
+ 1063: 24(ivec2) ConstantComposite 966 970
+ 1064: 23(int) Constant 15
+ 1065: 23(int) Constant 16
+ 1066: 24(ivec2) ConstantComposite 1064 1065
+ 1067: 23(int) Constant 4294967294
+ 1068: 23(int) Constant 0
+ 1069: 24(ivec2) ConstantComposite 1067 1068
+ 1070: 1062 ConstantComposite 1063 27 1066 1069
+ 1078: TypeVector 23(int) 4
+ 1079: TypePointer Output 1078(ivec4)
+ 1080(ioutp): 1079(ptr) Variable Output
+ 1081: TypeImage 23(int) 2D array sampled format:Unknown
+ 1082: TypeSampledImage 1081
+ 1083: TypePointer UniformConstant 1082
+ 1084(isamp2DA): 1083(ptr) Variable UniformConstant
+ 1086: 10(float) Constant 1036831949
+ 1087: 1043(fvec3) ConstantComposite 1086 1086 1086
+ 1088: 24(ivec2) ConstantComposite 966 966
+ 1100: TypePointer Input 11(fvec4)
+1101(gl_FragCoord): 1100(ptr) Variable Input
+ 1103(vl2): 1100(ptr) Variable Input
+ 1108: TypePointer Output 32(int)
+ 1109(uo): 1108(ptr) Variable Output
+ 1110: TypePointer Input 32(int)
+ 1111(u): 1110(ptr) Variable Input
+ 1118: TypePointer Function 23(int)
+1120(gl_PrimitiveID): 1026(ptr) Variable Input
4(main): 2 Function None 3
5: Label
1019(v): 1018(ptr) Variable Function
- 1115(id): 1114(ptr) Variable Function
+ 1119(id): 1118(ptr) Variable Function
1028: 23(int) Load 1027(i)
1030: 1029(ptr) AccessChain 1025(arrayedSampler) 1028
1031: 1021 Load 1030
@@ -213,50 +213,56 @@
Store 1042 1041
1044: 11(fvec4) Load 1019(v)
1045: 1043(fvec3) VectorShuffle 1044 1044 1 2 3
- 1046: 11(fvec4) Load 13(outp)
- 1047: 11(fvec4) VectorShuffle 1046 1045 0 4 5 6
- Store 13(outp) 1047
- 1055: 1052 Load 1054(samp2dr)
- 1056: 20(fvec2) Load 1033(c2D)
- 1067: 1048(ivec4) ImageGather 1055 1056 970 ConstOffsets 1066
- Store 1050(uoutp) 1067
- 1068: 1029(ptr) AccessChain 1025(arrayedSampler) 1064
- 1069: 1021 Load 1068
- 1070: 20(fvec2) Load 1033(c2D)
- 1071: 11(fvec4) ImageGather 1069 1070 1064
- 1072: 11(fvec4) Load 13(outp)
- 1073: 11(fvec4) FAdd 1072 1071
- Store 13(outp) 1073
- 1081: 1078 Load 1080(isamp2DA)
- 1085: 1074(ivec4) ImageGather 1081 1083 25 ConstOffset 1084
- Store 1076(ioutp) 1085
- 1086: 1078 Load 1080(isamp2DA)
- 1087: 1074(ivec4) ImageGather 1086 1083 25 ConstOffset 1084
- 1088: 1074(ivec4) Load 1076(ioutp)
- 1089: 1074(ivec4) IAdd 1088 1087
- Store 1076(ioutp) 1089
- 1090: 1078 Load 1080(isamp2DA)
- 1091: 23(int) Load 1027(i)
- 1092: 24(ivec2) CompositeConstruct 1091 1091
- 1093: 1074(ivec4) ImageGather 1090 1083 1064 Offset 1092
- 1094: 1074(ivec4) Load 1076(ioutp)
- 1095: 1074(ivec4) IAdd 1094 1093
- Store 1076(ioutp) 1095
- 1098: 11(fvec4) Load 1097(gl_FragCoord)
- 1100: 11(fvec4) Load 1099(vl2)
- 1101: 11(fvec4) FAdd 1098 1100
- 1102: 11(fvec4) Load 13(outp)
- 1103: 11(fvec4) FAdd 1102 1101
- Store 13(outp) 1103
- 1108: 32(int) Load 1107(u)
- 1109: 23(int) Load 1027(i)
- 1110: 32(int) Bitcast 1109
- 1111: 32(int) UMod 1108 1110
- Store 1105(uo) 1111
- 1112: 2 FunctionCall 6(foo23()
- 1113: 2 FunctionCall 8(doubles()
- 1117: 23(int) Load 1116(gl_PrimitiveID)
- Store 1115(id) 1117
+ 1046: 34(ptr) AccessChain 13(outp) 954
+ 1047: 10(float) CompositeExtract 1045 0
+ Store 1046 1047
+ 1048: 34(ptr) AccessChain 13(outp) 958
+ 1049: 10(float) CompositeExtract 1045 1
+ Store 1048 1049
+ 1050: 34(ptr) AccessChain 13(outp) 962
+ 1051: 10(float) CompositeExtract 1045 2
+ Store 1050 1051
+ 1059: 1056 Load 1058(samp2dr)
+ 1060: 20(fvec2) Load 1033(c2D)
+ 1071: 1052(ivec4) ImageGather 1059 1060 970 ConstOffsets 1070
+ Store 1054(uoutp) 1071
+ 1072: 1029(ptr) AccessChain 1025(arrayedSampler) 1068
+ 1073: 1021 Load 1072
+ 1074: 20(fvec2) Load 1033(c2D)
+ 1075: 11(fvec4) ImageGather 1073 1074 1068
+ 1076: 11(fvec4) Load 13(outp)
+ 1077: 11(fvec4) FAdd 1076 1075
+ Store 13(outp) 1077
+ 1085: 1082 Load 1084(isamp2DA)
+ 1089: 1078(ivec4) ImageGather 1085 1087 25 ConstOffset 1088
+ Store 1080(ioutp) 1089
+ 1090: 1082 Load 1084(isamp2DA)
+ 1091: 1078(ivec4) ImageGather 1090 1087 25 ConstOffset 1088
+ 1092: 1078(ivec4) Load 1080(ioutp)
+ 1093: 1078(ivec4) IAdd 1092 1091
+ Store 1080(ioutp) 1093
+ 1094: 1082 Load 1084(isamp2DA)
+ 1095: 23(int) Load 1027(i)
+ 1096: 24(ivec2) CompositeConstruct 1095 1095
+ 1097: 1078(ivec4) ImageGather 1094 1087 1068 Offset 1096
+ 1098: 1078(ivec4) Load 1080(ioutp)
+ 1099: 1078(ivec4) IAdd 1098 1097
+ Store 1080(ioutp) 1099
+ 1102: 11(fvec4) Load 1101(gl_FragCoord)
+ 1104: 11(fvec4) Load 1103(vl2)
+ 1105: 11(fvec4) FAdd 1102 1104
+ 1106: 11(fvec4) Load 13(outp)
+ 1107: 11(fvec4) FAdd 1106 1105
+ Store 13(outp) 1107
+ 1112: 32(int) Load 1111(u)
+ 1113: 23(int) Load 1027(i)
+ 1114: 32(int) Bitcast 1113
+ 1115: 32(int) UMod 1112 1114
+ Store 1109(uo) 1115
+ 1116: 2 FunctionCall 6(foo23()
+ 1117: 2 FunctionCall 8(doubles()
+ 1121: 23(int) Load 1120(gl_PrimitiveID)
+ Store 1119(id) 1121
Return
FunctionEnd
6(foo23(): 2 Function None 3
diff --git a/Test/baseResults/spv.400.frag.out b/Test/baseResults/spv.400.frag.out
index 2e7b2f5..6786885 100644
--- a/Test/baseResults/spv.400.frag.out
+++ b/Test/baseResults/spv.400.frag.out
@@ -2,7 +2,7 @@
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 1118
+// Id's are bound by 1122
Capability Shader
Capability Geometry
@@ -12,7 +12,7 @@
Capability SampledRect
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 13 1027 1033 1038 1050 1076 1097 1099 1105 1107 1116
+ EntryPoint Fragment 4 "main" 13 1027 1033 1038 1054 1080 1101 1103 1109 1111 1120
ExecutionMode 4 OriginUpperLeft
Source GLSL 400
SourceExtension "GL_ARB_separate_shader_objects"
@@ -43,16 +43,16 @@
Name 1027 "i"
Name 1033 "c2D"
Name 1038 "gl_ClipDistance"
- Name 1050 "uoutp"
- Name 1054 "samp2dr"
- Name 1076 "ioutp"
- Name 1080 "isamp2DA"
- Name 1097 "gl_FragCoord"
- Name 1099 "vl2"
- Name 1105 "uo"
- Name 1107 "u"
- Name 1115 "id"
- Name 1116 "gl_PrimitiveID"
+ Name 1054 "uoutp"
+ Name 1058 "samp2dr"
+ Name 1080 "ioutp"
+ Name 1084 "isamp2DA"
+ Name 1101 "gl_FragCoord"
+ Name 1103 "vl2"
+ Name 1109 "uo"
+ Name 1111 "u"
+ Name 1119 "id"
+ Name 1120 "gl_PrimitiveID"
Decorate 13(outp) Location 1
Decorate 17(u2drs) DescriptorSet 0
Decorate 17(u2drs) Binding 3
@@ -62,19 +62,19 @@
Decorate 1027(i) Location 1
Decorate 1033(c2D) Location 0
Decorate 1038(gl_ClipDistance) BuiltIn ClipDistance
- Decorate 1050(uoutp) Location 3
- Decorate 1054(samp2dr) DescriptorSet 0
- Decorate 1054(samp2dr) Binding 1
- Decorate 1076(ioutp) Location 2
- Decorate 1080(isamp2DA) DescriptorSet 0
- Decorate 1080(isamp2DA) Binding 2
- Decorate 1097(gl_FragCoord) BuiltIn FragCoord
- Decorate 1099(vl2) Location 6
- Decorate 1105(uo) Location 0
- Decorate 1107(u) Flat
- Decorate 1107(u) Location 2
- Decorate 1116(gl_PrimitiveID) Flat
- Decorate 1116(gl_PrimitiveID) BuiltIn PrimitiveId
+ Decorate 1054(uoutp) Location 3
+ Decorate 1058(samp2dr) DescriptorSet 0
+ Decorate 1058(samp2dr) Binding 1
+ Decorate 1080(ioutp) Location 2
+ Decorate 1084(isamp2DA) DescriptorSet 0
+ Decorate 1084(isamp2DA) Binding 2
+ Decorate 1101(gl_FragCoord) BuiltIn FragCoord
+ Decorate 1103(vl2) Location 6
+ Decorate 1109(uo) Location 0
+ Decorate 1111(u) Flat
+ Decorate 1111(u) Location 2
+ Decorate 1120(gl_PrimitiveID) Flat
+ Decorate 1120(gl_PrimitiveID) BuiltIn PrimitiveId
2: TypeVoid
3: TypeFunction 2
10: TypeFloat 32
@@ -162,46 +162,46 @@
1038(gl_ClipDistance): 1037(ptr) Variable Input
1039: TypePointer Input 10(float)
1043: TypeVector 10(float) 3
- 1048: TypeVector 32(int) 4
- 1049: TypePointer Output 1048(ivec4)
- 1050(uoutp): 1049(ptr) Variable Output
- 1051: TypeImage 32(int) Rect sampled format:Unknown
- 1052: TypeSampledImage 1051
- 1053: TypePointer UniformConstant 1052
- 1054(samp2dr): 1053(ptr) Variable UniformConstant
- 1057: 32(int) Constant 4
- 1058: TypeArray 24(ivec2) 1057
- 1059: 24(ivec2) ConstantComposite 966 970
- 1060: 23(int) Constant 15
- 1061: 23(int) Constant 16
- 1062: 24(ivec2) ConstantComposite 1060 1061
- 1063: 23(int) Constant 4294967294
- 1064: 23(int) Constant 0
- 1065: 24(ivec2) ConstantComposite 1063 1064
- 1066: 1058 ConstantComposite 1059 27 1062 1065
- 1074: TypeVector 23(int) 4
- 1075: TypePointer Output 1074(ivec4)
- 1076(ioutp): 1075(ptr) Variable Output
- 1077: TypeImage 23(int) 2D array sampled format:Unknown
- 1078: TypeSampledImage 1077
- 1079: TypePointer UniformConstant 1078
- 1080(isamp2DA): 1079(ptr) Variable UniformConstant
- 1082: 10(float) Constant 1036831949
- 1083: 1043(fvec3) ConstantComposite 1082 1082 1082
- 1084: 24(ivec2) ConstantComposite 966 966
- 1096: TypePointer Input 11(fvec4)
-1097(gl_FragCoord): 1096(ptr) Variable Input
- 1099(vl2): 1096(ptr) Variable Input
- 1104: TypePointer Output 32(int)
- 1105(uo): 1104(ptr) Variable Output
- 1106: TypePointer Input 32(int)
- 1107(u): 1106(ptr) Variable Input
- 1114: TypePointer Function 23(int)
-1116(gl_PrimitiveID): 1026(ptr) Variable Input
+ 1052: TypeVector 32(int) 4
+ 1053: TypePointer Output 1052(ivec4)
+ 1054(uoutp): 1053(ptr) Variable Output
+ 1055: TypeImage 32(int) Rect sampled format:Unknown
+ 1056: TypeSampledImage 1055
+ 1057: TypePointer UniformConstant 1056
+ 1058(samp2dr): 1057(ptr) Variable UniformConstant
+ 1061: 32(int) Constant 4
+ 1062: TypeArray 24(ivec2) 1061
+ 1063: 24(ivec2) ConstantComposite 966 970
+ 1064: 23(int) Constant 15
+ 1065: 23(int) Constant 16
+ 1066: 24(ivec2) ConstantComposite 1064 1065
+ 1067: 23(int) Constant 4294967294
+ 1068: 23(int) Constant 0
+ 1069: 24(ivec2) ConstantComposite 1067 1068
+ 1070: 1062 ConstantComposite 1063 27 1066 1069
+ 1078: TypeVector 23(int) 4
+ 1079: TypePointer Output 1078(ivec4)
+ 1080(ioutp): 1079(ptr) Variable Output
+ 1081: TypeImage 23(int) 2D array sampled format:Unknown
+ 1082: TypeSampledImage 1081
+ 1083: TypePointer UniformConstant 1082
+ 1084(isamp2DA): 1083(ptr) Variable UniformConstant
+ 1086: 10(float) Constant 1036831949
+ 1087: 1043(fvec3) ConstantComposite 1086 1086 1086
+ 1088: 24(ivec2) ConstantComposite 966 966
+ 1100: TypePointer Input 11(fvec4)
+1101(gl_FragCoord): 1100(ptr) Variable Input
+ 1103(vl2): 1100(ptr) Variable Input
+ 1108: TypePointer Output 32(int)
+ 1109(uo): 1108(ptr) Variable Output
+ 1110: TypePointer Input 32(int)
+ 1111(u): 1110(ptr) Variable Input
+ 1118: TypePointer Function 23(int)
+1120(gl_PrimitiveID): 1026(ptr) Variable Input
4(main): 2 Function None 3
5: Label
1019(v): 1018(ptr) Variable Function
- 1115(id): 1114(ptr) Variable Function
+ 1119(id): 1118(ptr) Variable Function
1028: 23(int) Load 1027(i)
1030: 1029(ptr) AccessChain 1025(arrayedSampler) 1028
1031: 1021 Load 1030
@@ -214,50 +214,56 @@
Store 1042 1041
1044: 11(fvec4) Load 1019(v)
1045: 1043(fvec3) VectorShuffle 1044 1044 1 2 3
- 1046: 11(fvec4) Load 13(outp)
- 1047: 11(fvec4) VectorShuffle 1046 1045 0 4 5 6
- Store 13(outp) 1047
- 1055: 1052 Load 1054(samp2dr)
- 1056: 20(fvec2) Load 1033(c2D)
- 1067: 1048(ivec4) ImageGather 1055 1056 970 ConstOffsets 1066
- Store 1050(uoutp) 1067
- 1068: 1029(ptr) AccessChain 1025(arrayedSampler) 1064
- 1069: 1021 Load 1068
- 1070: 20(fvec2) Load 1033(c2D)
- 1071: 11(fvec4) ImageGather 1069 1070 1064
- 1072: 11(fvec4) Load 13(outp)
- 1073: 11(fvec4) FAdd 1072 1071
- Store 13(outp) 1073
- 1081: 1078 Load 1080(isamp2DA)
- 1085: 1074(ivec4) ImageGather 1081 1083 25 ConstOffset 1084
- Store 1076(ioutp) 1085
- 1086: 1078 Load 1080(isamp2DA)
- 1087: 1074(ivec4) ImageGather 1086 1083 25 ConstOffset 1084
- 1088: 1074(ivec4) Load 1076(ioutp)
- 1089: 1074(ivec4) IAdd 1088 1087
- Store 1076(ioutp) 1089
- 1090: 1078 Load 1080(isamp2DA)
- 1091: 23(int) Load 1027(i)
- 1092: 24(ivec2) CompositeConstruct 1091 1091
- 1093: 1074(ivec4) ImageGather 1090 1083 1064 Offset 1092
- 1094: 1074(ivec4) Load 1076(ioutp)
- 1095: 1074(ivec4) IAdd 1094 1093
- Store 1076(ioutp) 1095
- 1098: 11(fvec4) Load 1097(gl_FragCoord)
- 1100: 11(fvec4) Load 1099(vl2)
- 1101: 11(fvec4) FAdd 1098 1100
- 1102: 11(fvec4) Load 13(outp)
- 1103: 11(fvec4) FAdd 1102 1101
- Store 13(outp) 1103
- 1108: 32(int) Load 1107(u)
- 1109: 23(int) Load 1027(i)
- 1110: 32(int) Bitcast 1109
- 1111: 32(int) UMod 1108 1110
- Store 1105(uo) 1111
- 1112: 2 FunctionCall 6(foo23()
- 1113: 2 FunctionCall 8(doubles()
- 1117: 23(int) Load 1116(gl_PrimitiveID)
- Store 1115(id) 1117
+ 1046: 34(ptr) AccessChain 13(outp) 954
+ 1047: 10(float) CompositeExtract 1045 0
+ Store 1046 1047
+ 1048: 34(ptr) AccessChain 13(outp) 958
+ 1049: 10(float) CompositeExtract 1045 1
+ Store 1048 1049
+ 1050: 34(ptr) AccessChain 13(outp) 962
+ 1051: 10(float) CompositeExtract 1045 2
+ Store 1050 1051
+ 1059: 1056 Load 1058(samp2dr)
+ 1060: 20(fvec2) Load 1033(c2D)
+ 1071: 1052(ivec4) ImageGather 1059 1060 970 ConstOffsets 1070
+ Store 1054(uoutp) 1071
+ 1072: 1029(ptr) AccessChain 1025(arrayedSampler) 1068
+ 1073: 1021 Load 1072
+ 1074: 20(fvec2) Load 1033(c2D)
+ 1075: 11(fvec4) ImageGather 1073 1074 1068
+ 1076: 11(fvec4) Load 13(outp)
+ 1077: 11(fvec4) FAdd 1076 1075
+ Store 13(outp) 1077
+ 1085: 1082 Load 1084(isamp2DA)
+ 1089: 1078(ivec4) ImageGather 1085 1087 25 ConstOffset 1088
+ Store 1080(ioutp) 1089
+ 1090: 1082 Load 1084(isamp2DA)
+ 1091: 1078(ivec4) ImageGather 1090 1087 25 ConstOffset 1088
+ 1092: 1078(ivec4) Load 1080(ioutp)
+ 1093: 1078(ivec4) IAdd 1092 1091
+ Store 1080(ioutp) 1093
+ 1094: 1082 Load 1084(isamp2DA)
+ 1095: 23(int) Load 1027(i)
+ 1096: 24(ivec2) CompositeConstruct 1095 1095
+ 1097: 1078(ivec4) ImageGather 1094 1087 1068 Offset 1096
+ 1098: 1078(ivec4) Load 1080(ioutp)
+ 1099: 1078(ivec4) IAdd 1098 1097
+ Store 1080(ioutp) 1099
+ 1102: 11(fvec4) Load 1101(gl_FragCoord)
+ 1104: 11(fvec4) Load 1103(vl2)
+ 1105: 11(fvec4) FAdd 1102 1104
+ 1106: 11(fvec4) Load 13(outp)
+ 1107: 11(fvec4) FAdd 1106 1105
+ Store 13(outp) 1107
+ 1112: 32(int) Load 1111(u)
+ 1113: 23(int) Load 1027(i)
+ 1114: 32(int) Bitcast 1113
+ 1115: 32(int) UMod 1112 1114
+ Store 1109(uo) 1115
+ 1116: 2 FunctionCall 6(foo23()
+ 1117: 2 FunctionCall 8(doubles()
+ 1121: 23(int) Load 1120(gl_PrimitiveID)
+ Store 1119(id) 1121
Return
FunctionEnd
6(foo23(): 2 Function None 3
diff --git a/Test/baseResults/spv.AnyHitShaderMotion.rahit.out b/Test/baseResults/spv.AnyHitShaderMotion.rahit.out
new file mode 100644
index 0000000..f9e1e1b
--- /dev/null
+++ b/Test/baseResults/spv.AnyHitShaderMotion.rahit.out
@@ -0,0 +1,33 @@
+spv.AnyHitShaderMotion.rahit
+// Module Version 10400
+// Generated by (magic number): 8000a
+// Id's are bound by 14
+
+ Capability RayTracingKHR
+ Capability RayTracingMotionBlurNV
+ Extension "SPV_KHR_ray_tracing"
+ Extension "SPV_NV_ray_tracing_motion_blur"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint AnyHitKHR 4 "main" 10
+ Source GLSL 460
+ SourceExtension "GL_NV_ray_tracing_motion_blur"
+ Name 4 "main"
+ Name 8 "time"
+ Name 10 "gl_CurrentRayTimeNV"
+ Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: TypePointer Input 6(float)
+10(gl_CurrentRayTimeNV): 9(ptr) Variable Input
+ 12: 6(float) Constant 1056964608
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(time): 7(ptr) Variable Function
+ 11: 6(float) Load 10(gl_CurrentRayTimeNV)
+ 13: 6(float) FAdd 11 12
+ Store 8(time) 13
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.ClosestHitShaderMotion.rchit.out b/Test/baseResults/spv.ClosestHitShaderMotion.rchit.out
new file mode 100644
index 0000000..45679eb
--- /dev/null
+++ b/Test/baseResults/spv.ClosestHitShaderMotion.rchit.out
@@ -0,0 +1,58 @@
+spv.ClosestHitShaderMotion.rchit
+// Module Version 10400
+// Generated by (magic number): 8000a
+// Id's are bound by 33
+
+ Capability RayTracingKHR
+ Capability RayTracingMotionBlurNV
+ Extension "SPV_KHR_ray_tracing"
+ Extension "SPV_NV_ray_tracing_motion_blur"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint ClosestHitKHR 4 "main" 10 16 32
+ Source GLSL 460
+ SourceExtension "GL_EXT_ray_tracing"
+ SourceExtension "GL_NV_ray_tracing_motion_blur"
+ Name 4 "main"
+ Name 8 "time"
+ Name 10 "gl_CurrentRayTimeNV"
+ Name 16 "accEXT"
+ Name 32 "incomingPayloadEXT"
+ Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV
+ Decorate 16(accEXT) DescriptorSet 0
+ Decorate 16(accEXT) Binding 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: TypePointer Input 6(float)
+10(gl_CurrentRayTimeNV): 9(ptr) Variable Input
+ 12: 6(float) Constant 1056964608
+ 14: TypeAccelerationStructureKHR
+ 15: TypePointer UniformConstant 14
+ 16(accEXT): 15(ptr) Variable UniformConstant
+ 18: TypeInt 32 0
+ 19: 18(int) Constant 0
+ 20: 18(int) Constant 1
+ 21: 18(int) Constant 2
+ 22: 18(int) Constant 3
+ 23: TypeVector 6(float) 3
+ 24: 23(fvec3) ConstantComposite 12 12 12
+ 25: 6(float) Constant 1065353216
+ 26: 23(fvec3) ConstantComposite 25 25 25
+ 27: 6(float) Constant 1061158912
+ 28: TypeInt 32 1
+ 29: 28(int) Constant 0
+ 30: TypeVector 6(float) 4
+ 31: TypePointer IncomingRayPayloadKHR 30(fvec4)
+32(incomingPayloadEXT): 31(ptr) Variable IncomingRayPayloadKHR
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(time): 7(ptr) Variable Function
+ 11: 6(float) Load 10(gl_CurrentRayTimeNV)
+ 13: 6(float) FAdd 11 12
+ Store 8(time) 13
+ 17: 14 Load 16(accEXT)
+ TraceRayMotionNV 17 19 20 21 22 19 24 12 26 27 25 32(incomingPayloadEXT)
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.IntersectShaderMotion.rint.out b/Test/baseResults/spv.IntersectShaderMotion.rint.out
new file mode 100644
index 0000000..f77c9a8
--- /dev/null
+++ b/Test/baseResults/spv.IntersectShaderMotion.rint.out
@@ -0,0 +1,33 @@
+spv.IntersectShaderMotion.rint
+// Module Version 10400
+// Generated by (magic number): 8000a
+// Id's are bound by 14
+
+ Capability RayTracingKHR
+ Capability RayTracingMotionBlurNV
+ Extension "SPV_KHR_ray_tracing"
+ Extension "SPV_NV_ray_tracing_motion_blur"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint IntersectionKHR 4 "main" 10
+ Source GLSL 460
+ SourceExtension "GL_NV_ray_tracing_motion_blur"
+ Name 4 "main"
+ Name 8 "time"
+ Name 10 "gl_CurrentRayTimeNV"
+ Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: TypePointer Input 6(float)
+10(gl_CurrentRayTimeNV): 9(ptr) Variable Input
+ 12: 6(float) Constant 1056964608
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(time): 7(ptr) Variable Function
+ 11: 6(float) Load 10(gl_CurrentRayTimeNV)
+ 13: 6(float) FAdd 11 12
+ Store 8(time) 13
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.MissShaderMotion.rmiss.out b/Test/baseResults/spv.MissShaderMotion.rmiss.out
new file mode 100644
index 0000000..185c934
--- /dev/null
+++ b/Test/baseResults/spv.MissShaderMotion.rmiss.out
@@ -0,0 +1,58 @@
+spv.MissShaderMotion.rmiss
+// Module Version 10400
+// Generated by (magic number): 8000a
+// Id's are bound by 33
+
+ Capability RayTracingKHR
+ Capability RayTracingMotionBlurNV
+ Extension "SPV_KHR_ray_tracing"
+ Extension "SPV_NV_ray_tracing_motion_blur"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint MissKHR 4 "main" 10 16 32
+ Source GLSL 460
+ SourceExtension "GL_EXT_ray_tracing"
+ SourceExtension "GL_NV_ray_tracing_motion_blur"
+ Name 4 "main"
+ Name 8 "time"
+ Name 10 "gl_CurrentRayTimeNV"
+ Name 16 "accEXT"
+ Name 32 "localPayloadEXT"
+ Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV
+ Decorate 16(accEXT) DescriptorSet 0
+ Decorate 16(accEXT) Binding 0
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypePointer Function 6(float)
+ 9: TypePointer Input 6(float)
+10(gl_CurrentRayTimeNV): 9(ptr) Variable Input
+ 12: 6(float) Constant 1056964608
+ 14: TypeAccelerationStructureKHR
+ 15: TypePointer UniformConstant 14
+ 16(accEXT): 15(ptr) Variable UniformConstant
+ 18: TypeInt 32 0
+ 19: 18(int) Constant 0
+ 20: 18(int) Constant 1
+ 21: 18(int) Constant 2
+ 22: 18(int) Constant 3
+ 23: TypeVector 6(float) 3
+ 24: 23(fvec3) ConstantComposite 12 12 12
+ 25: 6(float) Constant 1065353216
+ 26: 23(fvec3) ConstantComposite 25 25 25
+ 27: 6(float) Constant 1061158912
+ 28: TypeInt 32 1
+ 29: 28(int) Constant 0
+ 30: TypeVector 6(float) 4
+ 31: TypePointer RayPayloadKHR 30(fvec4)
+32(localPayloadEXT): 31(ptr) Variable RayPayloadKHR
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(time): 7(ptr) Variable Function
+ 11: 6(float) Load 10(gl_CurrentRayTimeNV)
+ 13: 6(float) FAdd 11 12
+ Store 8(time) 13
+ 17: 14 Load 16(accEXT)
+ TraceRayMotionNV 17 19 20 21 22 19 24 12 26 27 25 32(localPayloadEXT)
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.Operations.frag.out b/Test/baseResults/spv.Operations.frag.out
index a856e6e..fc8e241 100644
--- a/Test/baseResults/spv.Operations.frag.out
+++ b/Test/baseResults/spv.Operations.frag.out
@@ -1,12 +1,12 @@
spv.Operations.frag
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 583
+// Id's are bound by 591
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 11 22 220 296 314 539 580
+ EntryPoint Fragment 4 "main" 11 22 220 296 314 547 588
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
Name 4 "main"
@@ -26,13 +26,13 @@
Name 324 "lsb"
Name 325 "swizzleTemp"
Name 326 "ResType"
- Name 359 "b"
- Name 396 "ub42"
- Name 539 "FragColor"
- Name 557 "m1"
- Name 564 "m2"
- Name 580 "uiv4"
- Name 582 "ub"
+ Name 367 "b"
+ Name 404 "ub42"
+ Name 547 "FragColor"
+ Name 565 "m1"
+ Name 572 "m2"
+ Name 588 "uiv4"
+ Name 590 "ub"
Decorate 11(uv4) Location 1
Decorate 22(ui) Flat
Decorate 22(ui) Location 3
@@ -41,9 +41,9 @@
Decorate 296(uui) Location 5
Decorate 314(uuv4) Flat
Decorate 314(uuv4) Location 4
- Decorate 539(FragColor) Location 0
- Decorate 580(uiv4) Flat
- Decorate 580(uiv4) Location 0
+ Decorate 547(FragColor) Location 0
+ Decorate 588(uiv4) Flat
+ Decorate 588(uiv4) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -74,34 +74,34 @@
320: TypePointer Function 312(ivec4)
322: TypePointer Function 315(ivec3)
326(ResType): TypeStruct 315(ivec3) 315(ivec3)
- 338: 141(int) Constant 1
- 342: 141(int) Constant 2
- 358: TypePointer Function 186(bool)
- 396(ub42): 188(ptr) Variable Private
- 452: 18(int) Constant 2
- 459: 18(int) Constant 1
- 489: TypeVector 6(float) 3
- 508: 6(float) Constant 1073741824
- 515: 6(float) Constant 1065353216
- 520: 18(int) Constant 66
- 526: 18(int) Constant 17
- 538: TypePointer Output 7(fvec4)
- 539(FragColor): 538(ptr) Variable Output
- 555: TypeMatrix 7(fvec4) 4
- 556: TypePointer Function 555
- 558: 6(float) Constant 0
- 559: 7(fvec4) ConstantComposite 515 558 558 558
- 560: 7(fvec4) ConstantComposite 558 515 558 558
- 561: 7(fvec4) ConstantComposite 558 558 515 558
- 562: 7(fvec4) ConstantComposite 558 558 558 515
- 563: 555 ConstantComposite 559 560 561 562
- 565: 7(fvec4) ConstantComposite 558 558 558 558
- 566: 555 ConstantComposite 565 565 565 565
- 578: TypeVector 18(int) 4
- 579: TypePointer Input 578(ivec4)
- 580(uiv4): 579(ptr) Variable Input
- 581: TypePointer Private 186(bool)
- 582(ub): 581(ptr) Variable Private
+ 333: 141(int) Constant 1
+ 336: 141(int) Constant 2
+ 366: TypePointer Function 186(bool)
+ 404(ub42): 188(ptr) Variable Private
+ 460: 18(int) Constant 2
+ 467: 18(int) Constant 1
+ 497: TypeVector 6(float) 3
+ 516: 6(float) Constant 1073741824
+ 523: 6(float) Constant 1065353216
+ 528: 18(int) Constant 66
+ 534: 18(int) Constant 17
+ 546: TypePointer Output 7(fvec4)
+ 547(FragColor): 546(ptr) Variable Output
+ 563: TypeMatrix 7(fvec4) 4
+ 564: TypePointer Function 563
+ 566: 6(float) Constant 0
+ 567: 7(fvec4) ConstantComposite 523 566 566 566
+ 568: 7(fvec4) ConstantComposite 566 523 566 566
+ 569: 7(fvec4) ConstantComposite 566 566 523 566
+ 570: 7(fvec4) ConstantComposite 566 566 566 523
+ 571: 563 ConstantComposite 567 568 569 570
+ 573: 7(fvec4) ConstantComposite 566 566 566 566
+ 574: 563 ConstantComposite 573 573 573 573
+ 586: TypeVector 18(int) 4
+ 587: TypePointer Input 586(ivec4)
+ 588(uiv4): 587(ptr) Variable Input
+ 589: TypePointer Private 186(bool)
+ 590(ub): 589(ptr) Variable Private
4(main): 2 Function None 3
5: Label
9(v): 8(ptr) Variable Function
@@ -113,11 +113,11 @@
323(swizzleTemp): 322(ptr) Variable Function
324(lsb): 320(ptr) Variable Function
325(swizzleTemp): 322(ptr) Variable Function
- 359(b): 358(ptr) Variable Function
- 541: 8(ptr) Variable Function
- 557(m1): 556(ptr) Variable Function
- 564(m2): 556(ptr) Variable Function
- 568: 556(ptr) Variable Function
+ 367(b): 366(ptr) Variable Function
+ 549: 8(ptr) Variable Function
+ 565(m1): 564(ptr) Variable Function
+ 572(m2): 564(ptr) Variable Function
+ 576: 564(ptr) Variable Function
12: 7(fvec4) Load 11(uv4)
13: 7(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 12
Store 9(v) 13
@@ -469,306 +469,318 @@
329: 315(ivec3) CompositeExtract 327 1
Store 323(swizzleTemp) 329
330: 315(ivec3) Load 323(swizzleTemp)
- 331: 312(ivec4) Load 321(msb)
- 332: 312(ivec4) VectorShuffle 331 330 4 5 6 3
- Store 321(msb) 332
- 333: 315(ivec3) Load 325(swizzleTemp)
- 334: 312(ivec4) Load 324(lsb)
- 335: 312(ivec4) VectorShuffle 334 333 4 5 6 3
- Store 324(lsb) 335
- 336: 292(ptr) AccessChain 321(msb) 142
- 337: 141(int) Load 336
- 339: 292(ptr) AccessChain 321(msb) 338
- 340: 141(int) Load 339
- 341: 141(int) IAdd 337 340
- 343: 292(ptr) AccessChain 321(msb) 342
- 344: 141(int) Load 343
- 345: 141(int) IAdd 341 344
- 346: 141(int) Load 293(u)
- 347: 141(int) IAdd 346 345
- Store 293(u) 347
- 348: 292(ptr) AccessChain 324(lsb) 142
+ 331: 292(ptr) AccessChain 321(msb) 142
+ 332: 141(int) CompositeExtract 330 0
+ Store 331 332
+ 334: 292(ptr) AccessChain 321(msb) 333
+ 335: 141(int) CompositeExtract 330 1
+ Store 334 335
+ 337: 292(ptr) AccessChain 321(msb) 336
+ 338: 141(int) CompositeExtract 330 2
+ Store 337 338
+ 339: 315(ivec3) Load 325(swizzleTemp)
+ 340: 292(ptr) AccessChain 324(lsb) 142
+ 341: 141(int) CompositeExtract 339 0
+ Store 340 341
+ 342: 292(ptr) AccessChain 324(lsb) 333
+ 343: 141(int) CompositeExtract 339 1
+ Store 342 343
+ 344: 292(ptr) AccessChain 324(lsb) 336
+ 345: 141(int) CompositeExtract 339 2
+ Store 344 345
+ 346: 292(ptr) AccessChain 321(msb) 142
+ 347: 141(int) Load 346
+ 348: 292(ptr) AccessChain 321(msb) 333
349: 141(int) Load 348
- 350: 292(ptr) AccessChain 324(lsb) 338
- 351: 141(int) Load 350
- 352: 141(int) IAdd 349 351
- 353: 292(ptr) AccessChain 324(lsb) 342
- 354: 141(int) Load 353
- 355: 141(int) IAdd 352 354
- 356: 141(int) Load 293(u)
- 357: 141(int) IAdd 356 355
- Store 293(u) 357
- 360: 6(float) Load 220(uf)
- 361: 186(bool) IsNan 360
- Store 359(b) 361
- 362: 6(float) Load 196(f)
- 363: 186(bool) IsInf 362
- Store 359(b) 363
- 364: 7(fvec4) Load 9(v)
- 365: 7(fvec4) Load 11(uv4)
- 366: 187(bvec4) FOrdLessThan 364 365
- 367: 186(bool) Any 366
- Store 359(b) 367
- 368: 186(bool) Load 359(b)
- SelectionMerge 370 None
- BranchConditional 368 369 370
- 369: Label
- 371: 7(fvec4) Load 9(v)
- 372: 7(fvec4) Load 11(uv4)
- 373: 187(bvec4) FOrdLessThanEqual 371 372
- 374: 186(bool) Any 373
- Branch 370
- 370: Label
- 375: 186(bool) Phi 368 5 374 369
- Store 359(b) 375
- 376: 186(bool) Load 359(b)
+ 350: 141(int) IAdd 347 349
+ 351: 292(ptr) AccessChain 321(msb) 336
+ 352: 141(int) Load 351
+ 353: 141(int) IAdd 350 352
+ 354: 141(int) Load 293(u)
+ 355: 141(int) IAdd 354 353
+ Store 293(u) 355
+ 356: 292(ptr) AccessChain 324(lsb) 142
+ 357: 141(int) Load 356
+ 358: 292(ptr) AccessChain 324(lsb) 333
+ 359: 141(int) Load 358
+ 360: 141(int) IAdd 357 359
+ 361: 292(ptr) AccessChain 324(lsb) 336
+ 362: 141(int) Load 361
+ 363: 141(int) IAdd 360 362
+ 364: 141(int) Load 293(u)
+ 365: 141(int) IAdd 364 363
+ Store 293(u) 365
+ 368: 6(float) Load 220(uf)
+ 369: 186(bool) IsNan 368
+ Store 367(b) 369
+ 370: 6(float) Load 196(f)
+ 371: 186(bool) IsInf 370
+ Store 367(b) 371
+ 372: 7(fvec4) Load 9(v)
+ 373: 7(fvec4) Load 11(uv4)
+ 374: 187(bvec4) FOrdLessThan 372 373
+ 375: 186(bool) Any 374
+ Store 367(b) 375
+ 376: 186(bool) Load 367(b)
SelectionMerge 378 None
BranchConditional 376 377 378
377: Label
379: 7(fvec4) Load 9(v)
380: 7(fvec4) Load 11(uv4)
- 381: 187(bvec4) FOrdGreaterThan 379 380
+ 381: 187(bvec4) FOrdLessThanEqual 379 380
382: 186(bool) Any 381
Branch 378
378: Label
- 383: 186(bool) Phi 376 370 382 377
- Store 359(b) 383
- 384: 186(bool) Load 359(b)
+ 383: 186(bool) Phi 376 5 382 377
+ Store 367(b) 383
+ 384: 186(bool) Load 367(b)
SelectionMerge 386 None
BranchConditional 384 385 386
385: Label
387: 7(fvec4) Load 9(v)
388: 7(fvec4) Load 11(uv4)
- 389: 187(bvec4) FOrdGreaterThanEqual 387 388
+ 389: 187(bvec4) FOrdGreaterThan 387 388
390: 186(bool) Any 389
Branch 386
386: Label
391: 186(bool) Phi 384 378 390 385
- Store 359(b) 391
- 392: 186(bool) Load 359(b)
+ Store 367(b) 391
+ 392: 186(bool) Load 367(b)
SelectionMerge 394 None
BranchConditional 392 393 394
393: Label
- 395: 187(bvec4) Load 189(ub41)
- 397: 187(bvec4) Load 396(ub42)
- 398: 187(bvec4) LogicalEqual 395 397
- 399: 186(bool) Any 398
+ 395: 7(fvec4) Load 9(v)
+ 396: 7(fvec4) Load 11(uv4)
+ 397: 187(bvec4) FOrdGreaterThanEqual 395 396
+ 398: 186(bool) Any 397
Branch 394
394: Label
- 400: 186(bool) Phi 392 386 399 393
- Store 359(b) 400
- 401: 186(bool) Load 359(b)
- SelectionMerge 403 None
- BranchConditional 401 402 403
- 402: Label
- 404: 187(bvec4) Load 189(ub41)
- 405: 187(bvec4) Load 396(ub42)
- 406: 187(bvec4) LogicalNotEqual 404 405
+ 399: 186(bool) Phi 392 386 398 393
+ Store 367(b) 399
+ 400: 186(bool) Load 367(b)
+ SelectionMerge 402 None
+ BranchConditional 400 401 402
+ 401: Label
+ 403: 187(bvec4) Load 189(ub41)
+ 405: 187(bvec4) Load 404(ub42)
+ 406: 187(bvec4) LogicalEqual 403 405
407: 186(bool) Any 406
- Branch 403
- 403: Label
- 408: 186(bool) Phi 401 394 407 402
- Store 359(b) 408
- 409: 186(bool) Load 359(b)
- 410: 187(bvec4) Load 189(ub41)
- 411: 186(bool) Any 410
- 412: 186(bool) LogicalAnd 409 411
- Store 359(b) 412
- 413: 186(bool) Load 359(b)
- 414: 187(bvec4) Load 189(ub41)
- 415: 186(bool) All 414
- 416: 186(bool) LogicalAnd 413 415
- Store 359(b) 416
- 417: 186(bool) Load 359(b)
- SelectionMerge 419 None
- BranchConditional 417 418 419
- 418: Label
- 420: 187(bvec4) Load 189(ub41)
- 421: 187(bvec4) LogicalNot 420
- 422: 186(bool) Any 421
- Branch 419
- 419: Label
- 423: 186(bool) Phi 417 403 422 418
- Store 359(b) 423
- 424: 18(int) Load 20(i)
- 425: 18(int) Load 22(ui)
- 426: 18(int) IAdd 424 425
- 427: 18(int) Load 20(i)
- 428: 18(int) IMul 426 427
- 429: 18(int) Load 22(ui)
- 430: 18(int) ISub 428 429
- 431: 18(int) Load 20(i)
- 432: 18(int) SDiv 430 431
- Store 20(i) 432
- 433: 18(int) Load 20(i)
- 434: 18(int) Load 22(ui)
- 435: 18(int) SMod 433 434
- Store 20(i) 435
- 436: 18(int) Load 20(i)
+ Branch 402
+ 402: Label
+ 408: 186(bool) Phi 400 394 407 401
+ Store 367(b) 408
+ 409: 186(bool) Load 367(b)
+ SelectionMerge 411 None
+ BranchConditional 409 410 411
+ 410: Label
+ 412: 187(bvec4) Load 189(ub41)
+ 413: 187(bvec4) Load 404(ub42)
+ 414: 187(bvec4) LogicalNotEqual 412 413
+ 415: 186(bool) Any 414
+ Branch 411
+ 411: Label
+ 416: 186(bool) Phi 409 402 415 410
+ Store 367(b) 416
+ 417: 186(bool) Load 367(b)
+ 418: 187(bvec4) Load 189(ub41)
+ 419: 186(bool) Any 418
+ 420: 186(bool) LogicalAnd 417 419
+ Store 367(b) 420
+ 421: 186(bool) Load 367(b)
+ 422: 187(bvec4) Load 189(ub41)
+ 423: 186(bool) All 422
+ 424: 186(bool) LogicalAnd 421 423
+ Store 367(b) 424
+ 425: 186(bool) Load 367(b)
+ SelectionMerge 427 None
+ BranchConditional 425 426 427
+ 426: Label
+ 428: 187(bvec4) Load 189(ub41)
+ 429: 187(bvec4) LogicalNot 428
+ 430: 186(bool) Any 429
+ Branch 427
+ 427: Label
+ 431: 186(bool) Phi 425 411 430 426
+ Store 367(b) 431
+ 432: 18(int) Load 20(i)
+ 433: 18(int) Load 22(ui)
+ 434: 18(int) IAdd 432 433
+ 435: 18(int) Load 20(i)
+ 436: 18(int) IMul 434 435
437: 18(int) Load 22(ui)
- 438: 186(bool) IEqual 436 437
- 439: 186(bool) LogicalNot 438
- SelectionMerge 441 None
- BranchConditional 439 440 441
- 440: Label
- 442: 18(int) Load 20(i)
- 443: 18(int) Load 22(ui)
- 444: 186(bool) INotEqual 442 443
- SelectionMerge 446 None
- BranchConditional 444 445 446
- 445: Label
- 447: 18(int) Load 20(i)
- 448: 18(int) Load 22(ui)
- 449: 186(bool) IEqual 447 448
- Branch 446
- 446: Label
- 450: 186(bool) Phi 444 440 449 445
- 451: 18(int) Load 20(i)
- 453: 186(bool) INotEqual 451 452
- 454: 186(bool) LogicalNotEqual 450 453
- Branch 441
- 441: Label
- 455: 186(bool) Phi 438 419 454 446
- SelectionMerge 457 None
- BranchConditional 455 456 457
- 456: Label
- 458: 18(int) Load 20(i)
- 460: 18(int) IAdd 458 459
- Store 20(i) 460
- Branch 457
- 457: Label
- 461: 6(float) Load 220(uf)
- 462: 6(float) Load 220(uf)
- 463: 6(float) FAdd 461 462
- 464: 6(float) Load 220(uf)
- 465: 6(float) FMul 463 464
- 466: 6(float) Load 220(uf)
- 467: 6(float) FSub 465 466
- 468: 6(float) Load 220(uf)
- 469: 6(float) FDiv 467 468
- Store 196(f) 469
- 470: 7(fvec4) Load 9(v)
- 471: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 470
- 472: 6(float) Load 196(f)
- 473: 6(float) FAdd 472 471
- Store 196(f) 473
- 474: 7(fvec4) Load 9(v)
- 475: 7(fvec4) Load 9(v)
- 476: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 474 475
- 477: 6(float) Load 196(f)
- 478: 6(float) FAdd 477 476
- Store 196(f) 478
- 479: 7(fvec4) Load 9(v)
- 480: 7(fvec4) Load 9(v)
- 481: 6(float) Dot 479 480
- 482: 6(float) Load 196(f)
- 483: 6(float) FAdd 482 481
- Store 196(f) 483
- 484: 6(float) Load 196(f)
- 485: 6(float) Load 220(uf)
- 486: 6(float) FMul 484 485
- 487: 6(float) Load 196(f)
- 488: 6(float) FAdd 487 486
- Store 196(f) 488
- 490: 7(fvec4) Load 9(v)
- 491: 489(fvec3) VectorShuffle 490 490 0 1 2
- 492: 7(fvec4) Load 9(v)
- 493: 489(fvec3) VectorShuffle 492 492 0 1 2
- 494: 489(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 491 493
- 495: 6(float) CompositeExtract 494 0
- 496: 6(float) Load 196(f)
- 497: 6(float) FAdd 496 495
- Store 196(f) 497
- 498: 6(float) Load 196(f)
- 499: 6(float) Load 220(uf)
- 500: 186(bool) FOrdEqual 498 499
- 501: 186(bool) LogicalNot 500
- SelectionMerge 503 None
- BranchConditional 501 502 503
- 502: Label
- 504: 6(float) Load 196(f)
- 505: 6(float) Load 220(uf)
- 506: 186(bool) FUnordNotEqual 504 505
- 507: 6(float) Load 196(f)
- 509: 186(bool) FUnordNotEqual 507 508
- 510: 186(bool) LogicalAnd 506 509
- Branch 503
- 503: Label
- 511: 186(bool) Phi 500 457 510 502
- SelectionMerge 513 None
- BranchConditional 511 512 513
- 512: Label
- 514: 6(float) Load 196(f)
- 516: 6(float) FAdd 514 515
- Store 196(f) 516
- Branch 513
- 513: Label
- 517: 18(int) Load 22(ui)
- 518: 18(int) Load 20(i)
- 519: 18(int) BitwiseAnd 518 517
- Store 20(i) 519
- 521: 18(int) Load 20(i)
- 522: 18(int) BitwiseOr 521 520
- Store 20(i) 522
- 523: 18(int) Load 22(ui)
- 524: 18(int) Load 20(i)
- 525: 18(int) BitwiseXor 524 523
- Store 20(i) 525
- 527: 18(int) Load 20(i)
- 528: 18(int) SMod 527 526
- Store 20(i) 528
+ 438: 18(int) ISub 436 437
+ 439: 18(int) Load 20(i)
+ 440: 18(int) SDiv 438 439
+ Store 20(i) 440
+ 441: 18(int) Load 20(i)
+ 442: 18(int) Load 22(ui)
+ 443: 18(int) SMod 441 442
+ Store 20(i) 443
+ 444: 18(int) Load 20(i)
+ 445: 18(int) Load 22(ui)
+ 446: 186(bool) IEqual 444 445
+ 447: 186(bool) LogicalNot 446
+ SelectionMerge 449 None
+ BranchConditional 447 448 449
+ 448: Label
+ 450: 18(int) Load 20(i)
+ 451: 18(int) Load 22(ui)
+ 452: 186(bool) INotEqual 450 451
+ SelectionMerge 454 None
+ BranchConditional 452 453 454
+ 453: Label
+ 455: 18(int) Load 20(i)
+ 456: 18(int) Load 22(ui)
+ 457: 186(bool) IEqual 455 456
+ Branch 454
+ 454: Label
+ 458: 186(bool) Phi 452 448 457 453
+ 459: 18(int) Load 20(i)
+ 461: 186(bool) INotEqual 459 460
+ 462: 186(bool) LogicalNotEqual 458 461
+ Branch 449
+ 449: Label
+ 463: 186(bool) Phi 446 427 462 454
+ SelectionMerge 465 None
+ BranchConditional 463 464 465
+ 464: Label
+ 466: 18(int) Load 20(i)
+ 468: 18(int) IAdd 466 467
+ Store 20(i) 468
+ Branch 465
+ 465: Label
+ 469: 6(float) Load 220(uf)
+ 470: 6(float) Load 220(uf)
+ 471: 6(float) FAdd 469 470
+ 472: 6(float) Load 220(uf)
+ 473: 6(float) FMul 471 472
+ 474: 6(float) Load 220(uf)
+ 475: 6(float) FSub 473 474
+ 476: 6(float) Load 220(uf)
+ 477: 6(float) FDiv 475 476
+ Store 196(f) 477
+ 478: 7(fvec4) Load 9(v)
+ 479: 6(float) ExtInst 1(GLSL.std.450) 66(Length) 478
+ 480: 6(float) Load 196(f)
+ 481: 6(float) FAdd 480 479
+ Store 196(f) 481
+ 482: 7(fvec4) Load 9(v)
+ 483: 7(fvec4) Load 9(v)
+ 484: 6(float) ExtInst 1(GLSL.std.450) 67(Distance) 482 483
+ 485: 6(float) Load 196(f)
+ 486: 6(float) FAdd 485 484
+ Store 196(f) 486
+ 487: 7(fvec4) Load 9(v)
+ 488: 7(fvec4) Load 9(v)
+ 489: 6(float) Dot 487 488
+ 490: 6(float) Load 196(f)
+ 491: 6(float) FAdd 490 489
+ Store 196(f) 491
+ 492: 6(float) Load 196(f)
+ 493: 6(float) Load 220(uf)
+ 494: 6(float) FMul 492 493
+ 495: 6(float) Load 196(f)
+ 496: 6(float) FAdd 495 494
+ Store 196(f) 496
+ 498: 7(fvec4) Load 9(v)
+ 499: 497(fvec3) VectorShuffle 498 498 0 1 2
+ 500: 7(fvec4) Load 9(v)
+ 501: 497(fvec3) VectorShuffle 500 500 0 1 2
+ 502: 497(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 499 501
+ 503: 6(float) CompositeExtract 502 0
+ 504: 6(float) Load 196(f)
+ 505: 6(float) FAdd 504 503
+ Store 196(f) 505
+ 506: 6(float) Load 196(f)
+ 507: 6(float) Load 220(uf)
+ 508: 186(bool) FOrdEqual 506 507
+ 509: 186(bool) LogicalNot 508
+ SelectionMerge 511 None
+ BranchConditional 509 510 511
+ 510: Label
+ 512: 6(float) Load 196(f)
+ 513: 6(float) Load 220(uf)
+ 514: 186(bool) FUnordNotEqual 512 513
+ 515: 6(float) Load 196(f)
+ 517: 186(bool) FUnordNotEqual 515 516
+ 518: 186(bool) LogicalAnd 514 517
+ Branch 511
+ 511: Label
+ 519: 186(bool) Phi 508 465 518 510
+ SelectionMerge 521 None
+ BranchConditional 519 520 521
+ 520: Label
+ 522: 6(float) Load 196(f)
+ 524: 6(float) FAdd 522 523
+ Store 196(f) 524
+ Branch 521
+ 521: Label
+ 525: 18(int) Load 22(ui)
+ 526: 18(int) Load 20(i)
+ 527: 18(int) BitwiseAnd 526 525
+ Store 20(i) 527
529: 18(int) Load 20(i)
- 530: 18(int) ShiftRightArithmetic 529 452
+ 530: 18(int) BitwiseOr 529 528
Store 20(i) 530
531: 18(int) Load 22(ui)
532: 18(int) Load 20(i)
- 533: 18(int) ShiftLeftLogical 532 531
+ 533: 18(int) BitwiseXor 532 531
Store 20(i) 533
- 534: 18(int) Load 20(i)
- 535: 18(int) Not 534
- Store 20(i) 535
- 536: 186(bool) Load 359(b)
- 537: 186(bool) LogicalNot 536
- Store 359(b) 537
- 540: 186(bool) Load 359(b)
- SelectionMerge 543 None
- BranchConditional 540 542 552
- 542: Label
- 544: 18(int) Load 20(i)
- 545: 6(float) ConvertSToF 544
- 546: 7(fvec4) CompositeConstruct 545 545 545 545
- 547: 6(float) Load 196(f)
- 548: 7(fvec4) CompositeConstruct 547 547 547 547
- 549: 7(fvec4) FAdd 546 548
- 550: 7(fvec4) Load 9(v)
- 551: 7(fvec4) FAdd 549 550
- Store 541 551
- Branch 543
- 552: Label
- 553: 7(fvec4) Load 9(v)
- Store 541 553
- Branch 543
- 543: Label
- 554: 7(fvec4) Load 541
- Store 539(FragColor) 554
- Store 557(m1) 563
- Store 564(m2) 566
- 567: 186(bool) Load 359(b)
- SelectionMerge 570 None
- BranchConditional 567 569 572
- 569: Label
- 571: 555 Load 557(m1)
- Store 568 571
- Branch 570
- 572: Label
- 573: 555 Load 564(m2)
- Store 568 573
- Branch 570
- 570: Label
- 574: 8(ptr) AccessChain 568 459
- 575: 7(fvec4) Load 574
- 576: 7(fvec4) Load 539(FragColor)
- 577: 7(fvec4) FAdd 576 575
- Store 539(FragColor) 577
+ 535: 18(int) Load 20(i)
+ 536: 18(int) SMod 535 534
+ Store 20(i) 536
+ 537: 18(int) Load 20(i)
+ 538: 18(int) ShiftRightArithmetic 537 460
+ Store 20(i) 538
+ 539: 18(int) Load 22(ui)
+ 540: 18(int) Load 20(i)
+ 541: 18(int) ShiftLeftLogical 540 539
+ Store 20(i) 541
+ 542: 18(int) Load 20(i)
+ 543: 18(int) Not 542
+ Store 20(i) 543
+ 544: 186(bool) Load 367(b)
+ 545: 186(bool) LogicalNot 544
+ Store 367(b) 545
+ 548: 186(bool) Load 367(b)
+ SelectionMerge 551 None
+ BranchConditional 548 550 560
+ 550: Label
+ 552: 18(int) Load 20(i)
+ 553: 6(float) ConvertSToF 552
+ 554: 7(fvec4) CompositeConstruct 553 553 553 553
+ 555: 6(float) Load 196(f)
+ 556: 7(fvec4) CompositeConstruct 555 555 555 555
+ 557: 7(fvec4) FAdd 554 556
+ 558: 7(fvec4) Load 9(v)
+ 559: 7(fvec4) FAdd 557 558
+ Store 549 559
+ Branch 551
+ 560: Label
+ 561: 7(fvec4) Load 9(v)
+ Store 549 561
+ Branch 551
+ 551: Label
+ 562: 7(fvec4) Load 549
+ Store 547(FragColor) 562
+ Store 565(m1) 571
+ Store 572(m2) 574
+ 575: 186(bool) Load 367(b)
+ SelectionMerge 578 None
+ BranchConditional 575 577 580
+ 577: Label
+ 579: 563 Load 565(m1)
+ Store 576 579
+ Branch 578
+ 580: Label
+ 581: 563 Load 572(m2)
+ Store 576 581
+ Branch 578
+ 578: Label
+ 582: 8(ptr) AccessChain 576 467
+ 583: 7(fvec4) Load 582
+ 584: 7(fvec4) Load 547(FragColor)
+ 585: 7(fvec4) FAdd 584 583
+ Store 547(FragColor) 585
Return
FunctionEnd
diff --git a/Test/baseResults/spv.RayGenShader.rgen.out b/Test/baseResults/spv.RayGenShader.rgen.out
index f8f3fd6..b708537 100644
--- a/Test/baseResults/spv.RayGenShader.rgen.out
+++ b/Test/baseResults/spv.RayGenShader.rgen.out
@@ -31,8 +31,6 @@
MemberDecorate 37(block) 0 Offset 0
MemberDecorate 37(block) 1 Offset 16
Decorate 37(block) BufferBlock
- Decorate 39 DescriptorSet 0
- Decorate 39 Binding 2
Decorate 50(accNV1) DescriptorSet 0
Decorate 50(accNV1) Binding 1
Decorate 53(payload) Location 0
diff --git a/Test/baseResults/spv.RayGenShader11.rgen.out b/Test/baseResults/spv.RayGenShader11.rgen.out
index f6b79c5..48509b0 100644
--- a/Test/baseResults/spv.RayGenShader11.rgen.out
+++ b/Test/baseResults/spv.RayGenShader11.rgen.out
@@ -30,8 +30,6 @@
MemberDecorate 37(block) 0 Offset 0
MemberDecorate 37(block) 1 Offset 16
Decorate 37(block) Block
- Decorate 39 DescriptorSet 0
- Decorate 39 Binding 1
Decorate 52(payload) Location 0
2: TypeVoid
3: TypeFunction 2
diff --git a/Test/baseResults/spv.RayGenShaderArray.rgen.out b/Test/baseResults/spv.RayGenShaderArray.rgen.out
index 63a04b3..8ddfca9 100644
--- a/Test/baseResults/spv.RayGenShaderArray.rgen.out
+++ b/Test/baseResults/spv.RayGenShaderArray.rgen.out
@@ -37,8 +37,6 @@
MemberDecorate 34(block) 1 Offset 16
MemberDecorate 34(block) 2 Offset 28
Decorate 34(block) BufferBlock
- Decorate 36 DescriptorSet 0
- Decorate 36 Binding 2
Decorate 60(accNV1) DescriptorSet 0
Decorate 60(accNV1) Binding 1
Decorate 75 DecorationNonUniformEXT
diff --git a/Test/baseResults/spv.RayGenShaderMotion.rgen.out b/Test/baseResults/spv.RayGenShaderMotion.rgen.out
new file mode 100644
index 0000000..a6af236
--- /dev/null
+++ b/Test/baseResults/spv.RayGenShaderMotion.rgen.out
@@ -0,0 +1,80 @@
+spv.RayGenShaderMotion.rgen
+// Module Version 10400
+// Generated by (magic number): 8000a
+// Id's are bound by 47
+
+ Capability RayTracingKHR
+ Capability RayTracingMotionBlurNV
+ Extension "SPV_KHR_ray_tracing"
+ Extension "SPV_NV_ray_tracing_motion_blur"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint RayGenerationKHR 4 "main" 11 21 29 46
+ Source GLSL 460
+ SourceExtension "GL_EXT_ray_tracing"
+ SourceExtension "GL_NV_ray_tracing_motion_blur"
+ Name 4 "main"
+ Name 8 "lx"
+ Name 11 "gl_LaunchIDEXT"
+ Name 16 "ly"
+ Name 20 "sx"
+ Name 21 "gl_LaunchSizeEXT"
+ Name 24 "sy"
+ Name 29 "accEXT"
+ Name 46 "payloadEXT"
+ Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
+ Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
+ Decorate 29(accEXT) DescriptorSet 0
+ Decorate 29(accEXT) Binding 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_LaunchIDEXT): 10(ptr) Variable Input
+ 12: 6(int) Constant 0
+ 13: TypePointer Input 6(int)
+ 17: 6(int) Constant 1
+21(gl_LaunchSizeEXT): 10(ptr) Variable Input
+ 27: TypeAccelerationStructureKHR
+ 28: TypePointer UniformConstant 27
+ 29(accEXT): 28(ptr) Variable UniformConstant
+ 35: TypeFloat 32
+ 36: TypeVector 35(float) 3
+ 37: 35(float) Constant 1056964608
+ 38: 36(fvec3) ConstantComposite 37 37 37
+ 39: 35(float) Constant 1065353216
+ 40: 36(fvec3) ConstantComposite 39 39 39
+ 41: 35(float) Constant 1061158912
+ 42: TypeInt 32 1
+ 43: 42(int) Constant 0
+ 44: TypeVector 35(float) 4
+ 45: TypePointer RayPayloadKHR 44(fvec4)
+ 46(payloadEXT): 45(ptr) Variable RayPayloadKHR
+ 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_LaunchIDEXT) 12
+ 15: 6(int) Load 14
+ Store 8(lx) 15
+ 18: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 17
+ 19: 6(int) Load 18
+ Store 16(ly) 19
+ 22: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 12
+ 23: 6(int) Load 22
+ Store 20(sx) 23
+ 25: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 17
+ 26: 6(int) Load 25
+ Store 24(sy) 26
+ 30: 27 Load 29(accEXT)
+ 31: 6(int) Load 8(lx)
+ 32: 6(int) Load 16(ly)
+ 33: 6(int) Load 20(sx)
+ 34: 6(int) Load 24(sy)
+ TraceRayMotionNV 30 31 32 33 34 12 38 37 40 41 37 46(payloadEXT)
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.accessChain.frag.out b/Test/baseResults/spv.accessChain.frag.out
index 753688f..379131b 100644
--- a/Test/baseResults/spv.accessChain.frag.out
+++ b/Test/baseResults/spv.accessChain.frag.out
@@ -1,12 +1,12 @@
spv.accessChain.frag
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 222
+// Id's are bound by 228
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 69 170
+ EntryPoint Fragment 4 "main" 69 176
ExecutionMode 4 OriginUpperLeft
Source GLSL 420
Name 4 "main"
@@ -54,24 +54,24 @@
Name 64 "i"
Name 65 "comp"
Name 69 "OutColor"
- Name 165 "s"
- Name 170 "u"
- Name 171 "param"
- Name 175 "param"
- Name 179 "param"
- Name 183 "param"
- Name 187 "param"
- Name 191 "param"
- Name 195 "param"
- Name 199 "param"
- Name 203 "param"
- Name 207 "param"
- Name 211 "param"
- Name 215 "param"
- Name 219 "param"
+ Name 171 "s"
+ Name 176 "u"
+ Name 177 "param"
+ Name 181 "param"
+ Name 185 "param"
+ Name 189 "param"
+ Name 193 "param"
+ Name 197 "param"
+ Name 201 "param"
+ Name 205 "param"
+ Name 209 "param"
+ Name 213 "param"
+ Name 217 "param"
+ Name 221 "param"
+ Name 225 "param"
Decorate 69(OutColor) Location 0
- Decorate 170(u) Flat
- Decorate 170(u) Location 0
+ Decorate 176(u) Flat
+ Decorate 176(u) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -87,89 +87,89 @@
71: TypeInt 32 0
72: 71(int) Constant 0
99: TypeVector 6(float) 2
- 113: 71(int) Constant 2
- 140: TypePointer Output 6(float)
- 147: 71(int) Constant 1
- 148: TypeVector 71(int) 2
- 149: 148(ivec2) ConstantComposite 113 147
- 158: TypeVector 71(int) 3
- 159: 158(ivec3) ConstantComposite 113 147 72
- 162: 6(float) Constant 0
- 163: 7(fvec3) ConstantComposite 162 162 162
- 164: TypePointer Function 8(S)
- 169: TypePointer Input 13(int)
- 170(u): 169(ptr) Variable Input
+ 111: TypePointer Output 6(float)
+ 114: 71(int) Constant 1
+ 117: 71(int) Constant 2
+ 154: TypeVector 71(int) 2
+ 155: 154(ivec2) ConstantComposite 117 114
+ 164: TypeVector 71(int) 3
+ 165: 164(ivec3) ConstantComposite 117 114 72
+ 168: 6(float) Constant 0
+ 169: 7(fvec3) ConstantComposite 168 168 168
+ 170: TypePointer Function 8(S)
+ 175: TypePointer Input 13(int)
+ 176(u): 175(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 165(s): 164(ptr) Variable Function
- 171(param): 14(ptr) Variable Function
- 175(param): 14(ptr) Variable Function
- 179(param): 14(ptr) Variable Function
- 183(param): 14(ptr) Variable Function
- 187(param): 14(ptr) Variable Function
- 191(param): 14(ptr) Variable Function
- 195(param): 14(ptr) Variable Function
- 199(param): 14(ptr) Variable Function
- 203(param): 14(ptr) Variable Function
- 207(param): 14(ptr) Variable Function
- 211(param): 14(ptr) Variable Function
- 215(param): 14(ptr) Variable Function
- 219(param): 14(ptr) Variable Function
- Store 69(OutColor) 163
- 166: 8(S) Load 165(s)
- 167: 2 FunctionCall 11(GetColor1(struct-S-vf31;) 166
- 168: 8(S) Load 165(s)
- 172: 13(int) Load 170(u)
- Store 171(param) 172
- 173: 2 FunctionCall 18(GetColor2(struct-S-vf31;i1;) 168 171(param)
- 174: 8(S) Load 165(s)
- 176: 13(int) Load 170(u)
- Store 175(param) 176
- 177: 2 FunctionCall 22(GetColor3(struct-S-vf31;i1;) 174 175(param)
- 178: 8(S) Load 165(s)
- 180: 13(int) Load 170(u)
- Store 179(param) 180
- 181: 2 FunctionCall 26(GetColor4(struct-S-vf31;i1;) 178 179(param)
- 182: 8(S) Load 165(s)
- 184: 13(int) Load 170(u)
- Store 183(param) 184
- 185: 2 FunctionCall 30(GetColor5(struct-S-vf31;i1;) 182 183(param)
- 186: 8(S) Load 165(s)
- 188: 13(int) Load 170(u)
- Store 187(param) 188
- 189: 2 FunctionCall 34(GetColor6(struct-S-vf31;i1;) 186 187(param)
- 190: 8(S) Load 165(s)
- 192: 13(int) Load 170(u)
- Store 191(param) 192
- 193: 2 FunctionCall 38(GetColor7(struct-S-vf31;i1;) 190 191(param)
- 194: 8(S) Load 165(s)
- 196: 13(int) Load 170(u)
- Store 195(param) 196
- 197: 2 FunctionCall 42(GetColor8(struct-S-vf31;i1;) 194 195(param)
- 198: 8(S) Load 165(s)
- 200: 13(int) Load 170(u)
- Store 199(param) 200
- 201: 2 FunctionCall 46(GetColor9(struct-S-vf31;i1;) 198 199(param)
- 202: 8(S) Load 165(s)
- 204: 13(int) Load 170(u)
- Store 203(param) 204
- 205: 2 FunctionCall 50(GetColor10(struct-S-vf31;i1;) 202 203(param)
- 206: 8(S) Load 165(s)
- 208: 13(int) Load 170(u)
- Store 207(param) 208
- 209: 2 FunctionCall 54(GetColor11(struct-S-vf31;i1;) 206 207(param)
- 210: 8(S) Load 165(s)
- 212: 13(int) Load 170(u)
- Store 211(param) 212
- 213: 2 FunctionCall 58(GetColor12(struct-S-vf31;i1;) 210 211(param)
- 214: 8(S) Load 165(s)
- 216: 13(int) Load 170(u)
- Store 215(param) 216
- 217: 2 FunctionCall 62(GetColor13(struct-S-vf31;i1;) 214 215(param)
- 218: 8(S) Load 165(s)
- 220: 13(int) Load 170(u)
- Store 219(param) 220
- 221: 2 FunctionCall 66(GetColor14(struct-S-vf31;i1;) 218 219(param)
+ 171(s): 170(ptr) Variable Function
+ 177(param): 14(ptr) Variable Function
+ 181(param): 14(ptr) Variable Function
+ 185(param): 14(ptr) Variable Function
+ 189(param): 14(ptr) Variable Function
+ 193(param): 14(ptr) Variable Function
+ 197(param): 14(ptr) Variable Function
+ 201(param): 14(ptr) Variable Function
+ 205(param): 14(ptr) Variable Function
+ 209(param): 14(ptr) Variable Function
+ 213(param): 14(ptr) Variable Function
+ 217(param): 14(ptr) Variable Function
+ 221(param): 14(ptr) Variable Function
+ 225(param): 14(ptr) Variable Function
+ Store 69(OutColor) 169
+ 172: 8(S) Load 171(s)
+ 173: 2 FunctionCall 11(GetColor1(struct-S-vf31;) 172
+ 174: 8(S) Load 171(s)
+ 178: 13(int) Load 176(u)
+ Store 177(param) 178
+ 179: 2 FunctionCall 18(GetColor2(struct-S-vf31;i1;) 174 177(param)
+ 180: 8(S) Load 171(s)
+ 182: 13(int) Load 176(u)
+ Store 181(param) 182
+ 183: 2 FunctionCall 22(GetColor3(struct-S-vf31;i1;) 180 181(param)
+ 184: 8(S) Load 171(s)
+ 186: 13(int) Load 176(u)
+ Store 185(param) 186
+ 187: 2 FunctionCall 26(GetColor4(struct-S-vf31;i1;) 184 185(param)
+ 188: 8(S) Load 171(s)
+ 190: 13(int) Load 176(u)
+ Store 189(param) 190
+ 191: 2 FunctionCall 30(GetColor5(struct-S-vf31;i1;) 188 189(param)
+ 192: 8(S) Load 171(s)
+ 194: 13(int) Load 176(u)
+ Store 193(param) 194
+ 195: 2 FunctionCall 34(GetColor6(struct-S-vf31;i1;) 192 193(param)
+ 196: 8(S) Load 171(s)
+ 198: 13(int) Load 176(u)
+ Store 197(param) 198
+ 199: 2 FunctionCall 38(GetColor7(struct-S-vf31;i1;) 196 197(param)
+ 200: 8(S) Load 171(s)
+ 202: 13(int) Load 176(u)
+ Store 201(param) 202
+ 203: 2 FunctionCall 42(GetColor8(struct-S-vf31;i1;) 200 201(param)
+ 204: 8(S) Load 171(s)
+ 206: 13(int) Load 176(u)
+ Store 205(param) 206
+ 207: 2 FunctionCall 46(GetColor9(struct-S-vf31;i1;) 204 205(param)
+ 208: 8(S) Load 171(s)
+ 210: 13(int) Load 176(u)
+ Store 209(param) 210
+ 211: 2 FunctionCall 50(GetColor10(struct-S-vf31;i1;) 208 209(param)
+ 212: 8(S) Load 171(s)
+ 214: 13(int) Load 176(u)
+ Store 213(param) 214
+ 215: 2 FunctionCall 54(GetColor11(struct-S-vf31;i1;) 212 213(param)
+ 216: 8(S) Load 171(s)
+ 218: 13(int) Load 176(u)
+ Store 217(param) 218
+ 219: 2 FunctionCall 58(GetColor12(struct-S-vf31;i1;) 216 217(param)
+ 220: 8(S) Load 171(s)
+ 222: 13(int) Load 176(u)
+ Store 221(param) 222
+ 223: 2 FunctionCall 62(GetColor13(struct-S-vf31;i1;) 220 221(param)
+ 224: 8(S) Load 171(s)
+ 226: 13(int) Load 176(u)
+ Store 225(param) 226
+ 227: 2 FunctionCall 66(GetColor14(struct-S-vf31;i1;) 224 225(param)
Return
FunctionEnd
11(GetColor1(struct-S-vf31;): 2 Function None 9
@@ -254,99 +254,108 @@
108: 7(fvec3) Load 69(OutColor)
109: 99(fvec2) VectorShuffle 108 108 0 1
110: 99(fvec2) FAdd 109 107
- 111: 7(fvec3) Load 69(OutColor)
- 112: 7(fvec3) VectorShuffle 111 110 3 4 2
- Store 69(OutColor) 112
+ 112: 111(ptr) AccessChain 69(OutColor) 72
+ 113: 6(float) CompositeExtract 110 0
+ Store 112 113
+ 115: 111(ptr) AccessChain 69(OutColor) 114
+ 116: 6(float) CompositeExtract 110 1
+ Store 115 116
Return
FunctionEnd
42(GetColor8(struct-S-vf31;i1;): 2 Function None 15
40(i): 8(S) FunctionParameter
41(comp): 14(ptr) FunctionParameter
43: Label
- 114: 6(float) CompositeExtract 40(i) 0 2
- 115: 7(fvec3) Load 69(OutColor)
- 116: 7(fvec3) CompositeConstruct 114 114 114
- 117: 7(fvec3) FAdd 115 116
- Store 69(OutColor) 117
+ 118: 6(float) CompositeExtract 40(i) 0 2
+ 119: 7(fvec3) Load 69(OutColor)
+ 120: 7(fvec3) CompositeConstruct 118 118 118
+ 121: 7(fvec3) FAdd 119 120
+ Store 69(OutColor) 121
Return
FunctionEnd
46(GetColor9(struct-S-vf31;i1;): 2 Function None 15
44(i): 8(S) FunctionParameter
45(comp): 14(ptr) FunctionParameter
47: Label
- 118: 7(fvec3) CompositeExtract 44(i) 0
- 119: 7(fvec3) Load 69(OutColor)
- 120: 7(fvec3) VectorShuffle 119 119 2 0 1
- 121: 7(fvec3) FAdd 120 118
- 122: 7(fvec3) Load 69(OutColor)
- 123: 7(fvec3) VectorShuffle 122 121 4 5 3
- Store 69(OutColor) 123
+ 122: 7(fvec3) CompositeExtract 44(i) 0
+ 123: 7(fvec3) Load 69(OutColor)
+ 124: 7(fvec3) VectorShuffle 123 123 2 0 1
+ 125: 7(fvec3) FAdd 124 122
+ 126: 7(fvec3) Load 69(OutColor)
+ 127: 7(fvec3) VectorShuffle 126 125 4 5 3
+ Store 69(OutColor) 127
Return
FunctionEnd
50(GetColor10(struct-S-vf31;i1;): 2 Function None 15
48(i): 8(S) FunctionParameter
49(comp): 14(ptr) FunctionParameter
51: Label
- 124: 7(fvec3) CompositeExtract 48(i) 0
- 125: 99(fvec2) VectorShuffle 124 124 0 1
- 126: 7(fvec3) Load 69(OutColor)
- 127: 99(fvec2) VectorShuffle 126 126 2 1
- 128: 99(fvec2) FAdd 127 125
- 129: 7(fvec3) Load 69(OutColor)
- 130: 7(fvec3) VectorShuffle 129 128 0 4 3
- Store 69(OutColor) 130
+ 128: 7(fvec3) CompositeExtract 48(i) 0
+ 129: 99(fvec2) VectorShuffle 128 128 0 1
+ 130: 7(fvec3) Load 69(OutColor)
+ 131: 99(fvec2) VectorShuffle 130 130 2 1
+ 132: 99(fvec2) FAdd 131 129
+ 133: 111(ptr) AccessChain 69(OutColor) 117
+ 134: 6(float) CompositeExtract 132 0
+ Store 133 134
+ 135: 111(ptr) AccessChain 69(OutColor) 114
+ 136: 6(float) CompositeExtract 132 1
+ Store 135 136
Return
FunctionEnd
54(GetColor11(struct-S-vf31;i1;): 2 Function None 15
52(i): 8(S) FunctionParameter
53(comp): 14(ptr) FunctionParameter
55: Label
- 131: 7(fvec3) CompositeExtract 52(i) 0
- 132: 99(fvec2) VectorShuffle 131 131 0 1
- 133: 7(fvec3) Load 69(OutColor)
- 134: 99(fvec2) VectorShuffle 133 133 0 2
- 135: 99(fvec2) FAdd 134 132
- 136: 7(fvec3) Load 69(OutColor)
- 137: 7(fvec3) VectorShuffle 136 135 3 1 4
- Store 69(OutColor) 137
+ 137: 7(fvec3) CompositeExtract 52(i) 0
+ 138: 99(fvec2) VectorShuffle 137 137 0 1
+ 139: 7(fvec3) Load 69(OutColor)
+ 140: 99(fvec2) VectorShuffle 139 139 0 2
+ 141: 99(fvec2) FAdd 140 138
+ 142: 111(ptr) AccessChain 69(OutColor) 72
+ 143: 6(float) CompositeExtract 141 0
+ Store 142 143
+ 144: 111(ptr) AccessChain 69(OutColor) 117
+ 145: 6(float) CompositeExtract 141 1
+ Store 144 145
Return
FunctionEnd
58(GetColor12(struct-S-vf31;i1;): 2 Function None 15
56(i): 8(S) FunctionParameter
57(comp): 14(ptr) FunctionParameter
59: Label
- 138: 13(int) Load 57(comp)
- 139: 6(float) CompositeExtract 56(i) 0 0
- 141: 140(ptr) AccessChain 69(OutColor) 138
- 142: 6(float) Load 141
- 143: 6(float) FAdd 142 139
- 144: 140(ptr) AccessChain 69(OutColor) 138
- Store 144 143
+ 146: 13(int) Load 57(comp)
+ 147: 6(float) CompositeExtract 56(i) 0 0
+ 148: 111(ptr) AccessChain 69(OutColor) 146
+ 149: 6(float) Load 148
+ 150: 6(float) FAdd 149 147
+ 151: 111(ptr) AccessChain 69(OutColor) 146
+ Store 151 150
Return
FunctionEnd
62(GetColor13(struct-S-vf31;i1;): 2 Function None 15
60(i): 8(S) FunctionParameter
61(comp): 14(ptr) FunctionParameter
63: Label
- 145: 13(int) Load 61(comp)
- 146: 6(float) CompositeExtract 60(i) 0 0
- 150: 71(int) VectorExtractDynamic 149 145
- 151: 140(ptr) AccessChain 69(OutColor) 150
- 152: 6(float) Load 151
- 153: 6(float) FAdd 152 146
- 154: 71(int) VectorExtractDynamic 149 145
- 155: 140(ptr) AccessChain 69(OutColor) 154
- Store 155 153
+ 152: 13(int) Load 61(comp)
+ 153: 6(float) CompositeExtract 60(i) 0 0
+ 156: 71(int) VectorExtractDynamic 155 152
+ 157: 111(ptr) AccessChain 69(OutColor) 156
+ 158: 6(float) Load 157
+ 159: 6(float) FAdd 158 153
+ 160: 71(int) VectorExtractDynamic 155 152
+ 161: 111(ptr) AccessChain 69(OutColor) 160
+ Store 161 159
Return
FunctionEnd
66(GetColor14(struct-S-vf31;i1;): 2 Function None 15
64(i): 8(S) FunctionParameter
65(comp): 14(ptr) FunctionParameter
67: Label
- 156: 13(int) Load 65(comp)
- 157: 6(float) CompositeExtract 64(i) 0 0
- 160: 71(int) VectorExtractDynamic 159 156
- 161: 140(ptr) AccessChain 69(OutColor) 160
- Store 161 157
+ 162: 13(int) Load 65(comp)
+ 163: 6(float) CompositeExtract 64(i) 0 0
+ 166: 71(int) VectorExtractDynamic 165 162
+ 167: 111(ptr) AccessChain 69(OutColor) 166
+ Store 167 163
Return
FunctionEnd
diff --git a/Test/baseResults/spv.atomicAdd.bufferReference.comp.out b/Test/baseResults/spv.atomicAdd.bufferReference.comp.out
new file mode 100644
index 0000000..9ecc742
--- /dev/null
+++ b/Test/baseResults/spv.atomicAdd.bufferReference.comp.out
@@ -0,0 +1,304 @@
+spv.atomicAdd.bufferReference.comp
+// Module Version 10000
+// Generated by (magic number): 8000a
+// Id's are bound by 188
+
+ Capability Shader
+ Capability VulkanMemoryModelKHR
+ Capability VulkanMemoryModelDeviceScopeKHR
+ Capability PhysicalStorageBufferAddressesEXT
+ Extension "SPV_KHR_physical_storage_buffer"
+ Extension "SPV_KHR_storage_buffer_storage_class"
+ Extension "SPV_KHR_vulkan_memory_model"
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel PhysicalStorageBuffer64EXT VulkanKHR
+ EntryPoint GLCompute 4 "main" 37 81 133
+ ExecutionMode 4 LocalSize 1 1 1
+ Source GLSL 450
+ SourceExtension "GL_ARB_gpu_shader_int64"
+ SourceExtension "GL_EXT_buffer_reference"
+ SourceExtension "GL_KHR_memory_scope_semantics"
+ SourceExtension "GL_KHR_shader_subgroup_ballot"
+ SourceExtension "GL_KHR_shader_subgroup_basic"
+ SourceExtension "GL_KHR_shader_subgroup_shuffle"
+ Name 4 "main"
+ Name 8 "pass"
+ Name 10 "skip"
+ Name 13 "sharedSkip"
+ Name 18 "PayloadRef"
+ MemberName 18(PayloadRef) 0 "x"
+ Name 20 "payload"
+ Name 22 "PC"
+ MemberName 22(PC) 0 "payloadref"
+ MemberName 22(PC) 1 "guard"
+ Name 24 "GuardRef"
+ MemberName 24(GuardRef) 0 "x"
+ Name 26 ""
+ Name 34 "globalId"
+ Name 37 "gl_GlobalInvocationID"
+ Name 42 "partnerGlobalId"
+ Name 43 "DIM"
+ Name 44 "NUM_WORKGROUP_EACH_DIM"
+ Name 54 "bufferCoord"
+ Name 66 "partnerBufferCoord"
+ Name 75 "imageCoord"
+ Name 77 "partnerImageCoord"
+ Name 79 "globalId00"
+ Name 81 "gl_WorkGroupID"
+ Name 86 "partnerGlobalId00"
+ Name 95 "bufferCoord00"
+ Name 104 "partnerBufferCoord00"
+ Name 113 "imageCoord00"
+ Name 115 "partnerImageCoord00"
+ Name 133 "gl_LocalInvocationID"
+ Name 163 "r"
+ Name 179 "Fail"
+ MemberName 179(Fail) 0 "x"
+ Name 181 "fail"
+ Decorate 17 ArrayStride 4
+ MemberDecorate 18(PayloadRef) 0 Offset 0
+ Decorate 18(PayloadRef) Block
+ Decorate 20(payload) DecorationAliasedPointerEXT
+ MemberDecorate 22(PC) 0 Offset 0
+ MemberDecorate 22(PC) 1 Offset 8
+ Decorate 22(PC) Block
+ Decorate 23 ArrayStride 4
+ MemberDecorate 24(GuardRef) 0 Offset 0
+ Decorate 24(GuardRef) Block
+ Decorate 37(gl_GlobalInvocationID) BuiltIn GlobalInvocationId
+ Decorate 43(DIM) SpecId 0
+ Decorate 44(NUM_WORKGROUP_EACH_DIM) SpecId 1
+ Decorate 81(gl_WorkGroupID) BuiltIn WorkgroupId
+ Decorate 133(gl_LocalInvocationID) BuiltIn LocalInvocationId
+ Decorate 178 ArrayStride 4
+ MemberDecorate 179(Fail) 0 Offset 0
+ Decorate 179(Fail) Block
+ Decorate 181(fail) DescriptorSet 0
+ Decorate 181(fail) Binding 2
+ Decorate 185 SpecId 0
+ Decorate 186 SpecId 0
+ Decorate 187 BuiltIn WorkgroupSize
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeBool
+ 7: TypePointer Function 6(bool)
+ 9: 6(bool) ConstantTrue
+ 11: 6(bool) ConstantFalse
+ 12: TypePointer Workgroup 6(bool)
+ 13(sharedSkip): 12(ptr) Variable Workgroup
+ 14: TypeInt 32 0
+ 15: 14(int) Constant 2
+ TypeForwardPointer 16 PhysicalStorageBufferEXT
+ 17: TypeRuntimeArray 14(int)
+ 18(PayloadRef): TypeStruct 17
+ 16: TypePointer PhysicalStorageBufferEXT 18(PayloadRef)
+ 19: TypePointer Function 16(ptr)
+ TypeForwardPointer 21 PhysicalStorageBufferEXT
+ 22(PC): TypeStruct 16(ptr) 21
+ 23: TypeRuntimeArray 14(int)
+ 24(GuardRef): TypeStruct 23
+ 21: TypePointer PhysicalStorageBufferEXT 24(GuardRef)
+ 25: TypePointer PushConstant 22(PC)
+ 26: 25(ptr) Variable PushConstant
+ 27: TypeInt 32 1
+ 28: 27(int) Constant 0
+ 29: TypePointer PushConstant 16(ptr)
+ 32: TypeVector 27(int) 2
+ 33: TypePointer Function 32(ivec2)
+ 35: TypeVector 14(int) 3
+ 36: TypePointer Input 35(ivec3)
+37(gl_GlobalInvocationID): 36(ptr) Variable Input
+ 38: TypeVector 14(int) 2
+ 43(DIM): 27(int) SpecConstant 1
+44(NUM_WORKGROUP_EACH_DIM): 27(int) SpecConstant 1
+ 45: 27(int) SpecConstantOp 132 43(DIM) 44(NUM_WORKGROUP_EACH_DIM)
+ 46: 27(int) Constant 1
+ 47: 27(int) SpecConstantOp 130 45 46
+ 48: 32(ivec2) SpecConstantComposite 47 47
+ 53: TypePointer Function 14(int)
+ 55: 14(int) Constant 1
+ 56: TypePointer Function 27(int)
+ 61: 14(int) Constant 0
+ 80: 32(ivec2) SpecConstantComposite 43(DIM) 43(DIM)
+81(gl_WorkGroupID): 36(ptr) Variable Input
+ 87: 32(ivec2) SpecConstantComposite 43(DIM) 43(DIM)
+ 88: 27(int) SpecConstantOp 130 44(NUM_WORKGROUP_EACH_DIM) 46
+ 89: 32(ivec2) SpecConstantComposite 88 88
+ 122: TypePointer PhysicalStorageBufferEXT 14(int)
+ 125: 27(int) Constant 31
+ 129: 27(int) Constant 2
+ 130: 27(int) Constant 320
+ 131: 27(int) Constant 8200
+ 132: 14(int) Constant 8520
+133(gl_LocalInvocationID): 36(ptr) Variable Input
+ 136: 38(ivec2) ConstantComposite 61 61
+ 137: TypeVector 6(bool) 2
+ 142: TypePointer PushConstant 21(ptr)
+ 147: 27(int) Constant 64
+ 148: 27(int) Constant 8196
+ 149: 14(int) Constant 5
+ 150: 14(int) Constant 8260
+ 155: 27(int) Constant 16386
+ 156: 14(int) Constant 16450
+ 160: 27(int) Constant 16392
+ 161: 14(int) Constant 16712
+ 178: TypeRuntimeArray 14(int)
+ 179(Fail): TypeStruct 178
+ 180: TypePointer StorageBuffer 179(Fail)
+ 181(fail): 180(ptr) Variable StorageBuffer
+ 183: TypePointer StorageBuffer 14(int)
+ 185: 14(int) SpecConstant 1
+ 186: 14(int) SpecConstant 1
+ 187: 35(ivec3) SpecConstantComposite 185 186 55
+ 4(main): 2 Function None 3
+ 5: Label
+ 8(pass): 7(ptr) Variable Function
+ 10(skip): 7(ptr) Variable Function
+ 20(payload): 19(ptr) Variable Function
+ 34(globalId): 33(ptr) Variable Function
+42(partnerGlobalId): 33(ptr) Variable Function
+ 54(bufferCoord): 53(ptr) Variable Function
+66(partnerBufferCoord): 53(ptr) Variable Function
+ 75(imageCoord): 33(ptr) Variable Function
+77(partnerImageCoord): 33(ptr) Variable Function
+ 79(globalId00): 33(ptr) Variable Function
+86(partnerGlobalId00): 33(ptr) Variable Function
+95(bufferCoord00): 53(ptr) Variable Function
+104(partnerBufferCoord00): 53(ptr) Variable Function
+113(imageCoord00): 33(ptr) Variable Function
+115(partnerImageCoord00): 33(ptr) Variable Function
+ 163(r): 53(ptr) Variable Function
+ Store 8(pass) 9
+ Store 10(skip) 11
+ Store 13(sharedSkip) 11 MakePointerAvailableKHR NonPrivatePointerKHR 15
+ 30: 29(ptr) AccessChain 26 28
+ 31: 16(ptr) Load 30
+ Store 20(payload) 31
+ 39: 35(ivec3) Load 37(gl_GlobalInvocationID)
+ 40: 38(ivec2) VectorShuffle 39 39 0 1
+ 41: 32(ivec2) Bitcast 40
+ Store 34(globalId) 41
+ 49: 35(ivec3) Load 37(gl_GlobalInvocationID)
+ 50: 38(ivec2) VectorShuffle 49 49 0 1
+ 51: 32(ivec2) Bitcast 50
+ 52: 32(ivec2) ISub 48 51
+ Store 42(partnerGlobalId) 52
+ 57: 56(ptr) AccessChain 34(globalId) 55
+ 58: 27(int) Load 57
+ 59: 27(int) IMul 58 43(DIM)
+ 60: 27(int) IMul 59 44(NUM_WORKGROUP_EACH_DIM)
+ 62: 56(ptr) AccessChain 34(globalId) 61
+ 63: 27(int) Load 62
+ 64: 27(int) IAdd 60 63
+ 65: 14(int) Bitcast 64
+ Store 54(bufferCoord) 65
+ 67: 56(ptr) AccessChain 42(partnerGlobalId) 55
+ 68: 27(int) Load 67
+ 69: 27(int) IMul 68 43(DIM)
+ 70: 27(int) IMul 69 44(NUM_WORKGROUP_EACH_DIM)
+ 71: 56(ptr) AccessChain 42(partnerGlobalId) 61
+ 72: 27(int) Load 71
+ 73: 27(int) IAdd 70 72
+ 74: 14(int) Bitcast 73
+ Store 66(partnerBufferCoord) 74
+ 76: 32(ivec2) Load 34(globalId)
+ Store 75(imageCoord) 76
+ 78: 32(ivec2) Load 42(partnerGlobalId)
+ Store 77(partnerImageCoord) 78
+ 82: 35(ivec3) Load 81(gl_WorkGroupID)
+ 83: 38(ivec2) VectorShuffle 82 82 0 1
+ 84: 32(ivec2) Bitcast 83
+ 85: 32(ivec2) IMul 80 84
+ Store 79(globalId00) 85
+ 90: 35(ivec3) Load 81(gl_WorkGroupID)
+ 91: 38(ivec2) VectorShuffle 90 90 0 1
+ 92: 32(ivec2) Bitcast 91
+ 93: 32(ivec2) ISub 89 92
+ 94: 32(ivec2) IMul 87 93
+ Store 86(partnerGlobalId00) 94
+ 96: 56(ptr) AccessChain 79(globalId00) 55
+ 97: 27(int) Load 96
+ 98: 27(int) IMul 97 43(DIM)
+ 99: 27(int) IMul 98 44(NUM_WORKGROUP_EACH_DIM)
+ 100: 56(ptr) AccessChain 79(globalId00) 61
+ 101: 27(int) Load 100
+ 102: 27(int) IAdd 99 101
+ 103: 14(int) Bitcast 102
+ Store 95(bufferCoord00) 103
+ 105: 56(ptr) AccessChain 86(partnerGlobalId00) 55
+ 106: 27(int) Load 105
+ 107: 27(int) IMul 106 43(DIM)
+ 108: 27(int) IMul 107 44(NUM_WORKGROUP_EACH_DIM)
+ 109: 56(ptr) AccessChain 86(partnerGlobalId00) 61
+ 110: 27(int) Load 109
+ 111: 27(int) IAdd 108 110
+ 112: 14(int) Bitcast 111
+ Store 104(partnerBufferCoord00) 112
+ 114: 32(ivec2) Load 79(globalId00)
+ Store 113(imageCoord00) 114
+ 116: 32(ivec2) Load 86(partnerGlobalId00)
+ Store 115(partnerImageCoord00) 116
+ 117: 16(ptr) Load 20(payload)
+ 118: 14(int) Load 54(bufferCoord)
+ 119: 14(int) Load 54(bufferCoord)
+ 120: 16(ptr) Load 20(payload)
+ 121: 14(int) Load 66(partnerBufferCoord)
+ 123: 122(ptr) AccessChain 120 28 121
+ 124: 14(int) Load 123 Aligned NonPrivatePointerKHR 4
+ 126: 14(int) ShiftRightLogical 124 125
+ 127: 14(int) IAdd 119 126
+ 128: 122(ptr) AccessChain 117 28 118
+ Store 128 127 Aligned NonPrivatePointerKHR 4
+ ControlBarrier 15 15 132
+ 134: 35(ivec3) Load 133(gl_LocalInvocationID)
+ 135: 38(ivec2) VectorShuffle 134 134 0 1
+ 138: 137(bvec2) IEqual 135 136
+ 139: 6(bool) All 138
+ SelectionMerge 141 None
+ BranchConditional 139 140 141
+ 140: Label
+ 143: 142(ptr) AccessChain 26 46
+ 144: 21(ptr) Load 143
+ 145: 14(int) Load 54(bufferCoord)
+ 146: 122(ptr) AccessChain 144 28 145
+ AtomicStore 146 46 150 55
+ 151: 142(ptr) AccessChain 26 46
+ 152: 21(ptr) Load 151
+ 153: 14(int) Load 104(partnerBufferCoord00)
+ 154: 122(ptr) AccessChain 152 28 153
+ 157: 14(int) AtomicLoad 154 46 156
+ 158: 6(bool) IEqual 157 61
+ Store 10(skip) 158
+ 159: 6(bool) Load 10(skip)
+ Store 13(sharedSkip) 159 MakePointerAvailableKHR NonPrivatePointerKHR 15
+ Branch 141
+ 141: Label
+ ControlBarrier 15 15 161
+ 162: 6(bool) Load 13(sharedSkip) MakePointerVisibleKHR NonPrivatePointerKHR 15
+ Store 10(skip) 162
+ 164: 16(ptr) Load 20(payload)
+ 165: 14(int) Load 66(partnerBufferCoord)
+ 166: 122(ptr) AccessChain 164 28 165
+ 167: 14(int) Load 166 Aligned NonPrivatePointerKHR 4
+ Store 163(r) 167
+ 168: 6(bool) Load 10(skip)
+ 169: 6(bool) LogicalNot 168
+ SelectionMerge 171 None
+ BranchConditional 169 170 171
+ 170: Label
+ 172: 14(int) Load 163(r)
+ 173: 14(int) Load 66(partnerBufferCoord)
+ 174: 6(bool) INotEqual 172 173
+ Branch 171
+ 171: Label
+ 175: 6(bool) Phi 169 141 174 170
+ SelectionMerge 177 None
+ BranchConditional 175 176 177
+ 176: Label
+ 182: 14(int) Load 54(bufferCoord)
+ 184: 183(ptr) AccessChain 181(fail) 28 182
+ Store 184 55
+ Branch 177
+ 177: Label
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.bitCast.frag.out b/Test/baseResults/spv.bitCast.frag.out
index daf7b1d..88b2a09 100644
--- a/Test/baseResults/spv.bitCast.frag.out
+++ b/Test/baseResults/spv.bitCast.frag.out
@@ -1,52 +1,52 @@
spv.bitCast.frag
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 172
+// Id's are bound by 198
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 14 26 37 48 89 98 107 116 122 130 139 148 154
+ EntryPoint Fragment 4 "main" 14 26 40 56 103 112 123 136 142 150 161 174 180
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
Name 4 "main"
Name 9 "idata"
Name 14 "f1"
Name 26 "f2"
- Name 37 "f3"
- Name 48 "f4"
- Name 55 "udata"
- Name 85 "fdata"
- Name 89 "i1"
- Name 98 "i2"
- Name 107 "i3"
- Name 116 "i4"
- Name 122 "u1"
- Name 130 "u2"
- Name 139 "u3"
- Name 148 "u4"
- Name 154 "fragColor"
+ Name 40 "f3"
+ Name 56 "f4"
+ Name 63 "udata"
+ Name 99 "fdata"
+ Name 103 "i1"
+ Name 112 "i2"
+ Name 123 "i3"
+ Name 136 "i4"
+ Name 142 "u1"
+ Name 150 "u2"
+ Name 161 "u3"
+ Name 174 "u4"
+ Name 180 "fragColor"
Decorate 14(f1) Location 8
Decorate 26(f2) Location 9
- Decorate 37(f3) Location 10
- Decorate 48(f4) Location 11
- Decorate 89(i1) Flat
- Decorate 89(i1) Location 0
- Decorate 98(i2) Flat
- Decorate 98(i2) Location 1
- Decorate 107(i3) Flat
- Decorate 107(i3) Location 2
- Decorate 116(i4) Flat
- Decorate 116(i4) Location 3
- Decorate 122(u1) Flat
- Decorate 122(u1) Location 4
- Decorate 130(u2) Flat
- Decorate 130(u2) Location 5
- Decorate 139(u3) Flat
- Decorate 139(u3) Location 6
- Decorate 148(u4) Flat
- Decorate 148(u4) Location 7
- Decorate 154(fragColor) Location 0
+ Decorate 40(f3) Location 10
+ Decorate 56(f4) Location 11
+ Decorate 103(i1) Flat
+ Decorate 103(i1) Location 0
+ Decorate 112(i2) Flat
+ Decorate 112(i2) Location 1
+ Decorate 123(i3) Flat
+ Decorate 123(i3) Location 2
+ Decorate 136(i4) Flat
+ Decorate 136(i4) Location 3
+ Decorate 142(u1) Flat
+ Decorate 142(u1) Location 4
+ Decorate 150(u2) Flat
+ Decorate 150(u2) Location 5
+ Decorate 161(u3) Flat
+ Decorate 161(u3) Location 6
+ Decorate 174(u4) Flat
+ Decorate 174(u4) Location 7
+ Decorate 180(fragColor) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@@ -64,51 +64,53 @@
25: TypePointer Input 24(fvec2)
26(f2): 25(ptr) Variable Input
28: TypeVector 6(int) 2
- 35: TypeVector 12(float) 3
- 36: TypePointer Input 35(fvec3)
- 37(f3): 36(ptr) Variable Input
- 39: TypeVector 6(int) 3
- 46: TypeVector 12(float) 4
- 47: TypePointer Input 46(fvec4)
- 48(f4): 47(ptr) Variable Input
- 53: TypeVector 17(int) 4
- 54: TypePointer Function 53(ivec4)
- 56: 53(ivec4) ConstantComposite 18 18 18 18
- 59: TypePointer Function 17(int)
- 65: TypeVector 17(int) 2
- 73: TypeVector 17(int) 3
- 84: TypePointer Function 46(fvec4)
- 86: 12(float) Constant 0
- 87: 46(fvec4) ConstantComposite 86 86 86 86
- 88: TypePointer Input 6(int)
- 89(i1): 88(ptr) Variable Input
- 92: TypePointer Function 12(float)
- 97: TypePointer Input 28(ivec2)
- 98(i2): 97(ptr) Variable Input
- 106: TypePointer Input 39(ivec3)
- 107(i3): 106(ptr) Variable Input
- 115: TypePointer Input 7(ivec4)
- 116(i4): 115(ptr) Variable Input
- 121: TypePointer Input 17(int)
- 122(u1): 121(ptr) Variable Input
- 129: TypePointer Input 65(ivec2)
- 130(u2): 129(ptr) Variable Input
- 138: TypePointer Input 73(ivec3)
- 139(u3): 138(ptr) Variable Input
- 147: TypePointer Input 53(ivec4)
- 148(u4): 147(ptr) Variable Input
- 153: TypePointer Output 46(fvec4)
- 154(fragColor): 153(ptr) Variable Output
- 158: TypeBool
- 159: TypeVector 158(bool) 4
- 168: 12(float) Constant 1045220557
- 169: 46(fvec4) ConstantComposite 168 168 168 168
+ 35: 17(int) Constant 1
+ 38: TypeVector 12(float) 3
+ 39: TypePointer Input 38(fvec3)
+ 40(f3): 39(ptr) Variable Input
+ 42: TypeVector 6(int) 3
+ 51: 17(int) Constant 2
+ 54: TypeVector 12(float) 4
+ 55: TypePointer Input 54(fvec4)
+ 56(f4): 55(ptr) Variable Input
+ 61: TypeVector 17(int) 4
+ 62: TypePointer Function 61(ivec4)
+ 64: 61(ivec4) ConstantComposite 18 18 18 18
+ 67: TypePointer Function 17(int)
+ 73: TypeVector 17(int) 2
+ 83: TypeVector 17(int) 3
+ 98: TypePointer Function 54(fvec4)
+ 100: 12(float) Constant 0
+ 101: 54(fvec4) ConstantComposite 100 100 100 100
+ 102: TypePointer Input 6(int)
+ 103(i1): 102(ptr) Variable Input
+ 106: TypePointer Function 12(float)
+ 111: TypePointer Input 28(ivec2)
+ 112(i2): 111(ptr) Variable Input
+ 122: TypePointer Input 42(ivec3)
+ 123(i3): 122(ptr) Variable Input
+ 135: TypePointer Input 7(ivec4)
+ 136(i4): 135(ptr) Variable Input
+ 141: TypePointer Input 17(int)
+ 142(u1): 141(ptr) Variable Input
+ 149: TypePointer Input 73(ivec2)
+ 150(u2): 149(ptr) Variable Input
+ 160: TypePointer Input 83(ivec3)
+ 161(u3): 160(ptr) Variable Input
+ 173: TypePointer Input 61(ivec4)
+ 174(u4): 173(ptr) Variable Input
+ 179: TypePointer Output 54(fvec4)
+ 180(fragColor): 179(ptr) Variable Output
+ 184: TypeBool
+ 185: TypeVector 184(bool) 4
+ 194: 12(float) Constant 1045220557
+ 195: 54(fvec4) ConstantComposite 194 194 194 194
4(main): 2 Function None 3
5: Label
9(idata): 8(ptr) Variable Function
- 55(udata): 54(ptr) Variable Function
- 85(fdata): 84(ptr) Variable Function
- 162: 84(ptr) Variable Function
+ 63(udata): 62(ptr) Variable Function
+ 99(fdata): 98(ptr) Variable Function
+ 188: 98(ptr) Variable Function
Store 9(idata) 11
15: 12(float) Load 14(f1)
16: 6(int) Bitcast 15
@@ -122,126 +124,162 @@
30: 7(ivec4) Load 9(idata)
31: 28(ivec2) VectorShuffle 30 30 0 1
32: 28(ivec2) IAdd 31 29
- 33: 7(ivec4) Load 9(idata)
- 34: 7(ivec4) VectorShuffle 33 32 4 5 2 3
- Store 9(idata) 34
- 38: 35(fvec3) Load 37(f3)
- 40: 39(ivec3) Bitcast 38
- 41: 7(ivec4) Load 9(idata)
- 42: 39(ivec3) VectorShuffle 41 41 0 1 2
- 43: 39(ivec3) IAdd 42 40
+ 33: 19(ptr) AccessChain 9(idata) 18
+ 34: 6(int) CompositeExtract 32 0
+ Store 33 34
+ 36: 19(ptr) AccessChain 9(idata) 35
+ 37: 6(int) CompositeExtract 32 1
+ Store 36 37
+ 41: 38(fvec3) Load 40(f3)
+ 43: 42(ivec3) Bitcast 41
44: 7(ivec4) Load 9(idata)
- 45: 7(ivec4) VectorShuffle 44 43 4 5 6 3
- Store 9(idata) 45
- 49: 46(fvec4) Load 48(f4)
- 50: 7(ivec4) Bitcast 49
- 51: 7(ivec4) Load 9(idata)
- 52: 7(ivec4) IAdd 51 50
- Store 9(idata) 52
- Store 55(udata) 56
- 57: 12(float) Load 14(f1)
- 58: 17(int) Bitcast 57
- 60: 59(ptr) AccessChain 55(udata) 18
- 61: 17(int) Load 60
- 62: 17(int) IAdd 61 58
- 63: 59(ptr) AccessChain 55(udata) 18
- Store 63 62
- 64: 24(fvec2) Load 26(f2)
- 66: 65(ivec2) Bitcast 64
- 67: 53(ivec4) Load 55(udata)
- 68: 65(ivec2) VectorShuffle 67 67 0 1
- 69: 65(ivec2) IAdd 68 66
- 70: 53(ivec4) Load 55(udata)
- 71: 53(ivec4) VectorShuffle 70 69 4 5 2 3
- Store 55(udata) 71
- 72: 35(fvec3) Load 37(f3)
- 74: 73(ivec3) Bitcast 72
- 75: 53(ivec4) Load 55(udata)
- 76: 73(ivec3) VectorShuffle 75 75 0 1 2
- 77: 73(ivec3) IAdd 76 74
- 78: 53(ivec4) Load 55(udata)
- 79: 53(ivec4) VectorShuffle 78 77 4 5 6 3
- Store 55(udata) 79
- 80: 46(fvec4) Load 48(f4)
- 81: 53(ivec4) Bitcast 80
- 82: 53(ivec4) Load 55(udata)
- 83: 53(ivec4) IAdd 82 81
- Store 55(udata) 83
- Store 85(fdata) 87
- 90: 6(int) Load 89(i1)
- 91: 12(float) Bitcast 90
- 93: 92(ptr) AccessChain 85(fdata) 18
- 94: 12(float) Load 93
- 95: 12(float) FAdd 94 91
- 96: 92(ptr) AccessChain 85(fdata) 18
- Store 96 95
- 99: 28(ivec2) Load 98(i2)
- 100: 24(fvec2) Bitcast 99
- 101: 46(fvec4) Load 85(fdata)
- 102: 24(fvec2) VectorShuffle 101 101 0 1
- 103: 24(fvec2) FAdd 102 100
- 104: 46(fvec4) Load 85(fdata)
- 105: 46(fvec4) VectorShuffle 104 103 4 5 2 3
- Store 85(fdata) 105
- 108: 39(ivec3) Load 107(i3)
- 109: 35(fvec3) Bitcast 108
- 110: 46(fvec4) Load 85(fdata)
- 111: 35(fvec3) VectorShuffle 110 110 0 1 2
- 112: 35(fvec3) FAdd 111 109
- 113: 46(fvec4) Load 85(fdata)
- 114: 46(fvec4) VectorShuffle 113 112 4 5 6 3
- Store 85(fdata) 114
- 117: 7(ivec4) Load 116(i4)
- 118: 46(fvec4) Bitcast 117
- 119: 46(fvec4) Load 85(fdata)
- 120: 46(fvec4) FAdd 119 118
- Store 85(fdata) 120
- 123: 17(int) Load 122(u1)
- 124: 12(float) Bitcast 123
- 125: 92(ptr) AccessChain 85(fdata) 18
- 126: 12(float) Load 125
- 127: 12(float) FAdd 126 124
- 128: 92(ptr) AccessChain 85(fdata) 18
- Store 128 127
- 131: 65(ivec2) Load 130(u2)
- 132: 24(fvec2) Bitcast 131
- 133: 46(fvec4) Load 85(fdata)
- 134: 24(fvec2) VectorShuffle 133 133 0 1
- 135: 24(fvec2) FAdd 134 132
- 136: 46(fvec4) Load 85(fdata)
- 137: 46(fvec4) VectorShuffle 136 135 4 5 2 3
- Store 85(fdata) 137
- 140: 73(ivec3) Load 139(u3)
- 141: 35(fvec3) Bitcast 140
- 142: 46(fvec4) Load 85(fdata)
- 143: 35(fvec3) VectorShuffle 142 142 0 1 2
- 144: 35(fvec3) FAdd 143 141
- 145: 46(fvec4) Load 85(fdata)
- 146: 46(fvec4) VectorShuffle 145 144 4 5 6 3
- Store 85(fdata) 146
- 149: 53(ivec4) Load 148(u4)
- 150: 46(fvec4) Bitcast 149
- 151: 46(fvec4) Load 85(fdata)
- 152: 46(fvec4) FAdd 151 150
- Store 85(fdata) 152
- 155: 7(ivec4) Load 9(idata)
- 156: 53(ivec4) Bitcast 155
- 157: 53(ivec4) Load 55(udata)
- 160: 159(bvec4) IEqual 156 157
- 161: 158(bool) All 160
- SelectionMerge 164 None
- BranchConditional 161 163 166
- 163: Label
- 165: 46(fvec4) Load 85(fdata)
- Store 162 165
- Branch 164
- 166: Label
- 167: 46(fvec4) Load 85(fdata)
- 170: 46(fvec4) FAdd 167 169
- Store 162 170
- Branch 164
- 164: Label
- 171: 46(fvec4) Load 162
- Store 154(fragColor) 171
+ 45: 42(ivec3) VectorShuffle 44 44 0 1 2
+ 46: 42(ivec3) IAdd 45 43
+ 47: 19(ptr) AccessChain 9(idata) 18
+ 48: 6(int) CompositeExtract 46 0
+ Store 47 48
+ 49: 19(ptr) AccessChain 9(idata) 35
+ 50: 6(int) CompositeExtract 46 1
+ Store 49 50
+ 52: 19(ptr) AccessChain 9(idata) 51
+ 53: 6(int) CompositeExtract 46 2
+ Store 52 53
+ 57: 54(fvec4) Load 56(f4)
+ 58: 7(ivec4) Bitcast 57
+ 59: 7(ivec4) Load 9(idata)
+ 60: 7(ivec4) IAdd 59 58
+ Store 9(idata) 60
+ Store 63(udata) 64
+ 65: 12(float) Load 14(f1)
+ 66: 17(int) Bitcast 65
+ 68: 67(ptr) AccessChain 63(udata) 18
+ 69: 17(int) Load 68
+ 70: 17(int) IAdd 69 66
+ 71: 67(ptr) AccessChain 63(udata) 18
+ Store 71 70
+ 72: 24(fvec2) Load 26(f2)
+ 74: 73(ivec2) Bitcast 72
+ 75: 61(ivec4) Load 63(udata)
+ 76: 73(ivec2) VectorShuffle 75 75 0 1
+ 77: 73(ivec2) IAdd 76 74
+ 78: 67(ptr) AccessChain 63(udata) 18
+ 79: 17(int) CompositeExtract 77 0
+ Store 78 79
+ 80: 67(ptr) AccessChain 63(udata) 35
+ 81: 17(int) CompositeExtract 77 1
+ Store 80 81
+ 82: 38(fvec3) Load 40(f3)
+ 84: 83(ivec3) Bitcast 82
+ 85: 61(ivec4) Load 63(udata)
+ 86: 83(ivec3) VectorShuffle 85 85 0 1 2
+ 87: 83(ivec3) IAdd 86 84
+ 88: 67(ptr) AccessChain 63(udata) 18
+ 89: 17(int) CompositeExtract 87 0
+ Store 88 89
+ 90: 67(ptr) AccessChain 63(udata) 35
+ 91: 17(int) CompositeExtract 87 1
+ Store 90 91
+ 92: 67(ptr) AccessChain 63(udata) 51
+ 93: 17(int) CompositeExtract 87 2
+ Store 92 93
+ 94: 54(fvec4) Load 56(f4)
+ 95: 61(ivec4) Bitcast 94
+ 96: 61(ivec4) Load 63(udata)
+ 97: 61(ivec4) IAdd 96 95
+ Store 63(udata) 97
+ Store 99(fdata) 101
+ 104: 6(int) Load 103(i1)
+ 105: 12(float) Bitcast 104
+ 107: 106(ptr) AccessChain 99(fdata) 18
+ 108: 12(float) Load 107
+ 109: 12(float) FAdd 108 105
+ 110: 106(ptr) AccessChain 99(fdata) 18
+ Store 110 109
+ 113: 28(ivec2) Load 112(i2)
+ 114: 24(fvec2) Bitcast 113
+ 115: 54(fvec4) Load 99(fdata)
+ 116: 24(fvec2) VectorShuffle 115 115 0 1
+ 117: 24(fvec2) FAdd 116 114
+ 118: 106(ptr) AccessChain 99(fdata) 18
+ 119: 12(float) CompositeExtract 117 0
+ Store 118 119
+ 120: 106(ptr) AccessChain 99(fdata) 35
+ 121: 12(float) CompositeExtract 117 1
+ Store 120 121
+ 124: 42(ivec3) Load 123(i3)
+ 125: 38(fvec3) Bitcast 124
+ 126: 54(fvec4) Load 99(fdata)
+ 127: 38(fvec3) VectorShuffle 126 126 0 1 2
+ 128: 38(fvec3) FAdd 127 125
+ 129: 106(ptr) AccessChain 99(fdata) 18
+ 130: 12(float) CompositeExtract 128 0
+ Store 129 130
+ 131: 106(ptr) AccessChain 99(fdata) 35
+ 132: 12(float) CompositeExtract 128 1
+ Store 131 132
+ 133: 106(ptr) AccessChain 99(fdata) 51
+ 134: 12(float) CompositeExtract 128 2
+ Store 133 134
+ 137: 7(ivec4) Load 136(i4)
+ 138: 54(fvec4) Bitcast 137
+ 139: 54(fvec4) Load 99(fdata)
+ 140: 54(fvec4) FAdd 139 138
+ Store 99(fdata) 140
+ 143: 17(int) Load 142(u1)
+ 144: 12(float) Bitcast 143
+ 145: 106(ptr) AccessChain 99(fdata) 18
+ 146: 12(float) Load 145
+ 147: 12(float) FAdd 146 144
+ 148: 106(ptr) AccessChain 99(fdata) 18
+ Store 148 147
+ 151: 73(ivec2) Load 150(u2)
+ 152: 24(fvec2) Bitcast 151
+ 153: 54(fvec4) Load 99(fdata)
+ 154: 24(fvec2) VectorShuffle 153 153 0 1
+ 155: 24(fvec2) FAdd 154 152
+ 156: 106(ptr) AccessChain 99(fdata) 18
+ 157: 12(float) CompositeExtract 155 0
+ Store 156 157
+ 158: 106(ptr) AccessChain 99(fdata) 35
+ 159: 12(float) CompositeExtract 155 1
+ Store 158 159
+ 162: 83(ivec3) Load 161(u3)
+ 163: 38(fvec3) Bitcast 162
+ 164: 54(fvec4) Load 99(fdata)
+ 165: 38(fvec3) VectorShuffle 164 164 0 1 2
+ 166: 38(fvec3) FAdd 165 163
+ 167: 106(ptr) AccessChain 99(fdata) 18
+ 168: 12(float) CompositeExtract 166 0
+ Store 167 168
+ 169: 106(ptr) AccessChain 99(fdata) 35
+ 170: 12(float) CompositeExtract 166 1
+ Store 169 170
+ 171: 106(ptr) AccessChain 99(fdata) 51
+ 172: 12(float) CompositeExtract 166 2
+ Store 171 172
+ 175: 61(ivec4) Load 174(u4)
+ 176: 54(fvec4) Bitcast 175
+ 177: 54(fvec4) Load 99(fdata)
+ 178: 54(fvec4) FAdd 177 176
+ Store 99(fdata) 178
+ 181: 7(ivec4) Load 9(idata)
+ 182: 61(ivec4) Bitcast 181
+ 183: 61(ivec4) Load 63(udata)
+ 186: 185(bvec4) IEqual 182 183
+ 187: 184(bool) All 186
+ SelectionMerge 190 None
+ BranchConditional 187 189 192
+ 189: Label
+ 191: 54(fvec4) Load 99(fdata)
+ Store 188 191
+ Branch 190
+ 192: Label
+ 193: 54(fvec4) Load 99(fdata)
+ 196: 54(fvec4) FAdd 193 195
+ Store 188 196
+ Branch 190
+ 190: Label
+ 197: 54(fvec4) Load 188
+ Store 180(fragColor) 197
Return
FunctionEnd
diff --git a/Test/baseResults/spv.ext.AnyHitShader.rahit.out b/Test/baseResults/spv.ext.AnyHitShader.rahit.out
index 7bcf812..df779bd 100644
--- a/Test/baseResults/spv.ext.AnyHitShader.rahit.out
+++ b/Test/baseResults/spv.ext.AnyHitShader.rahit.out
@@ -69,10 +69,10 @@
Decorate 70(gl_GeometryIndexEXT) BuiltIn RayGeometryIndexKHR
Decorate 76(gl_ObjectToWorld3x4EXT) BuiltIn ObjectToWorldKHR
Decorate 80(gl_WorldToObject3x4EXT) BuiltIn WorldToObjectKHR
- Decorate 84(incomingPayload) Location 1
Decorate 98(gl_SubgroupSize) RelaxedPrecision
Decorate 98(gl_SubgroupSize) BuiltIn SubgroupSize
Decorate 99 RelaxedPrecision
+ Decorate 100 RelaxedPrecision
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
diff --git a/Test/baseResults/spv.ext.ClosestHitShader.rchit.out b/Test/baseResults/spv.ext.ClosestHitShader.rchit.out
index 40903e6..9a4eb28 100644
--- a/Test/baseResults/spv.ext.ClosestHitShader.rchit.out
+++ b/Test/baseResults/spv.ext.ClosestHitShader.rchit.out
@@ -70,8 +70,6 @@
Decorate 80(gl_WorldToObject3x4EXT) BuiltIn WorldToObjectKHR
Decorate 85(accEXT) DescriptorSet 0
Decorate 85(accEXT) Binding 0
- Decorate 98(incomingPayload) Location 1
- Decorate 100(localPayload) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
diff --git a/Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out b/Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out
index 14ec09b..24ab4f4 100644
--- a/Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out
+++ b/Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out
@@ -34,14 +34,24 @@
Name 61 "gl_SMIDNV"
Decorate 8(accEXT) DescriptorSet 0
Decorate 8(accEXT) Binding 0
- Decorate 26(incomingPayload) Location 1
Decorate 28(gl_SubgroupInvocationID) RelaxedPrecision
Decorate 28(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
Decorate 29 RelaxedPrecision
+ Decorate 30 RelaxedPrecision
Decorate 34(gl_SubGroupGeMaskARB) BuiltIn SubgroupGeMaskKHR
+ Decorate 41 RelaxedPrecision
+ Decorate 42 RelaxedPrecision
Decorate 43(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
+ Decorate 46 RelaxedPrecision
+ Decorate 46 RelaxedPrecision
+ Decorate 47 RelaxedPrecision
Decorate 48(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
+ Decorate 51 RelaxedPrecision
+ Decorate 51 RelaxedPrecision
+ Decorate 52 RelaxedPrecision
Decorate 53(gl_SubGroupLtMaskARB) BuiltIn SubgroupLtMaskKHR
+ Decorate 59 RelaxedPrecision
+ Decorate 60 RelaxedPrecision
Decorate 61(gl_SMIDNV) BuiltIn SMIDNV
2: TypeVoid
3: TypeFunction 2
diff --git a/Test/baseResults/spv.ext.MissShader.rmiss.out b/Test/baseResults/spv.ext.MissShader.rmiss.out
index d2dfc17..1acd5ae 100644
--- a/Test/baseResults/spv.ext.MissShader.rmiss.out
+++ b/Test/baseResults/spv.ext.MissShader.rmiss.out
@@ -53,7 +53,6 @@
Decorate 32(gl_RayTmaxEXT) BuiltIn RayTmaxKHR
Decorate 36(accEXT) DescriptorSet 0
Decorate 36(accEXT) Binding 0
- Decorate 51(incomingPayload) Location 1
Decorate 53(gl_SubGroupSizeARB) BuiltIn SubgroupSize
Decorate 53(gl_SubGroupSizeARB) Volatile
Decorate 53(gl_SubGroupSizeARB) Coherent
@@ -67,7 +66,6 @@
Decorate 74(s2D) Binding 1
Decorate 78(c2) Location 2
Decorate 85(lodClamp) Location 3
- Decorate 89(localPayload) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
diff --git a/Test/baseResults/spv.ext.RayCallable.rcall.out b/Test/baseResults/spv.ext.RayCallable.rcall.out
index d429116..50e7fd8 100644
--- a/Test/baseResults/spv.ext.RayCallable.rcall.out
+++ b/Test/baseResults/spv.ext.RayCallable.rcall.out
@@ -22,8 +22,6 @@
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
Decorate 14(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
Decorate 16(dataBlock) Block
- Decorate 18 Location 1
- Decorate 29(data0) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
diff --git a/Test/baseResults/spv.ext.RayConstants.rgen.out b/Test/baseResults/spv.ext.RayConstants.rgen.out
index afd5083..6ef9dd4 100644
--- a/Test/baseResults/spv.ext.RayConstants.rgen.out
+++ b/Test/baseResults/spv.ext.RayConstants.rgen.out
@@ -15,7 +15,6 @@
Name 26 "payload"
Decorate 8(accEXT) DescriptorSet 0
Decorate 8(accEXT) Binding 0
- Decorate 26(payload) Location 1
2: TypeVoid
3: TypeFunction 2
6: TypeAccelerationStructureKHR
diff --git a/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out
index 60b5e93..88e3c00 100644
--- a/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out
@@ -49,9 +49,6 @@
MemberDecorate 36(block) 9 Offset 120
MemberDecorate 36(block) 10 Offset 128
Decorate 36(block) Block
- Decorate 38 DescriptorSet 0
- Decorate 38 Binding 0
- Decorate 60(payload) Location 1
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
diff --git a/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out
index cc175f7..ce5c306 100644
--- a/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out
@@ -49,9 +49,6 @@
MemberDecorate 36(block) 9 Offset 136
MemberDecorate 36(block) 10 Offset 144
Decorate 36(block) Block
- Decorate 38 DescriptorSet 0
- Decorate 38 Binding 0
- Decorate 60(payload) Location 1
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
diff --git a/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out
index afcfa9c..7462abd 100644
--- a/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out
@@ -49,9 +49,6 @@
MemberDecorate 36(block) 9 Offset 120
MemberDecorate 36(block) 10 Offset 128
Decorate 36(block) Block
- Decorate 38 DescriptorSet 0
- Decorate 38 Binding 0
- Decorate 60(payload) Location 1
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
diff --git a/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out b/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out
index eac481a..3573455 100644
--- a/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out
@@ -50,9 +50,6 @@
MemberDecorate 36(block) 9 Offset 96
MemberDecorate 36(block) 10 Offset 104
Decorate 36(block) Block
- Decorate 38 DescriptorSet 0
- Decorate 38 Binding 0
- Decorate 60(payload) Location 1
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
diff --git a/Test/baseResults/spv.ext.RayGenShader.rgen.out b/Test/baseResults/spv.ext.RayGenShader.rgen.out
index da516f3..46f920a 100644
--- a/Test/baseResults/spv.ext.RayGenShader.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenShader.rgen.out
@@ -34,9 +34,6 @@
MemberDecorate 38(block) 0 Offset 0
MemberDecorate 38(block) 1 Offset 16
Decorate 38(block) Block
- Decorate 40 DescriptorSet 0
- Decorate 40 Binding 3
- Decorate 53(payload) Location 1
Decorate 54(accEXT1) DescriptorSet 0
Decorate 54(accEXT1) Binding 1
Decorate 57(imageu) DescriptorSet 0
diff --git a/Test/baseResults/spv.ext.RayGenShader11.rgen.out b/Test/baseResults/spv.ext.RayGenShader11.rgen.out
index 00262ac..b31ebd9 100644
--- a/Test/baseResults/spv.ext.RayGenShader11.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenShader11.rgen.out
@@ -30,9 +30,6 @@
MemberDecorate 37(block) 0 Offset 0
MemberDecorate 37(block) 1 Offset 16
Decorate 37(block) Block
- Decorate 39 DescriptorSet 0
- Decorate 39 Binding 1
- Decorate 52(payload) Location 1
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
diff --git a/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out b/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out
index 473937d..08f72b2 100644
--- a/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out
+++ b/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out
@@ -43,9 +43,6 @@
MemberDecorate 36(block) 3 Offset 32
MemberDecorate 36(block) 4 Offset 40
Decorate 36(block) Block
- Decorate 38 DescriptorSet 0
- Decorate 38 Binding 2
- Decorate 61(payload) Location 1
Decorate 65(accEXT1) DescriptorSet 0
Decorate 65(accEXT1) Binding 1
Decorate 80 DecorationNonUniformEXT
diff --git a/Test/baseResults/spv.ext.World3x4.rahit.out b/Test/baseResults/spv.ext.World3x4.rahit.out
index 40d73d1..8c60912 100644
--- a/Test/baseResults/spv.ext.World3x4.rahit.out
+++ b/Test/baseResults/spv.ext.World3x4.rahit.out
@@ -28,7 +28,6 @@
Decorate 60(gl_WorldToObject3x4EXT) BuiltIn WorldToObjectKHR
Decorate 78(result) DescriptorSet 0
Decorate 78(result) Binding 0
- Decorate 89(hitValue) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
diff --git a/Test/baseResults/spv.float16.frag.out b/Test/baseResults/spv.float16.frag.out
index dd677b4..8c33a66 100644
--- a/Test/baseResults/spv.float16.frag.out
+++ b/Test/baseResults/spv.float16.frag.out
@@ -2,7 +2,7 @@
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 534
+// Id's are bound by 542
Capability Shader
Capability Float16
@@ -80,87 +80,87 @@
Name 445 "f16v2"
Name 463 "f16v"
Name 465 "if16v"
- Name 514 "S"
- MemberName 514(S) 0 "x"
- MemberName 514(S) 1 "y"
- MemberName 514(S) 2 "z"
- Name 516 "B1"
- MemberName 516(B1) 0 "a"
- MemberName 516(B1) 1 "b"
- MemberName 516(B1) 2 "c"
- MemberName 516(B1) 3 "d"
- MemberName 516(B1) 4 "e"
- MemberName 516(B1) 5 "f"
- MemberName 516(B1) 6 "g"
- MemberName 516(B1) 7 "h"
- Name 518 ""
- Name 521 "S"
- MemberName 521(S) 0 "x"
- MemberName 521(S) 1 "y"
- MemberName 521(S) 2 "z"
- Name 523 "B2"
- MemberName 523(B2) 0 "o"
- MemberName 523(B2) 1 "p"
- MemberName 523(B2) 2 "q"
- MemberName 523(B2) 3 "r"
- MemberName 523(B2) 4 "s"
- MemberName 523(B2) 5 "t"
- MemberName 523(B2) 6 "u"
- MemberName 523(B2) 7 "v"
- Name 525 ""
- Name 526 "sf16"
- Name 527 "sf"
- Name 528 "sd"
- Name 529 "f16_to_f"
- Name 531 "f16_to_d"
- Name 532 "f_to_f16"
- Name 533 "d_to_f16"
+ Name 522 "S"
+ MemberName 522(S) 0 "x"
+ MemberName 522(S) 1 "y"
+ MemberName 522(S) 2 "z"
+ Name 524 "B1"
+ MemberName 524(B1) 0 "a"
+ MemberName 524(B1) 1 "b"
+ MemberName 524(B1) 2 "c"
+ MemberName 524(B1) 3 "d"
+ MemberName 524(B1) 4 "e"
+ MemberName 524(B1) 5 "f"
+ MemberName 524(B1) 6 "g"
+ MemberName 524(B1) 7 "h"
+ Name 526 ""
+ Name 529 "S"
+ MemberName 529(S) 0 "x"
+ MemberName 529(S) 1 "y"
+ MemberName 529(S) 2 "z"
+ Name 531 "B2"
+ MemberName 531(B2) 0 "o"
+ MemberName 531(B2) 1 "p"
+ MemberName 531(B2) 2 "q"
+ MemberName 531(B2) 3 "r"
+ MemberName 531(B2) 4 "s"
+ MemberName 531(B2) 5 "t"
+ MemberName 531(B2) 6 "u"
+ MemberName 531(B2) 7 "v"
+ Name 533 ""
+ Name 534 "sf16"
+ Name 535 "sf"
+ Name 536 "sd"
+ Name 537 "f16_to_f"
+ Name 539 "f16_to_d"
+ Name 540 "f_to_f16"
+ Name 541 "d_to_f16"
Decorate 465(if16v) Location 0
- Decorate 512 ArrayStride 16
- Decorate 513 ArrayStride 32
- MemberDecorate 514(S) 0 Offset 0
- MemberDecorate 514(S) 1 Offset 4
- MemberDecorate 514(S) 2 Offset 8
- Decorate 515 ArrayStride 16
- MemberDecorate 516(B1) 0 Offset 0
- MemberDecorate 516(B1) 1 Offset 4
- MemberDecorate 516(B1) 2 Offset 8
- MemberDecorate 516(B1) 3 Offset 16
- MemberDecorate 516(B1) 4 ColMajor
- MemberDecorate 516(B1) 4 Offset 48
- MemberDecorate 516(B1) 4 MatrixStride 16
- MemberDecorate 516(B1) 5 ColMajor
- MemberDecorate 516(B1) 5 Offset 80
- MemberDecorate 516(B1) 5 MatrixStride 16
- MemberDecorate 516(B1) 6 Offset 144
- MemberDecorate 516(B1) 7 Offset 160
- Decorate 516(B1) Block
- Decorate 518 DescriptorSet 0
- Decorate 518 Binding 0
- Decorate 519 ArrayStride 2
- Decorate 520 ArrayStride 12
- MemberDecorate 521(S) 0 Offset 0
- MemberDecorate 521(S) 1 Offset 4
- MemberDecorate 521(S) 2 Offset 8
- Decorate 522 ArrayStride 16
- MemberDecorate 523(B2) 0 Offset 0
- MemberDecorate 523(B2) 1 Offset 4
- MemberDecorate 523(B2) 2 Offset 8
- MemberDecorate 523(B2) 3 Offset 14
- MemberDecorate 523(B2) 4 RowMajor
- MemberDecorate 523(B2) 4 Offset 20
- MemberDecorate 523(B2) 4 MatrixStride 4
- MemberDecorate 523(B2) 5 RowMajor
- MemberDecorate 523(B2) 5 Offset 32
- MemberDecorate 523(B2) 5 MatrixStride 4
- MemberDecorate 523(B2) 6 Offset 56
- MemberDecorate 523(B2) 7 Offset 72
- Decorate 523(B2) BufferBlock
- Decorate 525 DescriptorSet 0
- Decorate 525 Binding 0
- Decorate 526(sf16) SpecId 100
- Decorate 527(sf) SpecId 101
- Decorate 528(sd) SpecId 102
+ Decorate 520 ArrayStride 16
+ Decorate 521 ArrayStride 32
+ MemberDecorate 522(S) 0 Offset 0
+ MemberDecorate 522(S) 1 Offset 4
+ MemberDecorate 522(S) 2 Offset 8
+ Decorate 523 ArrayStride 16
+ MemberDecorate 524(B1) 0 Offset 0
+ MemberDecorate 524(B1) 1 Offset 4
+ MemberDecorate 524(B1) 2 Offset 8
+ MemberDecorate 524(B1) 3 Offset 16
+ MemberDecorate 524(B1) 4 ColMajor
+ MemberDecorate 524(B1) 4 Offset 48
+ MemberDecorate 524(B1) 4 MatrixStride 16
+ MemberDecorate 524(B1) 5 ColMajor
+ MemberDecorate 524(B1) 5 Offset 80
+ MemberDecorate 524(B1) 5 MatrixStride 16
+ MemberDecorate 524(B1) 6 Offset 144
+ MemberDecorate 524(B1) 7 Offset 160
+ Decorate 524(B1) Block
+ Decorate 526 DescriptorSet 0
+ Decorate 526 Binding 0
+ Decorate 527 ArrayStride 2
+ Decorate 528 ArrayStride 12
+ MemberDecorate 529(S) 0 Offset 0
+ MemberDecorate 529(S) 1 Offset 4
+ MemberDecorate 529(S) 2 Offset 8
+ Decorate 530 ArrayStride 16
+ MemberDecorate 531(B2) 0 Offset 0
+ MemberDecorate 531(B2) 1 Offset 4
+ MemberDecorate 531(B2) 2 Offset 8
+ MemberDecorate 531(B2) 3 Offset 14
+ MemberDecorate 531(B2) 4 RowMajor
+ MemberDecorate 531(B2) 4 Offset 20
+ MemberDecorate 531(B2) 4 MatrixStride 4
+ MemberDecorate 531(B2) 5 RowMajor
+ MemberDecorate 531(B2) 5 Offset 32
+ MemberDecorate 531(B2) 5 MatrixStride 4
+ MemberDecorate 531(B2) 6 Offset 56
+ MemberDecorate 531(B2) 7 Offset 72
+ Decorate 531(B2) BufferBlock
+ Decorate 533 DescriptorSet 0
+ Decorate 533 Binding 0
+ Decorate 534(sf16) SpecId 100
+ Decorate 535(sf) SpecId 101
+ Decorate 536(sd) SpecId 102
2: TypeVoid
3: TypeFunction 2
28: TypeFloat 16
@@ -218,32 +218,32 @@
464: TypePointer Input 151(f16vec3)
465(if16v): 464(ptr) Variable Input
466: TypePointer Input 28(float16_t)
- 503: 183(int) Constant 1
- 508:28(float16_t) Constant 14336
- 509: 29(f16vec2) ConstantComposite 508 508
- 511: 33(int) Constant 2
- 512: TypeArray 28(float16_t) 511
- 513: TypeArray 406 511
- 514(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3)
- 515: TypeArray 514(S) 511
- 516(B1): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 512 406 513 514(S) 515
- 517: TypePointer Uniform 516(B1)
- 518: 517(ptr) Variable Uniform
- 519: TypeArray 28(float16_t) 511
- 520: TypeArray 406 511
- 521(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3)
- 522: TypeArray 521(S) 511
- 523(B2): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 519 406 520 521(S) 522
- 524: TypePointer Uniform 523(B2)
- 525: 524(ptr) Variable Uniform
- 526(sf16):28(float16_t) SpecConstant 12288
- 527(sf): 164(float) SpecConstant 1048576000
- 528(sd):172(float64_t) SpecConstant 0 1071644672
- 529(f16_to_f): 164(float) SpecConstantOp 115 526(sf16)
- 530: 164(float) SpecConstantOp 115 526(sf16)
- 531(f16_to_d):172(float64_t) SpecConstantOp 115 530
- 532(f_to_f16):28(float16_t) SpecConstantOp 115 527(sf)
- 533(d_to_f16):28(float16_t) SpecConstantOp 115 528(sd)
+ 509: 183(int) Constant 1
+ 516:28(float16_t) Constant 14336
+ 517: 29(f16vec2) ConstantComposite 516 516
+ 519: 33(int) Constant 2
+ 520: TypeArray 28(float16_t) 519
+ 521: TypeArray 406 519
+ 522(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3)
+ 523: TypeArray 522(S) 519
+ 524(B1): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 520 406 521 522(S) 523
+ 525: TypePointer Uniform 524(B1)
+ 526: 525(ptr) Variable Uniform
+ 527: TypeArray 28(float16_t) 519
+ 528: TypeArray 406 519
+ 529(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3)
+ 530: TypeArray 529(S) 519
+ 531(B2): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 527 406 528 529(S) 530
+ 532: TypePointer Uniform 531(B2)
+ 533: 532(ptr) Variable Uniform
+ 534(sf16):28(float16_t) SpecConstant 12288
+ 535(sf): 164(float) SpecConstant 1048576000
+ 536(sd):172(float64_t) SpecConstant 0 1071644672
+ 537(f16_to_f): 164(float) SpecConstantOp 115 534(sf16)
+ 538: 164(float) SpecConstantOp 115 534(sf16)
+ 539(f16_to_d):172(float64_t) SpecConstantOp 115 538
+ 540(f_to_f16):28(float16_t) SpecConstantOp 115 535(sf)
+ 541(d_to_f16):28(float16_t) SpecConstantOp 115 536(sd)
4(main): 2 Function None 3
5: Label
Return
@@ -801,45 +801,57 @@
475:151(f16vec3) Load 465(if16v)
476: 29(f16vec2) VectorShuffle 475 475 0 1
477: 29(f16vec2) DPdxFine 476
- 478:151(f16vec3) Load 463(f16v)
- 479:151(f16vec3) VectorShuffle 478 477 3 4 2
- Store 463(f16v) 479
- 480:151(f16vec3) Load 465(if16v)
- 481: 29(f16vec2) VectorShuffle 480 480 0 1
- 482: 29(f16vec2) DPdyFine 481
- 483:151(f16vec3) Load 463(f16v)
- 484:151(f16vec3) VectorShuffle 483 482 3 4 2
- Store 463(f16v) 484
- 485:151(f16vec3) Load 465(if16v)
- 486:151(f16vec3) DPdxCoarse 485
- Store 463(f16v) 486
- 487:151(f16vec3) Load 465(if16v)
- 488:151(f16vec3) DPdxCoarse 487
- Store 463(f16v) 488
- 489: 466(ptr) AccessChain 465(if16v) 34
- 490:28(float16_t) Load 489
- 491:28(float16_t) Fwidth 490
- 492: 35(ptr) AccessChain 463(f16v) 34
- Store 492 491
- 493:151(f16vec3) Load 465(if16v)
- 494: 29(f16vec2) VectorShuffle 493 493 0 1
- 495: 29(f16vec2) FwidthFine 494
- 496:151(f16vec3) Load 463(f16v)
- 497:151(f16vec3) VectorShuffle 496 495 3 4 2
- Store 463(f16v) 497
- 498:151(f16vec3) Load 465(if16v)
- 499:151(f16vec3) FwidthCoarse 498
- Store 463(f16v) 499
- 500: 466(ptr) AccessChain 465(if16v) 34
- 501:28(float16_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 500
- 502: 35(ptr) AccessChain 463(f16v) 34
- Store 502 501
- 504:151(f16vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 465(if16v) 503
- 505: 29(f16vec2) VectorShuffle 504 504 0 1
- 506:151(f16vec3) Load 463(f16v)
- 507:151(f16vec3) VectorShuffle 506 505 3 4 2
- Store 463(f16v) 507
- 510:151(f16vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 465(if16v) 509
- Store 463(f16v) 510
+ 478: 35(ptr) AccessChain 463(f16v) 34
+ 479:28(float16_t) CompositeExtract 477 0
+ Store 478 479
+ 480: 35(ptr) AccessChain 463(f16v) 90
+ 481:28(float16_t) CompositeExtract 477 1
+ Store 480 481
+ 482:151(f16vec3) Load 465(if16v)
+ 483: 29(f16vec2) VectorShuffle 482 482 0 1
+ 484: 29(f16vec2) DPdyFine 483
+ 485: 35(ptr) AccessChain 463(f16v) 34
+ 486:28(float16_t) CompositeExtract 484 0
+ Store 485 486
+ 487: 35(ptr) AccessChain 463(f16v) 90
+ 488:28(float16_t) CompositeExtract 484 1
+ Store 487 488
+ 489:151(f16vec3) Load 465(if16v)
+ 490:151(f16vec3) DPdxCoarse 489
+ Store 463(f16v) 490
+ 491:151(f16vec3) Load 465(if16v)
+ 492:151(f16vec3) DPdxCoarse 491
+ Store 463(f16v) 492
+ 493: 466(ptr) AccessChain 465(if16v) 34
+ 494:28(float16_t) Load 493
+ 495:28(float16_t) Fwidth 494
+ 496: 35(ptr) AccessChain 463(f16v) 34
+ Store 496 495
+ 497:151(f16vec3) Load 465(if16v)
+ 498: 29(f16vec2) VectorShuffle 497 497 0 1
+ 499: 29(f16vec2) FwidthFine 498
+ 500: 35(ptr) AccessChain 463(f16v) 34
+ 501:28(float16_t) CompositeExtract 499 0
+ Store 500 501
+ 502: 35(ptr) AccessChain 463(f16v) 90
+ 503:28(float16_t) CompositeExtract 499 1
+ Store 502 503
+ 504:151(f16vec3) Load 465(if16v)
+ 505:151(f16vec3) FwidthCoarse 504
+ Store 463(f16v) 505
+ 506: 466(ptr) AccessChain 465(if16v) 34
+ 507:28(float16_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 506
+ 508: 35(ptr) AccessChain 463(f16v) 34
+ Store 508 507
+ 510:151(f16vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 465(if16v) 509
+ 511: 29(f16vec2) VectorShuffle 510 510 0 1
+ 512: 35(ptr) AccessChain 463(f16v) 34
+ 513:28(float16_t) CompositeExtract 511 0
+ Store 512 513
+ 514: 35(ptr) AccessChain 463(f16v) 90
+ 515:28(float16_t) CompositeExtract 511 1
+ Store 514 515
+ 518:151(f16vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 465(if16v) 517
+ Store 463(f16v) 518
Return
FunctionEnd
diff --git a/Test/baseResults/spv.float16Fetch.frag.out b/Test/baseResults/spv.float16Fetch.frag.out
index 3b2c36f..da4aa4d 100644
--- a/Test/baseResults/spv.float16Fetch.frag.out
+++ b/Test/baseResults/spv.float16Fetch.frag.out
@@ -2,7 +2,7 @@
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 5933
+// Id's are bound by 5979
Capability Shader
Capability Float16
@@ -29,7 +29,7 @@
Extension "SPV_KHR_16bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 128 135 137 148 156 169 177 215 251 309 565 572 1393 1401 1409 1417 1425 1433 4267 4274 5923 5932
+ EntryPoint Fragment 4 "main" 128 135 137 148 156 169 177 215 251 309 565 572 1393 1401 1409 1417 1425 1433 4311 4318 5969 5978
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
SourceExtension "GL_AMD_gpu_shader_half_float"
@@ -145,68 +145,68 @@
Name 2502 "texel"
Name 2530 "texel"
Name 2559 "size"
- Name 2733 "lod"
- Name 2869 "levels"
- Name 2938 "samples"
- Name 2952 "texel"
- Name 2955 "i1D"
- Name 2964 "i2D"
- Name 2973 "i3D"
- Name 2982 "i2DRect"
- Name 2991 "iCube"
- Name 3000 "iBuffer"
- Name 3009 "i1DArray"
- Name 3018 "i2DArray"
- Name 3027 "iCubeArray"
- Name 3036 "i2DMS"
- Name 3045 "i2DMSArray"
- Name 3099 "texel"
- Name 3102 "ResType"
- Name 3138 "ResType"
- Name 3242 "texel"
- Name 3322 "texel"
- Name 3412 "texel"
- Name 3468 "texel"
- Name 3628 "texel"
- Name 3742 "texel"
- Name 3794 "texel"
- Name 3832 "texel"
- Name 3950 "texel"
- Name 4022 "texel"
- Name 4104 "texel"
- Name 4156 "texel"
- Name 4184 "texel"
- Name 4212 "texel"
- Name 4264 "texel"
- Name 4267 "lodClamp"
- Name 4274 "f16lodClamp"
- Name 4401 "texel"
- Name 4608 "texel"
- Name 4684 "texel"
- Name 4828 "texel"
- Name 4972 "texel"
- Name 5198 "texel"
- Name 5290 "texel"
- Name 5462 "texel"
- Name 5464 "t1D"
- Name 5468 "s"
- Name 5484 "t2D"
- Name 5501 "t3D"
- Name 5518 "tCube"
- Name 5535 "sShadow"
- Name 5599 "t1DArray"
- Name 5616 "t2DArray"
- Name 5633 "tCubeArray"
- Name 5691 "t2DRect"
- Name 5751 "subpass"
- Name 5757 "subpassMS"
- Name 5763 "result"
- Name 5844 "param"
- Name 5923 "fragColor"
- Name 5927 "tBuffer"
- Name 5929 "t2DMS"
- Name 5931 "t2DMSArray"
- Name 5932 "bias"
+ Name 2777 "lod"
+ Name 2913 "levels"
+ Name 2982 "samples"
+ Name 2996 "texel"
+ Name 2999 "i1D"
+ Name 3008 "i2D"
+ Name 3017 "i3D"
+ Name 3026 "i2DRect"
+ Name 3035 "iCube"
+ Name 3044 "iBuffer"
+ Name 3053 "i1DArray"
+ Name 3062 "i2DArray"
+ Name 3071 "iCubeArray"
+ Name 3080 "i2DMS"
+ Name 3089 "i2DMSArray"
+ Name 3143 "texel"
+ Name 3146 "ResType"
+ Name 3182 "ResType"
+ Name 3286 "texel"
+ Name 3366 "texel"
+ Name 3456 "texel"
+ Name 3512 "texel"
+ Name 3672 "texel"
+ Name 3786 "texel"
+ Name 3838 "texel"
+ Name 3876 "texel"
+ Name 3994 "texel"
+ Name 4066 "texel"
+ Name 4148 "texel"
+ Name 4200 "texel"
+ Name 4228 "texel"
+ Name 4256 "texel"
+ Name 4308 "texel"
+ Name 4311 "lodClamp"
+ Name 4318 "f16lodClamp"
+ Name 4445 "texel"
+ Name 4652 "texel"
+ Name 4728 "texel"
+ Name 4872 "texel"
+ Name 5016 "texel"
+ Name 5242 "texel"
+ Name 5334 "texel"
+ Name 5506 "texel"
+ Name 5508 "t1D"
+ Name 5512 "s"
+ Name 5528 "t2D"
+ Name 5545 "t3D"
+ Name 5562 "tCube"
+ Name 5579 "sShadow"
+ Name 5643 "t1DArray"
+ Name 5660 "t2DArray"
+ Name 5677 "tCubeArray"
+ Name 5735 "t2DRect"
+ Name 5795 "subpass"
+ Name 5801 "subpassMS"
+ Name 5807 "result"
+ Name 5890 "param"
+ Name 5969 "fragColor"
+ Name 5973 "tBuffer"
+ Name 5975 "t2DMS"
+ Name 5977 "t2DMSArray"
+ Name 5978 "bias"
Decorate 125(s1D) DescriptorSet 0
Decorate 125(s1D) Binding 0
Decorate 128(c1) Location 0
@@ -261,64 +261,64 @@
Decorate 1417(f16dPdxy2) Location 19
Decorate 1425(dPdxy3) Location 10
Decorate 1433(f16dPdxy3) Location 20
- Decorate 2955(i1D) DescriptorSet 1
- Decorate 2955(i1D) Binding 0
- Decorate 2964(i2D) DescriptorSet 1
- Decorate 2964(i2D) Binding 1
- Decorate 2973(i3D) DescriptorSet 1
- Decorate 2973(i3D) Binding 2
- Decorate 2982(i2DRect) DescriptorSet 1
- Decorate 2982(i2DRect) Binding 3
- Decorate 2991(iCube) DescriptorSet 1
- Decorate 2991(iCube) Binding 4
- Decorate 3000(iBuffer) DescriptorSet 1
- Decorate 3000(iBuffer) Binding 8
- Decorate 3009(i1DArray) DescriptorSet 1
- Decorate 3009(i1DArray) Binding 5
- Decorate 3018(i2DArray) DescriptorSet 1
- Decorate 3018(i2DArray) Binding 6
- Decorate 3027(iCubeArray) DescriptorSet 1
- Decorate 3027(iCubeArray) Binding 7
- Decorate 3036(i2DMS) DescriptorSet 1
- Decorate 3036(i2DMS) Binding 9
- Decorate 3045(i2DMSArray) DescriptorSet 1
- Decorate 3045(i2DMSArray) Binding 10
- Decorate 4267(lodClamp) Location 7
- Decorate 4274(f16lodClamp) Location 17
- Decorate 5464(t1D) DescriptorSet 2
- Decorate 5464(t1D) Binding 0
- Decorate 5468(s) DescriptorSet 2
- Decorate 5468(s) Binding 11
- Decorate 5484(t2D) DescriptorSet 2
- Decorate 5484(t2D) Binding 1
- Decorate 5501(t3D) DescriptorSet 2
- Decorate 5501(t3D) Binding 2
- Decorate 5518(tCube) DescriptorSet 2
- Decorate 5518(tCube) Binding 4
- Decorate 5535(sShadow) DescriptorSet 2
- Decorate 5535(sShadow) Binding 12
- Decorate 5599(t1DArray) DescriptorSet 2
- Decorate 5599(t1DArray) Binding 5
- Decorate 5616(t2DArray) DescriptorSet 2
- Decorate 5616(t2DArray) Binding 6
- Decorate 5633(tCubeArray) DescriptorSet 2
- Decorate 5633(tCubeArray) Binding 7
- Decorate 5691(t2DRect) DescriptorSet 2
- Decorate 5691(t2DRect) Binding 3
- Decorate 5751(subpass) DescriptorSet 3
- Decorate 5751(subpass) Binding 0
- Decorate 5751(subpass) InputAttachmentIndex 0
- Decorate 5757(subpassMS) DescriptorSet 3
- Decorate 5757(subpassMS) Binding 1
- Decorate 5757(subpassMS) InputAttachmentIndex 0
- Decorate 5923(fragColor) Location 0
- Decorate 5927(tBuffer) DescriptorSet 2
- Decorate 5927(tBuffer) Binding 8
- Decorate 5929(t2DMS) DescriptorSet 2
- Decorate 5929(t2DMS) Binding 9
- Decorate 5931(t2DMSArray) DescriptorSet 2
- Decorate 5931(t2DMSArray) Binding 10
- Decorate 5932(bias) Location 6
+ Decorate 2999(i1D) DescriptorSet 1
+ Decorate 2999(i1D) Binding 0
+ Decorate 3008(i2D) DescriptorSet 1
+ Decorate 3008(i2D) Binding 1
+ Decorate 3017(i3D) DescriptorSet 1
+ Decorate 3017(i3D) Binding 2
+ Decorate 3026(i2DRect) DescriptorSet 1
+ Decorate 3026(i2DRect) Binding 3
+ Decorate 3035(iCube) DescriptorSet 1
+ Decorate 3035(iCube) Binding 4
+ Decorate 3044(iBuffer) DescriptorSet 1
+ Decorate 3044(iBuffer) Binding 8
+ Decorate 3053(i1DArray) DescriptorSet 1
+ Decorate 3053(i1DArray) Binding 5
+ Decorate 3062(i2DArray) DescriptorSet 1
+ Decorate 3062(i2DArray) Binding 6
+ Decorate 3071(iCubeArray) DescriptorSet 1
+ Decorate 3071(iCubeArray) Binding 7
+ Decorate 3080(i2DMS) DescriptorSet 1
+ Decorate 3080(i2DMS) Binding 9
+ Decorate 3089(i2DMSArray) DescriptorSet 1
+ Decorate 3089(i2DMSArray) Binding 10
+ Decorate 4311(lodClamp) Location 7
+ Decorate 4318(f16lodClamp) Location 17
+ Decorate 5508(t1D) DescriptorSet 2
+ Decorate 5508(t1D) Binding 0
+ Decorate 5512(s) DescriptorSet 2
+ Decorate 5512(s) Binding 11
+ Decorate 5528(t2D) DescriptorSet 2
+ Decorate 5528(t2D) Binding 1
+ Decorate 5545(t3D) DescriptorSet 2
+ Decorate 5545(t3D) Binding 2
+ Decorate 5562(tCube) DescriptorSet 2
+ Decorate 5562(tCube) Binding 4
+ Decorate 5579(sShadow) DescriptorSet 2
+ Decorate 5579(sShadow) Binding 12
+ Decorate 5643(t1DArray) DescriptorSet 2
+ Decorate 5643(t1DArray) Binding 5
+ Decorate 5660(t2DArray) DescriptorSet 2
+ Decorate 5660(t2DArray) Binding 6
+ Decorate 5677(tCubeArray) DescriptorSet 2
+ Decorate 5677(tCubeArray) Binding 7
+ Decorate 5735(t2DRect) DescriptorSet 2
+ Decorate 5735(t2DRect) Binding 3
+ Decorate 5795(subpass) DescriptorSet 3
+ Decorate 5795(subpass) Binding 0
+ Decorate 5795(subpass) InputAttachmentIndex 0
+ Decorate 5801(subpassMS) DescriptorSet 3
+ Decorate 5801(subpassMS) Binding 1
+ Decorate 5801(subpassMS) InputAttachmentIndex 0
+ Decorate 5969(fragColor) Location 0
+ Decorate 5973(tBuffer) DescriptorSet 2
+ Decorate 5973(tBuffer) Binding 8
+ Decorate 5975(t2DMS) DescriptorSet 2
+ Decorate 5975(t2DMS) Binding 9
+ Decorate 5977(t2DMSArray) DescriptorSet 2
+ Decorate 5977(t2DMSArray) Binding 10
+ Decorate 5978(bias) Location 6
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 16
@@ -453,306 +453,311 @@
2558: TypePointer Function 48(ivec4)
2560: 48(ivec4) ConstantComposite 2187 2187 2187 2187
2566: TypePointer Function 47(int)
- 2732: TypePointer Function 53(fvec2)
- 2734: 52(float) Constant 0
- 2735: 53(fvec2) ConstantComposite 2734 2734
- 2953: TypeImage 6(float16_t) 1D nonsampled format:Rgba16f
- 2954: TypePointer UniformConstant 2953
- 2955(i1D): 2954(ptr) Variable UniformConstant
- 2962: TypeImage 6(float16_t) 2D nonsampled format:Rgba16f
- 2963: TypePointer UniformConstant 2962
- 2964(i2D): 2963(ptr) Variable UniformConstant
- 2971: TypeImage 6(float16_t) 3D nonsampled format:Rgba16f
- 2972: TypePointer UniformConstant 2971
- 2973(i3D): 2972(ptr) Variable UniformConstant
- 2980: TypeImage 6(float16_t) Rect nonsampled format:Rgba16f
- 2981: TypePointer UniformConstant 2980
- 2982(i2DRect): 2981(ptr) Variable UniformConstant
- 2989: TypeImage 6(float16_t) Cube nonsampled format:Rgba16f
- 2990: TypePointer UniformConstant 2989
- 2991(iCube): 2990(ptr) Variable UniformConstant
- 2998: TypeImage 6(float16_t) Buffer nonsampled format:Rgba16f
- 2999: TypePointer UniformConstant 2998
- 3000(iBuffer): 2999(ptr) Variable UniformConstant
- 3007: TypeImage 6(float16_t) 1D array nonsampled format:Rgba16f
- 3008: TypePointer UniformConstant 3007
- 3009(i1DArray): 3008(ptr) Variable UniformConstant
- 3016: TypeImage 6(float16_t) 2D array nonsampled format:Rgba16f
- 3017: TypePointer UniformConstant 3016
- 3018(i2DArray): 3017(ptr) Variable UniformConstant
- 3025: TypeImage 6(float16_t) Cube array nonsampled format:Rgba16f
- 3026: TypePointer UniformConstant 3025
-3027(iCubeArray): 3026(ptr) Variable UniformConstant
- 3034: TypeImage 6(float16_t) 2D multi-sampled nonsampled format:Rgba16f
- 3035: TypePointer UniformConstant 3034
- 3036(i2DMS): 3035(ptr) Variable UniformConstant
- 3043: TypeImage 6(float16_t) 2D array multi-sampled nonsampled format:Rgba16f
- 3044: TypePointer UniformConstant 3043
-3045(i2DMSArray): 3044(ptr) Variable UniformConstant
- 3102(ResType): TypeStruct 47(int) 7(f16vec4)
- 3138(ResType): TypeStruct 47(int) 6(float16_t)
- 4025: 721(ivec2) ConstantComposite 709 1326
- 4026: 47(int) Constant 3
- 4027: 47(int) Constant 4
- 4028: 721(ivec2) ConstantComposite 4026 4027
- 4029: 47(int) Constant 15
- 4030: 47(int) Constant 16
- 4031: 721(ivec2) ConstantComposite 4029 4030
- 4032: 47(int) Constant 4294967294
- 4033: 721(ivec2) ConstantComposite 4032 2187
- 4034: 2379 ConstantComposite 4025 4028 4031 4033
- 4267(lodClamp): 127(ptr) Variable Input
-4274(f16lodClamp): 134(ptr) Variable Input
- 5463: TypePointer UniformConstant 122
- 5464(t1D): 5463(ptr) Variable UniformConstant
- 5466: TypeSampler
- 5467: TypePointer UniformConstant 5466
- 5468(s): 5467(ptr) Variable UniformConstant
- 5483: TypePointer UniformConstant 142
- 5484(t2D): 5483(ptr) Variable UniformConstant
- 5500: TypePointer UniformConstant 162
- 5501(t3D): 5500(ptr) Variable UniformConstant
- 5517: TypePointer UniformConstant 183
- 5518(tCube): 5517(ptr) Variable UniformConstant
- 5535(sShadow): 5467(ptr) Variable UniformConstant
- 5598: TypePointer UniformConstant 268
- 5599(t1DArray): 5598(ptr) Variable UniformConstant
- 5615: TypePointer UniformConstant 283
- 5616(t2DArray): 5615(ptr) Variable UniformConstant
- 5632: TypePointer UniformConstant 298
-5633(tCubeArray): 5632(ptr) Variable UniformConstant
- 5690: TypePointer UniformConstant 356
- 5691(t2DRect): 5690(ptr) Variable UniformConstant
- 5749: TypeImage 6(float16_t) SubpassData nonsampled format:Unknown
- 5750: TypePointer UniformConstant 5749
- 5751(subpass): 5750(ptr) Variable UniformConstant
- 5753: 721(ivec2) ConstantComposite 2187 2187
- 5755: TypeImage 6(float16_t) SubpassData multi-sampled nonsampled format:Unknown
- 5756: TypePointer UniformConstant 5755
- 5757(subpassMS): 5756(ptr) Variable UniformConstant
- 5922: TypePointer Output 249(fvec4)
- 5923(fragColor): 5922(ptr) Variable Output
- 5926: TypePointer UniformConstant 1297
- 5927(tBuffer): 5926(ptr) Variable UniformConstant
- 5928: TypePointer UniformConstant 1308
- 5929(t2DMS): 5928(ptr) Variable UniformConstant
- 5930: TypePointer UniformConstant 1319
-5931(t2DMSArray): 5930(ptr) Variable UniformConstant
- 5932(bias): 127(ptr) Variable Input
+ 2581: 206(int) Constant 1
+ 2596: 206(int) Constant 2
+ 2776: TypePointer Function 53(fvec2)
+ 2778: 52(float) Constant 0
+ 2779: 53(fvec2) ConstantComposite 2778 2778
+ 2997: TypeImage 6(float16_t) 1D nonsampled format:Rgba16f
+ 2998: TypePointer UniformConstant 2997
+ 2999(i1D): 2998(ptr) Variable UniformConstant
+ 3006: TypeImage 6(float16_t) 2D nonsampled format:Rgba16f
+ 3007: TypePointer UniformConstant 3006
+ 3008(i2D): 3007(ptr) Variable UniformConstant
+ 3015: TypeImage 6(float16_t) 3D nonsampled format:Rgba16f
+ 3016: TypePointer UniformConstant 3015
+ 3017(i3D): 3016(ptr) Variable UniformConstant
+ 3024: TypeImage 6(float16_t) Rect nonsampled format:Rgba16f
+ 3025: TypePointer UniformConstant 3024
+ 3026(i2DRect): 3025(ptr) Variable UniformConstant
+ 3033: TypeImage 6(float16_t) Cube nonsampled format:Rgba16f
+ 3034: TypePointer UniformConstant 3033
+ 3035(iCube): 3034(ptr) Variable UniformConstant
+ 3042: TypeImage 6(float16_t) Buffer nonsampled format:Rgba16f
+ 3043: TypePointer UniformConstant 3042
+ 3044(iBuffer): 3043(ptr) Variable UniformConstant
+ 3051: TypeImage 6(float16_t) 1D array nonsampled format:Rgba16f
+ 3052: TypePointer UniformConstant 3051
+ 3053(i1DArray): 3052(ptr) Variable UniformConstant
+ 3060: TypeImage 6(float16_t) 2D array nonsampled format:Rgba16f
+ 3061: TypePointer UniformConstant 3060
+ 3062(i2DArray): 3061(ptr) Variable UniformConstant
+ 3069: TypeImage 6(float16_t) Cube array nonsampled format:Rgba16f
+ 3070: TypePointer UniformConstant 3069
+3071(iCubeArray): 3070(ptr) Variable UniformConstant
+ 3078: TypeImage 6(float16_t) 2D multi-sampled nonsampled format:Rgba16f
+ 3079: TypePointer UniformConstant 3078
+ 3080(i2DMS): 3079(ptr) Variable UniformConstant
+ 3087: TypeImage 6(float16_t) 2D array multi-sampled nonsampled format:Rgba16f
+ 3088: TypePointer UniformConstant 3087
+3089(i2DMSArray): 3088(ptr) Variable UniformConstant
+ 3146(ResType): TypeStruct 47(int) 7(f16vec4)
+ 3182(ResType): TypeStruct 47(int) 6(float16_t)
+ 4069: 721(ivec2) ConstantComposite 709 1326
+ 4070: 47(int) Constant 3
+ 4071: 47(int) Constant 4
+ 4072: 721(ivec2) ConstantComposite 4070 4071
+ 4073: 47(int) Constant 15
+ 4074: 47(int) Constant 16
+ 4075: 721(ivec2) ConstantComposite 4073 4074
+ 4076: 47(int) Constant 4294967294
+ 4077: 721(ivec2) ConstantComposite 4076 2187
+ 4078: 2379 ConstantComposite 4069 4072 4075 4077
+ 4311(lodClamp): 127(ptr) Variable Input
+4318(f16lodClamp): 134(ptr) Variable Input
+ 5507: TypePointer UniformConstant 122
+ 5508(t1D): 5507(ptr) Variable UniformConstant
+ 5510: TypeSampler
+ 5511: TypePointer UniformConstant 5510
+ 5512(s): 5511(ptr) Variable UniformConstant
+ 5527: TypePointer UniformConstant 142
+ 5528(t2D): 5527(ptr) Variable UniformConstant
+ 5544: TypePointer UniformConstant 162
+ 5545(t3D): 5544(ptr) Variable UniformConstant
+ 5561: TypePointer UniformConstant 183
+ 5562(tCube): 5561(ptr) Variable UniformConstant
+ 5579(sShadow): 5511(ptr) Variable UniformConstant
+ 5642: TypePointer UniformConstant 268
+ 5643(t1DArray): 5642(ptr) Variable UniformConstant
+ 5659: TypePointer UniformConstant 283
+ 5660(t2DArray): 5659(ptr) Variable UniformConstant
+ 5676: TypePointer UniformConstant 298
+5677(tCubeArray): 5676(ptr) Variable UniformConstant
+ 5734: TypePointer UniformConstant 356
+ 5735(t2DRect): 5734(ptr) Variable UniformConstant
+ 5793: TypeImage 6(float16_t) SubpassData nonsampled format:Unknown
+ 5794: TypePointer UniformConstant 5793
+ 5795(subpass): 5794(ptr) Variable UniformConstant
+ 5797: 721(ivec2) ConstantComposite 2187 2187
+ 5799: TypeImage 6(float16_t) SubpassData multi-sampled nonsampled format:Unknown
+ 5800: TypePointer UniformConstant 5799
+ 5801(subpassMS): 5800(ptr) Variable UniformConstant
+ 5968: TypePointer Output 249(fvec4)
+ 5969(fragColor): 5968(ptr) Variable Output
+ 5972: TypePointer UniformConstant 1297
+ 5973(tBuffer): 5972(ptr) Variable UniformConstant
+ 5974: TypePointer UniformConstant 1308
+ 5975(t2DMS): 5974(ptr) Variable UniformConstant
+ 5976: TypePointer UniformConstant 1319
+5977(t2DMSArray): 5976(ptr) Variable UniformConstant
+ 5978(bias): 127(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 5763(result): 64(ptr) Variable Function
- 5844(param): 64(ptr) Variable Function
- Store 5763(result) 121
- 5764: 7(f16vec4) FunctionCall 9(testTexture()
- 5765: 7(f16vec4) Load 5763(result)
- 5766: 7(f16vec4) FAdd 5765 5764
- Store 5763(result) 5766
- 5767: 7(f16vec4) FunctionCall 11(testTextureProj()
- 5768: 7(f16vec4) Load 5763(result)
- 5769: 7(f16vec4) FAdd 5768 5767
- Store 5763(result) 5769
- 5770: 7(f16vec4) FunctionCall 13(testTextureLod()
- 5771: 7(f16vec4) Load 5763(result)
- 5772: 7(f16vec4) FAdd 5771 5770
- Store 5763(result) 5772
- 5773: 7(f16vec4) FunctionCall 15(testTextureOffset()
- 5774: 7(f16vec4) Load 5763(result)
- 5775: 7(f16vec4) FAdd 5774 5773
- Store 5763(result) 5775
- 5776: 7(f16vec4) FunctionCall 19(testTextureLodOffset()
- 5777: 7(f16vec4) Load 5763(result)
- 5778: 7(f16vec4) FAdd 5777 5776
- Store 5763(result) 5778
- 5779: 7(f16vec4) FunctionCall 21(testTextureProjLodOffset()
- 5780: 7(f16vec4) Load 5763(result)
- 5781: 7(f16vec4) FAdd 5780 5779
- Store 5763(result) 5781
- 5782: 7(f16vec4) FunctionCall 23(testTexelFetch()
- 5783: 7(f16vec4) Load 5763(result)
- 5784: 7(f16vec4) FAdd 5783 5782
- Store 5763(result) 5784
- 5785: 7(f16vec4) FunctionCall 25(testTexelFetchOffset()
- 5786: 7(f16vec4) Load 5763(result)
- 5787: 7(f16vec4) FAdd 5786 5785
- Store 5763(result) 5787
- 5788: 7(f16vec4) FunctionCall 27(testTextureGrad()
- 5789: 7(f16vec4) Load 5763(result)
- 5790: 7(f16vec4) FAdd 5789 5788
- Store 5763(result) 5790
- 5791: 7(f16vec4) FunctionCall 29(testTextureGradOffset()
- 5792: 7(f16vec4) Load 5763(result)
- 5793: 7(f16vec4) FAdd 5792 5791
- Store 5763(result) 5793
- 5794: 7(f16vec4) FunctionCall 31(testTextureProjGrad()
- 5795: 7(f16vec4) Load 5763(result)
- 5796: 7(f16vec4) FAdd 5795 5794
- Store 5763(result) 5796
- 5797: 7(f16vec4) FunctionCall 33(testTextureProjGradoffset()
- 5798: 7(f16vec4) Load 5763(result)
- 5799: 7(f16vec4) FAdd 5798 5797
- Store 5763(result) 5799
- 5800: 7(f16vec4) FunctionCall 35(testTextureGather()
- 5801: 7(f16vec4) Load 5763(result)
- 5802: 7(f16vec4) FAdd 5801 5800
- Store 5763(result) 5802
- 5803: 7(f16vec4) FunctionCall 37(testTextureGatherOffset()
- 5804: 7(f16vec4) Load 5763(result)
- 5805: 7(f16vec4) FAdd 5804 5803
- Store 5763(result) 5805
- 5806: 7(f16vec4) FunctionCall 39(testTextureGatherOffsets()
- 5807: 7(f16vec4) Load 5763(result)
- 5808: 7(f16vec4) FAdd 5807 5806
- Store 5763(result) 5808
- 5809: 7(f16vec4) FunctionCall 41(testTextureGatherLod()
- 5810: 7(f16vec4) Load 5763(result)
- 5811: 7(f16vec4) FAdd 5810 5809
- Store 5763(result) 5811
- 5812: 7(f16vec4) FunctionCall 43(testTextureGatherLodOffset()
- 5813: 7(f16vec4) Load 5763(result)
- 5814: 7(f16vec4) FAdd 5813 5812
- Store 5763(result) 5814
- 5815: 7(f16vec4) FunctionCall 45(testTextureGatherLodOffsets()
- 5816: 7(f16vec4) Load 5763(result)
- 5817: 7(f16vec4) FAdd 5816 5815
- Store 5763(result) 5817
- 5818: 48(ivec4) FunctionCall 50(testTextureSize()
- 5819: 7(f16vec4) ConvertSToF 5818
- 5820: 7(f16vec4) Load 5763(result)
- 5821: 7(f16vec4) FAdd 5820 5819
- Store 5763(result) 5821
- 5822: 53(fvec2) FunctionCall 55(testTextureQueryLod()
- 5823:154(f16vec2) FConvert 5822
- 5824: 7(f16vec4) Load 5763(result)
- 5825:154(f16vec2) VectorShuffle 5824 5824 0 1
- 5826:154(f16vec2) FAdd 5825 5823
- 5827: 7(f16vec4) Load 5763(result)
- 5828: 7(f16vec4) VectorShuffle 5827 5826 4 5 2 3
- Store 5763(result) 5828
- 5829: 47(int) FunctionCall 58(testTextureQueryLevels()
- 5830:6(float16_t) ConvertSToF 5829
- 5831: 208(ptr) AccessChain 5763(result) 207
- 5832:6(float16_t) Load 5831
- 5833:6(float16_t) FAdd 5832 5830
- 5834: 208(ptr) AccessChain 5763(result) 207
- Store 5834 5833
- 5835: 47(int) FunctionCall 60(testTextureSamples()
- 5836:6(float16_t) ConvertSToF 5835
- 5837: 208(ptr) AccessChain 5763(result) 207
- 5838:6(float16_t) Load 5837
- 5839:6(float16_t) FAdd 5838 5836
- 5840: 208(ptr) AccessChain 5763(result) 207
- Store 5840 5839
- 5841: 7(f16vec4) FunctionCall 62(testImageLoad()
- 5842: 7(f16vec4) Load 5763(result)
+ 5807(result): 64(ptr) Variable Function
+ 5890(param): 64(ptr) Variable Function
+ Store 5807(result) 121
+ 5808: 7(f16vec4) FunctionCall 9(testTexture()
+ 5809: 7(f16vec4) Load 5807(result)
+ 5810: 7(f16vec4) FAdd 5809 5808
+ Store 5807(result) 5810
+ 5811: 7(f16vec4) FunctionCall 11(testTextureProj()
+ 5812: 7(f16vec4) Load 5807(result)
+ 5813: 7(f16vec4) FAdd 5812 5811
+ Store 5807(result) 5813
+ 5814: 7(f16vec4) FunctionCall 13(testTextureLod()
+ 5815: 7(f16vec4) Load 5807(result)
+ 5816: 7(f16vec4) FAdd 5815 5814
+ Store 5807(result) 5816
+ 5817: 7(f16vec4) FunctionCall 15(testTextureOffset()
+ 5818: 7(f16vec4) Load 5807(result)
+ 5819: 7(f16vec4) FAdd 5818 5817
+ Store 5807(result) 5819
+ 5820: 7(f16vec4) FunctionCall 19(testTextureLodOffset()
+ 5821: 7(f16vec4) Load 5807(result)
+ 5822: 7(f16vec4) FAdd 5821 5820
+ Store 5807(result) 5822
+ 5823: 7(f16vec4) FunctionCall 21(testTextureProjLodOffset()
+ 5824: 7(f16vec4) Load 5807(result)
+ 5825: 7(f16vec4) FAdd 5824 5823
+ Store 5807(result) 5825
+ 5826: 7(f16vec4) FunctionCall 23(testTexelFetch()
+ 5827: 7(f16vec4) Load 5807(result)
+ 5828: 7(f16vec4) FAdd 5827 5826
+ Store 5807(result) 5828
+ 5829: 7(f16vec4) FunctionCall 25(testTexelFetchOffset()
+ 5830: 7(f16vec4) Load 5807(result)
+ 5831: 7(f16vec4) FAdd 5830 5829
+ Store 5807(result) 5831
+ 5832: 7(f16vec4) FunctionCall 27(testTextureGrad()
+ 5833: 7(f16vec4) Load 5807(result)
+ 5834: 7(f16vec4) FAdd 5833 5832
+ Store 5807(result) 5834
+ 5835: 7(f16vec4) FunctionCall 29(testTextureGradOffset()
+ 5836: 7(f16vec4) Load 5807(result)
+ 5837: 7(f16vec4) FAdd 5836 5835
+ Store 5807(result) 5837
+ 5838: 7(f16vec4) FunctionCall 31(testTextureProjGrad()
+ 5839: 7(f16vec4) Load 5807(result)
+ 5840: 7(f16vec4) FAdd 5839 5838
+ Store 5807(result) 5840
+ 5841: 7(f16vec4) FunctionCall 33(testTextureProjGradoffset()
+ 5842: 7(f16vec4) Load 5807(result)
5843: 7(f16vec4) FAdd 5842 5841
- Store 5763(result) 5843
- 5845: 7(f16vec4) Load 5763(result)
- Store 5844(param) 5845
- 5846: 2 FunctionCall 67(testImageStore(vf164;) 5844(param)
- 5847: 7(f16vec4) FunctionCall 69(testSparseTexture()
- 5848: 7(f16vec4) Load 5763(result)
+ Store 5807(result) 5843
+ 5844: 7(f16vec4) FunctionCall 35(testTextureGather()
+ 5845: 7(f16vec4) Load 5807(result)
+ 5846: 7(f16vec4) FAdd 5845 5844
+ Store 5807(result) 5846
+ 5847: 7(f16vec4) FunctionCall 37(testTextureGatherOffset()
+ 5848: 7(f16vec4) Load 5807(result)
5849: 7(f16vec4) FAdd 5848 5847
- Store 5763(result) 5849
- 5850: 7(f16vec4) FunctionCall 71(testSparseTextureLod()
- 5851: 7(f16vec4) Load 5763(result)
+ Store 5807(result) 5849
+ 5850: 7(f16vec4) FunctionCall 39(testTextureGatherOffsets()
+ 5851: 7(f16vec4) Load 5807(result)
5852: 7(f16vec4) FAdd 5851 5850
- Store 5763(result) 5852
- 5853: 7(f16vec4) FunctionCall 73(testSparseTextureOffset()
- 5854: 7(f16vec4) Load 5763(result)
+ Store 5807(result) 5852
+ 5853: 7(f16vec4) FunctionCall 41(testTextureGatherLod()
+ 5854: 7(f16vec4) Load 5807(result)
5855: 7(f16vec4) FAdd 5854 5853
- Store 5763(result) 5855
- 5856: 7(f16vec4) FunctionCall 75(testSparseTextureLodOffset()
- 5857: 7(f16vec4) Load 5763(result)
+ Store 5807(result) 5855
+ 5856: 7(f16vec4) FunctionCall 43(testTextureGatherLodOffset()
+ 5857: 7(f16vec4) Load 5807(result)
5858: 7(f16vec4) FAdd 5857 5856
- Store 5763(result) 5858
- 5859: 7(f16vec4) FunctionCall 77(testSparseTextureGrad()
- 5860: 7(f16vec4) Load 5763(result)
+ Store 5807(result) 5858
+ 5859: 7(f16vec4) FunctionCall 45(testTextureGatherLodOffsets()
+ 5860: 7(f16vec4) Load 5807(result)
5861: 7(f16vec4) FAdd 5860 5859
- Store 5763(result) 5861
- 5862: 7(f16vec4) FunctionCall 79(testSparseTextureGradOffset()
- 5863: 7(f16vec4) Load 5763(result)
- 5864: 7(f16vec4) FAdd 5863 5862
- Store 5763(result) 5864
- 5865: 7(f16vec4) FunctionCall 81(testSparseTexelFetch()
- 5866: 7(f16vec4) Load 5763(result)
- 5867: 7(f16vec4) FAdd 5866 5865
- Store 5763(result) 5867
- 5868: 7(f16vec4) FunctionCall 83(testSparseTexelFetchOffset()
- 5869: 7(f16vec4) Load 5763(result)
- 5870: 7(f16vec4) FAdd 5869 5868
- Store 5763(result) 5870
- 5871: 7(f16vec4) FunctionCall 85(testSparseTextureGather()
- 5872: 7(f16vec4) Load 5763(result)
- 5873: 7(f16vec4) FAdd 5872 5871
- Store 5763(result) 5873
- 5874: 7(f16vec4) FunctionCall 87(testSparseTextureGatherOffset()
- 5875: 7(f16vec4) Load 5763(result)
- 5876: 7(f16vec4) FAdd 5875 5874
- Store 5763(result) 5876
- 5877: 7(f16vec4) FunctionCall 89(testSparseTextureGatherOffsets()
- 5878: 7(f16vec4) Load 5763(result)
- 5879: 7(f16vec4) FAdd 5878 5877
- Store 5763(result) 5879
- 5880: 7(f16vec4) FunctionCall 91(testSparseTextureGatherLod()
- 5881: 7(f16vec4) Load 5763(result)
- 5882: 7(f16vec4) FAdd 5881 5880
- Store 5763(result) 5882
- 5883: 7(f16vec4) FunctionCall 93(testSparseTextureGatherLodOffset()
- 5884: 7(f16vec4) Load 5763(result)
- 5885: 7(f16vec4) FAdd 5884 5883
- Store 5763(result) 5885
- 5886: 7(f16vec4) FunctionCall 95(testSparseTextureGatherLodOffsets()
- 5887: 7(f16vec4) Load 5763(result)
- 5888: 7(f16vec4) FAdd 5887 5886
- Store 5763(result) 5888
- 5889: 7(f16vec4) FunctionCall 97(testSparseImageLoad()
- 5890: 7(f16vec4) Load 5763(result)
- 5891: 7(f16vec4) FAdd 5890 5889
- Store 5763(result) 5891
- 5892: 7(f16vec4) FunctionCall 99(testSparseTextureClamp()
- 5893: 7(f16vec4) Load 5763(result)
- 5894: 7(f16vec4) FAdd 5893 5892
- Store 5763(result) 5894
- 5895: 7(f16vec4) FunctionCall 101(testTextureClamp()
- 5896: 7(f16vec4) Load 5763(result)
- 5897: 7(f16vec4) FAdd 5896 5895
- Store 5763(result) 5897
- 5898: 7(f16vec4) FunctionCall 103(testSparseTextureOffsetClamp()
- 5899: 7(f16vec4) Load 5763(result)
- 5900: 7(f16vec4) FAdd 5899 5898
- Store 5763(result) 5900
- 5901: 7(f16vec4) FunctionCall 105(testTextureOffsetClamp()
- 5902: 7(f16vec4) Load 5763(result)
- 5903: 7(f16vec4) FAdd 5902 5901
- Store 5763(result) 5903
- 5904: 7(f16vec4) FunctionCall 77(testSparseTextureGrad()
- 5905: 7(f16vec4) Load 5763(result)
- 5906: 7(f16vec4) FAdd 5905 5904
- Store 5763(result) 5906
- 5907: 7(f16vec4) FunctionCall 27(testTextureGrad()
- 5908: 7(f16vec4) Load 5763(result)
- 5909: 7(f16vec4) FAdd 5908 5907
- Store 5763(result) 5909
- 5910: 7(f16vec4) FunctionCall 111(testSparseTextureGradOffsetClamp()
- 5911: 7(f16vec4) Load 5763(result)
- 5912: 7(f16vec4) FAdd 5911 5910
- Store 5763(result) 5912
- 5913: 7(f16vec4) FunctionCall 113(testTextureGradOffsetClamp()
- 5914: 7(f16vec4) Load 5763(result)
- 5915: 7(f16vec4) FAdd 5914 5913
- Store 5763(result) 5915
- 5916: 7(f16vec4) FunctionCall 115(testCombinedTextureSampler()
- 5917: 7(f16vec4) Load 5763(result)
- 5918: 7(f16vec4) FAdd 5917 5916
- Store 5763(result) 5918
- 5919: 7(f16vec4) FunctionCall 117(testSubpassLoad()
- 5920: 7(f16vec4) Load 5763(result)
- 5921: 7(f16vec4) FAdd 5920 5919
- Store 5763(result) 5921
- 5924: 7(f16vec4) Load 5763(result)
- 5925: 249(fvec4) FConvert 5924
- Store 5923(fragColor) 5925
+ Store 5807(result) 5861
+ 5862: 48(ivec4) FunctionCall 50(testTextureSize()
+ 5863: 7(f16vec4) ConvertSToF 5862
+ 5864: 7(f16vec4) Load 5807(result)
+ 5865: 7(f16vec4) FAdd 5864 5863
+ Store 5807(result) 5865
+ 5866: 53(fvec2) FunctionCall 55(testTextureQueryLod()
+ 5867:154(f16vec2) FConvert 5866
+ 5868: 7(f16vec4) Load 5807(result)
+ 5869:154(f16vec2) VectorShuffle 5868 5868 0 1
+ 5870:154(f16vec2) FAdd 5869 5867
+ 5871: 208(ptr) AccessChain 5807(result) 207
+ 5872:6(float16_t) CompositeExtract 5870 0
+ Store 5871 5872
+ 5873: 208(ptr) AccessChain 5807(result) 2581
+ 5874:6(float16_t) CompositeExtract 5870 1
+ Store 5873 5874
+ 5875: 47(int) FunctionCall 58(testTextureQueryLevels()
+ 5876:6(float16_t) ConvertSToF 5875
+ 5877: 208(ptr) AccessChain 5807(result) 207
+ 5878:6(float16_t) Load 5877
+ 5879:6(float16_t) FAdd 5878 5876
+ 5880: 208(ptr) AccessChain 5807(result) 207
+ Store 5880 5879
+ 5881: 47(int) FunctionCall 60(testTextureSamples()
+ 5882:6(float16_t) ConvertSToF 5881
+ 5883: 208(ptr) AccessChain 5807(result) 207
+ 5884:6(float16_t) Load 5883
+ 5885:6(float16_t) FAdd 5884 5882
+ 5886: 208(ptr) AccessChain 5807(result) 207
+ Store 5886 5885
+ 5887: 7(f16vec4) FunctionCall 62(testImageLoad()
+ 5888: 7(f16vec4) Load 5807(result)
+ 5889: 7(f16vec4) FAdd 5888 5887
+ Store 5807(result) 5889
+ 5891: 7(f16vec4) Load 5807(result)
+ Store 5890(param) 5891
+ 5892: 2 FunctionCall 67(testImageStore(vf164;) 5890(param)
+ 5893: 7(f16vec4) FunctionCall 69(testSparseTexture()
+ 5894: 7(f16vec4) Load 5807(result)
+ 5895: 7(f16vec4) FAdd 5894 5893
+ Store 5807(result) 5895
+ 5896: 7(f16vec4) FunctionCall 71(testSparseTextureLod()
+ 5897: 7(f16vec4) Load 5807(result)
+ 5898: 7(f16vec4) FAdd 5897 5896
+ Store 5807(result) 5898
+ 5899: 7(f16vec4) FunctionCall 73(testSparseTextureOffset()
+ 5900: 7(f16vec4) Load 5807(result)
+ 5901: 7(f16vec4) FAdd 5900 5899
+ Store 5807(result) 5901
+ 5902: 7(f16vec4) FunctionCall 75(testSparseTextureLodOffset()
+ 5903: 7(f16vec4) Load 5807(result)
+ 5904: 7(f16vec4) FAdd 5903 5902
+ Store 5807(result) 5904
+ 5905: 7(f16vec4) FunctionCall 77(testSparseTextureGrad()
+ 5906: 7(f16vec4) Load 5807(result)
+ 5907: 7(f16vec4) FAdd 5906 5905
+ Store 5807(result) 5907
+ 5908: 7(f16vec4) FunctionCall 79(testSparseTextureGradOffset()
+ 5909: 7(f16vec4) Load 5807(result)
+ 5910: 7(f16vec4) FAdd 5909 5908
+ Store 5807(result) 5910
+ 5911: 7(f16vec4) FunctionCall 81(testSparseTexelFetch()
+ 5912: 7(f16vec4) Load 5807(result)
+ 5913: 7(f16vec4) FAdd 5912 5911
+ Store 5807(result) 5913
+ 5914: 7(f16vec4) FunctionCall 83(testSparseTexelFetchOffset()
+ 5915: 7(f16vec4) Load 5807(result)
+ 5916: 7(f16vec4) FAdd 5915 5914
+ Store 5807(result) 5916
+ 5917: 7(f16vec4) FunctionCall 85(testSparseTextureGather()
+ 5918: 7(f16vec4) Load 5807(result)
+ 5919: 7(f16vec4) FAdd 5918 5917
+ Store 5807(result) 5919
+ 5920: 7(f16vec4) FunctionCall 87(testSparseTextureGatherOffset()
+ 5921: 7(f16vec4) Load 5807(result)
+ 5922: 7(f16vec4) FAdd 5921 5920
+ Store 5807(result) 5922
+ 5923: 7(f16vec4) FunctionCall 89(testSparseTextureGatherOffsets()
+ 5924: 7(f16vec4) Load 5807(result)
+ 5925: 7(f16vec4) FAdd 5924 5923
+ Store 5807(result) 5925
+ 5926: 7(f16vec4) FunctionCall 91(testSparseTextureGatherLod()
+ 5927: 7(f16vec4) Load 5807(result)
+ 5928: 7(f16vec4) FAdd 5927 5926
+ Store 5807(result) 5928
+ 5929: 7(f16vec4) FunctionCall 93(testSparseTextureGatherLodOffset()
+ 5930: 7(f16vec4) Load 5807(result)
+ 5931: 7(f16vec4) FAdd 5930 5929
+ Store 5807(result) 5931
+ 5932: 7(f16vec4) FunctionCall 95(testSparseTextureGatherLodOffsets()
+ 5933: 7(f16vec4) Load 5807(result)
+ 5934: 7(f16vec4) FAdd 5933 5932
+ Store 5807(result) 5934
+ 5935: 7(f16vec4) FunctionCall 97(testSparseImageLoad()
+ 5936: 7(f16vec4) Load 5807(result)
+ 5937: 7(f16vec4) FAdd 5936 5935
+ Store 5807(result) 5937
+ 5938: 7(f16vec4) FunctionCall 99(testSparseTextureClamp()
+ 5939: 7(f16vec4) Load 5807(result)
+ 5940: 7(f16vec4) FAdd 5939 5938
+ Store 5807(result) 5940
+ 5941: 7(f16vec4) FunctionCall 101(testTextureClamp()
+ 5942: 7(f16vec4) Load 5807(result)
+ 5943: 7(f16vec4) FAdd 5942 5941
+ Store 5807(result) 5943
+ 5944: 7(f16vec4) FunctionCall 103(testSparseTextureOffsetClamp()
+ 5945: 7(f16vec4) Load 5807(result)
+ 5946: 7(f16vec4) FAdd 5945 5944
+ Store 5807(result) 5946
+ 5947: 7(f16vec4) FunctionCall 105(testTextureOffsetClamp()
+ 5948: 7(f16vec4) Load 5807(result)
+ 5949: 7(f16vec4) FAdd 5948 5947
+ Store 5807(result) 5949
+ 5950: 7(f16vec4) FunctionCall 77(testSparseTextureGrad()
+ 5951: 7(f16vec4) Load 5807(result)
+ 5952: 7(f16vec4) FAdd 5951 5950
+ Store 5807(result) 5952
+ 5953: 7(f16vec4) FunctionCall 27(testTextureGrad()
+ 5954: 7(f16vec4) Load 5807(result)
+ 5955: 7(f16vec4) FAdd 5954 5953
+ Store 5807(result) 5955
+ 5956: 7(f16vec4) FunctionCall 111(testSparseTextureGradOffsetClamp()
+ 5957: 7(f16vec4) Load 5807(result)
+ 5958: 7(f16vec4) FAdd 5957 5956
+ Store 5807(result) 5958
+ 5959: 7(f16vec4) FunctionCall 113(testTextureGradOffsetClamp()
+ 5960: 7(f16vec4) Load 5807(result)
+ 5961: 7(f16vec4) FAdd 5960 5959
+ Store 5807(result) 5961
+ 5962: 7(f16vec4) FunctionCall 115(testCombinedTextureSampler()
+ 5963: 7(f16vec4) Load 5807(result)
+ 5964: 7(f16vec4) FAdd 5963 5962
+ Store 5807(result) 5964
+ 5965: 7(f16vec4) FunctionCall 117(testSubpassLoad()
+ 5966: 7(f16vec4) Load 5807(result)
+ 5967: 7(f16vec4) FAdd 5966 5965
+ Store 5807(result) 5967
+ 5970: 7(f16vec4) Load 5807(result)
+ 5971: 249(fvec4) FConvert 5970
+ Store 5969(fragColor) 5971
Return
FunctionEnd
9(testTexture(): 7(f16vec4) Function None 8
@@ -3463,3619 +3468,3682 @@
2576: 48(ivec4) Load 2559(size)
2577: 721(ivec2) VectorShuffle 2576 2576 0 1
2578: 721(ivec2) IAdd 2577 2575
- 2579: 48(ivec4) Load 2559(size)
- 2580: 48(ivec4) VectorShuffle 2579 2578 4 5 2 3
- Store 2559(size) 2580
- 2581: 163 Load 165(s3D)
- 2582: 52(float) Load 565(lod)
- 2583: 47(int) ConvertFToS 2582
- 2584: 162 Image 2581
- 2585: 734(ivec3) ImageQuerySizeLod 2584 2583
- 2586: 48(ivec4) Load 2559(size)
- 2587: 734(ivec3) VectorShuffle 2586 2586 0 1 2
- 2588: 734(ivec3) IAdd 2587 2585
+ 2579: 2566(ptr) AccessChain 2559(size) 207
+ 2580: 47(int) CompositeExtract 2578 0
+ Store 2579 2580
+ 2582: 2566(ptr) AccessChain 2559(size) 2581
+ 2583: 47(int) CompositeExtract 2578 1
+ Store 2582 2583
+ 2584: 163 Load 165(s3D)
+ 2585: 52(float) Load 565(lod)
+ 2586: 47(int) ConvertFToS 2585
+ 2587: 162 Image 2584
+ 2588: 734(ivec3) ImageQuerySizeLod 2587 2586
2589: 48(ivec4) Load 2559(size)
- 2590: 48(ivec4) VectorShuffle 2589 2588 4 5 6 3
- Store 2559(size) 2590
- 2591: 184 Load 186(sCube)
- 2592: 52(float) Load 565(lod)
- 2593: 47(int) ConvertFToS 2592
- 2594: 183 Image 2591
- 2595: 721(ivec2) ImageQuerySizeLod 2594 2593
- 2596: 48(ivec4) Load 2559(size)
- 2597: 721(ivec2) VectorShuffle 2596 2596 0 1
- 2598: 721(ivec2) IAdd 2597 2595
- 2599: 48(ivec4) Load 2559(size)
- 2600: 48(ivec4) VectorShuffle 2599 2598 4 5 2 3
- Store 2559(size) 2600
- 2601: 199 Load 201(s1DShadow)
- 2602: 52(float) Load 565(lod)
- 2603: 47(int) ConvertFToS 2602
- 2604: 198 Image 2601
- 2605: 47(int) ImageQuerySizeLod 2604 2603
- 2606: 2566(ptr) AccessChain 2559(size) 207
- 2607: 47(int) Load 2606
- 2608: 47(int) IAdd 2607 2605
- 2609: 2566(ptr) AccessChain 2559(size) 207
- Store 2609 2608
- 2610: 224 Load 226(s2DShadow)
- 2611: 52(float) Load 565(lod)
- 2612: 47(int) ConvertFToS 2611
- 2613: 223 Image 2610
- 2614: 721(ivec2) ImageQuerySizeLod 2613 2612
- 2615: 48(ivec4) Load 2559(size)
- 2616: 721(ivec2) VectorShuffle 2615 2615 0 1
- 2617: 721(ivec2) IAdd 2616 2614
- 2618: 48(ivec4) Load 2559(size)
- 2619: 48(ivec4) VectorShuffle 2618 2617 4 5 2 3
- Store 2559(size) 2619
- 2620: 245 Load 247(sCubeShadow)
+ 2590: 734(ivec3) VectorShuffle 2589 2589 0 1 2
+ 2591: 734(ivec3) IAdd 2590 2588
+ 2592: 2566(ptr) AccessChain 2559(size) 207
+ 2593: 47(int) CompositeExtract 2591 0
+ Store 2592 2593
+ 2594: 2566(ptr) AccessChain 2559(size) 2581
+ 2595: 47(int) CompositeExtract 2591 1
+ Store 2594 2595
+ 2597: 2566(ptr) AccessChain 2559(size) 2596
+ 2598: 47(int) CompositeExtract 2591 2
+ Store 2597 2598
+ 2599: 184 Load 186(sCube)
+ 2600: 52(float) Load 565(lod)
+ 2601: 47(int) ConvertFToS 2600
+ 2602: 183 Image 2599
+ 2603: 721(ivec2) ImageQuerySizeLod 2602 2601
+ 2604: 48(ivec4) Load 2559(size)
+ 2605: 721(ivec2) VectorShuffle 2604 2604 0 1
+ 2606: 721(ivec2) IAdd 2605 2603
+ 2607: 2566(ptr) AccessChain 2559(size) 207
+ 2608: 47(int) CompositeExtract 2606 0
+ Store 2607 2608
+ 2609: 2566(ptr) AccessChain 2559(size) 2581
+ 2610: 47(int) CompositeExtract 2606 1
+ Store 2609 2610
+ 2611: 199 Load 201(s1DShadow)
+ 2612: 52(float) Load 565(lod)
+ 2613: 47(int) ConvertFToS 2612
+ 2614: 198 Image 2611
+ 2615: 47(int) ImageQuerySizeLod 2614 2613
+ 2616: 2566(ptr) AccessChain 2559(size) 207
+ 2617: 47(int) Load 2616
+ 2618: 47(int) IAdd 2617 2615
+ 2619: 2566(ptr) AccessChain 2559(size) 207
+ Store 2619 2618
+ 2620: 224 Load 226(s2DShadow)
2621: 52(float) Load 565(lod)
2622: 47(int) ConvertFToS 2621
- 2623: 244 Image 2620
+ 2623: 223 Image 2620
2624: 721(ivec2) ImageQuerySizeLod 2623 2622
2625: 48(ivec4) Load 2559(size)
2626: 721(ivec2) VectorShuffle 2625 2625 0 1
2627: 721(ivec2) IAdd 2626 2624
- 2628: 48(ivec4) Load 2559(size)
- 2629: 48(ivec4) VectorShuffle 2628 2627 4 5 2 3
- Store 2559(size) 2629
- 2630: 299 Load 301(sCubeArray)
- 2631: 52(float) Load 565(lod)
- 2632: 47(int) ConvertFToS 2631
- 2633: 298 Image 2630
- 2634: 734(ivec3) ImageQuerySizeLod 2633 2632
- 2635: 48(ivec4) Load 2559(size)
- 2636: 734(ivec3) VectorShuffle 2635 2635 0 1 2
- 2637: 734(ivec3) IAdd 2636 2634
- 2638: 48(ivec4) Load 2559(size)
- 2639: 48(ivec4) VectorShuffle 2638 2637 4 5 6 3
- Store 2559(size) 2639
- 2640: 391 Load 393(sCubeArrayShadow)
- 2641: 52(float) Load 565(lod)
- 2642: 47(int) ConvertFToS 2641
- 2643: 390 Image 2640
- 2644: 734(ivec3) ImageQuerySizeLod 2643 2642
- 2645: 48(ivec4) Load 2559(size)
- 2646: 734(ivec3) VectorShuffle 2645 2645 0 1 2
- 2647: 734(ivec3) IAdd 2646 2644
- 2648: 48(ivec4) Load 2559(size)
- 2649: 48(ivec4) VectorShuffle 2648 2647 4 5 6 3
- Store 2559(size) 2649
- 2650: 357 Load 359(s2DRect)
- 2651: 356 Image 2650
- 2652: 721(ivec2) ImageQuerySize 2651
- 2653: 48(ivec4) Load 2559(size)
- 2654: 721(ivec2) VectorShuffle 2653 2653 0 1
- 2655: 721(ivec2) IAdd 2654 2652
- 2656: 48(ivec4) Load 2559(size)
- 2657: 48(ivec4) VectorShuffle 2656 2655 4 5 2 3
- Store 2559(size) 2657
- 2658: 371 Load 373(s2DRectShadow)
- 2659: 370 Image 2658
- 2660: 721(ivec2) ImageQuerySize 2659
- 2661: 48(ivec4) Load 2559(size)
- 2662: 721(ivec2) VectorShuffle 2661 2661 0 1
- 2663: 721(ivec2) IAdd 2662 2660
- 2664: 48(ivec4) Load 2559(size)
- 2665: 48(ivec4) VectorShuffle 2664 2663 4 5 2 3
- Store 2559(size) 2665
- 2666: 269 Load 271(s1DArray)
- 2667: 52(float) Load 565(lod)
- 2668: 47(int) ConvertFToS 2667
- 2669: 268 Image 2666
- 2670: 721(ivec2) ImageQuerySizeLod 2669 2668
- 2671: 48(ivec4) Load 2559(size)
- 2672: 721(ivec2) VectorShuffle 2671 2671 0 1
- 2673: 721(ivec2) IAdd 2672 2670
- 2674: 48(ivec4) Load 2559(size)
- 2675: 48(ivec4) VectorShuffle 2674 2673 4 5 2 3
- Store 2559(size) 2675
- 2676: 284 Load 286(s2DArray)
- 2677: 52(float) Load 565(lod)
- 2678: 47(int) ConvertFToS 2677
- 2679: 283 Image 2676
- 2680: 734(ivec3) ImageQuerySizeLod 2679 2678
- 2681: 48(ivec4) Load 2559(size)
- 2682: 734(ivec3) VectorShuffle 2681 2681 0 1 2
- 2683: 734(ivec3) IAdd 2682 2680
- 2684: 48(ivec4) Load 2559(size)
- 2685: 48(ivec4) VectorShuffle 2684 2683 4 5 6 3
- Store 2559(size) 2685
- 2686: 316 Load 318(s1DArrayShadow)
- 2687: 52(float) Load 565(lod)
- 2688: 47(int) ConvertFToS 2687
- 2689: 315 Image 2686
- 2690: 721(ivec2) ImageQuerySizeLod 2689 2688
- 2691: 48(ivec4) Load 2559(size)
- 2692: 721(ivec2) VectorShuffle 2691 2691 0 1
- 2693: 721(ivec2) IAdd 2692 2690
- 2694: 48(ivec4) Load 2559(size)
- 2695: 48(ivec4) VectorShuffle 2694 2693 4 5 2 3
- Store 2559(size) 2695
- 2696: 337 Load 339(s2DArrayShadow)
- 2697: 52(float) Load 565(lod)
- 2698: 47(int) ConvertFToS 2697
- 2699: 336 Image 2696
- 2700: 734(ivec3) ImageQuerySizeLod 2699 2698
- 2701: 48(ivec4) Load 2559(size)
- 2702: 734(ivec3) VectorShuffle 2701 2701 0 1 2
- 2703: 734(ivec3) IAdd 2702 2700
- 2704: 48(ivec4) Load 2559(size)
- 2705: 48(ivec4) VectorShuffle 2704 2703 4 5 6 3
- Store 2559(size) 2705
- 2706: 1298 Load 1300(sBuffer)
- 2707: 1297 Image 2706
- 2708: 47(int) ImageQuerySize 2707
- 2709: 2566(ptr) AccessChain 2559(size) 207
- 2710: 47(int) Load 2709
- 2711: 47(int) IAdd 2710 2708
+ 2628: 2566(ptr) AccessChain 2559(size) 207
+ 2629: 47(int) CompositeExtract 2627 0
+ Store 2628 2629
+ 2630: 2566(ptr) AccessChain 2559(size) 2581
+ 2631: 47(int) CompositeExtract 2627 1
+ Store 2630 2631
+ 2632: 245 Load 247(sCubeShadow)
+ 2633: 52(float) Load 565(lod)
+ 2634: 47(int) ConvertFToS 2633
+ 2635: 244 Image 2632
+ 2636: 721(ivec2) ImageQuerySizeLod 2635 2634
+ 2637: 48(ivec4) Load 2559(size)
+ 2638: 721(ivec2) VectorShuffle 2637 2637 0 1
+ 2639: 721(ivec2) IAdd 2638 2636
+ 2640: 2566(ptr) AccessChain 2559(size) 207
+ 2641: 47(int) CompositeExtract 2639 0
+ Store 2640 2641
+ 2642: 2566(ptr) AccessChain 2559(size) 2581
+ 2643: 47(int) CompositeExtract 2639 1
+ Store 2642 2643
+ 2644: 299 Load 301(sCubeArray)
+ 2645: 52(float) Load 565(lod)
+ 2646: 47(int) ConvertFToS 2645
+ 2647: 298 Image 2644
+ 2648: 734(ivec3) ImageQuerySizeLod 2647 2646
+ 2649: 48(ivec4) Load 2559(size)
+ 2650: 734(ivec3) VectorShuffle 2649 2649 0 1 2
+ 2651: 734(ivec3) IAdd 2650 2648
+ 2652: 2566(ptr) AccessChain 2559(size) 207
+ 2653: 47(int) CompositeExtract 2651 0
+ Store 2652 2653
+ 2654: 2566(ptr) AccessChain 2559(size) 2581
+ 2655: 47(int) CompositeExtract 2651 1
+ Store 2654 2655
+ 2656: 2566(ptr) AccessChain 2559(size) 2596
+ 2657: 47(int) CompositeExtract 2651 2
+ Store 2656 2657
+ 2658: 391 Load 393(sCubeArrayShadow)
+ 2659: 52(float) Load 565(lod)
+ 2660: 47(int) ConvertFToS 2659
+ 2661: 390 Image 2658
+ 2662: 734(ivec3) ImageQuerySizeLod 2661 2660
+ 2663: 48(ivec4) Load 2559(size)
+ 2664: 734(ivec3) VectorShuffle 2663 2663 0 1 2
+ 2665: 734(ivec3) IAdd 2664 2662
+ 2666: 2566(ptr) AccessChain 2559(size) 207
+ 2667: 47(int) CompositeExtract 2665 0
+ Store 2666 2667
+ 2668: 2566(ptr) AccessChain 2559(size) 2581
+ 2669: 47(int) CompositeExtract 2665 1
+ Store 2668 2669
+ 2670: 2566(ptr) AccessChain 2559(size) 2596
+ 2671: 47(int) CompositeExtract 2665 2
+ Store 2670 2671
+ 2672: 357 Load 359(s2DRect)
+ 2673: 356 Image 2672
+ 2674: 721(ivec2) ImageQuerySize 2673
+ 2675: 48(ivec4) Load 2559(size)
+ 2676: 721(ivec2) VectorShuffle 2675 2675 0 1
+ 2677: 721(ivec2) IAdd 2676 2674
+ 2678: 2566(ptr) AccessChain 2559(size) 207
+ 2679: 47(int) CompositeExtract 2677 0
+ Store 2678 2679
+ 2680: 2566(ptr) AccessChain 2559(size) 2581
+ 2681: 47(int) CompositeExtract 2677 1
+ Store 2680 2681
+ 2682: 371 Load 373(s2DRectShadow)
+ 2683: 370 Image 2682
+ 2684: 721(ivec2) ImageQuerySize 2683
+ 2685: 48(ivec4) Load 2559(size)
+ 2686: 721(ivec2) VectorShuffle 2685 2685 0 1
+ 2687: 721(ivec2) IAdd 2686 2684
+ 2688: 2566(ptr) AccessChain 2559(size) 207
+ 2689: 47(int) CompositeExtract 2687 0
+ Store 2688 2689
+ 2690: 2566(ptr) AccessChain 2559(size) 2581
+ 2691: 47(int) CompositeExtract 2687 1
+ Store 2690 2691
+ 2692: 269 Load 271(s1DArray)
+ 2693: 52(float) Load 565(lod)
+ 2694: 47(int) ConvertFToS 2693
+ 2695: 268 Image 2692
+ 2696: 721(ivec2) ImageQuerySizeLod 2695 2694
+ 2697: 48(ivec4) Load 2559(size)
+ 2698: 721(ivec2) VectorShuffle 2697 2697 0 1
+ 2699: 721(ivec2) IAdd 2698 2696
+ 2700: 2566(ptr) AccessChain 2559(size) 207
+ 2701: 47(int) CompositeExtract 2699 0
+ Store 2700 2701
+ 2702: 2566(ptr) AccessChain 2559(size) 2581
+ 2703: 47(int) CompositeExtract 2699 1
+ Store 2702 2703
+ 2704: 284 Load 286(s2DArray)
+ 2705: 52(float) Load 565(lod)
+ 2706: 47(int) ConvertFToS 2705
+ 2707: 283 Image 2704
+ 2708: 734(ivec3) ImageQuerySizeLod 2707 2706
+ 2709: 48(ivec4) Load 2559(size)
+ 2710: 734(ivec3) VectorShuffle 2709 2709 0 1 2
+ 2711: 734(ivec3) IAdd 2710 2708
2712: 2566(ptr) AccessChain 2559(size) 207
- Store 2712 2711
- 2713: 1309 Load 1311(s2DMS)
- 2714: 1308 Image 2713
- 2715: 721(ivec2) ImageQuerySize 2714
- 2716: 48(ivec4) Load 2559(size)
- 2717: 721(ivec2) VectorShuffle 2716 2716 0 1
- 2718: 721(ivec2) IAdd 2717 2715
- 2719: 48(ivec4) Load 2559(size)
- 2720: 48(ivec4) VectorShuffle 2719 2718 4 5 2 3
- Store 2559(size) 2720
- 2721: 1320 Load 1322(s2DMSArray)
- 2722: 1319 Image 2721
- 2723: 734(ivec3) ImageQuerySize 2722
- 2724: 48(ivec4) Load 2559(size)
- 2725: 734(ivec3) VectorShuffle 2724 2724 0 1 2
- 2726: 734(ivec3) IAdd 2725 2723
- 2727: 48(ivec4) Load 2559(size)
- 2728: 48(ivec4) VectorShuffle 2727 2726 4 5 6 3
- Store 2559(size) 2728
- 2729: 48(ivec4) Load 2559(size)
- ReturnValue 2729
+ 2713: 47(int) CompositeExtract 2711 0
+ Store 2712 2713
+ 2714: 2566(ptr) AccessChain 2559(size) 2581
+ 2715: 47(int) CompositeExtract 2711 1
+ Store 2714 2715
+ 2716: 2566(ptr) AccessChain 2559(size) 2596
+ 2717: 47(int) CompositeExtract 2711 2
+ Store 2716 2717
+ 2718: 316 Load 318(s1DArrayShadow)
+ 2719: 52(float) Load 565(lod)
+ 2720: 47(int) ConvertFToS 2719
+ 2721: 315 Image 2718
+ 2722: 721(ivec2) ImageQuerySizeLod 2721 2720
+ 2723: 48(ivec4) Load 2559(size)
+ 2724: 721(ivec2) VectorShuffle 2723 2723 0 1
+ 2725: 721(ivec2) IAdd 2724 2722
+ 2726: 2566(ptr) AccessChain 2559(size) 207
+ 2727: 47(int) CompositeExtract 2725 0
+ Store 2726 2727
+ 2728: 2566(ptr) AccessChain 2559(size) 2581
+ 2729: 47(int) CompositeExtract 2725 1
+ Store 2728 2729
+ 2730: 337 Load 339(s2DArrayShadow)
+ 2731: 52(float) Load 565(lod)
+ 2732: 47(int) ConvertFToS 2731
+ 2733: 336 Image 2730
+ 2734: 734(ivec3) ImageQuerySizeLod 2733 2732
+ 2735: 48(ivec4) Load 2559(size)
+ 2736: 734(ivec3) VectorShuffle 2735 2735 0 1 2
+ 2737: 734(ivec3) IAdd 2736 2734
+ 2738: 2566(ptr) AccessChain 2559(size) 207
+ 2739: 47(int) CompositeExtract 2737 0
+ Store 2738 2739
+ 2740: 2566(ptr) AccessChain 2559(size) 2581
+ 2741: 47(int) CompositeExtract 2737 1
+ Store 2740 2741
+ 2742: 2566(ptr) AccessChain 2559(size) 2596
+ 2743: 47(int) CompositeExtract 2737 2
+ Store 2742 2743
+ 2744: 1298 Load 1300(sBuffer)
+ 2745: 1297 Image 2744
+ 2746: 47(int) ImageQuerySize 2745
+ 2747: 2566(ptr) AccessChain 2559(size) 207
+ 2748: 47(int) Load 2747
+ 2749: 47(int) IAdd 2748 2746
+ 2750: 2566(ptr) AccessChain 2559(size) 207
+ Store 2750 2749
+ 2751: 1309 Load 1311(s2DMS)
+ 2752: 1308 Image 2751
+ 2753: 721(ivec2) ImageQuerySize 2752
+ 2754: 48(ivec4) Load 2559(size)
+ 2755: 721(ivec2) VectorShuffle 2754 2754 0 1
+ 2756: 721(ivec2) IAdd 2755 2753
+ 2757: 2566(ptr) AccessChain 2559(size) 207
+ 2758: 47(int) CompositeExtract 2756 0
+ Store 2757 2758
+ 2759: 2566(ptr) AccessChain 2559(size) 2581
+ 2760: 47(int) CompositeExtract 2756 1
+ Store 2759 2760
+ 2761: 1320 Load 1322(s2DMSArray)
+ 2762: 1319 Image 2761
+ 2763: 734(ivec3) ImageQuerySize 2762
+ 2764: 48(ivec4) Load 2559(size)
+ 2765: 734(ivec3) VectorShuffle 2764 2764 0 1 2
+ 2766: 734(ivec3) IAdd 2765 2763
+ 2767: 2566(ptr) AccessChain 2559(size) 207
+ 2768: 47(int) CompositeExtract 2766 0
+ Store 2767 2768
+ 2769: 2566(ptr) AccessChain 2559(size) 2581
+ 2770: 47(int) CompositeExtract 2766 1
+ Store 2769 2770
+ 2771: 2566(ptr) AccessChain 2559(size) 2596
+ 2772: 47(int) CompositeExtract 2766 2
+ Store 2771 2772
+ 2773: 48(ivec4) Load 2559(size)
+ ReturnValue 2773
FunctionEnd
55(testTextureQueryLod(): 53(fvec2) Function None 54
56: Label
- 2733(lod): 2732(ptr) Variable Function
- Store 2733(lod) 2735
- 2736: 123 Load 125(s1D)
- 2737: 52(float) Load 128(c1)
- 2738: 53(fvec2) ImageQueryLod 2736 2737
- 2739: 53(fvec2) Load 2733(lod)
- 2740: 53(fvec2) FAdd 2739 2738
- Store 2733(lod) 2740
- 2741: 123 Load 125(s1D)
- 2742:6(float16_t) Load 135(f16c1)
- 2743:154(f16vec2) ImageQueryLod 2741 2742
- 2744: 53(fvec2) Load 2733(lod)
- 2745: 53(fvec2) FAdd 2744 2743
- Store 2733(lod) 2745
- 2746: 143 Load 145(s2D)
- 2747: 53(fvec2) Load 148(c2)
- 2748: 53(fvec2) ImageQueryLod 2746 2747
- 2749: 53(fvec2) Load 2733(lod)
- 2750: 53(fvec2) FAdd 2749 2748
- Store 2733(lod) 2750
- 2751: 143 Load 145(s2D)
- 2752:154(f16vec2) Load 156(f16c2)
- 2753:154(f16vec2) ImageQueryLod 2751 2752
- 2754: 53(fvec2) Load 2733(lod)
- 2755: 53(fvec2) FAdd 2754 2753
- Store 2733(lod) 2755
- 2756: 163 Load 165(s3D)
- 2757: 167(fvec3) Load 169(c3)
- 2758: 53(fvec2) ImageQueryLod 2756 2757
- 2759: 53(fvec2) Load 2733(lod)
- 2760: 53(fvec2) FAdd 2759 2758
- Store 2733(lod) 2760
- 2761: 163 Load 165(s3D)
- 2762:175(f16vec3) Load 177(f16c3)
- 2763:154(f16vec2) ImageQueryLod 2761 2762
- 2764: 53(fvec2) Load 2733(lod)
- 2765: 53(fvec2) FAdd 2764 2763
- Store 2733(lod) 2765
- 2766: 184 Load 186(sCube)
- 2767: 167(fvec3) Load 169(c3)
- 2768: 53(fvec2) ImageQueryLod 2766 2767
- 2769: 53(fvec2) Load 2733(lod)
- 2770: 53(fvec2) FAdd 2769 2768
- Store 2733(lod) 2770
- 2771: 184 Load 186(sCube)
- 2772:175(f16vec3) Load 177(f16c3)
- 2773:154(f16vec2) ImageQueryLod 2771 2772
- 2774: 53(fvec2) Load 2733(lod)
- 2775: 53(fvec2) FAdd 2774 2773
- Store 2733(lod) 2775
- 2776: 269 Load 271(s1DArray)
- 2777: 52(float) Load 128(c1)
- 2778: 53(fvec2) ImageQueryLod 2776 2777
- 2779: 53(fvec2) Load 2733(lod)
- 2780: 53(fvec2) FAdd 2779 2778
- Store 2733(lod) 2780
- 2781: 269 Load 271(s1DArray)
- 2782:6(float16_t) Load 135(f16c1)
- 2783:154(f16vec2) ImageQueryLod 2781 2782
- 2784: 53(fvec2) Load 2733(lod)
- 2785: 53(fvec2) FAdd 2784 2783
- Store 2733(lod) 2785
- 2786: 284 Load 286(s2DArray)
- 2787: 53(fvec2) Load 148(c2)
- 2788: 53(fvec2) ImageQueryLod 2786 2787
- 2789: 53(fvec2) Load 2733(lod)
- 2790: 53(fvec2) FAdd 2789 2788
- Store 2733(lod) 2790
- 2791: 284 Load 286(s2DArray)
- 2792:154(f16vec2) Load 156(f16c2)
- 2793:154(f16vec2) ImageQueryLod 2791 2792
- 2794: 53(fvec2) Load 2733(lod)
- 2795: 53(fvec2) FAdd 2794 2793
- Store 2733(lod) 2795
- 2796: 299 Load 301(sCubeArray)
- 2797: 167(fvec3) Load 169(c3)
- 2798: 53(fvec2) ImageQueryLod 2796 2797
- 2799: 53(fvec2) Load 2733(lod)
- 2800: 53(fvec2) FAdd 2799 2798
- Store 2733(lod) 2800
- 2801: 299 Load 301(sCubeArray)
- 2802:175(f16vec3) Load 177(f16c3)
- 2803:154(f16vec2) ImageQueryLod 2801 2802
- 2804: 53(fvec2) Load 2733(lod)
- 2805: 53(fvec2) FAdd 2804 2803
- Store 2733(lod) 2805
- 2806: 199 Load 201(s1DShadow)
- 2807: 52(float) Load 128(c1)
- 2808: 53(fvec2) ImageQueryLod 2806 2807
- 2809: 53(fvec2) Load 2733(lod)
- 2810: 53(fvec2) FAdd 2809 2808
- Store 2733(lod) 2810
- 2811: 199 Load 201(s1DShadow)
- 2812:6(float16_t) Load 135(f16c1)
- 2813:154(f16vec2) ImageQueryLod 2811 2812
- 2814: 53(fvec2) Load 2733(lod)
- 2815: 53(fvec2) FAdd 2814 2813
- Store 2733(lod) 2815
- 2816: 224 Load 226(s2DShadow)
- 2817: 53(fvec2) Load 148(c2)
- 2818: 53(fvec2) ImageQueryLod 2816 2817
- 2819: 53(fvec2) Load 2733(lod)
- 2820: 53(fvec2) FAdd 2819 2818
- Store 2733(lod) 2820
- 2821: 224 Load 226(s2DShadow)
- 2822:154(f16vec2) Load 156(f16c2)
- 2823:154(f16vec2) ImageQueryLod 2821 2822
- 2824: 53(fvec2) Load 2733(lod)
- 2825: 53(fvec2) FAdd 2824 2823
- Store 2733(lod) 2825
- 2826: 391 Load 393(sCubeArrayShadow)
- 2827: 167(fvec3) Load 169(c3)
- 2828: 53(fvec2) ImageQueryLod 2826 2827
- 2829: 53(fvec2) Load 2733(lod)
- 2830: 53(fvec2) FAdd 2829 2828
- Store 2733(lod) 2830
- 2831: 391 Load 393(sCubeArrayShadow)
- 2832:175(f16vec3) Load 177(f16c3)
- 2833:154(f16vec2) ImageQueryLod 2831 2832
- 2834: 53(fvec2) Load 2733(lod)
- 2835: 53(fvec2) FAdd 2834 2833
- Store 2733(lod) 2835
- 2836: 316 Load 318(s1DArrayShadow)
- 2837: 52(float) Load 128(c1)
- 2838: 53(fvec2) ImageQueryLod 2836 2837
- 2839: 53(fvec2) Load 2733(lod)
- 2840: 53(fvec2) FAdd 2839 2838
- Store 2733(lod) 2840
- 2841: 316 Load 318(s1DArrayShadow)
- 2842:6(float16_t) Load 135(f16c1)
- 2843:154(f16vec2) ImageQueryLod 2841 2842
- 2844: 53(fvec2) Load 2733(lod)
- 2845: 53(fvec2) FAdd 2844 2843
- Store 2733(lod) 2845
- 2846: 337 Load 339(s2DArrayShadow)
- 2847: 53(fvec2) Load 148(c2)
- 2848: 53(fvec2) ImageQueryLod 2846 2847
- 2849: 53(fvec2) Load 2733(lod)
- 2850: 53(fvec2) FAdd 2849 2848
- Store 2733(lod) 2850
- 2851: 337 Load 339(s2DArrayShadow)
- 2852:154(f16vec2) Load 156(f16c2)
- 2853:154(f16vec2) ImageQueryLod 2851 2852
- 2854: 53(fvec2) Load 2733(lod)
- 2855: 53(fvec2) FAdd 2854 2853
- Store 2733(lod) 2855
- 2856: 391 Load 393(sCubeArrayShadow)
- 2857: 167(fvec3) Load 169(c3)
- 2858: 53(fvec2) ImageQueryLod 2856 2857
- 2859: 53(fvec2) Load 2733(lod)
- 2860: 53(fvec2) FAdd 2859 2858
- Store 2733(lod) 2860
- 2861: 391 Load 393(sCubeArrayShadow)
- 2862:175(f16vec3) Load 177(f16c3)
- 2863:154(f16vec2) ImageQueryLod 2861 2862
- 2864: 53(fvec2) Load 2733(lod)
- 2865: 53(fvec2) FAdd 2864 2863
- Store 2733(lod) 2865
- 2866: 53(fvec2) Load 2733(lod)
- ReturnValue 2866
+ 2777(lod): 2776(ptr) Variable Function
+ Store 2777(lod) 2779
+ 2780: 123 Load 125(s1D)
+ 2781: 52(float) Load 128(c1)
+ 2782: 53(fvec2) ImageQueryLod 2780 2781
+ 2783: 53(fvec2) Load 2777(lod)
+ 2784: 53(fvec2) FAdd 2783 2782
+ Store 2777(lod) 2784
+ 2785: 123 Load 125(s1D)
+ 2786:6(float16_t) Load 135(f16c1)
+ 2787:154(f16vec2) ImageQueryLod 2785 2786
+ 2788: 53(fvec2) Load 2777(lod)
+ 2789: 53(fvec2) FAdd 2788 2787
+ Store 2777(lod) 2789
+ 2790: 143 Load 145(s2D)
+ 2791: 53(fvec2) Load 148(c2)
+ 2792: 53(fvec2) ImageQueryLod 2790 2791
+ 2793: 53(fvec2) Load 2777(lod)
+ 2794: 53(fvec2) FAdd 2793 2792
+ Store 2777(lod) 2794
+ 2795: 143 Load 145(s2D)
+ 2796:154(f16vec2) Load 156(f16c2)
+ 2797:154(f16vec2) ImageQueryLod 2795 2796
+ 2798: 53(fvec2) Load 2777(lod)
+ 2799: 53(fvec2) FAdd 2798 2797
+ Store 2777(lod) 2799
+ 2800: 163 Load 165(s3D)
+ 2801: 167(fvec3) Load 169(c3)
+ 2802: 53(fvec2) ImageQueryLod 2800 2801
+ 2803: 53(fvec2) Load 2777(lod)
+ 2804: 53(fvec2) FAdd 2803 2802
+ Store 2777(lod) 2804
+ 2805: 163 Load 165(s3D)
+ 2806:175(f16vec3) Load 177(f16c3)
+ 2807:154(f16vec2) ImageQueryLod 2805 2806
+ 2808: 53(fvec2) Load 2777(lod)
+ 2809: 53(fvec2) FAdd 2808 2807
+ Store 2777(lod) 2809
+ 2810: 184 Load 186(sCube)
+ 2811: 167(fvec3) Load 169(c3)
+ 2812: 53(fvec2) ImageQueryLod 2810 2811
+ 2813: 53(fvec2) Load 2777(lod)
+ 2814: 53(fvec2) FAdd 2813 2812
+ Store 2777(lod) 2814
+ 2815: 184 Load 186(sCube)
+ 2816:175(f16vec3) Load 177(f16c3)
+ 2817:154(f16vec2) ImageQueryLod 2815 2816
+ 2818: 53(fvec2) Load 2777(lod)
+ 2819: 53(fvec2) FAdd 2818 2817
+ Store 2777(lod) 2819
+ 2820: 269 Load 271(s1DArray)
+ 2821: 52(float) Load 128(c1)
+ 2822: 53(fvec2) ImageQueryLod 2820 2821
+ 2823: 53(fvec2) Load 2777(lod)
+ 2824: 53(fvec2) FAdd 2823 2822
+ Store 2777(lod) 2824
+ 2825: 269 Load 271(s1DArray)
+ 2826:6(float16_t) Load 135(f16c1)
+ 2827:154(f16vec2) ImageQueryLod 2825 2826
+ 2828: 53(fvec2) Load 2777(lod)
+ 2829: 53(fvec2) FAdd 2828 2827
+ Store 2777(lod) 2829
+ 2830: 284 Load 286(s2DArray)
+ 2831: 53(fvec2) Load 148(c2)
+ 2832: 53(fvec2) ImageQueryLod 2830 2831
+ 2833: 53(fvec2) Load 2777(lod)
+ 2834: 53(fvec2) FAdd 2833 2832
+ Store 2777(lod) 2834
+ 2835: 284 Load 286(s2DArray)
+ 2836:154(f16vec2) Load 156(f16c2)
+ 2837:154(f16vec2) ImageQueryLod 2835 2836
+ 2838: 53(fvec2) Load 2777(lod)
+ 2839: 53(fvec2) FAdd 2838 2837
+ Store 2777(lod) 2839
+ 2840: 299 Load 301(sCubeArray)
+ 2841: 167(fvec3) Load 169(c3)
+ 2842: 53(fvec2) ImageQueryLod 2840 2841
+ 2843: 53(fvec2) Load 2777(lod)
+ 2844: 53(fvec2) FAdd 2843 2842
+ Store 2777(lod) 2844
+ 2845: 299 Load 301(sCubeArray)
+ 2846:175(f16vec3) Load 177(f16c3)
+ 2847:154(f16vec2) ImageQueryLod 2845 2846
+ 2848: 53(fvec2) Load 2777(lod)
+ 2849: 53(fvec2) FAdd 2848 2847
+ Store 2777(lod) 2849
+ 2850: 199 Load 201(s1DShadow)
+ 2851: 52(float) Load 128(c1)
+ 2852: 53(fvec2) ImageQueryLod 2850 2851
+ 2853: 53(fvec2) Load 2777(lod)
+ 2854: 53(fvec2) FAdd 2853 2852
+ Store 2777(lod) 2854
+ 2855: 199 Load 201(s1DShadow)
+ 2856:6(float16_t) Load 135(f16c1)
+ 2857:154(f16vec2) ImageQueryLod 2855 2856
+ 2858: 53(fvec2) Load 2777(lod)
+ 2859: 53(fvec2) FAdd 2858 2857
+ Store 2777(lod) 2859
+ 2860: 224 Load 226(s2DShadow)
+ 2861: 53(fvec2) Load 148(c2)
+ 2862: 53(fvec2) ImageQueryLod 2860 2861
+ 2863: 53(fvec2) Load 2777(lod)
+ 2864: 53(fvec2) FAdd 2863 2862
+ Store 2777(lod) 2864
+ 2865: 224 Load 226(s2DShadow)
+ 2866:154(f16vec2) Load 156(f16c2)
+ 2867:154(f16vec2) ImageQueryLod 2865 2866
+ 2868: 53(fvec2) Load 2777(lod)
+ 2869: 53(fvec2) FAdd 2868 2867
+ Store 2777(lod) 2869
+ 2870: 391 Load 393(sCubeArrayShadow)
+ 2871: 167(fvec3) Load 169(c3)
+ 2872: 53(fvec2) ImageQueryLod 2870 2871
+ 2873: 53(fvec2) Load 2777(lod)
+ 2874: 53(fvec2) FAdd 2873 2872
+ Store 2777(lod) 2874
+ 2875: 391 Load 393(sCubeArrayShadow)
+ 2876:175(f16vec3) Load 177(f16c3)
+ 2877:154(f16vec2) ImageQueryLod 2875 2876
+ 2878: 53(fvec2) Load 2777(lod)
+ 2879: 53(fvec2) FAdd 2878 2877
+ Store 2777(lod) 2879
+ 2880: 316 Load 318(s1DArrayShadow)
+ 2881: 52(float) Load 128(c1)
+ 2882: 53(fvec2) ImageQueryLod 2880 2881
+ 2883: 53(fvec2) Load 2777(lod)
+ 2884: 53(fvec2) FAdd 2883 2882
+ Store 2777(lod) 2884
+ 2885: 316 Load 318(s1DArrayShadow)
+ 2886:6(float16_t) Load 135(f16c1)
+ 2887:154(f16vec2) ImageQueryLod 2885 2886
+ 2888: 53(fvec2) Load 2777(lod)
+ 2889: 53(fvec2) FAdd 2888 2887
+ Store 2777(lod) 2889
+ 2890: 337 Load 339(s2DArrayShadow)
+ 2891: 53(fvec2) Load 148(c2)
+ 2892: 53(fvec2) ImageQueryLod 2890 2891
+ 2893: 53(fvec2) Load 2777(lod)
+ 2894: 53(fvec2) FAdd 2893 2892
+ Store 2777(lod) 2894
+ 2895: 337 Load 339(s2DArrayShadow)
+ 2896:154(f16vec2) Load 156(f16c2)
+ 2897:154(f16vec2) ImageQueryLod 2895 2896
+ 2898: 53(fvec2) Load 2777(lod)
+ 2899: 53(fvec2) FAdd 2898 2897
+ Store 2777(lod) 2899
+ 2900: 391 Load 393(sCubeArrayShadow)
+ 2901: 167(fvec3) Load 169(c3)
+ 2902: 53(fvec2) ImageQueryLod 2900 2901
+ 2903: 53(fvec2) Load 2777(lod)
+ 2904: 53(fvec2) FAdd 2903 2902
+ Store 2777(lod) 2904
+ 2905: 391 Load 393(sCubeArrayShadow)
+ 2906:175(f16vec3) Load 177(f16c3)
+ 2907:154(f16vec2) ImageQueryLod 2905 2906
+ 2908: 53(fvec2) Load 2777(lod)
+ 2909: 53(fvec2) FAdd 2908 2907
+ Store 2777(lod) 2909
+ 2910: 53(fvec2) Load 2777(lod)
+ ReturnValue 2910
FunctionEnd
58(testTextureQueryLevels(): 47(int) Function None 57
59: Label
- 2869(levels): 2566(ptr) Variable Function
- Store 2869(levels) 2187
- 2870: 123 Load 125(s1D)
- 2871: 122 Image 2870
- 2872: 47(int) ImageQueryLevels 2871
- 2873: 47(int) Load 2869(levels)
- 2874: 47(int) IAdd 2873 2872
- Store 2869(levels) 2874
- 2875: 143 Load 145(s2D)
- 2876: 142 Image 2875
- 2877: 47(int) ImageQueryLevels 2876
- 2878: 47(int) Load 2869(levels)
- 2879: 47(int) IAdd 2878 2877
- Store 2869(levels) 2879
- 2880: 163 Load 165(s3D)
- 2881: 162 Image 2880
- 2882: 47(int) ImageQueryLevels 2881
- 2883: 47(int) Load 2869(levels)
- 2884: 47(int) IAdd 2883 2882
- Store 2869(levels) 2884
- 2885: 184 Load 186(sCube)
- 2886: 183 Image 2885
- 2887: 47(int) ImageQueryLevels 2886
- 2888: 47(int) Load 2869(levels)
- 2889: 47(int) IAdd 2888 2887
- Store 2869(levels) 2889
- 2890: 199 Load 201(s1DShadow)
- 2891: 198 Image 2890
- 2892: 47(int) ImageQueryLevels 2891
- 2893: 47(int) Load 2869(levels)
- 2894: 47(int) IAdd 2893 2892
- Store 2869(levels) 2894
- 2895: 224 Load 226(s2DShadow)
- 2896: 223 Image 2895
- 2897: 47(int) ImageQueryLevels 2896
- 2898: 47(int) Load 2869(levels)
- 2899: 47(int) IAdd 2898 2897
- Store 2869(levels) 2899
- 2900: 245 Load 247(sCubeShadow)
- 2901: 244 Image 2900
- 2902: 47(int) ImageQueryLevels 2901
- 2903: 47(int) Load 2869(levels)
- 2904: 47(int) IAdd 2903 2902
- Store 2869(levels) 2904
- 2905: 299 Load 301(sCubeArray)
- 2906: 298 Image 2905
- 2907: 47(int) ImageQueryLevels 2906
- 2908: 47(int) Load 2869(levels)
- 2909: 47(int) IAdd 2908 2907
- Store 2869(levels) 2909
- 2910: 391 Load 393(sCubeArrayShadow)
- 2911: 390 Image 2910
- 2912: 47(int) ImageQueryLevels 2911
- 2913: 47(int) Load 2869(levels)
- 2914: 47(int) IAdd 2913 2912
- Store 2869(levels) 2914
- 2915: 269 Load 271(s1DArray)
- 2916: 268 Image 2915
- 2917: 47(int) ImageQueryLevels 2916
- 2918: 47(int) Load 2869(levels)
- 2919: 47(int) IAdd 2918 2917
- Store 2869(levels) 2919
- 2920: 284 Load 286(s2DArray)
- 2921: 283 Image 2920
- 2922: 47(int) ImageQueryLevels 2921
- 2923: 47(int) Load 2869(levels)
- 2924: 47(int) IAdd 2923 2922
- Store 2869(levels) 2924
- 2925: 316 Load 318(s1DArrayShadow)
- 2926: 315 Image 2925
- 2927: 47(int) ImageQueryLevels 2926
- 2928: 47(int) Load 2869(levels)
- 2929: 47(int) IAdd 2928 2927
- Store 2869(levels) 2929
- 2930: 337 Load 339(s2DArrayShadow)
- 2931: 336 Image 2930
- 2932: 47(int) ImageQueryLevels 2931
- 2933: 47(int) Load 2869(levels)
- 2934: 47(int) IAdd 2933 2932
- Store 2869(levels) 2934
- 2935: 47(int) Load 2869(levels)
- ReturnValue 2935
+ 2913(levels): 2566(ptr) Variable Function
+ Store 2913(levels) 2187
+ 2914: 123 Load 125(s1D)
+ 2915: 122 Image 2914
+ 2916: 47(int) ImageQueryLevels 2915
+ 2917: 47(int) Load 2913(levels)
+ 2918: 47(int) IAdd 2917 2916
+ Store 2913(levels) 2918
+ 2919: 143 Load 145(s2D)
+ 2920: 142 Image 2919
+ 2921: 47(int) ImageQueryLevels 2920
+ 2922: 47(int) Load 2913(levels)
+ 2923: 47(int) IAdd 2922 2921
+ Store 2913(levels) 2923
+ 2924: 163 Load 165(s3D)
+ 2925: 162 Image 2924
+ 2926: 47(int) ImageQueryLevels 2925
+ 2927: 47(int) Load 2913(levels)
+ 2928: 47(int) IAdd 2927 2926
+ Store 2913(levels) 2928
+ 2929: 184 Load 186(sCube)
+ 2930: 183 Image 2929
+ 2931: 47(int) ImageQueryLevels 2930
+ 2932: 47(int) Load 2913(levels)
+ 2933: 47(int) IAdd 2932 2931
+ Store 2913(levels) 2933
+ 2934: 199 Load 201(s1DShadow)
+ 2935: 198 Image 2934
+ 2936: 47(int) ImageQueryLevels 2935
+ 2937: 47(int) Load 2913(levels)
+ 2938: 47(int) IAdd 2937 2936
+ Store 2913(levels) 2938
+ 2939: 224 Load 226(s2DShadow)
+ 2940: 223 Image 2939
+ 2941: 47(int) ImageQueryLevels 2940
+ 2942: 47(int) Load 2913(levels)
+ 2943: 47(int) IAdd 2942 2941
+ Store 2913(levels) 2943
+ 2944: 245 Load 247(sCubeShadow)
+ 2945: 244 Image 2944
+ 2946: 47(int) ImageQueryLevels 2945
+ 2947: 47(int) Load 2913(levels)
+ 2948: 47(int) IAdd 2947 2946
+ Store 2913(levels) 2948
+ 2949: 299 Load 301(sCubeArray)
+ 2950: 298 Image 2949
+ 2951: 47(int) ImageQueryLevels 2950
+ 2952: 47(int) Load 2913(levels)
+ 2953: 47(int) IAdd 2952 2951
+ Store 2913(levels) 2953
+ 2954: 391 Load 393(sCubeArrayShadow)
+ 2955: 390 Image 2954
+ 2956: 47(int) ImageQueryLevels 2955
+ 2957: 47(int) Load 2913(levels)
+ 2958: 47(int) IAdd 2957 2956
+ Store 2913(levels) 2958
+ 2959: 269 Load 271(s1DArray)
+ 2960: 268 Image 2959
+ 2961: 47(int) ImageQueryLevels 2960
+ 2962: 47(int) Load 2913(levels)
+ 2963: 47(int) IAdd 2962 2961
+ Store 2913(levels) 2963
+ 2964: 284 Load 286(s2DArray)
+ 2965: 283 Image 2964
+ 2966: 47(int) ImageQueryLevels 2965
+ 2967: 47(int) Load 2913(levels)
+ 2968: 47(int) IAdd 2967 2966
+ Store 2913(levels) 2968
+ 2969: 316 Load 318(s1DArrayShadow)
+ 2970: 315 Image 2969
+ 2971: 47(int) ImageQueryLevels 2970
+ 2972: 47(int) Load 2913(levels)
+ 2973: 47(int) IAdd 2972 2971
+ Store 2913(levels) 2973
+ 2974: 337 Load 339(s2DArrayShadow)
+ 2975: 336 Image 2974
+ 2976: 47(int) ImageQueryLevels 2975
+ 2977: 47(int) Load 2913(levels)
+ 2978: 47(int) IAdd 2977 2976
+ Store 2913(levels) 2978
+ 2979: 47(int) Load 2913(levels)
+ ReturnValue 2979
FunctionEnd
60(testTextureSamples(): 47(int) Function None 57
61: Label
- 2938(samples): 2566(ptr) Variable Function
- Store 2938(samples) 2187
- 2939: 1309 Load 1311(s2DMS)
- 2940: 1308 Image 2939
- 2941: 47(int) ImageQuerySamples 2940
- 2942: 47(int) Load 2938(samples)
- 2943: 47(int) IAdd 2942 2941
- Store 2938(samples) 2943
- 2944: 1320 Load 1322(s2DMSArray)
- 2945: 1319 Image 2944
- 2946: 47(int) ImageQuerySamples 2945
- 2947: 47(int) Load 2938(samples)
- 2948: 47(int) IAdd 2947 2946
- Store 2938(samples) 2948
- 2949: 47(int) Load 2938(samples)
- ReturnValue 2949
+ 2982(samples): 2566(ptr) Variable Function
+ Store 2982(samples) 2187
+ 2983: 1309 Load 1311(s2DMS)
+ 2984: 1308 Image 2983
+ 2985: 47(int) ImageQuerySamples 2984
+ 2986: 47(int) Load 2982(samples)
+ 2987: 47(int) IAdd 2986 2985
+ Store 2982(samples) 2987
+ 2988: 1320 Load 1322(s2DMSArray)
+ 2989: 1319 Image 2988
+ 2990: 47(int) ImageQuerySamples 2989
+ 2991: 47(int) Load 2982(samples)
+ 2992: 47(int) IAdd 2991 2990
+ Store 2982(samples) 2992
+ 2993: 47(int) Load 2982(samples)
+ ReturnValue 2993
FunctionEnd
62(testImageLoad(): 7(f16vec4) Function None 8
63: Label
- 2952(texel): 64(ptr) Variable Function
- Store 2952(texel) 121
- 2956: 2953 Load 2955(i1D)
- 2957: 52(float) Load 128(c1)
- 2958: 47(int) ConvertFToS 2957
- 2959: 7(f16vec4) ImageRead 2956 2958
- 2960: 7(f16vec4) Load 2952(texel)
- 2961: 7(f16vec4) FAdd 2960 2959
- Store 2952(texel) 2961
- 2965: 2962 Load 2964(i2D)
- 2966: 53(fvec2) Load 148(c2)
- 2967: 721(ivec2) ConvertFToS 2966
- 2968: 7(f16vec4) ImageRead 2965 2967
- 2969: 7(f16vec4) Load 2952(texel)
- 2970: 7(f16vec4) FAdd 2969 2968
- Store 2952(texel) 2970
- 2974: 2971 Load 2973(i3D)
- 2975: 167(fvec3) Load 169(c3)
- 2976: 734(ivec3) ConvertFToS 2975
- 2977: 7(f16vec4) ImageRead 2974 2976
- 2978: 7(f16vec4) Load 2952(texel)
- 2979: 7(f16vec4) FAdd 2978 2977
- Store 2952(texel) 2979
- 2983: 2980 Load 2982(i2DRect)
- 2984: 53(fvec2) Load 148(c2)
- 2985: 721(ivec2) ConvertFToS 2984
- 2986: 7(f16vec4) ImageRead 2983 2985
- 2987: 7(f16vec4) Load 2952(texel)
- 2988: 7(f16vec4) FAdd 2987 2986
- Store 2952(texel) 2988
- 2992: 2989 Load 2991(iCube)
- 2993: 167(fvec3) Load 169(c3)
- 2994: 734(ivec3) ConvertFToS 2993
- 2995: 7(f16vec4) ImageRead 2992 2994
- 2996: 7(f16vec4) Load 2952(texel)
- 2997: 7(f16vec4) FAdd 2996 2995
- Store 2952(texel) 2997
- 3001: 2998 Load 3000(iBuffer)
- 3002: 52(float) Load 128(c1)
- 3003: 47(int) ConvertFToS 3002
- 3004: 7(f16vec4) ImageRead 3001 3003
- 3005: 7(f16vec4) Load 2952(texel)
- 3006: 7(f16vec4) FAdd 3005 3004
- Store 2952(texel) 3006
- 3010: 3007 Load 3009(i1DArray)
- 3011: 53(fvec2) Load 148(c2)
- 3012: 721(ivec2) ConvertFToS 3011
- 3013: 7(f16vec4) ImageRead 3010 3012
- 3014: 7(f16vec4) Load 2952(texel)
- 3015: 7(f16vec4) FAdd 3014 3013
- Store 2952(texel) 3015
- 3019: 3016 Load 3018(i2DArray)
- 3020: 167(fvec3) Load 169(c3)
- 3021: 734(ivec3) ConvertFToS 3020
- 3022: 7(f16vec4) ImageRead 3019 3021
- 3023: 7(f16vec4) Load 2952(texel)
- 3024: 7(f16vec4) FAdd 3023 3022
- Store 2952(texel) 3024
- 3028: 3025 Load 3027(iCubeArray)
- 3029: 167(fvec3) Load 169(c3)
- 3030: 734(ivec3) ConvertFToS 3029
- 3031: 7(f16vec4) ImageRead 3028 3030
- 3032: 7(f16vec4) Load 2952(texel)
- 3033: 7(f16vec4) FAdd 3032 3031
- Store 2952(texel) 3033
- 3037: 3034 Load 3036(i2DMS)
- 3038: 53(fvec2) Load 148(c2)
- 3039: 721(ivec2) ConvertFToS 3038
- 3040: 7(f16vec4) ImageRead 3037 3039 Sample 709
- 3041: 7(f16vec4) Load 2952(texel)
- 3042: 7(f16vec4) FAdd 3041 3040
- Store 2952(texel) 3042
- 3046: 3043 Load 3045(i2DMSArray)
- 3047: 167(fvec3) Load 169(c3)
- 3048: 734(ivec3) ConvertFToS 3047
- 3049: 7(f16vec4) ImageRead 3046 3048 Sample 709
- 3050: 7(f16vec4) Load 2952(texel)
- 3051: 7(f16vec4) FAdd 3050 3049
- Store 2952(texel) 3051
- 3052: 7(f16vec4) Load 2952(texel)
- ReturnValue 3052
+ 2996(texel): 64(ptr) Variable Function
+ Store 2996(texel) 121
+ 3000: 2997 Load 2999(i1D)
+ 3001: 52(float) Load 128(c1)
+ 3002: 47(int) ConvertFToS 3001
+ 3003: 7(f16vec4) ImageRead 3000 3002
+ 3004: 7(f16vec4) Load 2996(texel)
+ 3005: 7(f16vec4) FAdd 3004 3003
+ Store 2996(texel) 3005
+ 3009: 3006 Load 3008(i2D)
+ 3010: 53(fvec2) Load 148(c2)
+ 3011: 721(ivec2) ConvertFToS 3010
+ 3012: 7(f16vec4) ImageRead 3009 3011
+ 3013: 7(f16vec4) Load 2996(texel)
+ 3014: 7(f16vec4) FAdd 3013 3012
+ Store 2996(texel) 3014
+ 3018: 3015 Load 3017(i3D)
+ 3019: 167(fvec3) Load 169(c3)
+ 3020: 734(ivec3) ConvertFToS 3019
+ 3021: 7(f16vec4) ImageRead 3018 3020
+ 3022: 7(f16vec4) Load 2996(texel)
+ 3023: 7(f16vec4) FAdd 3022 3021
+ Store 2996(texel) 3023
+ 3027: 3024 Load 3026(i2DRect)
+ 3028: 53(fvec2) Load 148(c2)
+ 3029: 721(ivec2) ConvertFToS 3028
+ 3030: 7(f16vec4) ImageRead 3027 3029
+ 3031: 7(f16vec4) Load 2996(texel)
+ 3032: 7(f16vec4) FAdd 3031 3030
+ Store 2996(texel) 3032
+ 3036: 3033 Load 3035(iCube)
+ 3037: 167(fvec3) Load 169(c3)
+ 3038: 734(ivec3) ConvertFToS 3037
+ 3039: 7(f16vec4) ImageRead 3036 3038
+ 3040: 7(f16vec4) Load 2996(texel)
+ 3041: 7(f16vec4) FAdd 3040 3039
+ Store 2996(texel) 3041
+ 3045: 3042 Load 3044(iBuffer)
+ 3046: 52(float) Load 128(c1)
+ 3047: 47(int) ConvertFToS 3046
+ 3048: 7(f16vec4) ImageRead 3045 3047
+ 3049: 7(f16vec4) Load 2996(texel)
+ 3050: 7(f16vec4) FAdd 3049 3048
+ Store 2996(texel) 3050
+ 3054: 3051 Load 3053(i1DArray)
+ 3055: 53(fvec2) Load 148(c2)
+ 3056: 721(ivec2) ConvertFToS 3055
+ 3057: 7(f16vec4) ImageRead 3054 3056
+ 3058: 7(f16vec4) Load 2996(texel)
+ 3059: 7(f16vec4) FAdd 3058 3057
+ Store 2996(texel) 3059
+ 3063: 3060 Load 3062(i2DArray)
+ 3064: 167(fvec3) Load 169(c3)
+ 3065: 734(ivec3) ConvertFToS 3064
+ 3066: 7(f16vec4) ImageRead 3063 3065
+ 3067: 7(f16vec4) Load 2996(texel)
+ 3068: 7(f16vec4) FAdd 3067 3066
+ Store 2996(texel) 3068
+ 3072: 3069 Load 3071(iCubeArray)
+ 3073: 167(fvec3) Load 169(c3)
+ 3074: 734(ivec3) ConvertFToS 3073
+ 3075: 7(f16vec4) ImageRead 3072 3074
+ 3076: 7(f16vec4) Load 2996(texel)
+ 3077: 7(f16vec4) FAdd 3076 3075
+ Store 2996(texel) 3077
+ 3081: 3078 Load 3080(i2DMS)
+ 3082: 53(fvec2) Load 148(c2)
+ 3083: 721(ivec2) ConvertFToS 3082
+ 3084: 7(f16vec4) ImageRead 3081 3083 Sample 709
+ 3085: 7(f16vec4) Load 2996(texel)
+ 3086: 7(f16vec4) FAdd 3085 3084
+ Store 2996(texel) 3086
+ 3090: 3087 Load 3089(i2DMSArray)
+ 3091: 167(fvec3) Load 169(c3)
+ 3092: 734(ivec3) ConvertFToS 3091
+ 3093: 7(f16vec4) ImageRead 3090 3092 Sample 709
+ 3094: 7(f16vec4) Load 2996(texel)
+ 3095: 7(f16vec4) FAdd 3094 3093
+ Store 2996(texel) 3095
+ 3096: 7(f16vec4) Load 2996(texel)
+ ReturnValue 3096
FunctionEnd
67(testImageStore(vf164;): 2 Function None 65
66(data): 64(ptr) FunctionParameter
68: Label
- 3055: 2953 Load 2955(i1D)
- 3056: 52(float) Load 128(c1)
- 3057: 47(int) ConvertFToS 3056
- 3058: 7(f16vec4) Load 66(data)
- ImageWrite 3055 3057 3058
- 3059: 2962 Load 2964(i2D)
- 3060: 53(fvec2) Load 148(c2)
- 3061: 721(ivec2) ConvertFToS 3060
- 3062: 7(f16vec4) Load 66(data)
- ImageWrite 3059 3061 3062
- 3063: 2971 Load 2973(i3D)
- 3064: 167(fvec3) Load 169(c3)
- 3065: 734(ivec3) ConvertFToS 3064
- 3066: 7(f16vec4) Load 66(data)
- ImageWrite 3063 3065 3066
- 3067: 2980 Load 2982(i2DRect)
- 3068: 53(fvec2) Load 148(c2)
- 3069: 721(ivec2) ConvertFToS 3068
- 3070: 7(f16vec4) Load 66(data)
- ImageWrite 3067 3069 3070
- 3071: 2989 Load 2991(iCube)
- 3072: 167(fvec3) Load 169(c3)
- 3073: 734(ivec3) ConvertFToS 3072
- 3074: 7(f16vec4) Load 66(data)
- ImageWrite 3071 3073 3074
- 3075: 2998 Load 3000(iBuffer)
- 3076: 52(float) Load 128(c1)
- 3077: 47(int) ConvertFToS 3076
- 3078: 7(f16vec4) Load 66(data)
- ImageWrite 3075 3077 3078
- 3079: 3007 Load 3009(i1DArray)
- 3080: 53(fvec2) Load 148(c2)
- 3081: 721(ivec2) ConvertFToS 3080
- 3082: 7(f16vec4) Load 66(data)
- ImageWrite 3079 3081 3082
- 3083: 3016 Load 3018(i2DArray)
- 3084: 167(fvec3) Load 169(c3)
- 3085: 734(ivec3) ConvertFToS 3084
- 3086: 7(f16vec4) Load 66(data)
- ImageWrite 3083 3085 3086
- 3087: 3025 Load 3027(iCubeArray)
- 3088: 167(fvec3) Load 169(c3)
- 3089: 734(ivec3) ConvertFToS 3088
- 3090: 7(f16vec4) Load 66(data)
- ImageWrite 3087 3089 3090
- 3091: 3034 Load 3036(i2DMS)
- 3092: 53(fvec2) Load 148(c2)
- 3093: 721(ivec2) ConvertFToS 3092
- 3094: 7(f16vec4) Load 66(data)
- ImageWrite 3091 3093 3094 Sample 709
- 3095: 3043 Load 3045(i2DMSArray)
- 3096: 167(fvec3) Load 169(c3)
- 3097: 734(ivec3) ConvertFToS 3096
- 3098: 7(f16vec4) Load 66(data)
- ImageWrite 3095 3097 3098 Sample 709
+ 3099: 2997 Load 2999(i1D)
+ 3100: 52(float) Load 128(c1)
+ 3101: 47(int) ConvertFToS 3100
+ 3102: 7(f16vec4) Load 66(data)
+ ImageWrite 3099 3101 3102
+ 3103: 3006 Load 3008(i2D)
+ 3104: 53(fvec2) Load 148(c2)
+ 3105: 721(ivec2) ConvertFToS 3104
+ 3106: 7(f16vec4) Load 66(data)
+ ImageWrite 3103 3105 3106
+ 3107: 3015 Load 3017(i3D)
+ 3108: 167(fvec3) Load 169(c3)
+ 3109: 734(ivec3) ConvertFToS 3108
+ 3110: 7(f16vec4) Load 66(data)
+ ImageWrite 3107 3109 3110
+ 3111: 3024 Load 3026(i2DRect)
+ 3112: 53(fvec2) Load 148(c2)
+ 3113: 721(ivec2) ConvertFToS 3112
+ 3114: 7(f16vec4) Load 66(data)
+ ImageWrite 3111 3113 3114
+ 3115: 3033 Load 3035(iCube)
+ 3116: 167(fvec3) Load 169(c3)
+ 3117: 734(ivec3) ConvertFToS 3116
+ 3118: 7(f16vec4) Load 66(data)
+ ImageWrite 3115 3117 3118
+ 3119: 3042 Load 3044(iBuffer)
+ 3120: 52(float) Load 128(c1)
+ 3121: 47(int) ConvertFToS 3120
+ 3122: 7(f16vec4) Load 66(data)
+ ImageWrite 3119 3121 3122
+ 3123: 3051 Load 3053(i1DArray)
+ 3124: 53(fvec2) Load 148(c2)
+ 3125: 721(ivec2) ConvertFToS 3124
+ 3126: 7(f16vec4) Load 66(data)
+ ImageWrite 3123 3125 3126
+ 3127: 3060 Load 3062(i2DArray)
+ 3128: 167(fvec3) Load 169(c3)
+ 3129: 734(ivec3) ConvertFToS 3128
+ 3130: 7(f16vec4) Load 66(data)
+ ImageWrite 3127 3129 3130
+ 3131: 3069 Load 3071(iCubeArray)
+ 3132: 167(fvec3) Load 169(c3)
+ 3133: 734(ivec3) ConvertFToS 3132
+ 3134: 7(f16vec4) Load 66(data)
+ ImageWrite 3131 3133 3134
+ 3135: 3078 Load 3080(i2DMS)
+ 3136: 53(fvec2) Load 148(c2)
+ 3137: 721(ivec2) ConvertFToS 3136
+ 3138: 7(f16vec4) Load 66(data)
+ ImageWrite 3135 3137 3138 Sample 709
+ 3139: 3087 Load 3089(i2DMSArray)
+ 3140: 167(fvec3) Load 169(c3)
+ 3141: 734(ivec3) ConvertFToS 3140
+ 3142: 7(f16vec4) Load 66(data)
+ ImageWrite 3139 3141 3142 Sample 709
Return
FunctionEnd
69(testSparseTexture(): 7(f16vec4) Function None 8
70: Label
- 3099(texel): 64(ptr) Variable Function
- Store 3099(texel) 121
- 3100: 143 Load 145(s2D)
- 3101: 53(fvec2) Load 148(c2)
- 3103:3102(ResType) ImageSparseSampleImplicitLod 3100 3101
- 3104: 7(f16vec4) CompositeExtract 3103 1
- Store 3099(texel) 3104
- 3105: 47(int) CompositeExtract 3103 0
- 3106: 143 Load 145(s2D)
- 3107:154(f16vec2) Load 156(f16c2)
- 3108:6(float16_t) Load 137(f16bias)
- 3109:3102(ResType) ImageSparseSampleImplicitLod 3106 3107 Bias 3108
- 3110: 7(f16vec4) CompositeExtract 3109 1
- Store 3099(texel) 3110
- 3111: 47(int) CompositeExtract 3109 0
- 3112: 163 Load 165(s3D)
- 3113: 167(fvec3) Load 169(c3)
- 3114:3102(ResType) ImageSparseSampleImplicitLod 3112 3113
- 3115: 7(f16vec4) CompositeExtract 3114 1
- Store 3099(texel) 3115
- 3116: 47(int) CompositeExtract 3114 0
- 3117: 163 Load 165(s3D)
- 3118:175(f16vec3) Load 177(f16c3)
- 3119:6(float16_t) Load 137(f16bias)
- 3120:3102(ResType) ImageSparseSampleImplicitLod 3117 3118 Bias 3119
- 3121: 7(f16vec4) CompositeExtract 3120 1
- Store 3099(texel) 3121
- 3122: 47(int) CompositeExtract 3120 0
- 3123: 184 Load 186(sCube)
- 3124: 167(fvec3) Load 169(c3)
- 3125:3102(ResType) ImageSparseSampleImplicitLod 3123 3124
- 3126: 7(f16vec4) CompositeExtract 3125 1
- Store 3099(texel) 3126
- 3127: 47(int) CompositeExtract 3125 0
- 3128: 184 Load 186(sCube)
- 3129:175(f16vec3) Load 177(f16c3)
- 3130:6(float16_t) Load 137(f16bias)
- 3131:3102(ResType) ImageSparseSampleImplicitLod 3128 3129 Bias 3130
- 3132: 7(f16vec4) CompositeExtract 3131 1
- Store 3099(texel) 3132
- 3133: 47(int) CompositeExtract 3131 0
- 3134: 224 Load 226(s2DShadow)
- 3135: 167(fvec3) Load 169(c3)
- 3136: 208(ptr) AccessChain 3099(texel) 207
- 3137: 52(float) CompositeExtract 3135 2
- 3139:3138(ResType) ImageSparseSampleDrefImplicitLod 3134 3135 3137
- 3140:6(float16_t) CompositeExtract 3139 1
- Store 3136 3140
- 3141: 47(int) CompositeExtract 3139 0
- 3142: 224 Load 226(s2DShadow)
- 3143:154(f16vec2) Load 156(f16c2)
- 3144: 52(float) Load 215(compare)
- 3145: 208(ptr) AccessChain 3099(texel) 207
- 3146:6(float16_t) Load 137(f16bias)
- 3147:3138(ResType) ImageSparseSampleDrefImplicitLod 3142 3143 3144 Bias 3146
- 3148:6(float16_t) CompositeExtract 3147 1
- Store 3145 3148
+ 3143(texel): 64(ptr) Variable Function
+ Store 3143(texel) 121
+ 3144: 143 Load 145(s2D)
+ 3145: 53(fvec2) Load 148(c2)
+ 3147:3146(ResType) ImageSparseSampleImplicitLod 3144 3145
+ 3148: 7(f16vec4) CompositeExtract 3147 1
+ Store 3143(texel) 3148
3149: 47(int) CompositeExtract 3147 0
- 3150: 245 Load 247(sCubeShadow)
- 3151: 249(fvec4) Load 251(c4)
- 3152: 208(ptr) AccessChain 3099(texel) 207
- 3153: 52(float) CompositeExtract 3151 3
- 3154:3138(ResType) ImageSparseSampleDrefImplicitLod 3150 3151 3153
- 3155:6(float16_t) CompositeExtract 3154 1
- Store 3152 3155
- 3156: 47(int) CompositeExtract 3154 0
- 3157: 245 Load 247(sCubeShadow)
- 3158:175(f16vec3) Load 177(f16c3)
- 3159: 52(float) Load 215(compare)
- 3160: 208(ptr) AccessChain 3099(texel) 207
- 3161:6(float16_t) Load 137(f16bias)
- 3162:3138(ResType) ImageSparseSampleDrefImplicitLod 3157 3158 3159 Bias 3161
- 3163:6(float16_t) CompositeExtract 3162 1
- Store 3160 3163
- 3164: 47(int) CompositeExtract 3162 0
- 3165: 284 Load 286(s2DArray)
- 3166: 167(fvec3) Load 169(c3)
- 3167:3102(ResType) ImageSparseSampleImplicitLod 3165 3166
- 3168: 7(f16vec4) CompositeExtract 3167 1
- Store 3099(texel) 3168
- 3169: 47(int) CompositeExtract 3167 0
- 3170: 284 Load 286(s2DArray)
- 3171:175(f16vec3) Load 177(f16c3)
- 3172:6(float16_t) Load 137(f16bias)
- 3173:3102(ResType) ImageSparseSampleImplicitLod 3170 3171 Bias 3172
- 3174: 7(f16vec4) CompositeExtract 3173 1
- Store 3099(texel) 3174
- 3175: 47(int) CompositeExtract 3173 0
- 3176: 299 Load 301(sCubeArray)
- 3177: 249(fvec4) Load 251(c4)
- 3178:3102(ResType) ImageSparseSampleImplicitLod 3176 3177
- 3179: 7(f16vec4) CompositeExtract 3178 1
- Store 3099(texel) 3179
- 3180: 47(int) CompositeExtract 3178 0
- 3181: 299 Load 301(sCubeArray)
- 3182: 7(f16vec4) Load 309(f16c4)
- 3183:6(float16_t) Load 137(f16bias)
- 3184:3102(ResType) ImageSparseSampleImplicitLod 3181 3182 Bias 3183
- 3185: 7(f16vec4) CompositeExtract 3184 1
- Store 3099(texel) 3185
- 3186: 47(int) CompositeExtract 3184 0
- 3187: 337 Load 339(s2DArrayShadow)
- 3188: 249(fvec4) Load 251(c4)
- 3189: 208(ptr) AccessChain 3099(texel) 207
- 3190: 52(float) CompositeExtract 3188 3
- 3191:3138(ResType) ImageSparseSampleDrefImplicitLod 3187 3188 3190
+ 3150: 143 Load 145(s2D)
+ 3151:154(f16vec2) Load 156(f16c2)
+ 3152:6(float16_t) Load 137(f16bias)
+ 3153:3146(ResType) ImageSparseSampleImplicitLod 3150 3151 Bias 3152
+ 3154: 7(f16vec4) CompositeExtract 3153 1
+ Store 3143(texel) 3154
+ 3155: 47(int) CompositeExtract 3153 0
+ 3156: 163 Load 165(s3D)
+ 3157: 167(fvec3) Load 169(c3)
+ 3158:3146(ResType) ImageSparseSampleImplicitLod 3156 3157
+ 3159: 7(f16vec4) CompositeExtract 3158 1
+ Store 3143(texel) 3159
+ 3160: 47(int) CompositeExtract 3158 0
+ 3161: 163 Load 165(s3D)
+ 3162:175(f16vec3) Load 177(f16c3)
+ 3163:6(float16_t) Load 137(f16bias)
+ 3164:3146(ResType) ImageSparseSampleImplicitLod 3161 3162 Bias 3163
+ 3165: 7(f16vec4) CompositeExtract 3164 1
+ Store 3143(texel) 3165
+ 3166: 47(int) CompositeExtract 3164 0
+ 3167: 184 Load 186(sCube)
+ 3168: 167(fvec3) Load 169(c3)
+ 3169:3146(ResType) ImageSparseSampleImplicitLod 3167 3168
+ 3170: 7(f16vec4) CompositeExtract 3169 1
+ Store 3143(texel) 3170
+ 3171: 47(int) CompositeExtract 3169 0
+ 3172: 184 Load 186(sCube)
+ 3173:175(f16vec3) Load 177(f16c3)
+ 3174:6(float16_t) Load 137(f16bias)
+ 3175:3146(ResType) ImageSparseSampleImplicitLod 3172 3173 Bias 3174
+ 3176: 7(f16vec4) CompositeExtract 3175 1
+ Store 3143(texel) 3176
+ 3177: 47(int) CompositeExtract 3175 0
+ 3178: 224 Load 226(s2DShadow)
+ 3179: 167(fvec3) Load 169(c3)
+ 3180: 208(ptr) AccessChain 3143(texel) 207
+ 3181: 52(float) CompositeExtract 3179 2
+ 3183:3182(ResType) ImageSparseSampleDrefImplicitLod 3178 3179 3181
+ 3184:6(float16_t) CompositeExtract 3183 1
+ Store 3180 3184
+ 3185: 47(int) CompositeExtract 3183 0
+ 3186: 224 Load 226(s2DShadow)
+ 3187:154(f16vec2) Load 156(f16c2)
+ 3188: 52(float) Load 215(compare)
+ 3189: 208(ptr) AccessChain 3143(texel) 207
+ 3190:6(float16_t) Load 137(f16bias)
+ 3191:3182(ResType) ImageSparseSampleDrefImplicitLod 3186 3187 3188 Bias 3190
3192:6(float16_t) CompositeExtract 3191 1
Store 3189 3192
3193: 47(int) CompositeExtract 3191 0
- 3194: 337 Load 339(s2DArrayShadow)
- 3195:175(f16vec3) Load 177(f16c3)
- 3196: 52(float) Load 215(compare)
- 3197: 208(ptr) AccessChain 3099(texel) 207
- 3198:3138(ResType) ImageSparseSampleDrefImplicitLod 3194 3195 3196
+ 3194: 245 Load 247(sCubeShadow)
+ 3195: 249(fvec4) Load 251(c4)
+ 3196: 208(ptr) AccessChain 3143(texel) 207
+ 3197: 52(float) CompositeExtract 3195 3
+ 3198:3182(ResType) ImageSparseSampleDrefImplicitLod 3194 3195 3197
3199:6(float16_t) CompositeExtract 3198 1
- Store 3197 3199
+ Store 3196 3199
3200: 47(int) CompositeExtract 3198 0
- 3201: 357 Load 359(s2DRect)
- 3202: 53(fvec2) Load 148(c2)
- 3203:3102(ResType) ImageSparseSampleImplicitLod 3201 3202
- 3204: 7(f16vec4) CompositeExtract 3203 1
- Store 3099(texel) 3204
- 3205: 47(int) CompositeExtract 3203 0
- 3206: 357 Load 359(s2DRect)
- 3207:154(f16vec2) Load 156(f16c2)
- 3208:3102(ResType) ImageSparseSampleImplicitLod 3206 3207
- 3209: 7(f16vec4) CompositeExtract 3208 1
- Store 3099(texel) 3209
- 3210: 47(int) CompositeExtract 3208 0
- 3211: 371 Load 373(s2DRectShadow)
- 3212: 167(fvec3) Load 169(c3)
- 3213: 208(ptr) AccessChain 3099(texel) 207
- 3214: 52(float) CompositeExtract 3212 2
- 3215:3138(ResType) ImageSparseSampleDrefImplicitLod 3211 3212 3214
- 3216:6(float16_t) CompositeExtract 3215 1
- Store 3213 3216
- 3217: 47(int) CompositeExtract 3215 0
- 3218: 371 Load 373(s2DRectShadow)
- 3219:154(f16vec2) Load 156(f16c2)
- 3220: 52(float) Load 215(compare)
- 3221: 208(ptr) AccessChain 3099(texel) 207
- 3222:3138(ResType) ImageSparseSampleDrefImplicitLod 3218 3219 3220
- 3223:6(float16_t) CompositeExtract 3222 1
- Store 3221 3223
+ 3201: 245 Load 247(sCubeShadow)
+ 3202:175(f16vec3) Load 177(f16c3)
+ 3203: 52(float) Load 215(compare)
+ 3204: 208(ptr) AccessChain 3143(texel) 207
+ 3205:6(float16_t) Load 137(f16bias)
+ 3206:3182(ResType) ImageSparseSampleDrefImplicitLod 3201 3202 3203 Bias 3205
+ 3207:6(float16_t) CompositeExtract 3206 1
+ Store 3204 3207
+ 3208: 47(int) CompositeExtract 3206 0
+ 3209: 284 Load 286(s2DArray)
+ 3210: 167(fvec3) Load 169(c3)
+ 3211:3146(ResType) ImageSparseSampleImplicitLod 3209 3210
+ 3212: 7(f16vec4) CompositeExtract 3211 1
+ Store 3143(texel) 3212
+ 3213: 47(int) CompositeExtract 3211 0
+ 3214: 284 Load 286(s2DArray)
+ 3215:175(f16vec3) Load 177(f16c3)
+ 3216:6(float16_t) Load 137(f16bias)
+ 3217:3146(ResType) ImageSparseSampleImplicitLod 3214 3215 Bias 3216
+ 3218: 7(f16vec4) CompositeExtract 3217 1
+ Store 3143(texel) 3218
+ 3219: 47(int) CompositeExtract 3217 0
+ 3220: 299 Load 301(sCubeArray)
+ 3221: 249(fvec4) Load 251(c4)
+ 3222:3146(ResType) ImageSparseSampleImplicitLod 3220 3221
+ 3223: 7(f16vec4) CompositeExtract 3222 1
+ Store 3143(texel) 3223
3224: 47(int) CompositeExtract 3222 0
- 3225: 391 Load 393(sCubeArrayShadow)
- 3226: 249(fvec4) Load 251(c4)
- 3227: 52(float) Load 215(compare)
- 3228: 208(ptr) AccessChain 3099(texel) 207
- 3229:3138(ResType) ImageSparseSampleDrefImplicitLod 3225 3226 3227
- 3230:6(float16_t) CompositeExtract 3229 1
- Store 3228 3230
- 3231: 47(int) CompositeExtract 3229 0
- 3232: 391 Load 393(sCubeArrayShadow)
- 3233: 7(f16vec4) Load 309(f16c4)
- 3234: 52(float) Load 215(compare)
- 3235: 208(ptr) AccessChain 3099(texel) 207
- 3236:3138(ResType) ImageSparseSampleDrefImplicitLod 3232 3233 3234
- 3237:6(float16_t) CompositeExtract 3236 1
- Store 3235 3237
- 3238: 47(int) CompositeExtract 3236 0
- 3239: 7(f16vec4) Load 3099(texel)
- ReturnValue 3239
+ 3225: 299 Load 301(sCubeArray)
+ 3226: 7(f16vec4) Load 309(f16c4)
+ 3227:6(float16_t) Load 137(f16bias)
+ 3228:3146(ResType) ImageSparseSampleImplicitLod 3225 3226 Bias 3227
+ 3229: 7(f16vec4) CompositeExtract 3228 1
+ Store 3143(texel) 3229
+ 3230: 47(int) CompositeExtract 3228 0
+ 3231: 337 Load 339(s2DArrayShadow)
+ 3232: 249(fvec4) Load 251(c4)
+ 3233: 208(ptr) AccessChain 3143(texel) 207
+ 3234: 52(float) CompositeExtract 3232 3
+ 3235:3182(ResType) ImageSparseSampleDrefImplicitLod 3231 3232 3234
+ 3236:6(float16_t) CompositeExtract 3235 1
+ Store 3233 3236
+ 3237: 47(int) CompositeExtract 3235 0
+ 3238: 337 Load 339(s2DArrayShadow)
+ 3239:175(f16vec3) Load 177(f16c3)
+ 3240: 52(float) Load 215(compare)
+ 3241: 208(ptr) AccessChain 3143(texel) 207
+ 3242:3182(ResType) ImageSparseSampleDrefImplicitLod 3238 3239 3240
+ 3243:6(float16_t) CompositeExtract 3242 1
+ Store 3241 3243
+ 3244: 47(int) CompositeExtract 3242 0
+ 3245: 357 Load 359(s2DRect)
+ 3246: 53(fvec2) Load 148(c2)
+ 3247:3146(ResType) ImageSparseSampleImplicitLod 3245 3246
+ 3248: 7(f16vec4) CompositeExtract 3247 1
+ Store 3143(texel) 3248
+ 3249: 47(int) CompositeExtract 3247 0
+ 3250: 357 Load 359(s2DRect)
+ 3251:154(f16vec2) Load 156(f16c2)
+ 3252:3146(ResType) ImageSparseSampleImplicitLod 3250 3251
+ 3253: 7(f16vec4) CompositeExtract 3252 1
+ Store 3143(texel) 3253
+ 3254: 47(int) CompositeExtract 3252 0
+ 3255: 371 Load 373(s2DRectShadow)
+ 3256: 167(fvec3) Load 169(c3)
+ 3257: 208(ptr) AccessChain 3143(texel) 207
+ 3258: 52(float) CompositeExtract 3256 2
+ 3259:3182(ResType) ImageSparseSampleDrefImplicitLod 3255 3256 3258
+ 3260:6(float16_t) CompositeExtract 3259 1
+ Store 3257 3260
+ 3261: 47(int) CompositeExtract 3259 0
+ 3262: 371 Load 373(s2DRectShadow)
+ 3263:154(f16vec2) Load 156(f16c2)
+ 3264: 52(float) Load 215(compare)
+ 3265: 208(ptr) AccessChain 3143(texel) 207
+ 3266:3182(ResType) ImageSparseSampleDrefImplicitLod 3262 3263 3264
+ 3267:6(float16_t) CompositeExtract 3266 1
+ Store 3265 3267
+ 3268: 47(int) CompositeExtract 3266 0
+ 3269: 391 Load 393(sCubeArrayShadow)
+ 3270: 249(fvec4) Load 251(c4)
+ 3271: 52(float) Load 215(compare)
+ 3272: 208(ptr) AccessChain 3143(texel) 207
+ 3273:3182(ResType) ImageSparseSampleDrefImplicitLod 3269 3270 3271
+ 3274:6(float16_t) CompositeExtract 3273 1
+ Store 3272 3274
+ 3275: 47(int) CompositeExtract 3273 0
+ 3276: 391 Load 393(sCubeArrayShadow)
+ 3277: 7(f16vec4) Load 309(f16c4)
+ 3278: 52(float) Load 215(compare)
+ 3279: 208(ptr) AccessChain 3143(texel) 207
+ 3280:3182(ResType) ImageSparseSampleDrefImplicitLod 3276 3277 3278
+ 3281:6(float16_t) CompositeExtract 3280 1
+ Store 3279 3281
+ 3282: 47(int) CompositeExtract 3280 0
+ 3283: 7(f16vec4) Load 3143(texel)
+ ReturnValue 3283
FunctionEnd
71(testSparseTextureLod(): 7(f16vec4) Function None 8
72: Label
- 3242(texel): 64(ptr) Variable Function
- Store 3242(texel) 121
- 3243: 143 Load 145(s2D)
- 3244: 53(fvec2) Load 148(c2)
- 3245: 52(float) Load 565(lod)
- 3246:3102(ResType) ImageSparseSampleExplicitLod 3243 3244 Lod 3245
- 3247: 7(f16vec4) CompositeExtract 3246 1
- Store 3242(texel) 3247
- 3248: 47(int) CompositeExtract 3246 0
- 3249: 143 Load 145(s2D)
- 3250:154(f16vec2) Load 156(f16c2)
- 3251:6(float16_t) Load 572(f16lod)
- 3252:3102(ResType) ImageSparseSampleExplicitLod 3249 3250 Lod 3251
- 3253: 7(f16vec4) CompositeExtract 3252 1
- Store 3242(texel) 3253
- 3254: 47(int) CompositeExtract 3252 0
- 3255: 163 Load 165(s3D)
- 3256: 167(fvec3) Load 169(c3)
- 3257: 52(float) Load 565(lod)
- 3258:3102(ResType) ImageSparseSampleExplicitLod 3255 3256 Lod 3257
- 3259: 7(f16vec4) CompositeExtract 3258 1
- Store 3242(texel) 3259
- 3260: 47(int) CompositeExtract 3258 0
- 3261: 163 Load 165(s3D)
- 3262:175(f16vec3) Load 177(f16c3)
- 3263:6(float16_t) Load 572(f16lod)
- 3264:3102(ResType) ImageSparseSampleExplicitLod 3261 3262 Lod 3263
- 3265: 7(f16vec4) CompositeExtract 3264 1
- Store 3242(texel) 3265
- 3266: 47(int) CompositeExtract 3264 0
- 3267: 184 Load 186(sCube)
- 3268: 167(fvec3) Load 169(c3)
- 3269: 52(float) Load 565(lod)
- 3270:3102(ResType) ImageSparseSampleExplicitLod 3267 3268 Lod 3269
- 3271: 7(f16vec4) CompositeExtract 3270 1
- Store 3242(texel) 3271
- 3272: 47(int) CompositeExtract 3270 0
- 3273: 184 Load 186(sCube)
- 3274:175(f16vec3) Load 177(f16c3)
- 3275:6(float16_t) Load 572(f16lod)
- 3276:3102(ResType) ImageSparseSampleExplicitLod 3273 3274 Lod 3275
- 3277: 7(f16vec4) CompositeExtract 3276 1
- Store 3242(texel) 3277
- 3278: 47(int) CompositeExtract 3276 0
- 3279: 224 Load 226(s2DShadow)
- 3280: 167(fvec3) Load 169(c3)
- 3281: 52(float) Load 565(lod)
- 3282: 208(ptr) AccessChain 3242(texel) 207
- 3283: 52(float) CompositeExtract 3280 2
- 3284:3138(ResType) ImageSparseSampleDrefExplicitLod 3279 3280 3283 Lod 3281
- 3285:6(float16_t) CompositeExtract 3284 1
- Store 3282 3285
- 3286: 47(int) CompositeExtract 3284 0
- 3287: 224 Load 226(s2DShadow)
- 3288:154(f16vec2) Load 156(f16c2)
- 3289: 52(float) Load 215(compare)
- 3290:6(float16_t) Load 572(f16lod)
- 3291: 208(ptr) AccessChain 3242(texel) 207
- 3292:3138(ResType) ImageSparseSampleDrefExplicitLod 3287 3288 3289 Lod 3290
- 3293:6(float16_t) CompositeExtract 3292 1
- Store 3291 3293
- 3294: 47(int) CompositeExtract 3292 0
- 3295: 284 Load 286(s2DArray)
- 3296: 167(fvec3) Load 169(c3)
- 3297: 52(float) Load 565(lod)
- 3298:3102(ResType) ImageSparseSampleExplicitLod 3295 3296 Lod 3297
- 3299: 7(f16vec4) CompositeExtract 3298 1
- Store 3242(texel) 3299
- 3300: 47(int) CompositeExtract 3298 0
- 3301: 284 Load 286(s2DArray)
- 3302:175(f16vec3) Load 177(f16c3)
- 3303:6(float16_t) Load 572(f16lod)
- 3304:3102(ResType) ImageSparseSampleExplicitLod 3301 3302 Lod 3303
- 3305: 7(f16vec4) CompositeExtract 3304 1
- Store 3242(texel) 3305
- 3306: 47(int) CompositeExtract 3304 0
- 3307: 299 Load 301(sCubeArray)
- 3308: 249(fvec4) Load 251(c4)
- 3309: 52(float) Load 565(lod)
- 3310:3102(ResType) ImageSparseSampleExplicitLod 3307 3308 Lod 3309
- 3311: 7(f16vec4) CompositeExtract 3310 1
- Store 3242(texel) 3311
- 3312: 47(int) CompositeExtract 3310 0
- 3313: 299 Load 301(sCubeArray)
- 3314: 7(f16vec4) Load 309(f16c4)
- 3315:6(float16_t) Load 572(f16lod)
- 3316:3102(ResType) ImageSparseSampleExplicitLod 3313 3314 Lod 3315
- 3317: 7(f16vec4) CompositeExtract 3316 1
- Store 3242(texel) 3317
- 3318: 47(int) CompositeExtract 3316 0
- 3319: 7(f16vec4) Load 3242(texel)
- ReturnValue 3319
+ 3286(texel): 64(ptr) Variable Function
+ Store 3286(texel) 121
+ 3287: 143 Load 145(s2D)
+ 3288: 53(fvec2) Load 148(c2)
+ 3289: 52(float) Load 565(lod)
+ 3290:3146(ResType) ImageSparseSampleExplicitLod 3287 3288 Lod 3289
+ 3291: 7(f16vec4) CompositeExtract 3290 1
+ Store 3286(texel) 3291
+ 3292: 47(int) CompositeExtract 3290 0
+ 3293: 143 Load 145(s2D)
+ 3294:154(f16vec2) Load 156(f16c2)
+ 3295:6(float16_t) Load 572(f16lod)
+ 3296:3146(ResType) ImageSparseSampleExplicitLod 3293 3294 Lod 3295
+ 3297: 7(f16vec4) CompositeExtract 3296 1
+ Store 3286(texel) 3297
+ 3298: 47(int) CompositeExtract 3296 0
+ 3299: 163 Load 165(s3D)
+ 3300: 167(fvec3) Load 169(c3)
+ 3301: 52(float) Load 565(lod)
+ 3302:3146(ResType) ImageSparseSampleExplicitLod 3299 3300 Lod 3301
+ 3303: 7(f16vec4) CompositeExtract 3302 1
+ Store 3286(texel) 3303
+ 3304: 47(int) CompositeExtract 3302 0
+ 3305: 163 Load 165(s3D)
+ 3306:175(f16vec3) Load 177(f16c3)
+ 3307:6(float16_t) Load 572(f16lod)
+ 3308:3146(ResType) ImageSparseSampleExplicitLod 3305 3306 Lod 3307
+ 3309: 7(f16vec4) CompositeExtract 3308 1
+ Store 3286(texel) 3309
+ 3310: 47(int) CompositeExtract 3308 0
+ 3311: 184 Load 186(sCube)
+ 3312: 167(fvec3) Load 169(c3)
+ 3313: 52(float) Load 565(lod)
+ 3314:3146(ResType) ImageSparseSampleExplicitLod 3311 3312 Lod 3313
+ 3315: 7(f16vec4) CompositeExtract 3314 1
+ Store 3286(texel) 3315
+ 3316: 47(int) CompositeExtract 3314 0
+ 3317: 184 Load 186(sCube)
+ 3318:175(f16vec3) Load 177(f16c3)
+ 3319:6(float16_t) Load 572(f16lod)
+ 3320:3146(ResType) ImageSparseSampleExplicitLod 3317 3318 Lod 3319
+ 3321: 7(f16vec4) CompositeExtract 3320 1
+ Store 3286(texel) 3321
+ 3322: 47(int) CompositeExtract 3320 0
+ 3323: 224 Load 226(s2DShadow)
+ 3324: 167(fvec3) Load 169(c3)
+ 3325: 52(float) Load 565(lod)
+ 3326: 208(ptr) AccessChain 3286(texel) 207
+ 3327: 52(float) CompositeExtract 3324 2
+ 3328:3182(ResType) ImageSparseSampleDrefExplicitLod 3323 3324 3327 Lod 3325
+ 3329:6(float16_t) CompositeExtract 3328 1
+ Store 3326 3329
+ 3330: 47(int) CompositeExtract 3328 0
+ 3331: 224 Load 226(s2DShadow)
+ 3332:154(f16vec2) Load 156(f16c2)
+ 3333: 52(float) Load 215(compare)
+ 3334:6(float16_t) Load 572(f16lod)
+ 3335: 208(ptr) AccessChain 3286(texel) 207
+ 3336:3182(ResType) ImageSparseSampleDrefExplicitLod 3331 3332 3333 Lod 3334
+ 3337:6(float16_t) CompositeExtract 3336 1
+ Store 3335 3337
+ 3338: 47(int) CompositeExtract 3336 0
+ 3339: 284 Load 286(s2DArray)
+ 3340: 167(fvec3) Load 169(c3)
+ 3341: 52(float) Load 565(lod)
+ 3342:3146(ResType) ImageSparseSampleExplicitLod 3339 3340 Lod 3341
+ 3343: 7(f16vec4) CompositeExtract 3342 1
+ Store 3286(texel) 3343
+ 3344: 47(int) CompositeExtract 3342 0
+ 3345: 284 Load 286(s2DArray)
+ 3346:175(f16vec3) Load 177(f16c3)
+ 3347:6(float16_t) Load 572(f16lod)
+ 3348:3146(ResType) ImageSparseSampleExplicitLod 3345 3346 Lod 3347
+ 3349: 7(f16vec4) CompositeExtract 3348 1
+ Store 3286(texel) 3349
+ 3350: 47(int) CompositeExtract 3348 0
+ 3351: 299 Load 301(sCubeArray)
+ 3352: 249(fvec4) Load 251(c4)
+ 3353: 52(float) Load 565(lod)
+ 3354:3146(ResType) ImageSparseSampleExplicitLod 3351 3352 Lod 3353
+ 3355: 7(f16vec4) CompositeExtract 3354 1
+ Store 3286(texel) 3355
+ 3356: 47(int) CompositeExtract 3354 0
+ 3357: 299 Load 301(sCubeArray)
+ 3358: 7(f16vec4) Load 309(f16c4)
+ 3359:6(float16_t) Load 572(f16lod)
+ 3360:3146(ResType) ImageSparseSampleExplicitLod 3357 3358 Lod 3359
+ 3361: 7(f16vec4) CompositeExtract 3360 1
+ Store 3286(texel) 3361
+ 3362: 47(int) CompositeExtract 3360 0
+ 3363: 7(f16vec4) Load 3286(texel)
+ ReturnValue 3363
FunctionEnd
73(testSparseTextureOffset(): 7(f16vec4) Function None 8
74: Label
- 3322(texel): 64(ptr) Variable Function
- Store 3322(texel) 121
- 3323: 143 Load 145(s2D)
- 3324: 53(fvec2) Load 148(c2)
- 3325:3102(ResType) ImageSparseSampleImplicitLod 3323 3324 ConstOffset 722
- 3326: 7(f16vec4) CompositeExtract 3325 1
- Store 3322(texel) 3326
- 3327: 47(int) CompositeExtract 3325 0
- 3328: 143 Load 145(s2D)
- 3329:154(f16vec2) Load 156(f16c2)
- 3330:6(float16_t) Load 137(f16bias)
- 3331:3102(ResType) ImageSparseSampleImplicitLod 3328 3329 Bias ConstOffset 3330 722
- 3332: 7(f16vec4) CompositeExtract 3331 1
- Store 3322(texel) 3332
- 3333: 47(int) CompositeExtract 3331 0
- 3334: 163 Load 165(s3D)
- 3335: 167(fvec3) Load 169(c3)
- 3336:3102(ResType) ImageSparseSampleImplicitLod 3334 3335 ConstOffset 735
- 3337: 7(f16vec4) CompositeExtract 3336 1
- Store 3322(texel) 3337
- 3338: 47(int) CompositeExtract 3336 0
- 3339: 163 Load 165(s3D)
- 3340:175(f16vec3) Load 177(f16c3)
- 3341:6(float16_t) Load 137(f16bias)
- 3342:3102(ResType) ImageSparseSampleImplicitLod 3339 3340 Bias ConstOffset 3341 735
- 3343: 7(f16vec4) CompositeExtract 3342 1
- Store 3322(texel) 3343
- 3344: 47(int) CompositeExtract 3342 0
- 3345: 357 Load 359(s2DRect)
- 3346: 53(fvec2) Load 148(c2)
- 3347:3102(ResType) ImageSparseSampleImplicitLod 3345 3346 ConstOffset 722
- 3348: 7(f16vec4) CompositeExtract 3347 1
- Store 3322(texel) 3348
- 3349: 47(int) CompositeExtract 3347 0
- 3350: 357 Load 359(s2DRect)
- 3351:154(f16vec2) Load 156(f16c2)
- 3352:3102(ResType) ImageSparseSampleImplicitLod 3350 3351 ConstOffset 722
- 3353: 7(f16vec4) CompositeExtract 3352 1
- Store 3322(texel) 3353
- 3354: 47(int) CompositeExtract 3352 0
- 3355: 371 Load 373(s2DRectShadow)
- 3356: 167(fvec3) Load 169(c3)
- 3357: 208(ptr) AccessChain 3322(texel) 207
- 3358: 52(float) CompositeExtract 3356 2
- 3359:3138(ResType) ImageSparseSampleDrefImplicitLod 3355 3356 3358 ConstOffset 722
- 3360:6(float16_t) CompositeExtract 3359 1
- Store 3357 3360
- 3361: 47(int) CompositeExtract 3359 0
- 3362: 371 Load 373(s2DRectShadow)
- 3363:154(f16vec2) Load 156(f16c2)
- 3364: 52(float) Load 215(compare)
- 3365: 208(ptr) AccessChain 3322(texel) 207
- 3366:3138(ResType) ImageSparseSampleDrefImplicitLod 3362 3363 3364 ConstOffset 722
- 3367:6(float16_t) CompositeExtract 3366 1
- Store 3365 3367
- 3368: 47(int) CompositeExtract 3366 0
- 3369: 224 Load 226(s2DShadow)
- 3370: 167(fvec3) Load 169(c3)
- 3371: 208(ptr) AccessChain 3322(texel) 207
- 3372: 52(float) CompositeExtract 3370 2
- 3373:3138(ResType) ImageSparseSampleDrefImplicitLod 3369 3370 3372 ConstOffset 722
- 3374:6(float16_t) CompositeExtract 3373 1
- Store 3371 3374
- 3375: 47(int) CompositeExtract 3373 0
- 3376: 224 Load 226(s2DShadow)
- 3377:154(f16vec2) Load 156(f16c2)
- 3378: 52(float) Load 215(compare)
- 3379: 208(ptr) AccessChain 3322(texel) 207
- 3380:6(float16_t) Load 137(f16bias)
- 3381:3138(ResType) ImageSparseSampleDrefImplicitLod 3376 3377 3378 Bias ConstOffset 3380 722
- 3382:6(float16_t) CompositeExtract 3381 1
- Store 3379 3382
- 3383: 47(int) CompositeExtract 3381 0
- 3384: 284 Load 286(s2DArray)
- 3385: 167(fvec3) Load 169(c3)
- 3386:3102(ResType) ImageSparseSampleImplicitLod 3384 3385 ConstOffset 722
+ 3366(texel): 64(ptr) Variable Function
+ Store 3366(texel) 121
+ 3367: 143 Load 145(s2D)
+ 3368: 53(fvec2) Load 148(c2)
+ 3369:3146(ResType) ImageSparseSampleImplicitLod 3367 3368 ConstOffset 722
+ 3370: 7(f16vec4) CompositeExtract 3369 1
+ Store 3366(texel) 3370
+ 3371: 47(int) CompositeExtract 3369 0
+ 3372: 143 Load 145(s2D)
+ 3373:154(f16vec2) Load 156(f16c2)
+ 3374:6(float16_t) Load 137(f16bias)
+ 3375:3146(ResType) ImageSparseSampleImplicitLod 3372 3373 Bias ConstOffset 3374 722
+ 3376: 7(f16vec4) CompositeExtract 3375 1
+ Store 3366(texel) 3376
+ 3377: 47(int) CompositeExtract 3375 0
+ 3378: 163 Load 165(s3D)
+ 3379: 167(fvec3) Load 169(c3)
+ 3380:3146(ResType) ImageSparseSampleImplicitLod 3378 3379 ConstOffset 735
+ 3381: 7(f16vec4) CompositeExtract 3380 1
+ Store 3366(texel) 3381
+ 3382: 47(int) CompositeExtract 3380 0
+ 3383: 163 Load 165(s3D)
+ 3384:175(f16vec3) Load 177(f16c3)
+ 3385:6(float16_t) Load 137(f16bias)
+ 3386:3146(ResType) ImageSparseSampleImplicitLod 3383 3384 Bias ConstOffset 3385 735
3387: 7(f16vec4) CompositeExtract 3386 1
- Store 3322(texel) 3387
+ Store 3366(texel) 3387
3388: 47(int) CompositeExtract 3386 0
- 3389: 284 Load 286(s2DArray)
- 3390:175(f16vec3) Load 177(f16c3)
- 3391:6(float16_t) Load 137(f16bias)
- 3392:3102(ResType) ImageSparseSampleImplicitLod 3389 3390 Bias ConstOffset 3391 722
- 3393: 7(f16vec4) CompositeExtract 3392 1
- Store 3322(texel) 3393
- 3394: 47(int) CompositeExtract 3392 0
- 3395: 337 Load 339(s2DArrayShadow)
- 3396: 249(fvec4) Load 251(c4)
- 3397: 208(ptr) AccessChain 3322(texel) 207
- 3398: 52(float) CompositeExtract 3396 3
- 3399:3138(ResType) ImageSparseSampleDrefImplicitLod 3395 3396 3398 ConstOffset 722
- 3400:6(float16_t) CompositeExtract 3399 1
- Store 3397 3400
- 3401: 47(int) CompositeExtract 3399 0
- 3402: 337 Load 339(s2DArrayShadow)
- 3403:175(f16vec3) Load 177(f16c3)
- 3404: 52(float) Load 215(compare)
- 3405: 208(ptr) AccessChain 3322(texel) 207
- 3406:3138(ResType) ImageSparseSampleDrefImplicitLod 3402 3403 3404 ConstOffset 722
- 3407:6(float16_t) CompositeExtract 3406 1
- Store 3405 3407
- 3408: 47(int) CompositeExtract 3406 0
- 3409: 7(f16vec4) Load 3322(texel)
- ReturnValue 3409
- FunctionEnd
-75(testSparseTextureLodOffset(): 7(f16vec4) Function None 8
- 76: Label
- 3412(texel): 64(ptr) Variable Function
- Store 3412(texel) 121
- 3413: 143 Load 145(s2D)
- 3414: 53(fvec2) Load 148(c2)
- 3415: 52(float) Load 565(lod)
- 3416:3102(ResType) ImageSparseSampleExplicitLod 3413 3414 Lod ConstOffset 3415 722
- 3417: 7(f16vec4) CompositeExtract 3416 1
- Store 3412(texel) 3417
- 3418: 47(int) CompositeExtract 3416 0
- 3419: 143 Load 145(s2D)
- 3420:154(f16vec2) Load 156(f16c2)
- 3421:6(float16_t) Load 572(f16lod)
- 3422:3102(ResType) ImageSparseSampleExplicitLod 3419 3420 Lod ConstOffset 3421 722
- 3423: 7(f16vec4) CompositeExtract 3422 1
- Store 3412(texel) 3423
- 3424: 47(int) CompositeExtract 3422 0
- 3425: 163 Load 165(s3D)
- 3426: 167(fvec3) Load 169(c3)
- 3427: 52(float) Load 565(lod)
- 3428:3102(ResType) ImageSparseSampleExplicitLod 3425 3426 Lod ConstOffset 3427 735
- 3429: 7(f16vec4) CompositeExtract 3428 1
- Store 3412(texel) 3429
- 3430: 47(int) CompositeExtract 3428 0
- 3431: 163 Load 165(s3D)
- 3432:175(f16vec3) Load 177(f16c3)
- 3433:6(float16_t) Load 572(f16lod)
- 3434:3102(ResType) ImageSparseSampleExplicitLod 3431 3432 Lod ConstOffset 3433 735
- 3435: 7(f16vec4) CompositeExtract 3434 1
- Store 3412(texel) 3435
- 3436: 47(int) CompositeExtract 3434 0
- 3437: 224 Load 226(s2DShadow)
- 3438: 167(fvec3) Load 169(c3)
- 3439: 52(float) Load 565(lod)
- 3440: 208(ptr) AccessChain 3412(texel) 207
- 3441: 52(float) CompositeExtract 3438 2
- 3442:3138(ResType) ImageSparseSampleDrefExplicitLod 3437 3438 3441 Lod ConstOffset 3439 722
- 3443:6(float16_t) CompositeExtract 3442 1
- Store 3440 3443
- 3444: 47(int) CompositeExtract 3442 0
- 3445: 224 Load 226(s2DShadow)
- 3446:154(f16vec2) Load 156(f16c2)
- 3447: 52(float) Load 215(compare)
- 3448:6(float16_t) Load 572(f16lod)
- 3449: 208(ptr) AccessChain 3412(texel) 207
- 3450:3138(ResType) ImageSparseSampleDrefExplicitLod 3445 3446 3447 Lod ConstOffset 3448 722
+ 3389: 357 Load 359(s2DRect)
+ 3390: 53(fvec2) Load 148(c2)
+ 3391:3146(ResType) ImageSparseSampleImplicitLod 3389 3390 ConstOffset 722
+ 3392: 7(f16vec4) CompositeExtract 3391 1
+ Store 3366(texel) 3392
+ 3393: 47(int) CompositeExtract 3391 0
+ 3394: 357 Load 359(s2DRect)
+ 3395:154(f16vec2) Load 156(f16c2)
+ 3396:3146(ResType) ImageSparseSampleImplicitLod 3394 3395 ConstOffset 722
+ 3397: 7(f16vec4) CompositeExtract 3396 1
+ Store 3366(texel) 3397
+ 3398: 47(int) CompositeExtract 3396 0
+ 3399: 371 Load 373(s2DRectShadow)
+ 3400: 167(fvec3) Load 169(c3)
+ 3401: 208(ptr) AccessChain 3366(texel) 207
+ 3402: 52(float) CompositeExtract 3400 2
+ 3403:3182(ResType) ImageSparseSampleDrefImplicitLod 3399 3400 3402 ConstOffset 722
+ 3404:6(float16_t) CompositeExtract 3403 1
+ Store 3401 3404
+ 3405: 47(int) CompositeExtract 3403 0
+ 3406: 371 Load 373(s2DRectShadow)
+ 3407:154(f16vec2) Load 156(f16c2)
+ 3408: 52(float) Load 215(compare)
+ 3409: 208(ptr) AccessChain 3366(texel) 207
+ 3410:3182(ResType) ImageSparseSampleDrefImplicitLod 3406 3407 3408 ConstOffset 722
+ 3411:6(float16_t) CompositeExtract 3410 1
+ Store 3409 3411
+ 3412: 47(int) CompositeExtract 3410 0
+ 3413: 224 Load 226(s2DShadow)
+ 3414: 167(fvec3) Load 169(c3)
+ 3415: 208(ptr) AccessChain 3366(texel) 207
+ 3416: 52(float) CompositeExtract 3414 2
+ 3417:3182(ResType) ImageSparseSampleDrefImplicitLod 3413 3414 3416 ConstOffset 722
+ 3418:6(float16_t) CompositeExtract 3417 1
+ Store 3415 3418
+ 3419: 47(int) CompositeExtract 3417 0
+ 3420: 224 Load 226(s2DShadow)
+ 3421:154(f16vec2) Load 156(f16c2)
+ 3422: 52(float) Load 215(compare)
+ 3423: 208(ptr) AccessChain 3366(texel) 207
+ 3424:6(float16_t) Load 137(f16bias)
+ 3425:3182(ResType) ImageSparseSampleDrefImplicitLod 3420 3421 3422 Bias ConstOffset 3424 722
+ 3426:6(float16_t) CompositeExtract 3425 1
+ Store 3423 3426
+ 3427: 47(int) CompositeExtract 3425 0
+ 3428: 284 Load 286(s2DArray)
+ 3429: 167(fvec3) Load 169(c3)
+ 3430:3146(ResType) ImageSparseSampleImplicitLod 3428 3429 ConstOffset 722
+ 3431: 7(f16vec4) CompositeExtract 3430 1
+ Store 3366(texel) 3431
+ 3432: 47(int) CompositeExtract 3430 0
+ 3433: 284 Load 286(s2DArray)
+ 3434:175(f16vec3) Load 177(f16c3)
+ 3435:6(float16_t) Load 137(f16bias)
+ 3436:3146(ResType) ImageSparseSampleImplicitLod 3433 3434 Bias ConstOffset 3435 722
+ 3437: 7(f16vec4) CompositeExtract 3436 1
+ Store 3366(texel) 3437
+ 3438: 47(int) CompositeExtract 3436 0
+ 3439: 337 Load 339(s2DArrayShadow)
+ 3440: 249(fvec4) Load 251(c4)
+ 3441: 208(ptr) AccessChain 3366(texel) 207
+ 3442: 52(float) CompositeExtract 3440 3
+ 3443:3182(ResType) ImageSparseSampleDrefImplicitLod 3439 3440 3442 ConstOffset 722
+ 3444:6(float16_t) CompositeExtract 3443 1
+ Store 3441 3444
+ 3445: 47(int) CompositeExtract 3443 0
+ 3446: 337 Load 339(s2DArrayShadow)
+ 3447:175(f16vec3) Load 177(f16c3)
+ 3448: 52(float) Load 215(compare)
+ 3449: 208(ptr) AccessChain 3366(texel) 207
+ 3450:3182(ResType) ImageSparseSampleDrefImplicitLod 3446 3447 3448 ConstOffset 722
3451:6(float16_t) CompositeExtract 3450 1
Store 3449 3451
3452: 47(int) CompositeExtract 3450 0
- 3453: 284 Load 286(s2DArray)
- 3454: 167(fvec3) Load 169(c3)
- 3455: 52(float) Load 565(lod)
- 3456:3102(ResType) ImageSparseSampleExplicitLod 3453 3454 Lod ConstOffset 3455 722
- 3457: 7(f16vec4) CompositeExtract 3456 1
- Store 3412(texel) 3457
- 3458: 47(int) CompositeExtract 3456 0
- 3459: 284 Load 286(s2DArray)
- 3460:175(f16vec3) Load 177(f16c3)
- 3461:6(float16_t) Load 572(f16lod)
- 3462:3102(ResType) ImageSparseSampleExplicitLod 3459 3460 Lod ConstOffset 3461 722
- 3463: 7(f16vec4) CompositeExtract 3462 1
- Store 3412(texel) 3463
- 3464: 47(int) CompositeExtract 3462 0
- 3465: 7(f16vec4) Load 3412(texel)
- ReturnValue 3465
+ 3453: 7(f16vec4) Load 3366(texel)
+ ReturnValue 3453
+ FunctionEnd
+75(testSparseTextureLodOffset(): 7(f16vec4) Function None 8
+ 76: Label
+ 3456(texel): 64(ptr) Variable Function
+ Store 3456(texel) 121
+ 3457: 143 Load 145(s2D)
+ 3458: 53(fvec2) Load 148(c2)
+ 3459: 52(float) Load 565(lod)
+ 3460:3146(ResType) ImageSparseSampleExplicitLod 3457 3458 Lod ConstOffset 3459 722
+ 3461: 7(f16vec4) CompositeExtract 3460 1
+ Store 3456(texel) 3461
+ 3462: 47(int) CompositeExtract 3460 0
+ 3463: 143 Load 145(s2D)
+ 3464:154(f16vec2) Load 156(f16c2)
+ 3465:6(float16_t) Load 572(f16lod)
+ 3466:3146(ResType) ImageSparseSampleExplicitLod 3463 3464 Lod ConstOffset 3465 722
+ 3467: 7(f16vec4) CompositeExtract 3466 1
+ Store 3456(texel) 3467
+ 3468: 47(int) CompositeExtract 3466 0
+ 3469: 163 Load 165(s3D)
+ 3470: 167(fvec3) Load 169(c3)
+ 3471: 52(float) Load 565(lod)
+ 3472:3146(ResType) ImageSparseSampleExplicitLod 3469 3470 Lod ConstOffset 3471 735
+ 3473: 7(f16vec4) CompositeExtract 3472 1
+ Store 3456(texel) 3473
+ 3474: 47(int) CompositeExtract 3472 0
+ 3475: 163 Load 165(s3D)
+ 3476:175(f16vec3) Load 177(f16c3)
+ 3477:6(float16_t) Load 572(f16lod)
+ 3478:3146(ResType) ImageSparseSampleExplicitLod 3475 3476 Lod ConstOffset 3477 735
+ 3479: 7(f16vec4) CompositeExtract 3478 1
+ Store 3456(texel) 3479
+ 3480: 47(int) CompositeExtract 3478 0
+ 3481: 224 Load 226(s2DShadow)
+ 3482: 167(fvec3) Load 169(c3)
+ 3483: 52(float) Load 565(lod)
+ 3484: 208(ptr) AccessChain 3456(texel) 207
+ 3485: 52(float) CompositeExtract 3482 2
+ 3486:3182(ResType) ImageSparseSampleDrefExplicitLod 3481 3482 3485 Lod ConstOffset 3483 722
+ 3487:6(float16_t) CompositeExtract 3486 1
+ Store 3484 3487
+ 3488: 47(int) CompositeExtract 3486 0
+ 3489: 224 Load 226(s2DShadow)
+ 3490:154(f16vec2) Load 156(f16c2)
+ 3491: 52(float) Load 215(compare)
+ 3492:6(float16_t) Load 572(f16lod)
+ 3493: 208(ptr) AccessChain 3456(texel) 207
+ 3494:3182(ResType) ImageSparseSampleDrefExplicitLod 3489 3490 3491 Lod ConstOffset 3492 722
+ 3495:6(float16_t) CompositeExtract 3494 1
+ Store 3493 3495
+ 3496: 47(int) CompositeExtract 3494 0
+ 3497: 284 Load 286(s2DArray)
+ 3498: 167(fvec3) Load 169(c3)
+ 3499: 52(float) Load 565(lod)
+ 3500:3146(ResType) ImageSparseSampleExplicitLod 3497 3498 Lod ConstOffset 3499 722
+ 3501: 7(f16vec4) CompositeExtract 3500 1
+ Store 3456(texel) 3501
+ 3502: 47(int) CompositeExtract 3500 0
+ 3503: 284 Load 286(s2DArray)
+ 3504:175(f16vec3) Load 177(f16c3)
+ 3505:6(float16_t) Load 572(f16lod)
+ 3506:3146(ResType) ImageSparseSampleExplicitLod 3503 3504 Lod ConstOffset 3505 722
+ 3507: 7(f16vec4) CompositeExtract 3506 1
+ Store 3456(texel) 3507
+ 3508: 47(int) CompositeExtract 3506 0
+ 3509: 7(f16vec4) Load 3456(texel)
+ ReturnValue 3509
FunctionEnd
77(testSparseTextureGrad(): 7(f16vec4) Function None 8
78: Label
- 3468(texel): 64(ptr) Variable Function
- Store 3468(texel) 121
- 3469: 143 Load 145(s2D)
- 3470: 53(fvec2) Load 148(c2)
- 3471: 53(fvec2) Load 1409(dPdxy2)
- 3472: 53(fvec2) Load 1409(dPdxy2)
- 3473:3102(ResType) ImageSparseSampleExplicitLod 3469 3470 Grad 3471 3472
- 3474: 7(f16vec4) CompositeExtract 3473 1
- Store 3468(texel) 3474
- 3475: 47(int) CompositeExtract 3473 0
- 3476: 143 Load 145(s2D)
- 3477:154(f16vec2) Load 156(f16c2)
- 3478:154(f16vec2) Load 1417(f16dPdxy2)
- 3479:154(f16vec2) Load 1417(f16dPdxy2)
- 3480:3102(ResType) ImageSparseSampleExplicitLod 3476 3477 Grad 3478 3479
- 3481: 7(f16vec4) CompositeExtract 3480 1
- Store 3468(texel) 3481
- 3482: 47(int) CompositeExtract 3480 0
- 3483: 163 Load 165(s3D)
- 3484: 167(fvec3) Load 169(c3)
- 3485: 167(fvec3) Load 1425(dPdxy3)
- 3486: 167(fvec3) Load 1425(dPdxy3)
- 3487:3102(ResType) ImageSparseSampleExplicitLod 3483 3484 Grad 3485 3486
- 3488: 7(f16vec4) CompositeExtract 3487 1
- Store 3468(texel) 3488
- 3489: 47(int) CompositeExtract 3487 0
- 3490: 163 Load 165(s3D)
- 3491:175(f16vec3) Load 177(f16c3)
- 3492:175(f16vec3) Load 1433(f16dPdxy3)
- 3493:175(f16vec3) Load 1433(f16dPdxy3)
- 3494:3102(ResType) ImageSparseSampleExplicitLod 3490 3491 Grad 3492 3493
- 3495: 7(f16vec4) CompositeExtract 3494 1
- Store 3468(texel) 3495
- 3496: 47(int) CompositeExtract 3494 0
- 3497: 184 Load 186(sCube)
- 3498: 167(fvec3) Load 169(c3)
- 3499: 167(fvec3) Load 1425(dPdxy3)
- 3500: 167(fvec3) Load 1425(dPdxy3)
- 3501:3102(ResType) ImageSparseSampleExplicitLod 3497 3498 Grad 3499 3500
- 3502: 7(f16vec4) CompositeExtract 3501 1
- Store 3468(texel) 3502
- 3503: 47(int) CompositeExtract 3501 0
- 3504: 184 Load 186(sCube)
- 3505:175(f16vec3) Load 177(f16c3)
- 3506:175(f16vec3) Load 1433(f16dPdxy3)
- 3507:175(f16vec3) Load 1433(f16dPdxy3)
- 3508:3102(ResType) ImageSparseSampleExplicitLod 3504 3505 Grad 3506 3507
- 3509: 7(f16vec4) CompositeExtract 3508 1
- Store 3468(texel) 3509
- 3510: 47(int) CompositeExtract 3508 0
- 3511: 357 Load 359(s2DRect)
- 3512: 53(fvec2) Load 148(c2)
- 3513: 53(fvec2) Load 1409(dPdxy2)
- 3514: 53(fvec2) Load 1409(dPdxy2)
- 3515:3102(ResType) ImageSparseSampleExplicitLod 3511 3512 Grad 3513 3514
- 3516: 7(f16vec4) CompositeExtract 3515 1
- Store 3468(texel) 3516
- 3517: 47(int) CompositeExtract 3515 0
- 3518: 357 Load 359(s2DRect)
- 3519:154(f16vec2) Load 156(f16c2)
- 3520:154(f16vec2) Load 1417(f16dPdxy2)
- 3521:154(f16vec2) Load 1417(f16dPdxy2)
- 3522:3102(ResType) ImageSparseSampleExplicitLod 3518 3519 Grad 3520 3521
- 3523: 7(f16vec4) CompositeExtract 3522 1
- Store 3468(texel) 3523
- 3524: 47(int) CompositeExtract 3522 0
- 3525: 371 Load 373(s2DRectShadow)
- 3526: 167(fvec3) Load 169(c3)
- 3527: 53(fvec2) Load 1409(dPdxy2)
- 3528: 53(fvec2) Load 1409(dPdxy2)
- 3529: 208(ptr) AccessChain 3468(texel) 207
- 3530: 52(float) CompositeExtract 3526 2
- 3531:3138(ResType) ImageSparseSampleDrefExplicitLod 3525 3526 3530 Grad 3527 3528
- 3532:6(float16_t) CompositeExtract 3531 1
- Store 3529 3532
+ 3512(texel): 64(ptr) Variable Function
+ Store 3512(texel) 121
+ 3513: 143 Load 145(s2D)
+ 3514: 53(fvec2) Load 148(c2)
+ 3515: 53(fvec2) Load 1409(dPdxy2)
+ 3516: 53(fvec2) Load 1409(dPdxy2)
+ 3517:3146(ResType) ImageSparseSampleExplicitLod 3513 3514 Grad 3515 3516
+ 3518: 7(f16vec4) CompositeExtract 3517 1
+ Store 3512(texel) 3518
+ 3519: 47(int) CompositeExtract 3517 0
+ 3520: 143 Load 145(s2D)
+ 3521:154(f16vec2) Load 156(f16c2)
+ 3522:154(f16vec2) Load 1417(f16dPdxy2)
+ 3523:154(f16vec2) Load 1417(f16dPdxy2)
+ 3524:3146(ResType) ImageSparseSampleExplicitLod 3520 3521 Grad 3522 3523
+ 3525: 7(f16vec4) CompositeExtract 3524 1
+ Store 3512(texel) 3525
+ 3526: 47(int) CompositeExtract 3524 0
+ 3527: 163 Load 165(s3D)
+ 3528: 167(fvec3) Load 169(c3)
+ 3529: 167(fvec3) Load 1425(dPdxy3)
+ 3530: 167(fvec3) Load 1425(dPdxy3)
+ 3531:3146(ResType) ImageSparseSampleExplicitLod 3527 3528 Grad 3529 3530
+ 3532: 7(f16vec4) CompositeExtract 3531 1
+ Store 3512(texel) 3532
3533: 47(int) CompositeExtract 3531 0
- 3534: 371 Load 373(s2DRectShadow)
- 3535:154(f16vec2) Load 156(f16c2)
- 3536: 52(float) Load 215(compare)
- 3537:154(f16vec2) Load 1417(f16dPdxy2)
- 3538:154(f16vec2) Load 1417(f16dPdxy2)
- 3539: 208(ptr) AccessChain 3468(texel) 207
- 3540:3138(ResType) ImageSparseSampleDrefExplicitLod 3534 3535 3536 Grad 3537 3538
- 3541:6(float16_t) CompositeExtract 3540 1
- Store 3539 3541
- 3542: 47(int) CompositeExtract 3540 0
- 3543: 224 Load 226(s2DShadow)
- 3544: 167(fvec3) Load 169(c3)
- 3545: 53(fvec2) Load 1409(dPdxy2)
- 3546: 53(fvec2) Load 1409(dPdxy2)
- 3547: 208(ptr) AccessChain 3468(texel) 207
- 3548: 52(float) CompositeExtract 3544 2
- 3549:3138(ResType) ImageSparseSampleDrefExplicitLod 3543 3544 3548 Grad 3545 3546
- 3550:6(float16_t) CompositeExtract 3549 1
- Store 3547 3550
- 3551: 47(int) CompositeExtract 3549 0
- 3552: 224 Load 226(s2DShadow)
- 3553:154(f16vec2) Load 156(f16c2)
- 3554: 52(float) Load 215(compare)
- 3555:154(f16vec2) Load 1417(f16dPdxy2)
- 3556:154(f16vec2) Load 1417(f16dPdxy2)
- 3557: 208(ptr) AccessChain 3468(texel) 207
- 3558:3138(ResType) ImageSparseSampleDrefExplicitLod 3552 3553 3554 Grad 3555 3556
- 3559:6(float16_t) CompositeExtract 3558 1
- Store 3557 3559
- 3560: 47(int) CompositeExtract 3558 0
- 3561: 245 Load 247(sCubeShadow)
- 3562: 249(fvec4) Load 251(c4)
- 3563: 167(fvec3) Load 1425(dPdxy3)
- 3564: 167(fvec3) Load 1425(dPdxy3)
- 3565: 208(ptr) AccessChain 3468(texel) 207
- 3566: 52(float) CompositeExtract 3562 3
- 3567:3138(ResType) ImageSparseSampleDrefExplicitLod 3561 3562 3566 Grad 3563 3564
- 3568:6(float16_t) CompositeExtract 3567 1
- Store 3565 3568
- 3569: 47(int) CompositeExtract 3567 0
- 3570: 245 Load 247(sCubeShadow)
- 3571:175(f16vec3) Load 177(f16c3)
- 3572: 52(float) Load 215(compare)
- 3573:175(f16vec3) Load 1433(f16dPdxy3)
- 3574:175(f16vec3) Load 1433(f16dPdxy3)
- 3575: 208(ptr) AccessChain 3468(texel) 207
- 3576:3138(ResType) ImageSparseSampleDrefExplicitLod 3570 3571 3572 Grad 3573 3574
- 3577:6(float16_t) CompositeExtract 3576 1
- Store 3575 3577
- 3578: 47(int) CompositeExtract 3576 0
- 3579: 284 Load 286(s2DArray)
- 3580: 167(fvec3) Load 169(c3)
- 3581: 53(fvec2) Load 1409(dPdxy2)
- 3582: 53(fvec2) Load 1409(dPdxy2)
- 3583:3102(ResType) ImageSparseSampleExplicitLod 3579 3580 Grad 3581 3582
- 3584: 7(f16vec4) CompositeExtract 3583 1
- Store 3468(texel) 3584
- 3585: 47(int) CompositeExtract 3583 0
- 3586: 284 Load 286(s2DArray)
- 3587:175(f16vec3) Load 177(f16c3)
- 3588:154(f16vec2) Load 1417(f16dPdxy2)
- 3589:154(f16vec2) Load 1417(f16dPdxy2)
- 3590:3102(ResType) ImageSparseSampleExplicitLod 3586 3587 Grad 3588 3589
- 3591: 7(f16vec4) CompositeExtract 3590 1
- Store 3468(texel) 3591
- 3592: 47(int) CompositeExtract 3590 0
- 3593: 337 Load 339(s2DArrayShadow)
- 3594: 249(fvec4) Load 251(c4)
- 3595: 53(fvec2) Load 1409(dPdxy2)
- 3596: 53(fvec2) Load 1409(dPdxy2)
- 3597: 208(ptr) AccessChain 3468(texel) 207
- 3598: 52(float) CompositeExtract 3594 3
- 3599:3138(ResType) ImageSparseSampleDrefExplicitLod 3593 3594 3598 Grad 3595 3596
- 3600:6(float16_t) CompositeExtract 3599 1
- Store 3597 3600
- 3601: 47(int) CompositeExtract 3599 0
- 3602: 337 Load 339(s2DArrayShadow)
- 3603:175(f16vec3) Load 177(f16c3)
- 3604: 52(float) Load 215(compare)
- 3605:154(f16vec2) Load 1417(f16dPdxy2)
- 3606:154(f16vec2) Load 1417(f16dPdxy2)
- 3607: 208(ptr) AccessChain 3468(texel) 207
- 3608:3138(ResType) ImageSparseSampleDrefExplicitLod 3602 3603 3604 Grad 3605 3606
- 3609:6(float16_t) CompositeExtract 3608 1
- Store 3607 3609
- 3610: 47(int) CompositeExtract 3608 0
- 3611: 299 Load 301(sCubeArray)
- 3612: 249(fvec4) Load 251(c4)
- 3613: 167(fvec3) Load 1425(dPdxy3)
- 3614: 167(fvec3) Load 1425(dPdxy3)
- 3615:3102(ResType) ImageSparseSampleExplicitLod 3611 3612 Grad 3613 3614
- 3616: 7(f16vec4) CompositeExtract 3615 1
- Store 3468(texel) 3616
- 3617: 47(int) CompositeExtract 3615 0
- 3618: 299 Load 301(sCubeArray)
- 3619: 7(f16vec4) Load 309(f16c4)
- 3620:175(f16vec3) Load 1433(f16dPdxy3)
- 3621:175(f16vec3) Load 1433(f16dPdxy3)
- 3622:3102(ResType) ImageSparseSampleExplicitLod 3618 3619 Grad 3620 3621
- 3623: 7(f16vec4) CompositeExtract 3622 1
- Store 3468(texel) 3623
- 3624: 47(int) CompositeExtract 3622 0
- 3625: 7(f16vec4) Load 3468(texel)
- ReturnValue 3625
+ 3534: 163 Load 165(s3D)
+ 3535:175(f16vec3) Load 177(f16c3)
+ 3536:175(f16vec3) Load 1433(f16dPdxy3)
+ 3537:175(f16vec3) Load 1433(f16dPdxy3)
+ 3538:3146(ResType) ImageSparseSampleExplicitLod 3534 3535 Grad 3536 3537
+ 3539: 7(f16vec4) CompositeExtract 3538 1
+ Store 3512(texel) 3539
+ 3540: 47(int) CompositeExtract 3538 0
+ 3541: 184 Load 186(sCube)
+ 3542: 167(fvec3) Load 169(c3)
+ 3543: 167(fvec3) Load 1425(dPdxy3)
+ 3544: 167(fvec3) Load 1425(dPdxy3)
+ 3545:3146(ResType) ImageSparseSampleExplicitLod 3541 3542 Grad 3543 3544
+ 3546: 7(f16vec4) CompositeExtract 3545 1
+ Store 3512(texel) 3546
+ 3547: 47(int) CompositeExtract 3545 0
+ 3548: 184 Load 186(sCube)
+ 3549:175(f16vec3) Load 177(f16c3)
+ 3550:175(f16vec3) Load 1433(f16dPdxy3)
+ 3551:175(f16vec3) Load 1433(f16dPdxy3)
+ 3552:3146(ResType) ImageSparseSampleExplicitLod 3548 3549 Grad 3550 3551
+ 3553: 7(f16vec4) CompositeExtract 3552 1
+ Store 3512(texel) 3553
+ 3554: 47(int) CompositeExtract 3552 0
+ 3555: 357 Load 359(s2DRect)
+ 3556: 53(fvec2) Load 148(c2)
+ 3557: 53(fvec2) Load 1409(dPdxy2)
+ 3558: 53(fvec2) Load 1409(dPdxy2)
+ 3559:3146(ResType) ImageSparseSampleExplicitLod 3555 3556 Grad 3557 3558
+ 3560: 7(f16vec4) CompositeExtract 3559 1
+ Store 3512(texel) 3560
+ 3561: 47(int) CompositeExtract 3559 0
+ 3562: 357 Load 359(s2DRect)
+ 3563:154(f16vec2) Load 156(f16c2)
+ 3564:154(f16vec2) Load 1417(f16dPdxy2)
+ 3565:154(f16vec2) Load 1417(f16dPdxy2)
+ 3566:3146(ResType) ImageSparseSampleExplicitLod 3562 3563 Grad 3564 3565
+ 3567: 7(f16vec4) CompositeExtract 3566 1
+ Store 3512(texel) 3567
+ 3568: 47(int) CompositeExtract 3566 0
+ 3569: 371 Load 373(s2DRectShadow)
+ 3570: 167(fvec3) Load 169(c3)
+ 3571: 53(fvec2) Load 1409(dPdxy2)
+ 3572: 53(fvec2) Load 1409(dPdxy2)
+ 3573: 208(ptr) AccessChain 3512(texel) 207
+ 3574: 52(float) CompositeExtract 3570 2
+ 3575:3182(ResType) ImageSparseSampleDrefExplicitLod 3569 3570 3574 Grad 3571 3572
+ 3576:6(float16_t) CompositeExtract 3575 1
+ Store 3573 3576
+ 3577: 47(int) CompositeExtract 3575 0
+ 3578: 371 Load 373(s2DRectShadow)
+ 3579:154(f16vec2) Load 156(f16c2)
+ 3580: 52(float) Load 215(compare)
+ 3581:154(f16vec2) Load 1417(f16dPdxy2)
+ 3582:154(f16vec2) Load 1417(f16dPdxy2)
+ 3583: 208(ptr) AccessChain 3512(texel) 207
+ 3584:3182(ResType) ImageSparseSampleDrefExplicitLod 3578 3579 3580 Grad 3581 3582
+ 3585:6(float16_t) CompositeExtract 3584 1
+ Store 3583 3585
+ 3586: 47(int) CompositeExtract 3584 0
+ 3587: 224 Load 226(s2DShadow)
+ 3588: 167(fvec3) Load 169(c3)
+ 3589: 53(fvec2) Load 1409(dPdxy2)
+ 3590: 53(fvec2) Load 1409(dPdxy2)
+ 3591: 208(ptr) AccessChain 3512(texel) 207
+ 3592: 52(float) CompositeExtract 3588 2
+ 3593:3182(ResType) ImageSparseSampleDrefExplicitLod 3587 3588 3592 Grad 3589 3590
+ 3594:6(float16_t) CompositeExtract 3593 1
+ Store 3591 3594
+ 3595: 47(int) CompositeExtract 3593 0
+ 3596: 224 Load 226(s2DShadow)
+ 3597:154(f16vec2) Load 156(f16c2)
+ 3598: 52(float) Load 215(compare)
+ 3599:154(f16vec2) Load 1417(f16dPdxy2)
+ 3600:154(f16vec2) Load 1417(f16dPdxy2)
+ 3601: 208(ptr) AccessChain 3512(texel) 207
+ 3602:3182(ResType) ImageSparseSampleDrefExplicitLod 3596 3597 3598 Grad 3599 3600
+ 3603:6(float16_t) CompositeExtract 3602 1
+ Store 3601 3603
+ 3604: 47(int) CompositeExtract 3602 0
+ 3605: 245 Load 247(sCubeShadow)
+ 3606: 249(fvec4) Load 251(c4)
+ 3607: 167(fvec3) Load 1425(dPdxy3)
+ 3608: 167(fvec3) Load 1425(dPdxy3)
+ 3609: 208(ptr) AccessChain 3512(texel) 207
+ 3610: 52(float) CompositeExtract 3606 3
+ 3611:3182(ResType) ImageSparseSampleDrefExplicitLod 3605 3606 3610 Grad 3607 3608
+ 3612:6(float16_t) CompositeExtract 3611 1
+ Store 3609 3612
+ 3613: 47(int) CompositeExtract 3611 0
+ 3614: 245 Load 247(sCubeShadow)
+ 3615:175(f16vec3) Load 177(f16c3)
+ 3616: 52(float) Load 215(compare)
+ 3617:175(f16vec3) Load 1433(f16dPdxy3)
+ 3618:175(f16vec3) Load 1433(f16dPdxy3)
+ 3619: 208(ptr) AccessChain 3512(texel) 207
+ 3620:3182(ResType) ImageSparseSampleDrefExplicitLod 3614 3615 3616 Grad 3617 3618
+ 3621:6(float16_t) CompositeExtract 3620 1
+ Store 3619 3621
+ 3622: 47(int) CompositeExtract 3620 0
+ 3623: 284 Load 286(s2DArray)
+ 3624: 167(fvec3) Load 169(c3)
+ 3625: 53(fvec2) Load 1409(dPdxy2)
+ 3626: 53(fvec2) Load 1409(dPdxy2)
+ 3627:3146(ResType) ImageSparseSampleExplicitLod 3623 3624 Grad 3625 3626
+ 3628: 7(f16vec4) CompositeExtract 3627 1
+ Store 3512(texel) 3628
+ 3629: 47(int) CompositeExtract 3627 0
+ 3630: 284 Load 286(s2DArray)
+ 3631:175(f16vec3) Load 177(f16c3)
+ 3632:154(f16vec2) Load 1417(f16dPdxy2)
+ 3633:154(f16vec2) Load 1417(f16dPdxy2)
+ 3634:3146(ResType) ImageSparseSampleExplicitLod 3630 3631 Grad 3632 3633
+ 3635: 7(f16vec4) CompositeExtract 3634 1
+ Store 3512(texel) 3635
+ 3636: 47(int) CompositeExtract 3634 0
+ 3637: 337 Load 339(s2DArrayShadow)
+ 3638: 249(fvec4) Load 251(c4)
+ 3639: 53(fvec2) Load 1409(dPdxy2)
+ 3640: 53(fvec2) Load 1409(dPdxy2)
+ 3641: 208(ptr) AccessChain 3512(texel) 207
+ 3642: 52(float) CompositeExtract 3638 3
+ 3643:3182(ResType) ImageSparseSampleDrefExplicitLod 3637 3638 3642 Grad 3639 3640
+ 3644:6(float16_t) CompositeExtract 3643 1
+ Store 3641 3644
+ 3645: 47(int) CompositeExtract 3643 0
+ 3646: 337 Load 339(s2DArrayShadow)
+ 3647:175(f16vec3) Load 177(f16c3)
+ 3648: 52(float) Load 215(compare)
+ 3649:154(f16vec2) Load 1417(f16dPdxy2)
+ 3650:154(f16vec2) Load 1417(f16dPdxy2)
+ 3651: 208(ptr) AccessChain 3512(texel) 207
+ 3652:3182(ResType) ImageSparseSampleDrefExplicitLod 3646 3647 3648 Grad 3649 3650
+ 3653:6(float16_t) CompositeExtract 3652 1
+ Store 3651 3653
+ 3654: 47(int) CompositeExtract 3652 0
+ 3655: 299 Load 301(sCubeArray)
+ 3656: 249(fvec4) Load 251(c4)
+ 3657: 167(fvec3) Load 1425(dPdxy3)
+ 3658: 167(fvec3) Load 1425(dPdxy3)
+ 3659:3146(ResType) ImageSparseSampleExplicitLod 3655 3656 Grad 3657 3658
+ 3660: 7(f16vec4) CompositeExtract 3659 1
+ Store 3512(texel) 3660
+ 3661: 47(int) CompositeExtract 3659 0
+ 3662: 299 Load 301(sCubeArray)
+ 3663: 7(f16vec4) Load 309(f16c4)
+ 3664:175(f16vec3) Load 1433(f16dPdxy3)
+ 3665:175(f16vec3) Load 1433(f16dPdxy3)
+ 3666:3146(ResType) ImageSparseSampleExplicitLod 3662 3663 Grad 3664 3665
+ 3667: 7(f16vec4) CompositeExtract 3666 1
+ Store 3512(texel) 3667
+ 3668: 47(int) CompositeExtract 3666 0
+ 3669: 7(f16vec4) Load 3512(texel)
+ ReturnValue 3669
FunctionEnd
79(testSparseTextureGradOffset(): 7(f16vec4) Function None 8
80: Label
- 3628(texel): 64(ptr) Variable Function
- Store 3628(texel) 121
- 3629: 143 Load 145(s2D)
- 3630: 53(fvec2) Load 148(c2)
- 3631: 53(fvec2) Load 1409(dPdxy2)
- 3632: 53(fvec2) Load 1409(dPdxy2)
- 3633:3102(ResType) ImageSparseSampleExplicitLod 3629 3630 Grad ConstOffset 3631 3632 722
- 3634: 7(f16vec4) CompositeExtract 3633 1
- Store 3628(texel) 3634
- 3635: 47(int) CompositeExtract 3633 0
- 3636: 143 Load 145(s2D)
- 3637:154(f16vec2) Load 156(f16c2)
- 3638:154(f16vec2) Load 1417(f16dPdxy2)
- 3639:154(f16vec2) Load 1417(f16dPdxy2)
- 3640:3102(ResType) ImageSparseSampleExplicitLod 3636 3637 Grad ConstOffset 3638 3639 722
- 3641: 7(f16vec4) CompositeExtract 3640 1
- Store 3628(texel) 3641
- 3642: 47(int) CompositeExtract 3640 0
- 3643: 163 Load 165(s3D)
- 3644: 167(fvec3) Load 169(c3)
- 3645: 167(fvec3) Load 1425(dPdxy3)
- 3646: 167(fvec3) Load 1425(dPdxy3)
- 3647:3102(ResType) ImageSparseSampleExplicitLod 3643 3644 Grad ConstOffset 3645 3646 735
- 3648: 7(f16vec4) CompositeExtract 3647 1
- Store 3628(texel) 3648
- 3649: 47(int) CompositeExtract 3647 0
- 3650: 163 Load 165(s3D)
- 3651:175(f16vec3) Load 177(f16c3)
- 3652:175(f16vec3) Load 1433(f16dPdxy3)
- 3653:175(f16vec3) Load 1433(f16dPdxy3)
- 3654:3102(ResType) ImageSparseSampleExplicitLod 3650 3651 Grad ConstOffset 3652 3653 735
- 3655: 7(f16vec4) CompositeExtract 3654 1
- Store 3628(texel) 3655
- 3656: 47(int) CompositeExtract 3654 0
- 3657: 357 Load 359(s2DRect)
- 3658: 53(fvec2) Load 148(c2)
- 3659: 53(fvec2) Load 1409(dPdxy2)
- 3660: 53(fvec2) Load 1409(dPdxy2)
- 3661:3102(ResType) ImageSparseSampleExplicitLod 3657 3658 Grad ConstOffset 3659 3660 722
- 3662: 7(f16vec4) CompositeExtract 3661 1
- Store 3628(texel) 3662
- 3663: 47(int) CompositeExtract 3661 0
- 3664: 357 Load 359(s2DRect)
- 3665:154(f16vec2) Load 156(f16c2)
- 3666:154(f16vec2) Load 1417(f16dPdxy2)
- 3667:154(f16vec2) Load 1417(f16dPdxy2)
- 3668:3102(ResType) ImageSparseSampleExplicitLod 3664 3665 Grad ConstOffset 3666 3667 722
- 3669: 7(f16vec4) CompositeExtract 3668 1
- Store 3628(texel) 3669
- 3670: 47(int) CompositeExtract 3668 0
- 3671: 371 Load 373(s2DRectShadow)
- 3672: 167(fvec3) Load 169(c3)
- 3673: 53(fvec2) Load 1409(dPdxy2)
- 3674: 53(fvec2) Load 1409(dPdxy2)
- 3675: 208(ptr) AccessChain 3628(texel) 207
- 3676: 52(float) CompositeExtract 3672 2
- 3677:3138(ResType) ImageSparseSampleDrefExplicitLod 3671 3672 3676 Grad ConstOffset 3673 3674 722
- 3678:6(float16_t) CompositeExtract 3677 1
- Store 3675 3678
+ 3672(texel): 64(ptr) Variable Function
+ Store 3672(texel) 121
+ 3673: 143 Load 145(s2D)
+ 3674: 53(fvec2) Load 148(c2)
+ 3675: 53(fvec2) Load 1409(dPdxy2)
+ 3676: 53(fvec2) Load 1409(dPdxy2)
+ 3677:3146(ResType) ImageSparseSampleExplicitLod 3673 3674 Grad ConstOffset 3675 3676 722
+ 3678: 7(f16vec4) CompositeExtract 3677 1
+ Store 3672(texel) 3678
3679: 47(int) CompositeExtract 3677 0
- 3680: 371 Load 373(s2DRectShadow)
+ 3680: 143 Load 145(s2D)
3681:154(f16vec2) Load 156(f16c2)
- 3682: 52(float) Load 215(compare)
+ 3682:154(f16vec2) Load 1417(f16dPdxy2)
3683:154(f16vec2) Load 1417(f16dPdxy2)
- 3684:154(f16vec2) Load 1417(f16dPdxy2)
- 3685: 208(ptr) AccessChain 3628(texel) 207
- 3686:3138(ResType) ImageSparseSampleDrefExplicitLod 3680 3681 3682 Grad ConstOffset 3683 3684 722
- 3687:6(float16_t) CompositeExtract 3686 1
- Store 3685 3687
- 3688: 47(int) CompositeExtract 3686 0
- 3689: 224 Load 226(s2DShadow)
- 3690: 167(fvec3) Load 169(c3)
- 3691: 53(fvec2) Load 1409(dPdxy2)
- 3692: 53(fvec2) Load 1409(dPdxy2)
- 3693: 208(ptr) AccessChain 3628(texel) 207
- 3694: 52(float) CompositeExtract 3690 2
- 3695:3138(ResType) ImageSparseSampleDrefExplicitLod 3689 3690 3694 Grad ConstOffset 3691 3692 722
- 3696:6(float16_t) CompositeExtract 3695 1
- Store 3693 3696
- 3697: 47(int) CompositeExtract 3695 0
- 3698: 224 Load 226(s2DShadow)
- 3699:154(f16vec2) Load 156(f16c2)
- 3700: 52(float) Load 215(compare)
- 3701:154(f16vec2) Load 1417(f16dPdxy2)
- 3702:154(f16vec2) Load 1417(f16dPdxy2)
- 3703: 208(ptr) AccessChain 3628(texel) 207
- 3704:3138(ResType) ImageSparseSampleDrefExplicitLod 3698 3699 3700 Grad ConstOffset 3701 3702 722
- 3705:6(float16_t) CompositeExtract 3704 1
- Store 3703 3705
- 3706: 47(int) CompositeExtract 3704 0
- 3707: 284 Load 286(s2DArray)
- 3708: 167(fvec3) Load 169(c3)
- 3709: 53(fvec2) Load 1409(dPdxy2)
- 3710: 53(fvec2) Load 1409(dPdxy2)
- 3711:3102(ResType) ImageSparseSampleExplicitLod 3707 3708 Grad ConstOffset 3709 3710 722
- 3712: 7(f16vec4) CompositeExtract 3711 1
- Store 3628(texel) 3712
- 3713: 47(int) CompositeExtract 3711 0
- 3714: 284 Load 286(s2DArray)
- 3715:175(f16vec3) Load 177(f16c3)
- 3716:154(f16vec2) Load 1417(f16dPdxy2)
- 3717:154(f16vec2) Load 1417(f16dPdxy2)
- 3718:3102(ResType) ImageSparseSampleExplicitLod 3714 3715 Grad ConstOffset 3716 3717 722
- 3719: 7(f16vec4) CompositeExtract 3718 1
- Store 3628(texel) 3719
- 3720: 47(int) CompositeExtract 3718 0
- 3721: 337 Load 339(s2DArrayShadow)
- 3722: 249(fvec4) Load 251(c4)
- 3723: 53(fvec2) Load 1409(dPdxy2)
- 3724: 53(fvec2) Load 1409(dPdxy2)
- 3725: 208(ptr) AccessChain 3628(texel) 207
- 3726: 52(float) CompositeExtract 3722 3
- 3727:3138(ResType) ImageSparseSampleDrefExplicitLod 3721 3722 3726 Grad ConstOffset 3723 3724 722
- 3728:6(float16_t) CompositeExtract 3727 1
- Store 3725 3728
- 3729: 47(int) CompositeExtract 3727 0
- 3730: 337 Load 339(s2DArrayShadow)
- 3731:175(f16vec3) Load 177(f16c3)
- 3732: 52(float) Load 215(compare)
- 3733:154(f16vec2) Load 1417(f16dPdxy2)
- 3734:154(f16vec2) Load 1417(f16dPdxy2)
- 3735: 208(ptr) AccessChain 3628(texel) 207
- 3736:3138(ResType) ImageSparseSampleDrefExplicitLod 3730 3731 3732 Grad ConstOffset 3733 3734 722
- 3737:6(float16_t) CompositeExtract 3736 1
- Store 3735 3737
- 3738: 47(int) CompositeExtract 3736 0
- 3739: 7(f16vec4) Load 3628(texel)
- ReturnValue 3739
+ 3684:3146(ResType) ImageSparseSampleExplicitLod 3680 3681 Grad ConstOffset 3682 3683 722
+ 3685: 7(f16vec4) CompositeExtract 3684 1
+ Store 3672(texel) 3685
+ 3686: 47(int) CompositeExtract 3684 0
+ 3687: 163 Load 165(s3D)
+ 3688: 167(fvec3) Load 169(c3)
+ 3689: 167(fvec3) Load 1425(dPdxy3)
+ 3690: 167(fvec3) Load 1425(dPdxy3)
+ 3691:3146(ResType) ImageSparseSampleExplicitLod 3687 3688 Grad ConstOffset 3689 3690 735
+ 3692: 7(f16vec4) CompositeExtract 3691 1
+ Store 3672(texel) 3692
+ 3693: 47(int) CompositeExtract 3691 0
+ 3694: 163 Load 165(s3D)
+ 3695:175(f16vec3) Load 177(f16c3)
+ 3696:175(f16vec3) Load 1433(f16dPdxy3)
+ 3697:175(f16vec3) Load 1433(f16dPdxy3)
+ 3698:3146(ResType) ImageSparseSampleExplicitLod 3694 3695 Grad ConstOffset 3696 3697 735
+ 3699: 7(f16vec4) CompositeExtract 3698 1
+ Store 3672(texel) 3699
+ 3700: 47(int) CompositeExtract 3698 0
+ 3701: 357 Load 359(s2DRect)
+ 3702: 53(fvec2) Load 148(c2)
+ 3703: 53(fvec2) Load 1409(dPdxy2)
+ 3704: 53(fvec2) Load 1409(dPdxy2)
+ 3705:3146(ResType) ImageSparseSampleExplicitLod 3701 3702 Grad ConstOffset 3703 3704 722
+ 3706: 7(f16vec4) CompositeExtract 3705 1
+ Store 3672(texel) 3706
+ 3707: 47(int) CompositeExtract 3705 0
+ 3708: 357 Load 359(s2DRect)
+ 3709:154(f16vec2) Load 156(f16c2)
+ 3710:154(f16vec2) Load 1417(f16dPdxy2)
+ 3711:154(f16vec2) Load 1417(f16dPdxy2)
+ 3712:3146(ResType) ImageSparseSampleExplicitLod 3708 3709 Grad ConstOffset 3710 3711 722
+ 3713: 7(f16vec4) CompositeExtract 3712 1
+ Store 3672(texel) 3713
+ 3714: 47(int) CompositeExtract 3712 0
+ 3715: 371 Load 373(s2DRectShadow)
+ 3716: 167(fvec3) Load 169(c3)
+ 3717: 53(fvec2) Load 1409(dPdxy2)
+ 3718: 53(fvec2) Load 1409(dPdxy2)
+ 3719: 208(ptr) AccessChain 3672(texel) 207
+ 3720: 52(float) CompositeExtract 3716 2
+ 3721:3182(ResType) ImageSparseSampleDrefExplicitLod 3715 3716 3720 Grad ConstOffset 3717 3718 722
+ 3722:6(float16_t) CompositeExtract 3721 1
+ Store 3719 3722
+ 3723: 47(int) CompositeExtract 3721 0
+ 3724: 371 Load 373(s2DRectShadow)
+ 3725:154(f16vec2) Load 156(f16c2)
+ 3726: 52(float) Load 215(compare)
+ 3727:154(f16vec2) Load 1417(f16dPdxy2)
+ 3728:154(f16vec2) Load 1417(f16dPdxy2)
+ 3729: 208(ptr) AccessChain 3672(texel) 207
+ 3730:3182(ResType) ImageSparseSampleDrefExplicitLod 3724 3725 3726 Grad ConstOffset 3727 3728 722
+ 3731:6(float16_t) CompositeExtract 3730 1
+ Store 3729 3731
+ 3732: 47(int) CompositeExtract 3730 0
+ 3733: 224 Load 226(s2DShadow)
+ 3734: 167(fvec3) Load 169(c3)
+ 3735: 53(fvec2) Load 1409(dPdxy2)
+ 3736: 53(fvec2) Load 1409(dPdxy2)
+ 3737: 208(ptr) AccessChain 3672(texel) 207
+ 3738: 52(float) CompositeExtract 3734 2
+ 3739:3182(ResType) ImageSparseSampleDrefExplicitLod 3733 3734 3738 Grad ConstOffset 3735 3736 722
+ 3740:6(float16_t) CompositeExtract 3739 1
+ Store 3737 3740
+ 3741: 47(int) CompositeExtract 3739 0
+ 3742: 224 Load 226(s2DShadow)
+ 3743:154(f16vec2) Load 156(f16c2)
+ 3744: 52(float) Load 215(compare)
+ 3745:154(f16vec2) Load 1417(f16dPdxy2)
+ 3746:154(f16vec2) Load 1417(f16dPdxy2)
+ 3747: 208(ptr) AccessChain 3672(texel) 207
+ 3748:3182(ResType) ImageSparseSampleDrefExplicitLod 3742 3743 3744 Grad ConstOffset 3745 3746 722
+ 3749:6(float16_t) CompositeExtract 3748 1
+ Store 3747 3749
+ 3750: 47(int) CompositeExtract 3748 0
+ 3751: 284 Load 286(s2DArray)
+ 3752: 167(fvec3) Load 169(c3)
+ 3753: 53(fvec2) Load 1409(dPdxy2)
+ 3754: 53(fvec2) Load 1409(dPdxy2)
+ 3755:3146(ResType) ImageSparseSampleExplicitLod 3751 3752 Grad ConstOffset 3753 3754 722
+ 3756: 7(f16vec4) CompositeExtract 3755 1
+ Store 3672(texel) 3756
+ 3757: 47(int) CompositeExtract 3755 0
+ 3758: 284 Load 286(s2DArray)
+ 3759:175(f16vec3) Load 177(f16c3)
+ 3760:154(f16vec2) Load 1417(f16dPdxy2)
+ 3761:154(f16vec2) Load 1417(f16dPdxy2)
+ 3762:3146(ResType) ImageSparseSampleExplicitLod 3758 3759 Grad ConstOffset 3760 3761 722
+ 3763: 7(f16vec4) CompositeExtract 3762 1
+ Store 3672(texel) 3763
+ 3764: 47(int) CompositeExtract 3762 0
+ 3765: 337 Load 339(s2DArrayShadow)
+ 3766: 249(fvec4) Load 251(c4)
+ 3767: 53(fvec2) Load 1409(dPdxy2)
+ 3768: 53(fvec2) Load 1409(dPdxy2)
+ 3769: 208(ptr) AccessChain 3672(texel) 207
+ 3770: 52(float) CompositeExtract 3766 3
+ 3771:3182(ResType) ImageSparseSampleDrefExplicitLod 3765 3766 3770 Grad ConstOffset 3767 3768 722
+ 3772:6(float16_t) CompositeExtract 3771 1
+ Store 3769 3772
+ 3773: 47(int) CompositeExtract 3771 0
+ 3774: 337 Load 339(s2DArrayShadow)
+ 3775:175(f16vec3) Load 177(f16c3)
+ 3776: 52(float) Load 215(compare)
+ 3777:154(f16vec2) Load 1417(f16dPdxy2)
+ 3778:154(f16vec2) Load 1417(f16dPdxy2)
+ 3779: 208(ptr) AccessChain 3672(texel) 207
+ 3780:3182(ResType) ImageSparseSampleDrefExplicitLod 3774 3775 3776 Grad ConstOffset 3777 3778 722
+ 3781:6(float16_t) CompositeExtract 3780 1
+ Store 3779 3781
+ 3782: 47(int) CompositeExtract 3780 0
+ 3783: 7(f16vec4) Load 3672(texel)
+ ReturnValue 3783
FunctionEnd
81(testSparseTexelFetch(): 7(f16vec4) Function None 8
82: Label
- 3742(texel): 64(ptr) Variable Function
- Store 3742(texel) 121
- 3743: 143 Load 145(s2D)
- 3744: 53(fvec2) Load 148(c2)
- 3745: 721(ivec2) ConvertFToS 3744
- 3746: 52(float) Load 565(lod)
- 3747: 47(int) ConvertFToS 3746
- 3748: 142 Image 3743
- 3749:3102(ResType) ImageSparseFetch 3748 3745 Lod 3747
- 3750: 7(f16vec4) CompositeExtract 3749 1
- Store 3742(texel) 3750
- 3751: 47(int) CompositeExtract 3749 0
- 3752: 163 Load 165(s3D)
- 3753: 167(fvec3) Load 169(c3)
- 3754: 734(ivec3) ConvertFToS 3753
- 3755: 52(float) Load 565(lod)
- 3756: 47(int) ConvertFToS 3755
- 3757: 162 Image 3752
- 3758:3102(ResType) ImageSparseFetch 3757 3754 Lod 3756
- 3759: 7(f16vec4) CompositeExtract 3758 1
- Store 3742(texel) 3759
- 3760: 47(int) CompositeExtract 3758 0
- 3761: 357 Load 359(s2DRect)
- 3762: 53(fvec2) Load 148(c2)
- 3763: 721(ivec2) ConvertFToS 3762
- 3764: 356 Image 3761
- 3765:3102(ResType) ImageSparseFetch 3764 3763
- 3766: 7(f16vec4) CompositeExtract 3765 1
- Store 3742(texel) 3766
- 3767: 47(int) CompositeExtract 3765 0
- 3768: 284 Load 286(s2DArray)
- 3769: 167(fvec3) Load 169(c3)
- 3770: 734(ivec3) ConvertFToS 3769
- 3771: 52(float) Load 565(lod)
- 3772: 47(int) ConvertFToS 3771
- 3773: 283 Image 3768
- 3774:3102(ResType) ImageSparseFetch 3773 3770 Lod 3772
- 3775: 7(f16vec4) CompositeExtract 3774 1
- Store 3742(texel) 3775
- 3776: 47(int) CompositeExtract 3774 0
- 3777: 1309 Load 1311(s2DMS)
- 3778: 53(fvec2) Load 148(c2)
- 3779: 721(ivec2) ConvertFToS 3778
- 3780: 1308 Image 3777
- 3781:3102(ResType) ImageSparseFetch 3780 3779 Sample 709
- 3782: 7(f16vec4) CompositeExtract 3781 1
- Store 3742(texel) 3782
- 3783: 47(int) CompositeExtract 3781 0
- 3784: 1320 Load 1322(s2DMSArray)
- 3785: 167(fvec3) Load 169(c3)
- 3786: 734(ivec3) ConvertFToS 3785
- 3787: 1319 Image 3784
- 3788:3102(ResType) ImageSparseFetch 3787 3786 Sample 1326
- 3789: 7(f16vec4) CompositeExtract 3788 1
- Store 3742(texel) 3789
- 3790: 47(int) CompositeExtract 3788 0
- 3791: 7(f16vec4) Load 3742(texel)
- ReturnValue 3791
+ 3786(texel): 64(ptr) Variable Function
+ Store 3786(texel) 121
+ 3787: 143 Load 145(s2D)
+ 3788: 53(fvec2) Load 148(c2)
+ 3789: 721(ivec2) ConvertFToS 3788
+ 3790: 52(float) Load 565(lod)
+ 3791: 47(int) ConvertFToS 3790
+ 3792: 142 Image 3787
+ 3793:3146(ResType) ImageSparseFetch 3792 3789 Lod 3791
+ 3794: 7(f16vec4) CompositeExtract 3793 1
+ Store 3786(texel) 3794
+ 3795: 47(int) CompositeExtract 3793 0
+ 3796: 163 Load 165(s3D)
+ 3797: 167(fvec3) Load 169(c3)
+ 3798: 734(ivec3) ConvertFToS 3797
+ 3799: 52(float) Load 565(lod)
+ 3800: 47(int) ConvertFToS 3799
+ 3801: 162 Image 3796
+ 3802:3146(ResType) ImageSparseFetch 3801 3798 Lod 3800
+ 3803: 7(f16vec4) CompositeExtract 3802 1
+ Store 3786(texel) 3803
+ 3804: 47(int) CompositeExtract 3802 0
+ 3805: 357 Load 359(s2DRect)
+ 3806: 53(fvec2) Load 148(c2)
+ 3807: 721(ivec2) ConvertFToS 3806
+ 3808: 356 Image 3805
+ 3809:3146(ResType) ImageSparseFetch 3808 3807
+ 3810: 7(f16vec4) CompositeExtract 3809 1
+ Store 3786(texel) 3810
+ 3811: 47(int) CompositeExtract 3809 0
+ 3812: 284 Load 286(s2DArray)
+ 3813: 167(fvec3) Load 169(c3)
+ 3814: 734(ivec3) ConvertFToS 3813
+ 3815: 52(float) Load 565(lod)
+ 3816: 47(int) ConvertFToS 3815
+ 3817: 283 Image 3812
+ 3818:3146(ResType) ImageSparseFetch 3817 3814 Lod 3816
+ 3819: 7(f16vec4) CompositeExtract 3818 1
+ Store 3786(texel) 3819
+ 3820: 47(int) CompositeExtract 3818 0
+ 3821: 1309 Load 1311(s2DMS)
+ 3822: 53(fvec2) Load 148(c2)
+ 3823: 721(ivec2) ConvertFToS 3822
+ 3824: 1308 Image 3821
+ 3825:3146(ResType) ImageSparseFetch 3824 3823 Sample 709
+ 3826: 7(f16vec4) CompositeExtract 3825 1
+ Store 3786(texel) 3826
+ 3827: 47(int) CompositeExtract 3825 0
+ 3828: 1320 Load 1322(s2DMSArray)
+ 3829: 167(fvec3) Load 169(c3)
+ 3830: 734(ivec3) ConvertFToS 3829
+ 3831: 1319 Image 3828
+ 3832:3146(ResType) ImageSparseFetch 3831 3830 Sample 1326
+ 3833: 7(f16vec4) CompositeExtract 3832 1
+ Store 3786(texel) 3833
+ 3834: 47(int) CompositeExtract 3832 0
+ 3835: 7(f16vec4) Load 3786(texel)
+ ReturnValue 3835
FunctionEnd
83(testSparseTexelFetchOffset(): 7(f16vec4) Function None 8
84: Label
- 3794(texel): 64(ptr) Variable Function
- Store 3794(texel) 121
- 3795: 143 Load 145(s2D)
- 3796: 53(fvec2) Load 148(c2)
- 3797: 721(ivec2) ConvertFToS 3796
- 3798: 52(float) Load 565(lod)
- 3799: 47(int) ConvertFToS 3798
- 3800: 142 Image 3795
- 3801:3102(ResType) ImageSparseFetch 3800 3797 Lod ConstOffset 3799 722
- 3802: 7(f16vec4) CompositeExtract 3801 1
- Store 3794(texel) 3802
- 3803: 47(int) CompositeExtract 3801 0
- 3804: 163 Load 165(s3D)
- 3805: 167(fvec3) Load 169(c3)
- 3806: 734(ivec3) ConvertFToS 3805
- 3807: 52(float) Load 565(lod)
- 3808: 47(int) ConvertFToS 3807
- 3809: 162 Image 3804
- 3810:3102(ResType) ImageSparseFetch 3809 3806 Lod ConstOffset 3808 735
- 3811: 7(f16vec4) CompositeExtract 3810 1
- Store 3794(texel) 3811
- 3812: 47(int) CompositeExtract 3810 0
- 3813: 357 Load 359(s2DRect)
- 3814: 53(fvec2) Load 148(c2)
- 3815: 721(ivec2) ConvertFToS 3814
- 3816: 356 Image 3813
- 3817:3102(ResType) ImageSparseFetch 3816 3815 ConstOffset 722
- 3818: 7(f16vec4) CompositeExtract 3817 1
- Store 3794(texel) 3818
- 3819: 47(int) CompositeExtract 3817 0
- 3820: 284 Load 286(s2DArray)
- 3821: 167(fvec3) Load 169(c3)
- 3822: 734(ivec3) ConvertFToS 3821
- 3823: 52(float) Load 565(lod)
- 3824: 47(int) ConvertFToS 3823
- 3825: 283 Image 3820
- 3826:3102(ResType) ImageSparseFetch 3825 3822 Lod ConstOffset 3824 722
- 3827: 7(f16vec4) CompositeExtract 3826 1
- Store 3794(texel) 3827
- 3828: 47(int) CompositeExtract 3826 0
- 3829: 7(f16vec4) Load 3794(texel)
- ReturnValue 3829
+ 3838(texel): 64(ptr) Variable Function
+ Store 3838(texel) 121
+ 3839: 143 Load 145(s2D)
+ 3840: 53(fvec2) Load 148(c2)
+ 3841: 721(ivec2) ConvertFToS 3840
+ 3842: 52(float) Load 565(lod)
+ 3843: 47(int) ConvertFToS 3842
+ 3844: 142 Image 3839
+ 3845:3146(ResType) ImageSparseFetch 3844 3841 Lod ConstOffset 3843 722
+ 3846: 7(f16vec4) CompositeExtract 3845 1
+ Store 3838(texel) 3846
+ 3847: 47(int) CompositeExtract 3845 0
+ 3848: 163 Load 165(s3D)
+ 3849: 167(fvec3) Load 169(c3)
+ 3850: 734(ivec3) ConvertFToS 3849
+ 3851: 52(float) Load 565(lod)
+ 3852: 47(int) ConvertFToS 3851
+ 3853: 162 Image 3848
+ 3854:3146(ResType) ImageSparseFetch 3853 3850 Lod ConstOffset 3852 735
+ 3855: 7(f16vec4) CompositeExtract 3854 1
+ Store 3838(texel) 3855
+ 3856: 47(int) CompositeExtract 3854 0
+ 3857: 357 Load 359(s2DRect)
+ 3858: 53(fvec2) Load 148(c2)
+ 3859: 721(ivec2) ConvertFToS 3858
+ 3860: 356 Image 3857
+ 3861:3146(ResType) ImageSparseFetch 3860 3859 ConstOffset 722
+ 3862: 7(f16vec4) CompositeExtract 3861 1
+ Store 3838(texel) 3862
+ 3863: 47(int) CompositeExtract 3861 0
+ 3864: 284 Load 286(s2DArray)
+ 3865: 167(fvec3) Load 169(c3)
+ 3866: 734(ivec3) ConvertFToS 3865
+ 3867: 52(float) Load 565(lod)
+ 3868: 47(int) ConvertFToS 3867
+ 3869: 283 Image 3864
+ 3870:3146(ResType) ImageSparseFetch 3869 3866 Lod ConstOffset 3868 722
+ 3871: 7(f16vec4) CompositeExtract 3870 1
+ Store 3838(texel) 3871
+ 3872: 47(int) CompositeExtract 3870 0
+ 3873: 7(f16vec4) Load 3838(texel)
+ ReturnValue 3873
FunctionEnd
85(testSparseTextureGather(): 7(f16vec4) Function None 8
86: Label
- 3832(texel): 64(ptr) Variable Function
- Store 3832(texel) 121
- 3833: 143 Load 145(s2D)
- 3834: 53(fvec2) Load 148(c2)
- 3835:3102(ResType) ImageSparseGather 3833 3834 2187
- 3836: 7(f16vec4) CompositeExtract 3835 1
- Store 3832(texel) 3836
- 3837: 47(int) CompositeExtract 3835 0
- 3838: 143 Load 145(s2D)
- 3839:154(f16vec2) Load 156(f16c2)
- 3840:6(float16_t) Load 137(f16bias)
- 3841:3102(ResType) ImageSparseGather 3838 3839 2187 Bias 3840
- 3842: 7(f16vec4) CompositeExtract 3841 1
- Store 3832(texel) 3842
- 3843: 47(int) CompositeExtract 3841 0
- 3844: 284 Load 286(s2DArray)
- 3845: 167(fvec3) Load 169(c3)
- 3846:3102(ResType) ImageSparseGather 3844 3845 2187
- 3847: 7(f16vec4) CompositeExtract 3846 1
- Store 3832(texel) 3847
- 3848: 47(int) CompositeExtract 3846 0
- 3849: 284 Load 286(s2DArray)
- 3850:175(f16vec3) Load 177(f16c3)
- 3851:6(float16_t) Load 137(f16bias)
- 3852:3102(ResType) ImageSparseGather 3849 3850 2187 Bias 3851
- 3853: 7(f16vec4) CompositeExtract 3852 1
- Store 3832(texel) 3853
- 3854: 47(int) CompositeExtract 3852 0
- 3855: 184 Load 186(sCube)
- 3856: 167(fvec3) Load 169(c3)
- 3857:3102(ResType) ImageSparseGather 3855 3856 2187
- 3858: 7(f16vec4) CompositeExtract 3857 1
- Store 3832(texel) 3858
- 3859: 47(int) CompositeExtract 3857 0
- 3860: 184 Load 186(sCube)
- 3861:175(f16vec3) Load 177(f16c3)
- 3862:6(float16_t) Load 137(f16bias)
- 3863:3102(ResType) ImageSparseGather 3860 3861 2187 Bias 3862
- 3864: 7(f16vec4) CompositeExtract 3863 1
- Store 3832(texel) 3864
- 3865: 47(int) CompositeExtract 3863 0
- 3866: 299 Load 301(sCubeArray)
- 3867: 249(fvec4) Load 251(c4)
- 3868:3102(ResType) ImageSparseGather 3866 3867 2187
- 3869: 7(f16vec4) CompositeExtract 3868 1
- Store 3832(texel) 3869
- 3870: 47(int) CompositeExtract 3868 0
- 3871: 299 Load 301(sCubeArray)
- 3872: 7(f16vec4) Load 309(f16c4)
- 3873:6(float16_t) Load 137(f16bias)
- 3874:3102(ResType) ImageSparseGather 3871 3872 2187 Bias 3873
- 3875: 7(f16vec4) CompositeExtract 3874 1
- Store 3832(texel) 3875
- 3876: 47(int) CompositeExtract 3874 0
- 3877: 357 Load 359(s2DRect)
+ 3876(texel): 64(ptr) Variable Function
+ Store 3876(texel) 121
+ 3877: 143 Load 145(s2D)
3878: 53(fvec2) Load 148(c2)
- 3879:3102(ResType) ImageSparseGather 3877 3878 2187
+ 3879:3146(ResType) ImageSparseGather 3877 3878 2187
3880: 7(f16vec4) CompositeExtract 3879 1
- Store 3832(texel) 3880
+ Store 3876(texel) 3880
3881: 47(int) CompositeExtract 3879 0
- 3882: 357 Load 359(s2DRect)
+ 3882: 143 Load 145(s2D)
3883:154(f16vec2) Load 156(f16c2)
- 3884:3102(ResType) ImageSparseGather 3882 3883 2187
- 3885: 7(f16vec4) CompositeExtract 3884 1
- Store 3832(texel) 3885
- 3886: 47(int) CompositeExtract 3884 0
- 3887: 224 Load 226(s2DShadow)
- 3888: 53(fvec2) Load 148(c2)
- 3889: 52(float) Load 215(compare)
- 3890:3102(ResType) ImageSparseDrefGather 3887 3888 3889
+ 3884:6(float16_t) Load 137(f16bias)
+ 3885:3146(ResType) ImageSparseGather 3882 3883 2187 Bias 3884
+ 3886: 7(f16vec4) CompositeExtract 3885 1
+ Store 3876(texel) 3886
+ 3887: 47(int) CompositeExtract 3885 0
+ 3888: 284 Load 286(s2DArray)
+ 3889: 167(fvec3) Load 169(c3)
+ 3890:3146(ResType) ImageSparseGather 3888 3889 2187
3891: 7(f16vec4) CompositeExtract 3890 1
- Store 3832(texel) 3891
+ Store 3876(texel) 3891
3892: 47(int) CompositeExtract 3890 0
- 3893: 224 Load 226(s2DShadow)
- 3894:154(f16vec2) Load 156(f16c2)
- 3895: 52(float) Load 215(compare)
- 3896:3102(ResType) ImageSparseDrefGather 3893 3894 3895
+ 3893: 284 Load 286(s2DArray)
+ 3894:175(f16vec3) Load 177(f16c3)
+ 3895:6(float16_t) Load 137(f16bias)
+ 3896:3146(ResType) ImageSparseGather 3893 3894 2187 Bias 3895
3897: 7(f16vec4) CompositeExtract 3896 1
- Store 3832(texel) 3897
+ Store 3876(texel) 3897
3898: 47(int) CompositeExtract 3896 0
- 3899: 337 Load 339(s2DArrayShadow)
+ 3899: 184 Load 186(sCube)
3900: 167(fvec3) Load 169(c3)
- 3901: 52(float) Load 215(compare)
- 3902:3102(ResType) ImageSparseDrefGather 3899 3900 3901
- 3903: 7(f16vec4) CompositeExtract 3902 1
- Store 3832(texel) 3903
- 3904: 47(int) CompositeExtract 3902 0
- 3905: 337 Load 339(s2DArrayShadow)
- 3906:175(f16vec3) Load 177(f16c3)
- 3907: 52(float) Load 215(compare)
- 3908:3102(ResType) ImageSparseDrefGather 3905 3906 3907
- 3909: 7(f16vec4) CompositeExtract 3908 1
- Store 3832(texel) 3909
- 3910: 47(int) CompositeExtract 3908 0
- 3911: 245 Load 247(sCubeShadow)
- 3912: 167(fvec3) Load 169(c3)
- 3913: 52(float) Load 215(compare)
- 3914:3102(ResType) ImageSparseDrefGather 3911 3912 3913
- 3915: 7(f16vec4) CompositeExtract 3914 1
- Store 3832(texel) 3915
- 3916: 47(int) CompositeExtract 3914 0
- 3917: 245 Load 247(sCubeShadow)
- 3918:175(f16vec3) Load 177(f16c3)
- 3919: 52(float) Load 215(compare)
- 3920:3102(ResType) ImageSparseDrefGather 3917 3918 3919
- 3921: 7(f16vec4) CompositeExtract 3920 1
- Store 3832(texel) 3921
- 3922: 47(int) CompositeExtract 3920 0
- 3923: 391 Load 393(sCubeArrayShadow)
- 3924: 249(fvec4) Load 251(c4)
- 3925: 52(float) Load 215(compare)
- 3926:3102(ResType) ImageSparseDrefGather 3923 3924 3925
- 3927: 7(f16vec4) CompositeExtract 3926 1
- Store 3832(texel) 3927
- 3928: 47(int) CompositeExtract 3926 0
- 3929: 391 Load 393(sCubeArrayShadow)
- 3930: 7(f16vec4) Load 309(f16c4)
- 3931: 52(float) Load 215(compare)
- 3932:3102(ResType) ImageSparseDrefGather 3929 3930 3931
- 3933: 7(f16vec4) CompositeExtract 3932 1
- Store 3832(texel) 3933
- 3934: 47(int) CompositeExtract 3932 0
- 3935: 371 Load 373(s2DRectShadow)
- 3936: 53(fvec2) Load 148(c2)
- 3937: 52(float) Load 215(compare)
- 3938:3102(ResType) ImageSparseDrefGather 3935 3936 3937
- 3939: 7(f16vec4) CompositeExtract 3938 1
- Store 3832(texel) 3939
- 3940: 47(int) CompositeExtract 3938 0
- 3941: 371 Load 373(s2DRectShadow)
- 3942:154(f16vec2) Load 156(f16c2)
- 3943: 52(float) Load 215(compare)
- 3944:3102(ResType) ImageSparseDrefGather 3941 3942 3943
- 3945: 7(f16vec4) CompositeExtract 3944 1
- Store 3832(texel) 3945
- 3946: 47(int) CompositeExtract 3944 0
- 3947: 7(f16vec4) Load 3832(texel)
- ReturnValue 3947
+ 3901:3146(ResType) ImageSparseGather 3899 3900 2187
+ 3902: 7(f16vec4) CompositeExtract 3901 1
+ Store 3876(texel) 3902
+ 3903: 47(int) CompositeExtract 3901 0
+ 3904: 184 Load 186(sCube)
+ 3905:175(f16vec3) Load 177(f16c3)
+ 3906:6(float16_t) Load 137(f16bias)
+ 3907:3146(ResType) ImageSparseGather 3904 3905 2187 Bias 3906
+ 3908: 7(f16vec4) CompositeExtract 3907 1
+ Store 3876(texel) 3908
+ 3909: 47(int) CompositeExtract 3907 0
+ 3910: 299 Load 301(sCubeArray)
+ 3911: 249(fvec4) Load 251(c4)
+ 3912:3146(ResType) ImageSparseGather 3910 3911 2187
+ 3913: 7(f16vec4) CompositeExtract 3912 1
+ Store 3876(texel) 3913
+ 3914: 47(int) CompositeExtract 3912 0
+ 3915: 299 Load 301(sCubeArray)
+ 3916: 7(f16vec4) Load 309(f16c4)
+ 3917:6(float16_t) Load 137(f16bias)
+ 3918:3146(ResType) ImageSparseGather 3915 3916 2187 Bias 3917
+ 3919: 7(f16vec4) CompositeExtract 3918 1
+ Store 3876(texel) 3919
+ 3920: 47(int) CompositeExtract 3918 0
+ 3921: 357 Load 359(s2DRect)
+ 3922: 53(fvec2) Load 148(c2)
+ 3923:3146(ResType) ImageSparseGather 3921 3922 2187
+ 3924: 7(f16vec4) CompositeExtract 3923 1
+ Store 3876(texel) 3924
+ 3925: 47(int) CompositeExtract 3923 0
+ 3926: 357 Load 359(s2DRect)
+ 3927:154(f16vec2) Load 156(f16c2)
+ 3928:3146(ResType) ImageSparseGather 3926 3927 2187
+ 3929: 7(f16vec4) CompositeExtract 3928 1
+ Store 3876(texel) 3929
+ 3930: 47(int) CompositeExtract 3928 0
+ 3931: 224 Load 226(s2DShadow)
+ 3932: 53(fvec2) Load 148(c2)
+ 3933: 52(float) Load 215(compare)
+ 3934:3146(ResType) ImageSparseDrefGather 3931 3932 3933
+ 3935: 7(f16vec4) CompositeExtract 3934 1
+ Store 3876(texel) 3935
+ 3936: 47(int) CompositeExtract 3934 0
+ 3937: 224 Load 226(s2DShadow)
+ 3938:154(f16vec2) Load 156(f16c2)
+ 3939: 52(float) Load 215(compare)
+ 3940:3146(ResType) ImageSparseDrefGather 3937 3938 3939
+ 3941: 7(f16vec4) CompositeExtract 3940 1
+ Store 3876(texel) 3941
+ 3942: 47(int) CompositeExtract 3940 0
+ 3943: 337 Load 339(s2DArrayShadow)
+ 3944: 167(fvec3) Load 169(c3)
+ 3945: 52(float) Load 215(compare)
+ 3946:3146(ResType) ImageSparseDrefGather 3943 3944 3945
+ 3947: 7(f16vec4) CompositeExtract 3946 1
+ Store 3876(texel) 3947
+ 3948: 47(int) CompositeExtract 3946 0
+ 3949: 337 Load 339(s2DArrayShadow)
+ 3950:175(f16vec3) Load 177(f16c3)
+ 3951: 52(float) Load 215(compare)
+ 3952:3146(ResType) ImageSparseDrefGather 3949 3950 3951
+ 3953: 7(f16vec4) CompositeExtract 3952 1
+ Store 3876(texel) 3953
+ 3954: 47(int) CompositeExtract 3952 0
+ 3955: 245 Load 247(sCubeShadow)
+ 3956: 167(fvec3) Load 169(c3)
+ 3957: 52(float) Load 215(compare)
+ 3958:3146(ResType) ImageSparseDrefGather 3955 3956 3957
+ 3959: 7(f16vec4) CompositeExtract 3958 1
+ Store 3876(texel) 3959
+ 3960: 47(int) CompositeExtract 3958 0
+ 3961: 245 Load 247(sCubeShadow)
+ 3962:175(f16vec3) Load 177(f16c3)
+ 3963: 52(float) Load 215(compare)
+ 3964:3146(ResType) ImageSparseDrefGather 3961 3962 3963
+ 3965: 7(f16vec4) CompositeExtract 3964 1
+ Store 3876(texel) 3965
+ 3966: 47(int) CompositeExtract 3964 0
+ 3967: 391 Load 393(sCubeArrayShadow)
+ 3968: 249(fvec4) Load 251(c4)
+ 3969: 52(float) Load 215(compare)
+ 3970:3146(ResType) ImageSparseDrefGather 3967 3968 3969
+ 3971: 7(f16vec4) CompositeExtract 3970 1
+ Store 3876(texel) 3971
+ 3972: 47(int) CompositeExtract 3970 0
+ 3973: 391 Load 393(sCubeArrayShadow)
+ 3974: 7(f16vec4) Load 309(f16c4)
+ 3975: 52(float) Load 215(compare)
+ 3976:3146(ResType) ImageSparseDrefGather 3973 3974 3975
+ 3977: 7(f16vec4) CompositeExtract 3976 1
+ Store 3876(texel) 3977
+ 3978: 47(int) CompositeExtract 3976 0
+ 3979: 371 Load 373(s2DRectShadow)
+ 3980: 53(fvec2) Load 148(c2)
+ 3981: 52(float) Load 215(compare)
+ 3982:3146(ResType) ImageSparseDrefGather 3979 3980 3981
+ 3983: 7(f16vec4) CompositeExtract 3982 1
+ Store 3876(texel) 3983
+ 3984: 47(int) CompositeExtract 3982 0
+ 3985: 371 Load 373(s2DRectShadow)
+ 3986:154(f16vec2) Load 156(f16c2)
+ 3987: 52(float) Load 215(compare)
+ 3988:3146(ResType) ImageSparseDrefGather 3985 3986 3987
+ 3989: 7(f16vec4) CompositeExtract 3988 1
+ Store 3876(texel) 3989
+ 3990: 47(int) CompositeExtract 3988 0
+ 3991: 7(f16vec4) Load 3876(texel)
+ ReturnValue 3991
FunctionEnd
87(testSparseTextureGatherOffset(): 7(f16vec4) Function None 8
88: Label
- 3950(texel): 64(ptr) Variable Function
- Store 3950(texel) 121
- 3951: 143 Load 145(s2D)
- 3952: 53(fvec2) Load 148(c2)
- 3953:3102(ResType) ImageSparseGather 3951 3952 2187 ConstOffset 722
- 3954: 7(f16vec4) CompositeExtract 3953 1
- Store 3950(texel) 3954
- 3955: 47(int) CompositeExtract 3953 0
- 3956: 143 Load 145(s2D)
- 3957:154(f16vec2) Load 156(f16c2)
- 3958:6(float16_t) Load 137(f16bias)
- 3959:3102(ResType) ImageSparseGather 3956 3957 2187 Bias ConstOffset 3958 722
- 3960: 7(f16vec4) CompositeExtract 3959 1
- Store 3950(texel) 3960
- 3961: 47(int) CompositeExtract 3959 0
- 3962: 284 Load 286(s2DArray)
- 3963: 167(fvec3) Load 169(c3)
- 3964:3102(ResType) ImageSparseGather 3962 3963 2187 ConstOffset 722
- 3965: 7(f16vec4) CompositeExtract 3964 1
- Store 3950(texel) 3965
- 3966: 47(int) CompositeExtract 3964 0
- 3967: 284 Load 286(s2DArray)
- 3968:175(f16vec3) Load 177(f16c3)
- 3969:6(float16_t) Load 137(f16bias)
- 3970:3102(ResType) ImageSparseGather 3967 3968 2187 Bias ConstOffset 3969 722
- 3971: 7(f16vec4) CompositeExtract 3970 1
- Store 3950(texel) 3971
- 3972: 47(int) CompositeExtract 3970 0
- 3973: 357 Load 359(s2DRect)
- 3974: 53(fvec2) Load 148(c2)
- 3975:3102(ResType) ImageSparseGather 3973 3974 2187 ConstOffset 722
- 3976: 7(f16vec4) CompositeExtract 3975 1
- Store 3950(texel) 3976
- 3977: 47(int) CompositeExtract 3975 0
- 3978: 357 Load 359(s2DRect)
- 3979:154(f16vec2) Load 156(f16c2)
- 3980:3102(ResType) ImageSparseGather 3978 3979 2187 ConstOffset 722
- 3981: 7(f16vec4) CompositeExtract 3980 1
- Store 3950(texel) 3981
- 3982: 47(int) CompositeExtract 3980 0
- 3983: 224 Load 226(s2DShadow)
- 3984: 53(fvec2) Load 148(c2)
- 3985: 52(float) Load 215(compare)
- 3986:3102(ResType) ImageSparseDrefGather 3983 3984 3985 ConstOffset 722
- 3987: 7(f16vec4) CompositeExtract 3986 1
- Store 3950(texel) 3987
- 3988: 47(int) CompositeExtract 3986 0
- 3989: 224 Load 226(s2DShadow)
- 3990:154(f16vec2) Load 156(f16c2)
- 3991: 52(float) Load 215(compare)
- 3992:3102(ResType) ImageSparseDrefGather 3989 3990 3991 ConstOffset 722
- 3993: 7(f16vec4) CompositeExtract 3992 1
- Store 3950(texel) 3993
- 3994: 47(int) CompositeExtract 3992 0
- 3995: 337 Load 339(s2DArrayShadow)
- 3996: 167(fvec3) Load 169(c3)
- 3997: 52(float) Load 215(compare)
- 3998:3102(ResType) ImageSparseDrefGather 3995 3996 3997 ConstOffset 722
- 3999: 7(f16vec4) CompositeExtract 3998 1
- Store 3950(texel) 3999
- 4000: 47(int) CompositeExtract 3998 0
- 4001: 337 Load 339(s2DArrayShadow)
- 4002:175(f16vec3) Load 177(f16c3)
- 4003: 52(float) Load 215(compare)
- 4004:3102(ResType) ImageSparseDrefGather 4001 4002 4003 ConstOffset 722
- 4005: 7(f16vec4) CompositeExtract 4004 1
- Store 3950(texel) 4005
- 4006: 47(int) CompositeExtract 4004 0
- 4007: 371 Load 373(s2DRectShadow)
- 4008: 53(fvec2) Load 148(c2)
- 4009: 52(float) Load 215(compare)
- 4010:3102(ResType) ImageSparseDrefGather 4007 4008 4009 ConstOffset 722
- 4011: 7(f16vec4) CompositeExtract 4010 1
- Store 3950(texel) 4011
- 4012: 47(int) CompositeExtract 4010 0
- 4013: 371 Load 373(s2DRectShadow)
- 4014:154(f16vec2) Load 156(f16c2)
- 4015: 52(float) Load 215(compare)
- 4016:3102(ResType) ImageSparseDrefGather 4013 4014 4015 ConstOffset 722
- 4017: 7(f16vec4) CompositeExtract 4016 1
- Store 3950(texel) 4017
- 4018: 47(int) CompositeExtract 4016 0
- 4019: 7(f16vec4) Load 3950(texel)
- ReturnValue 4019
+ 3994(texel): 64(ptr) Variable Function
+ Store 3994(texel) 121
+ 3995: 143 Load 145(s2D)
+ 3996: 53(fvec2) Load 148(c2)
+ 3997:3146(ResType) ImageSparseGather 3995 3996 2187 ConstOffset 722
+ 3998: 7(f16vec4) CompositeExtract 3997 1
+ Store 3994(texel) 3998
+ 3999: 47(int) CompositeExtract 3997 0
+ 4000: 143 Load 145(s2D)
+ 4001:154(f16vec2) Load 156(f16c2)
+ 4002:6(float16_t) Load 137(f16bias)
+ 4003:3146(ResType) ImageSparseGather 4000 4001 2187 Bias ConstOffset 4002 722
+ 4004: 7(f16vec4) CompositeExtract 4003 1
+ Store 3994(texel) 4004
+ 4005: 47(int) CompositeExtract 4003 0
+ 4006: 284 Load 286(s2DArray)
+ 4007: 167(fvec3) Load 169(c3)
+ 4008:3146(ResType) ImageSparseGather 4006 4007 2187 ConstOffset 722
+ 4009: 7(f16vec4) CompositeExtract 4008 1
+ Store 3994(texel) 4009
+ 4010: 47(int) CompositeExtract 4008 0
+ 4011: 284 Load 286(s2DArray)
+ 4012:175(f16vec3) Load 177(f16c3)
+ 4013:6(float16_t) Load 137(f16bias)
+ 4014:3146(ResType) ImageSparseGather 4011 4012 2187 Bias ConstOffset 4013 722
+ 4015: 7(f16vec4) CompositeExtract 4014 1
+ Store 3994(texel) 4015
+ 4016: 47(int) CompositeExtract 4014 0
+ 4017: 357 Load 359(s2DRect)
+ 4018: 53(fvec2) Load 148(c2)
+ 4019:3146(ResType) ImageSparseGather 4017 4018 2187 ConstOffset 722
+ 4020: 7(f16vec4) CompositeExtract 4019 1
+ Store 3994(texel) 4020
+ 4021: 47(int) CompositeExtract 4019 0
+ 4022: 357 Load 359(s2DRect)
+ 4023:154(f16vec2) Load 156(f16c2)
+ 4024:3146(ResType) ImageSparseGather 4022 4023 2187 ConstOffset 722
+ 4025: 7(f16vec4) CompositeExtract 4024 1
+ Store 3994(texel) 4025
+ 4026: 47(int) CompositeExtract 4024 0
+ 4027: 224 Load 226(s2DShadow)
+ 4028: 53(fvec2) Load 148(c2)
+ 4029: 52(float) Load 215(compare)
+ 4030:3146(ResType) ImageSparseDrefGather 4027 4028 4029 ConstOffset 722
+ 4031: 7(f16vec4) CompositeExtract 4030 1
+ Store 3994(texel) 4031
+ 4032: 47(int) CompositeExtract 4030 0
+ 4033: 224 Load 226(s2DShadow)
+ 4034:154(f16vec2) Load 156(f16c2)
+ 4035: 52(float) Load 215(compare)
+ 4036:3146(ResType) ImageSparseDrefGather 4033 4034 4035 ConstOffset 722
+ 4037: 7(f16vec4) CompositeExtract 4036 1
+ Store 3994(texel) 4037
+ 4038: 47(int) CompositeExtract 4036 0
+ 4039: 337 Load 339(s2DArrayShadow)
+ 4040: 167(fvec3) Load 169(c3)
+ 4041: 52(float) Load 215(compare)
+ 4042:3146(ResType) ImageSparseDrefGather 4039 4040 4041 ConstOffset 722
+ 4043: 7(f16vec4) CompositeExtract 4042 1
+ Store 3994(texel) 4043
+ 4044: 47(int) CompositeExtract 4042 0
+ 4045: 337 Load 339(s2DArrayShadow)
+ 4046:175(f16vec3) Load 177(f16c3)
+ 4047: 52(float) Load 215(compare)
+ 4048:3146(ResType) ImageSparseDrefGather 4045 4046 4047 ConstOffset 722
+ 4049: 7(f16vec4) CompositeExtract 4048 1
+ Store 3994(texel) 4049
+ 4050: 47(int) CompositeExtract 4048 0
+ 4051: 371 Load 373(s2DRectShadow)
+ 4052: 53(fvec2) Load 148(c2)
+ 4053: 52(float) Load 215(compare)
+ 4054:3146(ResType) ImageSparseDrefGather 4051 4052 4053 ConstOffset 722
+ 4055: 7(f16vec4) CompositeExtract 4054 1
+ Store 3994(texel) 4055
+ 4056: 47(int) CompositeExtract 4054 0
+ 4057: 371 Load 373(s2DRectShadow)
+ 4058:154(f16vec2) Load 156(f16c2)
+ 4059: 52(float) Load 215(compare)
+ 4060:3146(ResType) ImageSparseDrefGather 4057 4058 4059 ConstOffset 722
+ 4061: 7(f16vec4) CompositeExtract 4060 1
+ Store 3994(texel) 4061
+ 4062: 47(int) CompositeExtract 4060 0
+ 4063: 7(f16vec4) Load 3994(texel)
+ ReturnValue 4063
FunctionEnd
89(testSparseTextureGatherOffsets(): 7(f16vec4) Function None 8
90: Label
- 4022(texel): 64(ptr) Variable Function
- Store 4022(texel) 121
- 4023: 143 Load 145(s2D)
- 4024: 53(fvec2) Load 148(c2)
- 4035:3102(ResType) ImageSparseGather 4023 4024 2187 ConstOffsets 4034
- 4036: 7(f16vec4) CompositeExtract 4035 1
- Store 4022(texel) 4036
- 4037: 47(int) CompositeExtract 4035 0
- 4038: 143 Load 145(s2D)
- 4039:154(f16vec2) Load 156(f16c2)
- 4040:6(float16_t) Load 137(f16bias)
- 4041:3102(ResType) ImageSparseGather 4038 4039 2187 Bias ConstOffsets 4040 4034
- 4042: 7(f16vec4) CompositeExtract 4041 1
- Store 4022(texel) 4042
- 4043: 47(int) CompositeExtract 4041 0
- 4044: 284 Load 286(s2DArray)
- 4045: 167(fvec3) Load 169(c3)
- 4046:3102(ResType) ImageSparseGather 4044 4045 2187 ConstOffsets 4034
- 4047: 7(f16vec4) CompositeExtract 4046 1
- Store 4022(texel) 4047
- 4048: 47(int) CompositeExtract 4046 0
- 4049: 284 Load 286(s2DArray)
- 4050:175(f16vec3) Load 177(f16c3)
- 4051:6(float16_t) Load 137(f16bias)
- 4052:3102(ResType) ImageSparseGather 4049 4050 2187 Bias ConstOffsets 4051 4034
- 4053: 7(f16vec4) CompositeExtract 4052 1
- Store 4022(texel) 4053
- 4054: 47(int) CompositeExtract 4052 0
- 4055: 357 Load 359(s2DRect)
- 4056: 53(fvec2) Load 148(c2)
- 4057:3102(ResType) ImageSparseGather 4055 4056 2187 ConstOffsets 4034
- 4058: 7(f16vec4) CompositeExtract 4057 1
- Store 4022(texel) 4058
- 4059: 47(int) CompositeExtract 4057 0
- 4060: 357 Load 359(s2DRect)
- 4061:154(f16vec2) Load 156(f16c2)
- 4062:3102(ResType) ImageSparseGather 4060 4061 2187 ConstOffsets 4034
- 4063: 7(f16vec4) CompositeExtract 4062 1
- Store 4022(texel) 4063
- 4064: 47(int) CompositeExtract 4062 0
- 4065: 224 Load 226(s2DShadow)
- 4066: 53(fvec2) Load 148(c2)
- 4067: 52(float) Load 215(compare)
- 4068:3102(ResType) ImageSparseDrefGather 4065 4066 4067 ConstOffsets 4034
- 4069: 7(f16vec4) CompositeExtract 4068 1
- Store 4022(texel) 4069
- 4070: 47(int) CompositeExtract 4068 0
- 4071: 224 Load 226(s2DShadow)
- 4072:154(f16vec2) Load 156(f16c2)
- 4073: 52(float) Load 215(compare)
- 4074:3102(ResType) ImageSparseDrefGather 4071 4072 4073 ConstOffsets 4034
- 4075: 7(f16vec4) CompositeExtract 4074 1
- Store 4022(texel) 4075
- 4076: 47(int) CompositeExtract 4074 0
- 4077: 337 Load 339(s2DArrayShadow)
- 4078: 167(fvec3) Load 169(c3)
- 4079: 52(float) Load 215(compare)
- 4080:3102(ResType) ImageSparseDrefGather 4077 4078 4079 ConstOffsets 4034
- 4081: 7(f16vec4) CompositeExtract 4080 1
- Store 4022(texel) 4081
- 4082: 47(int) CompositeExtract 4080 0
- 4083: 337 Load 339(s2DArrayShadow)
- 4084:175(f16vec3) Load 177(f16c3)
- 4085: 52(float) Load 215(compare)
- 4086:3102(ResType) ImageSparseDrefGather 4083 4084 4085 ConstOffsets 4034
- 4087: 7(f16vec4) CompositeExtract 4086 1
- Store 4022(texel) 4087
- 4088: 47(int) CompositeExtract 4086 0
- 4089: 371 Load 373(s2DRectShadow)
- 4090: 53(fvec2) Load 148(c2)
- 4091: 52(float) Load 215(compare)
- 4092:3102(ResType) ImageSparseDrefGather 4089 4090 4091 ConstOffsets 4034
- 4093: 7(f16vec4) CompositeExtract 4092 1
- Store 4022(texel) 4093
- 4094: 47(int) CompositeExtract 4092 0
- 4095: 371 Load 373(s2DRectShadow)
- 4096:154(f16vec2) Load 156(f16c2)
- 4097: 52(float) Load 215(compare)
- 4098:3102(ResType) ImageSparseDrefGather 4095 4096 4097 ConstOffsets 4034
- 4099: 7(f16vec4) CompositeExtract 4098 1
- Store 4022(texel) 4099
- 4100: 47(int) CompositeExtract 4098 0
- 4101: 7(f16vec4) Load 4022(texel)
- ReturnValue 4101
+ 4066(texel): 64(ptr) Variable Function
+ Store 4066(texel) 121
+ 4067: 143 Load 145(s2D)
+ 4068: 53(fvec2) Load 148(c2)
+ 4079:3146(ResType) ImageSparseGather 4067 4068 2187 ConstOffsets 4078
+ 4080: 7(f16vec4) CompositeExtract 4079 1
+ Store 4066(texel) 4080
+ 4081: 47(int) CompositeExtract 4079 0
+ 4082: 143 Load 145(s2D)
+ 4083:154(f16vec2) Load 156(f16c2)
+ 4084:6(float16_t) Load 137(f16bias)
+ 4085:3146(ResType) ImageSparseGather 4082 4083 2187 Bias ConstOffsets 4084 4078
+ 4086: 7(f16vec4) CompositeExtract 4085 1
+ Store 4066(texel) 4086
+ 4087: 47(int) CompositeExtract 4085 0
+ 4088: 284 Load 286(s2DArray)
+ 4089: 167(fvec3) Load 169(c3)
+ 4090:3146(ResType) ImageSparseGather 4088 4089 2187 ConstOffsets 4078
+ 4091: 7(f16vec4) CompositeExtract 4090 1
+ Store 4066(texel) 4091
+ 4092: 47(int) CompositeExtract 4090 0
+ 4093: 284 Load 286(s2DArray)
+ 4094:175(f16vec3) Load 177(f16c3)
+ 4095:6(float16_t) Load 137(f16bias)
+ 4096:3146(ResType) ImageSparseGather 4093 4094 2187 Bias ConstOffsets 4095 4078
+ 4097: 7(f16vec4) CompositeExtract 4096 1
+ Store 4066(texel) 4097
+ 4098: 47(int) CompositeExtract 4096 0
+ 4099: 357 Load 359(s2DRect)
+ 4100: 53(fvec2) Load 148(c2)
+ 4101:3146(ResType) ImageSparseGather 4099 4100 2187 ConstOffsets 4078
+ 4102: 7(f16vec4) CompositeExtract 4101 1
+ Store 4066(texel) 4102
+ 4103: 47(int) CompositeExtract 4101 0
+ 4104: 357 Load 359(s2DRect)
+ 4105:154(f16vec2) Load 156(f16c2)
+ 4106:3146(ResType) ImageSparseGather 4104 4105 2187 ConstOffsets 4078
+ 4107: 7(f16vec4) CompositeExtract 4106 1
+ Store 4066(texel) 4107
+ 4108: 47(int) CompositeExtract 4106 0
+ 4109: 224 Load 226(s2DShadow)
+ 4110: 53(fvec2) Load 148(c2)
+ 4111: 52(float) Load 215(compare)
+ 4112:3146(ResType) ImageSparseDrefGather 4109 4110 4111 ConstOffsets 4078
+ 4113: 7(f16vec4) CompositeExtract 4112 1
+ Store 4066(texel) 4113
+ 4114: 47(int) CompositeExtract 4112 0
+ 4115: 224 Load 226(s2DShadow)
+ 4116:154(f16vec2) Load 156(f16c2)
+ 4117: 52(float) Load 215(compare)
+ 4118:3146(ResType) ImageSparseDrefGather 4115 4116 4117 ConstOffsets 4078
+ 4119: 7(f16vec4) CompositeExtract 4118 1
+ Store 4066(texel) 4119
+ 4120: 47(int) CompositeExtract 4118 0
+ 4121: 337 Load 339(s2DArrayShadow)
+ 4122: 167(fvec3) Load 169(c3)
+ 4123: 52(float) Load 215(compare)
+ 4124:3146(ResType) ImageSparseDrefGather 4121 4122 4123 ConstOffsets 4078
+ 4125: 7(f16vec4) CompositeExtract 4124 1
+ Store 4066(texel) 4125
+ 4126: 47(int) CompositeExtract 4124 0
+ 4127: 337 Load 339(s2DArrayShadow)
+ 4128:175(f16vec3) Load 177(f16c3)
+ 4129: 52(float) Load 215(compare)
+ 4130:3146(ResType) ImageSparseDrefGather 4127 4128 4129 ConstOffsets 4078
+ 4131: 7(f16vec4) CompositeExtract 4130 1
+ Store 4066(texel) 4131
+ 4132: 47(int) CompositeExtract 4130 0
+ 4133: 371 Load 373(s2DRectShadow)
+ 4134: 53(fvec2) Load 148(c2)
+ 4135: 52(float) Load 215(compare)
+ 4136:3146(ResType) ImageSparseDrefGather 4133 4134 4135 ConstOffsets 4078
+ 4137: 7(f16vec4) CompositeExtract 4136 1
+ Store 4066(texel) 4137
+ 4138: 47(int) CompositeExtract 4136 0
+ 4139: 371 Load 373(s2DRectShadow)
+ 4140:154(f16vec2) Load 156(f16c2)
+ 4141: 52(float) Load 215(compare)
+ 4142:3146(ResType) ImageSparseDrefGather 4139 4140 4141 ConstOffsets 4078
+ 4143: 7(f16vec4) CompositeExtract 4142 1
+ Store 4066(texel) 4143
+ 4144: 47(int) CompositeExtract 4142 0
+ 4145: 7(f16vec4) Load 4066(texel)
+ ReturnValue 4145
FunctionEnd
91(testSparseTextureGatherLod(): 7(f16vec4) Function None 8
92: Label
- 4104(texel): 64(ptr) Variable Function
- Store 4104(texel) 121
- 4105: 143 Load 145(s2D)
- 4106: 53(fvec2) Load 148(c2)
- 4107: 52(float) Load 565(lod)
- 4108:3102(ResType) ImageSparseGather 4105 4106 2187 Lod 4107
- 4109: 7(f16vec4) CompositeExtract 4108 1
- Store 4104(texel) 4109
- 4110: 47(int) CompositeExtract 4108 0
- 4111: 143 Load 145(s2D)
- 4112:154(f16vec2) Load 156(f16c2)
- 4113:6(float16_t) Load 572(f16lod)
- 4114:3102(ResType) ImageSparseGather 4111 4112 2187 Lod 4113
- 4115: 7(f16vec4) CompositeExtract 4114 1
- Store 4104(texel) 4115
- 4116: 47(int) CompositeExtract 4114 0
- 4117: 284 Load 286(s2DArray)
- 4118: 167(fvec3) Load 169(c3)
- 4119: 52(float) Load 565(lod)
- 4120:3102(ResType) ImageSparseGather 4117 4118 2187 Lod 4119
- 4121: 7(f16vec4) CompositeExtract 4120 1
- Store 4104(texel) 4121
- 4122: 47(int) CompositeExtract 4120 0
- 4123: 284 Load 286(s2DArray)
- 4124:175(f16vec3) Load 177(f16c3)
- 4125:6(float16_t) Load 572(f16lod)
- 4126:3102(ResType) ImageSparseGather 4123 4124 2187 Lod 4125
- 4127: 7(f16vec4) CompositeExtract 4126 1
- Store 4104(texel) 4127
- 4128: 47(int) CompositeExtract 4126 0
- 4129: 184 Load 186(sCube)
- 4130: 167(fvec3) Load 169(c3)
- 4131: 52(float) Load 565(lod)
- 4132:3102(ResType) ImageSparseGather 4129 4130 2187 Lod 4131
- 4133: 7(f16vec4) CompositeExtract 4132 1
- Store 4104(texel) 4133
- 4134: 47(int) CompositeExtract 4132 0
- 4135: 184 Load 186(sCube)
- 4136:175(f16vec3) Load 177(f16c3)
- 4137:6(float16_t) Load 572(f16lod)
- 4138:3102(ResType) ImageSparseGather 4135 4136 2187 Lod 4137
- 4139: 7(f16vec4) CompositeExtract 4138 1
- Store 4104(texel) 4139
- 4140: 47(int) CompositeExtract 4138 0
- 4141: 299 Load 301(sCubeArray)
- 4142: 249(fvec4) Load 251(c4)
- 4143: 52(float) Load 565(lod)
- 4144:3102(ResType) ImageSparseGather 4141 4142 2187 Lod 4143
- 4145: 7(f16vec4) CompositeExtract 4144 1
- Store 4104(texel) 4145
- 4146: 47(int) CompositeExtract 4144 0
- 4147: 299 Load 301(sCubeArray)
- 4148: 7(f16vec4) Load 309(f16c4)
- 4149:6(float16_t) Load 572(f16lod)
- 4150:3102(ResType) ImageSparseGather 4147 4148 2187 Lod 4149
- 4151: 7(f16vec4) CompositeExtract 4150 1
- Store 4104(texel) 4151
- 4152: 47(int) CompositeExtract 4150 0
- 4153: 7(f16vec4) Load 4104(texel)
- ReturnValue 4153
+ 4148(texel): 64(ptr) Variable Function
+ Store 4148(texel) 121
+ 4149: 143 Load 145(s2D)
+ 4150: 53(fvec2) Load 148(c2)
+ 4151: 52(float) Load 565(lod)
+ 4152:3146(ResType) ImageSparseGather 4149 4150 2187 Lod 4151
+ 4153: 7(f16vec4) CompositeExtract 4152 1
+ Store 4148(texel) 4153
+ 4154: 47(int) CompositeExtract 4152 0
+ 4155: 143 Load 145(s2D)
+ 4156:154(f16vec2) Load 156(f16c2)
+ 4157:6(float16_t) Load 572(f16lod)
+ 4158:3146(ResType) ImageSparseGather 4155 4156 2187 Lod 4157
+ 4159: 7(f16vec4) CompositeExtract 4158 1
+ Store 4148(texel) 4159
+ 4160: 47(int) CompositeExtract 4158 0
+ 4161: 284 Load 286(s2DArray)
+ 4162: 167(fvec3) Load 169(c3)
+ 4163: 52(float) Load 565(lod)
+ 4164:3146(ResType) ImageSparseGather 4161 4162 2187 Lod 4163
+ 4165: 7(f16vec4) CompositeExtract 4164 1
+ Store 4148(texel) 4165
+ 4166: 47(int) CompositeExtract 4164 0
+ 4167: 284 Load 286(s2DArray)
+ 4168:175(f16vec3) Load 177(f16c3)
+ 4169:6(float16_t) Load 572(f16lod)
+ 4170:3146(ResType) ImageSparseGather 4167 4168 2187 Lod 4169
+ 4171: 7(f16vec4) CompositeExtract 4170 1
+ Store 4148(texel) 4171
+ 4172: 47(int) CompositeExtract 4170 0
+ 4173: 184 Load 186(sCube)
+ 4174: 167(fvec3) Load 169(c3)
+ 4175: 52(float) Load 565(lod)
+ 4176:3146(ResType) ImageSparseGather 4173 4174 2187 Lod 4175
+ 4177: 7(f16vec4) CompositeExtract 4176 1
+ Store 4148(texel) 4177
+ 4178: 47(int) CompositeExtract 4176 0
+ 4179: 184 Load 186(sCube)
+ 4180:175(f16vec3) Load 177(f16c3)
+ 4181:6(float16_t) Load 572(f16lod)
+ 4182:3146(ResType) ImageSparseGather 4179 4180 2187 Lod 4181
+ 4183: 7(f16vec4) CompositeExtract 4182 1
+ Store 4148(texel) 4183
+ 4184: 47(int) CompositeExtract 4182 0
+ 4185: 299 Load 301(sCubeArray)
+ 4186: 249(fvec4) Load 251(c4)
+ 4187: 52(float) Load 565(lod)
+ 4188:3146(ResType) ImageSparseGather 4185 4186 2187 Lod 4187
+ 4189: 7(f16vec4) CompositeExtract 4188 1
+ Store 4148(texel) 4189
+ 4190: 47(int) CompositeExtract 4188 0
+ 4191: 299 Load 301(sCubeArray)
+ 4192: 7(f16vec4) Load 309(f16c4)
+ 4193:6(float16_t) Load 572(f16lod)
+ 4194:3146(ResType) ImageSparseGather 4191 4192 2187 Lod 4193
+ 4195: 7(f16vec4) CompositeExtract 4194 1
+ Store 4148(texel) 4195
+ 4196: 47(int) CompositeExtract 4194 0
+ 4197: 7(f16vec4) Load 4148(texel)
+ ReturnValue 4197
FunctionEnd
93(testSparseTextureGatherLodOffset(): 7(f16vec4) Function None 8
94: Label
- 4156(texel): 64(ptr) Variable Function
- Store 4156(texel) 121
- 4157: 143 Load 145(s2D)
- 4158: 53(fvec2) Load 148(c2)
- 4159: 52(float) Load 565(lod)
- 4160:3102(ResType) ImageSparseGather 4157 4158 2187 Lod ConstOffset 4159 722
- 4161: 7(f16vec4) CompositeExtract 4160 1
- Store 4156(texel) 4161
- 4162: 47(int) CompositeExtract 4160 0
- 4163: 143 Load 145(s2D)
- 4164:154(f16vec2) Load 156(f16c2)
- 4165:6(float16_t) Load 572(f16lod)
- 4166:3102(ResType) ImageSparseGather 4163 4164 2187 Lod ConstOffset 4165 722
- 4167: 7(f16vec4) CompositeExtract 4166 1
- Store 4156(texel) 4167
- 4168: 47(int) CompositeExtract 4166 0
- 4169: 284 Load 286(s2DArray)
- 4170: 167(fvec3) Load 169(c3)
- 4171: 52(float) Load 565(lod)
- 4172:3102(ResType) ImageSparseGather 4169 4170 2187 Lod ConstOffset 4171 722
- 4173: 7(f16vec4) CompositeExtract 4172 1
- Store 4156(texel) 4173
- 4174: 47(int) CompositeExtract 4172 0
- 4175: 284 Load 286(s2DArray)
- 4176:175(f16vec3) Load 177(f16c3)
- 4177:6(float16_t) Load 572(f16lod)
- 4178:3102(ResType) ImageSparseGather 4175 4176 2187 Lod ConstOffset 4177 722
- 4179: 7(f16vec4) CompositeExtract 4178 1
- Store 4156(texel) 4179
- 4180: 47(int) CompositeExtract 4178 0
- 4181: 7(f16vec4) Load 4156(texel)
- ReturnValue 4181
+ 4200(texel): 64(ptr) Variable Function
+ Store 4200(texel) 121
+ 4201: 143 Load 145(s2D)
+ 4202: 53(fvec2) Load 148(c2)
+ 4203: 52(float) Load 565(lod)
+ 4204:3146(ResType) ImageSparseGather 4201 4202 2187 Lod ConstOffset 4203 722
+ 4205: 7(f16vec4) CompositeExtract 4204 1
+ Store 4200(texel) 4205
+ 4206: 47(int) CompositeExtract 4204 0
+ 4207: 143 Load 145(s2D)
+ 4208:154(f16vec2) Load 156(f16c2)
+ 4209:6(float16_t) Load 572(f16lod)
+ 4210:3146(ResType) ImageSparseGather 4207 4208 2187 Lod ConstOffset 4209 722
+ 4211: 7(f16vec4) CompositeExtract 4210 1
+ Store 4200(texel) 4211
+ 4212: 47(int) CompositeExtract 4210 0
+ 4213: 284 Load 286(s2DArray)
+ 4214: 167(fvec3) Load 169(c3)
+ 4215: 52(float) Load 565(lod)
+ 4216:3146(ResType) ImageSparseGather 4213 4214 2187 Lod ConstOffset 4215 722
+ 4217: 7(f16vec4) CompositeExtract 4216 1
+ Store 4200(texel) 4217
+ 4218: 47(int) CompositeExtract 4216 0
+ 4219: 284 Load 286(s2DArray)
+ 4220:175(f16vec3) Load 177(f16c3)
+ 4221:6(float16_t) Load 572(f16lod)
+ 4222:3146(ResType) ImageSparseGather 4219 4220 2187 Lod ConstOffset 4221 722
+ 4223: 7(f16vec4) CompositeExtract 4222 1
+ Store 4200(texel) 4223
+ 4224: 47(int) CompositeExtract 4222 0
+ 4225: 7(f16vec4) Load 4200(texel)
+ ReturnValue 4225
FunctionEnd
95(testSparseTextureGatherLodOffsets(): 7(f16vec4) Function None 8
96: Label
- 4184(texel): 64(ptr) Variable Function
- Store 4184(texel) 121
- 4185: 143 Load 145(s2D)
- 4186: 53(fvec2) Load 148(c2)
- 4187: 52(float) Load 565(lod)
- 4188:3102(ResType) ImageSparseGather 4185 4186 2187 Lod ConstOffsets 4187 2380
- 4189: 7(f16vec4) CompositeExtract 4188 1
- Store 4184(texel) 4189
- 4190: 47(int) CompositeExtract 4188 0
- 4191: 143 Load 145(s2D)
- 4192:154(f16vec2) Load 156(f16c2)
- 4193:6(float16_t) Load 572(f16lod)
- 4194:3102(ResType) ImageSparseGather 4191 4192 2187 Lod ConstOffsets 4193 2380
- 4195: 7(f16vec4) CompositeExtract 4194 1
- Store 4184(texel) 4195
- 4196: 47(int) CompositeExtract 4194 0
- 4197: 284 Load 286(s2DArray)
- 4198: 167(fvec3) Load 169(c3)
- 4199: 52(float) Load 565(lod)
- 4200:3102(ResType) ImageSparseGather 4197 4198 2187 Lod ConstOffsets 4199 2380
- 4201: 7(f16vec4) CompositeExtract 4200 1
- Store 4184(texel) 4201
- 4202: 47(int) CompositeExtract 4200 0
- 4203: 284 Load 286(s2DArray)
- 4204:175(f16vec3) Load 177(f16c3)
- 4205:6(float16_t) Load 572(f16lod)
- 4206:3102(ResType) ImageSparseGather 4203 4204 2187 Lod ConstOffsets 4205 2380
- 4207: 7(f16vec4) CompositeExtract 4206 1
- Store 4184(texel) 4207
- 4208: 47(int) CompositeExtract 4206 0
- 4209: 7(f16vec4) Load 4184(texel)
- ReturnValue 4209
+ 4228(texel): 64(ptr) Variable Function
+ Store 4228(texel) 121
+ 4229: 143 Load 145(s2D)
+ 4230: 53(fvec2) Load 148(c2)
+ 4231: 52(float) Load 565(lod)
+ 4232:3146(ResType) ImageSparseGather 4229 4230 2187 Lod ConstOffsets 4231 2380
+ 4233: 7(f16vec4) CompositeExtract 4232 1
+ Store 4228(texel) 4233
+ 4234: 47(int) CompositeExtract 4232 0
+ 4235: 143 Load 145(s2D)
+ 4236:154(f16vec2) Load 156(f16c2)
+ 4237:6(float16_t) Load 572(f16lod)
+ 4238:3146(ResType) ImageSparseGather 4235 4236 2187 Lod ConstOffsets 4237 2380
+ 4239: 7(f16vec4) CompositeExtract 4238 1
+ Store 4228(texel) 4239
+ 4240: 47(int) CompositeExtract 4238 0
+ 4241: 284 Load 286(s2DArray)
+ 4242: 167(fvec3) Load 169(c3)
+ 4243: 52(float) Load 565(lod)
+ 4244:3146(ResType) ImageSparseGather 4241 4242 2187 Lod ConstOffsets 4243 2380
+ 4245: 7(f16vec4) CompositeExtract 4244 1
+ Store 4228(texel) 4245
+ 4246: 47(int) CompositeExtract 4244 0
+ 4247: 284 Load 286(s2DArray)
+ 4248:175(f16vec3) Load 177(f16c3)
+ 4249:6(float16_t) Load 572(f16lod)
+ 4250:3146(ResType) ImageSparseGather 4247 4248 2187 Lod ConstOffsets 4249 2380
+ 4251: 7(f16vec4) CompositeExtract 4250 1
+ Store 4228(texel) 4251
+ 4252: 47(int) CompositeExtract 4250 0
+ 4253: 7(f16vec4) Load 4228(texel)
+ ReturnValue 4253
FunctionEnd
97(testSparseImageLoad(): 7(f16vec4) Function None 8
98: Label
- 4212(texel): 64(ptr) Variable Function
- Store 4212(texel) 121
- 4213: 2962 Load 2964(i2D)
- 4214: 53(fvec2) Load 148(c2)
- 4215: 721(ivec2) ConvertFToS 4214
- 4216:3102(ResType) ImageSparseRead 4213 4215
- 4217: 7(f16vec4) CompositeExtract 4216 1
- Store 4212(texel) 4217
- 4218: 47(int) CompositeExtract 4216 0
- 4219: 2971 Load 2973(i3D)
- 4220: 167(fvec3) Load 169(c3)
- 4221: 734(ivec3) ConvertFToS 4220
- 4222:3102(ResType) ImageSparseRead 4219 4221
- 4223: 7(f16vec4) CompositeExtract 4222 1
- Store 4212(texel) 4223
- 4224: 47(int) CompositeExtract 4222 0
- 4225: 2980 Load 2982(i2DRect)
- 4226: 53(fvec2) Load 148(c2)
- 4227: 721(ivec2) ConvertFToS 4226
- 4228:3102(ResType) ImageSparseRead 4225 4227
- 4229: 7(f16vec4) CompositeExtract 4228 1
- Store 4212(texel) 4229
- 4230: 47(int) CompositeExtract 4228 0
- 4231: 2989 Load 2991(iCube)
- 4232: 167(fvec3) Load 169(c3)
- 4233: 734(ivec3) ConvertFToS 4232
- 4234:3102(ResType) ImageSparseRead 4231 4233
- 4235: 7(f16vec4) CompositeExtract 4234 1
- Store 4212(texel) 4235
- 4236: 47(int) CompositeExtract 4234 0
- 4237: 3016 Load 3018(i2DArray)
- 4238: 167(fvec3) Load 169(c3)
- 4239: 734(ivec3) ConvertFToS 4238
- 4240:3102(ResType) ImageSparseRead 4237 4239
- 4241: 7(f16vec4) CompositeExtract 4240 1
- Store 4212(texel) 4241
- 4242: 47(int) CompositeExtract 4240 0
- 4243: 3025 Load 3027(iCubeArray)
- 4244: 167(fvec3) Load 169(c3)
- 4245: 734(ivec3) ConvertFToS 4244
- 4246:3102(ResType) ImageSparseRead 4243 4245
- 4247: 7(f16vec4) CompositeExtract 4246 1
- Store 4212(texel) 4247
- 4248: 47(int) CompositeExtract 4246 0
- 4249: 3034 Load 3036(i2DMS)
- 4250: 53(fvec2) Load 148(c2)
- 4251: 721(ivec2) ConvertFToS 4250
- 4252:3102(ResType) ImageSparseRead 4249 4251 Sample 709
- 4253: 7(f16vec4) CompositeExtract 4252 1
- Store 4212(texel) 4253
- 4254: 47(int) CompositeExtract 4252 0
- 4255: 3043 Load 3045(i2DMSArray)
- 4256: 167(fvec3) Load 169(c3)
- 4257: 734(ivec3) ConvertFToS 4256
- 4258:3102(ResType) ImageSparseRead 4255 4257 Sample 1326
- 4259: 7(f16vec4) CompositeExtract 4258 1
- Store 4212(texel) 4259
- 4260: 47(int) CompositeExtract 4258 0
- 4261: 7(f16vec4) Load 4212(texel)
- ReturnValue 4261
+ 4256(texel): 64(ptr) Variable Function
+ Store 4256(texel) 121
+ 4257: 3006 Load 3008(i2D)
+ 4258: 53(fvec2) Load 148(c2)
+ 4259: 721(ivec2) ConvertFToS 4258
+ 4260:3146(ResType) ImageSparseRead 4257 4259
+ 4261: 7(f16vec4) CompositeExtract 4260 1
+ Store 4256(texel) 4261
+ 4262: 47(int) CompositeExtract 4260 0
+ 4263: 3015 Load 3017(i3D)
+ 4264: 167(fvec3) Load 169(c3)
+ 4265: 734(ivec3) ConvertFToS 4264
+ 4266:3146(ResType) ImageSparseRead 4263 4265
+ 4267: 7(f16vec4) CompositeExtract 4266 1
+ Store 4256(texel) 4267
+ 4268: 47(int) CompositeExtract 4266 0
+ 4269: 3024 Load 3026(i2DRect)
+ 4270: 53(fvec2) Load 148(c2)
+ 4271: 721(ivec2) ConvertFToS 4270
+ 4272:3146(ResType) ImageSparseRead 4269 4271
+ 4273: 7(f16vec4) CompositeExtract 4272 1
+ Store 4256(texel) 4273
+ 4274: 47(int) CompositeExtract 4272 0
+ 4275: 3033 Load 3035(iCube)
+ 4276: 167(fvec3) Load 169(c3)
+ 4277: 734(ivec3) ConvertFToS 4276
+ 4278:3146(ResType) ImageSparseRead 4275 4277
+ 4279: 7(f16vec4) CompositeExtract 4278 1
+ Store 4256(texel) 4279
+ 4280: 47(int) CompositeExtract 4278 0
+ 4281: 3060 Load 3062(i2DArray)
+ 4282: 167(fvec3) Load 169(c3)
+ 4283: 734(ivec3) ConvertFToS 4282
+ 4284:3146(ResType) ImageSparseRead 4281 4283
+ 4285: 7(f16vec4) CompositeExtract 4284 1
+ Store 4256(texel) 4285
+ 4286: 47(int) CompositeExtract 4284 0
+ 4287: 3069 Load 3071(iCubeArray)
+ 4288: 167(fvec3) Load 169(c3)
+ 4289: 734(ivec3) ConvertFToS 4288
+ 4290:3146(ResType) ImageSparseRead 4287 4289
+ 4291: 7(f16vec4) CompositeExtract 4290 1
+ Store 4256(texel) 4291
+ 4292: 47(int) CompositeExtract 4290 0
+ 4293: 3078 Load 3080(i2DMS)
+ 4294: 53(fvec2) Load 148(c2)
+ 4295: 721(ivec2) ConvertFToS 4294
+ 4296:3146(ResType) ImageSparseRead 4293 4295 Sample 709
+ 4297: 7(f16vec4) CompositeExtract 4296 1
+ Store 4256(texel) 4297
+ 4298: 47(int) CompositeExtract 4296 0
+ 4299: 3087 Load 3089(i2DMSArray)
+ 4300: 167(fvec3) Load 169(c3)
+ 4301: 734(ivec3) ConvertFToS 4300
+ 4302:3146(ResType) ImageSparseRead 4299 4301 Sample 1326
+ 4303: 7(f16vec4) CompositeExtract 4302 1
+ Store 4256(texel) 4303
+ 4304: 47(int) CompositeExtract 4302 0
+ 4305: 7(f16vec4) Load 4256(texel)
+ ReturnValue 4305
FunctionEnd
99(testSparseTextureClamp(): 7(f16vec4) Function None 8
100: Label
- 4264(texel): 64(ptr) Variable Function
- Store 4264(texel) 121
- 4265: 143 Load 145(s2D)
- 4266: 53(fvec2) Load 148(c2)
- 4268: 52(float) Load 4267(lodClamp)
- 4269:3102(ResType) ImageSparseSampleImplicitLod 4265 4266 MinLod 4268
- 4270: 7(f16vec4) CompositeExtract 4269 1
- Store 4264(texel) 4270
- 4271: 47(int) CompositeExtract 4269 0
- 4272: 143 Load 145(s2D)
- 4273:154(f16vec2) Load 156(f16c2)
- 4275:6(float16_t) Load 4274(f16lodClamp)
- 4276:6(float16_t) Load 137(f16bias)
- 4277:3102(ResType) ImageSparseSampleImplicitLod 4272 4273 Bias MinLod 4276 4275
- 4278: 7(f16vec4) CompositeExtract 4277 1
- Store 4264(texel) 4278
- 4279: 47(int) CompositeExtract 4277 0
- 4280: 163 Load 165(s3D)
- 4281: 167(fvec3) Load 169(c3)
- 4282: 52(float) Load 4267(lodClamp)
- 4283:3102(ResType) ImageSparseSampleImplicitLod 4280 4281 MinLod 4282
- 4284: 7(f16vec4) CompositeExtract 4283 1
- Store 4264(texel) 4284
- 4285: 47(int) CompositeExtract 4283 0
- 4286: 163 Load 165(s3D)
- 4287:175(f16vec3) Load 177(f16c3)
- 4288:6(float16_t) Load 4274(f16lodClamp)
- 4289:6(float16_t) Load 137(f16bias)
- 4290:3102(ResType) ImageSparseSampleImplicitLod 4286 4287 Bias MinLod 4289 4288
- 4291: 7(f16vec4) CompositeExtract 4290 1
- Store 4264(texel) 4291
- 4292: 47(int) CompositeExtract 4290 0
- 4293: 184 Load 186(sCube)
- 4294: 167(fvec3) Load 169(c3)
- 4295: 52(float) Load 4267(lodClamp)
- 4296:3102(ResType) ImageSparseSampleImplicitLod 4293 4294 MinLod 4295
- 4297: 7(f16vec4) CompositeExtract 4296 1
- Store 4264(texel) 4297
- 4298: 47(int) CompositeExtract 4296 0
- 4299: 184 Load 186(sCube)
- 4300:175(f16vec3) Load 177(f16c3)
- 4301:6(float16_t) Load 4274(f16lodClamp)
- 4302:6(float16_t) Load 137(f16bias)
- 4303:3102(ResType) ImageSparseSampleImplicitLod 4299 4300 Bias MinLod 4302 4301
- 4304: 7(f16vec4) CompositeExtract 4303 1
- Store 4264(texel) 4304
- 4305: 47(int) CompositeExtract 4303 0
- 4306: 224 Load 226(s2DShadow)
- 4307: 167(fvec3) Load 169(c3)
- 4308: 52(float) Load 4267(lodClamp)
- 4309: 208(ptr) AccessChain 4264(texel) 207
- 4310: 52(float) CompositeExtract 4307 2
- 4311:3138(ResType) ImageSparseSampleDrefImplicitLod 4306 4307 4310 MinLod 4308
- 4312:6(float16_t) CompositeExtract 4311 1
- Store 4309 4312
- 4313: 47(int) CompositeExtract 4311 0
- 4314: 224 Load 226(s2DShadow)
- 4315:154(f16vec2) Load 156(f16c2)
- 4316: 52(float) Load 215(compare)
- 4317:6(float16_t) Load 4274(f16lodClamp)
- 4318: 208(ptr) AccessChain 4264(texel) 207
- 4319:6(float16_t) Load 137(f16bias)
- 4320:3138(ResType) ImageSparseSampleDrefImplicitLod 4314 4315 4316 Bias MinLod 4319 4317
- 4321:6(float16_t) CompositeExtract 4320 1
- Store 4318 4321
- 4322: 47(int) CompositeExtract 4320 0
- 4323: 245 Load 247(sCubeShadow)
- 4324: 249(fvec4) Load 251(c4)
- 4325: 52(float) Load 4267(lodClamp)
- 4326: 208(ptr) AccessChain 4264(texel) 207
- 4327: 52(float) CompositeExtract 4324 3
- 4328:3138(ResType) ImageSparseSampleDrefImplicitLod 4323 4324 4327 MinLod 4325
- 4329:6(float16_t) CompositeExtract 4328 1
- Store 4326 4329
- 4330: 47(int) CompositeExtract 4328 0
- 4331: 245 Load 247(sCubeShadow)
- 4332:175(f16vec3) Load 177(f16c3)
- 4333: 52(float) Load 215(compare)
- 4334:6(float16_t) Load 4274(f16lodClamp)
- 4335: 208(ptr) AccessChain 4264(texel) 207
- 4336:6(float16_t) Load 137(f16bias)
- 4337:3138(ResType) ImageSparseSampleDrefImplicitLod 4331 4332 4333 Bias MinLod 4336 4334
- 4338:6(float16_t) CompositeExtract 4337 1
- Store 4335 4338
- 4339: 47(int) CompositeExtract 4337 0
- 4340: 284 Load 286(s2DArray)
- 4341: 167(fvec3) Load 169(c3)
- 4342: 52(float) Load 4267(lodClamp)
- 4343:3102(ResType) ImageSparseSampleImplicitLod 4340 4341 MinLod 4342
- 4344: 7(f16vec4) CompositeExtract 4343 1
- Store 4264(texel) 4344
- 4345: 47(int) CompositeExtract 4343 0
- 4346: 284 Load 286(s2DArray)
- 4347:175(f16vec3) Load 177(f16c3)
- 4348:6(float16_t) Load 4274(f16lodClamp)
- 4349:6(float16_t) Load 137(f16bias)
- 4350:3102(ResType) ImageSparseSampleImplicitLod 4346 4347 Bias MinLod 4349 4348
- 4351: 7(f16vec4) CompositeExtract 4350 1
- Store 4264(texel) 4351
- 4352: 47(int) CompositeExtract 4350 0
- 4353: 299 Load 301(sCubeArray)
- 4354: 249(fvec4) Load 251(c4)
- 4355: 52(float) Load 4267(lodClamp)
- 4356:3102(ResType) ImageSparseSampleImplicitLod 4353 4354 MinLod 4355
- 4357: 7(f16vec4) CompositeExtract 4356 1
- Store 4264(texel) 4357
- 4358: 47(int) CompositeExtract 4356 0
- 4359: 299 Load 301(sCubeArray)
- 4360: 7(f16vec4) Load 309(f16c4)
- 4361:6(float16_t) Load 4274(f16lodClamp)
- 4362:6(float16_t) Load 137(f16bias)
- 4363:3102(ResType) ImageSparseSampleImplicitLod 4359 4360 Bias MinLod 4362 4361
- 4364: 7(f16vec4) CompositeExtract 4363 1
- Store 4264(texel) 4364
- 4365: 47(int) CompositeExtract 4363 0
- 4366: 337 Load 339(s2DArrayShadow)
- 4367: 249(fvec4) Load 251(c4)
- 4368: 52(float) Load 4267(lodClamp)
- 4369: 208(ptr) AccessChain 4264(texel) 207
- 4370: 52(float) CompositeExtract 4367 3
- 4371:3138(ResType) ImageSparseSampleDrefImplicitLod 4366 4367 4370 MinLod 4368
- 4372:6(float16_t) CompositeExtract 4371 1
- Store 4369 4372
- 4373: 47(int) CompositeExtract 4371 0
- 4374: 337 Load 339(s2DArrayShadow)
- 4375:175(f16vec3) Load 177(f16c3)
- 4376: 52(float) Load 215(compare)
- 4377:6(float16_t) Load 4274(f16lodClamp)
- 4378: 208(ptr) AccessChain 4264(texel) 207
- 4379:3138(ResType) ImageSparseSampleDrefImplicitLod 4374 4375 4376 MinLod 4377
- 4380:6(float16_t) CompositeExtract 4379 1
- Store 4378 4380
- 4381: 47(int) CompositeExtract 4379 0
- 4382: 391 Load 393(sCubeArrayShadow)
- 4383: 249(fvec4) Load 251(c4)
- 4384: 52(float) Load 215(compare)
- 4385: 52(float) Load 4267(lodClamp)
- 4386: 208(ptr) AccessChain 4264(texel) 207
- 4387:3138(ResType) ImageSparseSampleDrefImplicitLod 4382 4383 4384 MinLod 4385
- 4388:6(float16_t) CompositeExtract 4387 1
- Store 4386 4388
+ 4308(texel): 64(ptr) Variable Function
+ Store 4308(texel) 121
+ 4309: 143 Load 145(s2D)
+ 4310: 53(fvec2) Load 148(c2)
+ 4312: 52(float) Load 4311(lodClamp)
+ 4313:3146(ResType) ImageSparseSampleImplicitLod 4309 4310 MinLod 4312
+ 4314: 7(f16vec4) CompositeExtract 4313 1
+ Store 4308(texel) 4314
+ 4315: 47(int) CompositeExtract 4313 0
+ 4316: 143 Load 145(s2D)
+ 4317:154(f16vec2) Load 156(f16c2)
+ 4319:6(float16_t) Load 4318(f16lodClamp)
+ 4320:6(float16_t) Load 137(f16bias)
+ 4321:3146(ResType) ImageSparseSampleImplicitLod 4316 4317 Bias MinLod 4320 4319
+ 4322: 7(f16vec4) CompositeExtract 4321 1
+ Store 4308(texel) 4322
+ 4323: 47(int) CompositeExtract 4321 0
+ 4324: 163 Load 165(s3D)
+ 4325: 167(fvec3) Load 169(c3)
+ 4326: 52(float) Load 4311(lodClamp)
+ 4327:3146(ResType) ImageSparseSampleImplicitLod 4324 4325 MinLod 4326
+ 4328: 7(f16vec4) CompositeExtract 4327 1
+ Store 4308(texel) 4328
+ 4329: 47(int) CompositeExtract 4327 0
+ 4330: 163 Load 165(s3D)
+ 4331:175(f16vec3) Load 177(f16c3)
+ 4332:6(float16_t) Load 4318(f16lodClamp)
+ 4333:6(float16_t) Load 137(f16bias)
+ 4334:3146(ResType) ImageSparseSampleImplicitLod 4330 4331 Bias MinLod 4333 4332
+ 4335: 7(f16vec4) CompositeExtract 4334 1
+ Store 4308(texel) 4335
+ 4336: 47(int) CompositeExtract 4334 0
+ 4337: 184 Load 186(sCube)
+ 4338: 167(fvec3) Load 169(c3)
+ 4339: 52(float) Load 4311(lodClamp)
+ 4340:3146(ResType) ImageSparseSampleImplicitLod 4337 4338 MinLod 4339
+ 4341: 7(f16vec4) CompositeExtract 4340 1
+ Store 4308(texel) 4341
+ 4342: 47(int) CompositeExtract 4340 0
+ 4343: 184 Load 186(sCube)
+ 4344:175(f16vec3) Load 177(f16c3)
+ 4345:6(float16_t) Load 4318(f16lodClamp)
+ 4346:6(float16_t) Load 137(f16bias)
+ 4347:3146(ResType) ImageSparseSampleImplicitLod 4343 4344 Bias MinLod 4346 4345
+ 4348: 7(f16vec4) CompositeExtract 4347 1
+ Store 4308(texel) 4348
+ 4349: 47(int) CompositeExtract 4347 0
+ 4350: 224 Load 226(s2DShadow)
+ 4351: 167(fvec3) Load 169(c3)
+ 4352: 52(float) Load 4311(lodClamp)
+ 4353: 208(ptr) AccessChain 4308(texel) 207
+ 4354: 52(float) CompositeExtract 4351 2
+ 4355:3182(ResType) ImageSparseSampleDrefImplicitLod 4350 4351 4354 MinLod 4352
+ 4356:6(float16_t) CompositeExtract 4355 1
+ Store 4353 4356
+ 4357: 47(int) CompositeExtract 4355 0
+ 4358: 224 Load 226(s2DShadow)
+ 4359:154(f16vec2) Load 156(f16c2)
+ 4360: 52(float) Load 215(compare)
+ 4361:6(float16_t) Load 4318(f16lodClamp)
+ 4362: 208(ptr) AccessChain 4308(texel) 207
+ 4363:6(float16_t) Load 137(f16bias)
+ 4364:3182(ResType) ImageSparseSampleDrefImplicitLod 4358 4359 4360 Bias MinLod 4363 4361
+ 4365:6(float16_t) CompositeExtract 4364 1
+ Store 4362 4365
+ 4366: 47(int) CompositeExtract 4364 0
+ 4367: 245 Load 247(sCubeShadow)
+ 4368: 249(fvec4) Load 251(c4)
+ 4369: 52(float) Load 4311(lodClamp)
+ 4370: 208(ptr) AccessChain 4308(texel) 207
+ 4371: 52(float) CompositeExtract 4368 3
+ 4372:3182(ResType) ImageSparseSampleDrefImplicitLod 4367 4368 4371 MinLod 4369
+ 4373:6(float16_t) CompositeExtract 4372 1
+ Store 4370 4373
+ 4374: 47(int) CompositeExtract 4372 0
+ 4375: 245 Load 247(sCubeShadow)
+ 4376:175(f16vec3) Load 177(f16c3)
+ 4377: 52(float) Load 215(compare)
+ 4378:6(float16_t) Load 4318(f16lodClamp)
+ 4379: 208(ptr) AccessChain 4308(texel) 207
+ 4380:6(float16_t) Load 137(f16bias)
+ 4381:3182(ResType) ImageSparseSampleDrefImplicitLod 4375 4376 4377 Bias MinLod 4380 4378
+ 4382:6(float16_t) CompositeExtract 4381 1
+ Store 4379 4382
+ 4383: 47(int) CompositeExtract 4381 0
+ 4384: 284 Load 286(s2DArray)
+ 4385: 167(fvec3) Load 169(c3)
+ 4386: 52(float) Load 4311(lodClamp)
+ 4387:3146(ResType) ImageSparseSampleImplicitLod 4384 4385 MinLod 4386
+ 4388: 7(f16vec4) CompositeExtract 4387 1
+ Store 4308(texel) 4388
4389: 47(int) CompositeExtract 4387 0
- 4390: 391 Load 393(sCubeArrayShadow)
- 4391: 7(f16vec4) Load 309(f16c4)
- 4392: 52(float) Load 215(compare)
- 4393:6(float16_t) Load 4274(f16lodClamp)
- 4394: 208(ptr) AccessChain 4264(texel) 207
- 4395:3138(ResType) ImageSparseSampleDrefImplicitLod 4390 4391 4392 MinLod 4393
- 4396:6(float16_t) CompositeExtract 4395 1
- Store 4394 4396
- 4397: 47(int) CompositeExtract 4395 0
- 4398: 7(f16vec4) Load 4264(texel)
- ReturnValue 4398
+ 4390: 284 Load 286(s2DArray)
+ 4391:175(f16vec3) Load 177(f16c3)
+ 4392:6(float16_t) Load 4318(f16lodClamp)
+ 4393:6(float16_t) Load 137(f16bias)
+ 4394:3146(ResType) ImageSparseSampleImplicitLod 4390 4391 Bias MinLod 4393 4392
+ 4395: 7(f16vec4) CompositeExtract 4394 1
+ Store 4308(texel) 4395
+ 4396: 47(int) CompositeExtract 4394 0
+ 4397: 299 Load 301(sCubeArray)
+ 4398: 249(fvec4) Load 251(c4)
+ 4399: 52(float) Load 4311(lodClamp)
+ 4400:3146(ResType) ImageSparseSampleImplicitLod 4397 4398 MinLod 4399
+ 4401: 7(f16vec4) CompositeExtract 4400 1
+ Store 4308(texel) 4401
+ 4402: 47(int) CompositeExtract 4400 0
+ 4403: 299 Load 301(sCubeArray)
+ 4404: 7(f16vec4) Load 309(f16c4)
+ 4405:6(float16_t) Load 4318(f16lodClamp)
+ 4406:6(float16_t) Load 137(f16bias)
+ 4407:3146(ResType) ImageSparseSampleImplicitLod 4403 4404 Bias MinLod 4406 4405
+ 4408: 7(f16vec4) CompositeExtract 4407 1
+ Store 4308(texel) 4408
+ 4409: 47(int) CompositeExtract 4407 0
+ 4410: 337 Load 339(s2DArrayShadow)
+ 4411: 249(fvec4) Load 251(c4)
+ 4412: 52(float) Load 4311(lodClamp)
+ 4413: 208(ptr) AccessChain 4308(texel) 207
+ 4414: 52(float) CompositeExtract 4411 3
+ 4415:3182(ResType) ImageSparseSampleDrefImplicitLod 4410 4411 4414 MinLod 4412
+ 4416:6(float16_t) CompositeExtract 4415 1
+ Store 4413 4416
+ 4417: 47(int) CompositeExtract 4415 0
+ 4418: 337 Load 339(s2DArrayShadow)
+ 4419:175(f16vec3) Load 177(f16c3)
+ 4420: 52(float) Load 215(compare)
+ 4421:6(float16_t) Load 4318(f16lodClamp)
+ 4422: 208(ptr) AccessChain 4308(texel) 207
+ 4423:3182(ResType) ImageSparseSampleDrefImplicitLod 4418 4419 4420 MinLod 4421
+ 4424:6(float16_t) CompositeExtract 4423 1
+ Store 4422 4424
+ 4425: 47(int) CompositeExtract 4423 0
+ 4426: 391 Load 393(sCubeArrayShadow)
+ 4427: 249(fvec4) Load 251(c4)
+ 4428: 52(float) Load 215(compare)
+ 4429: 52(float) Load 4311(lodClamp)
+ 4430: 208(ptr) AccessChain 4308(texel) 207
+ 4431:3182(ResType) ImageSparseSampleDrefImplicitLod 4426 4427 4428 MinLod 4429
+ 4432:6(float16_t) CompositeExtract 4431 1
+ Store 4430 4432
+ 4433: 47(int) CompositeExtract 4431 0
+ 4434: 391 Load 393(sCubeArrayShadow)
+ 4435: 7(f16vec4) Load 309(f16c4)
+ 4436: 52(float) Load 215(compare)
+ 4437:6(float16_t) Load 4318(f16lodClamp)
+ 4438: 208(ptr) AccessChain 4308(texel) 207
+ 4439:3182(ResType) ImageSparseSampleDrefImplicitLod 4434 4435 4436 MinLod 4437
+ 4440:6(float16_t) CompositeExtract 4439 1
+ Store 4438 4440
+ 4441: 47(int) CompositeExtract 4439 0
+ 4442: 7(f16vec4) Load 4308(texel)
+ ReturnValue 4442
FunctionEnd
101(testTextureClamp(): 7(f16vec4) Function None 8
102: Label
- 4401(texel): 64(ptr) Variable Function
- Store 4401(texel) 121
- 4402: 123 Load 125(s1D)
- 4403: 52(float) Load 128(c1)
- 4404: 52(float) Load 4267(lodClamp)
- 4405: 7(f16vec4) ImageSampleImplicitLod 4402 4403 MinLod 4404
- 4406: 7(f16vec4) Load 4401(texel)
- 4407: 7(f16vec4) FAdd 4406 4405
- Store 4401(texel) 4407
- 4408: 123 Load 125(s1D)
- 4409:6(float16_t) Load 135(f16c1)
- 4410:6(float16_t) Load 4274(f16lodClamp)
- 4411:6(float16_t) Load 137(f16bias)
- 4412: 7(f16vec4) ImageSampleImplicitLod 4408 4409 Bias MinLod 4411 4410
- 4413: 7(f16vec4) Load 4401(texel)
- 4414: 7(f16vec4) FAdd 4413 4412
- Store 4401(texel) 4414
- 4415: 143 Load 145(s2D)
- 4416: 53(fvec2) Load 148(c2)
- 4417: 52(float) Load 4267(lodClamp)
- 4418: 7(f16vec4) ImageSampleImplicitLod 4415 4416 MinLod 4417
- 4419: 7(f16vec4) Load 4401(texel)
- 4420: 7(f16vec4) FAdd 4419 4418
- Store 4401(texel) 4420
- 4421: 143 Load 145(s2D)
- 4422:154(f16vec2) Load 156(f16c2)
- 4423:6(float16_t) Load 4274(f16lodClamp)
- 4424:6(float16_t) Load 137(f16bias)
- 4425: 7(f16vec4) ImageSampleImplicitLod 4421 4422 Bias MinLod 4424 4423
- 4426: 7(f16vec4) Load 4401(texel)
- 4427: 7(f16vec4) FAdd 4426 4425
- Store 4401(texel) 4427
- 4428: 163 Load 165(s3D)
- 4429: 167(fvec3) Load 169(c3)
- 4430: 52(float) Load 4267(lodClamp)
- 4431: 7(f16vec4) ImageSampleImplicitLod 4428 4429 MinLod 4430
- 4432: 7(f16vec4) Load 4401(texel)
- 4433: 7(f16vec4) FAdd 4432 4431
- Store 4401(texel) 4433
- 4434: 163 Load 165(s3D)
- 4435:175(f16vec3) Load 177(f16c3)
- 4436:6(float16_t) Load 4274(f16lodClamp)
- 4437:6(float16_t) Load 137(f16bias)
- 4438: 7(f16vec4) ImageSampleImplicitLod 4434 4435 Bias MinLod 4437 4436
- 4439: 7(f16vec4) Load 4401(texel)
- 4440: 7(f16vec4) FAdd 4439 4438
- Store 4401(texel) 4440
- 4441: 184 Load 186(sCube)
- 4442: 167(fvec3) Load 169(c3)
- 4443: 52(float) Load 4267(lodClamp)
- 4444: 7(f16vec4) ImageSampleImplicitLod 4441 4442 MinLod 4443
- 4445: 7(f16vec4) Load 4401(texel)
- 4446: 7(f16vec4) FAdd 4445 4444
- Store 4401(texel) 4446
- 4447: 184 Load 186(sCube)
- 4448:175(f16vec3) Load 177(f16c3)
- 4449:6(float16_t) Load 4274(f16lodClamp)
- 4450:6(float16_t) Load 137(f16bias)
- 4451: 7(f16vec4) ImageSampleImplicitLod 4447 4448 Bias MinLod 4450 4449
- 4452: 7(f16vec4) Load 4401(texel)
- 4453: 7(f16vec4) FAdd 4452 4451
- Store 4401(texel) 4453
- 4454: 199 Load 201(s1DShadow)
- 4455: 167(fvec3) Load 169(c3)
- 4456: 52(float) Load 4267(lodClamp)
- 4457: 52(float) CompositeExtract 4455 2
- 4458:6(float16_t) ImageSampleDrefImplicitLod 4454 4455 4457 MinLod 4456
- 4459: 208(ptr) AccessChain 4401(texel) 207
- 4460:6(float16_t) Load 4459
- 4461:6(float16_t) FAdd 4460 4458
- 4462: 208(ptr) AccessChain 4401(texel) 207
- Store 4462 4461
- 4463: 199 Load 201(s1DShadow)
- 4464:154(f16vec2) Load 156(f16c2)
- 4465: 52(float) Load 215(compare)
- 4466:6(float16_t) Load 4274(f16lodClamp)
- 4467:6(float16_t) Load 137(f16bias)
- 4468:6(float16_t) ImageSampleDrefImplicitLod 4463 4464 4465 Bias MinLod 4467 4466
- 4469: 208(ptr) AccessChain 4401(texel) 207
- 4470:6(float16_t) Load 4469
- 4471:6(float16_t) FAdd 4470 4468
- 4472: 208(ptr) AccessChain 4401(texel) 207
- Store 4472 4471
- 4473: 224 Load 226(s2DShadow)
- 4474: 167(fvec3) Load 169(c3)
- 4475: 52(float) Load 4267(lodClamp)
- 4476: 52(float) CompositeExtract 4474 2
- 4477:6(float16_t) ImageSampleDrefImplicitLod 4473 4474 4476 MinLod 4475
- 4478: 208(ptr) AccessChain 4401(texel) 207
- 4479:6(float16_t) Load 4478
- 4480:6(float16_t) FAdd 4479 4477
- 4481: 208(ptr) AccessChain 4401(texel) 207
- Store 4481 4480
- 4482: 224 Load 226(s2DShadow)
- 4483:154(f16vec2) Load 156(f16c2)
- 4484: 52(float) Load 215(compare)
- 4485:6(float16_t) Load 4274(f16lodClamp)
- 4486:6(float16_t) Load 137(f16bias)
- 4487:6(float16_t) ImageSampleDrefImplicitLod 4482 4483 4484 Bias MinLod 4486 4485
- 4488: 208(ptr) AccessChain 4401(texel) 207
- 4489:6(float16_t) Load 4488
- 4490:6(float16_t) FAdd 4489 4487
- 4491: 208(ptr) AccessChain 4401(texel) 207
- Store 4491 4490
- 4492: 245 Load 247(sCubeShadow)
- 4493: 249(fvec4) Load 251(c4)
- 4494: 52(float) Load 4267(lodClamp)
- 4495: 52(float) CompositeExtract 4493 3
- 4496:6(float16_t) ImageSampleDrefImplicitLod 4492 4493 4495 MinLod 4494
- 4497: 208(ptr) AccessChain 4401(texel) 207
- 4498:6(float16_t) Load 4497
- 4499:6(float16_t) FAdd 4498 4496
- 4500: 208(ptr) AccessChain 4401(texel) 207
- Store 4500 4499
- 4501: 245 Load 247(sCubeShadow)
- 4502:175(f16vec3) Load 177(f16c3)
- 4503: 52(float) Load 215(compare)
- 4504:6(float16_t) Load 4274(f16lodClamp)
- 4505:6(float16_t) Load 137(f16bias)
- 4506:6(float16_t) ImageSampleDrefImplicitLod 4501 4502 4503 Bias MinLod 4505 4504
- 4507: 208(ptr) AccessChain 4401(texel) 207
- 4508:6(float16_t) Load 4507
- 4509:6(float16_t) FAdd 4508 4506
- 4510: 208(ptr) AccessChain 4401(texel) 207
- Store 4510 4509
- 4511: 269 Load 271(s1DArray)
- 4512: 53(fvec2) Load 148(c2)
- 4513: 52(float) Load 4267(lodClamp)
- 4514: 7(f16vec4) ImageSampleImplicitLod 4511 4512 MinLod 4513
- 4515: 7(f16vec4) Load 4401(texel)
- 4516: 7(f16vec4) FAdd 4515 4514
- Store 4401(texel) 4516
- 4517: 269 Load 271(s1DArray)
- 4518:154(f16vec2) Load 156(f16c2)
- 4519:6(float16_t) Load 4274(f16lodClamp)
- 4520:6(float16_t) Load 137(f16bias)
- 4521: 7(f16vec4) ImageSampleImplicitLod 4517 4518 Bias MinLod 4520 4519
- 4522: 7(f16vec4) Load 4401(texel)
- 4523: 7(f16vec4) FAdd 4522 4521
- Store 4401(texel) 4523
- 4524: 284 Load 286(s2DArray)
- 4525: 167(fvec3) Load 169(c3)
- 4526: 52(float) Load 4267(lodClamp)
- 4527: 7(f16vec4) ImageSampleImplicitLod 4524 4525 MinLod 4526
- 4528: 7(f16vec4) Load 4401(texel)
- 4529: 7(f16vec4) FAdd 4528 4527
- Store 4401(texel) 4529
- 4530: 284 Load 286(s2DArray)
- 4531:175(f16vec3) Load 177(f16c3)
- 4532:6(float16_t) Load 4274(f16lodClamp)
- 4533:6(float16_t) Load 137(f16bias)
- 4534: 7(f16vec4) ImageSampleImplicitLod 4530 4531 Bias MinLod 4533 4532
- 4535: 7(f16vec4) Load 4401(texel)
- 4536: 7(f16vec4) FAdd 4535 4534
- Store 4401(texel) 4536
- 4537: 299 Load 301(sCubeArray)
- 4538: 249(fvec4) Load 251(c4)
- 4539: 52(float) Load 4267(lodClamp)
- 4540: 7(f16vec4) ImageSampleImplicitLod 4537 4538 MinLod 4539
- 4541: 7(f16vec4) Load 4401(texel)
- 4542: 7(f16vec4) FAdd 4541 4540
- Store 4401(texel) 4542
- 4543: 299 Load 301(sCubeArray)
- 4544: 7(f16vec4) Load 309(f16c4)
- 4545:6(float16_t) Load 4274(f16lodClamp)
- 4546:6(float16_t) Load 137(f16bias)
- 4547: 7(f16vec4) ImageSampleImplicitLod 4543 4544 Bias MinLod 4546 4545
- 4548: 7(f16vec4) Load 4401(texel)
- 4549: 7(f16vec4) FAdd 4548 4547
- Store 4401(texel) 4549
- 4550: 316 Load 318(s1DArrayShadow)
- 4551: 167(fvec3) Load 169(c3)
- 4552: 52(float) Load 4267(lodClamp)
- 4553: 52(float) CompositeExtract 4551 2
- 4554:6(float16_t) ImageSampleDrefImplicitLod 4550 4551 4553 MinLod 4552
- 4555: 208(ptr) AccessChain 4401(texel) 207
- 4556:6(float16_t) Load 4555
- 4557:6(float16_t) FAdd 4556 4554
- 4558: 208(ptr) AccessChain 4401(texel) 207
- Store 4558 4557
- 4559: 316 Load 318(s1DArrayShadow)
- 4560:154(f16vec2) Load 156(f16c2)
- 4561: 52(float) Load 215(compare)
- 4562:6(float16_t) Load 4274(f16lodClamp)
- 4563:6(float16_t) Load 137(f16bias)
- 4564:6(float16_t) ImageSampleDrefImplicitLod 4559 4560 4561 Bias MinLod 4563 4562
- 4565: 208(ptr) AccessChain 4401(texel) 207
- 4566:6(float16_t) Load 4565
- 4567:6(float16_t) FAdd 4566 4564
- 4568: 208(ptr) AccessChain 4401(texel) 207
- Store 4568 4567
- 4569: 337 Load 339(s2DArrayShadow)
- 4570: 249(fvec4) Load 251(c4)
- 4571: 52(float) Load 4267(lodClamp)
- 4572: 52(float) CompositeExtract 4570 3
- 4573:6(float16_t) ImageSampleDrefImplicitLod 4569 4570 4572 MinLod 4571
- 4574: 208(ptr) AccessChain 4401(texel) 207
- 4575:6(float16_t) Load 4574
- 4576:6(float16_t) FAdd 4575 4573
- 4577: 208(ptr) AccessChain 4401(texel) 207
- Store 4577 4576
- 4578: 337 Load 339(s2DArrayShadow)
- 4579:175(f16vec3) Load 177(f16c3)
- 4580: 52(float) Load 215(compare)
- 4581:6(float16_t) Load 4274(f16lodClamp)
- 4582:6(float16_t) ImageSampleDrefImplicitLod 4578 4579 4580 MinLod 4581
- 4583: 208(ptr) AccessChain 4401(texel) 207
- 4584:6(float16_t) Load 4583
- 4585:6(float16_t) FAdd 4584 4582
- 4586: 208(ptr) AccessChain 4401(texel) 207
- Store 4586 4585
- 4587: 391 Load 393(sCubeArrayShadow)
- 4588: 249(fvec4) Load 251(c4)
- 4589: 52(float) Load 215(compare)
- 4590: 52(float) Load 4267(lodClamp)
- 4591:6(float16_t) ImageSampleDrefImplicitLod 4587 4588 4589 MinLod 4590
- 4592: 208(ptr) AccessChain 4401(texel) 207
- 4593:6(float16_t) Load 4592
- 4594:6(float16_t) FAdd 4593 4591
- 4595: 208(ptr) AccessChain 4401(texel) 207
- Store 4595 4594
- 4596: 391 Load 393(sCubeArrayShadow)
- 4597: 7(f16vec4) Load 309(f16c4)
- 4598: 52(float) Load 215(compare)
- 4599:6(float16_t) Load 4274(f16lodClamp)
- 4600:6(float16_t) ImageSampleDrefImplicitLod 4596 4597 4598 MinLod 4599
- 4601: 208(ptr) AccessChain 4401(texel) 207
- 4602:6(float16_t) Load 4601
- 4603:6(float16_t) FAdd 4602 4600
- 4604: 208(ptr) AccessChain 4401(texel) 207
- Store 4604 4603
- 4605: 7(f16vec4) Load 4401(texel)
- ReturnValue 4605
+ 4445(texel): 64(ptr) Variable Function
+ Store 4445(texel) 121
+ 4446: 123 Load 125(s1D)
+ 4447: 52(float) Load 128(c1)
+ 4448: 52(float) Load 4311(lodClamp)
+ 4449: 7(f16vec4) ImageSampleImplicitLod 4446 4447 MinLod 4448
+ 4450: 7(f16vec4) Load 4445(texel)
+ 4451: 7(f16vec4) FAdd 4450 4449
+ Store 4445(texel) 4451
+ 4452: 123 Load 125(s1D)
+ 4453:6(float16_t) Load 135(f16c1)
+ 4454:6(float16_t) Load 4318(f16lodClamp)
+ 4455:6(float16_t) Load 137(f16bias)
+ 4456: 7(f16vec4) ImageSampleImplicitLod 4452 4453 Bias MinLod 4455 4454
+ 4457: 7(f16vec4) Load 4445(texel)
+ 4458: 7(f16vec4) FAdd 4457 4456
+ Store 4445(texel) 4458
+ 4459: 143 Load 145(s2D)
+ 4460: 53(fvec2) Load 148(c2)
+ 4461: 52(float) Load 4311(lodClamp)
+ 4462: 7(f16vec4) ImageSampleImplicitLod 4459 4460 MinLod 4461
+ 4463: 7(f16vec4) Load 4445(texel)
+ 4464: 7(f16vec4) FAdd 4463 4462
+ Store 4445(texel) 4464
+ 4465: 143 Load 145(s2D)
+ 4466:154(f16vec2) Load 156(f16c2)
+ 4467:6(float16_t) Load 4318(f16lodClamp)
+ 4468:6(float16_t) Load 137(f16bias)
+ 4469: 7(f16vec4) ImageSampleImplicitLod 4465 4466 Bias MinLod 4468 4467
+ 4470: 7(f16vec4) Load 4445(texel)
+ 4471: 7(f16vec4) FAdd 4470 4469
+ Store 4445(texel) 4471
+ 4472: 163 Load 165(s3D)
+ 4473: 167(fvec3) Load 169(c3)
+ 4474: 52(float) Load 4311(lodClamp)
+ 4475: 7(f16vec4) ImageSampleImplicitLod 4472 4473 MinLod 4474
+ 4476: 7(f16vec4) Load 4445(texel)
+ 4477: 7(f16vec4) FAdd 4476 4475
+ Store 4445(texel) 4477
+ 4478: 163 Load 165(s3D)
+ 4479:175(f16vec3) Load 177(f16c3)
+ 4480:6(float16_t) Load 4318(f16lodClamp)
+ 4481:6(float16_t) Load 137(f16bias)
+ 4482: 7(f16vec4) ImageSampleImplicitLod 4478 4479 Bias MinLod 4481 4480
+ 4483: 7(f16vec4) Load 4445(texel)
+ 4484: 7(f16vec4) FAdd 4483 4482
+ Store 4445(texel) 4484
+ 4485: 184 Load 186(sCube)
+ 4486: 167(fvec3) Load 169(c3)
+ 4487: 52(float) Load 4311(lodClamp)
+ 4488: 7(f16vec4) ImageSampleImplicitLod 4485 4486 MinLod 4487
+ 4489: 7(f16vec4) Load 4445(texel)
+ 4490: 7(f16vec4) FAdd 4489 4488
+ Store 4445(texel) 4490
+ 4491: 184 Load 186(sCube)
+ 4492:175(f16vec3) Load 177(f16c3)
+ 4493:6(float16_t) Load 4318(f16lodClamp)
+ 4494:6(float16_t) Load 137(f16bias)
+ 4495: 7(f16vec4) ImageSampleImplicitLod 4491 4492 Bias MinLod 4494 4493
+ 4496: 7(f16vec4) Load 4445(texel)
+ 4497: 7(f16vec4) FAdd 4496 4495
+ Store 4445(texel) 4497
+ 4498: 199 Load 201(s1DShadow)
+ 4499: 167(fvec3) Load 169(c3)
+ 4500: 52(float) Load 4311(lodClamp)
+ 4501: 52(float) CompositeExtract 4499 2
+ 4502:6(float16_t) ImageSampleDrefImplicitLod 4498 4499 4501 MinLod 4500
+ 4503: 208(ptr) AccessChain 4445(texel) 207
+ 4504:6(float16_t) Load 4503
+ 4505:6(float16_t) FAdd 4504 4502
+ 4506: 208(ptr) AccessChain 4445(texel) 207
+ Store 4506 4505
+ 4507: 199 Load 201(s1DShadow)
+ 4508:154(f16vec2) Load 156(f16c2)
+ 4509: 52(float) Load 215(compare)
+ 4510:6(float16_t) Load 4318(f16lodClamp)
+ 4511:6(float16_t) Load 137(f16bias)
+ 4512:6(float16_t) ImageSampleDrefImplicitLod 4507 4508 4509 Bias MinLod 4511 4510
+ 4513: 208(ptr) AccessChain 4445(texel) 207
+ 4514:6(float16_t) Load 4513
+ 4515:6(float16_t) FAdd 4514 4512
+ 4516: 208(ptr) AccessChain 4445(texel) 207
+ Store 4516 4515
+ 4517: 224 Load 226(s2DShadow)
+ 4518: 167(fvec3) Load 169(c3)
+ 4519: 52(float) Load 4311(lodClamp)
+ 4520: 52(float) CompositeExtract 4518 2
+ 4521:6(float16_t) ImageSampleDrefImplicitLod 4517 4518 4520 MinLod 4519
+ 4522: 208(ptr) AccessChain 4445(texel) 207
+ 4523:6(float16_t) Load 4522
+ 4524:6(float16_t) FAdd 4523 4521
+ 4525: 208(ptr) AccessChain 4445(texel) 207
+ Store 4525 4524
+ 4526: 224 Load 226(s2DShadow)
+ 4527:154(f16vec2) Load 156(f16c2)
+ 4528: 52(float) Load 215(compare)
+ 4529:6(float16_t) Load 4318(f16lodClamp)
+ 4530:6(float16_t) Load 137(f16bias)
+ 4531:6(float16_t) ImageSampleDrefImplicitLod 4526 4527 4528 Bias MinLod 4530 4529
+ 4532: 208(ptr) AccessChain 4445(texel) 207
+ 4533:6(float16_t) Load 4532
+ 4534:6(float16_t) FAdd 4533 4531
+ 4535: 208(ptr) AccessChain 4445(texel) 207
+ Store 4535 4534
+ 4536: 245 Load 247(sCubeShadow)
+ 4537: 249(fvec4) Load 251(c4)
+ 4538: 52(float) Load 4311(lodClamp)
+ 4539: 52(float) CompositeExtract 4537 3
+ 4540:6(float16_t) ImageSampleDrefImplicitLod 4536 4537 4539 MinLod 4538
+ 4541: 208(ptr) AccessChain 4445(texel) 207
+ 4542:6(float16_t) Load 4541
+ 4543:6(float16_t) FAdd 4542 4540
+ 4544: 208(ptr) AccessChain 4445(texel) 207
+ Store 4544 4543
+ 4545: 245 Load 247(sCubeShadow)
+ 4546:175(f16vec3) Load 177(f16c3)
+ 4547: 52(float) Load 215(compare)
+ 4548:6(float16_t) Load 4318(f16lodClamp)
+ 4549:6(float16_t) Load 137(f16bias)
+ 4550:6(float16_t) ImageSampleDrefImplicitLod 4545 4546 4547 Bias MinLod 4549 4548
+ 4551: 208(ptr) AccessChain 4445(texel) 207
+ 4552:6(float16_t) Load 4551
+ 4553:6(float16_t) FAdd 4552 4550
+ 4554: 208(ptr) AccessChain 4445(texel) 207
+ Store 4554 4553
+ 4555: 269 Load 271(s1DArray)
+ 4556: 53(fvec2) Load 148(c2)
+ 4557: 52(float) Load 4311(lodClamp)
+ 4558: 7(f16vec4) ImageSampleImplicitLod 4555 4556 MinLod 4557
+ 4559: 7(f16vec4) Load 4445(texel)
+ 4560: 7(f16vec4) FAdd 4559 4558
+ Store 4445(texel) 4560
+ 4561: 269 Load 271(s1DArray)
+ 4562:154(f16vec2) Load 156(f16c2)
+ 4563:6(float16_t) Load 4318(f16lodClamp)
+ 4564:6(float16_t) Load 137(f16bias)
+ 4565: 7(f16vec4) ImageSampleImplicitLod 4561 4562 Bias MinLod 4564 4563
+ 4566: 7(f16vec4) Load 4445(texel)
+ 4567: 7(f16vec4) FAdd 4566 4565
+ Store 4445(texel) 4567
+ 4568: 284 Load 286(s2DArray)
+ 4569: 167(fvec3) Load 169(c3)
+ 4570: 52(float) Load 4311(lodClamp)
+ 4571: 7(f16vec4) ImageSampleImplicitLod 4568 4569 MinLod 4570
+ 4572: 7(f16vec4) Load 4445(texel)
+ 4573: 7(f16vec4) FAdd 4572 4571
+ Store 4445(texel) 4573
+ 4574: 284 Load 286(s2DArray)
+ 4575:175(f16vec3) Load 177(f16c3)
+ 4576:6(float16_t) Load 4318(f16lodClamp)
+ 4577:6(float16_t) Load 137(f16bias)
+ 4578: 7(f16vec4) ImageSampleImplicitLod 4574 4575 Bias MinLod 4577 4576
+ 4579: 7(f16vec4) Load 4445(texel)
+ 4580: 7(f16vec4) FAdd 4579 4578
+ Store 4445(texel) 4580
+ 4581: 299 Load 301(sCubeArray)
+ 4582: 249(fvec4) Load 251(c4)
+ 4583: 52(float) Load 4311(lodClamp)
+ 4584: 7(f16vec4) ImageSampleImplicitLod 4581 4582 MinLod 4583
+ 4585: 7(f16vec4) Load 4445(texel)
+ 4586: 7(f16vec4) FAdd 4585 4584
+ Store 4445(texel) 4586
+ 4587: 299 Load 301(sCubeArray)
+ 4588: 7(f16vec4) Load 309(f16c4)
+ 4589:6(float16_t) Load 4318(f16lodClamp)
+ 4590:6(float16_t) Load 137(f16bias)
+ 4591: 7(f16vec4) ImageSampleImplicitLod 4587 4588 Bias MinLod 4590 4589
+ 4592: 7(f16vec4) Load 4445(texel)
+ 4593: 7(f16vec4) FAdd 4592 4591
+ Store 4445(texel) 4593
+ 4594: 316 Load 318(s1DArrayShadow)
+ 4595: 167(fvec3) Load 169(c3)
+ 4596: 52(float) Load 4311(lodClamp)
+ 4597: 52(float) CompositeExtract 4595 2
+ 4598:6(float16_t) ImageSampleDrefImplicitLod 4594 4595 4597 MinLod 4596
+ 4599: 208(ptr) AccessChain 4445(texel) 207
+ 4600:6(float16_t) Load 4599
+ 4601:6(float16_t) FAdd 4600 4598
+ 4602: 208(ptr) AccessChain 4445(texel) 207
+ Store 4602 4601
+ 4603: 316 Load 318(s1DArrayShadow)
+ 4604:154(f16vec2) Load 156(f16c2)
+ 4605: 52(float) Load 215(compare)
+ 4606:6(float16_t) Load 4318(f16lodClamp)
+ 4607:6(float16_t) Load 137(f16bias)
+ 4608:6(float16_t) ImageSampleDrefImplicitLod 4603 4604 4605 Bias MinLod 4607 4606
+ 4609: 208(ptr) AccessChain 4445(texel) 207
+ 4610:6(float16_t) Load 4609
+ 4611:6(float16_t) FAdd 4610 4608
+ 4612: 208(ptr) AccessChain 4445(texel) 207
+ Store 4612 4611
+ 4613: 337 Load 339(s2DArrayShadow)
+ 4614: 249(fvec4) Load 251(c4)
+ 4615: 52(float) Load 4311(lodClamp)
+ 4616: 52(float) CompositeExtract 4614 3
+ 4617:6(float16_t) ImageSampleDrefImplicitLod 4613 4614 4616 MinLod 4615
+ 4618: 208(ptr) AccessChain 4445(texel) 207
+ 4619:6(float16_t) Load 4618
+ 4620:6(float16_t) FAdd 4619 4617
+ 4621: 208(ptr) AccessChain 4445(texel) 207
+ Store 4621 4620
+ 4622: 337 Load 339(s2DArrayShadow)
+ 4623:175(f16vec3) Load 177(f16c3)
+ 4624: 52(float) Load 215(compare)
+ 4625:6(float16_t) Load 4318(f16lodClamp)
+ 4626:6(float16_t) ImageSampleDrefImplicitLod 4622 4623 4624 MinLod 4625
+ 4627: 208(ptr) AccessChain 4445(texel) 207
+ 4628:6(float16_t) Load 4627
+ 4629:6(float16_t) FAdd 4628 4626
+ 4630: 208(ptr) AccessChain 4445(texel) 207
+ Store 4630 4629
+ 4631: 391 Load 393(sCubeArrayShadow)
+ 4632: 249(fvec4) Load 251(c4)
+ 4633: 52(float) Load 215(compare)
+ 4634: 52(float) Load 4311(lodClamp)
+ 4635:6(float16_t) ImageSampleDrefImplicitLod 4631 4632 4633 MinLod 4634
+ 4636: 208(ptr) AccessChain 4445(texel) 207
+ 4637:6(float16_t) Load 4636
+ 4638:6(float16_t) FAdd 4637 4635
+ 4639: 208(ptr) AccessChain 4445(texel) 207
+ Store 4639 4638
+ 4640: 391 Load 393(sCubeArrayShadow)
+ 4641: 7(f16vec4) Load 309(f16c4)
+ 4642: 52(float) Load 215(compare)
+ 4643:6(float16_t) Load 4318(f16lodClamp)
+ 4644:6(float16_t) ImageSampleDrefImplicitLod 4640 4641 4642 MinLod 4643
+ 4645: 208(ptr) AccessChain 4445(texel) 207
+ 4646:6(float16_t) Load 4645
+ 4647:6(float16_t) FAdd 4646 4644
+ 4648: 208(ptr) AccessChain 4445(texel) 207
+ Store 4648 4647
+ 4649: 7(f16vec4) Load 4445(texel)
+ ReturnValue 4649
FunctionEnd
103(testSparseTextureOffsetClamp(): 7(f16vec4) Function None 8
104: Label
- 4608(texel): 64(ptr) Variable Function
- Store 4608(texel) 121
- 4609: 143 Load 145(s2D)
- 4610: 53(fvec2) Load 148(c2)
- 4611: 52(float) Load 4267(lodClamp)
- 4612:3102(ResType) ImageSparseSampleImplicitLod 4609 4610 ConstOffset MinLod 722 4611
- 4613: 7(f16vec4) CompositeExtract 4612 1
- Store 4608(texel) 4613
- 4614: 47(int) CompositeExtract 4612 0
- 4615: 143 Load 145(s2D)
- 4616:154(f16vec2) Load 156(f16c2)
- 4617:6(float16_t) Load 4274(f16lodClamp)
- 4618:6(float16_t) Load 137(f16bias)
- 4619:3102(ResType) ImageSparseSampleImplicitLod 4615 4616 Bias ConstOffset MinLod 4618 722 4617
- 4620: 7(f16vec4) CompositeExtract 4619 1
- Store 4608(texel) 4620
- 4621: 47(int) CompositeExtract 4619 0
- 4622: 163 Load 165(s3D)
- 4623: 167(fvec3) Load 169(c3)
- 4624: 52(float) Load 4267(lodClamp)
- 4625:3102(ResType) ImageSparseSampleImplicitLod 4622 4623 ConstOffset MinLod 735 4624
- 4626: 7(f16vec4) CompositeExtract 4625 1
- Store 4608(texel) 4626
- 4627: 47(int) CompositeExtract 4625 0
- 4628: 163 Load 165(s3D)
- 4629:175(f16vec3) Load 177(f16c3)
- 4630:6(float16_t) Load 4274(f16lodClamp)
- 4631:6(float16_t) Load 137(f16bias)
- 4632:3102(ResType) ImageSparseSampleImplicitLod 4628 4629 Bias ConstOffset MinLod 4631 735 4630
- 4633: 7(f16vec4) CompositeExtract 4632 1
- Store 4608(texel) 4633
- 4634: 47(int) CompositeExtract 4632 0
- 4635: 224 Load 226(s2DShadow)
- 4636: 167(fvec3) Load 169(c3)
- 4637: 52(float) Load 4267(lodClamp)
- 4638: 208(ptr) AccessChain 4608(texel) 207
- 4639: 52(float) CompositeExtract 4636 2
- 4640:3138(ResType) ImageSparseSampleDrefImplicitLod 4635 4636 4639 ConstOffset MinLod 722 4637
- 4641:6(float16_t) CompositeExtract 4640 1
- Store 4638 4641
- 4642: 47(int) CompositeExtract 4640 0
- 4643: 224 Load 226(s2DShadow)
- 4644:154(f16vec2) Load 156(f16c2)
- 4645: 52(float) Load 215(compare)
- 4646:6(float16_t) Load 4274(f16lodClamp)
- 4647: 208(ptr) AccessChain 4608(texel) 207
- 4648:6(float16_t) Load 137(f16bias)
- 4649:3138(ResType) ImageSparseSampleDrefImplicitLod 4643 4644 4645 Bias ConstOffset MinLod 4648 722 4646
- 4650:6(float16_t) CompositeExtract 4649 1
- Store 4647 4650
- 4651: 47(int) CompositeExtract 4649 0
- 4652: 284 Load 286(s2DArray)
- 4653: 167(fvec3) Load 169(c3)
- 4654: 52(float) Load 4267(lodClamp)
- 4655:3102(ResType) ImageSparseSampleImplicitLod 4652 4653 ConstOffset MinLod 722 4654
- 4656: 7(f16vec4) CompositeExtract 4655 1
- Store 4608(texel) 4656
- 4657: 47(int) CompositeExtract 4655 0
- 4658: 284 Load 286(s2DArray)
- 4659:175(f16vec3) Load 177(f16c3)
- 4660:6(float16_t) Load 4274(f16lodClamp)
- 4661:6(float16_t) Load 137(f16bias)
- 4662:3102(ResType) ImageSparseSampleImplicitLod 4658 4659 Bias ConstOffset MinLod 4661 722 4660
- 4663: 7(f16vec4) CompositeExtract 4662 1
- Store 4608(texel) 4663
- 4664: 47(int) CompositeExtract 4662 0
- 4665: 337 Load 339(s2DArrayShadow)
- 4666: 249(fvec4) Load 251(c4)
- 4667: 52(float) Load 4267(lodClamp)
- 4668: 208(ptr) AccessChain 4608(texel) 207
- 4669: 52(float) CompositeExtract 4666 3
- 4670:3138(ResType) ImageSparseSampleDrefImplicitLod 4665 4666 4669 ConstOffset MinLod 722 4667
- 4671:6(float16_t) CompositeExtract 4670 1
- Store 4668 4671
- 4672: 47(int) CompositeExtract 4670 0
- 4673: 337 Load 339(s2DArrayShadow)
- 4674:175(f16vec3) Load 177(f16c3)
- 4675: 52(float) Load 215(compare)
- 4676:6(float16_t) Load 4274(f16lodClamp)
- 4677: 208(ptr) AccessChain 4608(texel) 207
- 4678:3138(ResType) ImageSparseSampleDrefImplicitLod 4673 4674 4675 ConstOffset MinLod 722 4676
- 4679:6(float16_t) CompositeExtract 4678 1
- Store 4677 4679
- 4680: 47(int) CompositeExtract 4678 0
- 4681: 7(f16vec4) Load 4608(texel)
- ReturnValue 4681
+ 4652(texel): 64(ptr) Variable Function
+ Store 4652(texel) 121
+ 4653: 143 Load 145(s2D)
+ 4654: 53(fvec2) Load 148(c2)
+ 4655: 52(float) Load 4311(lodClamp)
+ 4656:3146(ResType) ImageSparseSampleImplicitLod 4653 4654 ConstOffset MinLod 722 4655
+ 4657: 7(f16vec4) CompositeExtract 4656 1
+ Store 4652(texel) 4657
+ 4658: 47(int) CompositeExtract 4656 0
+ 4659: 143 Load 145(s2D)
+ 4660:154(f16vec2) Load 156(f16c2)
+ 4661:6(float16_t) Load 4318(f16lodClamp)
+ 4662:6(float16_t) Load 137(f16bias)
+ 4663:3146(ResType) ImageSparseSampleImplicitLod 4659 4660 Bias ConstOffset MinLod 4662 722 4661
+ 4664: 7(f16vec4) CompositeExtract 4663 1
+ Store 4652(texel) 4664
+ 4665: 47(int) CompositeExtract 4663 0
+ 4666: 163 Load 165(s3D)
+ 4667: 167(fvec3) Load 169(c3)
+ 4668: 52(float) Load 4311(lodClamp)
+ 4669:3146(ResType) ImageSparseSampleImplicitLod 4666 4667 ConstOffset MinLod 735 4668
+ 4670: 7(f16vec4) CompositeExtract 4669 1
+ Store 4652(texel) 4670
+ 4671: 47(int) CompositeExtract 4669 0
+ 4672: 163 Load 165(s3D)
+ 4673:175(f16vec3) Load 177(f16c3)
+ 4674:6(float16_t) Load 4318(f16lodClamp)
+ 4675:6(float16_t) Load 137(f16bias)
+ 4676:3146(ResType) ImageSparseSampleImplicitLod 4672 4673 Bias ConstOffset MinLod 4675 735 4674
+ 4677: 7(f16vec4) CompositeExtract 4676 1
+ Store 4652(texel) 4677
+ 4678: 47(int) CompositeExtract 4676 0
+ 4679: 224 Load 226(s2DShadow)
+ 4680: 167(fvec3) Load 169(c3)
+ 4681: 52(float) Load 4311(lodClamp)
+ 4682: 208(ptr) AccessChain 4652(texel) 207
+ 4683: 52(float) CompositeExtract 4680 2
+ 4684:3182(ResType) ImageSparseSampleDrefImplicitLod 4679 4680 4683 ConstOffset MinLod 722 4681
+ 4685:6(float16_t) CompositeExtract 4684 1
+ Store 4682 4685
+ 4686: 47(int) CompositeExtract 4684 0
+ 4687: 224 Load 226(s2DShadow)
+ 4688:154(f16vec2) Load 156(f16c2)
+ 4689: 52(float) Load 215(compare)
+ 4690:6(float16_t) Load 4318(f16lodClamp)
+ 4691: 208(ptr) AccessChain 4652(texel) 207
+ 4692:6(float16_t) Load 137(f16bias)
+ 4693:3182(ResType) ImageSparseSampleDrefImplicitLod 4687 4688 4689 Bias ConstOffset MinLod 4692 722 4690
+ 4694:6(float16_t) CompositeExtract 4693 1
+ Store 4691 4694
+ 4695: 47(int) CompositeExtract 4693 0
+ 4696: 284 Load 286(s2DArray)
+ 4697: 167(fvec3) Load 169(c3)
+ 4698: 52(float) Load 4311(lodClamp)
+ 4699:3146(ResType) ImageSparseSampleImplicitLod 4696 4697 ConstOffset MinLod 722 4698
+ 4700: 7(f16vec4) CompositeExtract 4699 1
+ Store 4652(texel) 4700
+ 4701: 47(int) CompositeExtract 4699 0
+ 4702: 284 Load 286(s2DArray)
+ 4703:175(f16vec3) Load 177(f16c3)
+ 4704:6(float16_t) Load 4318(f16lodClamp)
+ 4705:6(float16_t) Load 137(f16bias)
+ 4706:3146(ResType) ImageSparseSampleImplicitLod 4702 4703 Bias ConstOffset MinLod 4705 722 4704
+ 4707: 7(f16vec4) CompositeExtract 4706 1
+ Store 4652(texel) 4707
+ 4708: 47(int) CompositeExtract 4706 0
+ 4709: 337 Load 339(s2DArrayShadow)
+ 4710: 249(fvec4) Load 251(c4)
+ 4711: 52(float) Load 4311(lodClamp)
+ 4712: 208(ptr) AccessChain 4652(texel) 207
+ 4713: 52(float) CompositeExtract 4710 3
+ 4714:3182(ResType) ImageSparseSampleDrefImplicitLod 4709 4710 4713 ConstOffset MinLod 722 4711
+ 4715:6(float16_t) CompositeExtract 4714 1
+ Store 4712 4715
+ 4716: 47(int) CompositeExtract 4714 0
+ 4717: 337 Load 339(s2DArrayShadow)
+ 4718:175(f16vec3) Load 177(f16c3)
+ 4719: 52(float) Load 215(compare)
+ 4720:6(float16_t) Load 4318(f16lodClamp)
+ 4721: 208(ptr) AccessChain 4652(texel) 207
+ 4722:3182(ResType) ImageSparseSampleDrefImplicitLod 4717 4718 4719 ConstOffset MinLod 722 4720
+ 4723:6(float16_t) CompositeExtract 4722 1
+ Store 4721 4723
+ 4724: 47(int) CompositeExtract 4722 0
+ 4725: 7(f16vec4) Load 4652(texel)
+ ReturnValue 4725
FunctionEnd
105(testTextureOffsetClamp(): 7(f16vec4) Function None 8
106: Label
- 4684(texel): 64(ptr) Variable Function
- Store 4684(texel) 121
- 4685: 123 Load 125(s1D)
- 4686: 52(float) Load 128(c1)
- 4687: 52(float) Load 4267(lodClamp)
- 4688: 7(f16vec4) ImageSampleImplicitLod 4685 4686 ConstOffset MinLod 709 4687
- 4689: 7(f16vec4) Load 4684(texel)
- 4690: 7(f16vec4) FAdd 4689 4688
- Store 4684(texel) 4690
- 4691: 123 Load 125(s1D)
- 4692:6(float16_t) Load 135(f16c1)
- 4693:6(float16_t) Load 4274(f16lodClamp)
- 4694:6(float16_t) Load 137(f16bias)
- 4695: 7(f16vec4) ImageSampleImplicitLod 4691 4692 Bias ConstOffset MinLod 4694 709 4693
- 4696: 7(f16vec4) Load 4684(texel)
- 4697: 7(f16vec4) FAdd 4696 4695
- Store 4684(texel) 4697
- 4698: 143 Load 145(s2D)
- 4699: 53(fvec2) Load 148(c2)
- 4700: 52(float) Load 4267(lodClamp)
- 4701: 7(f16vec4) ImageSampleImplicitLod 4698 4699 ConstOffset MinLod 722 4700
- 4702: 7(f16vec4) Load 4684(texel)
- 4703: 7(f16vec4) FAdd 4702 4701
- Store 4684(texel) 4703
- 4704: 143 Load 145(s2D)
- 4705:154(f16vec2) Load 156(f16c2)
- 4706:6(float16_t) Load 4274(f16lodClamp)
- 4707:6(float16_t) Load 137(f16bias)
- 4708: 7(f16vec4) ImageSampleImplicitLod 4704 4705 Bias ConstOffset MinLod 4707 722 4706
- 4709: 7(f16vec4) Load 4684(texel)
- 4710: 7(f16vec4) FAdd 4709 4708
- Store 4684(texel) 4710
- 4711: 163 Load 165(s3D)
- 4712: 167(fvec3) Load 169(c3)
- 4713: 52(float) Load 4267(lodClamp)
- 4714: 7(f16vec4) ImageSampleImplicitLod 4711 4712 ConstOffset MinLod 735 4713
- 4715: 7(f16vec4) Load 4684(texel)
- 4716: 7(f16vec4) FAdd 4715 4714
- Store 4684(texel) 4716
- 4717: 163 Load 165(s3D)
- 4718:175(f16vec3) Load 177(f16c3)
- 4719:6(float16_t) Load 4274(f16lodClamp)
- 4720:6(float16_t) Load 137(f16bias)
- 4721: 7(f16vec4) ImageSampleImplicitLod 4717 4718 Bias ConstOffset MinLod 4720 735 4719
- 4722: 7(f16vec4) Load 4684(texel)
- 4723: 7(f16vec4) FAdd 4722 4721
- Store 4684(texel) 4723
- 4724: 199 Load 201(s1DShadow)
- 4725: 167(fvec3) Load 169(c3)
- 4726: 52(float) Load 4267(lodClamp)
- 4727: 52(float) CompositeExtract 4725 2
- 4728:6(float16_t) ImageSampleDrefImplicitLod 4724 4725 4727 ConstOffset MinLod 709 4726
- 4729: 208(ptr) AccessChain 4684(texel) 207
- 4730:6(float16_t) Load 4729
- 4731:6(float16_t) FAdd 4730 4728
- 4732: 208(ptr) AccessChain 4684(texel) 207
- Store 4732 4731
- 4733: 199 Load 201(s1DShadow)
- 4734:154(f16vec2) Load 156(f16c2)
- 4735: 52(float) Load 215(compare)
- 4736:6(float16_t) Load 4274(f16lodClamp)
- 4737:6(float16_t) Load 137(f16bias)
- 4738:6(float16_t) ImageSampleDrefImplicitLod 4733 4734 4735 Bias ConstOffset MinLod 4737 709 4736
- 4739: 208(ptr) AccessChain 4684(texel) 207
- 4740:6(float16_t) Load 4739
- 4741:6(float16_t) FAdd 4740 4738
- 4742: 208(ptr) AccessChain 4684(texel) 207
- Store 4742 4741
- 4743: 224 Load 226(s2DShadow)
- 4744: 167(fvec3) Load 169(c3)
- 4745: 52(float) Load 4267(lodClamp)
- 4746: 52(float) CompositeExtract 4744 2
- 4747:6(float16_t) ImageSampleDrefImplicitLod 4743 4744 4746 ConstOffset MinLod 722 4745
- 4748: 208(ptr) AccessChain 4684(texel) 207
- 4749:6(float16_t) Load 4748
- 4750:6(float16_t) FAdd 4749 4747
- 4751: 208(ptr) AccessChain 4684(texel) 207
- Store 4751 4750
- 4752: 224 Load 226(s2DShadow)
- 4753:154(f16vec2) Load 156(f16c2)
- 4754: 52(float) Load 215(compare)
- 4755:6(float16_t) Load 4274(f16lodClamp)
- 4756:6(float16_t) Load 137(f16bias)
- 4757:6(float16_t) ImageSampleDrefImplicitLod 4752 4753 4754 Bias ConstOffset MinLod 4756 722 4755
- 4758: 208(ptr) AccessChain 4684(texel) 207
- 4759:6(float16_t) Load 4758
- 4760:6(float16_t) FAdd 4759 4757
- 4761: 208(ptr) AccessChain 4684(texel) 207
- Store 4761 4760
- 4762: 269 Load 271(s1DArray)
- 4763: 53(fvec2) Load 148(c2)
- 4764: 52(float) Load 4267(lodClamp)
- 4765: 7(f16vec4) ImageSampleImplicitLod 4762 4763 ConstOffset MinLod 709 4764
- 4766: 7(f16vec4) Load 4684(texel)
+ 4728(texel): 64(ptr) Variable Function
+ Store 4728(texel) 121
+ 4729: 123 Load 125(s1D)
+ 4730: 52(float) Load 128(c1)
+ 4731: 52(float) Load 4311(lodClamp)
+ 4732: 7(f16vec4) ImageSampleImplicitLod 4729 4730 ConstOffset MinLod 709 4731
+ 4733: 7(f16vec4) Load 4728(texel)
+ 4734: 7(f16vec4) FAdd 4733 4732
+ Store 4728(texel) 4734
+ 4735: 123 Load 125(s1D)
+ 4736:6(float16_t) Load 135(f16c1)
+ 4737:6(float16_t) Load 4318(f16lodClamp)
+ 4738:6(float16_t) Load 137(f16bias)
+ 4739: 7(f16vec4) ImageSampleImplicitLod 4735 4736 Bias ConstOffset MinLod 4738 709 4737
+ 4740: 7(f16vec4) Load 4728(texel)
+ 4741: 7(f16vec4) FAdd 4740 4739
+ Store 4728(texel) 4741
+ 4742: 143 Load 145(s2D)
+ 4743: 53(fvec2) Load 148(c2)
+ 4744: 52(float) Load 4311(lodClamp)
+ 4745: 7(f16vec4) ImageSampleImplicitLod 4742 4743 ConstOffset MinLod 722 4744
+ 4746: 7(f16vec4) Load 4728(texel)
+ 4747: 7(f16vec4) FAdd 4746 4745
+ Store 4728(texel) 4747
+ 4748: 143 Load 145(s2D)
+ 4749:154(f16vec2) Load 156(f16c2)
+ 4750:6(float16_t) Load 4318(f16lodClamp)
+ 4751:6(float16_t) Load 137(f16bias)
+ 4752: 7(f16vec4) ImageSampleImplicitLod 4748 4749 Bias ConstOffset MinLod 4751 722 4750
+ 4753: 7(f16vec4) Load 4728(texel)
+ 4754: 7(f16vec4) FAdd 4753 4752
+ Store 4728(texel) 4754
+ 4755: 163 Load 165(s3D)
+ 4756: 167(fvec3) Load 169(c3)
+ 4757: 52(float) Load 4311(lodClamp)
+ 4758: 7(f16vec4) ImageSampleImplicitLod 4755 4756 ConstOffset MinLod 735 4757
+ 4759: 7(f16vec4) Load 4728(texel)
+ 4760: 7(f16vec4) FAdd 4759 4758
+ Store 4728(texel) 4760
+ 4761: 163 Load 165(s3D)
+ 4762:175(f16vec3) Load 177(f16c3)
+ 4763:6(float16_t) Load 4318(f16lodClamp)
+ 4764:6(float16_t) Load 137(f16bias)
+ 4765: 7(f16vec4) ImageSampleImplicitLod 4761 4762 Bias ConstOffset MinLod 4764 735 4763
+ 4766: 7(f16vec4) Load 4728(texel)
4767: 7(f16vec4) FAdd 4766 4765
- Store 4684(texel) 4767
- 4768: 269 Load 271(s1DArray)
- 4769:154(f16vec2) Load 156(f16c2)
- 4770:6(float16_t) Load 4274(f16lodClamp)
- 4771:6(float16_t) Load 137(f16bias)
- 4772: 7(f16vec4) ImageSampleImplicitLod 4768 4769 Bias ConstOffset MinLod 4771 709 4770
- 4773: 7(f16vec4) Load 4684(texel)
- 4774: 7(f16vec4) FAdd 4773 4772
- Store 4684(texel) 4774
- 4775: 284 Load 286(s2DArray)
- 4776: 167(fvec3) Load 169(c3)
- 4777: 52(float) Load 4267(lodClamp)
- 4778: 7(f16vec4) ImageSampleImplicitLod 4775 4776 ConstOffset MinLod 722 4777
- 4779: 7(f16vec4) Load 4684(texel)
- 4780: 7(f16vec4) FAdd 4779 4778
- Store 4684(texel) 4780
- 4781: 284 Load 286(s2DArray)
- 4782:175(f16vec3) Load 177(f16c3)
- 4783:6(float16_t) Load 4274(f16lodClamp)
- 4784:6(float16_t) Load 137(f16bias)
- 4785: 7(f16vec4) ImageSampleImplicitLod 4781 4782 Bias ConstOffset MinLod 4784 722 4783
- 4786: 7(f16vec4) Load 4684(texel)
- 4787: 7(f16vec4) FAdd 4786 4785
- Store 4684(texel) 4787
- 4788: 316 Load 318(s1DArrayShadow)
- 4789: 167(fvec3) Load 169(c3)
- 4790: 52(float) Load 4267(lodClamp)
- 4791: 52(float) CompositeExtract 4789 2
- 4792:6(float16_t) ImageSampleDrefImplicitLod 4788 4789 4791 ConstOffset MinLod 709 4790
- 4793: 208(ptr) AccessChain 4684(texel) 207
- 4794:6(float16_t) Load 4793
- 4795:6(float16_t) FAdd 4794 4792
- 4796: 208(ptr) AccessChain 4684(texel) 207
- Store 4796 4795
- 4797: 316 Load 318(s1DArrayShadow)
- 4798:154(f16vec2) Load 156(f16c2)
- 4799: 52(float) Load 215(compare)
- 4800:6(float16_t) Load 4274(f16lodClamp)
- 4801:6(float16_t) Load 137(f16bias)
- 4802:6(float16_t) ImageSampleDrefImplicitLod 4797 4798 4799 Bias ConstOffset MinLod 4801 709 4800
- 4803: 208(ptr) AccessChain 4684(texel) 207
- 4804:6(float16_t) Load 4803
- 4805:6(float16_t) FAdd 4804 4802
- 4806: 208(ptr) AccessChain 4684(texel) 207
- Store 4806 4805
- 4807: 337 Load 339(s2DArrayShadow)
- 4808: 249(fvec4) Load 251(c4)
- 4809: 52(float) Load 4267(lodClamp)
- 4810: 52(float) CompositeExtract 4808 3
- 4811:6(float16_t) ImageSampleDrefImplicitLod 4807 4808 4810 ConstOffset MinLod 722 4809
- 4812: 208(ptr) AccessChain 4684(texel) 207
- 4813:6(float16_t) Load 4812
- 4814:6(float16_t) FAdd 4813 4811
- 4815: 208(ptr) AccessChain 4684(texel) 207
- Store 4815 4814
- 4816: 337 Load 339(s2DArrayShadow)
- 4817:175(f16vec3) Load 177(f16c3)
- 4818: 52(float) Load 215(compare)
- 4819:6(float16_t) Load 4274(f16lodClamp)
- 4820:6(float16_t) ImageSampleDrefImplicitLod 4816 4817 4818 ConstOffset MinLod 722 4819
- 4821: 208(ptr) AccessChain 4684(texel) 207
- 4822:6(float16_t) Load 4821
- 4823:6(float16_t) FAdd 4822 4820
- 4824: 208(ptr) AccessChain 4684(texel) 207
- Store 4824 4823
- 4825: 7(f16vec4) Load 4684(texel)
- ReturnValue 4825
+ Store 4728(texel) 4767
+ 4768: 199 Load 201(s1DShadow)
+ 4769: 167(fvec3) Load 169(c3)
+ 4770: 52(float) Load 4311(lodClamp)
+ 4771: 52(float) CompositeExtract 4769 2
+ 4772:6(float16_t) ImageSampleDrefImplicitLod 4768 4769 4771 ConstOffset MinLod 709 4770
+ 4773: 208(ptr) AccessChain 4728(texel) 207
+ 4774:6(float16_t) Load 4773
+ 4775:6(float16_t) FAdd 4774 4772
+ 4776: 208(ptr) AccessChain 4728(texel) 207
+ Store 4776 4775
+ 4777: 199 Load 201(s1DShadow)
+ 4778:154(f16vec2) Load 156(f16c2)
+ 4779: 52(float) Load 215(compare)
+ 4780:6(float16_t) Load 4318(f16lodClamp)
+ 4781:6(float16_t) Load 137(f16bias)
+ 4782:6(float16_t) ImageSampleDrefImplicitLod 4777 4778 4779 Bias ConstOffset MinLod 4781 709 4780
+ 4783: 208(ptr) AccessChain 4728(texel) 207
+ 4784:6(float16_t) Load 4783
+ 4785:6(float16_t) FAdd 4784 4782
+ 4786: 208(ptr) AccessChain 4728(texel) 207
+ Store 4786 4785
+ 4787: 224 Load 226(s2DShadow)
+ 4788: 167(fvec3) Load 169(c3)
+ 4789: 52(float) Load 4311(lodClamp)
+ 4790: 52(float) CompositeExtract 4788 2
+ 4791:6(float16_t) ImageSampleDrefImplicitLod 4787 4788 4790 ConstOffset MinLod 722 4789
+ 4792: 208(ptr) AccessChain 4728(texel) 207
+ 4793:6(float16_t) Load 4792
+ 4794:6(float16_t) FAdd 4793 4791
+ 4795: 208(ptr) AccessChain 4728(texel) 207
+ Store 4795 4794
+ 4796: 224 Load 226(s2DShadow)
+ 4797:154(f16vec2) Load 156(f16c2)
+ 4798: 52(float) Load 215(compare)
+ 4799:6(float16_t) Load 4318(f16lodClamp)
+ 4800:6(float16_t) Load 137(f16bias)
+ 4801:6(float16_t) ImageSampleDrefImplicitLod 4796 4797 4798 Bias ConstOffset MinLod 4800 722 4799
+ 4802: 208(ptr) AccessChain 4728(texel) 207
+ 4803:6(float16_t) Load 4802
+ 4804:6(float16_t) FAdd 4803 4801
+ 4805: 208(ptr) AccessChain 4728(texel) 207
+ Store 4805 4804
+ 4806: 269 Load 271(s1DArray)
+ 4807: 53(fvec2) Load 148(c2)
+ 4808: 52(float) Load 4311(lodClamp)
+ 4809: 7(f16vec4) ImageSampleImplicitLod 4806 4807 ConstOffset MinLod 709 4808
+ 4810: 7(f16vec4) Load 4728(texel)
+ 4811: 7(f16vec4) FAdd 4810 4809
+ Store 4728(texel) 4811
+ 4812: 269 Load 271(s1DArray)
+ 4813:154(f16vec2) Load 156(f16c2)
+ 4814:6(float16_t) Load 4318(f16lodClamp)
+ 4815:6(float16_t) Load 137(f16bias)
+ 4816: 7(f16vec4) ImageSampleImplicitLod 4812 4813 Bias ConstOffset MinLod 4815 709 4814
+ 4817: 7(f16vec4) Load 4728(texel)
+ 4818: 7(f16vec4) FAdd 4817 4816
+ Store 4728(texel) 4818
+ 4819: 284 Load 286(s2DArray)
+ 4820: 167(fvec3) Load 169(c3)
+ 4821: 52(float) Load 4311(lodClamp)
+ 4822: 7(f16vec4) ImageSampleImplicitLod 4819 4820 ConstOffset MinLod 722 4821
+ 4823: 7(f16vec4) Load 4728(texel)
+ 4824: 7(f16vec4) FAdd 4823 4822
+ Store 4728(texel) 4824
+ 4825: 284 Load 286(s2DArray)
+ 4826:175(f16vec3) Load 177(f16c3)
+ 4827:6(float16_t) Load 4318(f16lodClamp)
+ 4828:6(float16_t) Load 137(f16bias)
+ 4829: 7(f16vec4) ImageSampleImplicitLod 4825 4826 Bias ConstOffset MinLod 4828 722 4827
+ 4830: 7(f16vec4) Load 4728(texel)
+ 4831: 7(f16vec4) FAdd 4830 4829
+ Store 4728(texel) 4831
+ 4832: 316 Load 318(s1DArrayShadow)
+ 4833: 167(fvec3) Load 169(c3)
+ 4834: 52(float) Load 4311(lodClamp)
+ 4835: 52(float) CompositeExtract 4833 2
+ 4836:6(float16_t) ImageSampleDrefImplicitLod 4832 4833 4835 ConstOffset MinLod 709 4834
+ 4837: 208(ptr) AccessChain 4728(texel) 207
+ 4838:6(float16_t) Load 4837
+ 4839:6(float16_t) FAdd 4838 4836
+ 4840: 208(ptr) AccessChain 4728(texel) 207
+ Store 4840 4839
+ 4841: 316 Load 318(s1DArrayShadow)
+ 4842:154(f16vec2) Load 156(f16c2)
+ 4843: 52(float) Load 215(compare)
+ 4844:6(float16_t) Load 4318(f16lodClamp)
+ 4845:6(float16_t) Load 137(f16bias)
+ 4846:6(float16_t) ImageSampleDrefImplicitLod 4841 4842 4843 Bias ConstOffset MinLod 4845 709 4844
+ 4847: 208(ptr) AccessChain 4728(texel) 207
+ 4848:6(float16_t) Load 4847
+ 4849:6(float16_t) FAdd 4848 4846
+ 4850: 208(ptr) AccessChain 4728(texel) 207
+ Store 4850 4849
+ 4851: 337 Load 339(s2DArrayShadow)
+ 4852: 249(fvec4) Load 251(c4)
+ 4853: 52(float) Load 4311(lodClamp)
+ 4854: 52(float) CompositeExtract 4852 3
+ 4855:6(float16_t) ImageSampleDrefImplicitLod 4851 4852 4854 ConstOffset MinLod 722 4853
+ 4856: 208(ptr) AccessChain 4728(texel) 207
+ 4857:6(float16_t) Load 4856
+ 4858:6(float16_t) FAdd 4857 4855
+ 4859: 208(ptr) AccessChain 4728(texel) 207
+ Store 4859 4858
+ 4860: 337 Load 339(s2DArrayShadow)
+ 4861:175(f16vec3) Load 177(f16c3)
+ 4862: 52(float) Load 215(compare)
+ 4863:6(float16_t) Load 4318(f16lodClamp)
+ 4864:6(float16_t) ImageSampleDrefImplicitLod 4860 4861 4862 ConstOffset MinLod 722 4863
+ 4865: 208(ptr) AccessChain 4728(texel) 207
+ 4866:6(float16_t) Load 4865
+ 4867:6(float16_t) FAdd 4866 4864
+ 4868: 208(ptr) AccessChain 4728(texel) 207
+ Store 4868 4867
+ 4869: 7(f16vec4) Load 4728(texel)
+ ReturnValue 4869
FunctionEnd
107(testSparseTextureGradClamp(): 7(f16vec4) Function None 8
108: Label
- 4828(texel): 64(ptr) Variable Function
- Store 4828(texel) 121
- 4829: 143 Load 145(s2D)
- 4830: 53(fvec2) Load 148(c2)
- 4831: 53(fvec2) Load 1409(dPdxy2)
- 4832: 53(fvec2) Load 1409(dPdxy2)
- 4833: 52(float) Load 4267(lodClamp)
- 4834:3102(ResType) ImageSparseSampleExplicitLod 4829 4830 Grad MinLod 4831 4832 4833
- 4835: 7(f16vec4) CompositeExtract 4834 1
- Store 4828(texel) 4835
- 4836: 47(int) CompositeExtract 4834 0
- 4837: 143 Load 145(s2D)
- 4838:154(f16vec2) Load 156(f16c2)
- 4839:154(f16vec2) Load 1417(f16dPdxy2)
- 4840:154(f16vec2) Load 1417(f16dPdxy2)
- 4841:6(float16_t) Load 4274(f16lodClamp)
- 4842:3102(ResType) ImageSparseSampleExplicitLod 4837 4838 Grad MinLod 4839 4840 4841
- 4843: 7(f16vec4) CompositeExtract 4842 1
- Store 4828(texel) 4843
- 4844: 47(int) CompositeExtract 4842 0
- 4845: 163 Load 165(s3D)
- 4846: 167(fvec3) Load 169(c3)
- 4847: 167(fvec3) Load 1425(dPdxy3)
- 4848: 167(fvec3) Load 1425(dPdxy3)
- 4849: 52(float) Load 4267(lodClamp)
- 4850:3102(ResType) ImageSparseSampleExplicitLod 4845 4846 Grad MinLod 4847 4848 4849
- 4851: 7(f16vec4) CompositeExtract 4850 1
- Store 4828(texel) 4851
- 4852: 47(int) CompositeExtract 4850 0
- 4853: 163 Load 165(s3D)
- 4854:175(f16vec3) Load 177(f16c3)
- 4855:175(f16vec3) Load 1433(f16dPdxy3)
- 4856:175(f16vec3) Load 1433(f16dPdxy3)
- 4857:6(float16_t) Load 4274(f16lodClamp)
- 4858:3102(ResType) ImageSparseSampleExplicitLod 4853 4854 Grad MinLod 4855 4856 4857
- 4859: 7(f16vec4) CompositeExtract 4858 1
- Store 4828(texel) 4859
- 4860: 47(int) CompositeExtract 4858 0
- 4861: 184 Load 186(sCube)
- 4862: 167(fvec3) Load 169(c3)
- 4863: 167(fvec3) Load 1425(dPdxy3)
- 4864: 167(fvec3) Load 1425(dPdxy3)
- 4865: 52(float) Load 4267(lodClamp)
- 4866:3102(ResType) ImageSparseSampleExplicitLod 4861 4862 Grad MinLod 4863 4864 4865
- 4867: 7(f16vec4) CompositeExtract 4866 1
- Store 4828(texel) 4867
- 4868: 47(int) CompositeExtract 4866 0
- 4869: 184 Load 186(sCube)
- 4870:175(f16vec3) Load 177(f16c3)
- 4871:175(f16vec3) Load 1433(f16dPdxy3)
- 4872:175(f16vec3) Load 1433(f16dPdxy3)
- 4873:6(float16_t) Load 4274(f16lodClamp)
- 4874:3102(ResType) ImageSparseSampleExplicitLod 4869 4870 Grad MinLod 4871 4872 4873
- 4875: 7(f16vec4) CompositeExtract 4874 1
- Store 4828(texel) 4875
- 4876: 47(int) CompositeExtract 4874 0
- 4877: 224 Load 226(s2DShadow)
- 4878: 167(fvec3) Load 169(c3)
- 4879: 53(fvec2) Load 1409(dPdxy2)
- 4880: 53(fvec2) Load 1409(dPdxy2)
- 4881: 52(float) Load 4267(lodClamp)
- 4882: 208(ptr) AccessChain 4828(texel) 207
- 4883: 52(float) CompositeExtract 4878 2
- 4884:3138(ResType) ImageSparseSampleDrefExplicitLod 4877 4878 4883 Grad MinLod 4879 4880 4881
- 4885:6(float16_t) CompositeExtract 4884 1
- Store 4882 4885
- 4886: 47(int) CompositeExtract 4884 0
- 4887: 224 Load 226(s2DShadow)
- 4888:154(f16vec2) Load 156(f16c2)
- 4889: 52(float) Load 215(compare)
- 4890:154(f16vec2) Load 1417(f16dPdxy2)
- 4891:154(f16vec2) Load 1417(f16dPdxy2)
- 4892:6(float16_t) Load 4274(f16lodClamp)
- 4893: 208(ptr) AccessChain 4828(texel) 207
- 4894:3138(ResType) ImageSparseSampleDrefExplicitLod 4887 4888 4889 Grad MinLod 4890 4891 4892
- 4895:6(float16_t) CompositeExtract 4894 1
- Store 4893 4895
+ 4872(texel): 64(ptr) Variable Function
+ Store 4872(texel) 121
+ 4873: 143 Load 145(s2D)
+ 4874: 53(fvec2) Load 148(c2)
+ 4875: 53(fvec2) Load 1409(dPdxy2)
+ 4876: 53(fvec2) Load 1409(dPdxy2)
+ 4877: 52(float) Load 4311(lodClamp)
+ 4878:3146(ResType) ImageSparseSampleExplicitLod 4873 4874 Grad MinLod 4875 4876 4877
+ 4879: 7(f16vec4) CompositeExtract 4878 1
+ Store 4872(texel) 4879
+ 4880: 47(int) CompositeExtract 4878 0
+ 4881: 143 Load 145(s2D)
+ 4882:154(f16vec2) Load 156(f16c2)
+ 4883:154(f16vec2) Load 1417(f16dPdxy2)
+ 4884:154(f16vec2) Load 1417(f16dPdxy2)
+ 4885:6(float16_t) Load 4318(f16lodClamp)
+ 4886:3146(ResType) ImageSparseSampleExplicitLod 4881 4882 Grad MinLod 4883 4884 4885
+ 4887: 7(f16vec4) CompositeExtract 4886 1
+ Store 4872(texel) 4887
+ 4888: 47(int) CompositeExtract 4886 0
+ 4889: 163 Load 165(s3D)
+ 4890: 167(fvec3) Load 169(c3)
+ 4891: 167(fvec3) Load 1425(dPdxy3)
+ 4892: 167(fvec3) Load 1425(dPdxy3)
+ 4893: 52(float) Load 4311(lodClamp)
+ 4894:3146(ResType) ImageSparseSampleExplicitLod 4889 4890 Grad MinLod 4891 4892 4893
+ 4895: 7(f16vec4) CompositeExtract 4894 1
+ Store 4872(texel) 4895
4896: 47(int) CompositeExtract 4894 0
- 4897: 245 Load 247(sCubeShadow)
- 4898: 249(fvec4) Load 251(c4)
- 4899: 167(fvec3) Load 1425(dPdxy3)
- 4900: 167(fvec3) Load 1425(dPdxy3)
- 4901: 52(float) Load 4267(lodClamp)
- 4902: 208(ptr) AccessChain 4828(texel) 207
- 4903: 52(float) CompositeExtract 4898 3
- 4904:3138(ResType) ImageSparseSampleDrefExplicitLod 4897 4898 4903 Grad MinLod 4899 4900 4901
- 4905:6(float16_t) CompositeExtract 4904 1
- Store 4902 4905
- 4906: 47(int) CompositeExtract 4904 0
- 4907: 245 Load 247(sCubeShadow)
- 4908:175(f16vec3) Load 177(f16c3)
- 4909: 52(float) Load 215(compare)
- 4910:175(f16vec3) Load 1433(f16dPdxy3)
- 4911:175(f16vec3) Load 1433(f16dPdxy3)
- 4912:6(float16_t) Load 4274(f16lodClamp)
- 4913: 208(ptr) AccessChain 4828(texel) 207
- 4914:3138(ResType) ImageSparseSampleDrefExplicitLod 4907 4908 4909 Grad MinLod 4910 4911 4912
- 4915:6(float16_t) CompositeExtract 4914 1
- Store 4913 4915
- 4916: 47(int) CompositeExtract 4914 0
- 4917: 284 Load 286(s2DArray)
- 4918: 167(fvec3) Load 169(c3)
- 4919: 53(fvec2) Load 1409(dPdxy2)
- 4920: 53(fvec2) Load 1409(dPdxy2)
- 4921: 52(float) Load 4267(lodClamp)
- 4922:3102(ResType) ImageSparseSampleExplicitLod 4917 4918 Grad MinLod 4919 4920 4921
- 4923: 7(f16vec4) CompositeExtract 4922 1
- Store 4828(texel) 4923
- 4924: 47(int) CompositeExtract 4922 0
- 4925: 284 Load 286(s2DArray)
- 4926:175(f16vec3) Load 177(f16c3)
- 4927:154(f16vec2) Load 1417(f16dPdxy2)
- 4928:154(f16vec2) Load 1417(f16dPdxy2)
- 4929:6(float16_t) Load 4274(f16lodClamp)
- 4930:3102(ResType) ImageSparseSampleExplicitLod 4925 4926 Grad MinLod 4927 4928 4929
- 4931: 7(f16vec4) CompositeExtract 4930 1
- Store 4828(texel) 4931
- 4932: 47(int) CompositeExtract 4930 0
- 4933: 337 Load 339(s2DArrayShadow)
- 4934: 249(fvec4) Load 251(c4)
- 4935: 53(fvec2) Load 1409(dPdxy2)
- 4936: 53(fvec2) Load 1409(dPdxy2)
- 4937: 52(float) Load 4267(lodClamp)
- 4938: 208(ptr) AccessChain 4828(texel) 207
- 4939: 52(float) CompositeExtract 4934 3
- 4940:3138(ResType) ImageSparseSampleDrefExplicitLod 4933 4934 4939 Grad MinLod 4935 4936 4937
- 4941:6(float16_t) CompositeExtract 4940 1
- Store 4938 4941
- 4942: 47(int) CompositeExtract 4940 0
- 4943: 337 Load 339(s2DArrayShadow)
- 4944:175(f16vec3) Load 177(f16c3)
- 4945: 52(float) Load 215(compare)
- 4946:154(f16vec2) Load 1417(f16dPdxy2)
- 4947:154(f16vec2) Load 1417(f16dPdxy2)
- 4948:6(float16_t) Load 4274(f16lodClamp)
- 4949: 208(ptr) AccessChain 4828(texel) 207
- 4950:3138(ResType) ImageSparseSampleDrefExplicitLod 4943 4944 4945 Grad MinLod 4946 4947 4948
- 4951:6(float16_t) CompositeExtract 4950 1
- Store 4949 4951
- 4952: 47(int) CompositeExtract 4950 0
- 4953: 299 Load 301(sCubeArray)
- 4954: 249(fvec4) Load 251(c4)
- 4955: 167(fvec3) Load 1425(dPdxy3)
- 4956: 167(fvec3) Load 1425(dPdxy3)
- 4957: 52(float) Load 4267(lodClamp)
- 4958:3102(ResType) ImageSparseSampleExplicitLod 4953 4954 Grad MinLod 4955 4956 4957
- 4959: 7(f16vec4) CompositeExtract 4958 1
- Store 4828(texel) 4959
+ 4897: 163 Load 165(s3D)
+ 4898:175(f16vec3) Load 177(f16c3)
+ 4899:175(f16vec3) Load 1433(f16dPdxy3)
+ 4900:175(f16vec3) Load 1433(f16dPdxy3)
+ 4901:6(float16_t) Load 4318(f16lodClamp)
+ 4902:3146(ResType) ImageSparseSampleExplicitLod 4897 4898 Grad MinLod 4899 4900 4901
+ 4903: 7(f16vec4) CompositeExtract 4902 1
+ Store 4872(texel) 4903
+ 4904: 47(int) CompositeExtract 4902 0
+ 4905: 184 Load 186(sCube)
+ 4906: 167(fvec3) Load 169(c3)
+ 4907: 167(fvec3) Load 1425(dPdxy3)
+ 4908: 167(fvec3) Load 1425(dPdxy3)
+ 4909: 52(float) Load 4311(lodClamp)
+ 4910:3146(ResType) ImageSparseSampleExplicitLod 4905 4906 Grad MinLod 4907 4908 4909
+ 4911: 7(f16vec4) CompositeExtract 4910 1
+ Store 4872(texel) 4911
+ 4912: 47(int) CompositeExtract 4910 0
+ 4913: 184 Load 186(sCube)
+ 4914:175(f16vec3) Load 177(f16c3)
+ 4915:175(f16vec3) Load 1433(f16dPdxy3)
+ 4916:175(f16vec3) Load 1433(f16dPdxy3)
+ 4917:6(float16_t) Load 4318(f16lodClamp)
+ 4918:3146(ResType) ImageSparseSampleExplicitLod 4913 4914 Grad MinLod 4915 4916 4917
+ 4919: 7(f16vec4) CompositeExtract 4918 1
+ Store 4872(texel) 4919
+ 4920: 47(int) CompositeExtract 4918 0
+ 4921: 224 Load 226(s2DShadow)
+ 4922: 167(fvec3) Load 169(c3)
+ 4923: 53(fvec2) Load 1409(dPdxy2)
+ 4924: 53(fvec2) Load 1409(dPdxy2)
+ 4925: 52(float) Load 4311(lodClamp)
+ 4926: 208(ptr) AccessChain 4872(texel) 207
+ 4927: 52(float) CompositeExtract 4922 2
+ 4928:3182(ResType) ImageSparseSampleDrefExplicitLod 4921 4922 4927 Grad MinLod 4923 4924 4925
+ 4929:6(float16_t) CompositeExtract 4928 1
+ Store 4926 4929
+ 4930: 47(int) CompositeExtract 4928 0
+ 4931: 224 Load 226(s2DShadow)
+ 4932:154(f16vec2) Load 156(f16c2)
+ 4933: 52(float) Load 215(compare)
+ 4934:154(f16vec2) Load 1417(f16dPdxy2)
+ 4935:154(f16vec2) Load 1417(f16dPdxy2)
+ 4936:6(float16_t) Load 4318(f16lodClamp)
+ 4937: 208(ptr) AccessChain 4872(texel) 207
+ 4938:3182(ResType) ImageSparseSampleDrefExplicitLod 4931 4932 4933 Grad MinLod 4934 4935 4936
+ 4939:6(float16_t) CompositeExtract 4938 1
+ Store 4937 4939
+ 4940: 47(int) CompositeExtract 4938 0
+ 4941: 245 Load 247(sCubeShadow)
+ 4942: 249(fvec4) Load 251(c4)
+ 4943: 167(fvec3) Load 1425(dPdxy3)
+ 4944: 167(fvec3) Load 1425(dPdxy3)
+ 4945: 52(float) Load 4311(lodClamp)
+ 4946: 208(ptr) AccessChain 4872(texel) 207
+ 4947: 52(float) CompositeExtract 4942 3
+ 4948:3182(ResType) ImageSparseSampleDrefExplicitLod 4941 4942 4947 Grad MinLod 4943 4944 4945
+ 4949:6(float16_t) CompositeExtract 4948 1
+ Store 4946 4949
+ 4950: 47(int) CompositeExtract 4948 0
+ 4951: 245 Load 247(sCubeShadow)
+ 4952:175(f16vec3) Load 177(f16c3)
+ 4953: 52(float) Load 215(compare)
+ 4954:175(f16vec3) Load 1433(f16dPdxy3)
+ 4955:175(f16vec3) Load 1433(f16dPdxy3)
+ 4956:6(float16_t) Load 4318(f16lodClamp)
+ 4957: 208(ptr) AccessChain 4872(texel) 207
+ 4958:3182(ResType) ImageSparseSampleDrefExplicitLod 4951 4952 4953 Grad MinLod 4954 4955 4956
+ 4959:6(float16_t) CompositeExtract 4958 1
+ Store 4957 4959
4960: 47(int) CompositeExtract 4958 0
- 4961: 299 Load 301(sCubeArray)
- 4962: 7(f16vec4) Load 309(f16c4)
- 4963:175(f16vec3) Load 1433(f16dPdxy3)
- 4964:175(f16vec3) Load 1433(f16dPdxy3)
- 4965:6(float16_t) Load 4274(f16lodClamp)
- 4966:3102(ResType) ImageSparseSampleExplicitLod 4961 4962 Grad MinLod 4963 4964 4965
+ 4961: 284 Load 286(s2DArray)
+ 4962: 167(fvec3) Load 169(c3)
+ 4963: 53(fvec2) Load 1409(dPdxy2)
+ 4964: 53(fvec2) Load 1409(dPdxy2)
+ 4965: 52(float) Load 4311(lodClamp)
+ 4966:3146(ResType) ImageSparseSampleExplicitLod 4961 4962 Grad MinLod 4963 4964 4965
4967: 7(f16vec4) CompositeExtract 4966 1
- Store 4828(texel) 4967
+ Store 4872(texel) 4967
4968: 47(int) CompositeExtract 4966 0
- 4969: 7(f16vec4) Load 4828(texel)
- ReturnValue 4969
+ 4969: 284 Load 286(s2DArray)
+ 4970:175(f16vec3) Load 177(f16c3)
+ 4971:154(f16vec2) Load 1417(f16dPdxy2)
+ 4972:154(f16vec2) Load 1417(f16dPdxy2)
+ 4973:6(float16_t) Load 4318(f16lodClamp)
+ 4974:3146(ResType) ImageSparseSampleExplicitLod 4969 4970 Grad MinLod 4971 4972 4973
+ 4975: 7(f16vec4) CompositeExtract 4974 1
+ Store 4872(texel) 4975
+ 4976: 47(int) CompositeExtract 4974 0
+ 4977: 337 Load 339(s2DArrayShadow)
+ 4978: 249(fvec4) Load 251(c4)
+ 4979: 53(fvec2) Load 1409(dPdxy2)
+ 4980: 53(fvec2) Load 1409(dPdxy2)
+ 4981: 52(float) Load 4311(lodClamp)
+ 4982: 208(ptr) AccessChain 4872(texel) 207
+ 4983: 52(float) CompositeExtract 4978 3
+ 4984:3182(ResType) ImageSparseSampleDrefExplicitLod 4977 4978 4983 Grad MinLod 4979 4980 4981
+ 4985:6(float16_t) CompositeExtract 4984 1
+ Store 4982 4985
+ 4986: 47(int) CompositeExtract 4984 0
+ 4987: 337 Load 339(s2DArrayShadow)
+ 4988:175(f16vec3) Load 177(f16c3)
+ 4989: 52(float) Load 215(compare)
+ 4990:154(f16vec2) Load 1417(f16dPdxy2)
+ 4991:154(f16vec2) Load 1417(f16dPdxy2)
+ 4992:6(float16_t) Load 4318(f16lodClamp)
+ 4993: 208(ptr) AccessChain 4872(texel) 207
+ 4994:3182(ResType) ImageSparseSampleDrefExplicitLod 4987 4988 4989 Grad MinLod 4990 4991 4992
+ 4995:6(float16_t) CompositeExtract 4994 1
+ Store 4993 4995
+ 4996: 47(int) CompositeExtract 4994 0
+ 4997: 299 Load 301(sCubeArray)
+ 4998: 249(fvec4) Load 251(c4)
+ 4999: 167(fvec3) Load 1425(dPdxy3)
+ 5000: 167(fvec3) Load 1425(dPdxy3)
+ 5001: 52(float) Load 4311(lodClamp)
+ 5002:3146(ResType) ImageSparseSampleExplicitLod 4997 4998 Grad MinLod 4999 5000 5001
+ 5003: 7(f16vec4) CompositeExtract 5002 1
+ Store 4872(texel) 5003
+ 5004: 47(int) CompositeExtract 5002 0
+ 5005: 299 Load 301(sCubeArray)
+ 5006: 7(f16vec4) Load 309(f16c4)
+ 5007:175(f16vec3) Load 1433(f16dPdxy3)
+ 5008:175(f16vec3) Load 1433(f16dPdxy3)
+ 5009:6(float16_t) Load 4318(f16lodClamp)
+ 5010:3146(ResType) ImageSparseSampleExplicitLod 5005 5006 Grad MinLod 5007 5008 5009
+ 5011: 7(f16vec4) CompositeExtract 5010 1
+ Store 4872(texel) 5011
+ 5012: 47(int) CompositeExtract 5010 0
+ 5013: 7(f16vec4) Load 4872(texel)
+ ReturnValue 5013
FunctionEnd
109(testTextureGradClamp(): 7(f16vec4) Function None 8
110: Label
- 4972(texel): 64(ptr) Variable Function
- Store 4972(texel) 121
- 4973: 123 Load 125(s1D)
- 4974: 52(float) Load 128(c1)
- 4975: 52(float) Load 1393(dPdxy1)
- 4976: 52(float) Load 1393(dPdxy1)
- 4977: 52(float) Load 4267(lodClamp)
- 4978: 7(f16vec4) ImageSampleExplicitLod 4973 4974 Grad MinLod 4975 4976 4977
- 4979: 7(f16vec4) Load 4972(texel)
- 4980: 7(f16vec4) FAdd 4979 4978
- Store 4972(texel) 4980
- 4981: 123 Load 125(s1D)
- 4982:6(float16_t) Load 135(f16c1)
- 4983:6(float16_t) Load 1401(f16dPdxy1)
- 4984:6(float16_t) Load 1401(f16dPdxy1)
- 4985:6(float16_t) Load 4274(f16lodClamp)
- 4986: 7(f16vec4) ImageSampleExplicitLod 4981 4982 Grad MinLod 4983 4984 4985
- 4987: 7(f16vec4) Load 4972(texel)
- 4988: 7(f16vec4) FAdd 4987 4986
- Store 4972(texel) 4988
- 4989: 143 Load 145(s2D)
- 4990: 53(fvec2) Load 148(c2)
- 4991: 53(fvec2) Load 1409(dPdxy2)
- 4992: 53(fvec2) Load 1409(dPdxy2)
- 4993: 52(float) Load 4267(lodClamp)
- 4994: 7(f16vec4) ImageSampleExplicitLod 4989 4990 Grad MinLod 4991 4992 4993
- 4995: 7(f16vec4) Load 4972(texel)
- 4996: 7(f16vec4) FAdd 4995 4994
- Store 4972(texel) 4996
- 4997: 143 Load 145(s2D)
- 4998:154(f16vec2) Load 156(f16c2)
- 4999:154(f16vec2) Load 1417(f16dPdxy2)
- 5000:154(f16vec2) Load 1417(f16dPdxy2)
- 5001:6(float16_t) Load 4274(f16lodClamp)
- 5002: 7(f16vec4) ImageSampleExplicitLod 4997 4998 Grad MinLod 4999 5000 5001
- 5003: 7(f16vec4) Load 4972(texel)
- 5004: 7(f16vec4) FAdd 5003 5002
- Store 4972(texel) 5004
- 5005: 163 Load 165(s3D)
- 5006: 167(fvec3) Load 169(c3)
- 5007: 167(fvec3) Load 1425(dPdxy3)
- 5008: 167(fvec3) Load 1425(dPdxy3)
- 5009: 52(float) Load 4267(lodClamp)
- 5010: 7(f16vec4) ImageSampleExplicitLod 5005 5006 Grad MinLod 5007 5008 5009
- 5011: 7(f16vec4) Load 4972(texel)
- 5012: 7(f16vec4) FAdd 5011 5010
- Store 4972(texel) 5012
- 5013: 163 Load 165(s3D)
- 5014:175(f16vec3) Load 177(f16c3)
- 5015:175(f16vec3) Load 1433(f16dPdxy3)
- 5016:175(f16vec3) Load 1433(f16dPdxy3)
- 5017:6(float16_t) Load 4274(f16lodClamp)
- 5018: 7(f16vec4) ImageSampleExplicitLod 5013 5014 Grad MinLod 5015 5016 5017
- 5019: 7(f16vec4) Load 4972(texel)
- 5020: 7(f16vec4) FAdd 5019 5018
- Store 4972(texel) 5020
- 5021: 184 Load 186(sCube)
- 5022: 167(fvec3) Load 169(c3)
- 5023: 167(fvec3) Load 1425(dPdxy3)
- 5024: 167(fvec3) Load 1425(dPdxy3)
- 5025: 52(float) Load 4267(lodClamp)
- 5026: 7(f16vec4) ImageSampleExplicitLod 5021 5022 Grad MinLod 5023 5024 5025
- 5027: 7(f16vec4) Load 4972(texel)
- 5028: 7(f16vec4) FAdd 5027 5026
- Store 4972(texel) 5028
- 5029: 184 Load 186(sCube)
- 5030:175(f16vec3) Load 177(f16c3)
- 5031:175(f16vec3) Load 1433(f16dPdxy3)
- 5032:175(f16vec3) Load 1433(f16dPdxy3)
- 5033:6(float16_t) Load 4274(f16lodClamp)
- 5034: 7(f16vec4) ImageSampleExplicitLod 5029 5030 Grad MinLod 5031 5032 5033
- 5035: 7(f16vec4) Load 4972(texel)
- 5036: 7(f16vec4) FAdd 5035 5034
- Store 4972(texel) 5036
- 5037: 199 Load 201(s1DShadow)
- 5038: 167(fvec3) Load 169(c3)
- 5039: 52(float) Load 1393(dPdxy1)
- 5040: 52(float) Load 1393(dPdxy1)
- 5041: 52(float) Load 4267(lodClamp)
- 5042: 52(float) CompositeExtract 5038 2
- 5043:6(float16_t) ImageSampleDrefExplicitLod 5037 5038 5042 Grad MinLod 5039 5040 5041
- 5044: 208(ptr) AccessChain 4972(texel) 207
- 5045:6(float16_t) Load 5044
- 5046:6(float16_t) FAdd 5045 5043
- 5047: 208(ptr) AccessChain 4972(texel) 207
- Store 5047 5046
- 5048: 199 Load 201(s1DShadow)
- 5049:154(f16vec2) Load 156(f16c2)
- 5050: 52(float) Load 215(compare)
- 5051:6(float16_t) Load 1401(f16dPdxy1)
- 5052:6(float16_t) Load 1401(f16dPdxy1)
- 5053:6(float16_t) Load 4274(f16lodClamp)
- 5054:6(float16_t) ImageSampleDrefExplicitLod 5048 5049 5050 Grad MinLod 5051 5052 5053
- 5055: 208(ptr) AccessChain 4972(texel) 207
- 5056:6(float16_t) Load 5055
- 5057:6(float16_t) FAdd 5056 5054
- 5058: 208(ptr) AccessChain 4972(texel) 207
- Store 5058 5057
- 5059: 224 Load 226(s2DShadow)
- 5060: 167(fvec3) Load 169(c3)
- 5061: 53(fvec2) Load 1409(dPdxy2)
- 5062: 53(fvec2) Load 1409(dPdxy2)
- 5063: 52(float) Load 4267(lodClamp)
- 5064: 52(float) CompositeExtract 5060 2
- 5065:6(float16_t) ImageSampleDrefExplicitLod 5059 5060 5064 Grad MinLod 5061 5062 5063
- 5066: 208(ptr) AccessChain 4972(texel) 207
- 5067:6(float16_t) Load 5066
- 5068:6(float16_t) FAdd 5067 5065
- 5069: 208(ptr) AccessChain 4972(texel) 207
- Store 5069 5068
- 5070: 224 Load 226(s2DShadow)
- 5071:154(f16vec2) Load 156(f16c2)
- 5072: 52(float) Load 215(compare)
- 5073:154(f16vec2) Load 1417(f16dPdxy2)
- 5074:154(f16vec2) Load 1417(f16dPdxy2)
- 5075:6(float16_t) Load 4274(f16lodClamp)
- 5076:6(float16_t) ImageSampleDrefExplicitLod 5070 5071 5072 Grad MinLod 5073 5074 5075
- 5077: 208(ptr) AccessChain 4972(texel) 207
- 5078:6(float16_t) Load 5077
- 5079:6(float16_t) FAdd 5078 5076
- 5080: 208(ptr) AccessChain 4972(texel) 207
- Store 5080 5079
- 5081: 245 Load 247(sCubeShadow)
- 5082: 249(fvec4) Load 251(c4)
- 5083: 167(fvec3) Load 1425(dPdxy3)
- 5084: 167(fvec3) Load 1425(dPdxy3)
- 5085: 52(float) Load 4267(lodClamp)
- 5086: 52(float) CompositeExtract 5082 3
+ 5016(texel): 64(ptr) Variable Function
+ Store 5016(texel) 121
+ 5017: 123 Load 125(s1D)
+ 5018: 52(float) Load 128(c1)
+ 5019: 52(float) Load 1393(dPdxy1)
+ 5020: 52(float) Load 1393(dPdxy1)
+ 5021: 52(float) Load 4311(lodClamp)
+ 5022: 7(f16vec4) ImageSampleExplicitLod 5017 5018 Grad MinLod 5019 5020 5021
+ 5023: 7(f16vec4) Load 5016(texel)
+ 5024: 7(f16vec4) FAdd 5023 5022
+ Store 5016(texel) 5024
+ 5025: 123 Load 125(s1D)
+ 5026:6(float16_t) Load 135(f16c1)
+ 5027:6(float16_t) Load 1401(f16dPdxy1)
+ 5028:6(float16_t) Load 1401(f16dPdxy1)
+ 5029:6(float16_t) Load 4318(f16lodClamp)
+ 5030: 7(f16vec4) ImageSampleExplicitLod 5025 5026 Grad MinLod 5027 5028 5029
+ 5031: 7(f16vec4) Load 5016(texel)
+ 5032: 7(f16vec4) FAdd 5031 5030
+ Store 5016(texel) 5032
+ 5033: 143 Load 145(s2D)
+ 5034: 53(fvec2) Load 148(c2)
+ 5035: 53(fvec2) Load 1409(dPdxy2)
+ 5036: 53(fvec2) Load 1409(dPdxy2)
+ 5037: 52(float) Load 4311(lodClamp)
+ 5038: 7(f16vec4) ImageSampleExplicitLod 5033 5034 Grad MinLod 5035 5036 5037
+ 5039: 7(f16vec4) Load 5016(texel)
+ 5040: 7(f16vec4) FAdd 5039 5038
+ Store 5016(texel) 5040
+ 5041: 143 Load 145(s2D)
+ 5042:154(f16vec2) Load 156(f16c2)
+ 5043:154(f16vec2) Load 1417(f16dPdxy2)
+ 5044:154(f16vec2) Load 1417(f16dPdxy2)
+ 5045:6(float16_t) Load 4318(f16lodClamp)
+ 5046: 7(f16vec4) ImageSampleExplicitLod 5041 5042 Grad MinLod 5043 5044 5045
+ 5047: 7(f16vec4) Load 5016(texel)
+ 5048: 7(f16vec4) FAdd 5047 5046
+ Store 5016(texel) 5048
+ 5049: 163 Load 165(s3D)
+ 5050: 167(fvec3) Load 169(c3)
+ 5051: 167(fvec3) Load 1425(dPdxy3)
+ 5052: 167(fvec3) Load 1425(dPdxy3)
+ 5053: 52(float) Load 4311(lodClamp)
+ 5054: 7(f16vec4) ImageSampleExplicitLod 5049 5050 Grad MinLod 5051 5052 5053
+ 5055: 7(f16vec4) Load 5016(texel)
+ 5056: 7(f16vec4) FAdd 5055 5054
+ Store 5016(texel) 5056
+ 5057: 163 Load 165(s3D)
+ 5058:175(f16vec3) Load 177(f16c3)
+ 5059:175(f16vec3) Load 1433(f16dPdxy3)
+ 5060:175(f16vec3) Load 1433(f16dPdxy3)
+ 5061:6(float16_t) Load 4318(f16lodClamp)
+ 5062: 7(f16vec4) ImageSampleExplicitLod 5057 5058 Grad MinLod 5059 5060 5061
+ 5063: 7(f16vec4) Load 5016(texel)
+ 5064: 7(f16vec4) FAdd 5063 5062
+ Store 5016(texel) 5064
+ 5065: 184 Load 186(sCube)
+ 5066: 167(fvec3) Load 169(c3)
+ 5067: 167(fvec3) Load 1425(dPdxy3)
+ 5068: 167(fvec3) Load 1425(dPdxy3)
+ 5069: 52(float) Load 4311(lodClamp)
+ 5070: 7(f16vec4) ImageSampleExplicitLod 5065 5066 Grad MinLod 5067 5068 5069
+ 5071: 7(f16vec4) Load 5016(texel)
+ 5072: 7(f16vec4) FAdd 5071 5070
+ Store 5016(texel) 5072
+ 5073: 184 Load 186(sCube)
+ 5074:175(f16vec3) Load 177(f16c3)
+ 5075:175(f16vec3) Load 1433(f16dPdxy3)
+ 5076:175(f16vec3) Load 1433(f16dPdxy3)
+ 5077:6(float16_t) Load 4318(f16lodClamp)
+ 5078: 7(f16vec4) ImageSampleExplicitLod 5073 5074 Grad MinLod 5075 5076 5077
+ 5079: 7(f16vec4) Load 5016(texel)
+ 5080: 7(f16vec4) FAdd 5079 5078
+ Store 5016(texel) 5080
+ 5081: 199 Load 201(s1DShadow)
+ 5082: 167(fvec3) Load 169(c3)
+ 5083: 52(float) Load 1393(dPdxy1)
+ 5084: 52(float) Load 1393(dPdxy1)
+ 5085: 52(float) Load 4311(lodClamp)
+ 5086: 52(float) CompositeExtract 5082 2
5087:6(float16_t) ImageSampleDrefExplicitLod 5081 5082 5086 Grad MinLod 5083 5084 5085
- 5088: 208(ptr) AccessChain 4972(texel) 207
+ 5088: 208(ptr) AccessChain 5016(texel) 207
5089:6(float16_t) Load 5088
5090:6(float16_t) FAdd 5089 5087
- 5091: 208(ptr) AccessChain 4972(texel) 207
+ 5091: 208(ptr) AccessChain 5016(texel) 207
Store 5091 5090
- 5092: 245 Load 247(sCubeShadow)
- 5093:175(f16vec3) Load 177(f16c3)
+ 5092: 199 Load 201(s1DShadow)
+ 5093:154(f16vec2) Load 156(f16c2)
5094: 52(float) Load 215(compare)
- 5095:175(f16vec3) Load 1433(f16dPdxy3)
- 5096:175(f16vec3) Load 1433(f16dPdxy3)
- 5097:6(float16_t) Load 4274(f16lodClamp)
+ 5095:6(float16_t) Load 1401(f16dPdxy1)
+ 5096:6(float16_t) Load 1401(f16dPdxy1)
+ 5097:6(float16_t) Load 4318(f16lodClamp)
5098:6(float16_t) ImageSampleDrefExplicitLod 5092 5093 5094 Grad MinLod 5095 5096 5097
- 5099: 208(ptr) AccessChain 4972(texel) 207
+ 5099: 208(ptr) AccessChain 5016(texel) 207
5100:6(float16_t) Load 5099
5101:6(float16_t) FAdd 5100 5098
- 5102: 208(ptr) AccessChain 4972(texel) 207
+ 5102: 208(ptr) AccessChain 5016(texel) 207
Store 5102 5101
- 5103: 269 Load 271(s1DArray)
- 5104: 53(fvec2) Load 148(c2)
- 5105: 52(float) Load 1393(dPdxy1)
- 5106: 52(float) Load 1393(dPdxy1)
- 5107: 52(float) Load 4267(lodClamp)
- 5108: 7(f16vec4) ImageSampleExplicitLod 5103 5104 Grad MinLod 5105 5106 5107
- 5109: 7(f16vec4) Load 4972(texel)
- 5110: 7(f16vec4) FAdd 5109 5108
- Store 4972(texel) 5110
- 5111: 269 Load 271(s1DArray)
- 5112:154(f16vec2) Load 156(f16c2)
- 5113:6(float16_t) Load 1401(f16dPdxy1)
- 5114:6(float16_t) Load 1401(f16dPdxy1)
- 5115:6(float16_t) Load 4274(f16lodClamp)
- 5116: 7(f16vec4) ImageSampleExplicitLod 5111 5112 Grad MinLod 5113 5114 5115
- 5117: 7(f16vec4) Load 4972(texel)
- 5118: 7(f16vec4) FAdd 5117 5116
- Store 4972(texel) 5118
- 5119: 284 Load 286(s2DArray)
- 5120: 167(fvec3) Load 169(c3)
- 5121: 53(fvec2) Load 1409(dPdxy2)
- 5122: 53(fvec2) Load 1409(dPdxy2)
- 5123: 52(float) Load 4267(lodClamp)
- 5124: 7(f16vec4) ImageSampleExplicitLod 5119 5120 Grad MinLod 5121 5122 5123
- 5125: 7(f16vec4) Load 4972(texel)
- 5126: 7(f16vec4) FAdd 5125 5124
- Store 4972(texel) 5126
- 5127: 284 Load 286(s2DArray)
- 5128:175(f16vec3) Load 177(f16c3)
- 5129:154(f16vec2) Load 1417(f16dPdxy2)
- 5130:154(f16vec2) Load 1417(f16dPdxy2)
- 5131:6(float16_t) Load 4274(f16lodClamp)
- 5132: 7(f16vec4) ImageSampleExplicitLod 5127 5128 Grad MinLod 5129 5130 5131
- 5133: 7(f16vec4) Load 4972(texel)
- 5134: 7(f16vec4) FAdd 5133 5132
- Store 4972(texel) 5134
- 5135: 316 Load 318(s1DArrayShadow)
- 5136: 167(fvec3) Load 169(c3)
- 5137: 52(float) Load 1393(dPdxy1)
- 5138: 52(float) Load 1393(dPdxy1)
- 5139: 52(float) Load 4267(lodClamp)
- 5140: 52(float) CompositeExtract 5136 2
- 5141:6(float16_t) ImageSampleDrefExplicitLod 5135 5136 5140 Grad MinLod 5137 5138 5139
- 5142: 208(ptr) AccessChain 4972(texel) 207
- 5143:6(float16_t) Load 5142
- 5144:6(float16_t) FAdd 5143 5141
- 5145: 208(ptr) AccessChain 4972(texel) 207
- Store 5145 5144
- 5146: 316 Load 318(s1DArrayShadow)
- 5147:154(f16vec2) Load 156(f16c2)
- 5148: 52(float) Load 215(compare)
- 5149:6(float16_t) Load 1401(f16dPdxy1)
- 5150:6(float16_t) Load 1401(f16dPdxy1)
- 5151:6(float16_t) Load 4274(f16lodClamp)
- 5152:6(float16_t) ImageSampleDrefExplicitLod 5146 5147 5148 Grad MinLod 5149 5150 5151
- 5153: 208(ptr) AccessChain 4972(texel) 207
- 5154:6(float16_t) Load 5153
- 5155:6(float16_t) FAdd 5154 5152
- 5156: 208(ptr) AccessChain 4972(texel) 207
- Store 5156 5155
- 5157: 337 Load 339(s2DArrayShadow)
- 5158: 249(fvec4) Load 251(c4)
- 5159: 53(fvec2) Load 1409(dPdxy2)
- 5160: 53(fvec2) Load 1409(dPdxy2)
- 5161: 52(float) Load 4267(lodClamp)
- 5162: 52(float) CompositeExtract 5158 3
- 5163:6(float16_t) ImageSampleDrefExplicitLod 5157 5158 5162 Grad MinLod 5159 5160 5161
- 5164: 208(ptr) AccessChain 4972(texel) 207
- 5165:6(float16_t) Load 5164
- 5166:6(float16_t) FAdd 5165 5163
- 5167: 208(ptr) AccessChain 4972(texel) 207
- Store 5167 5166
- 5168: 337 Load 339(s2DArrayShadow)
- 5169:175(f16vec3) Load 177(f16c3)
- 5170: 52(float) Load 215(compare)
- 5171:154(f16vec2) Load 1417(f16dPdxy2)
- 5172:154(f16vec2) Load 1417(f16dPdxy2)
- 5173:6(float16_t) Load 4274(f16lodClamp)
- 5174:6(float16_t) ImageSampleDrefExplicitLod 5168 5169 5170 Grad MinLod 5171 5172 5173
- 5175: 208(ptr) AccessChain 4972(texel) 207
- 5176:6(float16_t) Load 5175
- 5177:6(float16_t) FAdd 5176 5174
- 5178: 208(ptr) AccessChain 4972(texel) 207
- Store 5178 5177
- 5179: 299 Load 301(sCubeArray)
- 5180: 249(fvec4) Load 251(c4)
- 5181: 167(fvec3) Load 1425(dPdxy3)
- 5182: 167(fvec3) Load 1425(dPdxy3)
- 5183: 52(float) Load 4267(lodClamp)
- 5184: 7(f16vec4) ImageSampleExplicitLod 5179 5180 Grad MinLod 5181 5182 5183
- 5185: 7(f16vec4) Load 4972(texel)
- 5186: 7(f16vec4) FAdd 5185 5184
- Store 4972(texel) 5186
- 5187: 299 Load 301(sCubeArray)
- 5188: 7(f16vec4) Load 309(f16c4)
- 5189:175(f16vec3) Load 1433(f16dPdxy3)
- 5190:175(f16vec3) Load 1433(f16dPdxy3)
- 5191:6(float16_t) Load 4274(f16lodClamp)
- 5192: 7(f16vec4) ImageSampleExplicitLod 5187 5188 Grad MinLod 5189 5190 5191
- 5193: 7(f16vec4) Load 4972(texel)
- 5194: 7(f16vec4) FAdd 5193 5192
- Store 4972(texel) 5194
- 5195: 7(f16vec4) Load 4972(texel)
- ReturnValue 5195
+ 5103: 224 Load 226(s2DShadow)
+ 5104: 167(fvec3) Load 169(c3)
+ 5105: 53(fvec2) Load 1409(dPdxy2)
+ 5106: 53(fvec2) Load 1409(dPdxy2)
+ 5107: 52(float) Load 4311(lodClamp)
+ 5108: 52(float) CompositeExtract 5104 2
+ 5109:6(float16_t) ImageSampleDrefExplicitLod 5103 5104 5108 Grad MinLod 5105 5106 5107
+ 5110: 208(ptr) AccessChain 5016(texel) 207
+ 5111:6(float16_t) Load 5110
+ 5112:6(float16_t) FAdd 5111 5109
+ 5113: 208(ptr) AccessChain 5016(texel) 207
+ Store 5113 5112
+ 5114: 224 Load 226(s2DShadow)
+ 5115:154(f16vec2) Load 156(f16c2)
+ 5116: 52(float) Load 215(compare)
+ 5117:154(f16vec2) Load 1417(f16dPdxy2)
+ 5118:154(f16vec2) Load 1417(f16dPdxy2)
+ 5119:6(float16_t) Load 4318(f16lodClamp)
+ 5120:6(float16_t) ImageSampleDrefExplicitLod 5114 5115 5116 Grad MinLod 5117 5118 5119
+ 5121: 208(ptr) AccessChain 5016(texel) 207
+ 5122:6(float16_t) Load 5121
+ 5123:6(float16_t) FAdd 5122 5120
+ 5124: 208(ptr) AccessChain 5016(texel) 207
+ Store 5124 5123
+ 5125: 245 Load 247(sCubeShadow)
+ 5126: 249(fvec4) Load 251(c4)
+ 5127: 167(fvec3) Load 1425(dPdxy3)
+ 5128: 167(fvec3) Load 1425(dPdxy3)
+ 5129: 52(float) Load 4311(lodClamp)
+ 5130: 52(float) CompositeExtract 5126 3
+ 5131:6(float16_t) ImageSampleDrefExplicitLod 5125 5126 5130 Grad MinLod 5127 5128 5129
+ 5132: 208(ptr) AccessChain 5016(texel) 207
+ 5133:6(float16_t) Load 5132
+ 5134:6(float16_t) FAdd 5133 5131
+ 5135: 208(ptr) AccessChain 5016(texel) 207
+ Store 5135 5134
+ 5136: 245 Load 247(sCubeShadow)
+ 5137:175(f16vec3) Load 177(f16c3)
+ 5138: 52(float) Load 215(compare)
+ 5139:175(f16vec3) Load 1433(f16dPdxy3)
+ 5140:175(f16vec3) Load 1433(f16dPdxy3)
+ 5141:6(float16_t) Load 4318(f16lodClamp)
+ 5142:6(float16_t) ImageSampleDrefExplicitLod 5136 5137 5138 Grad MinLod 5139 5140 5141
+ 5143: 208(ptr) AccessChain 5016(texel) 207
+ 5144:6(float16_t) Load 5143
+ 5145:6(float16_t) FAdd 5144 5142
+ 5146: 208(ptr) AccessChain 5016(texel) 207
+ Store 5146 5145
+ 5147: 269 Load 271(s1DArray)
+ 5148: 53(fvec2) Load 148(c2)
+ 5149: 52(float) Load 1393(dPdxy1)
+ 5150: 52(float) Load 1393(dPdxy1)
+ 5151: 52(float) Load 4311(lodClamp)
+ 5152: 7(f16vec4) ImageSampleExplicitLod 5147 5148 Grad MinLod 5149 5150 5151
+ 5153: 7(f16vec4) Load 5016(texel)
+ 5154: 7(f16vec4) FAdd 5153 5152
+ Store 5016(texel) 5154
+ 5155: 269 Load 271(s1DArray)
+ 5156:154(f16vec2) Load 156(f16c2)
+ 5157:6(float16_t) Load 1401(f16dPdxy1)
+ 5158:6(float16_t) Load 1401(f16dPdxy1)
+ 5159:6(float16_t) Load 4318(f16lodClamp)
+ 5160: 7(f16vec4) ImageSampleExplicitLod 5155 5156 Grad MinLod 5157 5158 5159
+ 5161: 7(f16vec4) Load 5016(texel)
+ 5162: 7(f16vec4) FAdd 5161 5160
+ Store 5016(texel) 5162
+ 5163: 284 Load 286(s2DArray)
+ 5164: 167(fvec3) Load 169(c3)
+ 5165: 53(fvec2) Load 1409(dPdxy2)
+ 5166: 53(fvec2) Load 1409(dPdxy2)
+ 5167: 52(float) Load 4311(lodClamp)
+ 5168: 7(f16vec4) ImageSampleExplicitLod 5163 5164 Grad MinLod 5165 5166 5167
+ 5169: 7(f16vec4) Load 5016(texel)
+ 5170: 7(f16vec4) FAdd 5169 5168
+ Store 5016(texel) 5170
+ 5171: 284 Load 286(s2DArray)
+ 5172:175(f16vec3) Load 177(f16c3)
+ 5173:154(f16vec2) Load 1417(f16dPdxy2)
+ 5174:154(f16vec2) Load 1417(f16dPdxy2)
+ 5175:6(float16_t) Load 4318(f16lodClamp)
+ 5176: 7(f16vec4) ImageSampleExplicitLod 5171 5172 Grad MinLod 5173 5174 5175
+ 5177: 7(f16vec4) Load 5016(texel)
+ 5178: 7(f16vec4) FAdd 5177 5176
+ Store 5016(texel) 5178
+ 5179: 316 Load 318(s1DArrayShadow)
+ 5180: 167(fvec3) Load 169(c3)
+ 5181: 52(float) Load 1393(dPdxy1)
+ 5182: 52(float) Load 1393(dPdxy1)
+ 5183: 52(float) Load 4311(lodClamp)
+ 5184: 52(float) CompositeExtract 5180 2
+ 5185:6(float16_t) ImageSampleDrefExplicitLod 5179 5180 5184 Grad MinLod 5181 5182 5183
+ 5186: 208(ptr) AccessChain 5016(texel) 207
+ 5187:6(float16_t) Load 5186
+ 5188:6(float16_t) FAdd 5187 5185
+ 5189: 208(ptr) AccessChain 5016(texel) 207
+ Store 5189 5188
+ 5190: 316 Load 318(s1DArrayShadow)
+ 5191:154(f16vec2) Load 156(f16c2)
+ 5192: 52(float) Load 215(compare)
+ 5193:6(float16_t) Load 1401(f16dPdxy1)
+ 5194:6(float16_t) Load 1401(f16dPdxy1)
+ 5195:6(float16_t) Load 4318(f16lodClamp)
+ 5196:6(float16_t) ImageSampleDrefExplicitLod 5190 5191 5192 Grad MinLod 5193 5194 5195
+ 5197: 208(ptr) AccessChain 5016(texel) 207
+ 5198:6(float16_t) Load 5197
+ 5199:6(float16_t) FAdd 5198 5196
+ 5200: 208(ptr) AccessChain 5016(texel) 207
+ Store 5200 5199
+ 5201: 337 Load 339(s2DArrayShadow)
+ 5202: 249(fvec4) Load 251(c4)
+ 5203: 53(fvec2) Load 1409(dPdxy2)
+ 5204: 53(fvec2) Load 1409(dPdxy2)
+ 5205: 52(float) Load 4311(lodClamp)
+ 5206: 52(float) CompositeExtract 5202 3
+ 5207:6(float16_t) ImageSampleDrefExplicitLod 5201 5202 5206 Grad MinLod 5203 5204 5205
+ 5208: 208(ptr) AccessChain 5016(texel) 207
+ 5209:6(float16_t) Load 5208
+ 5210:6(float16_t) FAdd 5209 5207
+ 5211: 208(ptr) AccessChain 5016(texel) 207
+ Store 5211 5210
+ 5212: 337 Load 339(s2DArrayShadow)
+ 5213:175(f16vec3) Load 177(f16c3)
+ 5214: 52(float) Load 215(compare)
+ 5215:154(f16vec2) Load 1417(f16dPdxy2)
+ 5216:154(f16vec2) Load 1417(f16dPdxy2)
+ 5217:6(float16_t) Load 4318(f16lodClamp)
+ 5218:6(float16_t) ImageSampleDrefExplicitLod 5212 5213 5214 Grad MinLod 5215 5216 5217
+ 5219: 208(ptr) AccessChain 5016(texel) 207
+ 5220:6(float16_t) Load 5219
+ 5221:6(float16_t) FAdd 5220 5218
+ 5222: 208(ptr) AccessChain 5016(texel) 207
+ Store 5222 5221
+ 5223: 299 Load 301(sCubeArray)
+ 5224: 249(fvec4) Load 251(c4)
+ 5225: 167(fvec3) Load 1425(dPdxy3)
+ 5226: 167(fvec3) Load 1425(dPdxy3)
+ 5227: 52(float) Load 4311(lodClamp)
+ 5228: 7(f16vec4) ImageSampleExplicitLod 5223 5224 Grad MinLod 5225 5226 5227
+ 5229: 7(f16vec4) Load 5016(texel)
+ 5230: 7(f16vec4) FAdd 5229 5228
+ Store 5016(texel) 5230
+ 5231: 299 Load 301(sCubeArray)
+ 5232: 7(f16vec4) Load 309(f16c4)
+ 5233:175(f16vec3) Load 1433(f16dPdxy3)
+ 5234:175(f16vec3) Load 1433(f16dPdxy3)
+ 5235:6(float16_t) Load 4318(f16lodClamp)
+ 5236: 7(f16vec4) ImageSampleExplicitLod 5231 5232 Grad MinLod 5233 5234 5235
+ 5237: 7(f16vec4) Load 5016(texel)
+ 5238: 7(f16vec4) FAdd 5237 5236
+ Store 5016(texel) 5238
+ 5239: 7(f16vec4) Load 5016(texel)
+ ReturnValue 5239
FunctionEnd
111(testSparseTextureGradOffsetClamp(): 7(f16vec4) Function None 8
112: Label
- 5198(texel): 64(ptr) Variable Function
- Store 5198(texel) 121
- 5199: 143 Load 145(s2D)
- 5200: 53(fvec2) Load 148(c2)
- 5201: 53(fvec2) Load 1409(dPdxy2)
- 5202: 53(fvec2) Load 1409(dPdxy2)
- 5203: 52(float) Load 4267(lodClamp)
- 5204:3102(ResType) ImageSparseSampleExplicitLod 5199 5200 Grad ConstOffset MinLod 5201 5202 722 5203
- 5205: 7(f16vec4) CompositeExtract 5204 1
- Store 5198(texel) 5205
- 5206: 47(int) CompositeExtract 5204 0
- 5207: 143 Load 145(s2D)
- 5208:154(f16vec2) Load 156(f16c2)
- 5209:154(f16vec2) Load 1417(f16dPdxy2)
- 5210:154(f16vec2) Load 1417(f16dPdxy2)
- 5211:6(float16_t) Load 4274(f16lodClamp)
- 5212:3102(ResType) ImageSparseSampleExplicitLod 5207 5208 Grad ConstOffset MinLod 5209 5210 722 5211
- 5213: 7(f16vec4) CompositeExtract 5212 1
- Store 5198(texel) 5213
- 5214: 47(int) CompositeExtract 5212 0
- 5215: 163 Load 165(s3D)
- 5216: 167(fvec3) Load 169(c3)
- 5217: 167(fvec3) Load 1425(dPdxy3)
- 5218: 167(fvec3) Load 1425(dPdxy3)
- 5219: 52(float) Load 4267(lodClamp)
- 5220:3102(ResType) ImageSparseSampleExplicitLod 5215 5216 Grad ConstOffset MinLod 5217 5218 735 5219
- 5221: 7(f16vec4) CompositeExtract 5220 1
- Store 5198(texel) 5221
- 5222: 47(int) CompositeExtract 5220 0
- 5223: 163 Load 165(s3D)
- 5224:175(f16vec3) Load 177(f16c3)
- 5225:175(f16vec3) Load 1433(f16dPdxy3)
- 5226:175(f16vec3) Load 1433(f16dPdxy3)
- 5227:6(float16_t) Load 4274(f16lodClamp)
- 5228:3102(ResType) ImageSparseSampleExplicitLod 5223 5224 Grad ConstOffset MinLod 5225 5226 735 5227
- 5229: 7(f16vec4) CompositeExtract 5228 1
- Store 5198(texel) 5229
- 5230: 47(int) CompositeExtract 5228 0
- 5231: 224 Load 226(s2DShadow)
- 5232: 167(fvec3) Load 169(c3)
- 5233: 53(fvec2) Load 1409(dPdxy2)
- 5234: 53(fvec2) Load 1409(dPdxy2)
- 5235: 52(float) Load 4267(lodClamp)
- 5236: 208(ptr) AccessChain 5198(texel) 207
- 5237: 52(float) CompositeExtract 5232 2
- 5238:3138(ResType) ImageSparseSampleDrefExplicitLod 5231 5232 5237 Grad ConstOffset MinLod 5233 5234 722 5235
- 5239:6(float16_t) CompositeExtract 5238 1
- Store 5236 5239
- 5240: 47(int) CompositeExtract 5238 0
- 5241: 224 Load 226(s2DShadow)
- 5242:154(f16vec2) Load 156(f16c2)
- 5243: 52(float) Load 215(compare)
- 5244:154(f16vec2) Load 1417(f16dPdxy2)
- 5245:154(f16vec2) Load 1417(f16dPdxy2)
- 5246:6(float16_t) Load 4274(f16lodClamp)
- 5247: 208(ptr) AccessChain 5198(texel) 207
- 5248:3138(ResType) ImageSparseSampleDrefExplicitLod 5241 5242 5243 Grad ConstOffset MinLod 5244 5245 722 5246
- 5249:6(float16_t) CompositeExtract 5248 1
- Store 5247 5249
+ 5242(texel): 64(ptr) Variable Function
+ Store 5242(texel) 121
+ 5243: 143 Load 145(s2D)
+ 5244: 53(fvec2) Load 148(c2)
+ 5245: 53(fvec2) Load 1409(dPdxy2)
+ 5246: 53(fvec2) Load 1409(dPdxy2)
+ 5247: 52(float) Load 4311(lodClamp)
+ 5248:3146(ResType) ImageSparseSampleExplicitLod 5243 5244 Grad ConstOffset MinLod 5245 5246 722 5247
+ 5249: 7(f16vec4) CompositeExtract 5248 1
+ Store 5242(texel) 5249
5250: 47(int) CompositeExtract 5248 0
- 5251: 284 Load 286(s2DArray)
- 5252: 167(fvec3) Load 169(c3)
- 5253: 53(fvec2) Load 1409(dPdxy2)
- 5254: 53(fvec2) Load 1409(dPdxy2)
- 5255: 52(float) Load 4267(lodClamp)
- 5256:3102(ResType) ImageSparseSampleExplicitLod 5251 5252 Grad ConstOffset MinLod 5253 5254 722 5255
+ 5251: 143 Load 145(s2D)
+ 5252:154(f16vec2) Load 156(f16c2)
+ 5253:154(f16vec2) Load 1417(f16dPdxy2)
+ 5254:154(f16vec2) Load 1417(f16dPdxy2)
+ 5255:6(float16_t) Load 4318(f16lodClamp)
+ 5256:3146(ResType) ImageSparseSampleExplicitLod 5251 5252 Grad ConstOffset MinLod 5253 5254 722 5255
5257: 7(f16vec4) CompositeExtract 5256 1
- Store 5198(texel) 5257
+ Store 5242(texel) 5257
5258: 47(int) CompositeExtract 5256 0
- 5259: 284 Load 286(s2DArray)
- 5260:175(f16vec3) Load 177(f16c3)
- 5261:154(f16vec2) Load 1417(f16dPdxy2)
- 5262:154(f16vec2) Load 1417(f16dPdxy2)
- 5263:6(float16_t) Load 4274(f16lodClamp)
- 5264:3102(ResType) ImageSparseSampleExplicitLod 5259 5260 Grad ConstOffset MinLod 5261 5262 722 5263
+ 5259: 163 Load 165(s3D)
+ 5260: 167(fvec3) Load 169(c3)
+ 5261: 167(fvec3) Load 1425(dPdxy3)
+ 5262: 167(fvec3) Load 1425(dPdxy3)
+ 5263: 52(float) Load 4311(lodClamp)
+ 5264:3146(ResType) ImageSparseSampleExplicitLod 5259 5260 Grad ConstOffset MinLod 5261 5262 735 5263
5265: 7(f16vec4) CompositeExtract 5264 1
- Store 5198(texel) 5265
+ Store 5242(texel) 5265
5266: 47(int) CompositeExtract 5264 0
- 5267: 337 Load 339(s2DArrayShadow)
- 5268: 249(fvec4) Load 251(c4)
- 5269: 53(fvec2) Load 1409(dPdxy2)
- 5270: 53(fvec2) Load 1409(dPdxy2)
- 5271: 52(float) Load 4267(lodClamp)
- 5272: 208(ptr) AccessChain 5198(texel) 207
- 5273: 52(float) CompositeExtract 5268 3
- 5274:3138(ResType) ImageSparseSampleDrefExplicitLod 5267 5268 5273 Grad ConstOffset MinLod 5269 5270 722 5271
- 5275:6(float16_t) CompositeExtract 5274 1
- Store 5272 5275
- 5276: 47(int) CompositeExtract 5274 0
- 5277: 337 Load 339(s2DArrayShadow)
- 5278:175(f16vec3) Load 177(f16c3)
- 5279: 52(float) Load 215(compare)
- 5280:154(f16vec2) Load 1417(f16dPdxy2)
- 5281:154(f16vec2) Load 1417(f16dPdxy2)
- 5282:6(float16_t) Load 4274(f16lodClamp)
- 5283: 208(ptr) AccessChain 5198(texel) 207
- 5284:3138(ResType) ImageSparseSampleDrefExplicitLod 5277 5278 5279 Grad ConstOffset MinLod 5280 5281 722 5282
- 5285:6(float16_t) CompositeExtract 5284 1
- Store 5283 5285
- 5286: 47(int) CompositeExtract 5284 0
- 5287: 7(f16vec4) Load 5198(texel)
- ReturnValue 5287
+ 5267: 163 Load 165(s3D)
+ 5268:175(f16vec3) Load 177(f16c3)
+ 5269:175(f16vec3) Load 1433(f16dPdxy3)
+ 5270:175(f16vec3) Load 1433(f16dPdxy3)
+ 5271:6(float16_t) Load 4318(f16lodClamp)
+ 5272:3146(ResType) ImageSparseSampleExplicitLod 5267 5268 Grad ConstOffset MinLod 5269 5270 735 5271
+ 5273: 7(f16vec4) CompositeExtract 5272 1
+ Store 5242(texel) 5273
+ 5274: 47(int) CompositeExtract 5272 0
+ 5275: 224 Load 226(s2DShadow)
+ 5276: 167(fvec3) Load 169(c3)
+ 5277: 53(fvec2) Load 1409(dPdxy2)
+ 5278: 53(fvec2) Load 1409(dPdxy2)
+ 5279: 52(float) Load 4311(lodClamp)
+ 5280: 208(ptr) AccessChain 5242(texel) 207
+ 5281: 52(float) CompositeExtract 5276 2
+ 5282:3182(ResType) ImageSparseSampleDrefExplicitLod 5275 5276 5281 Grad ConstOffset MinLod 5277 5278 722 5279
+ 5283:6(float16_t) CompositeExtract 5282 1
+ Store 5280 5283
+ 5284: 47(int) CompositeExtract 5282 0
+ 5285: 224 Load 226(s2DShadow)
+ 5286:154(f16vec2) Load 156(f16c2)
+ 5287: 52(float) Load 215(compare)
+ 5288:154(f16vec2) Load 1417(f16dPdxy2)
+ 5289:154(f16vec2) Load 1417(f16dPdxy2)
+ 5290:6(float16_t) Load 4318(f16lodClamp)
+ 5291: 208(ptr) AccessChain 5242(texel) 207
+ 5292:3182(ResType) ImageSparseSampleDrefExplicitLod 5285 5286 5287 Grad ConstOffset MinLod 5288 5289 722 5290
+ 5293:6(float16_t) CompositeExtract 5292 1
+ Store 5291 5293
+ 5294: 47(int) CompositeExtract 5292 0
+ 5295: 284 Load 286(s2DArray)
+ 5296: 167(fvec3) Load 169(c3)
+ 5297: 53(fvec2) Load 1409(dPdxy2)
+ 5298: 53(fvec2) Load 1409(dPdxy2)
+ 5299: 52(float) Load 4311(lodClamp)
+ 5300:3146(ResType) ImageSparseSampleExplicitLod 5295 5296 Grad ConstOffset MinLod 5297 5298 722 5299
+ 5301: 7(f16vec4) CompositeExtract 5300 1
+ Store 5242(texel) 5301
+ 5302: 47(int) CompositeExtract 5300 0
+ 5303: 284 Load 286(s2DArray)
+ 5304:175(f16vec3) Load 177(f16c3)
+ 5305:154(f16vec2) Load 1417(f16dPdxy2)
+ 5306:154(f16vec2) Load 1417(f16dPdxy2)
+ 5307:6(float16_t) Load 4318(f16lodClamp)
+ 5308:3146(ResType) ImageSparseSampleExplicitLod 5303 5304 Grad ConstOffset MinLod 5305 5306 722 5307
+ 5309: 7(f16vec4) CompositeExtract 5308 1
+ Store 5242(texel) 5309
+ 5310: 47(int) CompositeExtract 5308 0
+ 5311: 337 Load 339(s2DArrayShadow)
+ 5312: 249(fvec4) Load 251(c4)
+ 5313: 53(fvec2) Load 1409(dPdxy2)
+ 5314: 53(fvec2) Load 1409(dPdxy2)
+ 5315: 52(float) Load 4311(lodClamp)
+ 5316: 208(ptr) AccessChain 5242(texel) 207
+ 5317: 52(float) CompositeExtract 5312 3
+ 5318:3182(ResType) ImageSparseSampleDrefExplicitLod 5311 5312 5317 Grad ConstOffset MinLod 5313 5314 722 5315
+ 5319:6(float16_t) CompositeExtract 5318 1
+ Store 5316 5319
+ 5320: 47(int) CompositeExtract 5318 0
+ 5321: 337 Load 339(s2DArrayShadow)
+ 5322:175(f16vec3) Load 177(f16c3)
+ 5323: 52(float) Load 215(compare)
+ 5324:154(f16vec2) Load 1417(f16dPdxy2)
+ 5325:154(f16vec2) Load 1417(f16dPdxy2)
+ 5326:6(float16_t) Load 4318(f16lodClamp)
+ 5327: 208(ptr) AccessChain 5242(texel) 207
+ 5328:3182(ResType) ImageSparseSampleDrefExplicitLod 5321 5322 5323 Grad ConstOffset MinLod 5324 5325 722 5326
+ 5329:6(float16_t) CompositeExtract 5328 1
+ Store 5327 5329
+ 5330: 47(int) CompositeExtract 5328 0
+ 5331: 7(f16vec4) Load 5242(texel)
+ ReturnValue 5331
FunctionEnd
113(testTextureGradOffsetClamp(): 7(f16vec4) Function None 8
114: Label
- 5290(texel): 64(ptr) Variable Function
- Store 5290(texel) 121
- 5291: 123 Load 125(s1D)
- 5292: 52(float) Load 128(c1)
- 5293: 52(float) Load 1393(dPdxy1)
- 5294: 52(float) Load 1393(dPdxy1)
- 5295: 52(float) Load 4267(lodClamp)
- 5296: 7(f16vec4) ImageSampleExplicitLod 5291 5292 Grad ConstOffset MinLod 5293 5294 709 5295
- 5297: 7(f16vec4) Load 5290(texel)
- 5298: 7(f16vec4) FAdd 5297 5296
- Store 5290(texel) 5298
- 5299: 123 Load 125(s1D)
- 5300:6(float16_t) Load 135(f16c1)
- 5301:6(float16_t) Load 1401(f16dPdxy1)
- 5302:6(float16_t) Load 1401(f16dPdxy1)
- 5303:6(float16_t) Load 4274(f16lodClamp)
- 5304: 7(f16vec4) ImageSampleExplicitLod 5299 5300 Grad ConstOffset MinLod 5301 5302 709 5303
- 5305: 7(f16vec4) Load 5290(texel)
- 5306: 7(f16vec4) FAdd 5305 5304
- Store 5290(texel) 5306
- 5307: 143 Load 145(s2D)
- 5308: 53(fvec2) Load 148(c2)
- 5309: 53(fvec2) Load 1409(dPdxy2)
- 5310: 53(fvec2) Load 1409(dPdxy2)
- 5311: 52(float) Load 4267(lodClamp)
- 5312: 7(f16vec4) ImageSampleExplicitLod 5307 5308 Grad ConstOffset MinLod 5309 5310 722 5311
- 5313: 7(f16vec4) Load 5290(texel)
- 5314: 7(f16vec4) FAdd 5313 5312
- Store 5290(texel) 5314
- 5315: 143 Load 145(s2D)
- 5316:154(f16vec2) Load 156(f16c2)
- 5317:154(f16vec2) Load 1417(f16dPdxy2)
- 5318:154(f16vec2) Load 1417(f16dPdxy2)
- 5319:6(float16_t) Load 4274(f16lodClamp)
- 5320: 7(f16vec4) ImageSampleExplicitLod 5315 5316 Grad ConstOffset MinLod 5317 5318 722 5319
- 5321: 7(f16vec4) Load 5290(texel)
- 5322: 7(f16vec4) FAdd 5321 5320
- Store 5290(texel) 5322
- 5323: 163 Load 165(s3D)
- 5324: 167(fvec3) Load 169(c3)
- 5325: 167(fvec3) Load 1425(dPdxy3)
- 5326: 167(fvec3) Load 1425(dPdxy3)
- 5327: 52(float) Load 4267(lodClamp)
- 5328: 7(f16vec4) ImageSampleExplicitLod 5323 5324 Grad ConstOffset MinLod 5325 5326 735 5327
- 5329: 7(f16vec4) Load 5290(texel)
- 5330: 7(f16vec4) FAdd 5329 5328
- Store 5290(texel) 5330
- 5331: 163 Load 165(s3D)
- 5332:175(f16vec3) Load 177(f16c3)
- 5333:175(f16vec3) Load 1433(f16dPdxy3)
- 5334:175(f16vec3) Load 1433(f16dPdxy3)
- 5335:6(float16_t) Load 4274(f16lodClamp)
- 5336: 7(f16vec4) ImageSampleExplicitLod 5331 5332 Grad ConstOffset MinLod 5333 5334 735 5335
- 5337: 7(f16vec4) Load 5290(texel)
- 5338: 7(f16vec4) FAdd 5337 5336
- Store 5290(texel) 5338
- 5339: 199 Load 201(s1DShadow)
- 5340: 167(fvec3) Load 169(c3)
- 5341: 52(float) Load 1393(dPdxy1)
- 5342: 52(float) Load 1393(dPdxy1)
- 5343: 52(float) Load 4267(lodClamp)
- 5344: 52(float) CompositeExtract 5340 2
- 5345:6(float16_t) ImageSampleDrefExplicitLod 5339 5340 5344 Grad ConstOffset MinLod 5341 5342 709 5343
- 5346: 208(ptr) AccessChain 5290(texel) 207
- 5347:6(float16_t) Load 5346
- 5348:6(float16_t) FAdd 5347 5345
- 5349: 208(ptr) AccessChain 5290(texel) 207
- Store 5349 5348
- 5350: 199 Load 201(s1DShadow)
- 5351:154(f16vec2) Load 156(f16c2)
- 5352: 52(float) Load 215(compare)
- 5353:6(float16_t) Load 1401(f16dPdxy1)
- 5354:6(float16_t) Load 1401(f16dPdxy1)
- 5355:6(float16_t) Load 4274(f16lodClamp)
- 5356:6(float16_t) ImageSampleDrefExplicitLod 5350 5351 5352 Grad ConstOffset MinLod 5353 5354 709 5355
- 5357: 208(ptr) AccessChain 5290(texel) 207
- 5358:6(float16_t) Load 5357
- 5359:6(float16_t) FAdd 5358 5356
- 5360: 208(ptr) AccessChain 5290(texel) 207
- Store 5360 5359
- 5361: 224 Load 226(s2DShadow)
- 5362: 167(fvec3) Load 169(c3)
- 5363: 53(fvec2) Load 1409(dPdxy2)
- 5364: 53(fvec2) Load 1409(dPdxy2)
- 5365: 52(float) Load 4267(lodClamp)
- 5366: 52(float) CompositeExtract 5362 2
- 5367:6(float16_t) ImageSampleDrefExplicitLod 5361 5362 5366 Grad ConstOffset MinLod 5363 5364 722 5365
- 5368: 208(ptr) AccessChain 5290(texel) 207
- 5369:6(float16_t) Load 5368
- 5370:6(float16_t) FAdd 5369 5367
- 5371: 208(ptr) AccessChain 5290(texel) 207
- Store 5371 5370
- 5372: 224 Load 226(s2DShadow)
- 5373:154(f16vec2) Load 156(f16c2)
- 5374: 52(float) Load 215(compare)
- 5375:154(f16vec2) Load 1417(f16dPdxy2)
- 5376:154(f16vec2) Load 1417(f16dPdxy2)
- 5377:6(float16_t) Load 4274(f16lodClamp)
- 5378:6(float16_t) ImageSampleDrefExplicitLod 5372 5373 5374 Grad ConstOffset MinLod 5375 5376 722 5377
- 5379: 208(ptr) AccessChain 5290(texel) 207
- 5380:6(float16_t) Load 5379
- 5381:6(float16_t) FAdd 5380 5378
- 5382: 208(ptr) AccessChain 5290(texel) 207
- Store 5382 5381
- 5383: 269 Load 271(s1DArray)
- 5384: 53(fvec2) Load 148(c2)
+ 5334(texel): 64(ptr) Variable Function
+ Store 5334(texel) 121
+ 5335: 123 Load 125(s1D)
+ 5336: 52(float) Load 128(c1)
+ 5337: 52(float) Load 1393(dPdxy1)
+ 5338: 52(float) Load 1393(dPdxy1)
+ 5339: 52(float) Load 4311(lodClamp)
+ 5340: 7(f16vec4) ImageSampleExplicitLod 5335 5336 Grad ConstOffset MinLod 5337 5338 709 5339
+ 5341: 7(f16vec4) Load 5334(texel)
+ 5342: 7(f16vec4) FAdd 5341 5340
+ Store 5334(texel) 5342
+ 5343: 123 Load 125(s1D)
+ 5344:6(float16_t) Load 135(f16c1)
+ 5345:6(float16_t) Load 1401(f16dPdxy1)
+ 5346:6(float16_t) Load 1401(f16dPdxy1)
+ 5347:6(float16_t) Load 4318(f16lodClamp)
+ 5348: 7(f16vec4) ImageSampleExplicitLod 5343 5344 Grad ConstOffset MinLod 5345 5346 709 5347
+ 5349: 7(f16vec4) Load 5334(texel)
+ 5350: 7(f16vec4) FAdd 5349 5348
+ Store 5334(texel) 5350
+ 5351: 143 Load 145(s2D)
+ 5352: 53(fvec2) Load 148(c2)
+ 5353: 53(fvec2) Load 1409(dPdxy2)
+ 5354: 53(fvec2) Load 1409(dPdxy2)
+ 5355: 52(float) Load 4311(lodClamp)
+ 5356: 7(f16vec4) ImageSampleExplicitLod 5351 5352 Grad ConstOffset MinLod 5353 5354 722 5355
+ 5357: 7(f16vec4) Load 5334(texel)
+ 5358: 7(f16vec4) FAdd 5357 5356
+ Store 5334(texel) 5358
+ 5359: 143 Load 145(s2D)
+ 5360:154(f16vec2) Load 156(f16c2)
+ 5361:154(f16vec2) Load 1417(f16dPdxy2)
+ 5362:154(f16vec2) Load 1417(f16dPdxy2)
+ 5363:6(float16_t) Load 4318(f16lodClamp)
+ 5364: 7(f16vec4) ImageSampleExplicitLod 5359 5360 Grad ConstOffset MinLod 5361 5362 722 5363
+ 5365: 7(f16vec4) Load 5334(texel)
+ 5366: 7(f16vec4) FAdd 5365 5364
+ Store 5334(texel) 5366
+ 5367: 163 Load 165(s3D)
+ 5368: 167(fvec3) Load 169(c3)
+ 5369: 167(fvec3) Load 1425(dPdxy3)
+ 5370: 167(fvec3) Load 1425(dPdxy3)
+ 5371: 52(float) Load 4311(lodClamp)
+ 5372: 7(f16vec4) ImageSampleExplicitLod 5367 5368 Grad ConstOffset MinLod 5369 5370 735 5371
+ 5373: 7(f16vec4) Load 5334(texel)
+ 5374: 7(f16vec4) FAdd 5373 5372
+ Store 5334(texel) 5374
+ 5375: 163 Load 165(s3D)
+ 5376:175(f16vec3) Load 177(f16c3)
+ 5377:175(f16vec3) Load 1433(f16dPdxy3)
+ 5378:175(f16vec3) Load 1433(f16dPdxy3)
+ 5379:6(float16_t) Load 4318(f16lodClamp)
+ 5380: 7(f16vec4) ImageSampleExplicitLod 5375 5376 Grad ConstOffset MinLod 5377 5378 735 5379
+ 5381: 7(f16vec4) Load 5334(texel)
+ 5382: 7(f16vec4) FAdd 5381 5380
+ Store 5334(texel) 5382
+ 5383: 199 Load 201(s1DShadow)
+ 5384: 167(fvec3) Load 169(c3)
5385: 52(float) Load 1393(dPdxy1)
5386: 52(float) Load 1393(dPdxy1)
- 5387: 52(float) Load 4267(lodClamp)
- 5388: 7(f16vec4) ImageSampleExplicitLod 5383 5384 Grad ConstOffset MinLod 5385 5386 709 5387
- 5389: 7(f16vec4) Load 5290(texel)
- 5390: 7(f16vec4) FAdd 5389 5388
- Store 5290(texel) 5390
- 5391: 269 Load 271(s1DArray)
- 5392:154(f16vec2) Load 156(f16c2)
- 5393:6(float16_t) Load 1401(f16dPdxy1)
- 5394:6(float16_t) Load 1401(f16dPdxy1)
- 5395:6(float16_t) Load 4274(f16lodClamp)
- 5396: 7(f16vec4) ImageSampleExplicitLod 5391 5392 Grad ConstOffset MinLod 5393 5394 709 5395
- 5397: 7(f16vec4) Load 5290(texel)
- 5398: 7(f16vec4) FAdd 5397 5396
- Store 5290(texel) 5398
- 5399: 284 Load 286(s2DArray)
- 5400: 167(fvec3) Load 169(c3)
- 5401: 53(fvec2) Load 1409(dPdxy2)
- 5402: 53(fvec2) Load 1409(dPdxy2)
- 5403: 52(float) Load 4267(lodClamp)
- 5404: 7(f16vec4) ImageSampleExplicitLod 5399 5400 Grad ConstOffset MinLod 5401 5402 722 5403
- 5405: 7(f16vec4) Load 5290(texel)
- 5406: 7(f16vec4) FAdd 5405 5404
- Store 5290(texel) 5406
- 5407: 284 Load 286(s2DArray)
- 5408:175(f16vec3) Load 177(f16c3)
- 5409:154(f16vec2) Load 1417(f16dPdxy2)
- 5410:154(f16vec2) Load 1417(f16dPdxy2)
- 5411:6(float16_t) Load 4274(f16lodClamp)
- 5412: 7(f16vec4) ImageSampleExplicitLod 5407 5408 Grad ConstOffset MinLod 5409 5410 722 5411
- 5413: 7(f16vec4) Load 5290(texel)
- 5414: 7(f16vec4) FAdd 5413 5412
- Store 5290(texel) 5414
- 5415: 316 Load 318(s1DArrayShadow)
- 5416: 167(fvec3) Load 169(c3)
- 5417: 52(float) Load 1393(dPdxy1)
- 5418: 52(float) Load 1393(dPdxy1)
- 5419: 52(float) Load 4267(lodClamp)
- 5420: 52(float) CompositeExtract 5416 2
- 5421:6(float16_t) ImageSampleDrefExplicitLod 5415 5416 5420 Grad ConstOffset MinLod 5417 5418 709 5419
- 5422: 208(ptr) AccessChain 5290(texel) 207
- 5423:6(float16_t) Load 5422
- 5424:6(float16_t) FAdd 5423 5421
- 5425: 208(ptr) AccessChain 5290(texel) 207
- Store 5425 5424
- 5426: 316 Load 318(s1DArrayShadow)
- 5427:154(f16vec2) Load 156(f16c2)
- 5428: 52(float) Load 215(compare)
- 5429:6(float16_t) Load 1401(f16dPdxy1)
- 5430:6(float16_t) Load 1401(f16dPdxy1)
- 5431:6(float16_t) Load 4274(f16lodClamp)
- 5432:6(float16_t) ImageSampleDrefExplicitLod 5426 5427 5428 Grad ConstOffset MinLod 5429 5430 709 5431
- 5433: 208(ptr) AccessChain 5290(texel) 207
- 5434:6(float16_t) Load 5433
- 5435:6(float16_t) FAdd 5434 5432
- 5436: 208(ptr) AccessChain 5290(texel) 207
- Store 5436 5435
- 5437: 337 Load 339(s2DArrayShadow)
- 5438: 249(fvec4) Load 251(c4)
- 5439: 53(fvec2) Load 1409(dPdxy2)
- 5440: 53(fvec2) Load 1409(dPdxy2)
- 5441: 52(float) Load 4267(lodClamp)
- 5442: 52(float) CompositeExtract 5438 3
- 5443:6(float16_t) ImageSampleDrefExplicitLod 5437 5438 5442 Grad ConstOffset MinLod 5439 5440 722 5441
- 5444: 208(ptr) AccessChain 5290(texel) 207
- 5445:6(float16_t) Load 5444
- 5446:6(float16_t) FAdd 5445 5443
- 5447: 208(ptr) AccessChain 5290(texel) 207
- Store 5447 5446
- 5448: 337 Load 339(s2DArrayShadow)
- 5449:175(f16vec3) Load 177(f16c3)
- 5450: 52(float) Load 215(compare)
- 5451:154(f16vec2) Load 1417(f16dPdxy2)
- 5452:154(f16vec2) Load 1417(f16dPdxy2)
- 5453:6(float16_t) Load 4274(f16lodClamp)
- 5454:6(float16_t) ImageSampleDrefExplicitLod 5448 5449 5450 Grad ConstOffset MinLod 5451 5452 722 5453
- 5455: 208(ptr) AccessChain 5290(texel) 207
- 5456:6(float16_t) Load 5455
- 5457:6(float16_t) FAdd 5456 5454
- 5458: 208(ptr) AccessChain 5290(texel) 207
- Store 5458 5457
- 5459: 7(f16vec4) Load 5290(texel)
- ReturnValue 5459
+ 5387: 52(float) Load 4311(lodClamp)
+ 5388: 52(float) CompositeExtract 5384 2
+ 5389:6(float16_t) ImageSampleDrefExplicitLod 5383 5384 5388 Grad ConstOffset MinLod 5385 5386 709 5387
+ 5390: 208(ptr) AccessChain 5334(texel) 207
+ 5391:6(float16_t) Load 5390
+ 5392:6(float16_t) FAdd 5391 5389
+ 5393: 208(ptr) AccessChain 5334(texel) 207
+ Store 5393 5392
+ 5394: 199 Load 201(s1DShadow)
+ 5395:154(f16vec2) Load 156(f16c2)
+ 5396: 52(float) Load 215(compare)
+ 5397:6(float16_t) Load 1401(f16dPdxy1)
+ 5398:6(float16_t) Load 1401(f16dPdxy1)
+ 5399:6(float16_t) Load 4318(f16lodClamp)
+ 5400:6(float16_t) ImageSampleDrefExplicitLod 5394 5395 5396 Grad ConstOffset MinLod 5397 5398 709 5399
+ 5401: 208(ptr) AccessChain 5334(texel) 207
+ 5402:6(float16_t) Load 5401
+ 5403:6(float16_t) FAdd 5402 5400
+ 5404: 208(ptr) AccessChain 5334(texel) 207
+ Store 5404 5403
+ 5405: 224 Load 226(s2DShadow)
+ 5406: 167(fvec3) Load 169(c3)
+ 5407: 53(fvec2) Load 1409(dPdxy2)
+ 5408: 53(fvec2) Load 1409(dPdxy2)
+ 5409: 52(float) Load 4311(lodClamp)
+ 5410: 52(float) CompositeExtract 5406 2
+ 5411:6(float16_t) ImageSampleDrefExplicitLod 5405 5406 5410 Grad ConstOffset MinLod 5407 5408 722 5409
+ 5412: 208(ptr) AccessChain 5334(texel) 207
+ 5413:6(float16_t) Load 5412
+ 5414:6(float16_t) FAdd 5413 5411
+ 5415: 208(ptr) AccessChain 5334(texel) 207
+ Store 5415 5414
+ 5416: 224 Load 226(s2DShadow)
+ 5417:154(f16vec2) Load 156(f16c2)
+ 5418: 52(float) Load 215(compare)
+ 5419:154(f16vec2) Load 1417(f16dPdxy2)
+ 5420:154(f16vec2) Load 1417(f16dPdxy2)
+ 5421:6(float16_t) Load 4318(f16lodClamp)
+ 5422:6(float16_t) ImageSampleDrefExplicitLod 5416 5417 5418 Grad ConstOffset MinLod 5419 5420 722 5421
+ 5423: 208(ptr) AccessChain 5334(texel) 207
+ 5424:6(float16_t) Load 5423
+ 5425:6(float16_t) FAdd 5424 5422
+ 5426: 208(ptr) AccessChain 5334(texel) 207
+ Store 5426 5425
+ 5427: 269 Load 271(s1DArray)
+ 5428: 53(fvec2) Load 148(c2)
+ 5429: 52(float) Load 1393(dPdxy1)
+ 5430: 52(float) Load 1393(dPdxy1)
+ 5431: 52(float) Load 4311(lodClamp)
+ 5432: 7(f16vec4) ImageSampleExplicitLod 5427 5428 Grad ConstOffset MinLod 5429 5430 709 5431
+ 5433: 7(f16vec4) Load 5334(texel)
+ 5434: 7(f16vec4) FAdd 5433 5432
+ Store 5334(texel) 5434
+ 5435: 269 Load 271(s1DArray)
+ 5436:154(f16vec2) Load 156(f16c2)
+ 5437:6(float16_t) Load 1401(f16dPdxy1)
+ 5438:6(float16_t) Load 1401(f16dPdxy1)
+ 5439:6(float16_t) Load 4318(f16lodClamp)
+ 5440: 7(f16vec4) ImageSampleExplicitLod 5435 5436 Grad ConstOffset MinLod 5437 5438 709 5439
+ 5441: 7(f16vec4) Load 5334(texel)
+ 5442: 7(f16vec4) FAdd 5441 5440
+ Store 5334(texel) 5442
+ 5443: 284 Load 286(s2DArray)
+ 5444: 167(fvec3) Load 169(c3)
+ 5445: 53(fvec2) Load 1409(dPdxy2)
+ 5446: 53(fvec2) Load 1409(dPdxy2)
+ 5447: 52(float) Load 4311(lodClamp)
+ 5448: 7(f16vec4) ImageSampleExplicitLod 5443 5444 Grad ConstOffset MinLod 5445 5446 722 5447
+ 5449: 7(f16vec4) Load 5334(texel)
+ 5450: 7(f16vec4) FAdd 5449 5448
+ Store 5334(texel) 5450
+ 5451: 284 Load 286(s2DArray)
+ 5452:175(f16vec3) Load 177(f16c3)
+ 5453:154(f16vec2) Load 1417(f16dPdxy2)
+ 5454:154(f16vec2) Load 1417(f16dPdxy2)
+ 5455:6(float16_t) Load 4318(f16lodClamp)
+ 5456: 7(f16vec4) ImageSampleExplicitLod 5451 5452 Grad ConstOffset MinLod 5453 5454 722 5455
+ 5457: 7(f16vec4) Load 5334(texel)
+ 5458: 7(f16vec4) FAdd 5457 5456
+ Store 5334(texel) 5458
+ 5459: 316 Load 318(s1DArrayShadow)
+ 5460: 167(fvec3) Load 169(c3)
+ 5461: 52(float) Load 1393(dPdxy1)
+ 5462: 52(float) Load 1393(dPdxy1)
+ 5463: 52(float) Load 4311(lodClamp)
+ 5464: 52(float) CompositeExtract 5460 2
+ 5465:6(float16_t) ImageSampleDrefExplicitLod 5459 5460 5464 Grad ConstOffset MinLod 5461 5462 709 5463
+ 5466: 208(ptr) AccessChain 5334(texel) 207
+ 5467:6(float16_t) Load 5466
+ 5468:6(float16_t) FAdd 5467 5465
+ 5469: 208(ptr) AccessChain 5334(texel) 207
+ Store 5469 5468
+ 5470: 316 Load 318(s1DArrayShadow)
+ 5471:154(f16vec2) Load 156(f16c2)
+ 5472: 52(float) Load 215(compare)
+ 5473:6(float16_t) Load 1401(f16dPdxy1)
+ 5474:6(float16_t) Load 1401(f16dPdxy1)
+ 5475:6(float16_t) Load 4318(f16lodClamp)
+ 5476:6(float16_t) ImageSampleDrefExplicitLod 5470 5471 5472 Grad ConstOffset MinLod 5473 5474 709 5475
+ 5477: 208(ptr) AccessChain 5334(texel) 207
+ 5478:6(float16_t) Load 5477
+ 5479:6(float16_t) FAdd 5478 5476
+ 5480: 208(ptr) AccessChain 5334(texel) 207
+ Store 5480 5479
+ 5481: 337 Load 339(s2DArrayShadow)
+ 5482: 249(fvec4) Load 251(c4)
+ 5483: 53(fvec2) Load 1409(dPdxy2)
+ 5484: 53(fvec2) Load 1409(dPdxy2)
+ 5485: 52(float) Load 4311(lodClamp)
+ 5486: 52(float) CompositeExtract 5482 3
+ 5487:6(float16_t) ImageSampleDrefExplicitLod 5481 5482 5486 Grad ConstOffset MinLod 5483 5484 722 5485
+ 5488: 208(ptr) AccessChain 5334(texel) 207
+ 5489:6(float16_t) Load 5488
+ 5490:6(float16_t) FAdd 5489 5487
+ 5491: 208(ptr) AccessChain 5334(texel) 207
+ Store 5491 5490
+ 5492: 337 Load 339(s2DArrayShadow)
+ 5493:175(f16vec3) Load 177(f16c3)
+ 5494: 52(float) Load 215(compare)
+ 5495:154(f16vec2) Load 1417(f16dPdxy2)
+ 5496:154(f16vec2) Load 1417(f16dPdxy2)
+ 5497:6(float16_t) Load 4318(f16lodClamp)
+ 5498:6(float16_t) ImageSampleDrefExplicitLod 5492 5493 5494 Grad ConstOffset MinLod 5495 5496 722 5497
+ 5499: 208(ptr) AccessChain 5334(texel) 207
+ 5500:6(float16_t) Load 5499
+ 5501:6(float16_t) FAdd 5500 5498
+ 5502: 208(ptr) AccessChain 5334(texel) 207
+ Store 5502 5501
+ 5503: 7(f16vec4) Load 5334(texel)
+ ReturnValue 5503
FunctionEnd
115(testCombinedTextureSampler(): 7(f16vec4) Function None 8
116: Label
- 5462(texel): 64(ptr) Variable Function
- Store 5462(texel) 121
- 5465: 122 Load 5464(t1D)
- 5469: 5466 Load 5468(s)
- 5470: 123 SampledImage 5465 5469
- 5471: 52(float) Load 128(c1)
- 5472: 7(f16vec4) ImageSampleImplicitLod 5470 5471
- 5473: 7(f16vec4) Load 5462(texel)
- 5474: 7(f16vec4) FAdd 5473 5472
- Store 5462(texel) 5474
- 5475: 122 Load 5464(t1D)
- 5476: 5466 Load 5468(s)
- 5477: 123 SampledImage 5475 5476
- 5478:6(float16_t) Load 135(f16c1)
- 5479:6(float16_t) Load 137(f16bias)
- 5480: 7(f16vec4) ImageSampleImplicitLod 5477 5478 Bias 5479
- 5481: 7(f16vec4) Load 5462(texel)
- 5482: 7(f16vec4) FAdd 5481 5480
- Store 5462(texel) 5482
- 5485: 142 Load 5484(t2D)
- 5486: 5466 Load 5468(s)
- 5487: 143 SampledImage 5485 5486
- 5488: 53(fvec2) Load 148(c2)
- 5489: 7(f16vec4) ImageSampleImplicitLod 5487 5488
- 5490: 7(f16vec4) Load 5462(texel)
- 5491: 7(f16vec4) FAdd 5490 5489
- Store 5462(texel) 5491
- 5492: 142 Load 5484(t2D)
- 5493: 5466 Load 5468(s)
- 5494: 143 SampledImage 5492 5493
- 5495:154(f16vec2) Load 156(f16c2)
- 5496:6(float16_t) Load 137(f16bias)
- 5497: 7(f16vec4) ImageSampleImplicitLod 5494 5495 Bias 5496
- 5498: 7(f16vec4) Load 5462(texel)
- 5499: 7(f16vec4) FAdd 5498 5497
- Store 5462(texel) 5499
- 5502: 162 Load 5501(t3D)
- 5503: 5466 Load 5468(s)
- 5504: 163 SampledImage 5502 5503
- 5505: 167(fvec3) Load 169(c3)
- 5506: 7(f16vec4) ImageSampleImplicitLod 5504 5505
- 5507: 7(f16vec4) Load 5462(texel)
- 5508: 7(f16vec4) FAdd 5507 5506
- Store 5462(texel) 5508
- 5509: 162 Load 5501(t3D)
- 5510: 5466 Load 5468(s)
- 5511: 163 SampledImage 5509 5510
- 5512:175(f16vec3) Load 177(f16c3)
- 5513:6(float16_t) Load 137(f16bias)
- 5514: 7(f16vec4) ImageSampleImplicitLod 5511 5512 Bias 5513
- 5515: 7(f16vec4) Load 5462(texel)
- 5516: 7(f16vec4) FAdd 5515 5514
- Store 5462(texel) 5516
- 5519: 183 Load 5518(tCube)
- 5520: 5466 Load 5468(s)
- 5521: 184 SampledImage 5519 5520
- 5522: 167(fvec3) Load 169(c3)
- 5523: 7(f16vec4) ImageSampleImplicitLod 5521 5522
- 5524: 7(f16vec4) Load 5462(texel)
- 5525: 7(f16vec4) FAdd 5524 5523
- Store 5462(texel) 5525
- 5526: 183 Load 5518(tCube)
- 5527: 5466 Load 5468(s)
- 5528: 184 SampledImage 5526 5527
- 5529:175(f16vec3) Load 177(f16c3)
- 5530:6(float16_t) Load 137(f16bias)
- 5531: 7(f16vec4) ImageSampleImplicitLod 5528 5529 Bias 5530
- 5532: 7(f16vec4) Load 5462(texel)
- 5533: 7(f16vec4) FAdd 5532 5531
- Store 5462(texel) 5533
- 5534: 122 Load 5464(t1D)
- 5536: 5466 Load 5535(sShadow)
- 5537: 199 SampledImage 5534 5536
- 5538: 167(fvec3) Load 169(c3)
- 5539: 52(float) CompositeExtract 5538 2
- 5540:6(float16_t) ImageSampleDrefImplicitLod 5537 5538 5539
- 5541: 208(ptr) AccessChain 5462(texel) 207
- 5542:6(float16_t) Load 5541
- 5543:6(float16_t) FAdd 5542 5540
- 5544: 208(ptr) AccessChain 5462(texel) 207
- Store 5544 5543
- 5545: 122 Load 5464(t1D)
- 5546: 5466 Load 5535(sShadow)
- 5547: 199 SampledImage 5545 5546
- 5548:154(f16vec2) Load 156(f16c2)
- 5549: 52(float) Load 215(compare)
- 5550:6(float16_t) Load 137(f16bias)
- 5551:6(float16_t) ImageSampleDrefImplicitLod 5547 5548 5549 Bias 5550
- 5552: 208(ptr) AccessChain 5462(texel) 207
- 5553:6(float16_t) Load 5552
- 5554:6(float16_t) FAdd 5553 5551
- 5555: 208(ptr) AccessChain 5462(texel) 207
- Store 5555 5554
- 5556: 142 Load 5484(t2D)
- 5557: 5466 Load 5535(sShadow)
- 5558: 224 SampledImage 5556 5557
- 5559: 167(fvec3) Load 169(c3)
- 5560: 52(float) CompositeExtract 5559 2
- 5561:6(float16_t) ImageSampleDrefImplicitLod 5558 5559 5560
- 5562: 208(ptr) AccessChain 5462(texel) 207
- 5563:6(float16_t) Load 5562
- 5564:6(float16_t) FAdd 5563 5561
- 5565: 208(ptr) AccessChain 5462(texel) 207
- Store 5565 5564
- 5566: 142 Load 5484(t2D)
- 5567: 5466 Load 5535(sShadow)
- 5568: 224 SampledImage 5566 5567
- 5569:154(f16vec2) Load 156(f16c2)
- 5570: 52(float) Load 215(compare)
- 5571:6(float16_t) Load 137(f16bias)
- 5572:6(float16_t) ImageSampleDrefImplicitLod 5568 5569 5570 Bias 5571
- 5573: 208(ptr) AccessChain 5462(texel) 207
- 5574:6(float16_t) Load 5573
- 5575:6(float16_t) FAdd 5574 5572
- 5576: 208(ptr) AccessChain 5462(texel) 207
- Store 5576 5575
- 5577: 183 Load 5518(tCube)
- 5578: 5466 Load 5535(sShadow)
- 5579: 245 SampledImage 5577 5578
- 5580: 249(fvec4) Load 251(c4)
- 5581: 52(float) CompositeExtract 5580 3
- 5582:6(float16_t) ImageSampleDrefImplicitLod 5579 5580 5581
- 5583: 208(ptr) AccessChain 5462(texel) 207
- 5584:6(float16_t) Load 5583
- 5585:6(float16_t) FAdd 5584 5582
- 5586: 208(ptr) AccessChain 5462(texel) 207
- Store 5586 5585
- 5587: 183 Load 5518(tCube)
- 5588: 5466 Load 5535(sShadow)
- 5589: 245 SampledImage 5587 5588
- 5590:175(f16vec3) Load 177(f16c3)
- 5591: 52(float) Load 215(compare)
- 5592:6(float16_t) Load 137(f16bias)
- 5593:6(float16_t) ImageSampleDrefImplicitLod 5589 5590 5591 Bias 5592
- 5594: 208(ptr) AccessChain 5462(texel) 207
- 5595:6(float16_t) Load 5594
- 5596:6(float16_t) FAdd 5595 5593
- 5597: 208(ptr) AccessChain 5462(texel) 207
- Store 5597 5596
- 5600: 268 Load 5599(t1DArray)
- 5601: 5466 Load 5468(s)
- 5602: 269 SampledImage 5600 5601
- 5603: 53(fvec2) Load 148(c2)
- 5604: 7(f16vec4) ImageSampleImplicitLod 5602 5603
- 5605: 7(f16vec4) Load 5462(texel)
- 5606: 7(f16vec4) FAdd 5605 5604
- Store 5462(texel) 5606
- 5607: 268 Load 5599(t1DArray)
- 5608: 5466 Load 5468(s)
- 5609: 269 SampledImage 5607 5608
- 5610:154(f16vec2) Load 156(f16c2)
- 5611:6(float16_t) Load 137(f16bias)
- 5612: 7(f16vec4) ImageSampleImplicitLod 5609 5610 Bias 5611
- 5613: 7(f16vec4) Load 5462(texel)
- 5614: 7(f16vec4) FAdd 5613 5612
- Store 5462(texel) 5614
- 5617: 283 Load 5616(t2DArray)
- 5618: 5466 Load 5468(s)
- 5619: 284 SampledImage 5617 5618
- 5620: 167(fvec3) Load 169(c3)
- 5621: 7(f16vec4) ImageSampleImplicitLod 5619 5620
- 5622: 7(f16vec4) Load 5462(texel)
- 5623: 7(f16vec4) FAdd 5622 5621
- Store 5462(texel) 5623
- 5624: 283 Load 5616(t2DArray)
- 5625: 5466 Load 5468(s)
- 5626: 284 SampledImage 5624 5625
- 5627:175(f16vec3) Load 177(f16c3)
- 5628:6(float16_t) Load 137(f16bias)
- 5629: 7(f16vec4) ImageSampleImplicitLod 5626 5627 Bias 5628
- 5630: 7(f16vec4) Load 5462(texel)
- 5631: 7(f16vec4) FAdd 5630 5629
- Store 5462(texel) 5631
- 5634: 298 Load 5633(tCubeArray)
- 5635: 5466 Load 5468(s)
- 5636: 299 SampledImage 5634 5635
- 5637: 249(fvec4) Load 251(c4)
- 5638: 7(f16vec4) ImageSampleImplicitLod 5636 5637
- 5639: 7(f16vec4) Load 5462(texel)
- 5640: 7(f16vec4) FAdd 5639 5638
- Store 5462(texel) 5640
- 5641: 298 Load 5633(tCubeArray)
- 5642: 5466 Load 5468(s)
- 5643: 299 SampledImage 5641 5642
- 5644: 7(f16vec4) Load 309(f16c4)
- 5645:6(float16_t) Load 137(f16bias)
- 5646: 7(f16vec4) ImageSampleImplicitLod 5643 5644 Bias 5645
- 5647: 7(f16vec4) Load 5462(texel)
- 5648: 7(f16vec4) FAdd 5647 5646
- Store 5462(texel) 5648
- 5649: 268 Load 5599(t1DArray)
- 5650: 5466 Load 5535(sShadow)
- 5651: 316 SampledImage 5649 5650
- 5652: 167(fvec3) Load 169(c3)
- 5653: 52(float) CompositeExtract 5652 2
- 5654:6(float16_t) ImageSampleDrefImplicitLod 5651 5652 5653
- 5655: 208(ptr) AccessChain 5462(texel) 207
- 5656:6(float16_t) Load 5655
- 5657:6(float16_t) FAdd 5656 5654
- 5658: 208(ptr) AccessChain 5462(texel) 207
- Store 5658 5657
- 5659: 268 Load 5599(t1DArray)
- 5660: 5466 Load 5535(sShadow)
- 5661: 316 SampledImage 5659 5660
- 5662:154(f16vec2) Load 156(f16c2)
- 5663: 52(float) Load 215(compare)
- 5664:6(float16_t) Load 137(f16bias)
- 5665:6(float16_t) ImageSampleDrefImplicitLod 5661 5662 5663 Bias 5664
- 5666: 208(ptr) AccessChain 5462(texel) 207
- 5667:6(float16_t) Load 5666
- 5668:6(float16_t) FAdd 5667 5665
- 5669: 208(ptr) AccessChain 5462(texel) 207
- Store 5669 5668
- 5670: 283 Load 5616(t2DArray)
- 5671: 5466 Load 5535(sShadow)
- 5672: 337 SampledImage 5670 5671
- 5673: 249(fvec4) Load 251(c4)
- 5674: 52(float) CompositeExtract 5673 3
- 5675:6(float16_t) ImageSampleDrefImplicitLod 5672 5673 5674
- 5676: 208(ptr) AccessChain 5462(texel) 207
- 5677:6(float16_t) Load 5676
- 5678:6(float16_t) FAdd 5677 5675
- 5679: 208(ptr) AccessChain 5462(texel) 207
- Store 5679 5678
- 5680: 283 Load 5616(t2DArray)
- 5681: 5466 Load 5535(sShadow)
- 5682: 337 SampledImage 5680 5681
- 5683:175(f16vec3) Load 177(f16c3)
- 5684: 52(float) Load 215(compare)
- 5685:6(float16_t) ImageSampleDrefImplicitLod 5682 5683 5684
- 5686: 208(ptr) AccessChain 5462(texel) 207
- 5687:6(float16_t) Load 5686
- 5688:6(float16_t) FAdd 5687 5685
- 5689: 208(ptr) AccessChain 5462(texel) 207
- Store 5689 5688
- 5692: 356 Load 5691(t2DRect)
- 5693: 5466 Load 5468(s)
- 5694: 357 SampledImage 5692 5693
- 5695: 53(fvec2) Load 148(c2)
- 5696: 7(f16vec4) ImageSampleImplicitLod 5694 5695
- 5697: 7(f16vec4) Load 5462(texel)
- 5698: 7(f16vec4) FAdd 5697 5696
- Store 5462(texel) 5698
- 5699: 356 Load 5691(t2DRect)
- 5700: 5466 Load 5468(s)
- 5701: 357 SampledImage 5699 5700
- 5702:154(f16vec2) Load 156(f16c2)
- 5703: 7(f16vec4) ImageSampleImplicitLod 5701 5702
- 5704: 7(f16vec4) Load 5462(texel)
- 5705: 7(f16vec4) FAdd 5704 5703
- Store 5462(texel) 5705
- 5706: 356 Load 5691(t2DRect)
- 5707: 5466 Load 5535(sShadow)
- 5708: 371 SampledImage 5706 5707
- 5709: 167(fvec3) Load 169(c3)
- 5710: 52(float) CompositeExtract 5709 2
- 5711:6(float16_t) ImageSampleDrefImplicitLod 5708 5709 5710
- 5712: 208(ptr) AccessChain 5462(texel) 207
- 5713:6(float16_t) Load 5712
- 5714:6(float16_t) FAdd 5713 5711
- 5715: 208(ptr) AccessChain 5462(texel) 207
- Store 5715 5714
- 5716: 356 Load 5691(t2DRect)
- 5717: 5466 Load 5535(sShadow)
- 5718: 371 SampledImage 5716 5717
- 5719:154(f16vec2) Load 156(f16c2)
- 5720: 52(float) Load 215(compare)
- 5721:6(float16_t) ImageSampleDrefImplicitLod 5718 5719 5720
- 5722: 208(ptr) AccessChain 5462(texel) 207
- 5723:6(float16_t) Load 5722
- 5724:6(float16_t) FAdd 5723 5721
- 5725: 208(ptr) AccessChain 5462(texel) 207
- Store 5725 5724
- 5726: 298 Load 5633(tCubeArray)
- 5727: 5466 Load 5535(sShadow)
- 5728: 391 SampledImage 5726 5727
- 5729: 249(fvec4) Load 251(c4)
- 5730: 52(float) Load 215(compare)
- 5731:6(float16_t) ImageSampleDrefImplicitLod 5728 5729 5730
- 5732: 208(ptr) AccessChain 5462(texel) 207
- 5733:6(float16_t) Load 5732
- 5734:6(float16_t) FAdd 5733 5731
- 5735: 208(ptr) AccessChain 5462(texel) 207
- Store 5735 5734
- 5736: 298 Load 5633(tCubeArray)
- 5737: 5466 Load 5535(sShadow)
- 5738: 391 SampledImage 5736 5737
- 5739: 7(f16vec4) Load 309(f16c4)
- 5740: 52(float) Load 215(compare)
- 5741:6(float16_t) ImageSampleDrefImplicitLod 5738 5739 5740
- 5742: 208(ptr) AccessChain 5462(texel) 207
- 5743:6(float16_t) Load 5742
- 5744:6(float16_t) FAdd 5743 5741
- 5745: 208(ptr) AccessChain 5462(texel) 207
- Store 5745 5744
- 5746: 7(f16vec4) Load 5462(texel)
- ReturnValue 5746
+ 5506(texel): 64(ptr) Variable Function
+ Store 5506(texel) 121
+ 5509: 122 Load 5508(t1D)
+ 5513: 5510 Load 5512(s)
+ 5514: 123 SampledImage 5509 5513
+ 5515: 52(float) Load 128(c1)
+ 5516: 7(f16vec4) ImageSampleImplicitLod 5514 5515
+ 5517: 7(f16vec4) Load 5506(texel)
+ 5518: 7(f16vec4) FAdd 5517 5516
+ Store 5506(texel) 5518
+ 5519: 122 Load 5508(t1D)
+ 5520: 5510 Load 5512(s)
+ 5521: 123 SampledImage 5519 5520
+ 5522:6(float16_t) Load 135(f16c1)
+ 5523:6(float16_t) Load 137(f16bias)
+ 5524: 7(f16vec4) ImageSampleImplicitLod 5521 5522 Bias 5523
+ 5525: 7(f16vec4) Load 5506(texel)
+ 5526: 7(f16vec4) FAdd 5525 5524
+ Store 5506(texel) 5526
+ 5529: 142 Load 5528(t2D)
+ 5530: 5510 Load 5512(s)
+ 5531: 143 SampledImage 5529 5530
+ 5532: 53(fvec2) Load 148(c2)
+ 5533: 7(f16vec4) ImageSampleImplicitLod 5531 5532
+ 5534: 7(f16vec4) Load 5506(texel)
+ 5535: 7(f16vec4) FAdd 5534 5533
+ Store 5506(texel) 5535
+ 5536: 142 Load 5528(t2D)
+ 5537: 5510 Load 5512(s)
+ 5538: 143 SampledImage 5536 5537
+ 5539:154(f16vec2) Load 156(f16c2)
+ 5540:6(float16_t) Load 137(f16bias)
+ 5541: 7(f16vec4) ImageSampleImplicitLod 5538 5539 Bias 5540
+ 5542: 7(f16vec4) Load 5506(texel)
+ 5543: 7(f16vec4) FAdd 5542 5541
+ Store 5506(texel) 5543
+ 5546: 162 Load 5545(t3D)
+ 5547: 5510 Load 5512(s)
+ 5548: 163 SampledImage 5546 5547
+ 5549: 167(fvec3) Load 169(c3)
+ 5550: 7(f16vec4) ImageSampleImplicitLod 5548 5549
+ 5551: 7(f16vec4) Load 5506(texel)
+ 5552: 7(f16vec4) FAdd 5551 5550
+ Store 5506(texel) 5552
+ 5553: 162 Load 5545(t3D)
+ 5554: 5510 Load 5512(s)
+ 5555: 163 SampledImage 5553 5554
+ 5556:175(f16vec3) Load 177(f16c3)
+ 5557:6(float16_t) Load 137(f16bias)
+ 5558: 7(f16vec4) ImageSampleImplicitLod 5555 5556 Bias 5557
+ 5559: 7(f16vec4) Load 5506(texel)
+ 5560: 7(f16vec4) FAdd 5559 5558
+ Store 5506(texel) 5560
+ 5563: 183 Load 5562(tCube)
+ 5564: 5510 Load 5512(s)
+ 5565: 184 SampledImage 5563 5564
+ 5566: 167(fvec3) Load 169(c3)
+ 5567: 7(f16vec4) ImageSampleImplicitLod 5565 5566
+ 5568: 7(f16vec4) Load 5506(texel)
+ 5569: 7(f16vec4) FAdd 5568 5567
+ Store 5506(texel) 5569
+ 5570: 183 Load 5562(tCube)
+ 5571: 5510 Load 5512(s)
+ 5572: 184 SampledImage 5570 5571
+ 5573:175(f16vec3) Load 177(f16c3)
+ 5574:6(float16_t) Load 137(f16bias)
+ 5575: 7(f16vec4) ImageSampleImplicitLod 5572 5573 Bias 5574
+ 5576: 7(f16vec4) Load 5506(texel)
+ 5577: 7(f16vec4) FAdd 5576 5575
+ Store 5506(texel) 5577
+ 5578: 122 Load 5508(t1D)
+ 5580: 5510 Load 5579(sShadow)
+ 5581: 199 SampledImage 5578 5580
+ 5582: 167(fvec3) Load 169(c3)
+ 5583: 52(float) CompositeExtract 5582 2
+ 5584:6(float16_t) ImageSampleDrefImplicitLod 5581 5582 5583
+ 5585: 208(ptr) AccessChain 5506(texel) 207
+ 5586:6(float16_t) Load 5585
+ 5587:6(float16_t) FAdd 5586 5584
+ 5588: 208(ptr) AccessChain 5506(texel) 207
+ Store 5588 5587
+ 5589: 122 Load 5508(t1D)
+ 5590: 5510 Load 5579(sShadow)
+ 5591: 199 SampledImage 5589 5590
+ 5592:154(f16vec2) Load 156(f16c2)
+ 5593: 52(float) Load 215(compare)
+ 5594:6(float16_t) Load 137(f16bias)
+ 5595:6(float16_t) ImageSampleDrefImplicitLod 5591 5592 5593 Bias 5594
+ 5596: 208(ptr) AccessChain 5506(texel) 207
+ 5597:6(float16_t) Load 5596
+ 5598:6(float16_t) FAdd 5597 5595
+ 5599: 208(ptr) AccessChain 5506(texel) 207
+ Store 5599 5598
+ 5600: 142 Load 5528(t2D)
+ 5601: 5510 Load 5579(sShadow)
+ 5602: 224 SampledImage 5600 5601
+ 5603: 167(fvec3) Load 169(c3)
+ 5604: 52(float) CompositeExtract 5603 2
+ 5605:6(float16_t) ImageSampleDrefImplicitLod 5602 5603 5604
+ 5606: 208(ptr) AccessChain 5506(texel) 207
+ 5607:6(float16_t) Load 5606
+ 5608:6(float16_t) FAdd 5607 5605
+ 5609: 208(ptr) AccessChain 5506(texel) 207
+ Store 5609 5608
+ 5610: 142 Load 5528(t2D)
+ 5611: 5510 Load 5579(sShadow)
+ 5612: 224 SampledImage 5610 5611
+ 5613:154(f16vec2) Load 156(f16c2)
+ 5614: 52(float) Load 215(compare)
+ 5615:6(float16_t) Load 137(f16bias)
+ 5616:6(float16_t) ImageSampleDrefImplicitLod 5612 5613 5614 Bias 5615
+ 5617: 208(ptr) AccessChain 5506(texel) 207
+ 5618:6(float16_t) Load 5617
+ 5619:6(float16_t) FAdd 5618 5616
+ 5620: 208(ptr) AccessChain 5506(texel) 207
+ Store 5620 5619
+ 5621: 183 Load 5562(tCube)
+ 5622: 5510 Load 5579(sShadow)
+ 5623: 245 SampledImage 5621 5622
+ 5624: 249(fvec4) Load 251(c4)
+ 5625: 52(float) CompositeExtract 5624 3
+ 5626:6(float16_t) ImageSampleDrefImplicitLod 5623 5624 5625
+ 5627: 208(ptr) AccessChain 5506(texel) 207
+ 5628:6(float16_t) Load 5627
+ 5629:6(float16_t) FAdd 5628 5626
+ 5630: 208(ptr) AccessChain 5506(texel) 207
+ Store 5630 5629
+ 5631: 183 Load 5562(tCube)
+ 5632: 5510 Load 5579(sShadow)
+ 5633: 245 SampledImage 5631 5632
+ 5634:175(f16vec3) Load 177(f16c3)
+ 5635: 52(float) Load 215(compare)
+ 5636:6(float16_t) Load 137(f16bias)
+ 5637:6(float16_t) ImageSampleDrefImplicitLod 5633 5634 5635 Bias 5636
+ 5638: 208(ptr) AccessChain 5506(texel) 207
+ 5639:6(float16_t) Load 5638
+ 5640:6(float16_t) FAdd 5639 5637
+ 5641: 208(ptr) AccessChain 5506(texel) 207
+ Store 5641 5640
+ 5644: 268 Load 5643(t1DArray)
+ 5645: 5510 Load 5512(s)
+ 5646: 269 SampledImage 5644 5645
+ 5647: 53(fvec2) Load 148(c2)
+ 5648: 7(f16vec4) ImageSampleImplicitLod 5646 5647
+ 5649: 7(f16vec4) Load 5506(texel)
+ 5650: 7(f16vec4) FAdd 5649 5648
+ Store 5506(texel) 5650
+ 5651: 268 Load 5643(t1DArray)
+ 5652: 5510 Load 5512(s)
+ 5653: 269 SampledImage 5651 5652
+ 5654:154(f16vec2) Load 156(f16c2)
+ 5655:6(float16_t) Load 137(f16bias)
+ 5656: 7(f16vec4) ImageSampleImplicitLod 5653 5654 Bias 5655
+ 5657: 7(f16vec4) Load 5506(texel)
+ 5658: 7(f16vec4) FAdd 5657 5656
+ Store 5506(texel) 5658
+ 5661: 283 Load 5660(t2DArray)
+ 5662: 5510 Load 5512(s)
+ 5663: 284 SampledImage 5661 5662
+ 5664: 167(fvec3) Load 169(c3)
+ 5665: 7(f16vec4) ImageSampleImplicitLod 5663 5664
+ 5666: 7(f16vec4) Load 5506(texel)
+ 5667: 7(f16vec4) FAdd 5666 5665
+ Store 5506(texel) 5667
+ 5668: 283 Load 5660(t2DArray)
+ 5669: 5510 Load 5512(s)
+ 5670: 284 SampledImage 5668 5669
+ 5671:175(f16vec3) Load 177(f16c3)
+ 5672:6(float16_t) Load 137(f16bias)
+ 5673: 7(f16vec4) ImageSampleImplicitLod 5670 5671 Bias 5672
+ 5674: 7(f16vec4) Load 5506(texel)
+ 5675: 7(f16vec4) FAdd 5674 5673
+ Store 5506(texel) 5675
+ 5678: 298 Load 5677(tCubeArray)
+ 5679: 5510 Load 5512(s)
+ 5680: 299 SampledImage 5678 5679
+ 5681: 249(fvec4) Load 251(c4)
+ 5682: 7(f16vec4) ImageSampleImplicitLod 5680 5681
+ 5683: 7(f16vec4) Load 5506(texel)
+ 5684: 7(f16vec4) FAdd 5683 5682
+ Store 5506(texel) 5684
+ 5685: 298 Load 5677(tCubeArray)
+ 5686: 5510 Load 5512(s)
+ 5687: 299 SampledImage 5685 5686
+ 5688: 7(f16vec4) Load 309(f16c4)
+ 5689:6(float16_t) Load 137(f16bias)
+ 5690: 7(f16vec4) ImageSampleImplicitLod 5687 5688 Bias 5689
+ 5691: 7(f16vec4) Load 5506(texel)
+ 5692: 7(f16vec4) FAdd 5691 5690
+ Store 5506(texel) 5692
+ 5693: 268 Load 5643(t1DArray)
+ 5694: 5510 Load 5579(sShadow)
+ 5695: 316 SampledImage 5693 5694
+ 5696: 167(fvec3) Load 169(c3)
+ 5697: 52(float) CompositeExtract 5696 2
+ 5698:6(float16_t) ImageSampleDrefImplicitLod 5695 5696 5697
+ 5699: 208(ptr) AccessChain 5506(texel) 207
+ 5700:6(float16_t) Load 5699
+ 5701:6(float16_t) FAdd 5700 5698
+ 5702: 208(ptr) AccessChain 5506(texel) 207
+ Store 5702 5701
+ 5703: 268 Load 5643(t1DArray)
+ 5704: 5510 Load 5579(sShadow)
+ 5705: 316 SampledImage 5703 5704
+ 5706:154(f16vec2) Load 156(f16c2)
+ 5707: 52(float) Load 215(compare)
+ 5708:6(float16_t) Load 137(f16bias)
+ 5709:6(float16_t) ImageSampleDrefImplicitLod 5705 5706 5707 Bias 5708
+ 5710: 208(ptr) AccessChain 5506(texel) 207
+ 5711:6(float16_t) Load 5710
+ 5712:6(float16_t) FAdd 5711 5709
+ 5713: 208(ptr) AccessChain 5506(texel) 207
+ Store 5713 5712
+ 5714: 283 Load 5660(t2DArray)
+ 5715: 5510 Load 5579(sShadow)
+ 5716: 337 SampledImage 5714 5715
+ 5717: 249(fvec4) Load 251(c4)
+ 5718: 52(float) CompositeExtract 5717 3
+ 5719:6(float16_t) ImageSampleDrefImplicitLod 5716 5717 5718
+ 5720: 208(ptr) AccessChain 5506(texel) 207
+ 5721:6(float16_t) Load 5720
+ 5722:6(float16_t) FAdd 5721 5719
+ 5723: 208(ptr) AccessChain 5506(texel) 207
+ Store 5723 5722
+ 5724: 283 Load 5660(t2DArray)
+ 5725: 5510 Load 5579(sShadow)
+ 5726: 337 SampledImage 5724 5725
+ 5727:175(f16vec3) Load 177(f16c3)
+ 5728: 52(float) Load 215(compare)
+ 5729:6(float16_t) ImageSampleDrefImplicitLod 5726 5727 5728
+ 5730: 208(ptr) AccessChain 5506(texel) 207
+ 5731:6(float16_t) Load 5730
+ 5732:6(float16_t) FAdd 5731 5729
+ 5733: 208(ptr) AccessChain 5506(texel) 207
+ Store 5733 5732
+ 5736: 356 Load 5735(t2DRect)
+ 5737: 5510 Load 5512(s)
+ 5738: 357 SampledImage 5736 5737
+ 5739: 53(fvec2) Load 148(c2)
+ 5740: 7(f16vec4) ImageSampleImplicitLod 5738 5739
+ 5741: 7(f16vec4) Load 5506(texel)
+ 5742: 7(f16vec4) FAdd 5741 5740
+ Store 5506(texel) 5742
+ 5743: 356 Load 5735(t2DRect)
+ 5744: 5510 Load 5512(s)
+ 5745: 357 SampledImage 5743 5744
+ 5746:154(f16vec2) Load 156(f16c2)
+ 5747: 7(f16vec4) ImageSampleImplicitLod 5745 5746
+ 5748: 7(f16vec4) Load 5506(texel)
+ 5749: 7(f16vec4) FAdd 5748 5747
+ Store 5506(texel) 5749
+ 5750: 356 Load 5735(t2DRect)
+ 5751: 5510 Load 5579(sShadow)
+ 5752: 371 SampledImage 5750 5751
+ 5753: 167(fvec3) Load 169(c3)
+ 5754: 52(float) CompositeExtract 5753 2
+ 5755:6(float16_t) ImageSampleDrefImplicitLod 5752 5753 5754
+ 5756: 208(ptr) AccessChain 5506(texel) 207
+ 5757:6(float16_t) Load 5756
+ 5758:6(float16_t) FAdd 5757 5755
+ 5759: 208(ptr) AccessChain 5506(texel) 207
+ Store 5759 5758
+ 5760: 356 Load 5735(t2DRect)
+ 5761: 5510 Load 5579(sShadow)
+ 5762: 371 SampledImage 5760 5761
+ 5763:154(f16vec2) Load 156(f16c2)
+ 5764: 52(float) Load 215(compare)
+ 5765:6(float16_t) ImageSampleDrefImplicitLod 5762 5763 5764
+ 5766: 208(ptr) AccessChain 5506(texel) 207
+ 5767:6(float16_t) Load 5766
+ 5768:6(float16_t) FAdd 5767 5765
+ 5769: 208(ptr) AccessChain 5506(texel) 207
+ Store 5769 5768
+ 5770: 298 Load 5677(tCubeArray)
+ 5771: 5510 Load 5579(sShadow)
+ 5772: 391 SampledImage 5770 5771
+ 5773: 249(fvec4) Load 251(c4)
+ 5774: 52(float) Load 215(compare)
+ 5775:6(float16_t) ImageSampleDrefImplicitLod 5772 5773 5774
+ 5776: 208(ptr) AccessChain 5506(texel) 207
+ 5777:6(float16_t) Load 5776
+ 5778:6(float16_t) FAdd 5777 5775
+ 5779: 208(ptr) AccessChain 5506(texel) 207
+ Store 5779 5778
+ 5780: 298 Load 5677(tCubeArray)
+ 5781: 5510 Load 5579(sShadow)
+ 5782: 391 SampledImage 5780 5781
+ 5783: 7(f16vec4) Load 309(f16c4)
+ 5784: 52(float) Load 215(compare)
+ 5785:6(float16_t) ImageSampleDrefImplicitLod 5782 5783 5784
+ 5786: 208(ptr) AccessChain 5506(texel) 207
+ 5787:6(float16_t) Load 5786
+ 5788:6(float16_t) FAdd 5787 5785
+ 5789: 208(ptr) AccessChain 5506(texel) 207
+ Store 5789 5788
+ 5790: 7(f16vec4) Load 5506(texel)
+ ReturnValue 5790
FunctionEnd
117(testSubpassLoad(): 7(f16vec4) Function None 8
118: Label
- 5752: 5749 Load 5751(subpass)
- 5754: 7(f16vec4) ImageRead 5752 5753
- 5758: 5755 Load 5757(subpassMS)
- 5759: 7(f16vec4) ImageRead 5758 5753 Sample 1326
- 5760: 7(f16vec4) FAdd 5754 5759
- ReturnValue 5760
+ 5796: 5793 Load 5795(subpass)
+ 5798: 7(f16vec4) ImageRead 5796 5797
+ 5802: 5799 Load 5801(subpassMS)
+ 5803: 7(f16vec4) ImageRead 5802 5797 Sample 1326
+ 5804: 7(f16vec4) FAdd 5798 5803
+ ReturnValue 5804
FunctionEnd
diff --git a/Test/baseResults/spv.float32.frag.out b/Test/baseResults/spv.float32.frag.out
index df73497..2ffa231 100644
--- a/Test/baseResults/spv.float32.frag.out
+++ b/Test/baseResults/spv.float32.frag.out
@@ -1,7 +1,7 @@
spv.float32.frag
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 533
+// Id's are bound by 541
Capability Shader
Capability Float16
@@ -83,52 +83,52 @@
Name 451 "f32v2"
Name 469 "f32v"
Name 471 "if32v"
- Name 520 "S"
- MemberName 520(S) 0 "x"
- MemberName 520(S) 1 "y"
- MemberName 520(S) 2 "z"
- Name 522 "B1"
- MemberName 522(B1) 0 "a"
- MemberName 522(B1) 1 "b"
- MemberName 522(B1) 2 "c"
- MemberName 522(B1) 3 "d"
- MemberName 522(B1) 4 "e"
- MemberName 522(B1) 5 "f"
- MemberName 522(B1) 6 "g"
- MemberName 522(B1) 7 "h"
- Name 524 ""
- Name 525 "sf16"
- Name 526 "sf"
- Name 527 "sd"
- Name 528 "f16_to_f"
- Name 530 "f16_to_d"
- Name 531 "f_to_f16"
- Name 532 "d_to_f16"
+ Name 528 "S"
+ MemberName 528(S) 0 "x"
+ MemberName 528(S) 1 "y"
+ MemberName 528(S) 2 "z"
+ Name 530 "B1"
+ MemberName 530(B1) 0 "a"
+ MemberName 530(B1) 1 "b"
+ MemberName 530(B1) 2 "c"
+ MemberName 530(B1) 3 "d"
+ MemberName 530(B1) 4 "e"
+ MemberName 530(B1) 5 "f"
+ MemberName 530(B1) 6 "g"
+ MemberName 530(B1) 7 "h"
+ Name 532 ""
+ Name 533 "sf16"
+ Name 534 "sf"
+ Name 535 "sd"
+ Name 536 "f16_to_f"
+ Name 538 "f16_to_d"
+ Name 539 "f_to_f16"
+ Name 540 "d_to_f16"
Decorate 471(if32v) Location 0
- Decorate 518 ArrayStride 16
- Decorate 519 ArrayStride 32
- MemberDecorate 520(S) 0 Offset 0
- MemberDecorate 520(S) 1 Offset 8
- MemberDecorate 520(S) 2 Offset 16
- Decorate 521 ArrayStride 32
- MemberDecorate 522(B1) 0 Offset 0
- MemberDecorate 522(B1) 1 Offset 8
- MemberDecorate 522(B1) 2 Offset 16
- MemberDecorate 522(B1) 3 Offset 32
- MemberDecorate 522(B1) 4 ColMajor
- MemberDecorate 522(B1) 4 Offset 64
- MemberDecorate 522(B1) 4 MatrixStride 16
- MemberDecorate 522(B1) 5 ColMajor
- MemberDecorate 522(B1) 5 Offset 96
- MemberDecorate 522(B1) 5 MatrixStride 16
- MemberDecorate 522(B1) 6 Offset 160
- MemberDecorate 522(B1) 7 Offset 192
- Decorate 522(B1) Block
- Decorate 524 DescriptorSet 0
- Decorate 524 Binding 0
- Decorate 525(sf16) SpecId 100
- Decorate 526(sf) SpecId 101
- Decorate 527(sd) SpecId 102
+ Decorate 526 ArrayStride 16
+ Decorate 527 ArrayStride 32
+ MemberDecorate 528(S) 0 Offset 0
+ MemberDecorate 528(S) 1 Offset 8
+ MemberDecorate 528(S) 2 Offset 16
+ Decorate 529 ArrayStride 32
+ MemberDecorate 530(B1) 0 Offset 0
+ MemberDecorate 530(B1) 1 Offset 8
+ MemberDecorate 530(B1) 2 Offset 16
+ MemberDecorate 530(B1) 3 Offset 32
+ MemberDecorate 530(B1) 4 ColMajor
+ MemberDecorate 530(B1) 4 Offset 64
+ MemberDecorate 530(B1) 4 MatrixStride 16
+ MemberDecorate 530(B1) 5 ColMajor
+ MemberDecorate 530(B1) 5 Offset 96
+ MemberDecorate 530(B1) 5 MatrixStride 16
+ MemberDecorate 530(B1) 6 Offset 160
+ MemberDecorate 530(B1) 7 Offset 192
+ Decorate 530(B1) Block
+ Decorate 532 DescriptorSet 0
+ Decorate 532 Binding 0
+ Decorate 533(sf16) SpecId 100
+ Decorate 534(sf) SpecId 101
+ Decorate 535(sd) SpecId 102
2: TypeVoid
3: TypeFunction 2
26: TypeFloat 32
@@ -197,25 +197,25 @@
470: TypePointer Input 153(fvec3)
471(if32v): 470(ptr) Variable Input
472: TypePointer Input 26(float)
- 509: 192(int) Constant 1
- 514: 26(float) Constant 1056964608
- 515: 27(fvec2) ConstantComposite 514 514
- 517: 31(int) Constant 2
- 518: TypeArray 26(float) 517
- 519: TypeArray 412 517
- 520(S): TypeStruct 26(float) 27(fvec2) 153(fvec3)
- 521: TypeArray 520(S) 517
- 522(B1): TypeStruct 26(float) 27(fvec2) 153(fvec3) 518 412 519 520(S) 521
- 523: TypePointer Uniform 522(B1)
- 524: 523(ptr) Variable Uniform
- 525(sf16):172(float16_t) SpecConstant 12288
- 526(sf): 26(float) SpecConstant 1048576000
- 527(sd):149(float64_t) SpecConstant 0 1071644672
- 528(f16_to_f): 26(float) SpecConstantOp 115 525(sf16)
- 529: 26(float) SpecConstantOp 115 525(sf16)
- 530(f16_to_d):149(float64_t) SpecConstantOp 115 529
- 531(f_to_f16):172(float16_t) SpecConstantOp 115 526(sf)
- 532(d_to_f16):172(float16_t) SpecConstantOp 115 527(sd)
+ 515: 192(int) Constant 1
+ 522: 26(float) Constant 1056964608
+ 523: 27(fvec2) ConstantComposite 522 522
+ 525: 31(int) Constant 2
+ 526: TypeArray 26(float) 525
+ 527: TypeArray 412 525
+ 528(S): TypeStruct 26(float) 27(fvec2) 153(fvec3)
+ 529: TypeArray 528(S) 525
+ 530(B1): TypeStruct 26(float) 27(fvec2) 153(fvec3) 526 412 527 528(S) 529
+ 531: TypePointer Uniform 530(B1)
+ 532: 531(ptr) Variable Uniform
+ 533(sf16):172(float16_t) SpecConstant 12288
+ 534(sf): 26(float) SpecConstant 1048576000
+ 535(sd):149(float64_t) SpecConstant 0 1071644672
+ 536(f16_to_f): 26(float) SpecConstantOp 115 533(sf16)
+ 537: 26(float) SpecConstantOp 115 533(sf16)
+ 538(f16_to_d):149(float64_t) SpecConstantOp 115 537
+ 539(f_to_f16):172(float16_t) SpecConstantOp 115 534(sf)
+ 540(d_to_f16):172(float16_t) SpecConstantOp 115 535(sd)
4(main): 2 Function None 3
5: Label
Return
@@ -765,45 +765,57 @@
481: 153(fvec3) Load 471(if32v)
482: 27(fvec2) VectorShuffle 481 481 0 1
483: 27(fvec2) DPdxFine 482
- 484: 153(fvec3) Load 469(f32v)
- 485: 153(fvec3) VectorShuffle 484 483 3 4 2
- Store 469(f32v) 485
- 486: 153(fvec3) Load 471(if32v)
- 487: 27(fvec2) VectorShuffle 486 486 0 1
- 488: 27(fvec2) DPdyFine 487
- 489: 153(fvec3) Load 469(f32v)
- 490: 153(fvec3) VectorShuffle 489 488 3 4 2
- Store 469(f32v) 490
- 491: 153(fvec3) Load 471(if32v)
- 492: 153(fvec3) DPdxCoarse 491
- Store 469(f32v) 492
- 493: 153(fvec3) Load 471(if32v)
- 494: 153(fvec3) DPdxCoarse 493
- Store 469(f32v) 494
- 495: 472(ptr) AccessChain 471(if32v) 32
- 496: 26(float) Load 495
- 497: 26(float) Fwidth 496
- 498: 33(ptr) AccessChain 469(f32v) 32
- Store 498 497
- 499: 153(fvec3) Load 471(if32v)
- 500: 27(fvec2) VectorShuffle 499 499 0 1
- 501: 27(fvec2) FwidthFine 500
- 502: 153(fvec3) Load 469(f32v)
- 503: 153(fvec3) VectorShuffle 502 501 3 4 2
- Store 469(f32v) 503
- 504: 153(fvec3) Load 471(if32v)
- 505: 153(fvec3) FwidthCoarse 504
- Store 469(f32v) 505
- 506: 472(ptr) AccessChain 471(if32v) 32
- 507: 26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 506
- 508: 33(ptr) AccessChain 469(f32v) 32
- Store 508 507
- 510: 153(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 471(if32v) 509
- 511: 27(fvec2) VectorShuffle 510 510 0 1
- 512: 153(fvec3) Load 469(f32v)
- 513: 153(fvec3) VectorShuffle 512 511 3 4 2
- Store 469(f32v) 513
- 516: 153(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 471(if32v) 515
- Store 469(f32v) 516
+ 484: 33(ptr) AccessChain 469(f32v) 32
+ 485: 26(float) CompositeExtract 483 0
+ Store 484 485
+ 486: 33(ptr) AccessChain 469(f32v) 88
+ 487: 26(float) CompositeExtract 483 1
+ Store 486 487
+ 488: 153(fvec3) Load 471(if32v)
+ 489: 27(fvec2) VectorShuffle 488 488 0 1
+ 490: 27(fvec2) DPdyFine 489
+ 491: 33(ptr) AccessChain 469(f32v) 32
+ 492: 26(float) CompositeExtract 490 0
+ Store 491 492
+ 493: 33(ptr) AccessChain 469(f32v) 88
+ 494: 26(float) CompositeExtract 490 1
+ Store 493 494
+ 495: 153(fvec3) Load 471(if32v)
+ 496: 153(fvec3) DPdxCoarse 495
+ Store 469(f32v) 496
+ 497: 153(fvec3) Load 471(if32v)
+ 498: 153(fvec3) DPdxCoarse 497
+ Store 469(f32v) 498
+ 499: 472(ptr) AccessChain 471(if32v) 32
+ 500: 26(float) Load 499
+ 501: 26(float) Fwidth 500
+ 502: 33(ptr) AccessChain 469(f32v) 32
+ Store 502 501
+ 503: 153(fvec3) Load 471(if32v)
+ 504: 27(fvec2) VectorShuffle 503 503 0 1
+ 505: 27(fvec2) FwidthFine 504
+ 506: 33(ptr) AccessChain 469(f32v) 32
+ 507: 26(float) CompositeExtract 505 0
+ Store 506 507
+ 508: 33(ptr) AccessChain 469(f32v) 88
+ 509: 26(float) CompositeExtract 505 1
+ Store 508 509
+ 510: 153(fvec3) Load 471(if32v)
+ 511: 153(fvec3) FwidthCoarse 510
+ Store 469(f32v) 511
+ 512: 472(ptr) AccessChain 471(if32v) 32
+ 513: 26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 512
+ 514: 33(ptr) AccessChain 469(f32v) 32
+ Store 514 513
+ 516: 153(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 471(if32v) 515
+ 517: 27(fvec2) VectorShuffle 516 516 0 1
+ 518: 33(ptr) AccessChain 469(f32v) 32
+ 519: 26(float) CompositeExtract 517 0
+ Store 518 519
+ 520: 33(ptr) AccessChain 469(f32v) 88
+ 521: 26(float) CompositeExtract 517 1
+ Store 520 521
+ 524: 153(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 471(if32v) 523
+ Store 469(f32v) 524
Return
FunctionEnd
diff --git a/Test/baseResults/spv.float64.frag.out b/Test/baseResults/spv.float64.frag.out
index 8a69367..cd5f80d 100644
--- a/Test/baseResults/spv.float64.frag.out
+++ b/Test/baseResults/spv.float64.frag.out
@@ -2,7 +2,7 @@
Validation failed
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 524
+// Id's are bound by 485
Capability Shader
Capability Float16
@@ -14,7 +14,7 @@
Capability InterpolationFunction
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 461
+ EntryPoint Fragment 4 "main" 414
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
SourceExtension "GL_EXT_shader_explicit_arithmetic_types"
@@ -29,770 +29,710 @@
Name 6 "literal("
Name 8 "operators("
Name 10 "typeCast("
- Name 12 "builtinAngleTrigFuncs("
- Name 14 "builtinExpFuncs("
- Name 16 "builtinCommonFuncs("
- Name 18 "builtinGeometryFuncs("
- Name 20 "builtinMatrixFuncs("
- Name 22 "builtinVecRelFuncs("
- Name 24 "builtinFragProcFuncs("
- Name 29 "f64v"
- Name 40 "f64v"
- Name 62 "f64m"
- Name 85 "f64"
- Name 109 "b"
- Name 151 "f64v"
- Name 154 "bv"
- Name 165 "f16v"
- Name 173 "i8v"
- Name 179 "i16v"
- Name 185 "i32v"
- Name 191 "i64v"
- Name 197 "u8v"
- Name 203 "u16v"
- Name 208 "u32v"
- Name 214 "u64v"
- Name 219 "f64v2"
- Name 220 "f64v1"
- Name 252 "f64v2"
- Name 253 "f64v1"
- Name 269 "f64v2"
- Name 270 "f64v1"
- Name 291 "f64"
- Name 295 "f64v3"
- Name 335 "bv"
- Name 356 "b"
- Name 366 "iv"
- Name 367 "ResType"
- Name 374 "f64"
- Name 375 "f64v1"
- Name 379 "f64v2"
- Name 385 "f64v3"
- Name 404 "f64m3"
- Name 405 "f64m1"
- Name 407 "f64m2"
- Name 416 "f64v1"
- Name 418 "f64v2"
- Name 423 "f64m4"
- Name 426 "f64"
- Name 429 "f64m5"
- Name 434 "f64m6"
- Name 435 "f64m7"
- Name 438 "bv"
- Name 439 "f64v1"
- Name 441 "f64v2"
- Name 459 "f64v"
- Name 461 "if64v"
- Name 510 "S"
- MemberName 510(S) 0 "x"
- MemberName 510(S) 1 "y"
- MemberName 510(S) 2 "z"
- Name 512 "B1"
- MemberName 512(B1) 0 "a"
- MemberName 512(B1) 1 "b"
- MemberName 512(B1) 2 "c"
- MemberName 512(B1) 3 "d"
- MemberName 512(B1) 4 "e"
- MemberName 512(B1) 5 "f"
- MemberName 512(B1) 6 "g"
- MemberName 512(B1) 7 "h"
- Name 514 ""
- Name 515 "sf16"
- Name 517 "sf"
- Name 518 "sd"
- Name 519 "f16_to_f"
- Name 521 "f16_to_d"
- Name 522 "f_to_f16"
- Name 523 "d_to_f16"
- Decorate 461(if64v) Flat
- Decorate 461(if64v) Location 0
- Decorate 508 ArrayStride 16
- Decorate 509 ArrayStride 64
- MemberDecorate 510(S) 0 Offset 0
- MemberDecorate 510(S) 1 Offset 16
- MemberDecorate 510(S) 2 Offset 32
- Decorate 511 ArrayStride 64
- MemberDecorate 512(B1) 0 Offset 0
- MemberDecorate 512(B1) 1 Offset 16
- MemberDecorate 512(B1) 2 Offset 32
- MemberDecorate 512(B1) 3 Offset 64
- MemberDecorate 512(B1) 4 ColMajor
- MemberDecorate 512(B1) 4 Offset 96
- MemberDecorate 512(B1) 4 MatrixStride 32
- MemberDecorate 512(B1) 5 ColMajor
- MemberDecorate 512(B1) 5 Offset 160
- MemberDecorate 512(B1) 5 MatrixStride 32
- MemberDecorate 512(B1) 6 Offset 288
- MemberDecorate 512(B1) 7 Offset 352
- Decorate 512(B1) Block
- Decorate 514 DescriptorSet 0
- Decorate 514 Binding 0
- Decorate 515(sf16) SpecId 100
- Decorate 517(sf) SpecId 101
- Decorate 518(sd) SpecId 102
+ Name 12 "builtinTranscendentalFuncs("
+ Name 14 "builtinCommonFuncs("
+ Name 16 "builtinGeometryFuncs("
+ Name 18 "builtinMatrixFuncs("
+ Name 20 "builtinVecRelFuncs("
+ Name 22 "builtinFragProcFuncs("
+ Name 27 "f64v"
+ Name 38 "f64v"
+ Name 60 "f64m"
+ Name 83 "f64"
+ Name 107 "b"
+ Name 149 "f64v"
+ Name 152 "bv"
+ Name 163 "f16v"
+ Name 171 "i8v"
+ Name 177 "i16v"
+ Name 183 "i32v"
+ Name 189 "i64v"
+ Name 195 "u8v"
+ Name 201 "u16v"
+ Name 206 "u32v"
+ Name 212 "u64v"
+ Name 215 "f64v2"
+ Name 216 "f64v1"
+ Name 221 "f64v2"
+ Name 222 "f64v1"
+ Name 243 "f64"
+ Name 247 "f64v3"
+ Name 287 "bv"
+ Name 308 "b"
+ Name 318 "iv"
+ Name 319 "ResType"
+ Name 326 "f64"
+ Name 327 "f64v1"
+ Name 331 "f64v2"
+ Name 337 "f64v3"
+ Name 356 "f64m3"
+ Name 357 "f64m1"
+ Name 359 "f64m2"
+ Name 368 "f64v1"
+ Name 370 "f64v2"
+ Name 375 "f64m4"
+ Name 378 "f64"
+ Name 381 "f64m5"
+ Name 387 "f64m6"
+ Name 388 "f64m7"
+ Name 391 "bv"
+ Name 392 "f64v1"
+ Name 394 "f64v2"
+ Name 412 "f64v"
+ Name 414 "if64v"
+ Name 471 "S"
+ MemberName 471(S) 0 "x"
+ MemberName 471(S) 1 "y"
+ MemberName 471(S) 2 "z"
+ Name 473 "B1"
+ MemberName 473(B1) 0 "a"
+ MemberName 473(B1) 1 "b"
+ MemberName 473(B1) 2 "c"
+ MemberName 473(B1) 3 "d"
+ MemberName 473(B1) 4 "e"
+ MemberName 473(B1) 5 "f"
+ MemberName 473(B1) 6 "g"
+ MemberName 473(B1) 7 "h"
+ Name 475 ""
+ Name 476 "sf16"
+ Name 478 "sf"
+ Name 479 "sd"
+ Name 480 "f16_to_f"
+ Name 482 "f16_to_d"
+ Name 483 "f_to_f16"
+ Name 484 "d_to_f16"
+ Decorate 414(if64v) Flat
+ Decorate 414(if64v) Location 0
+ Decorate 469 ArrayStride 16
+ Decorate 470 ArrayStride 64
+ MemberDecorate 471(S) 0 Offset 0
+ MemberDecorate 471(S) 1 Offset 16
+ MemberDecorate 471(S) 2 Offset 32
+ Decorate 472 ArrayStride 64
+ MemberDecorate 473(B1) 0 Offset 0
+ MemberDecorate 473(B1) 1 Offset 16
+ MemberDecorate 473(B1) 2 Offset 32
+ MemberDecorate 473(B1) 3 Offset 64
+ MemberDecorate 473(B1) 4 ColMajor
+ MemberDecorate 473(B1) 4 Offset 96
+ MemberDecorate 473(B1) 4 MatrixStride 32
+ MemberDecorate 473(B1) 5 ColMajor
+ MemberDecorate 473(B1) 5 Offset 160
+ MemberDecorate 473(B1) 5 MatrixStride 32
+ MemberDecorate 473(B1) 6 Offset 288
+ MemberDecorate 473(B1) 7 Offset 352
+ Decorate 473(B1) Block
+ Decorate 475 DescriptorSet 0
+ Decorate 475 Binding 0
+ Decorate 476(sf16) SpecId 100
+ Decorate 478(sf) SpecId 101
+ Decorate 479(sd) SpecId 102
2: TypeVoid
3: TypeFunction 2
- 26: TypeFloat 64
- 27: TypeVector 26(float64_t) 2
- 28: TypePointer Function 27(f64vec2)
- 30:26(float64_t) Constant 2696277389 1051772663
- 31: TypeInt 32 0
- 32: 31(int) Constant 0
- 33: TypePointer Function 26(float64_t)
- 35:26(float64_t) Constant 0 3218079744
- 36:26(float64_t) Constant 3951369912 1067366481
- 37: 27(f64vec2) ConstantComposite 35 36
- 54:26(float64_t) Constant 0 1072693248
- 60: TypeMatrix 27(f64vec2) 2
- 61: TypePointer Function 60
- 88: 31(int) Constant 1
- 107: TypeBool
- 108: TypePointer Function 107(bool)
- 149: TypeVector 26(float64_t) 3
- 150: TypePointer Function 149(f64vec3)
- 152: TypeVector 107(bool) 3
- 153: TypePointer Function 152(bvec3)
- 156:26(float64_t) Constant 0 0
- 157:149(f64vec3) ConstantComposite 156 156 156
- 158:149(f64vec3) ConstantComposite 54 54 54
- 162: TypeFloat 16
- 163: TypeVector 162(float16_t) 3
- 164: TypePointer Function 163(f16vec3)
- 170: TypeInt 8 1
- 171: TypeVector 170(int8_t) 3
- 172: TypePointer Function 171(i8vec3)
- 176: TypeInt 16 1
- 177: TypeVector 176(int16_t) 3
- 178: TypePointer Function 177(i16vec3)
- 182: TypeInt 32 1
- 183: TypeVector 182(int) 3
- 184: TypePointer Function 183(ivec3)
- 188: TypeInt 64 1
- 189: TypeVector 188(int64_t) 3
- 190: TypePointer Function 189(i64vec3)
- 194: TypeInt 8 0
- 195: TypeVector 194(int8_t) 3
- 196: TypePointer Function 195(i8vec3)
- 200: TypeInt 16 0
- 201: TypeVector 200(int16_t) 3
- 202: TypePointer Function 201(i16vec3)
- 206: TypeVector 31(int) 3
- 207: TypePointer Function 206(ivec3)
- 211: TypeInt 64 0
- 212: TypeVector 211(int64_t) 3
- 213: TypePointer Function 212(i64vec3)
- 217: TypeVector 26(float64_t) 4
- 218: TypePointer Function 217(f64vec4)
- 367(ResType): TypeStruct 149(f64vec3) 183(ivec3)
- 402: TypeMatrix 149(f64vec3) 2
- 403: TypePointer Function 402
- 421: TypeMatrix 27(f64vec2) 3
- 422: TypePointer Function 421
- 427: TypeMatrix 149(f64vec3) 3
- 428: TypePointer Function 427
- 432: TypeMatrix 217(f64vec4) 4
- 433: TypePointer Function 432
- 460: TypePointer Input 149(f64vec3)
- 461(if64v): 460(ptr) Variable Input
- 462: TypePointer Input 26(float64_t)
- 499: 182(int) Constant 1
- 504:26(float64_t) Constant 0 1071644672
- 505: 27(f64vec2) ConstantComposite 504 504
- 507: 31(int) Constant 2
- 508: TypeArray 26(float64_t) 507
- 509: TypeArray 402 507
- 510(S): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3)
- 511: TypeArray 510(S) 507
- 512(B1): TypeStruct 26(float64_t) 27(f64vec2) 149(f64vec3) 508 402 509 510(S) 511
- 513: TypePointer Uniform 512(B1)
- 514: 513(ptr) Variable Uniform
- 515(sf16):162(float16_t) SpecConstant 12288
- 516: TypeFloat 32
- 517(sf): 516(float) SpecConstant 1048576000
- 518(sd):26(float64_t) SpecConstant 0 1071644672
- 519(f16_to_f): 516(float) SpecConstantOp 115 515(sf16)
- 520: 516(float) SpecConstantOp 115 515(sf16)
- 521(f16_to_d):26(float64_t) SpecConstantOp 115 520
- 522(f_to_f16):162(float16_t) SpecConstantOp 115 517(sf)
- 523(d_to_f16):162(float16_t) SpecConstantOp 115 518(sd)
+ 24: TypeFloat 64
+ 25: TypeVector 24(float64_t) 2
+ 26: TypePointer Function 25(f64vec2)
+ 28:24(float64_t) Constant 2696277389 1051772663
+ 29: TypeInt 32 0
+ 30: 29(int) Constant 0
+ 31: TypePointer Function 24(float64_t)
+ 33:24(float64_t) Constant 0 3218079744
+ 34:24(float64_t) Constant 3951369912 1067366481
+ 35: 25(f64vec2) ConstantComposite 33 34
+ 52:24(float64_t) Constant 0 1072693248
+ 58: TypeMatrix 25(f64vec2) 2
+ 59: TypePointer Function 58
+ 86: 29(int) Constant 1
+ 105: TypeBool
+ 106: TypePointer Function 105(bool)
+ 147: TypeVector 24(float64_t) 3
+ 148: TypePointer Function 147(f64vec3)
+ 150: TypeVector 105(bool) 3
+ 151: TypePointer Function 150(bvec3)
+ 154:24(float64_t) Constant 0 0
+ 155:147(f64vec3) ConstantComposite 154 154 154
+ 156:147(f64vec3) ConstantComposite 52 52 52
+ 160: TypeFloat 16
+ 161: TypeVector 160(float16_t) 3
+ 162: TypePointer Function 161(f16vec3)
+ 168: TypeInt 8 1
+ 169: TypeVector 168(int8_t) 3
+ 170: TypePointer Function 169(i8vec3)
+ 174: TypeInt 16 1
+ 175: TypeVector 174(int16_t) 3
+ 176: TypePointer Function 175(i16vec3)
+ 180: TypeInt 32 1
+ 181: TypeVector 180(int) 3
+ 182: TypePointer Function 181(ivec3)
+ 186: TypeInt 64 1
+ 187: TypeVector 186(int64_t) 3
+ 188: TypePointer Function 187(i64vec3)
+ 192: TypeInt 8 0
+ 193: TypeVector 192(int8_t) 3
+ 194: TypePointer Function 193(i8vec3)
+ 198: TypeInt 16 0
+ 199: TypeVector 198(int16_t) 3
+ 200: TypePointer Function 199(i16vec3)
+ 204: TypeVector 29(int) 3
+ 205: TypePointer Function 204(ivec3)
+ 209: TypeInt 64 0
+ 210: TypeVector 209(int64_t) 3
+ 211: TypePointer Function 210(i64vec3)
+ 319(ResType): TypeStruct 147(f64vec3) 181(ivec3)
+ 354: TypeMatrix 147(f64vec3) 2
+ 355: TypePointer Function 354
+ 373: TypeMatrix 25(f64vec2) 3
+ 374: TypePointer Function 373
+ 379: TypeMatrix 147(f64vec3) 3
+ 380: TypePointer Function 379
+ 384: TypeVector 24(float64_t) 4
+ 385: TypeMatrix 384(f64vec4) 4
+ 386: TypePointer Function 385
+ 413: TypePointer Input 147(f64vec3)
+ 414(if64v): 413(ptr) Variable Input
+ 415: TypePointer Input 24(float64_t)
+ 458: 180(int) Constant 1
+ 465:24(float64_t) Constant 0 1071644672
+ 466: 25(f64vec2) ConstantComposite 465 465
+ 468: 29(int) Constant 2
+ 469: TypeArray 24(float64_t) 468
+ 470: TypeArray 354 468
+ 471(S): TypeStruct 24(float64_t) 25(f64vec2) 147(f64vec3)
+ 472: TypeArray 471(S) 468
+ 473(B1): TypeStruct 24(float64_t) 25(f64vec2) 147(f64vec3) 469 354 470 471(S) 472
+ 474: TypePointer Uniform 473(B1)
+ 475: 474(ptr) Variable Uniform
+ 476(sf16):160(float16_t) SpecConstant 12288
+ 477: TypeFloat 32
+ 478(sf): 477(float) SpecConstant 1048576000
+ 479(sd):24(float64_t) SpecConstant 0 1071644672
+ 480(f16_to_f): 477(float) SpecConstantOp 115 476(sf16)
+ 481: 477(float) SpecConstantOp 115 476(sf16)
+ 482(f16_to_d):24(float64_t) SpecConstantOp 115 481
+ 483(f_to_f16):160(float16_t) SpecConstantOp 115 478(sf)
+ 484(d_to_f16):160(float16_t) SpecConstantOp 115 479(sd)
4(main): 2 Function None 3
5: Label
Return
FunctionEnd
6(literal(): 2 Function None 3
7: Label
- 29(f64v): 28(ptr) Variable Function
- 34: 33(ptr) AccessChain 29(f64v) 32
- Store 34 30
- 38: 27(f64vec2) Load 29(f64v)
- 39: 27(f64vec2) FAdd 38 37
- Store 29(f64v) 39
+ 27(f64v): 26(ptr) Variable Function
+ 32: 31(ptr) AccessChain 27(f64v) 30
+ Store 32 28
+ 36: 25(f64vec2) Load 27(f64v)
+ 37: 25(f64vec2) FAdd 36 35
+ Store 27(f64v) 37
Return
FunctionEnd
8(operators(): 2 Function None 3
9: Label
- 40(f64v): 28(ptr) Variable Function
- 62(f64m): 61(ptr) Variable Function
- 85(f64): 33(ptr) Variable Function
- 109(b): 108(ptr) Variable Function
- 41: 27(f64vec2) Load 40(f64v)
- 42: 27(f64vec2) Load 40(f64v)
- 43: 27(f64vec2) FAdd 42 41
- Store 40(f64v) 43
- 44: 27(f64vec2) Load 40(f64v)
- 45: 27(f64vec2) Load 40(f64v)
- 46: 27(f64vec2) FSub 45 44
- Store 40(f64v) 46
- 47: 27(f64vec2) Load 40(f64v)
- 48: 27(f64vec2) Load 40(f64v)
- 49: 27(f64vec2) FMul 48 47
- Store 40(f64v) 49
- 50: 27(f64vec2) Load 40(f64v)
- 51: 27(f64vec2) Load 40(f64v)
- 52: 27(f64vec2) FDiv 51 50
- Store 40(f64v) 52
- 53: 27(f64vec2) Load 40(f64v)
- 55: 27(f64vec2) CompositeConstruct 54 54
- 56: 27(f64vec2) FAdd 53 55
- Store 40(f64v) 56
- 57: 27(f64vec2) Load 40(f64v)
- 58: 27(f64vec2) CompositeConstruct 54 54
- 59: 27(f64vec2) FSub 57 58
- Store 40(f64v) 59
- 63: 60 Load 62(f64m)
- 64: 27(f64vec2) CompositeConstruct 54 54
- 65: 27(f64vec2) CompositeExtract 63 0
- 66: 27(f64vec2) FAdd 65 64
- 67: 27(f64vec2) CompositeExtract 63 1
- 68: 27(f64vec2) FAdd 67 64
- 69: 60 CompositeConstruct 66 68
- Store 62(f64m) 69
- 70: 60 Load 62(f64m)
- 71: 27(f64vec2) CompositeConstruct 54 54
- 72: 27(f64vec2) CompositeExtract 70 0
- 73: 27(f64vec2) FSub 72 71
- 74: 27(f64vec2) CompositeExtract 70 1
- 75: 27(f64vec2) FSub 74 71
- 76: 60 CompositeConstruct 73 75
- Store 62(f64m) 76
- 77: 27(f64vec2) Load 40(f64v)
- 78: 27(f64vec2) FNegate 77
- Store 40(f64v) 78
- 79: 60 Load 62(f64m)
- 80: 27(f64vec2) CompositeExtract 79 0
- 81: 27(f64vec2) FNegate 80
- 82: 27(f64vec2) CompositeExtract 79 1
- 83: 27(f64vec2) FNegate 82
- 84: 60 CompositeConstruct 81 83
- Store 62(f64m) 84
- 86: 33(ptr) AccessChain 40(f64v) 32
- 87:26(float64_t) Load 86
- 89: 33(ptr) AccessChain 40(f64v) 88
- 90:26(float64_t) Load 89
- 91:26(float64_t) FAdd 87 90
- Store 85(f64) 91
- 92: 33(ptr) AccessChain 40(f64v) 32
- 93:26(float64_t) Load 92
- 94: 33(ptr) AccessChain 40(f64v) 88
- 95:26(float64_t) Load 94
- 96:26(float64_t) FSub 93 95
- Store 85(f64) 96
- 97: 33(ptr) AccessChain 40(f64v) 32
- 98:26(float64_t) Load 97
- 99: 33(ptr) AccessChain 40(f64v) 88
- 100:26(float64_t) Load 99
- 101:26(float64_t) FMul 98 100
- Store 85(f64) 101
- 102: 33(ptr) AccessChain 40(f64v) 32
- 103:26(float64_t) Load 102
- 104: 33(ptr) AccessChain 40(f64v) 88
- 105:26(float64_t) Load 104
- 106:26(float64_t) FDiv 103 105
- Store 85(f64) 106
- 110: 33(ptr) AccessChain 40(f64v) 32
- 111:26(float64_t) Load 110
- 112:26(float64_t) Load 85(f64)
- 113: 107(bool) FUnordNotEqual 111 112
- Store 109(b) 113
- 114: 33(ptr) AccessChain 40(f64v) 88
- 115:26(float64_t) Load 114
- 116:26(float64_t) Load 85(f64)
- 117: 107(bool) FOrdEqual 115 116
- Store 109(b) 117
- 118: 33(ptr) AccessChain 40(f64v) 32
- 119:26(float64_t) Load 118
- 120:26(float64_t) Load 85(f64)
- 121: 107(bool) FOrdGreaterThan 119 120
- Store 109(b) 121
- 122: 33(ptr) AccessChain 40(f64v) 88
- 123:26(float64_t) Load 122
- 124:26(float64_t) Load 85(f64)
- 125: 107(bool) FOrdLessThan 123 124
- Store 109(b) 125
- 126: 33(ptr) AccessChain 40(f64v) 32
- 127:26(float64_t) Load 126
- 128:26(float64_t) Load 85(f64)
- 129: 107(bool) FOrdGreaterThanEqual 127 128
- Store 109(b) 129
- 130: 33(ptr) AccessChain 40(f64v) 88
- 131:26(float64_t) Load 130
- 132:26(float64_t) Load 85(f64)
- 133: 107(bool) FOrdLessThanEqual 131 132
- Store 109(b) 133
- 134: 27(f64vec2) Load 40(f64v)
- 135:26(float64_t) Load 85(f64)
- 136: 27(f64vec2) VectorTimesScalar 134 135
- Store 40(f64v) 136
- 137: 60 Load 62(f64m)
- 138:26(float64_t) Load 85(f64)
- 139: 60 MatrixTimesScalar 137 138
- Store 62(f64m) 139
- 140: 60 Load 62(f64m)
- 141: 27(f64vec2) Load 40(f64v)
- 142: 27(f64vec2) MatrixTimesVector 140 141
- Store 40(f64v) 142
- 143: 27(f64vec2) Load 40(f64v)
- 144: 60 Load 62(f64m)
- 145: 27(f64vec2) VectorTimesMatrix 143 144
- Store 40(f64v) 145
- 146: 60 Load 62(f64m)
- 147: 60 Load 62(f64m)
- 148: 60 MatrixTimesMatrix 146 147
- Store 62(f64m) 148
+ 38(f64v): 26(ptr) Variable Function
+ 60(f64m): 59(ptr) Variable Function
+ 83(f64): 31(ptr) Variable Function
+ 107(b): 106(ptr) Variable Function
+ 39: 25(f64vec2) Load 38(f64v)
+ 40: 25(f64vec2) Load 38(f64v)
+ 41: 25(f64vec2) FAdd 40 39
+ Store 38(f64v) 41
+ 42: 25(f64vec2) Load 38(f64v)
+ 43: 25(f64vec2) Load 38(f64v)
+ 44: 25(f64vec2) FSub 43 42
+ Store 38(f64v) 44
+ 45: 25(f64vec2) Load 38(f64v)
+ 46: 25(f64vec2) Load 38(f64v)
+ 47: 25(f64vec2) FMul 46 45
+ Store 38(f64v) 47
+ 48: 25(f64vec2) Load 38(f64v)
+ 49: 25(f64vec2) Load 38(f64v)
+ 50: 25(f64vec2) FDiv 49 48
+ Store 38(f64v) 50
+ 51: 25(f64vec2) Load 38(f64v)
+ 53: 25(f64vec2) CompositeConstruct 52 52
+ 54: 25(f64vec2) FAdd 51 53
+ Store 38(f64v) 54
+ 55: 25(f64vec2) Load 38(f64v)
+ 56: 25(f64vec2) CompositeConstruct 52 52
+ 57: 25(f64vec2) FSub 55 56
+ Store 38(f64v) 57
+ 61: 58 Load 60(f64m)
+ 62: 25(f64vec2) CompositeConstruct 52 52
+ 63: 25(f64vec2) CompositeExtract 61 0
+ 64: 25(f64vec2) FAdd 63 62
+ 65: 25(f64vec2) CompositeExtract 61 1
+ 66: 25(f64vec2) FAdd 65 62
+ 67: 58 CompositeConstruct 64 66
+ Store 60(f64m) 67
+ 68: 58 Load 60(f64m)
+ 69: 25(f64vec2) CompositeConstruct 52 52
+ 70: 25(f64vec2) CompositeExtract 68 0
+ 71: 25(f64vec2) FSub 70 69
+ 72: 25(f64vec2) CompositeExtract 68 1
+ 73: 25(f64vec2) FSub 72 69
+ 74: 58 CompositeConstruct 71 73
+ Store 60(f64m) 74
+ 75: 25(f64vec2) Load 38(f64v)
+ 76: 25(f64vec2) FNegate 75
+ Store 38(f64v) 76
+ 77: 58 Load 60(f64m)
+ 78: 25(f64vec2) CompositeExtract 77 0
+ 79: 25(f64vec2) FNegate 78
+ 80: 25(f64vec2) CompositeExtract 77 1
+ 81: 25(f64vec2) FNegate 80
+ 82: 58 CompositeConstruct 79 81
+ Store 60(f64m) 82
+ 84: 31(ptr) AccessChain 38(f64v) 30
+ 85:24(float64_t) Load 84
+ 87: 31(ptr) AccessChain 38(f64v) 86
+ 88:24(float64_t) Load 87
+ 89:24(float64_t) FAdd 85 88
+ Store 83(f64) 89
+ 90: 31(ptr) AccessChain 38(f64v) 30
+ 91:24(float64_t) Load 90
+ 92: 31(ptr) AccessChain 38(f64v) 86
+ 93:24(float64_t) Load 92
+ 94:24(float64_t) FSub 91 93
+ Store 83(f64) 94
+ 95: 31(ptr) AccessChain 38(f64v) 30
+ 96:24(float64_t) Load 95
+ 97: 31(ptr) AccessChain 38(f64v) 86
+ 98:24(float64_t) Load 97
+ 99:24(float64_t) FMul 96 98
+ Store 83(f64) 99
+ 100: 31(ptr) AccessChain 38(f64v) 30
+ 101:24(float64_t) Load 100
+ 102: 31(ptr) AccessChain 38(f64v) 86
+ 103:24(float64_t) Load 102
+ 104:24(float64_t) FDiv 101 103
+ Store 83(f64) 104
+ 108: 31(ptr) AccessChain 38(f64v) 30
+ 109:24(float64_t) Load 108
+ 110:24(float64_t) Load 83(f64)
+ 111: 105(bool) FUnordNotEqual 109 110
+ Store 107(b) 111
+ 112: 31(ptr) AccessChain 38(f64v) 86
+ 113:24(float64_t) Load 112
+ 114:24(float64_t) Load 83(f64)
+ 115: 105(bool) FOrdEqual 113 114
+ Store 107(b) 115
+ 116: 31(ptr) AccessChain 38(f64v) 30
+ 117:24(float64_t) Load 116
+ 118:24(float64_t) Load 83(f64)
+ 119: 105(bool) FOrdGreaterThan 117 118
+ Store 107(b) 119
+ 120: 31(ptr) AccessChain 38(f64v) 86
+ 121:24(float64_t) Load 120
+ 122:24(float64_t) Load 83(f64)
+ 123: 105(bool) FOrdLessThan 121 122
+ Store 107(b) 123
+ 124: 31(ptr) AccessChain 38(f64v) 30
+ 125:24(float64_t) Load 124
+ 126:24(float64_t) Load 83(f64)
+ 127: 105(bool) FOrdGreaterThanEqual 125 126
+ Store 107(b) 127
+ 128: 31(ptr) AccessChain 38(f64v) 86
+ 129:24(float64_t) Load 128
+ 130:24(float64_t) Load 83(f64)
+ 131: 105(bool) FOrdLessThanEqual 129 130
+ Store 107(b) 131
+ 132: 25(f64vec2) Load 38(f64v)
+ 133:24(float64_t) Load 83(f64)
+ 134: 25(f64vec2) VectorTimesScalar 132 133
+ Store 38(f64v) 134
+ 135: 58 Load 60(f64m)
+ 136:24(float64_t) Load 83(f64)
+ 137: 58 MatrixTimesScalar 135 136
+ Store 60(f64m) 137
+ 138: 58 Load 60(f64m)
+ 139: 25(f64vec2) Load 38(f64v)
+ 140: 25(f64vec2) MatrixTimesVector 138 139
+ Store 38(f64v) 140
+ 141: 25(f64vec2) Load 38(f64v)
+ 142: 58 Load 60(f64m)
+ 143: 25(f64vec2) VectorTimesMatrix 141 142
+ Store 38(f64v) 143
+ 144: 58 Load 60(f64m)
+ 145: 58 Load 60(f64m)
+ 146: 58 MatrixTimesMatrix 144 145
+ Store 60(f64m) 146
Return
FunctionEnd
10(typeCast(): 2 Function None 3
11: Label
- 151(f64v): 150(ptr) Variable Function
- 154(bv): 153(ptr) Variable Function
- 165(f16v): 164(ptr) Variable Function
- 173(i8v): 172(ptr) Variable Function
- 179(i16v): 178(ptr) Variable Function
- 185(i32v): 184(ptr) Variable Function
- 191(i64v): 190(ptr) Variable Function
- 197(u8v): 196(ptr) Variable Function
- 203(u16v): 202(ptr) Variable Function
- 208(u32v): 207(ptr) Variable Function
- 214(u64v): 213(ptr) Variable Function
- 155: 152(bvec3) Load 154(bv)
- 159:149(f64vec3) Select 155 158 157
- Store 151(f64v) 159
- 160:149(f64vec3) Load 151(f64v)
- 161: 152(bvec3) FUnordNotEqual 160 157
- Store 154(bv) 161
- 166:163(f16vec3) Load 165(f16v)
- 167:149(f64vec3) FConvert 166
- Store 151(f64v) 167
- 168:149(f64vec3) Load 151(f64v)
- 169:163(f16vec3) FConvert 168
- Store 165(f16v) 169
- 174:149(f64vec3) Load 151(f64v)
- 175: 171(i8vec3) ConvertFToS 174
- Store 173(i8v) 175
- 180:149(f64vec3) Load 151(f64v)
- 181:177(i16vec3) ConvertFToS 180
- Store 179(i16v) 181
- 186:149(f64vec3) Load 151(f64v)
- 187: 183(ivec3) ConvertFToS 186
- Store 185(i32v) 187
- 192:149(f64vec3) Load 151(f64v)
- 193:189(i64vec3) ConvertFToS 192
- Store 191(i64v) 193
- 198:149(f64vec3) Load 151(f64v)
- 199: 195(i8vec3) ConvertFToU 198
- Store 197(u8v) 199
- 204:149(f64vec3) Load 151(f64v)
- 205:201(i16vec3) ConvertFToU 204
- Store 203(u16v) 205
- 209:149(f64vec3) Load 151(f64v)
- 210: 206(ivec3) ConvertFToU 209
- Store 208(u32v) 210
- 215:149(f64vec3) Load 151(f64v)
- 216:212(i64vec3) ConvertFToU 215
- Store 214(u64v) 216
+ 149(f64v): 148(ptr) Variable Function
+ 152(bv): 151(ptr) Variable Function
+ 163(f16v): 162(ptr) Variable Function
+ 171(i8v): 170(ptr) Variable Function
+ 177(i16v): 176(ptr) Variable Function
+ 183(i32v): 182(ptr) Variable Function
+ 189(i64v): 188(ptr) Variable Function
+ 195(u8v): 194(ptr) Variable Function
+ 201(u16v): 200(ptr) Variable Function
+ 206(u32v): 205(ptr) Variable Function
+ 212(u64v): 211(ptr) Variable Function
+ 153: 150(bvec3) Load 152(bv)
+ 157:147(f64vec3) Select 153 156 155
+ Store 149(f64v) 157
+ 158:147(f64vec3) Load 149(f64v)
+ 159: 150(bvec3) FUnordNotEqual 158 155
+ Store 152(bv) 159
+ 164:161(f16vec3) Load 163(f16v)
+ 165:147(f64vec3) FConvert 164
+ Store 149(f64v) 165
+ 166:147(f64vec3) Load 149(f64v)
+ 167:161(f16vec3) FConvert 166
+ Store 163(f16v) 167
+ 172:147(f64vec3) Load 149(f64v)
+ 173: 169(i8vec3) ConvertFToS 172
+ Store 171(i8v) 173
+ 178:147(f64vec3) Load 149(f64v)
+ 179:175(i16vec3) ConvertFToS 178
+ Store 177(i16v) 179
+ 184:147(f64vec3) Load 149(f64v)
+ 185: 181(ivec3) ConvertFToS 184
+ Store 183(i32v) 185
+ 190:147(f64vec3) Load 149(f64v)
+ 191:187(i64vec3) ConvertFToS 190
+ Store 189(i64v) 191
+ 196:147(f64vec3) Load 149(f64v)
+ 197: 193(i8vec3) ConvertFToU 196
+ Store 195(u8v) 197
+ 202:147(f64vec3) Load 149(f64v)
+ 203:199(i16vec3) ConvertFToU 202
+ Store 201(u16v) 203
+ 207:147(f64vec3) Load 149(f64v)
+ 208: 204(ivec3) ConvertFToU 207
+ Store 206(u32v) 208
+ 213:147(f64vec3) Load 149(f64v)
+ 214:210(i64vec3) ConvertFToU 213
+ Store 212(u64v) 214
Return
FunctionEnd
-12(builtinAngleTrigFuncs(): 2 Function None 3
+12(builtinTranscendentalFuncs(): 2 Function None 3
13: Label
- 219(f64v2): 218(ptr) Variable Function
- 220(f64v1): 218(ptr) Variable Function
- 221:217(f64vec4) Load 220(f64v1)
- 222:217(f64vec4) ExtInst 1(GLSL.std.450) 11(Radians) 221
- Store 219(f64v2) 222
- 223:217(f64vec4) Load 220(f64v1)
- 224:217(f64vec4) ExtInst 1(GLSL.std.450) 12(Degrees) 223
- Store 219(f64v2) 224
- 225:217(f64vec4) Load 220(f64v1)
- 226:217(f64vec4) ExtInst 1(GLSL.std.450) 13(Sin) 225
- Store 219(f64v2) 226
- 227:217(f64vec4) Load 220(f64v1)
- 228:217(f64vec4) ExtInst 1(GLSL.std.450) 14(Cos) 227
- Store 219(f64v2) 228
- 229:217(f64vec4) Load 220(f64v1)
- 230:217(f64vec4) ExtInst 1(GLSL.std.450) 15(Tan) 229
- Store 219(f64v2) 230
- 231:217(f64vec4) Load 220(f64v1)
- 232:217(f64vec4) ExtInst 1(GLSL.std.450) 16(Asin) 231
- Store 219(f64v2) 232
- 233:217(f64vec4) Load 220(f64v1)
- 234:217(f64vec4) ExtInst 1(GLSL.std.450) 17(Acos) 233
- Store 219(f64v2) 234
- 235:217(f64vec4) Load 220(f64v1)
- 236:217(f64vec4) Load 219(f64v2)
- 237:217(f64vec4) ExtInst 1(GLSL.std.450) 25(Atan2) 235 236
- Store 219(f64v2) 237
- 238:217(f64vec4) Load 220(f64v1)
- 239:217(f64vec4) ExtInst 1(GLSL.std.450) 18(Atan) 238
- Store 219(f64v2) 239
- 240:217(f64vec4) Load 220(f64v1)
- 241:217(f64vec4) ExtInst 1(GLSL.std.450) 19(Sinh) 240
- Store 219(f64v2) 241
- 242:217(f64vec4) Load 220(f64v1)
- 243:217(f64vec4) ExtInst 1(GLSL.std.450) 20(Cosh) 242
- Store 219(f64v2) 243
- 244:217(f64vec4) Load 220(f64v1)
- 245:217(f64vec4) ExtInst 1(GLSL.std.450) 21(Tanh) 244
- Store 219(f64v2) 245
- 246:217(f64vec4) Load 220(f64v1)
- 247:217(f64vec4) ExtInst 1(GLSL.std.450) 22(Asinh) 246
- Store 219(f64v2) 247
- 248:217(f64vec4) Load 220(f64v1)
- 249:217(f64vec4) ExtInst 1(GLSL.std.450) 23(Acosh) 248
- Store 219(f64v2) 249
- 250:217(f64vec4) Load 220(f64v1)
- 251:217(f64vec4) ExtInst 1(GLSL.std.450) 24(Atanh) 250
- Store 219(f64v2) 251
+ 215(f64v2): 26(ptr) Variable Function
+ 216(f64v1): 26(ptr) Variable Function
+ 217: 25(f64vec2) Load 216(f64v1)
+ 218: 25(f64vec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 217
+ Store 215(f64v2) 218
+ 219: 25(f64vec2) Load 216(f64v1)
+ 220: 25(f64vec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 219
+ Store 215(f64v2) 220
Return
FunctionEnd
-14(builtinExpFuncs(): 2 Function None 3
+14(builtinCommonFuncs(): 2 Function None 3
15: Label
- 252(f64v2): 28(ptr) Variable Function
- 253(f64v1): 28(ptr) Variable Function
- 254: 27(f64vec2) Load 253(f64v1)
- 255: 27(f64vec2) Load 252(f64v2)
- 256: 27(f64vec2) ExtInst 1(GLSL.std.450) 26(Pow) 254 255
- Store 252(f64v2) 256
- 257: 27(f64vec2) Load 253(f64v1)
- 258: 27(f64vec2) ExtInst 1(GLSL.std.450) 27(Exp) 257
- Store 252(f64v2) 258
- 259: 27(f64vec2) Load 253(f64v1)
- 260: 27(f64vec2) ExtInst 1(GLSL.std.450) 28(Log) 259
- Store 252(f64v2) 260
- 261: 27(f64vec2) Load 253(f64v1)
- 262: 27(f64vec2) ExtInst 1(GLSL.std.450) 29(Exp2) 261
- Store 252(f64v2) 262
- 263: 27(f64vec2) Load 253(f64v1)
- 264: 27(f64vec2) ExtInst 1(GLSL.std.450) 30(Log2) 263
- Store 252(f64v2) 264
- 265: 27(f64vec2) Load 253(f64v1)
- 266: 27(f64vec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 265
- Store 252(f64v2) 266
- 267: 27(f64vec2) Load 253(f64v1)
- 268: 27(f64vec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 267
- Store 252(f64v2) 268
+ 221(f64v2): 148(ptr) Variable Function
+ 222(f64v1): 148(ptr) Variable Function
+ 243(f64): 31(ptr) Variable Function
+ 247(f64v3): 148(ptr) Variable Function
+ 287(bv): 151(ptr) Variable Function
+ 308(b): 106(ptr) Variable Function
+ 318(iv): 182(ptr) Variable Function
+ 223:147(f64vec3) Load 222(f64v1)
+ 224:147(f64vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 223
+ Store 221(f64v2) 224
+ 225:147(f64vec3) Load 222(f64v1)
+ 226:147(f64vec3) ExtInst 1(GLSL.std.450) 6(FSign) 225
+ Store 221(f64v2) 226
+ 227:147(f64vec3) Load 222(f64v1)
+ 228:147(f64vec3) ExtInst 1(GLSL.std.450) 8(Floor) 227
+ Store 221(f64v2) 228
+ 229:147(f64vec3) Load 222(f64v1)
+ 230:147(f64vec3) ExtInst 1(GLSL.std.450) 3(Trunc) 229
+ Store 221(f64v2) 230
+ 231:147(f64vec3) Load 222(f64v1)
+ 232:147(f64vec3) ExtInst 1(GLSL.std.450) 1(Round) 231
+ Store 221(f64v2) 232
+ 233:147(f64vec3) Load 222(f64v1)
+ 234:147(f64vec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 233
+ Store 221(f64v2) 234
+ 235:147(f64vec3) Load 222(f64v1)
+ 236:147(f64vec3) ExtInst 1(GLSL.std.450) 9(Ceil) 235
+ Store 221(f64v2) 236
+ 237:147(f64vec3) Load 222(f64v1)
+ 238:147(f64vec3) ExtInst 1(GLSL.std.450) 10(Fract) 237
+ Store 221(f64v2) 238
+ 239:147(f64vec3) Load 222(f64v1)
+ 240:147(f64vec3) Load 221(f64v2)
+ 241:147(f64vec3) FMod 239 240
+ Store 221(f64v2) 241
+ 242:147(f64vec3) Load 222(f64v1)
+ 244:24(float64_t) Load 243(f64)
+ 245:147(f64vec3) CompositeConstruct 244 244 244
+ 246:147(f64vec3) FMod 242 245
+ Store 221(f64v2) 246
+ 248:147(f64vec3) Load 222(f64v1)
+ 249:147(f64vec3) ExtInst 1(GLSL.std.450) 35(Modf) 248 221(f64v2)
+ Store 247(f64v3) 249
+ 250:147(f64vec3) Load 222(f64v1)
+ 251:147(f64vec3) Load 221(f64v2)
+ 252:147(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 250 251
+ Store 247(f64v3) 252
+ 253:147(f64vec3) Load 222(f64v1)
+ 254:24(float64_t) Load 243(f64)
+ 255:147(f64vec3) CompositeConstruct 254 254 254
+ 256:147(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 253 255
+ Store 247(f64v3) 256
+ 257:147(f64vec3) Load 222(f64v1)
+ 258:147(f64vec3) Load 221(f64v2)
+ 259:147(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 257 258
+ Store 247(f64v3) 259
+ 260:147(f64vec3) Load 222(f64v1)
+ 261:24(float64_t) Load 243(f64)
+ 262:147(f64vec3) CompositeConstruct 261 261 261
+ 263:147(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 260 262
+ Store 247(f64v3) 263
+ 264:147(f64vec3) Load 222(f64v1)
+ 265:24(float64_t) Load 243(f64)
+ 266: 31(ptr) AccessChain 221(f64v2) 30
+ 267:24(float64_t) Load 266
+ 268:147(f64vec3) CompositeConstruct 265 265 265
+ 269:147(f64vec3) CompositeConstruct 267 267 267
+ 270:147(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 264 268 269
+ Store 247(f64v3) 270
+ 271:147(f64vec3) Load 222(f64v1)
+ 272:147(f64vec3) Load 221(f64v2)
+ 273:24(float64_t) Load 243(f64)
+ 274:147(f64vec3) CompositeConstruct 273 273 273
+ 275:147(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 271 272 274
+ Store 247(f64v3) 275
+ 276:147(f64vec3) Load 222(f64v1)
+ 277:147(f64vec3) Load 221(f64v2)
+ 278:24(float64_t) Load 243(f64)
+ 279:147(f64vec3) CompositeConstruct 278 278 278
+ 280:147(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 276 277 279
+ Store 247(f64v3) 280
+ 281:147(f64vec3) Load 222(f64v1)
+ 282:147(f64vec3) Load 221(f64v2)
+ 283:147(f64vec3) Load 247(f64v3)
+ 284:147(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 281 282 283
+ Store 247(f64v3) 284
+ 285:147(f64vec3) Load 222(f64v1)
+ 286:147(f64vec3) Load 221(f64v2)
+ 288: 150(bvec3) Load 287(bv)
+ 289:147(f64vec3) Select 288 286 285
+ Store 247(f64v3) 289
+ 290:147(f64vec3) Load 222(f64v1)
+ 291:147(f64vec3) Load 221(f64v2)
+ 292:147(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 290 291
+ Store 247(f64v3) 292
+ 293:24(float64_t) Load 243(f64)
+ 294:147(f64vec3) Load 247(f64v3)
+ 295:147(f64vec3) CompositeConstruct 293 293 293
+ 296:147(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 295 294
+ Store 247(f64v3) 296
+ 297:147(f64vec3) Load 222(f64v1)
+ 298:147(f64vec3) Load 221(f64v2)
+ 299:147(f64vec3) Load 247(f64v3)
+ 300:147(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 297 298 299
+ Store 247(f64v3) 300
+ 301:24(float64_t) Load 243(f64)
+ 302: 31(ptr) AccessChain 222(f64v1) 30
+ 303:24(float64_t) Load 302
+ 304:147(f64vec3) Load 221(f64v2)
+ 305:147(f64vec3) CompositeConstruct 301 301 301
+ 306:147(f64vec3) CompositeConstruct 303 303 303
+ 307:147(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 305 306 304
+ Store 247(f64v3) 307
+ 309:24(float64_t) Load 243(f64)
+ 310: 105(bool) IsNan 309
+ Store 308(b) 310
+ 311:147(f64vec3) Load 222(f64v1)
+ 312: 150(bvec3) IsInf 311
+ Store 287(bv) 312
+ 313:147(f64vec3) Load 222(f64v1)
+ 314:147(f64vec3) Load 221(f64v2)
+ 315:147(f64vec3) Load 247(f64v3)
+ 316:147(f64vec3) ExtInst 1(GLSL.std.450) 50(Fma) 313 314 315
+ Store 247(f64v3) 316
+ 317:147(f64vec3) Load 222(f64v1)
+ 320:319(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 317
+ 321: 181(ivec3) CompositeExtract 320 1
+ Store 318(iv) 321
+ 322:147(f64vec3) CompositeExtract 320 0
+ Store 221(f64v2) 322
+ 323:147(f64vec3) Load 222(f64v1)
+ 324: 181(ivec3) Load 318(iv)
+ 325:147(f64vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 323 324
+ Store 221(f64v2) 325
Return
FunctionEnd
-16(builtinCommonFuncs(): 2 Function None 3
+16(builtinGeometryFuncs(): 2 Function None 3
17: Label
- 269(f64v2): 150(ptr) Variable Function
- 270(f64v1): 150(ptr) Variable Function
- 291(f64): 33(ptr) Variable Function
- 295(f64v3): 150(ptr) Variable Function
- 335(bv): 153(ptr) Variable Function
- 356(b): 108(ptr) Variable Function
- 366(iv): 184(ptr) Variable Function
- 271:149(f64vec3) Load 270(f64v1)
- 272:149(f64vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 271
- Store 269(f64v2) 272
- 273:149(f64vec3) Load 270(f64v1)
- 274:149(f64vec3) ExtInst 1(GLSL.std.450) 6(FSign) 273
- Store 269(f64v2) 274
- 275:149(f64vec3) Load 270(f64v1)
- 276:149(f64vec3) ExtInst 1(GLSL.std.450) 8(Floor) 275
- Store 269(f64v2) 276
- 277:149(f64vec3) Load 270(f64v1)
- 278:149(f64vec3) ExtInst 1(GLSL.std.450) 3(Trunc) 277
- Store 269(f64v2) 278
- 279:149(f64vec3) Load 270(f64v1)
- 280:149(f64vec3) ExtInst 1(GLSL.std.450) 1(Round) 279
- Store 269(f64v2) 280
- 281:149(f64vec3) Load 270(f64v1)
- 282:149(f64vec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 281
- Store 269(f64v2) 282
- 283:149(f64vec3) Load 270(f64v1)
- 284:149(f64vec3) ExtInst 1(GLSL.std.450) 9(Ceil) 283
- Store 269(f64v2) 284
- 285:149(f64vec3) Load 270(f64v1)
- 286:149(f64vec3) ExtInst 1(GLSL.std.450) 10(Fract) 285
- Store 269(f64v2) 286
- 287:149(f64vec3) Load 270(f64v1)
- 288:149(f64vec3) Load 269(f64v2)
- 289:149(f64vec3) FMod 287 288
- Store 269(f64v2) 289
- 290:149(f64vec3) Load 270(f64v1)
- 292:26(float64_t) Load 291(f64)
- 293:149(f64vec3) CompositeConstruct 292 292 292
- 294:149(f64vec3) FMod 290 293
- Store 269(f64v2) 294
- 296:149(f64vec3) Load 270(f64v1)
- 297:149(f64vec3) ExtInst 1(GLSL.std.450) 35(Modf) 296 269(f64v2)
- Store 295(f64v3) 297
- 298:149(f64vec3) Load 270(f64v1)
- 299:149(f64vec3) Load 269(f64v2)
- 300:149(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 298 299
- Store 295(f64v3) 300
- 301:149(f64vec3) Load 270(f64v1)
- 302:26(float64_t) Load 291(f64)
- 303:149(f64vec3) CompositeConstruct 302 302 302
- 304:149(f64vec3) ExtInst 1(GLSL.std.450) 37(FMin) 301 303
- Store 295(f64v3) 304
- 305:149(f64vec3) Load 270(f64v1)
- 306:149(f64vec3) Load 269(f64v2)
- 307:149(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 305 306
- Store 295(f64v3) 307
- 308:149(f64vec3) Load 270(f64v1)
- 309:26(float64_t) Load 291(f64)
- 310:149(f64vec3) CompositeConstruct 309 309 309
- 311:149(f64vec3) ExtInst 1(GLSL.std.450) 40(FMax) 308 310
- Store 295(f64v3) 311
- 312:149(f64vec3) Load 270(f64v1)
- 313:26(float64_t) Load 291(f64)
- 314: 33(ptr) AccessChain 269(f64v2) 32
- 315:26(float64_t) Load 314
- 316:149(f64vec3) CompositeConstruct 313 313 313
- 317:149(f64vec3) CompositeConstruct 315 315 315
- 318:149(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 312 316 317
- Store 295(f64v3) 318
- 319:149(f64vec3) Load 270(f64v1)
- 320:149(f64vec3) Load 269(f64v2)
- 321:26(float64_t) Load 291(f64)
- 322:149(f64vec3) CompositeConstruct 321 321 321
- 323:149(f64vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 319 320 322
- Store 295(f64v3) 323
- 324:149(f64vec3) Load 270(f64v1)
- 325:149(f64vec3) Load 269(f64v2)
- 326:26(float64_t) Load 291(f64)
- 327:149(f64vec3) CompositeConstruct 326 326 326
- 328:149(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 324 325 327
- Store 295(f64v3) 328
- 329:149(f64vec3) Load 270(f64v1)
- 330:149(f64vec3) Load 269(f64v2)
- 331:149(f64vec3) Load 295(f64v3)
- 332:149(f64vec3) ExtInst 1(GLSL.std.450) 46(FMix) 329 330 331
- Store 295(f64v3) 332
- 333:149(f64vec3) Load 270(f64v1)
- 334:149(f64vec3) Load 269(f64v2)
- 336: 152(bvec3) Load 335(bv)
- 337:149(f64vec3) Select 336 334 333
- Store 295(f64v3) 337
- 338:149(f64vec3) Load 270(f64v1)
- 339:149(f64vec3) Load 269(f64v2)
- 340:149(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 338 339
- Store 295(f64v3) 340
- 341:26(float64_t) Load 291(f64)
- 342:149(f64vec3) Load 295(f64v3)
- 343:149(f64vec3) CompositeConstruct 341 341 341
- 344:149(f64vec3) ExtInst 1(GLSL.std.450) 48(Step) 343 342
- Store 295(f64v3) 344
- 345:149(f64vec3) Load 270(f64v1)
- 346:149(f64vec3) Load 269(f64v2)
- 347:149(f64vec3) Load 295(f64v3)
- 348:149(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 345 346 347
- Store 295(f64v3) 348
- 349:26(float64_t) Load 291(f64)
- 350: 33(ptr) AccessChain 270(f64v1) 32
- 351:26(float64_t) Load 350
- 352:149(f64vec3) Load 269(f64v2)
- 353:149(f64vec3) CompositeConstruct 349 349 349
- 354:149(f64vec3) CompositeConstruct 351 351 351
- 355:149(f64vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 353 354 352
- Store 295(f64v3) 355
- 357:26(float64_t) Load 291(f64)
- 358: 107(bool) IsNan 357
- Store 356(b) 358
- 359:149(f64vec3) Load 270(f64v1)
- 360: 152(bvec3) IsInf 359
- Store 335(bv) 360
- 361:149(f64vec3) Load 270(f64v1)
- 362:149(f64vec3) Load 269(f64v2)
- 363:149(f64vec3) Load 295(f64v3)
- 364:149(f64vec3) ExtInst 1(GLSL.std.450) 50(Fma) 361 362 363
- Store 295(f64v3) 364
- 365:149(f64vec3) Load 270(f64v1)
- 368:367(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 365
- 369: 183(ivec3) CompositeExtract 368 1
- Store 366(iv) 369
- 370:149(f64vec3) CompositeExtract 368 0
- Store 269(f64v2) 370
- 371:149(f64vec3) Load 270(f64v1)
- 372: 183(ivec3) Load 366(iv)
- 373:149(f64vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 371 372
- Store 269(f64v2) 373
+ 326(f64): 31(ptr) Variable Function
+ 327(f64v1): 148(ptr) Variable Function
+ 331(f64v2): 148(ptr) Variable Function
+ 337(f64v3): 148(ptr) Variable Function
+ 328:147(f64vec3) Load 327(f64v1)
+ 329:24(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 328
+ Store 326(f64) 329
+ 330:147(f64vec3) Load 327(f64v1)
+ 332:147(f64vec3) Load 331(f64v2)
+ 333:24(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 330 332
+ Store 326(f64) 333
+ 334:147(f64vec3) Load 327(f64v1)
+ 335:147(f64vec3) Load 331(f64v2)
+ 336:24(float64_t) Dot 334 335
+ Store 326(f64) 336
+ 338:147(f64vec3) Load 327(f64v1)
+ 339:147(f64vec3) Load 331(f64v2)
+ 340:147(f64vec3) ExtInst 1(GLSL.std.450) 68(Cross) 338 339
+ Store 337(f64v3) 340
+ 341:147(f64vec3) Load 327(f64v1)
+ 342:147(f64vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 341
+ Store 331(f64v2) 342
+ 343:147(f64vec3) Load 327(f64v1)
+ 344:147(f64vec3) Load 331(f64v2)
+ 345:147(f64vec3) Load 337(f64v3)
+ 346:147(f64vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 343 344 345
+ Store 337(f64v3) 346
+ 347:147(f64vec3) Load 327(f64v1)
+ 348:147(f64vec3) Load 331(f64v2)
+ 349:147(f64vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 347 348
+ Store 337(f64v3) 349
+ 350:147(f64vec3) Load 327(f64v1)
+ 351:147(f64vec3) Load 331(f64v2)
+ 352:24(float64_t) Load 326(f64)
+ 353:147(f64vec3) ExtInst 1(GLSL.std.450) 72(Refract) 350 351 352
+ Store 337(f64v3) 353
Return
FunctionEnd
-18(builtinGeometryFuncs(): 2 Function None 3
+18(builtinMatrixFuncs(): 2 Function None 3
19: Label
- 374(f64): 33(ptr) Variable Function
- 375(f64v1): 150(ptr) Variable Function
- 379(f64v2): 150(ptr) Variable Function
- 385(f64v3): 150(ptr) Variable Function
- 376:149(f64vec3) Load 375(f64v1)
- 377:26(float64_t) ExtInst 1(GLSL.std.450) 66(Length) 376
- Store 374(f64) 377
- 378:149(f64vec3) Load 375(f64v1)
- 380:149(f64vec3) Load 379(f64v2)
- 381:26(float64_t) ExtInst 1(GLSL.std.450) 67(Distance) 378 380
- Store 374(f64) 381
- 382:149(f64vec3) Load 375(f64v1)
- 383:149(f64vec3) Load 379(f64v2)
- 384:26(float64_t) Dot 382 383
- Store 374(f64) 384
- 386:149(f64vec3) Load 375(f64v1)
- 387:149(f64vec3) Load 379(f64v2)
- 388:149(f64vec3) ExtInst 1(GLSL.std.450) 68(Cross) 386 387
- Store 385(f64v3) 388
- 389:149(f64vec3) Load 375(f64v1)
- 390:149(f64vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 389
- Store 379(f64v2) 390
- 391:149(f64vec3) Load 375(f64v1)
- 392:149(f64vec3) Load 379(f64v2)
- 393:149(f64vec3) Load 385(f64v3)
- 394:149(f64vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 391 392 393
- Store 385(f64v3) 394
- 395:149(f64vec3) Load 375(f64v1)
- 396:149(f64vec3) Load 379(f64v2)
- 397:149(f64vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 395 396
- Store 385(f64v3) 397
- 398:149(f64vec3) Load 375(f64v1)
- 399:149(f64vec3) Load 379(f64v2)
- 400:26(float64_t) Load 374(f64)
- 401:149(f64vec3) ExtInst 1(GLSL.std.450) 72(Refract) 398 399 400
- Store 385(f64v3) 401
+ 356(f64m3): 355(ptr) Variable Function
+ 357(f64m1): 355(ptr) Variable Function
+ 359(f64m2): 355(ptr) Variable Function
+ 368(f64v1): 148(ptr) Variable Function
+ 370(f64v2): 26(ptr) Variable Function
+ 375(f64m4): 374(ptr) Variable Function
+ 378(f64): 31(ptr) Variable Function
+ 381(f64m5): 380(ptr) Variable Function
+ 387(f64m6): 386(ptr) Variable Function
+ 388(f64m7): 386(ptr) Variable Function
+ 358: 354 Load 357(f64m1)
+ 360: 354 Load 359(f64m2)
+ 361:147(f64vec3) CompositeExtract 358 0
+ 362:147(f64vec3) CompositeExtract 360 0
+ 363:147(f64vec3) FMul 361 362
+ 364:147(f64vec3) CompositeExtract 358 1
+ 365:147(f64vec3) CompositeExtract 360 1
+ 366:147(f64vec3) FMul 364 365
+ 367: 354 CompositeConstruct 363 366
+ Store 356(f64m3) 367
+ 369:147(f64vec3) Load 368(f64v1)
+ 371: 25(f64vec2) Load 370(f64v2)
+ 372: 354 OuterProduct 369 371
+ Store 357(f64m1) 372
+ 376: 354 Load 357(f64m1)
+ 377: 373 Transpose 376
+ Store 375(f64m4) 377
+ 382: 379 Load 381(f64m5)
+ 383:24(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 382
+ Store 378(f64) 383
+ 389: 385 Load 388(f64m7)
+ 390: 385 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 389
+ Store 387(f64m6) 390
Return
FunctionEnd
-20(builtinMatrixFuncs(): 2 Function None 3
+20(builtinVecRelFuncs(): 2 Function None 3
21: Label
- 404(f64m3): 403(ptr) Variable Function
- 405(f64m1): 403(ptr) Variable Function
- 407(f64m2): 403(ptr) Variable Function
- 416(f64v1): 150(ptr) Variable Function
- 418(f64v2): 28(ptr) Variable Function
- 423(f64m4): 422(ptr) Variable Function
- 426(f64): 33(ptr) Variable Function
- 429(f64m5): 428(ptr) Variable Function
- 434(f64m6): 433(ptr) Variable Function
- 435(f64m7): 433(ptr) Variable Function
- 406: 402 Load 405(f64m1)
- 408: 402 Load 407(f64m2)
- 409:149(f64vec3) CompositeExtract 406 0
- 410:149(f64vec3) CompositeExtract 408 0
- 411:149(f64vec3) FMul 409 410
- 412:149(f64vec3) CompositeExtract 406 1
- 413:149(f64vec3) CompositeExtract 408 1
- 414:149(f64vec3) FMul 412 413
- 415: 402 CompositeConstruct 411 414
- Store 404(f64m3) 415
- 417:149(f64vec3) Load 416(f64v1)
- 419: 27(f64vec2) Load 418(f64v2)
- 420: 402 OuterProduct 417 419
- Store 405(f64m1) 420
- 424: 402 Load 405(f64m1)
- 425: 421 Transpose 424
- Store 423(f64m4) 425
- 430: 427 Load 429(f64m5)
- 431:26(float64_t) ExtInst 1(GLSL.std.450) 33(Determinant) 430
- Store 426(f64) 431
- 436: 432 Load 435(f64m7)
- 437: 432 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 436
- Store 434(f64m6) 437
+ 391(bv): 151(ptr) Variable Function
+ 392(f64v1): 148(ptr) Variable Function
+ 394(f64v2): 148(ptr) Variable Function
+ 393:147(f64vec3) Load 392(f64v1)
+ 395:147(f64vec3) Load 394(f64v2)
+ 396: 150(bvec3) FOrdLessThan 393 395
+ Store 391(bv) 396
+ 397:147(f64vec3) Load 392(f64v1)
+ 398:147(f64vec3) Load 394(f64v2)
+ 399: 150(bvec3) FOrdLessThanEqual 397 398
+ Store 391(bv) 399
+ 400:147(f64vec3) Load 392(f64v1)
+ 401:147(f64vec3) Load 394(f64v2)
+ 402: 150(bvec3) FOrdGreaterThan 400 401
+ Store 391(bv) 402
+ 403:147(f64vec3) Load 392(f64v1)
+ 404:147(f64vec3) Load 394(f64v2)
+ 405: 150(bvec3) FOrdGreaterThanEqual 403 404
+ Store 391(bv) 405
+ 406:147(f64vec3) Load 392(f64v1)
+ 407:147(f64vec3) Load 394(f64v2)
+ 408: 150(bvec3) FOrdEqual 406 407
+ Store 391(bv) 408
+ 409:147(f64vec3) Load 392(f64v1)
+ 410:147(f64vec3) Load 394(f64v2)
+ 411: 150(bvec3) FUnordNotEqual 409 410
+ Store 391(bv) 411
Return
FunctionEnd
-22(builtinVecRelFuncs(): 2 Function None 3
+22(builtinFragProcFuncs(): 2 Function None 3
23: Label
- 438(bv): 153(ptr) Variable Function
- 439(f64v1): 150(ptr) Variable Function
- 441(f64v2): 150(ptr) Variable Function
- 440:149(f64vec3) Load 439(f64v1)
- 442:149(f64vec3) Load 441(f64v2)
- 443: 152(bvec3) FOrdLessThan 440 442
- Store 438(bv) 443
- 444:149(f64vec3) Load 439(f64v1)
- 445:149(f64vec3) Load 441(f64v2)
- 446: 152(bvec3) FOrdLessThanEqual 444 445
- Store 438(bv) 446
- 447:149(f64vec3) Load 439(f64v1)
- 448:149(f64vec3) Load 441(f64v2)
- 449: 152(bvec3) FOrdGreaterThan 447 448
- Store 438(bv) 449
- 450:149(f64vec3) Load 439(f64v1)
- 451:149(f64vec3) Load 441(f64v2)
- 452: 152(bvec3) FOrdGreaterThanEqual 450 451
- Store 438(bv) 452
- 453:149(f64vec3) Load 439(f64v1)
- 454:149(f64vec3) Load 441(f64v2)
- 455: 152(bvec3) FOrdEqual 453 454
- Store 438(bv) 455
- 456:149(f64vec3) Load 439(f64v1)
- 457:149(f64vec3) Load 441(f64v2)
- 458: 152(bvec3) FUnordNotEqual 456 457
- Store 438(bv) 458
- Return
- FunctionEnd
-24(builtinFragProcFuncs(): 2 Function None 3
- 25: Label
- 459(f64v): 150(ptr) Variable Function
- 463: 462(ptr) AccessChain 461(if64v) 32
- 464:26(float64_t) Load 463
- 465:26(float64_t) DPdx 464
- 466: 33(ptr) AccessChain 459(f64v) 32
- Store 466 465
- 467: 462(ptr) AccessChain 461(if64v) 88
- 468:26(float64_t) Load 467
- 469:26(float64_t) DPdy 468
- 470: 33(ptr) AccessChain 459(f64v) 88
- Store 470 469
- 471:149(f64vec3) Load 461(if64v)
- 472: 27(f64vec2) VectorShuffle 471 471 0 1
- 473: 27(f64vec2) DPdxFine 472
- 474:149(f64vec3) Load 459(f64v)
- 475:149(f64vec3) VectorShuffle 474 473 3 4 2
- Store 459(f64v) 475
- 476:149(f64vec3) Load 461(if64v)
- 477: 27(f64vec2) VectorShuffle 476 476 0 1
- 478: 27(f64vec2) DPdyFine 477
- 479:149(f64vec3) Load 459(f64v)
- 480:149(f64vec3) VectorShuffle 479 478 3 4 2
- Store 459(f64v) 480
- 481:149(f64vec3) Load 461(if64v)
- 482:149(f64vec3) DPdxCoarse 481
- Store 459(f64v) 482
- 483:149(f64vec3) Load 461(if64v)
- 484:149(f64vec3) DPdxCoarse 483
- Store 459(f64v) 484
- 485: 462(ptr) AccessChain 461(if64v) 32
- 486:26(float64_t) Load 485
- 487:26(float64_t) Fwidth 486
- 488: 33(ptr) AccessChain 459(f64v) 32
- Store 488 487
- 489:149(f64vec3) Load 461(if64v)
- 490: 27(f64vec2) VectorShuffle 489 489 0 1
- 491: 27(f64vec2) FwidthFine 490
- 492:149(f64vec3) Load 459(f64v)
- 493:149(f64vec3) VectorShuffle 492 491 3 4 2
- Store 459(f64v) 493
- 494:149(f64vec3) Load 461(if64v)
- 495:149(f64vec3) FwidthCoarse 494
- Store 459(f64v) 495
- 496: 462(ptr) AccessChain 461(if64v) 32
- 497:26(float64_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 496
- 498: 33(ptr) AccessChain 459(f64v) 32
- Store 498 497
- 500:149(f64vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 461(if64v) 499
- 501: 27(f64vec2) VectorShuffle 500 500 0 1
- 502:149(f64vec3) Load 459(f64v)
- 503:149(f64vec3) VectorShuffle 502 501 3 4 2
- Store 459(f64v) 503
- 506:149(f64vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 461(if64v) 505
- Store 459(f64v) 506
+ 412(f64v): 148(ptr) Variable Function
+ 416: 415(ptr) AccessChain 414(if64v) 30
+ 417:24(float64_t) Load 416
+ 418:24(float64_t) DPdx 417
+ 419: 31(ptr) AccessChain 412(f64v) 30
+ Store 419 418
+ 420: 415(ptr) AccessChain 414(if64v) 86
+ 421:24(float64_t) Load 420
+ 422:24(float64_t) DPdy 421
+ 423: 31(ptr) AccessChain 412(f64v) 86
+ Store 423 422
+ 424:147(f64vec3) Load 414(if64v)
+ 425: 25(f64vec2) VectorShuffle 424 424 0 1
+ 426: 25(f64vec2) DPdxFine 425
+ 427: 31(ptr) AccessChain 412(f64v) 30
+ 428:24(float64_t) CompositeExtract 426 0
+ Store 427 428
+ 429: 31(ptr) AccessChain 412(f64v) 86
+ 430:24(float64_t) CompositeExtract 426 1
+ Store 429 430
+ 431:147(f64vec3) Load 414(if64v)
+ 432: 25(f64vec2) VectorShuffle 431 431 0 1
+ 433: 25(f64vec2) DPdyFine 432
+ 434: 31(ptr) AccessChain 412(f64v) 30
+ 435:24(float64_t) CompositeExtract 433 0
+ Store 434 435
+ 436: 31(ptr) AccessChain 412(f64v) 86
+ 437:24(float64_t) CompositeExtract 433 1
+ Store 436 437
+ 438:147(f64vec3) Load 414(if64v)
+ 439:147(f64vec3) DPdxCoarse 438
+ Store 412(f64v) 439
+ 440:147(f64vec3) Load 414(if64v)
+ 441:147(f64vec3) DPdxCoarse 440
+ Store 412(f64v) 441
+ 442: 415(ptr) AccessChain 414(if64v) 30
+ 443:24(float64_t) Load 442
+ 444:24(float64_t) Fwidth 443
+ 445: 31(ptr) AccessChain 412(f64v) 30
+ Store 445 444
+ 446:147(f64vec3) Load 414(if64v)
+ 447: 25(f64vec2) VectorShuffle 446 446 0 1
+ 448: 25(f64vec2) FwidthFine 447
+ 449: 31(ptr) AccessChain 412(f64v) 30
+ 450:24(float64_t) CompositeExtract 448 0
+ Store 449 450
+ 451: 31(ptr) AccessChain 412(f64v) 86
+ 452:24(float64_t) CompositeExtract 448 1
+ Store 451 452
+ 453:147(f64vec3) Load 414(if64v)
+ 454:147(f64vec3) FwidthCoarse 453
+ Store 412(f64v) 454
+ 455: 415(ptr) AccessChain 414(if64v) 30
+ 456:24(float64_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 455
+ 457: 31(ptr) AccessChain 412(f64v) 30
+ Store 457 456
+ 459:147(f64vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 414(if64v) 458
+ 460: 25(f64vec2) VectorShuffle 459 459 0 1
+ 461: 31(ptr) AccessChain 412(f64v) 30
+ 462:24(float64_t) CompositeExtract 460 0
+ Store 461 462
+ 463: 31(ptr) AccessChain 412(f64v) 86
+ 464:24(float64_t) CompositeExtract 460 1
+ Store 463 464
+ 467:147(f64vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 414(if64v) 466
+ Store 412(f64v) 467
Return
FunctionEnd
diff --git a/Test/baseResults/spv.forLoop.frag.out b/Test/baseResults/spv.forLoop.frag.out
index 1aac9a6..3a36667 100644
--- a/Test/baseResults/spv.forLoop.frag.out
+++ b/Test/baseResults/spv.forLoop.frag.out
@@ -1,12 +1,12 @@
spv.forLoop.frag
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 131
+// Id's are bound by 143
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 11 24 28 36 53 104
+ EntryPoint Fragment 4 "main" 11 24 28 36 53 111
ExecutionMode 4 OriginUpperLeft
Source GLSL 140
Name 4 "main"
@@ -22,9 +22,9 @@
Name 63 "i"
Name 71 "tv4"
Name 88 "r"
- Name 94 "i"
- Name 104 "f"
- Name 117 "i"
+ Name 101 "i"
+ Name 111 "f"
+ Name 129 "i"
Decorate 11(BaseColor) Location 1
Decorate 24(Count) Flat
Decorate 24(Count) Location 3
@@ -32,7 +32,7 @@
Decorate 36(gl_FragColor) Location 0
Decorate 53(v4) Flat
Decorate 53(v4) Location 4
- Decorate 104(f) Location 2
+ Decorate 111(f) Location 2
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -60,10 +60,14 @@
55: TypePointer Input 50(int)
76: 50(int) Constant 4
89: TypeVector 6(float) 3
- 103: TypePointer Input 6(float)
- 104(f): 103(ptr) Variable Input
- 106: 50(int) Constant 3
- 124: 13(int) Constant 16
+ 92: 50(int) Constant 0
+ 95: 50(int) Constant 1
+ 98: 50(int) Constant 2
+ 110: TypePointer Input 6(float)
+ 111(f): 110(ptr) Variable Input
+ 113: 50(int) Constant 3
+ 122: TypePointer Output 6(float)
+ 136: 13(int) Constant 16
4(main): 2 Function None 3
5: Label
9(color): 8(ptr) Variable Function
@@ -73,8 +77,8 @@
63(i): 14(ptr) Variable Function
71(tv4): 8(ptr) Variable Function
88(r): 8(ptr) Variable Function
- 94(i): 14(ptr) Variable Function
- 117(i): 14(ptr) Variable Function
+ 101(i): 14(ptr) Variable Function
+ 129(i): 14(ptr) Variable Function
12: 7(fvec4) Load 11(BaseColor)
Store 9(color) 12
Store 15(i) 16
@@ -160,58 +164,70 @@
Store 36(gl_FragColor) 87
90: 7(fvec4) Load 11(BaseColor)
91: 89(fvec3) VectorShuffle 90 90 0 1 2
- 92: 7(fvec4) Load 88(r)
- 93: 7(fvec4) VectorShuffle 92 91 4 5 6 3
- Store 88(r) 93
- Store 94(i) 16
- Branch 95
- 95: Label
- LoopMerge 97 98 None
- Branch 99
- 99: Label
- 100: 13(int) Load 94(i)
- 101: 13(int) Load 24(Count)
- 102: 26(bool) SLessThan 100 101
- BranchConditional 102 96 97
- 96: Label
- 105: 6(float) Load 104(f)
- 107: 38(ptr) AccessChain 88(r) 106
- Store 107 105
- Branch 98
- 98: Label
- 108: 13(int) Load 94(i)
- 109: 13(int) IAdd 108 33
- Store 94(i) 109
- Branch 95
- 97: Label
- 110: 7(fvec4) Load 88(r)
- 111: 89(fvec3) VectorShuffle 110 110 0 1 2
- 112: 7(fvec4) Load 36(gl_FragColor)
- 113: 89(fvec3) VectorShuffle 112 112 0 1 2
- 114: 89(fvec3) FAdd 113 111
- 115: 7(fvec4) Load 36(gl_FragColor)
- 116: 7(fvec4) VectorShuffle 115 114 4 5 6 3
- Store 36(gl_FragColor) 116
- Store 117(i) 16
- Branch 118
- 118: Label
- LoopMerge 120 121 None
- Branch 122
- 122: Label
- 123: 13(int) Load 117(i)
- 125: 26(bool) SLessThan 123 124
- BranchConditional 125 119 120
- 119: Label
- 126: 6(float) Load 104(f)
- 127: 7(fvec4) Load 36(gl_FragColor)
- 128: 7(fvec4) VectorTimesScalar 127 126
- Store 36(gl_FragColor) 128
- Branch 121
- 121: Label
- 129: 13(int) Load 117(i)
- 130: 13(int) IAdd 129 48
- Store 117(i) 130
- Branch 118
- 120: Label
+ 93: 38(ptr) AccessChain 88(r) 92
+ 94: 6(float) CompositeExtract 91 0
+ Store 93 94
+ 96: 38(ptr) AccessChain 88(r) 95
+ 97: 6(float) CompositeExtract 91 1
+ Store 96 97
+ 99: 38(ptr) AccessChain 88(r) 98
+ 100: 6(float) CompositeExtract 91 2
+ Store 99 100
+ Store 101(i) 16
+ Branch 102
+ 102: Label
+ LoopMerge 104 105 None
+ Branch 106
+ 106: Label
+ 107: 13(int) Load 101(i)
+ 108: 13(int) Load 24(Count)
+ 109: 26(bool) SLessThan 107 108
+ BranchConditional 109 103 104
+ 103: Label
+ 112: 6(float) Load 111(f)
+ 114: 38(ptr) AccessChain 88(r) 113
+ Store 114 112
+ Branch 105
+ 105: Label
+ 115: 13(int) Load 101(i)
+ 116: 13(int) IAdd 115 33
+ Store 101(i) 116
+ Branch 102
+ 104: Label
+ 117: 7(fvec4) Load 88(r)
+ 118: 89(fvec3) VectorShuffle 117 117 0 1 2
+ 119: 7(fvec4) Load 36(gl_FragColor)
+ 120: 89(fvec3) VectorShuffle 119 119 0 1 2
+ 121: 89(fvec3) FAdd 120 118
+ 123: 122(ptr) AccessChain 36(gl_FragColor) 92
+ 124: 6(float) CompositeExtract 121 0
+ Store 123 124
+ 125: 122(ptr) AccessChain 36(gl_FragColor) 95
+ 126: 6(float) CompositeExtract 121 1
+ Store 125 126
+ 127: 122(ptr) AccessChain 36(gl_FragColor) 98
+ 128: 6(float) CompositeExtract 121 2
+ Store 127 128
+ Store 129(i) 16
+ Branch 130
+ 130: Label
+ LoopMerge 132 133 None
+ Branch 134
+ 134: Label
+ 135: 13(int) Load 129(i)
+ 137: 26(bool) SLessThan 135 136
+ BranchConditional 137 131 132
+ 131: Label
+ 138: 6(float) Load 111(f)
+ 139: 7(fvec4) Load 36(gl_FragColor)
+ 140: 7(fvec4) VectorTimesScalar 139 138
+ Store 36(gl_FragColor) 140
+ Branch 133
+ 133: Label
+ 141: 13(int) Load 129(i)
+ 142: 13(int) IAdd 141 48
+ Store 129(i) 142
+ Branch 130
+ 132: Label
Return
FunctionEnd
diff --git a/Test/baseResults/spv.image.frag.out b/Test/baseResults/spv.image.frag.out
index 3e2096d..5fbb922 100644
--- a/Test/baseResults/spv.image.frag.out
+++ b/Test/baseResults/spv.image.frag.out
@@ -2,7 +2,7 @@
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 395
+// Id's are bound by 405
Capability Shader
Capability StorageImageMultisample
@@ -16,79 +16,79 @@
Capability StorageImageWriteWithoutFormat
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 132 142 152 248 381 394
+ EntryPoint Fragment 4 "main" 143 153 163 258 391 404
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
Name 4 "main"
Name 9 "iv"
Name 15 "i1D"
Name 27 "i2D"
- Name 38 "i3D"
- Name 45 "iCube"
- Name 55 "iCubeArray"
- Name 62 "i2DRect"
- Name 72 "i1DArray"
- Name 82 "i2DArray"
- Name 89 "iBuffer"
- Name 98 "i2DMS"
- Name 108 "i2DMSArray"
- Name 127 "v"
- Name 132 "ic1D"
- Name 142 "ic2D"
- Name 152 "ic3D"
- Name 229 "ui"
- Name 232 "ii1D"
- Name 245 "ui2D"
- Name 248 "value"
- Name 357 "ii2DMS"
- Name 367 "ui2DMSArray"
- Name 376 "wo2D"
- Name 381 "fragData"
- Name 394 "ic4D"
+ Name 41 "i3D"
+ Name 48 "iCube"
+ Name 60 "iCubeArray"
+ Name 67 "i2DRect"
+ Name 79 "i1DArray"
+ Name 91 "i2DArray"
+ Name 98 "iBuffer"
+ Name 107 "i2DMS"
+ Name 119 "i2DMSArray"
+ Name 138 "v"
+ Name 143 "ic1D"
+ Name 153 "ic2D"
+ Name 163 "ic3D"
+ Name 240 "ui"
+ Name 243 "ii1D"
+ Name 255 "ui2D"
+ Name 258 "value"
+ Name 367 "ii2DMS"
+ Name 377 "ui2DMSArray"
+ Name 386 "wo2D"
+ Name 391 "fragData"
+ Name 404 "ic4D"
Decorate 15(i1D) DescriptorSet 0
Decorate 15(i1D) Binding 0
Decorate 27(i2D) DescriptorSet 0
Decorate 27(i2D) Binding 1
- Decorate 38(i3D) DescriptorSet 0
- Decorate 38(i3D) Binding 2
- Decorate 45(iCube) DescriptorSet 0
- Decorate 45(iCube) Binding 3
- Decorate 55(iCubeArray) DescriptorSet 0
- Decorate 55(iCubeArray) Binding 4
- Decorate 62(i2DRect) DescriptorSet 0
- Decorate 62(i2DRect) Binding 5
- Decorate 72(i1DArray) DescriptorSet 0
- Decorate 72(i1DArray) Binding 6
- Decorate 82(i2DArray) DescriptorSet 0
- Decorate 82(i2DArray) Binding 7
- Decorate 89(iBuffer) DescriptorSet 0
- Decorate 89(iBuffer) Binding 8
- Decorate 98(i2DMS) DescriptorSet 0
- Decorate 98(i2DMS) Binding 9
- Decorate 108(i2DMSArray) DescriptorSet 0
- Decorate 108(i2DMSArray) Binding 10
- Decorate 132(ic1D) Flat
- Decorate 132(ic1D) Location 0
- Decorate 142(ic2D) Flat
- Decorate 142(ic2D) Location 1
- Decorate 152(ic3D) Flat
- Decorate 152(ic3D) Location 2
- Decorate 232(ii1D) DescriptorSet 0
- Decorate 232(ii1D) Binding 11
- Decorate 245(ui2D) DescriptorSet 0
- Decorate 245(ui2D) Binding 12
- Decorate 248(value) Flat
- Decorate 248(value) Location 4
- Decorate 357(ii2DMS) DescriptorSet 0
- Decorate 357(ii2DMS) Binding 13
- Decorate 367(ui2DMSArray) DescriptorSet 0
- Decorate 367(ui2DMSArray) Binding 14
- Decorate 376(wo2D) DescriptorSet 0
- Decorate 376(wo2D) Binding 1
- Decorate 376(wo2D) NonReadable
- Decorate 381(fragData) Location 0
- Decorate 394(ic4D) Flat
- Decorate 394(ic4D) Location 3
+ Decorate 41(i3D) DescriptorSet 0
+ Decorate 41(i3D) Binding 2
+ Decorate 48(iCube) DescriptorSet 0
+ Decorate 48(iCube) Binding 3
+ Decorate 60(iCubeArray) DescriptorSet 0
+ Decorate 60(iCubeArray) Binding 4
+ Decorate 67(i2DRect) DescriptorSet 0
+ Decorate 67(i2DRect) Binding 5
+ Decorate 79(i1DArray) DescriptorSet 0
+ Decorate 79(i1DArray) Binding 6
+ Decorate 91(i2DArray) DescriptorSet 0
+ Decorate 91(i2DArray) Binding 7
+ Decorate 98(iBuffer) DescriptorSet 0
+ Decorate 98(iBuffer) Binding 8
+ Decorate 107(i2DMS) DescriptorSet 0
+ Decorate 107(i2DMS) Binding 9
+ Decorate 119(i2DMSArray) DescriptorSet 0
+ Decorate 119(i2DMSArray) Binding 10
+ Decorate 143(ic1D) Flat
+ Decorate 143(ic1D) Location 0
+ Decorate 153(ic2D) Flat
+ Decorate 153(ic2D) Location 1
+ Decorate 163(ic3D) Flat
+ Decorate 163(ic3D) Location 2
+ Decorate 243(ii1D) DescriptorSet 0
+ Decorate 243(ii1D) Binding 11
+ Decorate 255(ui2D) DescriptorSet 0
+ Decorate 255(ui2D) Binding 12
+ Decorate 258(value) Flat
+ Decorate 258(value) Location 4
+ Decorate 367(ii2DMS) DescriptorSet 0
+ Decorate 367(ii2DMS) Binding 13
+ Decorate 377(ui2DMSArray) DescriptorSet 0
+ Decorate 377(ui2DMSArray) Binding 14
+ Decorate 386(wo2D) DescriptorSet 0
+ Decorate 386(wo2D) Binding 1
+ Decorate 386(wo2D) NonReadable
+ Decorate 391(fragData) Location 0
+ Decorate 404(ic4D) Flat
+ Decorate 404(ic4D) Location 3
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@@ -107,90 +107,90 @@
26: TypePointer UniformConstant 25
27(i2D): 26(ptr) Variable UniformConstant
29: TypeVector 6(int) 2
- 36: TypeImage 12(float) 3D nonsampled format:Rgba32f
- 37: TypePointer UniformConstant 36
- 38(i3D): 37(ptr) Variable UniformConstant
- 43: TypeImage 12(float) Cube nonsampled format:Rgba32f
- 44: TypePointer UniformConstant 43
- 45(iCube): 44(ptr) Variable UniformConstant
- 53: TypeImage 12(float) Cube array nonsampled format:Rgba32f
- 54: TypePointer UniformConstant 53
- 55(iCubeArray): 54(ptr) Variable UniformConstant
- 60: TypeImage 12(float) Rect nonsampled format:Rgba32f
- 61: TypePointer UniformConstant 60
- 62(i2DRect): 61(ptr) Variable UniformConstant
- 70: TypeImage 12(float) 1D array nonsampled format:Rgba32f
- 71: TypePointer UniformConstant 70
- 72(i1DArray): 71(ptr) Variable UniformConstant
- 80: TypeImage 12(float) 2D array nonsampled format:Rg16
- 81: TypePointer UniformConstant 80
- 82(i2DArray): 81(ptr) Variable UniformConstant
- 87: TypeImage 12(float) Buffer nonsampled format:Rgba32f
- 88: TypePointer UniformConstant 87
- 89(iBuffer): 88(ptr) Variable UniformConstant
- 96: TypeImage 12(float) 2D multi-sampled nonsampled format:Rgba32f
+ 36: 18(int) Constant 1
+ 39: TypeImage 12(float) 3D nonsampled format:Rgba32f
+ 40: TypePointer UniformConstant 39
+ 41(i3D): 40(ptr) Variable UniformConstant
+ 46: TypeImage 12(float) Cube nonsampled format:Rgba32f
+ 47: TypePointer UniformConstant 46
+ 48(iCube): 47(ptr) Variable UniformConstant
+ 58: TypeImage 12(float) Cube array nonsampled format:Rgba32f
+ 59: TypePointer UniformConstant 58
+ 60(iCubeArray): 59(ptr) Variable UniformConstant
+ 65: TypeImage 12(float) Rect nonsampled format:Rgba32f
+ 66: TypePointer UniformConstant 65
+ 67(i2DRect): 66(ptr) Variable UniformConstant
+ 77: TypeImage 12(float) 1D array nonsampled format:Rgba32f
+ 78: TypePointer UniformConstant 77
+ 79(i1DArray): 78(ptr) Variable UniformConstant
+ 89: TypeImage 12(float) 2D array nonsampled format:Rg16
+ 90: TypePointer UniformConstant 89
+ 91(i2DArray): 90(ptr) Variable UniformConstant
+ 96: TypeImage 12(float) Buffer nonsampled format:Rgba32f
97: TypePointer UniformConstant 96
- 98(i2DMS): 97(ptr) Variable UniformConstant
- 106: TypeImage 12(float) 2D array multi-sampled nonsampled format:Rgba32f
- 107: TypePointer UniformConstant 106
- 108(i2DMSArray): 107(ptr) Variable UniformConstant
- 125: TypeVector 12(float) 4
- 126: TypePointer Function 125(fvec4)
- 128: 12(float) Constant 0
- 129: 125(fvec4) ConstantComposite 128 128 128 128
- 131: TypePointer Input 6(int)
- 132(ic1D): 131(ptr) Variable Input
- 141: TypePointer Input 29(ivec2)
- 142(ic2D): 141(ptr) Variable Input
- 151: TypePointer Input 7(ivec3)
- 152(ic3D): 151(ptr) Variable Input
- 210: 6(int) Constant 1
- 216: 6(int) Constant 2
- 220: 6(int) Constant 3
- 226: 6(int) Constant 4
- 228: TypePointer Function 18(int)
- 230: TypeImage 6(int) 1D nonsampled format:R32i
- 231: TypePointer UniformConstant 230
- 232(ii1D): 231(ptr) Variable UniformConstant
- 234: 6(int) Constant 10
- 235: TypePointer Image 6(int)
- 237: 18(int) Constant 1
- 243: TypeImage 18(int) 2D nonsampled format:R32ui
- 244: TypePointer UniformConstant 243
- 245(ui2D): 244(ptr) Variable UniformConstant
- 247: TypePointer Input 18(int)
- 248(value): 247(ptr) Variable Input
- 250: TypePointer Image 18(int)
- 256: 6(int) Constant 11
- 270: 6(int) Constant 12
- 284: 6(int) Constant 13
- 298: 6(int) Constant 14
- 312: 6(int) Constant 15
- 326: 6(int) Constant 16
- 340: 6(int) Constant 18
- 341: 6(int) Constant 17
- 349: 18(int) Constant 19
- 355: TypeImage 6(int) 2D multi-sampled nonsampled format:R32i
- 356: TypePointer UniformConstant 355
- 357(ii2DMS): 356(ptr) Variable UniformConstant
- 365: TypeImage 18(int) 2D array multi-sampled nonsampled format:R32ui
+ 98(iBuffer): 97(ptr) Variable UniformConstant
+ 105: TypeImage 12(float) 2D multi-sampled nonsampled format:Rgba32f
+ 106: TypePointer UniformConstant 105
+ 107(i2DMS): 106(ptr) Variable UniformConstant
+ 117: TypeImage 12(float) 2D array multi-sampled nonsampled format:Rgba32f
+ 118: TypePointer UniformConstant 117
+ 119(i2DMSArray): 118(ptr) Variable UniformConstant
+ 136: TypeVector 12(float) 4
+ 137: TypePointer Function 136(fvec4)
+ 139: 12(float) Constant 0
+ 140: 136(fvec4) ConstantComposite 139 139 139 139
+ 142: TypePointer Input 6(int)
+ 143(ic1D): 142(ptr) Variable Input
+ 152: TypePointer Input 29(ivec2)
+ 153(ic2D): 152(ptr) Variable Input
+ 162: TypePointer Input 7(ivec3)
+ 163(ic3D): 162(ptr) Variable Input
+ 221: 6(int) Constant 1
+ 227: 6(int) Constant 2
+ 231: 6(int) Constant 3
+ 237: 6(int) Constant 4
+ 239: TypePointer Function 18(int)
+ 241: TypeImage 6(int) 1D nonsampled format:R32i
+ 242: TypePointer UniformConstant 241
+ 243(ii1D): 242(ptr) Variable UniformConstant
+ 245: 6(int) Constant 10
+ 246: TypePointer Image 6(int)
+ 253: TypeImage 18(int) 2D nonsampled format:R32ui
+ 254: TypePointer UniformConstant 253
+ 255(ui2D): 254(ptr) Variable UniformConstant
+ 257: TypePointer Input 18(int)
+ 258(value): 257(ptr) Variable Input
+ 260: TypePointer Image 18(int)
+ 266: 6(int) Constant 11
+ 280: 6(int) Constant 12
+ 294: 6(int) Constant 13
+ 308: 6(int) Constant 14
+ 322: 6(int) Constant 15
+ 336: 6(int) Constant 16
+ 350: 6(int) Constant 18
+ 351: 6(int) Constant 17
+ 359: 18(int) Constant 19
+ 365: TypeImage 6(int) 2D multi-sampled nonsampled format:R32i
366: TypePointer UniformConstant 365
-367(ui2DMSArray): 366(ptr) Variable UniformConstant
- 374: TypeImage 12(float) 2D nonsampled format:Unknown
- 375: TypePointer UniformConstant 374
- 376(wo2D): 375(ptr) Variable UniformConstant
- 380: TypePointer Output 125(fvec4)
- 381(fragData): 380(ptr) Variable Output
- 386: TypeBool
- 389: TypeVector 386(bool) 4
- 392: TypeVector 6(int) 4
- 393: TypePointer Input 392(ivec4)
- 394(ic4D): 393(ptr) Variable Input
+ 367(ii2DMS): 366(ptr) Variable UniformConstant
+ 375: TypeImage 18(int) 2D array multi-sampled nonsampled format:R32ui
+ 376: TypePointer UniformConstant 375
+377(ui2DMSArray): 376(ptr) Variable UniformConstant
+ 384: TypeImage 12(float) 2D nonsampled format:Unknown
+ 385: TypePointer UniformConstant 384
+ 386(wo2D): 385(ptr) Variable UniformConstant
+ 390: TypePointer Output 136(fvec4)
+ 391(fragData): 390(ptr) Variable Output
+ 396: TypeBool
+ 399: TypeVector 396(bool) 4
+ 402: TypeVector 6(int) 4
+ 403: TypePointer Input 402(ivec4)
+ 404(ic4D): 403(ptr) Variable Input
4(main): 2 Function None 3
5: Label
9(iv): 8(ptr) Variable Function
- 127(v): 126(ptr) Variable Function
- 229(ui): 228(ptr) Variable Function
+ 138(v): 137(ptr) Variable Function
+ 240(ui): 239(ptr) Variable Function
Store 9(iv) 11
16: 13 Load 15(i1D)
17: 6(int) ImageQuerySize 16
@@ -204,341 +204,356 @@
31: 7(ivec3) Load 9(iv)
32: 29(ivec2) VectorShuffle 31 31 0 1
33: 29(ivec2) IAdd 32 30
- 34: 7(ivec3) Load 9(iv)
- 35: 7(ivec3) VectorShuffle 34 33 3 4 2
- Store 9(iv) 35
- 39: 36 Load 38(i3D)
- 40: 7(ivec3) ImageQuerySize 39
- 41: 7(ivec3) Load 9(iv)
- 42: 7(ivec3) IAdd 41 40
- Store 9(iv) 42
- 46: 43 Load 45(iCube)
- 47: 29(ivec2) ImageQuerySize 46
- 48: 7(ivec3) Load 9(iv)
- 49: 29(ivec2) VectorShuffle 48 48 0 1
- 50: 29(ivec2) IAdd 49 47
+ 34: 20(ptr) AccessChain 9(iv) 19
+ 35: 6(int) CompositeExtract 33 0
+ Store 34 35
+ 37: 20(ptr) AccessChain 9(iv) 36
+ 38: 6(int) CompositeExtract 33 1
+ Store 37 38
+ 42: 39 Load 41(i3D)
+ 43: 7(ivec3) ImageQuerySize 42
+ 44: 7(ivec3) Load 9(iv)
+ 45: 7(ivec3) IAdd 44 43
+ Store 9(iv) 45
+ 49: 46 Load 48(iCube)
+ 50: 29(ivec2) ImageQuerySize 49
51: 7(ivec3) Load 9(iv)
- 52: 7(ivec3) VectorShuffle 51 50 3 4 2
- Store 9(iv) 52
- 56: 53 Load 55(iCubeArray)
- 57: 7(ivec3) ImageQuerySize 56
- 58: 7(ivec3) Load 9(iv)
- 59: 7(ivec3) IAdd 58 57
- Store 9(iv) 59
- 63: 60 Load 62(i2DRect)
- 64: 29(ivec2) ImageQuerySize 63
- 65: 7(ivec3) Load 9(iv)
- 66: 29(ivec2) VectorShuffle 65 65 0 1
- 67: 29(ivec2) IAdd 66 64
- 68: 7(ivec3) Load 9(iv)
- 69: 7(ivec3) VectorShuffle 68 67 3 4 2
- Store 9(iv) 69
- 73: 70 Load 72(i1DArray)
- 74: 29(ivec2) ImageQuerySize 73
- 75: 7(ivec3) Load 9(iv)
- 76: 29(ivec2) VectorShuffle 75 75 0 1
- 77: 29(ivec2) IAdd 76 74
- 78: 7(ivec3) Load 9(iv)
- 79: 7(ivec3) VectorShuffle 78 77 3 4 2
- Store 9(iv) 79
- 83: 80 Load 82(i2DArray)
- 84: 7(ivec3) ImageQuerySize 83
- 85: 7(ivec3) Load 9(iv)
- 86: 7(ivec3) IAdd 85 84
- Store 9(iv) 86
- 90: 87 Load 89(iBuffer)
- 91: 6(int) ImageQuerySize 90
- 92: 20(ptr) AccessChain 9(iv) 19
- 93: 6(int) Load 92
- 94: 6(int) IAdd 93 91
- 95: 20(ptr) AccessChain 9(iv) 19
- Store 95 94
- 99: 96 Load 98(i2DMS)
- 100: 29(ivec2) ImageQuerySize 99
- 101: 7(ivec3) Load 9(iv)
- 102: 29(ivec2) VectorShuffle 101 101 0 1
- 103: 29(ivec2) IAdd 102 100
- 104: 7(ivec3) Load 9(iv)
- 105: 7(ivec3) VectorShuffle 104 103 3 4 2
- Store 9(iv) 105
- 109: 106 Load 108(i2DMSArray)
- 110: 7(ivec3) ImageQuerySize 109
- 111: 7(ivec3) Load 9(iv)
- 112: 7(ivec3) IAdd 111 110
- Store 9(iv) 112
- 113: 96 Load 98(i2DMS)
- 114: 6(int) ImageQuerySamples 113
- 115: 20(ptr) AccessChain 9(iv) 19
- 116: 6(int) Load 115
- 117: 6(int) IAdd 116 114
- 118: 20(ptr) AccessChain 9(iv) 19
- Store 118 117
- 119: 106 Load 108(i2DMSArray)
- 120: 6(int) ImageQuerySamples 119
- 121: 20(ptr) AccessChain 9(iv) 19
- 122: 6(int) Load 121
- 123: 6(int) IAdd 122 120
- 124: 20(ptr) AccessChain 9(iv) 19
- Store 124 123
- Store 127(v) 129
- 130: 13 Load 15(i1D)
- 133: 6(int) Load 132(ic1D)
- 134: 125(fvec4) ImageRead 130 133
- 135: 125(fvec4) Load 127(v)
- 136: 125(fvec4) FAdd 135 134
- Store 127(v) 136
- 137: 13 Load 15(i1D)
- 138: 6(int) Load 132(ic1D)
- 139: 125(fvec4) Load 127(v)
- ImageWrite 137 138 139
- 140: 25 Load 27(i2D)
- 143: 29(ivec2) Load 142(ic2D)
- 144: 125(fvec4) ImageRead 140 143
- 145: 125(fvec4) Load 127(v)
- 146: 125(fvec4) FAdd 145 144
- Store 127(v) 146
- 147: 25 Load 27(i2D)
- 148: 29(ivec2) Load 142(ic2D)
- 149: 125(fvec4) Load 127(v)
- ImageWrite 147 148 149
- 150: 36 Load 38(i3D)
- 153: 7(ivec3) Load 152(ic3D)
- 154: 125(fvec4) ImageRead 150 153
- 155: 125(fvec4) Load 127(v)
- 156: 125(fvec4) FAdd 155 154
- Store 127(v) 156
- 157: 36 Load 38(i3D)
- 158: 7(ivec3) Load 152(ic3D)
- 159: 125(fvec4) Load 127(v)
- ImageWrite 157 158 159
- 160: 43 Load 45(iCube)
- 161: 7(ivec3) Load 152(ic3D)
- 162: 125(fvec4) ImageRead 160 161
- 163: 125(fvec4) Load 127(v)
- 164: 125(fvec4) FAdd 163 162
- Store 127(v) 164
- 165: 43 Load 45(iCube)
- 166: 7(ivec3) Load 152(ic3D)
- 167: 125(fvec4) Load 127(v)
- ImageWrite 165 166 167
- 168: 53 Load 55(iCubeArray)
- 169: 7(ivec3) Load 152(ic3D)
- 170: 125(fvec4) ImageRead 168 169
- 171: 125(fvec4) Load 127(v)
- 172: 125(fvec4) FAdd 171 170
- Store 127(v) 172
- 173: 53 Load 55(iCubeArray)
- 174: 7(ivec3) Load 152(ic3D)
- 175: 125(fvec4) Load 127(v)
- ImageWrite 173 174 175
- 176: 60 Load 62(i2DRect)
- 177: 29(ivec2) Load 142(ic2D)
- 178: 125(fvec4) ImageRead 176 177
- 179: 125(fvec4) Load 127(v)
- 180: 125(fvec4) FAdd 179 178
- Store 127(v) 180
- 181: 60 Load 62(i2DRect)
- 182: 29(ivec2) Load 142(ic2D)
- 183: 125(fvec4) Load 127(v)
- ImageWrite 181 182 183
- 184: 70 Load 72(i1DArray)
- 185: 29(ivec2) Load 142(ic2D)
- 186: 125(fvec4) ImageRead 184 185
- 187: 125(fvec4) Load 127(v)
- 188: 125(fvec4) FAdd 187 186
- Store 127(v) 188
- 189: 70 Load 72(i1DArray)
- 190: 29(ivec2) Load 142(ic2D)
- 191: 125(fvec4) Load 127(v)
- ImageWrite 189 190 191
- 192: 80 Load 82(i2DArray)
- 193: 7(ivec3) Load 152(ic3D)
- 194: 125(fvec4) ImageRead 192 193
- 195: 125(fvec4) Load 127(v)
- 196: 125(fvec4) FAdd 195 194
- Store 127(v) 196
- 197: 80 Load 82(i2DArray)
- 198: 7(ivec3) Load 152(ic3D)
- 199: 125(fvec4) Load 127(v)
- ImageWrite 197 198 199
- 200: 87 Load 89(iBuffer)
- 201: 6(int) Load 132(ic1D)
- 202: 125(fvec4) ImageRead 200 201
- 203: 125(fvec4) Load 127(v)
- 204: 125(fvec4) FAdd 203 202
- Store 127(v) 204
- 205: 87 Load 89(iBuffer)
- 206: 6(int) Load 132(ic1D)
- 207: 125(fvec4) Load 127(v)
- ImageWrite 205 206 207
- 208: 96 Load 98(i2DMS)
- 209: 29(ivec2) Load 142(ic2D)
- 211: 125(fvec4) ImageRead 208 209 Sample 210
- 212: 125(fvec4) Load 127(v)
- 213: 125(fvec4) FAdd 212 211
- Store 127(v) 213
- 214: 96 Load 98(i2DMS)
- 215: 29(ivec2) Load 142(ic2D)
- 217: 125(fvec4) Load 127(v)
- ImageWrite 214 215 217 Sample 216
- 218: 106 Load 108(i2DMSArray)
- 219: 7(ivec3) Load 152(ic3D)
- 221: 125(fvec4) ImageRead 218 219 Sample 220
- 222: 125(fvec4) Load 127(v)
- 223: 125(fvec4) FAdd 222 221
- Store 127(v) 223
- 224: 106 Load 108(i2DMSArray)
- 225: 7(ivec3) Load 152(ic3D)
- 227: 125(fvec4) Load 127(v)
- ImageWrite 224 225 227 Sample 226
- Store 229(ui) 19
- 233: 6(int) Load 132(ic1D)
- 236: 235(ptr) ImageTexelPointer 232(ii1D) 233 19
- 238: 6(int) AtomicIAdd 236 237 19 234
- 239: 20(ptr) AccessChain 9(iv) 19
- 240: 6(int) Load 239
- 241: 6(int) IAdd 240 238
- 242: 20(ptr) AccessChain 9(iv) 19
- Store 242 241
- 246: 29(ivec2) Load 142(ic2D)
- 249: 18(int) Load 248(value)
- 251: 250(ptr) ImageTexelPointer 245(ui2D) 246 19
- 252: 18(int) AtomicIAdd 251 237 19 249
- 253: 18(int) Load 229(ui)
- 254: 18(int) IAdd 253 252
- Store 229(ui) 254
- 255: 6(int) Load 132(ic1D)
- 257: 235(ptr) ImageTexelPointer 232(ii1D) 255 19
- 258: 6(int) AtomicSMin 257 237 19 256
- 259: 20(ptr) AccessChain 9(iv) 19
- 260: 6(int) Load 259
- 261: 6(int) IAdd 260 258
- 262: 20(ptr) AccessChain 9(iv) 19
- Store 262 261
- 263: 29(ivec2) Load 142(ic2D)
- 264: 18(int) Load 248(value)
- 265: 250(ptr) ImageTexelPointer 245(ui2D) 263 19
- 266: 18(int) AtomicUMin 265 237 19 264
- 267: 18(int) Load 229(ui)
- 268: 18(int) IAdd 267 266
- Store 229(ui) 268
- 269: 6(int) Load 132(ic1D)
- 271: 235(ptr) ImageTexelPointer 232(ii1D) 269 19
- 272: 6(int) AtomicSMax 271 237 19 270
- 273: 20(ptr) AccessChain 9(iv) 19
- 274: 6(int) Load 273
- 275: 6(int) IAdd 274 272
- 276: 20(ptr) AccessChain 9(iv) 19
- Store 276 275
- 277: 29(ivec2) Load 142(ic2D)
- 278: 18(int) Load 248(value)
- 279: 250(ptr) ImageTexelPointer 245(ui2D) 277 19
- 280: 18(int) AtomicUMax 279 237 19 278
- 281: 18(int) Load 229(ui)
- 282: 18(int) IAdd 281 280
- Store 229(ui) 282
- 283: 6(int) Load 132(ic1D)
- 285: 235(ptr) ImageTexelPointer 232(ii1D) 283 19
- 286: 6(int) AtomicAnd 285 237 19 284
- 287: 20(ptr) AccessChain 9(iv) 19
- 288: 6(int) Load 287
- 289: 6(int) IAdd 288 286
- 290: 20(ptr) AccessChain 9(iv) 19
- Store 290 289
- 291: 29(ivec2) Load 142(ic2D)
- 292: 18(int) Load 248(value)
- 293: 250(ptr) ImageTexelPointer 245(ui2D) 291 19
- 294: 18(int) AtomicAnd 293 237 19 292
- 295: 18(int) Load 229(ui)
- 296: 18(int) IAdd 295 294
- Store 229(ui) 296
- 297: 6(int) Load 132(ic1D)
- 299: 235(ptr) ImageTexelPointer 232(ii1D) 297 19
- 300: 6(int) AtomicOr 299 237 19 298
- 301: 20(ptr) AccessChain 9(iv) 19
- 302: 6(int) Load 301
- 303: 6(int) IAdd 302 300
- 304: 20(ptr) AccessChain 9(iv) 19
- Store 304 303
- 305: 29(ivec2) Load 142(ic2D)
- 306: 18(int) Load 248(value)
- 307: 250(ptr) ImageTexelPointer 245(ui2D) 305 19
- 308: 18(int) AtomicOr 307 237 19 306
- 309: 18(int) Load 229(ui)
- 310: 18(int) IAdd 309 308
- Store 229(ui) 310
- 311: 6(int) Load 132(ic1D)
- 313: 235(ptr) ImageTexelPointer 232(ii1D) 311 19
- 314: 6(int) AtomicXor 313 237 19 312
- 315: 20(ptr) AccessChain 9(iv) 19
- 316: 6(int) Load 315
- 317: 6(int) IAdd 316 314
- 318: 20(ptr) AccessChain 9(iv) 19
- Store 318 317
- 319: 29(ivec2) Load 142(ic2D)
- 320: 18(int) Load 248(value)
- 321: 250(ptr) ImageTexelPointer 245(ui2D) 319 19
- 322: 18(int) AtomicXor 321 237 19 320
- 323: 18(int) Load 229(ui)
- 324: 18(int) IAdd 323 322
- Store 229(ui) 324
- 325: 6(int) Load 132(ic1D)
- 327: 235(ptr) ImageTexelPointer 232(ii1D) 325 19
- 328: 6(int) AtomicExchange 327 237 19 326
- 329: 20(ptr) AccessChain 9(iv) 19
- 330: 6(int) Load 329
- 331: 6(int) IAdd 330 328
- 332: 20(ptr) AccessChain 9(iv) 19
- Store 332 331
- 333: 29(ivec2) Load 142(ic2D)
- 334: 18(int) Load 248(value)
- 335: 250(ptr) ImageTexelPointer 245(ui2D) 333 19
- 336: 18(int) AtomicExchange 335 237 19 334
- 337: 18(int) Load 229(ui)
- 338: 18(int) IAdd 337 336
- Store 229(ui) 338
- 339: 6(int) Load 132(ic1D)
- 342: 235(ptr) ImageTexelPointer 232(ii1D) 339 19
- 343: 6(int) AtomicCompareExchange 342 237 19 19 341 340
- 344: 20(ptr) AccessChain 9(iv) 19
- 345: 6(int) Load 344
- 346: 6(int) IAdd 345 343
- 347: 20(ptr) AccessChain 9(iv) 19
- Store 347 346
- 348: 29(ivec2) Load 142(ic2D)
- 350: 18(int) Load 248(value)
- 351: 250(ptr) ImageTexelPointer 245(ui2D) 348 19
- 352: 18(int) AtomicCompareExchange 351 237 19 19 350 349
- 353: 18(int) Load 229(ui)
- 354: 18(int) IAdd 353 352
- Store 229(ui) 354
- 358: 29(ivec2) Load 142(ic2D)
- 359: 235(ptr) ImageTexelPointer 357(ii2DMS) 358 216
- 360: 6(int) AtomicCompareExchange 359 237 19 19 341 340
- 361: 20(ptr) AccessChain 9(iv) 19
- 362: 6(int) Load 361
- 363: 6(int) IAdd 362 360
- 364: 20(ptr) AccessChain 9(iv) 19
- Store 364 363
- 368: 7(ivec3) Load 152(ic3D)
- 369: 18(int) Load 248(value)
- 370: 250(ptr) ImageTexelPointer 367(ui2DMSArray) 368 220
- 371: 18(int) AtomicCompareExchange 370 237 19 19 369 349
- 372: 18(int) Load 229(ui)
- 373: 18(int) IAdd 372 371
- Store 229(ui) 373
- 377: 374 Load 376(wo2D)
- 378: 29(ivec2) Load 142(ic2D)
- 379: 125(fvec4) Load 127(v)
- ImageWrite 377 378 379
- 382: 18(int) Load 229(ui)
- 383: 20(ptr) AccessChain 9(iv) 237
- 384: 6(int) Load 383
- 385: 18(int) Bitcast 384
- 387: 386(bool) INotEqual 382 385
- 388: 125(fvec4) Load 127(v)
- 390: 389(bvec4) CompositeConstruct 387 387 387 387
- 391: 125(fvec4) Select 390 388 129
- Store 381(fragData) 391
+ 52: 29(ivec2) VectorShuffle 51 51 0 1
+ 53: 29(ivec2) IAdd 52 50
+ 54: 20(ptr) AccessChain 9(iv) 19
+ 55: 6(int) CompositeExtract 53 0
+ Store 54 55
+ 56: 20(ptr) AccessChain 9(iv) 36
+ 57: 6(int) CompositeExtract 53 1
+ Store 56 57
+ 61: 58 Load 60(iCubeArray)
+ 62: 7(ivec3) ImageQuerySize 61
+ 63: 7(ivec3) Load 9(iv)
+ 64: 7(ivec3) IAdd 63 62
+ Store 9(iv) 64
+ 68: 65 Load 67(i2DRect)
+ 69: 29(ivec2) ImageQuerySize 68
+ 70: 7(ivec3) Load 9(iv)
+ 71: 29(ivec2) VectorShuffle 70 70 0 1
+ 72: 29(ivec2) IAdd 71 69
+ 73: 20(ptr) AccessChain 9(iv) 19
+ 74: 6(int) CompositeExtract 72 0
+ Store 73 74
+ 75: 20(ptr) AccessChain 9(iv) 36
+ 76: 6(int) CompositeExtract 72 1
+ Store 75 76
+ 80: 77 Load 79(i1DArray)
+ 81: 29(ivec2) ImageQuerySize 80
+ 82: 7(ivec3) Load 9(iv)
+ 83: 29(ivec2) VectorShuffle 82 82 0 1
+ 84: 29(ivec2) IAdd 83 81
+ 85: 20(ptr) AccessChain 9(iv) 19
+ 86: 6(int) CompositeExtract 84 0
+ Store 85 86
+ 87: 20(ptr) AccessChain 9(iv) 36
+ 88: 6(int) CompositeExtract 84 1
+ Store 87 88
+ 92: 89 Load 91(i2DArray)
+ 93: 7(ivec3) ImageQuerySize 92
+ 94: 7(ivec3) Load 9(iv)
+ 95: 7(ivec3) IAdd 94 93
+ Store 9(iv) 95
+ 99: 96 Load 98(iBuffer)
+ 100: 6(int) ImageQuerySize 99
+ 101: 20(ptr) AccessChain 9(iv) 19
+ 102: 6(int) Load 101
+ 103: 6(int) IAdd 102 100
+ 104: 20(ptr) AccessChain 9(iv) 19
+ Store 104 103
+ 108: 105 Load 107(i2DMS)
+ 109: 29(ivec2) ImageQuerySize 108
+ 110: 7(ivec3) Load 9(iv)
+ 111: 29(ivec2) VectorShuffle 110 110 0 1
+ 112: 29(ivec2) IAdd 111 109
+ 113: 20(ptr) AccessChain 9(iv) 19
+ 114: 6(int) CompositeExtract 112 0
+ Store 113 114
+ 115: 20(ptr) AccessChain 9(iv) 36
+ 116: 6(int) CompositeExtract 112 1
+ Store 115 116
+ 120: 117 Load 119(i2DMSArray)
+ 121: 7(ivec3) ImageQuerySize 120
+ 122: 7(ivec3) Load 9(iv)
+ 123: 7(ivec3) IAdd 122 121
+ Store 9(iv) 123
+ 124: 105 Load 107(i2DMS)
+ 125: 6(int) ImageQuerySamples 124
+ 126: 20(ptr) AccessChain 9(iv) 19
+ 127: 6(int) Load 126
+ 128: 6(int) IAdd 127 125
+ 129: 20(ptr) AccessChain 9(iv) 19
+ Store 129 128
+ 130: 117 Load 119(i2DMSArray)
+ 131: 6(int) ImageQuerySamples 130
+ 132: 20(ptr) AccessChain 9(iv) 19
+ 133: 6(int) Load 132
+ 134: 6(int) IAdd 133 131
+ 135: 20(ptr) AccessChain 9(iv) 19
+ Store 135 134
+ Store 138(v) 140
+ 141: 13 Load 15(i1D)
+ 144: 6(int) Load 143(ic1D)
+ 145: 136(fvec4) ImageRead 141 144
+ 146: 136(fvec4) Load 138(v)
+ 147: 136(fvec4) FAdd 146 145
+ Store 138(v) 147
+ 148: 13 Load 15(i1D)
+ 149: 6(int) Load 143(ic1D)
+ 150: 136(fvec4) Load 138(v)
+ ImageWrite 148 149 150
+ 151: 25 Load 27(i2D)
+ 154: 29(ivec2) Load 153(ic2D)
+ 155: 136(fvec4) ImageRead 151 154
+ 156: 136(fvec4) Load 138(v)
+ 157: 136(fvec4) FAdd 156 155
+ Store 138(v) 157
+ 158: 25 Load 27(i2D)
+ 159: 29(ivec2) Load 153(ic2D)
+ 160: 136(fvec4) Load 138(v)
+ ImageWrite 158 159 160
+ 161: 39 Load 41(i3D)
+ 164: 7(ivec3) Load 163(ic3D)
+ 165: 136(fvec4) ImageRead 161 164
+ 166: 136(fvec4) Load 138(v)
+ 167: 136(fvec4) FAdd 166 165
+ Store 138(v) 167
+ 168: 39 Load 41(i3D)
+ 169: 7(ivec3) Load 163(ic3D)
+ 170: 136(fvec4) Load 138(v)
+ ImageWrite 168 169 170
+ 171: 46 Load 48(iCube)
+ 172: 7(ivec3) Load 163(ic3D)
+ 173: 136(fvec4) ImageRead 171 172
+ 174: 136(fvec4) Load 138(v)
+ 175: 136(fvec4) FAdd 174 173
+ Store 138(v) 175
+ 176: 46 Load 48(iCube)
+ 177: 7(ivec3) Load 163(ic3D)
+ 178: 136(fvec4) Load 138(v)
+ ImageWrite 176 177 178
+ 179: 58 Load 60(iCubeArray)
+ 180: 7(ivec3) Load 163(ic3D)
+ 181: 136(fvec4) ImageRead 179 180
+ 182: 136(fvec4) Load 138(v)
+ 183: 136(fvec4) FAdd 182 181
+ Store 138(v) 183
+ 184: 58 Load 60(iCubeArray)
+ 185: 7(ivec3) Load 163(ic3D)
+ 186: 136(fvec4) Load 138(v)
+ ImageWrite 184 185 186
+ 187: 65 Load 67(i2DRect)
+ 188: 29(ivec2) Load 153(ic2D)
+ 189: 136(fvec4) ImageRead 187 188
+ 190: 136(fvec4) Load 138(v)
+ 191: 136(fvec4) FAdd 190 189
+ Store 138(v) 191
+ 192: 65 Load 67(i2DRect)
+ 193: 29(ivec2) Load 153(ic2D)
+ 194: 136(fvec4) Load 138(v)
+ ImageWrite 192 193 194
+ 195: 77 Load 79(i1DArray)
+ 196: 29(ivec2) Load 153(ic2D)
+ 197: 136(fvec4) ImageRead 195 196
+ 198: 136(fvec4) Load 138(v)
+ 199: 136(fvec4) FAdd 198 197
+ Store 138(v) 199
+ 200: 77 Load 79(i1DArray)
+ 201: 29(ivec2) Load 153(ic2D)
+ 202: 136(fvec4) Load 138(v)
+ ImageWrite 200 201 202
+ 203: 89 Load 91(i2DArray)
+ 204: 7(ivec3) Load 163(ic3D)
+ 205: 136(fvec4) ImageRead 203 204
+ 206: 136(fvec4) Load 138(v)
+ 207: 136(fvec4) FAdd 206 205
+ Store 138(v) 207
+ 208: 89 Load 91(i2DArray)
+ 209: 7(ivec3) Load 163(ic3D)
+ 210: 136(fvec4) Load 138(v)
+ ImageWrite 208 209 210
+ 211: 96 Load 98(iBuffer)
+ 212: 6(int) Load 143(ic1D)
+ 213: 136(fvec4) ImageRead 211 212
+ 214: 136(fvec4) Load 138(v)
+ 215: 136(fvec4) FAdd 214 213
+ Store 138(v) 215
+ 216: 96 Load 98(iBuffer)
+ 217: 6(int) Load 143(ic1D)
+ 218: 136(fvec4) Load 138(v)
+ ImageWrite 216 217 218
+ 219: 105 Load 107(i2DMS)
+ 220: 29(ivec2) Load 153(ic2D)
+ 222: 136(fvec4) ImageRead 219 220 Sample 221
+ 223: 136(fvec4) Load 138(v)
+ 224: 136(fvec4) FAdd 223 222
+ Store 138(v) 224
+ 225: 105 Load 107(i2DMS)
+ 226: 29(ivec2) Load 153(ic2D)
+ 228: 136(fvec4) Load 138(v)
+ ImageWrite 225 226 228 Sample 227
+ 229: 117 Load 119(i2DMSArray)
+ 230: 7(ivec3) Load 163(ic3D)
+ 232: 136(fvec4) ImageRead 229 230 Sample 231
+ 233: 136(fvec4) Load 138(v)
+ 234: 136(fvec4) FAdd 233 232
+ Store 138(v) 234
+ 235: 117 Load 119(i2DMSArray)
+ 236: 7(ivec3) Load 163(ic3D)
+ 238: 136(fvec4) Load 138(v)
+ ImageWrite 235 236 238 Sample 237
+ Store 240(ui) 19
+ 244: 6(int) Load 143(ic1D)
+ 247: 246(ptr) ImageTexelPointer 243(ii1D) 244 19
+ 248: 6(int) AtomicIAdd 247 36 19 245
+ 249: 20(ptr) AccessChain 9(iv) 19
+ 250: 6(int) Load 249
+ 251: 6(int) IAdd 250 248
+ 252: 20(ptr) AccessChain 9(iv) 19
+ Store 252 251
+ 256: 29(ivec2) Load 153(ic2D)
+ 259: 18(int) Load 258(value)
+ 261: 260(ptr) ImageTexelPointer 255(ui2D) 256 19
+ 262: 18(int) AtomicIAdd 261 36 19 259
+ 263: 18(int) Load 240(ui)
+ 264: 18(int) IAdd 263 262
+ Store 240(ui) 264
+ 265: 6(int) Load 143(ic1D)
+ 267: 246(ptr) ImageTexelPointer 243(ii1D) 265 19
+ 268: 6(int) AtomicSMin 267 36 19 266
+ 269: 20(ptr) AccessChain 9(iv) 19
+ 270: 6(int) Load 269
+ 271: 6(int) IAdd 270 268
+ 272: 20(ptr) AccessChain 9(iv) 19
+ Store 272 271
+ 273: 29(ivec2) Load 153(ic2D)
+ 274: 18(int) Load 258(value)
+ 275: 260(ptr) ImageTexelPointer 255(ui2D) 273 19
+ 276: 18(int) AtomicUMin 275 36 19 274
+ 277: 18(int) Load 240(ui)
+ 278: 18(int) IAdd 277 276
+ Store 240(ui) 278
+ 279: 6(int) Load 143(ic1D)
+ 281: 246(ptr) ImageTexelPointer 243(ii1D) 279 19
+ 282: 6(int) AtomicSMax 281 36 19 280
+ 283: 20(ptr) AccessChain 9(iv) 19
+ 284: 6(int) Load 283
+ 285: 6(int) IAdd 284 282
+ 286: 20(ptr) AccessChain 9(iv) 19
+ Store 286 285
+ 287: 29(ivec2) Load 153(ic2D)
+ 288: 18(int) Load 258(value)
+ 289: 260(ptr) ImageTexelPointer 255(ui2D) 287 19
+ 290: 18(int) AtomicUMax 289 36 19 288
+ 291: 18(int) Load 240(ui)
+ 292: 18(int) IAdd 291 290
+ Store 240(ui) 292
+ 293: 6(int) Load 143(ic1D)
+ 295: 246(ptr) ImageTexelPointer 243(ii1D) 293 19
+ 296: 6(int) AtomicAnd 295 36 19 294
+ 297: 20(ptr) AccessChain 9(iv) 19
+ 298: 6(int) Load 297
+ 299: 6(int) IAdd 298 296
+ 300: 20(ptr) AccessChain 9(iv) 19
+ Store 300 299
+ 301: 29(ivec2) Load 153(ic2D)
+ 302: 18(int) Load 258(value)
+ 303: 260(ptr) ImageTexelPointer 255(ui2D) 301 19
+ 304: 18(int) AtomicAnd 303 36 19 302
+ 305: 18(int) Load 240(ui)
+ 306: 18(int) IAdd 305 304
+ Store 240(ui) 306
+ 307: 6(int) Load 143(ic1D)
+ 309: 246(ptr) ImageTexelPointer 243(ii1D) 307 19
+ 310: 6(int) AtomicOr 309 36 19 308
+ 311: 20(ptr) AccessChain 9(iv) 19
+ 312: 6(int) Load 311
+ 313: 6(int) IAdd 312 310
+ 314: 20(ptr) AccessChain 9(iv) 19
+ Store 314 313
+ 315: 29(ivec2) Load 153(ic2D)
+ 316: 18(int) Load 258(value)
+ 317: 260(ptr) ImageTexelPointer 255(ui2D) 315 19
+ 318: 18(int) AtomicOr 317 36 19 316
+ 319: 18(int) Load 240(ui)
+ 320: 18(int) IAdd 319 318
+ Store 240(ui) 320
+ 321: 6(int) Load 143(ic1D)
+ 323: 246(ptr) ImageTexelPointer 243(ii1D) 321 19
+ 324: 6(int) AtomicXor 323 36 19 322
+ 325: 20(ptr) AccessChain 9(iv) 19
+ 326: 6(int) Load 325
+ 327: 6(int) IAdd 326 324
+ 328: 20(ptr) AccessChain 9(iv) 19
+ Store 328 327
+ 329: 29(ivec2) Load 153(ic2D)
+ 330: 18(int) Load 258(value)
+ 331: 260(ptr) ImageTexelPointer 255(ui2D) 329 19
+ 332: 18(int) AtomicXor 331 36 19 330
+ 333: 18(int) Load 240(ui)
+ 334: 18(int) IAdd 333 332
+ Store 240(ui) 334
+ 335: 6(int) Load 143(ic1D)
+ 337: 246(ptr) ImageTexelPointer 243(ii1D) 335 19
+ 338: 6(int) AtomicExchange 337 36 19 336
+ 339: 20(ptr) AccessChain 9(iv) 19
+ 340: 6(int) Load 339
+ 341: 6(int) IAdd 340 338
+ 342: 20(ptr) AccessChain 9(iv) 19
+ Store 342 341
+ 343: 29(ivec2) Load 153(ic2D)
+ 344: 18(int) Load 258(value)
+ 345: 260(ptr) ImageTexelPointer 255(ui2D) 343 19
+ 346: 18(int) AtomicExchange 345 36 19 344
+ 347: 18(int) Load 240(ui)
+ 348: 18(int) IAdd 347 346
+ Store 240(ui) 348
+ 349: 6(int) Load 143(ic1D)
+ 352: 246(ptr) ImageTexelPointer 243(ii1D) 349 19
+ 353: 6(int) AtomicCompareExchange 352 36 19 19 351 350
+ 354: 20(ptr) AccessChain 9(iv) 19
+ 355: 6(int) Load 354
+ 356: 6(int) IAdd 355 353
+ 357: 20(ptr) AccessChain 9(iv) 19
+ Store 357 356
+ 358: 29(ivec2) Load 153(ic2D)
+ 360: 18(int) Load 258(value)
+ 361: 260(ptr) ImageTexelPointer 255(ui2D) 358 19
+ 362: 18(int) AtomicCompareExchange 361 36 19 19 360 359
+ 363: 18(int) Load 240(ui)
+ 364: 18(int) IAdd 363 362
+ Store 240(ui) 364
+ 368: 29(ivec2) Load 153(ic2D)
+ 369: 246(ptr) ImageTexelPointer 367(ii2DMS) 368 227
+ 370: 6(int) AtomicCompareExchange 369 36 19 19 351 350
+ 371: 20(ptr) AccessChain 9(iv) 19
+ 372: 6(int) Load 371
+ 373: 6(int) IAdd 372 370
+ 374: 20(ptr) AccessChain 9(iv) 19
+ Store 374 373
+ 378: 7(ivec3) Load 163(ic3D)
+ 379: 18(int) Load 258(value)
+ 380: 260(ptr) ImageTexelPointer 377(ui2DMSArray) 378 231
+ 381: 18(int) AtomicCompareExchange 380 36 19 19 379 359
+ 382: 18(int) Load 240(ui)
+ 383: 18(int) IAdd 382 381
+ Store 240(ui) 383
+ 387: 384 Load 386(wo2D)
+ 388: 29(ivec2) Load 153(ic2D)
+ 389: 136(fvec4) Load 138(v)
+ ImageWrite 387 388 389
+ 392: 18(int) Load 240(ui)
+ 393: 20(ptr) AccessChain 9(iv) 36
+ 394: 6(int) Load 393
+ 395: 18(int) Bitcast 394
+ 397: 396(bool) INotEqual 392 395
+ 398: 136(fvec4) Load 138(v)
+ 400: 399(bvec4) CompositeConstruct 397 397 397 397
+ 401: 136(fvec4) Select 400 398 140
+ Store 391(fragData) 401
Return
FunctionEnd
diff --git a/Test/baseResults/spv.int16.amd.frag.out b/Test/baseResults/spv.int16.amd.frag.out
index 50dbe6c..676d99c 100644
--- a/Test/baseResults/spv.int16.amd.frag.out
+++ b/Test/baseResults/spv.int16.amd.frag.out
@@ -1,7 +1,7 @@
spv.int16.amd.frag
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 560
+// Id's are bound by 576
Capability Shader
Capability Float16
@@ -14,7 +14,7 @@
Extension "SPV_KHR_16bit_storage"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 519 521
+ EntryPoint Fragment 4 "main" 535 537
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
SourceExtension "GL_AMD_gpu_shader_half_float"
@@ -54,66 +54,66 @@
Name 393 "f16v"
Name 396 "exp"
Name 397 "ResType"
- Name 418 "packi"
- Name 423 "packu"
- Name 432 "packi64"
- Name 441 "packu64"
- Name 450 "bv"
- Name 515 "Block"
- MemberName 515(Block) 0 "i16v"
- MemberName 515(Block) 1 "u16"
- Name 517 "block"
- Name 519 "iu16v"
- Name 521 "ii16"
- Name 522 "si64"
- Name 523 "su64"
- Name 524 "si"
- Name 525 "su"
- Name 526 "sb"
- Name 527 "si16"
- Name 528 "su16"
- Name 529 "i16_to_b"
- Name 530 "u16_to_b"
- Name 531 "b_to_i16"
- Name 532 "b_to_u16"
- Name 533 "i16_to_i"
- Name 535 "u16_to_i"
- Name 536 "i_to_i16"
- Name 538 "i_to_u16"
- Name 540 "i16_to_u"
- Name 541 "u16_to_u"
- Name 543 "u_to_i16"
- Name 544 "u_to_u16"
- Name 545 "i16_to_i64"
- Name 548 "u16_to_i64"
- Name 549 "i64_to_i16"
- Name 551 "i64_to_u16"
- Name 553 "i16_to_u64"
- Name 554 "u16_to_u64"
- Name 556 "u64_to_i16"
- Name 557 "u64_to_u16"
- Name 558 "i16_to_u16"
- Name 559 "u16_to_i16"
+ Name 420 "packi"
+ Name 425 "packu"
+ Name 436 "packi64"
+ Name 445 "packu64"
+ Name 454 "bv"
+ Name 531 "Block"
+ MemberName 531(Block) 0 "i16v"
+ MemberName 531(Block) 1 "u16"
+ Name 533 "block"
+ Name 535 "iu16v"
+ Name 537 "ii16"
+ Name 538 "si64"
+ Name 539 "su64"
+ Name 540 "si"
+ Name 541 "su"
+ Name 542 "sb"
+ Name 543 "si16"
+ Name 544 "su16"
+ Name 545 "i16_to_b"
+ Name 546 "u16_to_b"
+ Name 547 "b_to_i16"
+ Name 548 "b_to_u16"
+ Name 549 "i16_to_i"
+ Name 551 "u16_to_i"
+ Name 552 "i_to_i16"
+ Name 554 "i_to_u16"
+ Name 556 "i16_to_u"
+ Name 557 "u16_to_u"
+ Name 559 "u_to_i16"
+ Name 560 "u_to_u16"
+ Name 561 "i16_to_i64"
+ Name 564 "u16_to_i64"
+ Name 565 "i64_to_i16"
+ Name 567 "i64_to_u16"
+ Name 569 "i16_to_u64"
+ Name 570 "u16_to_u64"
+ Name 572 "u64_to_i16"
+ Name 573 "u64_to_u16"
+ Name 574 "i16_to_u16"
+ Name 575 "u16_to_i16"
MemberDecorate 25(Uniforms) 0 Offset 0
Decorate 25(Uniforms) Block
Decorate 27 DescriptorSet 0
Decorate 27 Binding 0
- MemberDecorate 515(Block) 0 Offset 0
- MemberDecorate 515(Block) 1 Offset 6
- Decorate 515(Block) Block
- Decorate 517(block) DescriptorSet 0
- Decorate 517(block) Binding 1
- Decorate 519(iu16v) Flat
- Decorate 519(iu16v) Location 0
- Decorate 521(ii16) Flat
- Decorate 521(ii16) Location 1
- Decorate 522(si64) SpecId 100
- Decorate 523(su64) SpecId 101
- Decorate 524(si) SpecId 102
- Decorate 525(su) SpecId 103
- Decorate 526(sb) SpecId 104
- Decorate 527(si16) SpecId 105
- Decorate 528(su16) SpecId 106
+ MemberDecorate 531(Block) 0 Offset 0
+ MemberDecorate 531(Block) 1 Offset 6
+ Decorate 531(Block) Block
+ Decorate 533(block) DescriptorSet 0
+ Decorate 533(block) Binding 1
+ Decorate 535(iu16v) Flat
+ Decorate 535(iu16v) Location 0
+ Decorate 537(ii16) Flat
+ Decorate 537(ii16) Location 1
+ Decorate 538(si64) SpecId 100
+ Decorate 539(su64) SpecId 101
+ Decorate 540(si) SpecId 102
+ Decorate 541(su) SpecId 103
+ Decorate 542(sb) SpecId 104
+ Decorate 543(si16) SpecId 105
+ Decorate 544(su16) SpecId 106
2: TypeVoid
3: TypeFunction 2
14: TypeInt 16 0
@@ -194,62 +194,62 @@
395: TypePointer Function 54(i16vec3)
397(ResType): TypeStruct 391(f16vec3) 54(i16vec3)
407: TypePointer Function 261(float16_t)
- 431: TypePointer Function 273(int64_t)
- 434: TypeVector 17(int16_t) 4
- 440: TypePointer Function 285(int64_t)
- 443: TypeVector 14(int16_t) 4
- 449: TypePointer Function 388(bvec3)
- 515(Block): TypeStruct 54(i16vec3) 14(int16_t)
- 516: TypePointer Uniform 515(Block)
- 517(block): 516(ptr) Variable Uniform
- 518: TypePointer Input 49(i16vec3)
- 519(iu16v): 518(ptr) Variable Input
- 520: TypePointer Input 17(int16_t)
- 521(ii16): 520(ptr) Variable Input
- 522(si64):273(int64_t) SpecConstant 4294967286 4294967295
- 523(su64):285(int64_t) SpecConstant 20 0
- 524(si): 28(int) SpecConstant 4294967291
- 525(su): 18(int) SpecConstant 4
- 526(sb): 125(bool) SpecConstantTrue
- 527(si16): 17(int16_t) SpecConstant 4294967291
- 528(su16): 14(int16_t) SpecConstant 4
- 529(i16_to_b): 125(bool) SpecConstantOp 171 527(si16) 202
- 530(u16_to_b): 125(bool) SpecConstantOp 171 528(su16) 202
- 531(b_to_i16): 17(int16_t) SpecConstantOp 169 526(sb) 53 194
- 532(b_to_u16): 14(int16_t) SpecConstantOp 169 526(sb) 203 202
- 533(i16_to_i): 28(int) SpecConstantOp 114 527(si16)
- 534: 18(int) SpecConstantOp 113 528(su16)
- 535(u16_to_i): 28(int) SpecConstantOp 128 534 128
- 536(i_to_i16): 17(int16_t) SpecConstantOp 114 524(si)
- 537: 17(int16_t) SpecConstantOp 114 524(si)
- 538(i_to_u16): 14(int16_t) SpecConstantOp 128 537 202
- 539: 28(int) SpecConstantOp 114 527(si16)
- 540(i16_to_u): 18(int) SpecConstantOp 128 539 128
- 541(u16_to_u): 18(int) SpecConstantOp 113 528(su16)
- 542: 14(int16_t) SpecConstantOp 113 525(su)
- 543(u_to_i16): 17(int16_t) SpecConstantOp 128 542 202
- 544(u_to_u16): 14(int16_t) SpecConstantOp 113 525(su)
- 545(i16_to_i64):273(int64_t) SpecConstantOp 114 527(si16)
- 546:285(int64_t) SpecConstantOp 113 528(su16)
- 547:285(int64_t) Constant 0 0
- 548(u16_to_i64):273(int64_t) SpecConstantOp 128 546 547
- 549(i64_to_i16): 17(int16_t) SpecConstantOp 114 522(si64)
- 550: 17(int16_t) SpecConstantOp 114 522(si64)
- 551(i64_to_u16): 14(int16_t) SpecConstantOp 128 550 202
- 552:273(int64_t) SpecConstantOp 114 527(si16)
- 553(i16_to_u64):285(int64_t) SpecConstantOp 128 552 547
- 554(u16_to_u64):285(int64_t) SpecConstantOp 113 528(su16)
- 555: 14(int16_t) SpecConstantOp 113 523(su64)
- 556(u64_to_i16): 17(int16_t) SpecConstantOp 128 555 202
- 557(u64_to_u16): 14(int16_t) SpecConstantOp 113 523(su64)
- 558(i16_to_u16): 14(int16_t) SpecConstantOp 128 527(si16) 202
- 559(u16_to_i16): 17(int16_t) SpecConstantOp 128 528(su16) 202
+ 435: TypePointer Function 273(int64_t)
+ 438: TypeVector 17(int16_t) 4
+ 444: TypePointer Function 285(int64_t)
+ 447: TypeVector 14(int16_t) 4
+ 453: TypePointer Function 388(bvec3)
+ 531(Block): TypeStruct 54(i16vec3) 14(int16_t)
+ 532: TypePointer Uniform 531(Block)
+ 533(block): 532(ptr) Variable Uniform
+ 534: TypePointer Input 49(i16vec3)
+ 535(iu16v): 534(ptr) Variable Input
+ 536: TypePointer Input 17(int16_t)
+ 537(ii16): 536(ptr) Variable Input
+ 538(si64):273(int64_t) SpecConstant 4294967286 4294967295
+ 539(su64):285(int64_t) SpecConstant 20 0
+ 540(si): 28(int) SpecConstant 4294967291
+ 541(su): 18(int) SpecConstant 4
+ 542(sb): 125(bool) SpecConstantTrue
+ 543(si16): 17(int16_t) SpecConstant 4294967291
+ 544(su16): 14(int16_t) SpecConstant 4
+ 545(i16_to_b): 125(bool) SpecConstantOp 171 543(si16) 202
+ 546(u16_to_b): 125(bool) SpecConstantOp 171 544(su16) 202
+ 547(b_to_i16): 17(int16_t) SpecConstantOp 169 542(sb) 53 194
+ 548(b_to_u16): 14(int16_t) SpecConstantOp 169 542(sb) 203 202
+ 549(i16_to_i): 28(int) SpecConstantOp 114 543(si16)
+ 550: 18(int) SpecConstantOp 113 544(su16)
+ 551(u16_to_i): 28(int) SpecConstantOp 128 550 128
+ 552(i_to_i16): 17(int16_t) SpecConstantOp 114 540(si)
+ 553: 17(int16_t) SpecConstantOp 114 540(si)
+ 554(i_to_u16): 14(int16_t) SpecConstantOp 128 553 202
+ 555: 28(int) SpecConstantOp 114 543(si16)
+ 556(i16_to_u): 18(int) SpecConstantOp 128 555 128
+ 557(u16_to_u): 18(int) SpecConstantOp 113 544(su16)
+ 558: 14(int16_t) SpecConstantOp 113 541(su)
+ 559(u_to_i16): 17(int16_t) SpecConstantOp 128 558 202
+ 560(u_to_u16): 14(int16_t) SpecConstantOp 113 541(su)
+ 561(i16_to_i64):273(int64_t) SpecConstantOp 114 543(si16)
+ 562:285(int64_t) SpecConstantOp 113 544(su16)
+ 563:285(int64_t) Constant 0 0
+ 564(u16_to_i64):273(int64_t) SpecConstantOp 128 562 563
+ 565(i64_to_i16): 17(int16_t) SpecConstantOp 114 538(si64)
+ 566: 17(int16_t) SpecConstantOp 114 538(si64)
+ 567(i64_to_u16): 14(int16_t) SpecConstantOp 128 566 202
+ 568:273(int64_t) SpecConstantOp 114 543(si16)
+ 569(i16_to_u64):285(int64_t) SpecConstantOp 128 568 563
+ 570(u16_to_u64):285(int64_t) SpecConstantOp 113 544(su16)
+ 571: 14(int16_t) SpecConstantOp 113 539(su64)
+ 572(u64_to_i16): 17(int16_t) SpecConstantOp 128 571 202
+ 573(u64_to_u16): 14(int16_t) SpecConstantOp 113 539(su64)
+ 574(i16_to_u16): 14(int16_t) SpecConstantOp 128 543(si16) 202
+ 575(u16_to_i16): 17(int16_t) SpecConstantOp 128 544(su16) 202
4(main): 2 Function None 3
5: Label
- 511: 2 FunctionCall 6(literal()
- 512: 2 FunctionCall 8(operators()
- 513: 2 FunctionCall 10(typeCast()
- 514: 2 FunctionCall 12(builtinFuncs()
+ 527: 2 FunctionCall 6(literal()
+ 528: 2 FunctionCall 8(operators()
+ 529: 2 FunctionCall 10(typeCast()
+ 530: 2 FunctionCall 12(builtinFuncs()
Return
FunctionEnd
6(literal(): 2 Function None 3
@@ -568,11 +568,11 @@
321(u16): 15(ptr) Variable Function
393(f16v): 392(ptr) Variable Function
396(exp): 395(ptr) Variable Function
- 418(packi): 158(ptr) Variable Function
- 423(packu): 147(ptr) Variable Function
- 432(packi64): 431(ptr) Variable Function
- 441(packu64): 440(ptr) Variable Function
- 450(bv): 449(ptr) Variable Function
+ 420(packi): 158(ptr) Variable Function
+ 425(packu): 147(ptr) Variable Function
+ 436(packi64): 435(ptr) Variable Function
+ 445(packu64): 444(ptr) Variable Function
+ 454(bv): 453(ptr) Variable Function
306:187(i16vec2) Load 305(i16v)
307:187(i16vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 306
Store 305(i16v) 307
@@ -686,114 +686,138 @@
Store 411 410
412:187(i16vec2) Load 305(i16v)
413:262(f16vec2) Bitcast 412
- 414:391(f16vec3) Load 393(f16v)
- 415:391(f16vec3) VectorShuffle 414 413 3 4 2
- Store 393(f16v) 415
- 416: 49(i16vec3) Load 319(u16v)
- 417:391(f16vec3) Bitcast 416
- Store 393(f16v) 417
- 419:187(i16vec2) Load 305(i16v)
- 420: 28(int) Bitcast 419
- Store 418(packi) 420
- 421: 28(int) Load 418(packi)
- 422:187(i16vec2) Bitcast 421
- Store 305(i16v) 422
- 424: 49(i16vec3) Load 319(u16v)
- 425:198(i16vec2) VectorShuffle 424 424 0 1
- 426: 18(int) Bitcast 425
- Store 423(packu) 426
- 427: 18(int) Load 423(packu)
- 428:198(i16vec2) Bitcast 427
- 429: 49(i16vec3) Load 319(u16v)
- 430: 49(i16vec3) VectorShuffle 429 428 3 4 2
- Store 319(u16v) 430
- 433: 17(int16_t) Load 311(i16)
- 435:434(i16vec4) CompositeConstruct 433 433 433 433
- 436:273(int64_t) Bitcast 435
- Store 432(packi64) 436
- 437:273(int64_t) Load 432(packi64)
- 438:434(i16vec4) Bitcast 437
- 439:187(i16vec2) VectorShuffle 438 438 0 1
- Store 305(i16v) 439
- 442: 14(int16_t) Load 321(u16)
- 444:443(i16vec4) CompositeConstruct 442 442 442 442
- 445:285(int64_t) Bitcast 444
- Store 441(packu64) 445
- 446:285(int64_t) Load 441(packu64)
- 447:443(i16vec4) Bitcast 446
- 448: 49(i16vec3) VectorShuffle 447 447 0 1 2
- Store 319(u16v) 448
- 451: 49(i16vec3) Load 319(u16v)
- 452: 14(int16_t) Load 321(u16)
- 453: 49(i16vec3) CompositeConstruct 452 452 452
- 454: 388(bvec3) ULessThan 451 453
- Store 450(bv) 454
- 455:187(i16vec2) Load 305(i16v)
- 456: 17(int16_t) Load 311(i16)
- 457:187(i16vec2) CompositeConstruct 456 456
- 458: 190(bvec2) SLessThan 455 457
- 459: 388(bvec3) Load 450(bv)
- 460: 388(bvec3) VectorShuffle 459 458 3 4 2
- Store 450(bv) 460
- 461: 49(i16vec3) Load 319(u16v)
- 462: 14(int16_t) Load 321(u16)
- 463: 49(i16vec3) CompositeConstruct 462 462 462
- 464: 388(bvec3) ULessThanEqual 461 463
- Store 450(bv) 464
- 465:187(i16vec2) Load 305(i16v)
- 466: 17(int16_t) Load 311(i16)
- 467:187(i16vec2) CompositeConstruct 466 466
- 468: 190(bvec2) SLessThanEqual 465 467
- 469: 388(bvec3) Load 450(bv)
- 470: 388(bvec3) VectorShuffle 469 468 3 4 2
- Store 450(bv) 470
- 471: 49(i16vec3) Load 319(u16v)
- 472: 14(int16_t) Load 321(u16)
- 473: 49(i16vec3) CompositeConstruct 472 472 472
- 474: 388(bvec3) UGreaterThan 471 473
- Store 450(bv) 474
- 475:187(i16vec2) Load 305(i16v)
- 476: 17(int16_t) Load 311(i16)
- 477:187(i16vec2) CompositeConstruct 476 476
- 478: 190(bvec2) SGreaterThan 475 477
- 479: 388(bvec3) Load 450(bv)
- 480: 388(bvec3) VectorShuffle 479 478 3 4 2
- Store 450(bv) 480
- 481: 49(i16vec3) Load 319(u16v)
- 482: 14(int16_t) Load 321(u16)
- 483: 49(i16vec3) CompositeConstruct 482 482 482
- 484: 388(bvec3) UGreaterThanEqual 481 483
- Store 450(bv) 484
- 485:187(i16vec2) Load 305(i16v)
- 486: 17(int16_t) Load 311(i16)
- 487:187(i16vec2) CompositeConstruct 486 486
- 488: 190(bvec2) SGreaterThanEqual 485 487
- 489: 388(bvec3) Load 450(bv)
- 490: 388(bvec3) VectorShuffle 489 488 3 4 2
- Store 450(bv) 490
+ 414: 407(ptr) AccessChain 393(f16v) 128
+ 415:261(float16_t) CompositeExtract 413 0
+ Store 414 415
+ 416: 407(ptr) AccessChain 393(f16v) 111
+ 417:261(float16_t) CompositeExtract 413 1
+ Store 416 417
+ 418: 49(i16vec3) Load 319(u16v)
+ 419:391(f16vec3) Bitcast 418
+ Store 393(f16v) 419
+ 421:187(i16vec2) Load 305(i16v)
+ 422: 28(int) Bitcast 421
+ Store 420(packi) 422
+ 423: 28(int) Load 420(packi)
+ 424:187(i16vec2) Bitcast 423
+ Store 305(i16v) 424
+ 426: 49(i16vec3) Load 319(u16v)
+ 427:198(i16vec2) VectorShuffle 426 426 0 1
+ 428: 18(int) Bitcast 427
+ Store 425(packu) 428
+ 429: 18(int) Load 425(packu)
+ 430:198(i16vec2) Bitcast 429
+ 431: 15(ptr) AccessChain 319(u16v) 128
+ 432: 14(int16_t) CompositeExtract 430 0
+ Store 431 432
+ 433: 15(ptr) AccessChain 319(u16v) 111
+ 434: 14(int16_t) CompositeExtract 430 1
+ Store 433 434
+ 437: 17(int16_t) Load 311(i16)
+ 439:438(i16vec4) CompositeConstruct 437 437 437 437
+ 440:273(int64_t) Bitcast 439
+ Store 436(packi64) 440
+ 441:273(int64_t) Load 436(packi64)
+ 442:438(i16vec4) Bitcast 441
+ 443:187(i16vec2) VectorShuffle 442 442 0 1
+ Store 305(i16v) 443
+ 446: 14(int16_t) Load 321(u16)
+ 448:447(i16vec4) CompositeConstruct 446 446 446 446
+ 449:285(int64_t) Bitcast 448
+ Store 445(packu64) 449
+ 450:285(int64_t) Load 445(packu64)
+ 451:447(i16vec4) Bitcast 450
+ 452: 49(i16vec3) VectorShuffle 451 451 0 1 2
+ Store 319(u16v) 452
+ 455: 49(i16vec3) Load 319(u16v)
+ 456: 14(int16_t) Load 321(u16)
+ 457: 49(i16vec3) CompositeConstruct 456 456 456
+ 458: 388(bvec3) ULessThan 455 457
+ Store 454(bv) 458
+ 459:187(i16vec2) Load 305(i16v)
+ 460: 17(int16_t) Load 311(i16)
+ 461:187(i16vec2) CompositeConstruct 460 460
+ 462: 190(bvec2) SLessThan 459 461
+ 463: 126(ptr) AccessChain 454(bv) 128
+ 464: 125(bool) CompositeExtract 462 0
+ Store 463 464
+ 465: 126(ptr) AccessChain 454(bv) 111
+ 466: 125(bool) CompositeExtract 462 1
+ Store 465 466
+ 467: 49(i16vec3) Load 319(u16v)
+ 468: 14(int16_t) Load 321(u16)
+ 469: 49(i16vec3) CompositeConstruct 468 468 468
+ 470: 388(bvec3) ULessThanEqual 467 469
+ Store 454(bv) 470
+ 471:187(i16vec2) Load 305(i16v)
+ 472: 17(int16_t) Load 311(i16)
+ 473:187(i16vec2) CompositeConstruct 472 472
+ 474: 190(bvec2) SLessThanEqual 471 473
+ 475: 126(ptr) AccessChain 454(bv) 128
+ 476: 125(bool) CompositeExtract 474 0
+ Store 475 476
+ 477: 126(ptr) AccessChain 454(bv) 111
+ 478: 125(bool) CompositeExtract 474 1
+ Store 477 478
+ 479: 49(i16vec3) Load 319(u16v)
+ 480: 14(int16_t) Load 321(u16)
+ 481: 49(i16vec3) CompositeConstruct 480 480 480
+ 482: 388(bvec3) UGreaterThan 479 481
+ Store 454(bv) 482
+ 483:187(i16vec2) Load 305(i16v)
+ 484: 17(int16_t) Load 311(i16)
+ 485:187(i16vec2) CompositeConstruct 484 484
+ 486: 190(bvec2) SGreaterThan 483 485
+ 487: 126(ptr) AccessChain 454(bv) 128
+ 488: 125(bool) CompositeExtract 486 0
+ Store 487 488
+ 489: 126(ptr) AccessChain 454(bv) 111
+ 490: 125(bool) CompositeExtract 486 1
+ Store 489 490
491: 49(i16vec3) Load 319(u16v)
492: 14(int16_t) Load 321(u16)
493: 49(i16vec3) CompositeConstruct 492 492 492
- 494: 388(bvec3) IEqual 491 493
- Store 450(bv) 494
+ 494: 388(bvec3) UGreaterThanEqual 491 493
+ Store 454(bv) 494
495:187(i16vec2) Load 305(i16v)
496: 17(int16_t) Load 311(i16)
497:187(i16vec2) CompositeConstruct 496 496
- 498: 190(bvec2) IEqual 495 497
- 499: 388(bvec3) Load 450(bv)
- 500: 388(bvec3) VectorShuffle 499 498 3 4 2
- Store 450(bv) 500
- 501: 49(i16vec3) Load 319(u16v)
- 502: 14(int16_t) Load 321(u16)
- 503: 49(i16vec3) CompositeConstruct 502 502 502
- 504: 388(bvec3) INotEqual 501 503
- Store 450(bv) 504
- 505:187(i16vec2) Load 305(i16v)
- 506: 17(int16_t) Load 311(i16)
- 507:187(i16vec2) CompositeConstruct 506 506
- 508: 190(bvec2) INotEqual 505 507
- 509: 388(bvec3) Load 450(bv)
- 510: 388(bvec3) VectorShuffle 509 508 3 4 2
- Store 450(bv) 510
+ 498: 190(bvec2) SGreaterThanEqual 495 497
+ 499: 126(ptr) AccessChain 454(bv) 128
+ 500: 125(bool) CompositeExtract 498 0
+ Store 499 500
+ 501: 126(ptr) AccessChain 454(bv) 111
+ 502: 125(bool) CompositeExtract 498 1
+ Store 501 502
+ 503: 49(i16vec3) Load 319(u16v)
+ 504: 14(int16_t) Load 321(u16)
+ 505: 49(i16vec3) CompositeConstruct 504 504 504
+ 506: 388(bvec3) IEqual 503 505
+ Store 454(bv) 506
+ 507:187(i16vec2) Load 305(i16v)
+ 508: 17(int16_t) Load 311(i16)
+ 509:187(i16vec2) CompositeConstruct 508 508
+ 510: 190(bvec2) IEqual 507 509
+ 511: 126(ptr) AccessChain 454(bv) 128
+ 512: 125(bool) CompositeExtract 510 0
+ Store 511 512
+ 513: 126(ptr) AccessChain 454(bv) 111
+ 514: 125(bool) CompositeExtract 510 1
+ Store 513 514
+ 515: 49(i16vec3) Load 319(u16v)
+ 516: 14(int16_t) Load 321(u16)
+ 517: 49(i16vec3) CompositeConstruct 516 516 516
+ 518: 388(bvec3) INotEqual 515 517
+ Store 454(bv) 518
+ 519:187(i16vec2) Load 305(i16v)
+ 520: 17(int16_t) Load 311(i16)
+ 521:187(i16vec2) CompositeConstruct 520 520
+ 522: 190(bvec2) INotEqual 519 521
+ 523: 126(ptr) AccessChain 454(bv) 128
+ 524: 125(bool) CompositeExtract 522 0
+ Store 523 524
+ 525: 126(ptr) AccessChain 454(bv) 111
+ 526: 125(bool) CompositeExtract 522 1
+ Store 525 526
Return
FunctionEnd
diff --git a/Test/baseResults/spv.int16.frag.out b/Test/baseResults/spv.int16.frag.out
index b58e718..3e10a7d 100644
--- a/Test/baseResults/spv.int16.frag.out
+++ b/Test/baseResults/spv.int16.frag.out
@@ -1,7 +1,7 @@
spv.int16.frag
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 523
+// Id's are bound by 549
Capability Shader
Capability Float16
@@ -48,53 +48,55 @@
Name 154 "i8v"
Name 163 "u8v"
Name 176 "bv"
- Name 195 "u16v"
- Name 200 "i16"
- Name 220 "i"
- Name 227 "uv"
- Name 243 "i64"
- Name 281 "b"
- Name 343 "i16v"
- Name 346 "i16"
- Name 356 "u16v"
- Name 358 "u16"
- Name 428 "i32"
- Name 431 "i64"
- Name 434 "i16v4"
- Name 437 "u32"
- Name 438 "u16v2"
- Name 442 "u64"
- Name 445 "u16v4"
- Name 457 "bv"
- Name 518 "Block"
- MemberName 518(Block) 0 "i16"
- MemberName 518(Block) 1 "i16v2"
- MemberName 518(Block) 2 "i16v3"
- MemberName 518(Block) 3 "i16v4"
- MemberName 518(Block) 4 "u16"
- MemberName 518(Block) 5 "u16v2"
- MemberName 518(Block) 6 "u16v3"
- MemberName 518(Block) 7 "u16v4"
- Name 520 "block"
- Name 521 "si16"
- Name 522 "su16"
+ Name 196 "arr"
+ Name 204 "u16v"
+ Name 209 "i16"
+ Name 229 "i"
+ Name 236 "uv"
+ Name 252 "i64"
+ Name 290 "b"
+ Name 353 "f"
+ Name 357 "i16v"
+ Name 360 "i16"
+ Name 370 "u16v"
+ Name 372 "u16"
+ Name 442 "i32"
+ Name 445 "i64"
+ Name 448 "i16v4"
+ Name 451 "u32"
+ Name 452 "u16v2"
+ Name 456 "u64"
+ Name 459 "u16v4"
+ Name 471 "bv"
+ Name 544 "Block"
+ MemberName 544(Block) 0 "i16"
+ MemberName 544(Block) 1 "i16v2"
+ MemberName 544(Block) 2 "i16v3"
+ MemberName 544(Block) 3 "i16v4"
+ MemberName 544(Block) 4 "u16"
+ MemberName 544(Block) 5 "u16v2"
+ MemberName 544(Block) 6 "u16v3"
+ MemberName 544(Block) 7 "u16v4"
+ Name 546 "block"
+ Name 547 "si16"
+ Name 548 "su16"
MemberDecorate 24(Uniforms) 0 Offset 0
Decorate 24(Uniforms) Block
Decorate 26 DescriptorSet 0
Decorate 26 Binding 0
- MemberDecorate 518(Block) 0 Offset 0
- MemberDecorate 518(Block) 1 Offset 4
- MemberDecorate 518(Block) 2 Offset 8
- MemberDecorate 518(Block) 3 Offset 16
- MemberDecorate 518(Block) 4 Offset 24
- MemberDecorate 518(Block) 5 Offset 28
- MemberDecorate 518(Block) 6 Offset 32
- MemberDecorate 518(Block) 7 Offset 40
- Decorate 518(Block) Block
- Decorate 520(block) DescriptorSet 0
- Decorate 520(block) Binding 1
- Decorate 521(si16) SpecId 100
- Decorate 522(su16) SpecId 101
+ MemberDecorate 544(Block) 0 Offset 0
+ MemberDecorate 544(Block) 1 Offset 4
+ MemberDecorate 544(Block) 2 Offset 8
+ MemberDecorate 544(Block) 3 Offset 16
+ MemberDecorate 544(Block) 4 Offset 24
+ MemberDecorate 544(Block) 5 Offset 28
+ MemberDecorate 544(Block) 6 Offset 32
+ MemberDecorate 544(Block) 7 Offset 40
+ Decorate 544(Block) Block
+ Decorate 546(block) DescriptorSet 0
+ Decorate 546(block) Binding 1
+ Decorate 547(si16) SpecId 100
+ Decorate 548(su16) SpecId 101
2: TypeVoid
3: TypeFunction 2
14: TypeInt 16 1
@@ -160,37 +162,46 @@
185: 36(int16_t) Constant 1
186: 57(i16vec2) ConstantComposite 184 184
187: 57(i16vec2) ConstantComposite 185 185
- 193: TypeVector 36(int16_t) 3
- 194: TypePointer Function 193(i16vec3)
- 197: TypeVector 14(int16_t) 3
- 219: TypePointer Function 27(int)
- 225: TypeVector 17(int) 3
- 226: TypePointer Function 225(ivec3)
- 242: TypePointer Function 71(int64_t)
- 264: 17(int) Constant 1
- 270: 17(int) Constant 2
- 276: TypeVector 27(int) 3
- 280: TypePointer Function 173(bool)
- 282: 17(int) Constant 0
- 296: TypePointer Function 17(int)
- 354: 52(i16vec2) ConstantComposite 21 21
- 363:193(i16vec3) ConstantComposite 184 184 184
- 405: 173(bool) ConstantTrue
- 412: 173(bool) ConstantFalse
- 413: 174(bvec2) ConstantComposite 412 412
- 425: TypeVector 173(bool) 3
- 426: 425(bvec3) ConstantComposite 412 412 412
- 432: TypeVector 14(int16_t) 4
- 433: TypePointer Function 432(i16vec4)
- 441: TypePointer Function 77(int64_t)
- 443: TypeVector 36(int16_t) 4
- 444: TypePointer Function 443(i16vec4)
- 456: TypePointer Function 425(bvec3)
- 518(Block): TypeStruct 14(int16_t) 52(i16vec2) 197(i16vec3) 432(i16vec4) 36(int16_t) 57(i16vec2) 193(i16vec3) 443(i16vec4)
- 519: TypePointer Uniform 518(Block)
- 520(block): 519(ptr) Variable Uniform
- 521(si16): 14(int16_t) SpecConstant 4294967286
- 522(su16): 36(int16_t) SpecConstant 20
+ 193: 17(int) Constant 4
+ 194: TypeArray 97(float) 193
+ 195: TypePointer Function 194
+ 197: 97(float) Constant 1065353216
+ 198: 97(float) Constant 1073741824
+ 199: 97(float) Constant 1077936128
+ 200: 97(float) Constant 1082130432
+ 201: 194 ConstantComposite 197 198 199 200
+ 202: TypeVector 36(int16_t) 3
+ 203: TypePointer Function 202(i16vec3)
+ 206: TypeVector 14(int16_t) 3
+ 228: TypePointer Function 27(int)
+ 234: TypeVector 17(int) 3
+ 235: TypePointer Function 234(ivec3)
+ 251: TypePointer Function 71(int64_t)
+ 273: 17(int) Constant 1
+ 279: 17(int) Constant 2
+ 285: TypeVector 27(int) 3
+ 289: TypePointer Function 173(bool)
+ 291: 17(int) Constant 0
+ 305: TypePointer Function 17(int)
+ 352: TypePointer Function 97(float)
+ 368: 52(i16vec2) ConstantComposite 21 21
+ 377:202(i16vec3) ConstantComposite 184 184 184
+ 419: 173(bool) ConstantTrue
+ 426: 173(bool) ConstantFalse
+ 427: 174(bvec2) ConstantComposite 426 426
+ 439: TypeVector 173(bool) 3
+ 440: 439(bvec3) ConstantComposite 426 426 426
+ 446: TypeVector 14(int16_t) 4
+ 447: TypePointer Function 446(i16vec4)
+ 455: TypePointer Function 77(int64_t)
+ 457: TypeVector 36(int16_t) 4
+ 458: TypePointer Function 457(i16vec4)
+ 470: TypePointer Function 439(bvec3)
+ 544(Block): TypeStruct 14(int16_t) 52(i16vec2) 206(i16vec3) 446(i16vec4) 36(int16_t) 57(i16vec2) 202(i16vec3) 457(i16vec4)
+ 545: TypePointer Uniform 544(Block)
+ 546(block): 545(ptr) Variable Uniform
+ 547(si16): 14(int16_t) SpecConstant 4294967286
+ 548(su16): 36(int16_t) SpecConstant 20
4(main): 2 Function None 3
5: Label
Return
@@ -364,379 +375,404 @@
FunctionEnd
10(operators(): 2 Function None 3
11: Label
- 195(u16v): 194(ptr) Variable Function
- 200(i16): 15(ptr) Variable Function
- 220(i): 219(ptr) Variable Function
- 227(uv): 226(ptr) Variable Function
- 243(i64): 242(ptr) Variable Function
- 281(b): 280(ptr) Variable Function
- 196:193(i16vec3) Load 195(u16v)
- 198:197(i16vec3) CompositeConstruct 179 179 179
- 199:193(i16vec3) IAdd 196 198
- Store 195(u16v) 199
- 201: 14(int16_t) Load 200(i16)
- 202: 14(int16_t) ISub 201 179
- Store 200(i16) 202
- 203: 14(int16_t) Load 200(i16)
- 204: 14(int16_t) IAdd 203 179
- Store 200(i16) 204
- 205:193(i16vec3) Load 195(u16v)
- 206:197(i16vec3) CompositeConstruct 179 179 179
- 207:193(i16vec3) ISub 205 206
- Store 195(u16v) 207
- 208:193(i16vec3) Load 195(u16v)
- 209:193(i16vec3) Not 208
- Store 195(u16v) 209
- 210: 14(int16_t) Load 200(i16)
- Store 200(i16) 210
- 211:193(i16vec3) Load 195(u16v)
- 212:193(i16vec3) SNegate 211
- Store 195(u16v) 212
- 213: 14(int16_t) Load 200(i16)
- 214: 14(int16_t) Load 200(i16)
- 215: 14(int16_t) IAdd 214 213
- Store 200(i16) 215
- 216:193(i16vec3) Load 195(u16v)
- 217:193(i16vec3) Load 195(u16v)
- 218:193(i16vec3) ISub 217 216
- Store 195(u16v) 218
- 221: 14(int16_t) Load 200(i16)
- 222: 27(int) SConvert 221
- 223: 27(int) Load 220(i)
- 224: 27(int) IMul 223 222
- Store 220(i) 224
- 228:193(i16vec3) Load 195(u16v)
- 229: 225(ivec3) UConvert 228
- 230: 225(ivec3) Load 227(uv)
- 231: 225(ivec3) UDiv 230 229
- Store 227(uv) 231
- 232: 14(int16_t) Load 200(i16)
- 233: 27(int) SConvert 232
- 234: 17(int) Bitcast 233
- 235: 225(ivec3) Load 227(uv)
- 236: 225(ivec3) CompositeConstruct 234 234 234
- 237: 225(ivec3) UMod 235 236
- Store 227(uv) 237
- 238:193(i16vec3) Load 195(u16v)
- 239: 225(ivec3) UConvert 238
- 240: 225(ivec3) Load 227(uv)
- 241: 225(ivec3) IAdd 239 240
- Store 227(uv) 241
- 244: 14(int16_t) Load 200(i16)
- 245: 71(int64_t) SConvert 244
- 246: 71(int64_t) Load 243(i64)
- 247: 71(int64_t) ISub 245 246
- Store 243(i64) 247
- 248:193(i16vec3) Load 195(u16v)
- 249: 225(ivec3) UConvert 248
- 250: 225(ivec3) Load 227(uv)
- 251: 225(ivec3) IMul 249 250
- Store 227(uv) 251
- 252: 14(int16_t) Load 200(i16)
- 253: 71(int64_t) SConvert 252
- 254: 71(int64_t) Load 243(i64)
- 255: 71(int64_t) IMul 253 254
- Store 243(i64) 255
- 256: 14(int16_t) Load 200(i16)
- 257: 27(int) SConvert 256
- 258: 27(int) Load 220(i)
- 259: 27(int) SMod 257 258
- Store 220(i) 259
- 260: 14(int16_t) Load 200(i16)
- 261:193(i16vec3) Load 195(u16v)
- 262:197(i16vec3) CompositeConstruct 260 260 260
- 263:193(i16vec3) ShiftLeftLogical 261 262
- Store 195(u16v) 263
- 265: 37(ptr) AccessChain 195(u16v) 264
- 266: 36(int16_t) Load 265
- 267: 14(int16_t) Load 200(i16)
- 268: 14(int16_t) ShiftRightArithmetic 267 266
- Store 200(i16) 268
- 269: 14(int16_t) Load 200(i16)
- 271: 37(ptr) AccessChain 195(u16v) 270
- 272: 36(int16_t) Load 271
- 273: 14(int16_t) ShiftLeftLogical 269 272
- Store 200(i16) 273
- 274:193(i16vec3) Load 195(u16v)
- 275: 27(int) Load 220(i)
- 277: 276(ivec3) CompositeConstruct 275 275 275
- 278:193(i16vec3) ShiftLeftLogical 274 277
- 279: 225(ivec3) UConvert 278
- Store 227(uv) 279
- 283: 37(ptr) AccessChain 195(u16v) 282
- 284: 36(int16_t) Load 283
- 285: 14(int16_t) Load 200(i16)
- 286: 36(int16_t) Bitcast 285
- 287: 173(bool) INotEqual 284 286
- Store 281(b) 287
- 288: 14(int16_t) Load 200(i16)
- 289: 36(int16_t) Bitcast 288
- 290: 37(ptr) AccessChain 195(u16v) 282
- 291: 36(int16_t) Load 290
- 292: 173(bool) IEqual 289 291
- Store 281(b) 292
- 293: 37(ptr) AccessChain 195(u16v) 282
- 294: 36(int16_t) Load 293
- 295: 17(int) UConvert 294
- 297: 296(ptr) AccessChain 227(uv) 264
- 298: 17(int) Load 297
- 299: 173(bool) UGreaterThan 295 298
- Store 281(b) 299
- 300: 14(int16_t) Load 200(i16)
- 301: 27(int) SConvert 300
- 302: 27(int) Load 220(i)
- 303: 173(bool) SLessThan 301 302
- Store 281(b) 303
- 304: 37(ptr) AccessChain 195(u16v) 264
- 305: 36(int16_t) Load 304
- 306: 17(int) UConvert 305
- 307: 296(ptr) AccessChain 227(uv) 282
- 308: 17(int) Load 307
- 309: 173(bool) UGreaterThanEqual 306 308
- Store 281(b) 309
- 310: 14(int16_t) Load 200(i16)
- 311: 27(int) SConvert 310
- 312: 27(int) Load 220(i)
- 313: 173(bool) SLessThanEqual 311 312
- Store 281(b) 313
- 314: 14(int16_t) Load 200(i16)
- 315: 27(int) SConvert 314
- 316: 17(int) Bitcast 315
- 317: 225(ivec3) Load 227(uv)
- 318: 225(ivec3) CompositeConstruct 316 316 316
- 319: 225(ivec3) BitwiseOr 317 318
- Store 227(uv) 319
- 320: 14(int16_t) Load 200(i16)
- 321: 27(int) SConvert 320
- 322: 27(int) Load 220(i)
- 323: 27(int) BitwiseOr 321 322
- Store 220(i) 323
- 324: 14(int16_t) Load 200(i16)
- 325: 71(int64_t) SConvert 324
- 326: 71(int64_t) Load 243(i64)
- 327: 71(int64_t) BitwiseAnd 326 325
- Store 243(i64) 327
- 328:193(i16vec3) Load 195(u16v)
- 329: 225(ivec3) UConvert 328
- 330: 225(ivec3) Load 227(uv)
- 331: 225(ivec3) BitwiseAnd 329 330
- Store 227(uv) 331
- 332: 14(int16_t) Load 200(i16)
- 333: 27(int) SConvert 332
- 334: 17(int) Bitcast 333
- 335: 225(ivec3) Load 227(uv)
- 336: 225(ivec3) CompositeConstruct 334 334 334
- 337: 225(ivec3) BitwiseXor 335 336
- Store 227(uv) 337
- 338:193(i16vec3) Load 195(u16v)
- 339: 14(int16_t) Load 200(i16)
- 340: 36(int16_t) Bitcast 339
- 341:193(i16vec3) CompositeConstruct 340 340 340
- 342:193(i16vec3) BitwiseXor 338 341
- Store 195(u16v) 342
+ 196(arr): 195(ptr) Variable Function
+ 204(u16v): 203(ptr) Variable Function
+ 209(i16): 15(ptr) Variable Function
+ 229(i): 228(ptr) Variable Function
+ 236(uv): 235(ptr) Variable Function
+ 252(i64): 251(ptr) Variable Function
+ 290(b): 289(ptr) Variable Function
+ 353(f): 352(ptr) Variable Function
+ Store 196(arr) 201
+ 205:202(i16vec3) Load 204(u16v)
+ 207:206(i16vec3) CompositeConstruct 179 179 179
+ 208:202(i16vec3) IAdd 205 207
+ Store 204(u16v) 208
+ 210: 14(int16_t) Load 209(i16)
+ 211: 14(int16_t) ISub 210 179
+ Store 209(i16) 211
+ 212: 14(int16_t) Load 209(i16)
+ 213: 14(int16_t) IAdd 212 179
+ Store 209(i16) 213
+ 214:202(i16vec3) Load 204(u16v)
+ 215:206(i16vec3) CompositeConstruct 179 179 179
+ 216:202(i16vec3) ISub 214 215
+ Store 204(u16v) 216
+ 217:202(i16vec3) Load 204(u16v)
+ 218:202(i16vec3) Not 217
+ Store 204(u16v) 218
+ 219: 14(int16_t) Load 209(i16)
+ Store 209(i16) 219
+ 220:202(i16vec3) Load 204(u16v)
+ 221:202(i16vec3) SNegate 220
+ Store 204(u16v) 221
+ 222: 14(int16_t) Load 209(i16)
+ 223: 14(int16_t) Load 209(i16)
+ 224: 14(int16_t) IAdd 223 222
+ Store 209(i16) 224
+ 225:202(i16vec3) Load 204(u16v)
+ 226:202(i16vec3) Load 204(u16v)
+ 227:202(i16vec3) ISub 226 225
+ Store 204(u16v) 227
+ 230: 14(int16_t) Load 209(i16)
+ 231: 27(int) SConvert 230
+ 232: 27(int) Load 229(i)
+ 233: 27(int) IMul 232 231
+ Store 229(i) 233
+ 237:202(i16vec3) Load 204(u16v)
+ 238: 234(ivec3) UConvert 237
+ 239: 234(ivec3) Load 236(uv)
+ 240: 234(ivec3) UDiv 239 238
+ Store 236(uv) 240
+ 241: 14(int16_t) Load 209(i16)
+ 242: 27(int) SConvert 241
+ 243: 17(int) Bitcast 242
+ 244: 234(ivec3) Load 236(uv)
+ 245: 234(ivec3) CompositeConstruct 243 243 243
+ 246: 234(ivec3) UMod 244 245
+ Store 236(uv) 246
+ 247:202(i16vec3) Load 204(u16v)
+ 248: 234(ivec3) UConvert 247
+ 249: 234(ivec3) Load 236(uv)
+ 250: 234(ivec3) IAdd 248 249
+ Store 236(uv) 250
+ 253: 14(int16_t) Load 209(i16)
+ 254: 71(int64_t) SConvert 253
+ 255: 71(int64_t) Load 252(i64)
+ 256: 71(int64_t) ISub 254 255
+ Store 252(i64) 256
+ 257:202(i16vec3) Load 204(u16v)
+ 258: 234(ivec3) UConvert 257
+ 259: 234(ivec3) Load 236(uv)
+ 260: 234(ivec3) IMul 258 259
+ Store 236(uv) 260
+ 261: 14(int16_t) Load 209(i16)
+ 262: 71(int64_t) SConvert 261
+ 263: 71(int64_t) Load 252(i64)
+ 264: 71(int64_t) IMul 262 263
+ Store 252(i64) 264
+ 265: 14(int16_t) Load 209(i16)
+ 266: 27(int) SConvert 265
+ 267: 27(int) Load 229(i)
+ 268: 27(int) SMod 266 267
+ Store 229(i) 268
+ 269: 14(int16_t) Load 209(i16)
+ 270:202(i16vec3) Load 204(u16v)
+ 271:206(i16vec3) CompositeConstruct 269 269 269
+ 272:202(i16vec3) ShiftLeftLogical 270 271
+ Store 204(u16v) 272
+ 274: 37(ptr) AccessChain 204(u16v) 273
+ 275: 36(int16_t) Load 274
+ 276: 14(int16_t) Load 209(i16)
+ 277: 14(int16_t) ShiftRightArithmetic 276 275
+ Store 209(i16) 277
+ 278: 14(int16_t) Load 209(i16)
+ 280: 37(ptr) AccessChain 204(u16v) 279
+ 281: 36(int16_t) Load 280
+ 282: 14(int16_t) ShiftLeftLogical 278 281
+ Store 209(i16) 282
+ 283:202(i16vec3) Load 204(u16v)
+ 284: 27(int) Load 229(i)
+ 286: 285(ivec3) CompositeConstruct 284 284 284
+ 287:202(i16vec3) ShiftLeftLogical 283 286
+ 288: 234(ivec3) UConvert 287
+ Store 236(uv) 288
+ 292: 37(ptr) AccessChain 204(u16v) 291
+ 293: 36(int16_t) Load 292
+ 294: 14(int16_t) Load 209(i16)
+ 295: 36(int16_t) Bitcast 294
+ 296: 173(bool) INotEqual 293 295
+ Store 290(b) 296
+ 297: 14(int16_t) Load 209(i16)
+ 298: 36(int16_t) Bitcast 297
+ 299: 37(ptr) AccessChain 204(u16v) 291
+ 300: 36(int16_t) Load 299
+ 301: 173(bool) IEqual 298 300
+ Store 290(b) 301
+ 302: 37(ptr) AccessChain 204(u16v) 291
+ 303: 36(int16_t) Load 302
+ 304: 17(int) UConvert 303
+ 306: 305(ptr) AccessChain 236(uv) 273
+ 307: 17(int) Load 306
+ 308: 173(bool) UGreaterThan 304 307
+ Store 290(b) 308
+ 309: 14(int16_t) Load 209(i16)
+ 310: 27(int) SConvert 309
+ 311: 27(int) Load 229(i)
+ 312: 173(bool) SLessThan 310 311
+ Store 290(b) 312
+ 313: 37(ptr) AccessChain 204(u16v) 273
+ 314: 36(int16_t) Load 313
+ 315: 17(int) UConvert 314
+ 316: 305(ptr) AccessChain 236(uv) 291
+ 317: 17(int) Load 316
+ 318: 173(bool) UGreaterThanEqual 315 317
+ Store 290(b) 318
+ 319: 14(int16_t) Load 209(i16)
+ 320: 27(int) SConvert 319
+ 321: 27(int) Load 229(i)
+ 322: 173(bool) SLessThanEqual 320 321
+ Store 290(b) 322
+ 323: 14(int16_t) Load 209(i16)
+ 324: 27(int) SConvert 323
+ 325: 17(int) Bitcast 324
+ 326: 234(ivec3) Load 236(uv)
+ 327: 234(ivec3) CompositeConstruct 325 325 325
+ 328: 234(ivec3) BitwiseOr 326 327
+ Store 236(uv) 328
+ 329: 14(int16_t) Load 209(i16)
+ 330: 27(int) SConvert 329
+ 331: 27(int) Load 229(i)
+ 332: 27(int) BitwiseOr 330 331
+ Store 229(i) 332
+ 333: 14(int16_t) Load 209(i16)
+ 334: 71(int64_t) SConvert 333
+ 335: 71(int64_t) Load 252(i64)
+ 336: 71(int64_t) BitwiseAnd 335 334
+ Store 252(i64) 336
+ 337:202(i16vec3) Load 204(u16v)
+ 338: 234(ivec3) UConvert 337
+ 339: 234(ivec3) Load 236(uv)
+ 340: 234(ivec3) BitwiseAnd 338 339
+ Store 236(uv) 340
+ 341: 14(int16_t) Load 209(i16)
+ 342: 27(int) SConvert 341
+ 343: 17(int) Bitcast 342
+ 344: 234(ivec3) Load 236(uv)
+ 345: 234(ivec3) CompositeConstruct 343 343 343
+ 346: 234(ivec3) BitwiseXor 344 345
+ Store 236(uv) 346
+ 347:202(i16vec3) Load 204(u16v)
+ 348: 14(int16_t) Load 209(i16)
+ 349: 36(int16_t) Bitcast 348
+ 350:202(i16vec3) CompositeConstruct 349 349 349
+ 351:202(i16vec3) BitwiseXor 347 350
+ Store 204(u16v) 351
+ 354: 14(int16_t) Load 209(i16)
+ 355: 352(ptr) AccessChain 196(arr) 354
+ 356: 97(float) Load 355
+ Store 353(f) 356
Return
FunctionEnd
12(builtinFuncs(): 2 Function None 3
13: Label
- 343(i16v): 53(ptr) Variable Function
- 346(i16): 15(ptr) Variable Function
- 356(u16v): 194(ptr) Variable Function
- 358(u16): 37(ptr) Variable Function
- 428(i32): 219(ptr) Variable Function
- 431(i64): 242(ptr) Variable Function
- 434(i16v4): 433(ptr) Variable Function
- 437(u32): 296(ptr) Variable Function
- 438(u16v2): 58(ptr) Variable Function
- 442(u64): 441(ptr) Variable Function
- 445(u16v4): 444(ptr) Variable Function
- 457(bv): 456(ptr) Variable Function
- 344: 52(i16vec2) Load 343(i16v)
- 345: 52(i16vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 344
- Store 343(i16v) 345
- 347: 14(int16_t) Load 346(i16)
- 348: 14(int16_t) ExtInst 1(GLSL.std.450) 7(SSign) 347
- Store 346(i16) 348
- 349: 52(i16vec2) Load 343(i16v)
- 350: 14(int16_t) Load 346(i16)
- 351: 52(i16vec2) CompositeConstruct 350 350
- 352: 52(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 349 351
- Store 343(i16v) 352
- 353: 52(i16vec2) Load 343(i16v)
- 355: 52(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 353 354
- Store 343(i16v) 355
- 357:193(i16vec3) Load 356(u16v)
- 359: 36(int16_t) Load 358(u16)
- 360:193(i16vec3) CompositeConstruct 359 359 359
- 361:193(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 357 360
- Store 356(u16v) 361
- 362:193(i16vec3) Load 356(u16v)
- 364:193(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 362 363
- Store 356(u16v) 364
- 365: 52(i16vec2) Load 343(i16v)
- 366: 14(int16_t) Load 346(i16)
- 367: 52(i16vec2) CompositeConstruct 366 366
- 368: 52(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 365 367
- Store 343(i16v) 368
- 369: 52(i16vec2) Load 343(i16v)
- 370: 52(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 369 354
- Store 343(i16v) 370
- 371:193(i16vec3) Load 356(u16v)
- 372: 36(int16_t) Load 358(u16)
- 373:193(i16vec3) CompositeConstruct 372 372 372
- 374:193(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 371 373
- Store 356(u16v) 374
- 375:193(i16vec3) Load 356(u16v)
- 376:193(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 375 363
- Store 356(u16v) 376
- 377: 52(i16vec2) Load 343(i16v)
- 378: 14(int16_t) Load 346(i16)
- 379: 14(int16_t) SNegate 378
- 380: 14(int16_t) Load 346(i16)
- 381: 52(i16vec2) CompositeConstruct 379 379
- 382: 52(i16vec2) CompositeConstruct 380 380
- 383: 52(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 377 381 382
- Store 343(i16v) 383
- 384: 52(i16vec2) Load 343(i16v)
- 385: 52(i16vec2) Load 343(i16v)
- 386: 52(i16vec2) SNegate 385
- 387: 52(i16vec2) Load 343(i16v)
- 388: 52(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 384 386 387
- Store 343(i16v) 388
- 389:193(i16vec3) Load 356(u16v)
- 390: 36(int16_t) Load 358(u16)
- 391: 36(int16_t) SNegate 390
- 392: 36(int16_t) Load 358(u16)
- 393:193(i16vec3) CompositeConstruct 391 391 391
- 394:193(i16vec3) CompositeConstruct 392 392 392
- 395:193(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 389 393 394
- Store 356(u16v) 395
- 396:193(i16vec3) Load 356(u16v)
- 397:193(i16vec3) Load 356(u16v)
- 398:193(i16vec3) SNegate 397
- 399:193(i16vec3) Load 356(u16v)
- 400:193(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 396 398 399
- Store 356(u16v) 400
- 401: 15(ptr) AccessChain 343(i16v) 282
- 402: 14(int16_t) Load 401
- 403: 15(ptr) AccessChain 343(i16v) 264
- 404: 14(int16_t) Load 403
- 406: 14(int16_t) Select 405 404 402
- Store 346(i16) 406
- 407: 14(int16_t) Load 346(i16)
- 408: 52(i16vec2) CompositeConstruct 407 407
- 409: 14(int16_t) Load 346(i16)
- 410: 14(int16_t) SNegate 409
- 411: 52(i16vec2) CompositeConstruct 410 410
- 414: 52(i16vec2) Select 413 411 408
- Store 343(i16v) 414
- 415: 37(ptr) AccessChain 356(u16v) 282
- 416: 36(int16_t) Load 415
- 417: 37(ptr) AccessChain 356(u16v) 264
- 418: 36(int16_t) Load 417
- 419: 36(int16_t) Select 405 418 416
- Store 358(u16) 419
- 420: 36(int16_t) Load 358(u16)
- 421:193(i16vec3) CompositeConstruct 420 420 420
- 422: 36(int16_t) Load 358(u16)
- 423: 36(int16_t) SNegate 422
- 424:193(i16vec3) CompositeConstruct 423 423 423
- 427:193(i16vec3) Select 426 424 421
- Store 356(u16v) 427
- 429: 52(i16vec2) Load 343(i16v)
- 430: 27(int) Bitcast 429
- Store 428(i32) 430
- 435:432(i16vec4) Load 434(i16v4)
- 436: 71(int64_t) Bitcast 435
- Store 431(i64) 436
- 439: 57(i16vec2) Load 438(u16v2)
- 440: 17(int) Bitcast 439
- Store 437(u32) 440
- 446:443(i16vec4) Load 445(u16v4)
- 447: 77(int64_t) Bitcast 446
- Store 442(u64) 447
- 448: 27(int) Load 428(i32)
- 449: 52(i16vec2) Bitcast 448
- Store 343(i16v) 449
- 450: 71(int64_t) Load 431(i64)
- 451:432(i16vec4) Bitcast 450
- Store 434(i16v4) 451
- 452: 17(int) Load 437(u32)
- 453: 57(i16vec2) Bitcast 452
- Store 438(u16v2) 453
- 454: 77(int64_t) Load 442(u64)
- 455:443(i16vec4) Bitcast 454
- Store 445(u16v4) 455
- 458:193(i16vec3) Load 356(u16v)
- 459: 36(int16_t) Load 358(u16)
- 460:193(i16vec3) CompositeConstruct 459 459 459
- 461: 425(bvec3) ULessThan 458 460
- Store 457(bv) 461
- 462: 52(i16vec2) Load 343(i16v)
- 463: 14(int16_t) Load 346(i16)
- 464: 52(i16vec2) CompositeConstruct 463 463
- 465: 174(bvec2) SLessThan 462 464
- 466: 425(bvec3) Load 457(bv)
- 467: 425(bvec3) VectorShuffle 466 465 3 4 2
- Store 457(bv) 467
- 468:193(i16vec3) Load 356(u16v)
- 469: 36(int16_t) Load 358(u16)
- 470:193(i16vec3) CompositeConstruct 469 469 469
- 471: 425(bvec3) ULessThanEqual 468 470
- Store 457(bv) 471
- 472: 52(i16vec2) Load 343(i16v)
- 473: 14(int16_t) Load 346(i16)
- 474: 52(i16vec2) CompositeConstruct 473 473
- 475: 174(bvec2) SLessThanEqual 472 474
- 476: 425(bvec3) Load 457(bv)
- 477: 425(bvec3) VectorShuffle 476 475 3 4 2
- Store 457(bv) 477
- 478:193(i16vec3) Load 356(u16v)
- 479: 36(int16_t) Load 358(u16)
- 480:193(i16vec3) CompositeConstruct 479 479 479
- 481: 425(bvec3) UGreaterThan 478 480
- Store 457(bv) 481
- 482: 52(i16vec2) Load 343(i16v)
- 483: 14(int16_t) Load 346(i16)
- 484: 52(i16vec2) CompositeConstruct 483 483
- 485: 174(bvec2) SGreaterThan 482 484
- 486: 425(bvec3) Load 457(bv)
- 487: 425(bvec3) VectorShuffle 486 485 3 4 2
- Store 457(bv) 487
- 488:193(i16vec3) Load 356(u16v)
- 489: 36(int16_t) Load 358(u16)
- 490:193(i16vec3) CompositeConstruct 489 489 489
- 491: 425(bvec3) UGreaterThanEqual 488 490
- Store 457(bv) 491
- 492: 52(i16vec2) Load 343(i16v)
- 493: 14(int16_t) Load 346(i16)
- 494: 52(i16vec2) CompositeConstruct 493 493
- 495: 174(bvec2) SGreaterThanEqual 492 494
- 496: 425(bvec3) Load 457(bv)
- 497: 425(bvec3) VectorShuffle 496 495 3 4 2
- Store 457(bv) 497
- 498:193(i16vec3) Load 356(u16v)
- 499: 36(int16_t) Load 358(u16)
- 500:193(i16vec3) CompositeConstruct 499 499 499
- 501: 425(bvec3) IEqual 498 500
- Store 457(bv) 501
- 502: 52(i16vec2) Load 343(i16v)
- 503: 14(int16_t) Load 346(i16)
- 504: 52(i16vec2) CompositeConstruct 503 503
- 505: 174(bvec2) IEqual 502 504
- 506: 425(bvec3) Load 457(bv)
- 507: 425(bvec3) VectorShuffle 506 505 3 4 2
- Store 457(bv) 507
- 508:193(i16vec3) Load 356(u16v)
- 509: 36(int16_t) Load 358(u16)
- 510:193(i16vec3) CompositeConstruct 509 509 509
- 511: 425(bvec3) INotEqual 508 510
- Store 457(bv) 511
- 512: 52(i16vec2) Load 343(i16v)
- 513: 14(int16_t) Load 346(i16)
+ 357(i16v): 53(ptr) Variable Function
+ 360(i16): 15(ptr) Variable Function
+ 370(u16v): 203(ptr) Variable Function
+ 372(u16): 37(ptr) Variable Function
+ 442(i32): 228(ptr) Variable Function
+ 445(i64): 251(ptr) Variable Function
+ 448(i16v4): 447(ptr) Variable Function
+ 451(u32): 305(ptr) Variable Function
+ 452(u16v2): 58(ptr) Variable Function
+ 456(u64): 455(ptr) Variable Function
+ 459(u16v4): 458(ptr) Variable Function
+ 471(bv): 470(ptr) Variable Function
+ 358: 52(i16vec2) Load 357(i16v)
+ 359: 52(i16vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 358
+ Store 357(i16v) 359
+ 361: 14(int16_t) Load 360(i16)
+ 362: 14(int16_t) ExtInst 1(GLSL.std.450) 7(SSign) 361
+ Store 360(i16) 362
+ 363: 52(i16vec2) Load 357(i16v)
+ 364: 14(int16_t) Load 360(i16)
+ 365: 52(i16vec2) CompositeConstruct 364 364
+ 366: 52(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 363 365
+ Store 357(i16v) 366
+ 367: 52(i16vec2) Load 357(i16v)
+ 369: 52(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 367 368
+ Store 357(i16v) 369
+ 371:202(i16vec3) Load 370(u16v)
+ 373: 36(int16_t) Load 372(u16)
+ 374:202(i16vec3) CompositeConstruct 373 373 373
+ 375:202(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 371 374
+ Store 370(u16v) 375
+ 376:202(i16vec3) Load 370(u16v)
+ 378:202(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 376 377
+ Store 370(u16v) 378
+ 379: 52(i16vec2) Load 357(i16v)
+ 380: 14(int16_t) Load 360(i16)
+ 381: 52(i16vec2) CompositeConstruct 380 380
+ 382: 52(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 379 381
+ Store 357(i16v) 382
+ 383: 52(i16vec2) Load 357(i16v)
+ 384: 52(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 383 368
+ Store 357(i16v) 384
+ 385:202(i16vec3) Load 370(u16v)
+ 386: 36(int16_t) Load 372(u16)
+ 387:202(i16vec3) CompositeConstruct 386 386 386
+ 388:202(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 385 387
+ Store 370(u16v) 388
+ 389:202(i16vec3) Load 370(u16v)
+ 390:202(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 389 377
+ Store 370(u16v) 390
+ 391: 52(i16vec2) Load 357(i16v)
+ 392: 14(int16_t) Load 360(i16)
+ 393: 14(int16_t) SNegate 392
+ 394: 14(int16_t) Load 360(i16)
+ 395: 52(i16vec2) CompositeConstruct 393 393
+ 396: 52(i16vec2) CompositeConstruct 394 394
+ 397: 52(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 391 395 396
+ Store 357(i16v) 397
+ 398: 52(i16vec2) Load 357(i16v)
+ 399: 52(i16vec2) Load 357(i16v)
+ 400: 52(i16vec2) SNegate 399
+ 401: 52(i16vec2) Load 357(i16v)
+ 402: 52(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 398 400 401
+ Store 357(i16v) 402
+ 403:202(i16vec3) Load 370(u16v)
+ 404: 36(int16_t) Load 372(u16)
+ 405: 36(int16_t) SNegate 404
+ 406: 36(int16_t) Load 372(u16)
+ 407:202(i16vec3) CompositeConstruct 405 405 405
+ 408:202(i16vec3) CompositeConstruct 406 406 406
+ 409:202(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 403 407 408
+ Store 370(u16v) 409
+ 410:202(i16vec3) Load 370(u16v)
+ 411:202(i16vec3) Load 370(u16v)
+ 412:202(i16vec3) SNegate 411
+ 413:202(i16vec3) Load 370(u16v)
+ 414:202(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 410 412 413
+ Store 370(u16v) 414
+ 415: 15(ptr) AccessChain 357(i16v) 291
+ 416: 14(int16_t) Load 415
+ 417: 15(ptr) AccessChain 357(i16v) 273
+ 418: 14(int16_t) Load 417
+ 420: 14(int16_t) Select 419 418 416
+ Store 360(i16) 420
+ 421: 14(int16_t) Load 360(i16)
+ 422: 52(i16vec2) CompositeConstruct 421 421
+ 423: 14(int16_t) Load 360(i16)
+ 424: 14(int16_t) SNegate 423
+ 425: 52(i16vec2) CompositeConstruct 424 424
+ 428: 52(i16vec2) Select 427 425 422
+ Store 357(i16v) 428
+ 429: 37(ptr) AccessChain 370(u16v) 291
+ 430: 36(int16_t) Load 429
+ 431: 37(ptr) AccessChain 370(u16v) 273
+ 432: 36(int16_t) Load 431
+ 433: 36(int16_t) Select 419 432 430
+ Store 372(u16) 433
+ 434: 36(int16_t) Load 372(u16)
+ 435:202(i16vec3) CompositeConstruct 434 434 434
+ 436: 36(int16_t) Load 372(u16)
+ 437: 36(int16_t) SNegate 436
+ 438:202(i16vec3) CompositeConstruct 437 437 437
+ 441:202(i16vec3) Select 440 438 435
+ Store 370(u16v) 441
+ 443: 52(i16vec2) Load 357(i16v)
+ 444: 27(int) Bitcast 443
+ Store 442(i32) 444
+ 449:446(i16vec4) Load 448(i16v4)
+ 450: 71(int64_t) Bitcast 449
+ Store 445(i64) 450
+ 453: 57(i16vec2) Load 452(u16v2)
+ 454: 17(int) Bitcast 453
+ Store 451(u32) 454
+ 460:457(i16vec4) Load 459(u16v4)
+ 461: 77(int64_t) Bitcast 460
+ Store 456(u64) 461
+ 462: 27(int) Load 442(i32)
+ 463: 52(i16vec2) Bitcast 462
+ Store 357(i16v) 463
+ 464: 71(int64_t) Load 445(i64)
+ 465:446(i16vec4) Bitcast 464
+ Store 448(i16v4) 465
+ 466: 17(int) Load 451(u32)
+ 467: 57(i16vec2) Bitcast 466
+ Store 452(u16v2) 467
+ 468: 77(int64_t) Load 456(u64)
+ 469:457(i16vec4) Bitcast 468
+ Store 459(u16v4) 469
+ 472:202(i16vec3) Load 370(u16v)
+ 473: 36(int16_t) Load 372(u16)
+ 474:202(i16vec3) CompositeConstruct 473 473 473
+ 475: 439(bvec3) ULessThan 472 474
+ Store 471(bv) 475
+ 476: 52(i16vec2) Load 357(i16v)
+ 477: 14(int16_t) Load 360(i16)
+ 478: 52(i16vec2) CompositeConstruct 477 477
+ 479: 174(bvec2) SLessThan 476 478
+ 480: 289(ptr) AccessChain 471(bv) 291
+ 481: 173(bool) CompositeExtract 479 0
+ Store 480 481
+ 482: 289(ptr) AccessChain 471(bv) 273
+ 483: 173(bool) CompositeExtract 479 1
+ Store 482 483
+ 484:202(i16vec3) Load 370(u16v)
+ 485: 36(int16_t) Load 372(u16)
+ 486:202(i16vec3) CompositeConstruct 485 485 485
+ 487: 439(bvec3) ULessThanEqual 484 486
+ Store 471(bv) 487
+ 488: 52(i16vec2) Load 357(i16v)
+ 489: 14(int16_t) Load 360(i16)
+ 490: 52(i16vec2) CompositeConstruct 489 489
+ 491: 174(bvec2) SLessThanEqual 488 490
+ 492: 289(ptr) AccessChain 471(bv) 291
+ 493: 173(bool) CompositeExtract 491 0
+ Store 492 493
+ 494: 289(ptr) AccessChain 471(bv) 273
+ 495: 173(bool) CompositeExtract 491 1
+ Store 494 495
+ 496:202(i16vec3) Load 370(u16v)
+ 497: 36(int16_t) Load 372(u16)
+ 498:202(i16vec3) CompositeConstruct 497 497 497
+ 499: 439(bvec3) UGreaterThan 496 498
+ Store 471(bv) 499
+ 500: 52(i16vec2) Load 357(i16v)
+ 501: 14(int16_t) Load 360(i16)
+ 502: 52(i16vec2) CompositeConstruct 501 501
+ 503: 174(bvec2) SGreaterThan 500 502
+ 504: 289(ptr) AccessChain 471(bv) 291
+ 505: 173(bool) CompositeExtract 503 0
+ Store 504 505
+ 506: 289(ptr) AccessChain 471(bv) 273
+ 507: 173(bool) CompositeExtract 503 1
+ Store 506 507
+ 508:202(i16vec3) Load 370(u16v)
+ 509: 36(int16_t) Load 372(u16)
+ 510:202(i16vec3) CompositeConstruct 509 509 509
+ 511: 439(bvec3) UGreaterThanEqual 508 510
+ Store 471(bv) 511
+ 512: 52(i16vec2) Load 357(i16v)
+ 513: 14(int16_t) Load 360(i16)
514: 52(i16vec2) CompositeConstruct 513 513
- 515: 174(bvec2) INotEqual 512 514
- 516: 425(bvec3) Load 457(bv)
- 517: 425(bvec3) VectorShuffle 516 515 3 4 2
- Store 457(bv) 517
+ 515: 174(bvec2) SGreaterThanEqual 512 514
+ 516: 289(ptr) AccessChain 471(bv) 291
+ 517: 173(bool) CompositeExtract 515 0
+ Store 516 517
+ 518: 289(ptr) AccessChain 471(bv) 273
+ 519: 173(bool) CompositeExtract 515 1
+ Store 518 519
+ 520:202(i16vec3) Load 370(u16v)
+ 521: 36(int16_t) Load 372(u16)
+ 522:202(i16vec3) CompositeConstruct 521 521 521
+ 523: 439(bvec3) IEqual 520 522
+ Store 471(bv) 523
+ 524: 52(i16vec2) Load 357(i16v)
+ 525: 14(int16_t) Load 360(i16)
+ 526: 52(i16vec2) CompositeConstruct 525 525
+ 527: 174(bvec2) IEqual 524 526
+ 528: 289(ptr) AccessChain 471(bv) 291
+ 529: 173(bool) CompositeExtract 527 0
+ Store 528 529
+ 530: 289(ptr) AccessChain 471(bv) 273
+ 531: 173(bool) CompositeExtract 527 1
+ Store 530 531
+ 532:202(i16vec3) Load 370(u16v)
+ 533: 36(int16_t) Load 372(u16)
+ 534:202(i16vec3) CompositeConstruct 533 533 533
+ 535: 439(bvec3) INotEqual 532 534
+ Store 471(bv) 535
+ 536: 52(i16vec2) Load 357(i16v)
+ 537: 14(int16_t) Load 360(i16)
+ 538: 52(i16vec2) CompositeConstruct 537 537
+ 539: 174(bvec2) INotEqual 536 538
+ 540: 289(ptr) AccessChain 471(bv) 291
+ 541: 173(bool) CompositeExtract 539 0
+ Store 540 541
+ 542: 289(ptr) AccessChain 471(bv) 273
+ 543: 173(bool) CompositeExtract 539 1
+ Store 542 543
Return
FunctionEnd
diff --git a/Test/baseResults/spv.int32.frag.out b/Test/baseResults/spv.int32.frag.out
index 0ef51e8..af232ec 100644
--- a/Test/baseResults/spv.int32.frag.out
+++ b/Test/baseResults/spv.int32.frag.out
@@ -1,7 +1,7 @@
spv.int32.frag
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 493
+// Id's are bound by 505
Capability Shader
Capability Float16
@@ -65,41 +65,41 @@
Name 416 "u32v2"
Name 418 "u64"
Name 422 "bv"
- Name 485 "Block"
- MemberName 485(Block) 0 "i32"
- MemberName 485(Block) 1 "i32v2"
- MemberName 485(Block) 2 "i32v3"
- MemberName 485(Block) 3 "i32v4"
- MemberName 485(Block) 4 "u32"
- MemberName 485(Block) 5 "u32v2"
- MemberName 485(Block) 6 "u32v3"
- MemberName 485(Block) 7 "u32v4"
- Name 487 "block"
- Name 488 "si32"
- Name 489 "su32"
- Name 490 "si"
- Name 491 "su"
- Name 492 "sb"
+ Name 497 "Block"
+ MemberName 497(Block) 0 "i32"
+ MemberName 497(Block) 1 "i32v2"
+ MemberName 497(Block) 2 "i32v3"
+ MemberName 497(Block) 3 "i32v4"
+ MemberName 497(Block) 4 "u32"
+ MemberName 497(Block) 5 "u32v2"
+ MemberName 497(Block) 6 "u32v3"
+ MemberName 497(Block) 7 "u32v4"
+ Name 499 "block"
+ Name 500 "si32"
+ Name 501 "su32"
+ Name 502 "si"
+ Name 503 "su"
+ Name 504 "sb"
MemberDecorate 27(Uniforms) 0 Offset 0
Decorate 27(Uniforms) Block
Decorate 29 DescriptorSet 0
Decorate 29 Binding 0
- MemberDecorate 485(Block) 0 Offset 0
- MemberDecorate 485(Block) 1 Offset 8
- MemberDecorate 485(Block) 2 Offset 16
- MemberDecorate 485(Block) 3 Offset 32
- MemberDecorate 485(Block) 4 Offset 48
- MemberDecorate 485(Block) 5 Offset 56
- MemberDecorate 485(Block) 6 Offset 64
- MemberDecorate 485(Block) 7 Offset 80
- Decorate 485(Block) Block
- Decorate 487(block) DescriptorSet 0
- Decorate 487(block) Binding 1
- Decorate 488(si32) SpecId 100
- Decorate 489(su32) SpecId 101
- Decorate 490(si) SpecId 102
- Decorate 491(su) SpecId 103
- Decorate 492(sb) SpecId 104
+ MemberDecorate 497(Block) 0 Offset 0
+ MemberDecorate 497(Block) 1 Offset 8
+ MemberDecorate 497(Block) 2 Offset 16
+ MemberDecorate 497(Block) 3 Offset 32
+ MemberDecorate 497(Block) 4 Offset 48
+ MemberDecorate 497(Block) 5 Offset 56
+ MemberDecorate 497(Block) 6 Offset 64
+ MemberDecorate 497(Block) 7 Offset 80
+ Decorate 497(Block) Block
+ Decorate 499(block) DescriptorSet 0
+ Decorate 499(block) Binding 1
+ Decorate 500(si32) SpecId 100
+ Decorate 501(su32) SpecId 101
+ Decorate 502(si) SpecId 102
+ Decorate 503(su) SpecId 103
+ Decorate 504(sb) SpecId 104
2: TypeVoid
3: TypeFunction 2
14: TypeInt 32 0
@@ -185,16 +185,16 @@
406: TypePointer Function 405(i8vec4)
417: TypePointer Function 63(int64_t)
421: TypePointer Function 394(bvec3)
- 483: TypeVector 18(int) 4
- 484: TypeVector 14(int) 4
- 485(Block): TypeStruct 18(int) 52(ivec2) 188(ivec3) 483(ivec4) 14(int) 49(ivec2) 184(ivec3) 484(ivec4)
- 486: TypePointer Uniform 485(Block)
- 487(block): 486(ptr) Variable Uniform
- 488(si32): 18(int) SpecConstant 4294967286
- 489(su32): 14(int) SpecConstant 20
- 490(si): 18(int) SpecConstant 4294967291
- 491(su): 14(int) SpecConstant 4
- 492(sb): 165(bool) SpecConstantTrue
+ 495: TypeVector 18(int) 4
+ 496: TypeVector 14(int) 4
+ 497(Block): TypeStruct 18(int) 52(ivec2) 188(ivec3) 495(ivec4) 14(int) 49(ivec2) 184(ivec3) 496(ivec4)
+ 498: TypePointer Uniform 497(Block)
+ 499(block): 498(ptr) Variable Uniform
+ 500(si32): 18(int) SpecConstant 4294967286
+ 501(su32): 14(int) SpecConstant 20
+ 502(si): 18(int) SpecConstant 4294967291
+ 503(su): 14(int) SpecConstant 4
+ 504(sb): 165(bool) SpecConstantTrue
4(main): 2 Function None 3
5: Label
Store 16(u32Max) 17
@@ -645,68 +645,86 @@
428: 18(int) Load 315(i32)
429: 52(ivec2) CompositeConstruct 428 428
430: 166(bvec2) SLessThan 427 429
- 431: 394(bvec3) Load 422(bv)
- 432: 394(bvec3) VectorShuffle 431 430 3 4 2
- Store 422(bv) 432
- 433: 184(ivec3) Load 325(u32v)
- 434: 14(int) Load 327(u32)
- 435: 184(ivec3) CompositeConstruct 434 434 434
- 436: 394(bvec3) ULessThanEqual 433 435
- Store 422(bv) 436
- 437: 52(ivec2) Load 312(i32v)
- 438: 18(int) Load 315(i32)
- 439: 52(ivec2) CompositeConstruct 438 438
- 440: 166(bvec2) SLessThanEqual 437 439
- 441: 394(bvec3) Load 422(bv)
- 442: 394(bvec3) VectorShuffle 441 440 3 4 2
- Store 422(bv) 442
- 443: 184(ivec3) Load 325(u32v)
- 444: 14(int) Load 327(u32)
- 445: 184(ivec3) CompositeConstruct 444 444 444
- 446: 394(bvec3) UGreaterThan 443 445
- Store 422(bv) 446
- 447: 52(ivec2) Load 312(i32v)
- 448: 18(int) Load 315(i32)
- 449: 52(ivec2) CompositeConstruct 448 448
- 450: 166(bvec2) SGreaterThan 447 449
- 451: 394(bvec3) Load 422(bv)
- 452: 394(bvec3) VectorShuffle 451 450 3 4 2
- Store 422(bv) 452
- 453: 184(ivec3) Load 325(u32v)
- 454: 14(int) Load 327(u32)
- 455: 184(ivec3) CompositeConstruct 454 454 454
- 456: 394(bvec3) UGreaterThanEqual 453 455
- Store 422(bv) 456
- 457: 52(ivec2) Load 312(i32v)
- 458: 18(int) Load 315(i32)
- 459: 52(ivec2) CompositeConstruct 458 458
- 460: 166(bvec2) SGreaterThanEqual 457 459
- 461: 394(bvec3) Load 422(bv)
- 462: 394(bvec3) VectorShuffle 461 460 3 4 2
+ 431: 259(ptr) AccessChain 422(bv) 175
+ 432: 165(bool) CompositeExtract 430 0
+ Store 431 432
+ 433: 259(ptr) AccessChain 422(bv) 176
+ 434: 165(bool) CompositeExtract 430 1
+ Store 433 434
+ 435: 184(ivec3) Load 325(u32v)
+ 436: 14(int) Load 327(u32)
+ 437: 184(ivec3) CompositeConstruct 436 436 436
+ 438: 394(bvec3) ULessThanEqual 435 437
+ Store 422(bv) 438
+ 439: 52(ivec2) Load 312(i32v)
+ 440: 18(int) Load 315(i32)
+ 441: 52(ivec2) CompositeConstruct 440 440
+ 442: 166(bvec2) SLessThanEqual 439 441
+ 443: 259(ptr) AccessChain 422(bv) 175
+ 444: 165(bool) CompositeExtract 442 0
+ Store 443 444
+ 445: 259(ptr) AccessChain 422(bv) 176
+ 446: 165(bool) CompositeExtract 442 1
+ Store 445 446
+ 447: 184(ivec3) Load 325(u32v)
+ 448: 14(int) Load 327(u32)
+ 449: 184(ivec3) CompositeConstruct 448 448 448
+ 450: 394(bvec3) UGreaterThan 447 449
+ Store 422(bv) 450
+ 451: 52(ivec2) Load 312(i32v)
+ 452: 18(int) Load 315(i32)
+ 453: 52(ivec2) CompositeConstruct 452 452
+ 454: 166(bvec2) SGreaterThan 451 453
+ 455: 259(ptr) AccessChain 422(bv) 175
+ 456: 165(bool) CompositeExtract 454 0
+ Store 455 456
+ 457: 259(ptr) AccessChain 422(bv) 176
+ 458: 165(bool) CompositeExtract 454 1
+ Store 457 458
+ 459: 184(ivec3) Load 325(u32v)
+ 460: 14(int) Load 327(u32)
+ 461: 184(ivec3) CompositeConstruct 460 460 460
+ 462: 394(bvec3) UGreaterThanEqual 459 461
Store 422(bv) 462
- 463: 184(ivec3) Load 325(u32v)
- 464: 14(int) Load 327(u32)
- 465: 184(ivec3) CompositeConstruct 464 464 464
- 466: 394(bvec3) IEqual 463 465
- Store 422(bv) 466
- 467: 52(ivec2) Load 312(i32v)
- 468: 18(int) Load 315(i32)
- 469: 52(ivec2) CompositeConstruct 468 468
- 470: 166(bvec2) IEqual 467 469
- 471: 394(bvec3) Load 422(bv)
- 472: 394(bvec3) VectorShuffle 471 470 3 4 2
- Store 422(bv) 472
- 473: 184(ivec3) Load 325(u32v)
- 474: 14(int) Load 327(u32)
- 475: 184(ivec3) CompositeConstruct 474 474 474
- 476: 394(bvec3) INotEqual 473 475
- Store 422(bv) 476
- 477: 52(ivec2) Load 312(i32v)
- 478: 18(int) Load 315(i32)
- 479: 52(ivec2) CompositeConstruct 478 478
- 480: 166(bvec2) INotEqual 477 479
- 481: 394(bvec3) Load 422(bv)
- 482: 394(bvec3) VectorShuffle 481 480 3 4 2
- Store 422(bv) 482
+ 463: 52(ivec2) Load 312(i32v)
+ 464: 18(int) Load 315(i32)
+ 465: 52(ivec2) CompositeConstruct 464 464
+ 466: 166(bvec2) SGreaterThanEqual 463 465
+ 467: 259(ptr) AccessChain 422(bv) 175
+ 468: 165(bool) CompositeExtract 466 0
+ Store 467 468
+ 469: 259(ptr) AccessChain 422(bv) 176
+ 470: 165(bool) CompositeExtract 466 1
+ Store 469 470
+ 471: 184(ivec3) Load 325(u32v)
+ 472: 14(int) Load 327(u32)
+ 473: 184(ivec3) CompositeConstruct 472 472 472
+ 474: 394(bvec3) IEqual 471 473
+ Store 422(bv) 474
+ 475: 52(ivec2) Load 312(i32v)
+ 476: 18(int) Load 315(i32)
+ 477: 52(ivec2) CompositeConstruct 476 476
+ 478: 166(bvec2) IEqual 475 477
+ 479: 259(ptr) AccessChain 422(bv) 175
+ 480: 165(bool) CompositeExtract 478 0
+ Store 479 480
+ 481: 259(ptr) AccessChain 422(bv) 176
+ 482: 165(bool) CompositeExtract 478 1
+ Store 481 482
+ 483: 184(ivec3) Load 325(u32v)
+ 484: 14(int) Load 327(u32)
+ 485: 184(ivec3) CompositeConstruct 484 484 484
+ 486: 394(bvec3) INotEqual 483 485
+ Store 422(bv) 486
+ 487: 52(ivec2) Load 312(i32v)
+ 488: 18(int) Load 315(i32)
+ 489: 52(ivec2) CompositeConstruct 488 488
+ 490: 166(bvec2) INotEqual 487 489
+ 491: 259(ptr) AccessChain 422(bv) 175
+ 492: 165(bool) CompositeExtract 490 0
+ Store 491 492
+ 493: 259(ptr) AccessChain 422(bv) 176
+ 494: 165(bool) CompositeExtract 490 1
+ Store 493 494
Return
FunctionEnd
diff --git a/Test/baseResults/spv.int64.frag.out b/Test/baseResults/spv.int64.frag.out
index b7a93a5..f2fd600 100644
--- a/Test/baseResults/spv.int64.frag.out
+++ b/Test/baseResults/spv.int64.frag.out
@@ -2,7 +2,7 @@
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 499
+// Id's are bound by 513
Capability Shader
Capability Float64
@@ -44,48 +44,48 @@
Name 299 "u64v"
Name 301 "u64"
Name 373 "dv"
- Name 392 "iv"
- Name 397 "uv"
- Name 401 "bv"
- Name 472 "Block"
- MemberName 472(Block) 0 "i64v"
- MemberName 472(Block) 1 "u64"
- Name 474 "block"
- Name 475 "si64"
- Name 476 "su64"
- Name 477 "si"
- Name 478 "su"
- Name 479 "sb"
- Name 480 "su64inc"
- Name 481 "i64_to_b"
- Name 482 "u64_to_b"
- Name 483 "b_to_i64"
- Name 484 "b_to_u64"
- Name 485 "i64_to_i"
- Name 486 "i_to_i64"
- Name 487 "u64_to_u"
- Name 488 "u_to_u64"
- Name 489 "u64_to_i64"
- Name 490 "i64_to_u64"
- Name 492 "u64_to_i"
- Name 494 "i_to_u64"
- Name 496 "i64_to_u"
- Name 498 "u_to_i64"
+ Name 394 "iv"
+ Name 399 "uv"
+ Name 403 "bv"
+ Name 486 "Block"
+ MemberName 486(Block) 0 "i64v"
+ MemberName 486(Block) 1 "u64"
+ Name 488 "block"
+ Name 489 "si64"
+ Name 490 "su64"
+ Name 491 "si"
+ Name 492 "su"
+ Name 493 "sb"
+ Name 494 "su64inc"
+ Name 495 "i64_to_b"
+ Name 496 "u64_to_b"
+ Name 497 "b_to_i64"
+ Name 498 "b_to_u64"
+ Name 499 "i64_to_i"
+ Name 500 "i_to_i64"
+ Name 501 "u64_to_u"
+ Name 502 "u_to_u64"
+ Name 503 "u64_to_i64"
+ Name 504 "i64_to_u64"
+ Name 506 "u64_to_i"
+ Name 508 "i_to_u64"
+ Name 510 "i64_to_u"
+ Name 512 "u_to_i64"
MemberDecorate 28(Uniforms) 0 Offset 0
Decorate 28(Uniforms) Block
Decorate 30 DescriptorSet 0
Decorate 30 Binding 0
- MemberDecorate 472(Block) 0 Offset 0
- MemberDecorate 472(Block) 1 Offset 24
- Decorate 472(Block) Block
- Decorate 474(block) DescriptorSet 0
- Decorate 474(block) Binding 1
- Decorate 475(si64) SpecId 100
- Decorate 476(su64) SpecId 101
- Decorate 477(si) SpecId 102
- Decorate 478(su) SpecId 103
- Decorate 479(sb) SpecId 104
- Decorate 480(su64inc) SpecId 105
+ MemberDecorate 486(Block) 0 Offset 0
+ MemberDecorate 486(Block) 1 Offset 24
+ Decorate 486(Block) Block
+ Decorate 488(block) DescriptorSet 0
+ Decorate 488(block) Binding 1
+ Decorate 489(si64) SpecId 100
+ Decorate 490(su64) SpecId 101
+ Decorate 491(si) SpecId 102
+ Decorate 492(su) SpecId 103
+ Decorate 493(sb) SpecId 104
+ Decorate 494(su64inc) SpecId 105
2: TypeVoid
3: TypeFunction 2
14: TypeInt 64 0
@@ -161,38 +161,38 @@
371: TypeVector 94(float64_t) 3
372: TypePointer Function 371(f64vec3)
377: TypePointer Function 94(float64_t)
- 388: 31(int) Constant 1
- 389: 31(int) Constant 2
- 390: 74(ivec2) ConstantComposite 388 389
- 395: 81(ivec2) ConstantComposite 217 22
- 400: TypePointer Function 368(bvec3)
- 472(Block): TypeStruct 136(i64vec3) 14(int64_t)
- 473: TypePointer Uniform 472(Block)
- 474(block): 473(ptr) Variable Uniform
- 475(si64): 18(int64_t) SpecConstant 4294967286 4294967295
- 476(su64): 14(int64_t) SpecConstant 20 0
- 477(si): 31(int) SpecConstant 4294967291
- 478(su): 21(int) SpecConstant 4
- 479(sb): 55(bool) SpecConstantTrue
- 480(su64inc): 14(int64_t) SpecConstantOp 128 476(su64) 70
- 481(i64_to_b): 55(bool) SpecConstantOp 171 475(si64) 69
- 482(u64_to_b): 55(bool) SpecConstantOp 171 476(su64) 69
- 483(b_to_i64): 18(int64_t) SpecConstantOp 169 479(sb) 61 60
- 484(b_to_u64): 14(int64_t) SpecConstantOp 169 479(sb) 70 69
- 485(i64_to_i): 31(int) SpecConstantOp 114 475(si64)
- 486(i_to_i64): 18(int64_t) SpecConstantOp 114 477(si)
- 487(u64_to_u): 21(int) SpecConstantOp 113 476(su64)
- 488(u_to_u64): 14(int64_t) SpecConstantOp 113 478(su)
- 489(u64_to_i64): 18(int64_t) SpecConstantOp 128 476(su64) 69
- 490(i64_to_u64): 14(int64_t) SpecConstantOp 128 475(si64) 69
- 491: 21(int) SpecConstantOp 113 476(su64)
- 492(u64_to_i): 31(int) SpecConstantOp 128 491 227
- 493: 18(int64_t) SpecConstantOp 114 477(si)
- 494(i_to_u64): 14(int64_t) SpecConstantOp 128 493 69
- 495: 31(int) SpecConstantOp 114 475(si64)
- 496(i64_to_u): 21(int) SpecConstantOp 128 495 227
- 497: 14(int64_t) SpecConstantOp 113 478(su)
- 498(u_to_i64): 18(int64_t) SpecConstantOp 128 497 69
+ 390: 31(int) Constant 1
+ 391: 31(int) Constant 2
+ 392: 74(ivec2) ConstantComposite 390 391
+ 397: 81(ivec2) ConstantComposite 217 22
+ 402: TypePointer Function 368(bvec3)
+ 486(Block): TypeStruct 136(i64vec3) 14(int64_t)
+ 487: TypePointer Uniform 486(Block)
+ 488(block): 487(ptr) Variable Uniform
+ 489(si64): 18(int64_t) SpecConstant 4294967286 4294967295
+ 490(su64): 14(int64_t) SpecConstant 20 0
+ 491(si): 31(int) SpecConstant 4294967291
+ 492(su): 21(int) SpecConstant 4
+ 493(sb): 55(bool) SpecConstantTrue
+ 494(su64inc): 14(int64_t) SpecConstantOp 128 490(su64) 70
+ 495(i64_to_b): 55(bool) SpecConstantOp 171 489(si64) 69
+ 496(u64_to_b): 55(bool) SpecConstantOp 171 490(su64) 69
+ 497(b_to_i64): 18(int64_t) SpecConstantOp 169 493(sb) 61 60
+ 498(b_to_u64): 14(int64_t) SpecConstantOp 169 493(sb) 70 69
+ 499(i64_to_i): 31(int) SpecConstantOp 114 489(si64)
+ 500(i_to_i64): 18(int64_t) SpecConstantOp 114 491(si)
+ 501(u64_to_u): 21(int) SpecConstantOp 113 490(su64)
+ 502(u_to_u64): 14(int64_t) SpecConstantOp 113 492(su)
+ 503(u64_to_i64): 18(int64_t) SpecConstantOp 128 490(su64) 69
+ 504(i64_to_u64): 14(int64_t) SpecConstantOp 128 489(si64) 69
+ 505: 21(int) SpecConstantOp 113 490(su64)
+ 506(u64_to_i): 31(int) SpecConstantOp 128 505 227
+ 507: 18(int64_t) SpecConstantOp 114 491(si)
+ 508(i_to_u64): 14(int64_t) SpecConstantOp 128 507 69
+ 509: 31(int) SpecConstantOp 114 489(si64)
+ 510(i64_to_u): 21(int) SpecConstantOp 128 509 227
+ 511: 14(int64_t) SpecConstantOp 113 492(su)
+ 512(u_to_i64): 18(int64_t) SpecConstantOp 128 511 69
4(main): 2 Function None 3
5: Label
Store 16(u64Max) 17
@@ -487,9 +487,9 @@
299(u64v): 133(ptr) Variable Function
301(u64): 40(ptr) Variable Function
373(dv): 372(ptr) Variable Function
- 392(iv): 75(ptr) Variable Function
- 397(uv): 82(ptr) Variable Function
- 401(bv): 400(ptr) Variable Function
+ 394(iv): 75(ptr) Variable Function
+ 399(uv): 82(ptr) Variable Function
+ 403(bv): 402(ptr) Variable Function
287: 52(i64vec2) Load 286(i64v)
288: 52(i64vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 287
Store 286(i64v) 288
@@ -593,107 +593,128 @@
Store 381 380
382: 52(i64vec2) Load 286(i64v)
383: 95(f64vec2) Bitcast 382
- 384:371(f64vec3) Load 373(dv)
- 385:371(f64vec3) VectorShuffle 384 383 3 4 2
- Store 373(dv) 385
- 386:132(i64vec3) Load 299(u64v)
- 387:371(f64vec3) Bitcast 386
- Store 373(dv) 387
- 391: 18(int64_t) Bitcast 390
- Store 289(i64) 391
- 393: 18(int64_t) Load 289(i64)
- 394: 74(ivec2) Bitcast 393
- Store 392(iv) 394
- 396: 14(int64_t) Bitcast 395
- Store 301(u64) 396
- 398: 14(int64_t) Load 301(u64)
- 399: 81(ivec2) Bitcast 398
- Store 397(uv) 399
- 402:132(i64vec3) Load 299(u64v)
- 403: 14(int64_t) Load 301(u64)
- 404:132(i64vec3) CompositeConstruct 403 403 403
- 405: 368(bvec3) ULessThan 402 404
- Store 401(bv) 405
- 406: 52(i64vec2) Load 286(i64v)
- 407: 18(int64_t) Load 289(i64)
- 408: 52(i64vec2) CompositeConstruct 407 407
- 409: 56(bvec2) SLessThan 406 408
- 410: 368(bvec3) Load 401(bv)
- 411: 368(bvec3) VectorShuffle 410 409 3 4 2
- Store 401(bv) 411
- 412:132(i64vec3) Load 299(u64v)
- 413: 14(int64_t) Load 301(u64)
- 414:132(i64vec3) CompositeConstruct 413 413 413
- 415: 368(bvec3) ULessThanEqual 412 414
- Store 401(bv) 415
- 416: 52(i64vec2) Load 286(i64v)
- 417: 18(int64_t) Load 289(i64)
- 418: 52(i64vec2) CompositeConstruct 417 417
- 419: 56(bvec2) SLessThanEqual 416 418
- 420: 368(bvec3) Load 401(bv)
- 421: 368(bvec3) VectorShuffle 420 419 3 4 2
- Store 401(bv) 421
- 422:132(i64vec3) Load 299(u64v)
- 423: 14(int64_t) Load 301(u64)
- 424:132(i64vec3) CompositeConstruct 423 423 423
- 425: 368(bvec3) UGreaterThan 422 424
- Store 401(bv) 425
- 426: 52(i64vec2) Load 286(i64v)
- 427: 18(int64_t) Load 289(i64)
- 428: 52(i64vec2) CompositeConstruct 427 427
- 429: 56(bvec2) SGreaterThan 426 428
- 430: 368(bvec3) Load 401(bv)
- 431: 368(bvec3) VectorShuffle 430 429 3 4 2
- Store 401(bv) 431
- 432:132(i64vec3) Load 299(u64v)
- 433: 14(int64_t) Load 301(u64)
- 434:132(i64vec3) CompositeConstruct 433 433 433
- 435: 368(bvec3) UGreaterThanEqual 432 434
- Store 401(bv) 435
- 436: 52(i64vec2) Load 286(i64v)
- 437: 18(int64_t) Load 289(i64)
- 438: 52(i64vec2) CompositeConstruct 437 437
- 439: 56(bvec2) SGreaterThanEqual 436 438
- 440: 368(bvec3) Load 401(bv)
- 441: 368(bvec3) VectorShuffle 440 439 3 4 2
- Store 401(bv) 441
- 442:132(i64vec3) Load 299(u64v)
- 443: 14(int64_t) Load 301(u64)
- 444:132(i64vec3) CompositeConstruct 443 443 443
- 445: 368(bvec3) IEqual 442 444
- Store 401(bv) 445
- 446: 52(i64vec2) Load 286(i64v)
- 447: 18(int64_t) Load 289(i64)
- 448: 52(i64vec2) CompositeConstruct 447 447
- 449: 56(bvec2) IEqual 446 448
- 450: 368(bvec3) Load 401(bv)
- 451: 368(bvec3) VectorShuffle 450 449 3 4 2
- Store 401(bv) 451
+ 384: 377(ptr) AccessChain 373(dv) 227
+ 385:94(float64_t) CompositeExtract 383 0
+ Store 384 385
+ 386: 377(ptr) AccessChain 373(dv) 203
+ 387:94(float64_t) CompositeExtract 383 1
+ Store 386 387
+ 388:132(i64vec3) Load 299(u64v)
+ 389:371(f64vec3) Bitcast 388
+ Store 373(dv) 389
+ 393: 18(int64_t) Bitcast 392
+ Store 289(i64) 393
+ 395: 18(int64_t) Load 289(i64)
+ 396: 74(ivec2) Bitcast 395
+ Store 394(iv) 396
+ 398: 14(int64_t) Bitcast 397
+ Store 301(u64) 398
+ 400: 14(int64_t) Load 301(u64)
+ 401: 81(ivec2) Bitcast 400
+ Store 399(uv) 401
+ 404:132(i64vec3) Load 299(u64v)
+ 405: 14(int64_t) Load 301(u64)
+ 406:132(i64vec3) CompositeConstruct 405 405 405
+ 407: 368(bvec3) ULessThan 404 406
+ Store 403(bv) 407
+ 408: 52(i64vec2) Load 286(i64v)
+ 409: 18(int64_t) Load 289(i64)
+ 410: 52(i64vec2) CompositeConstruct 409 409
+ 411: 56(bvec2) SLessThan 408 410
+ 412: 225(ptr) AccessChain 403(bv) 227
+ 413: 55(bool) CompositeExtract 411 0
+ Store 412 413
+ 414: 225(ptr) AccessChain 403(bv) 203
+ 415: 55(bool) CompositeExtract 411 1
+ Store 414 415
+ 416:132(i64vec3) Load 299(u64v)
+ 417: 14(int64_t) Load 301(u64)
+ 418:132(i64vec3) CompositeConstruct 417 417 417
+ 419: 368(bvec3) ULessThanEqual 416 418
+ Store 403(bv) 419
+ 420: 52(i64vec2) Load 286(i64v)
+ 421: 18(int64_t) Load 289(i64)
+ 422: 52(i64vec2) CompositeConstruct 421 421
+ 423: 56(bvec2) SLessThanEqual 420 422
+ 424: 225(ptr) AccessChain 403(bv) 227
+ 425: 55(bool) CompositeExtract 423 0
+ Store 424 425
+ 426: 225(ptr) AccessChain 403(bv) 203
+ 427: 55(bool) CompositeExtract 423 1
+ Store 426 427
+ 428:132(i64vec3) Load 299(u64v)
+ 429: 14(int64_t) Load 301(u64)
+ 430:132(i64vec3) CompositeConstruct 429 429 429
+ 431: 368(bvec3) UGreaterThan 428 430
+ Store 403(bv) 431
+ 432: 52(i64vec2) Load 286(i64v)
+ 433: 18(int64_t) Load 289(i64)
+ 434: 52(i64vec2) CompositeConstruct 433 433
+ 435: 56(bvec2) SGreaterThan 432 434
+ 436: 225(ptr) AccessChain 403(bv) 227
+ 437: 55(bool) CompositeExtract 435 0
+ Store 436 437
+ 438: 225(ptr) AccessChain 403(bv) 203
+ 439: 55(bool) CompositeExtract 435 1
+ Store 438 439
+ 440:132(i64vec3) Load 299(u64v)
+ 441: 14(int64_t) Load 301(u64)
+ 442:132(i64vec3) CompositeConstruct 441 441 441
+ 443: 368(bvec3) UGreaterThanEqual 440 442
+ Store 403(bv) 443
+ 444: 52(i64vec2) Load 286(i64v)
+ 445: 18(int64_t) Load 289(i64)
+ 446: 52(i64vec2) CompositeConstruct 445 445
+ 447: 56(bvec2) SGreaterThanEqual 444 446
+ 448: 225(ptr) AccessChain 403(bv) 227
+ 449: 55(bool) CompositeExtract 447 0
+ Store 448 449
+ 450: 225(ptr) AccessChain 403(bv) 203
+ 451: 55(bool) CompositeExtract 447 1
+ Store 450 451
452:132(i64vec3) Load 299(u64v)
453: 14(int64_t) Load 301(u64)
454:132(i64vec3) CompositeConstruct 453 453 453
- 455: 368(bvec3) INotEqual 452 454
- Store 401(bv) 455
+ 455: 368(bvec3) IEqual 452 454
+ Store 403(bv) 455
456: 52(i64vec2) Load 286(i64v)
457: 18(int64_t) Load 289(i64)
458: 52(i64vec2) CompositeConstruct 457 457
- 459: 56(bvec2) INotEqual 456 458
- 460: 368(bvec3) Load 401(bv)
- 461: 368(bvec3) VectorShuffle 460 459 3 4 2
- Store 401(bv) 461
- 462: 14(int64_t) Load 301(u64)
- 463: 18(int64_t) ExtInst 1(GLSL.std.450) 73(FindILsb) 462
- Store 289(i64) 463
- 464: 14(int64_t) Load 301(u64)
- 465: 65(i64vec2) CompositeConstruct 464 464
- 466: 52(i64vec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 465
- Store 286(i64v) 466
- 467: 14(int64_t) Load 301(u64)
- 468: 18(int64_t) BitCount 467
- Store 289(i64) 468
- 469: 14(int64_t) Load 301(u64)
- 470: 65(i64vec2) CompositeConstruct 469 469
- 471: 52(i64vec2) BitCount 470
- Store 286(i64v) 471
+ 459: 56(bvec2) IEqual 456 458
+ 460: 225(ptr) AccessChain 403(bv) 227
+ 461: 55(bool) CompositeExtract 459 0
+ Store 460 461
+ 462: 225(ptr) AccessChain 403(bv) 203
+ 463: 55(bool) CompositeExtract 459 1
+ Store 462 463
+ 464:132(i64vec3) Load 299(u64v)
+ 465: 14(int64_t) Load 301(u64)
+ 466:132(i64vec3) CompositeConstruct 465 465 465
+ 467: 368(bvec3) INotEqual 464 466
+ Store 403(bv) 467
+ 468: 52(i64vec2) Load 286(i64v)
+ 469: 18(int64_t) Load 289(i64)
+ 470: 52(i64vec2) CompositeConstruct 469 469
+ 471: 56(bvec2) INotEqual 468 470
+ 472: 225(ptr) AccessChain 403(bv) 227
+ 473: 55(bool) CompositeExtract 471 0
+ Store 472 473
+ 474: 225(ptr) AccessChain 403(bv) 203
+ 475: 55(bool) CompositeExtract 471 1
+ Store 474 475
+ 476: 14(int64_t) Load 301(u64)
+ 477: 18(int64_t) ExtInst 1(GLSL.std.450) 73(FindILsb) 476
+ Store 289(i64) 477
+ 478: 14(int64_t) Load 301(u64)
+ 479: 65(i64vec2) CompositeConstruct 478 478
+ 480: 52(i64vec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 479
+ Store 286(i64v) 480
+ 481: 14(int64_t) Load 301(u64)
+ 482: 18(int64_t) BitCount 481
+ Store 289(i64) 482
+ 483: 14(int64_t) Load 301(u64)
+ 484: 65(i64vec2) CompositeConstruct 483 483
+ 485: 52(i64vec2) BitCount 484
+ Store 286(i64v) 485
Return
FunctionEnd
diff --git a/Test/baseResults/spv.int8.frag.out b/Test/baseResults/spv.int8.frag.out
index e88707d..e9cd5f8 100644
--- a/Test/baseResults/spv.int8.frag.out
+++ b/Test/baseResults/spv.int8.frag.out
@@ -1,7 +1,7 @@
spv.int8.frag
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 518
+// Id's are bound by 544
Capability Shader
Capability Float16
@@ -48,53 +48,55 @@
Name 117 "f64v"
Name 144 "u16v"
Name 174 "bv"
- Name 192 "u8v"
- Name 197 "i8"
- Name 217 "i"
- Name 224 "uv"
- Name 240 "i16"
- Name 276 "b"
- Name 338 "i8v"
- Name 341 "i8"
- Name 351 "u8v"
- Name 353 "u8"
- Name 423 "i16"
- Name 426 "i32"
- Name 429 "i8v4"
- Name 433 "u16"
- Name 434 "u8v2"
- Name 437 "u32"
- Name 440 "u8v4"
- Name 452 "bv"
- Name 513 "Block"
- MemberName 513(Block) 0 "i8"
- MemberName 513(Block) 1 "i8v2"
- MemberName 513(Block) 2 "i8v3"
- MemberName 513(Block) 3 "i8v4"
- MemberName 513(Block) 4 "u8"
- MemberName 513(Block) 5 "u8v2"
- MemberName 513(Block) 6 "u8v3"
- MemberName 513(Block) 7 "u8v4"
- Name 515 "block"
- Name 516 "si8"
- Name 517 "su8"
+ Name 193 "arr"
+ Name 201 "u8v"
+ Name 206 "i8"
+ Name 226 "i"
+ Name 233 "uv"
+ Name 249 "i16"
+ Name 285 "b"
+ Name 348 "f"
+ Name 352 "i8v"
+ Name 355 "i8"
+ Name 365 "u8v"
+ Name 367 "u8"
+ Name 437 "i16"
+ Name 440 "i32"
+ Name 443 "i8v4"
+ Name 447 "u16"
+ Name 448 "u8v2"
+ Name 451 "u32"
+ Name 454 "u8v4"
+ Name 466 "bv"
+ Name 539 "Block"
+ MemberName 539(Block) 0 "i8"
+ MemberName 539(Block) 1 "i8v2"
+ MemberName 539(Block) 2 "i8v3"
+ MemberName 539(Block) 3 "i8v4"
+ MemberName 539(Block) 4 "u8"
+ MemberName 539(Block) 5 "u8v2"
+ MemberName 539(Block) 6 "u8v3"
+ MemberName 539(Block) 7 "u8v4"
+ Name 541 "block"
+ Name 542 "si8"
+ Name 543 "su8"
MemberDecorate 24(Uniforms) 0 Offset 0
Decorate 24(Uniforms) Block
Decorate 26 DescriptorSet 0
Decorate 26 Binding 0
- MemberDecorate 513(Block) 0 Offset 0
- MemberDecorate 513(Block) 1 Offset 2
- MemberDecorate 513(Block) 2 Offset 4
- MemberDecorate 513(Block) 3 Offset 8
- MemberDecorate 513(Block) 4 Offset 12
- MemberDecorate 513(Block) 5 Offset 14
- MemberDecorate 513(Block) 6 Offset 16
- MemberDecorate 513(Block) 7 Offset 20
- Decorate 513(Block) Block
- Decorate 515(block) DescriptorSet 0
- Decorate 515(block) Binding 1
- Decorate 516(si8) SpecId 100
- Decorate 517(su8) SpecId 101
+ MemberDecorate 539(Block) 0 Offset 0
+ MemberDecorate 539(Block) 1 Offset 2
+ MemberDecorate 539(Block) 2 Offset 4
+ MemberDecorate 539(Block) 3 Offset 8
+ MemberDecorate 539(Block) 4 Offset 12
+ MemberDecorate 539(Block) 5 Offset 14
+ MemberDecorate 539(Block) 6 Offset 16
+ MemberDecorate 539(Block) 7 Offset 20
+ Decorate 539(Block) Block
+ Decorate 541(block) DescriptorSet 0
+ Decorate 541(block) Binding 1
+ Decorate 542(si8) SpecId 100
+ Decorate 543(su8) SpecId 101
2: TypeVoid
3: TypeFunction 2
14: TypeInt 8 1
@@ -159,36 +161,45 @@
182: 36(int8_t) Constant 1
183: 49(i8vec2) ConstantComposite 181 181
184: 49(i8vec2) ConstantComposite 182 182
- 190: TypeVector 36(int8_t) 3
- 191: TypePointer Function 190(i8vec3)
- 194: TypeVector 14(int8_t) 3
- 216: TypePointer Function 27(int)
- 222: TypeVector 17(int) 3
- 223: TypePointer Function 222(ivec3)
- 239: TypePointer Function 57(int16_t)
- 261: 17(int) Constant 1
- 267: 17(int) Constant 2
- 275: TypePointer Function 171(bool)
- 277: 17(int) Constant 0
- 291: TypePointer Function 17(int)
- 349: 52(i8vec2) ConstantComposite 21 21
- 358: 190(i8vec3) ConstantComposite 181 181 181
- 400: 171(bool) ConstantTrue
- 407: 171(bool) ConstantFalse
- 408: 172(bvec2) ConstantComposite 407 407
- 420: TypeVector 171(bool) 3
- 421: 420(bvec3) ConstantComposite 407 407 407
- 427: TypeVector 14(int8_t) 4
- 428: TypePointer Function 427(i8vec4)
- 432: TypePointer Function 64(int16_t)
- 438: TypeVector 36(int8_t) 4
- 439: TypePointer Function 438(i8vec4)
- 451: TypePointer Function 420(bvec3)
- 513(Block): TypeStruct 14(int8_t) 52(i8vec2) 194(i8vec3) 427(i8vec4) 36(int8_t) 49(i8vec2) 190(i8vec3) 438(i8vec4)
- 514: TypePointer Uniform 513(Block)
- 515(block): 514(ptr) Variable Uniform
- 516(si8): 14(int8_t) SpecConstant 4294967286
- 517(su8): 36(int8_t) SpecConstant 20
+ 190: 17(int) Constant 4
+ 191: TypeArray 108(float) 190
+ 192: TypePointer Function 191
+ 194: 108(float) Constant 1065353216
+ 195: 108(float) Constant 1073741824
+ 196: 108(float) Constant 1077936128
+ 197: 108(float) Constant 1082130432
+ 198: 191 ConstantComposite 194 195 196 197
+ 199: TypeVector 36(int8_t) 3
+ 200: TypePointer Function 199(i8vec3)
+ 203: TypeVector 14(int8_t) 3
+ 225: TypePointer Function 27(int)
+ 231: TypeVector 17(int) 3
+ 232: TypePointer Function 231(ivec3)
+ 248: TypePointer Function 57(int16_t)
+ 270: 17(int) Constant 1
+ 276: 17(int) Constant 2
+ 284: TypePointer Function 171(bool)
+ 286: 17(int) Constant 0
+ 300: TypePointer Function 17(int)
+ 347: TypePointer Function 108(float)
+ 363: 52(i8vec2) ConstantComposite 21 21
+ 372: 199(i8vec3) ConstantComposite 181 181 181
+ 414: 171(bool) ConstantTrue
+ 421: 171(bool) ConstantFalse
+ 422: 172(bvec2) ConstantComposite 421 421
+ 434: TypeVector 171(bool) 3
+ 435: 434(bvec3) ConstantComposite 421 421 421
+ 441: TypeVector 14(int8_t) 4
+ 442: TypePointer Function 441(i8vec4)
+ 446: TypePointer Function 64(int16_t)
+ 452: TypeVector 36(int8_t) 4
+ 453: TypePointer Function 452(i8vec4)
+ 465: TypePointer Function 434(bvec3)
+ 539(Block): TypeStruct 14(int8_t) 52(i8vec2) 203(i8vec3) 441(i8vec4) 36(int8_t) 49(i8vec2) 199(i8vec3) 452(i8vec4)
+ 540: TypePointer Uniform 539(Block)
+ 541(block): 540(ptr) Variable Uniform
+ 542(si8): 14(int8_t) SpecConstant 4294967286
+ 543(su8): 36(int8_t) SpecConstant 20
4(main): 2 Function None 3
5: Label
Return
@@ -360,378 +371,403 @@
FunctionEnd
10(operators(): 2 Function None 3
11: Label
- 192(u8v): 191(ptr) Variable Function
- 197(i8): 15(ptr) Variable Function
- 217(i): 216(ptr) Variable Function
- 224(uv): 223(ptr) Variable Function
- 240(i16): 239(ptr) Variable Function
- 276(b): 275(ptr) Variable Function
- 193: 190(i8vec3) Load 192(u8v)
- 195: 194(i8vec3) CompositeConstruct 176 176 176
- 196: 190(i8vec3) IAdd 193 195
- Store 192(u8v) 196
- 198: 14(int8_t) Load 197(i8)
- 199: 14(int8_t) ISub 198 176
- Store 197(i8) 199
- 200: 14(int8_t) Load 197(i8)
- 201: 14(int8_t) IAdd 200 176
- Store 197(i8) 201
- 202: 190(i8vec3) Load 192(u8v)
- 203: 194(i8vec3) CompositeConstruct 176 176 176
- 204: 190(i8vec3) ISub 202 203
- Store 192(u8v) 204
- 205: 190(i8vec3) Load 192(u8v)
- 206: 190(i8vec3) Not 205
- Store 192(u8v) 206
- 207: 14(int8_t) Load 197(i8)
- Store 197(i8) 207
- 208: 190(i8vec3) Load 192(u8v)
- 209: 190(i8vec3) SNegate 208
- Store 192(u8v) 209
- 210: 14(int8_t) Load 197(i8)
- 211: 14(int8_t) Load 197(i8)
- 212: 14(int8_t) IAdd 211 210
- Store 197(i8) 212
- 213: 190(i8vec3) Load 192(u8v)
- 214: 190(i8vec3) Load 192(u8v)
- 215: 190(i8vec3) ISub 214 213
- Store 192(u8v) 215
- 218: 14(int8_t) Load 197(i8)
- 219: 27(int) SConvert 218
- 220: 27(int) Load 217(i)
- 221: 27(int) IMul 220 219
- Store 217(i) 221
- 225: 190(i8vec3) Load 192(u8v)
- 226: 222(ivec3) UConvert 225
- 227: 222(ivec3) Load 224(uv)
- 228: 222(ivec3) UDiv 227 226
- Store 224(uv) 228
- 229: 14(int8_t) Load 197(i8)
- 230: 27(int) SConvert 229
- 231: 17(int) Bitcast 230
- 232: 222(ivec3) Load 224(uv)
- 233: 222(ivec3) CompositeConstruct 231 231 231
- 234: 222(ivec3) UMod 232 233
- Store 224(uv) 234
- 235: 190(i8vec3) Load 192(u8v)
- 236: 222(ivec3) UConvert 235
- 237: 222(ivec3) Load 224(uv)
- 238: 222(ivec3) IAdd 236 237
- Store 224(uv) 238
- 241: 14(int8_t) Load 197(i8)
- 242: 57(int16_t) SConvert 241
- 243: 57(int16_t) Load 240(i16)
- 244: 57(int16_t) ISub 242 243
- Store 240(i16) 244
- 245: 190(i8vec3) Load 192(u8v)
- 246: 222(ivec3) UConvert 245
- 247: 222(ivec3) Load 224(uv)
- 248: 222(ivec3) IMul 246 247
- Store 224(uv) 248
- 249: 14(int8_t) Load 197(i8)
- 250: 57(int16_t) SConvert 249
- 251: 57(int16_t) Load 240(i16)
- 252: 57(int16_t) IMul 250 251
- Store 240(i16) 252
- 253: 14(int8_t) Load 197(i8)
- 254: 27(int) SConvert 253
- 255: 27(int) Load 217(i)
- 256: 27(int) SMod 254 255
- Store 217(i) 256
- 257: 14(int8_t) Load 197(i8)
- 258: 190(i8vec3) Load 192(u8v)
- 259: 194(i8vec3) CompositeConstruct 257 257 257
- 260: 190(i8vec3) ShiftLeftLogical 258 259
- Store 192(u8v) 260
- 262: 37(ptr) AccessChain 192(u8v) 261
- 263: 36(int8_t) Load 262
- 264: 14(int8_t) Load 197(i8)
- 265: 14(int8_t) ShiftRightArithmetic 264 263
- Store 197(i8) 265
- 266: 14(int8_t) Load 197(i8)
- 268: 37(ptr) AccessChain 192(u8v) 267
- 269: 36(int8_t) Load 268
- 270: 14(int8_t) ShiftLeftLogical 266 269
- Store 197(i8) 270
- 271: 190(i8vec3) Load 192(u8v)
- 272: 14(int8_t) Load 197(i8)
- 273: 194(i8vec3) CompositeConstruct 272 272 272
- 274: 190(i8vec3) ShiftLeftLogical 271 273
- Store 192(u8v) 274
- 278: 37(ptr) AccessChain 192(u8v) 277
- 279: 36(int8_t) Load 278
- 280: 14(int8_t) Load 197(i8)
- 281: 36(int8_t) Bitcast 280
- 282: 171(bool) INotEqual 279 281
- Store 276(b) 282
- 283: 14(int8_t) Load 197(i8)
- 284: 36(int8_t) Bitcast 283
- 285: 37(ptr) AccessChain 192(u8v) 277
- 286: 36(int8_t) Load 285
- 287: 171(bool) IEqual 284 286
- Store 276(b) 287
- 288: 37(ptr) AccessChain 192(u8v) 277
- 289: 36(int8_t) Load 288
- 290: 17(int) UConvert 289
- 292: 291(ptr) AccessChain 224(uv) 261
- 293: 17(int) Load 292
- 294: 171(bool) UGreaterThan 290 293
- Store 276(b) 294
- 295: 14(int8_t) Load 197(i8)
- 296: 27(int) SConvert 295
- 297: 27(int) Load 217(i)
- 298: 171(bool) SLessThan 296 297
- Store 276(b) 298
- 299: 37(ptr) AccessChain 192(u8v) 261
- 300: 36(int8_t) Load 299
- 301: 17(int) UConvert 300
- 302: 291(ptr) AccessChain 224(uv) 277
- 303: 17(int) Load 302
- 304: 171(bool) UGreaterThanEqual 301 303
- Store 276(b) 304
- 305: 14(int8_t) Load 197(i8)
- 306: 27(int) SConvert 305
- 307: 27(int) Load 217(i)
- 308: 171(bool) SLessThanEqual 306 307
- Store 276(b) 308
- 309: 14(int8_t) Load 197(i8)
- 310: 27(int) SConvert 309
- 311: 17(int) Bitcast 310
- 312: 222(ivec3) Load 224(uv)
- 313: 222(ivec3) CompositeConstruct 311 311 311
- 314: 222(ivec3) BitwiseOr 312 313
- Store 224(uv) 314
- 315: 14(int8_t) Load 197(i8)
- 316: 27(int) SConvert 315
- 317: 27(int) Load 217(i)
- 318: 27(int) BitwiseOr 316 317
- Store 217(i) 318
- 319: 14(int8_t) Load 197(i8)
- 320: 57(int16_t) SConvert 319
- 321: 57(int16_t) Load 240(i16)
- 322: 57(int16_t) BitwiseAnd 321 320
- Store 240(i16) 322
- 323: 190(i8vec3) Load 192(u8v)
- 324: 222(ivec3) UConvert 323
- 325: 222(ivec3) Load 224(uv)
- 326: 222(ivec3) BitwiseAnd 324 325
- Store 224(uv) 326
- 327: 14(int8_t) Load 197(i8)
- 328: 27(int) SConvert 327
- 329: 17(int) Bitcast 328
- 330: 222(ivec3) Load 224(uv)
- 331: 222(ivec3) CompositeConstruct 329 329 329
- 332: 222(ivec3) BitwiseXor 330 331
- Store 224(uv) 332
- 333: 190(i8vec3) Load 192(u8v)
- 334: 14(int8_t) Load 197(i8)
- 335: 36(int8_t) Bitcast 334
- 336: 190(i8vec3) CompositeConstruct 335 335 335
- 337: 190(i8vec3) BitwiseXor 333 336
- Store 192(u8v) 337
+ 193(arr): 192(ptr) Variable Function
+ 201(u8v): 200(ptr) Variable Function
+ 206(i8): 15(ptr) Variable Function
+ 226(i): 225(ptr) Variable Function
+ 233(uv): 232(ptr) Variable Function
+ 249(i16): 248(ptr) Variable Function
+ 285(b): 284(ptr) Variable Function
+ 348(f): 347(ptr) Variable Function
+ Store 193(arr) 198
+ 202: 199(i8vec3) Load 201(u8v)
+ 204: 203(i8vec3) CompositeConstruct 176 176 176
+ 205: 199(i8vec3) IAdd 202 204
+ Store 201(u8v) 205
+ 207: 14(int8_t) Load 206(i8)
+ 208: 14(int8_t) ISub 207 176
+ Store 206(i8) 208
+ 209: 14(int8_t) Load 206(i8)
+ 210: 14(int8_t) IAdd 209 176
+ Store 206(i8) 210
+ 211: 199(i8vec3) Load 201(u8v)
+ 212: 203(i8vec3) CompositeConstruct 176 176 176
+ 213: 199(i8vec3) ISub 211 212
+ Store 201(u8v) 213
+ 214: 199(i8vec3) Load 201(u8v)
+ 215: 199(i8vec3) Not 214
+ Store 201(u8v) 215
+ 216: 14(int8_t) Load 206(i8)
+ Store 206(i8) 216
+ 217: 199(i8vec3) Load 201(u8v)
+ 218: 199(i8vec3) SNegate 217
+ Store 201(u8v) 218
+ 219: 14(int8_t) Load 206(i8)
+ 220: 14(int8_t) Load 206(i8)
+ 221: 14(int8_t) IAdd 220 219
+ Store 206(i8) 221
+ 222: 199(i8vec3) Load 201(u8v)
+ 223: 199(i8vec3) Load 201(u8v)
+ 224: 199(i8vec3) ISub 223 222
+ Store 201(u8v) 224
+ 227: 14(int8_t) Load 206(i8)
+ 228: 27(int) SConvert 227
+ 229: 27(int) Load 226(i)
+ 230: 27(int) IMul 229 228
+ Store 226(i) 230
+ 234: 199(i8vec3) Load 201(u8v)
+ 235: 231(ivec3) UConvert 234
+ 236: 231(ivec3) Load 233(uv)
+ 237: 231(ivec3) UDiv 236 235
+ Store 233(uv) 237
+ 238: 14(int8_t) Load 206(i8)
+ 239: 27(int) SConvert 238
+ 240: 17(int) Bitcast 239
+ 241: 231(ivec3) Load 233(uv)
+ 242: 231(ivec3) CompositeConstruct 240 240 240
+ 243: 231(ivec3) UMod 241 242
+ Store 233(uv) 243
+ 244: 199(i8vec3) Load 201(u8v)
+ 245: 231(ivec3) UConvert 244
+ 246: 231(ivec3) Load 233(uv)
+ 247: 231(ivec3) IAdd 245 246
+ Store 233(uv) 247
+ 250: 14(int8_t) Load 206(i8)
+ 251: 57(int16_t) SConvert 250
+ 252: 57(int16_t) Load 249(i16)
+ 253: 57(int16_t) ISub 251 252
+ Store 249(i16) 253
+ 254: 199(i8vec3) Load 201(u8v)
+ 255: 231(ivec3) UConvert 254
+ 256: 231(ivec3) Load 233(uv)
+ 257: 231(ivec3) IMul 255 256
+ Store 233(uv) 257
+ 258: 14(int8_t) Load 206(i8)
+ 259: 57(int16_t) SConvert 258
+ 260: 57(int16_t) Load 249(i16)
+ 261: 57(int16_t) IMul 259 260
+ Store 249(i16) 261
+ 262: 14(int8_t) Load 206(i8)
+ 263: 27(int) SConvert 262
+ 264: 27(int) Load 226(i)
+ 265: 27(int) SMod 263 264
+ Store 226(i) 265
+ 266: 14(int8_t) Load 206(i8)
+ 267: 199(i8vec3) Load 201(u8v)
+ 268: 203(i8vec3) CompositeConstruct 266 266 266
+ 269: 199(i8vec3) ShiftLeftLogical 267 268
+ Store 201(u8v) 269
+ 271: 37(ptr) AccessChain 201(u8v) 270
+ 272: 36(int8_t) Load 271
+ 273: 14(int8_t) Load 206(i8)
+ 274: 14(int8_t) ShiftRightArithmetic 273 272
+ Store 206(i8) 274
+ 275: 14(int8_t) Load 206(i8)
+ 277: 37(ptr) AccessChain 201(u8v) 276
+ 278: 36(int8_t) Load 277
+ 279: 14(int8_t) ShiftLeftLogical 275 278
+ Store 206(i8) 279
+ 280: 199(i8vec3) Load 201(u8v)
+ 281: 14(int8_t) Load 206(i8)
+ 282: 203(i8vec3) CompositeConstruct 281 281 281
+ 283: 199(i8vec3) ShiftLeftLogical 280 282
+ Store 201(u8v) 283
+ 287: 37(ptr) AccessChain 201(u8v) 286
+ 288: 36(int8_t) Load 287
+ 289: 14(int8_t) Load 206(i8)
+ 290: 36(int8_t) Bitcast 289
+ 291: 171(bool) INotEqual 288 290
+ Store 285(b) 291
+ 292: 14(int8_t) Load 206(i8)
+ 293: 36(int8_t) Bitcast 292
+ 294: 37(ptr) AccessChain 201(u8v) 286
+ 295: 36(int8_t) Load 294
+ 296: 171(bool) IEqual 293 295
+ Store 285(b) 296
+ 297: 37(ptr) AccessChain 201(u8v) 286
+ 298: 36(int8_t) Load 297
+ 299: 17(int) UConvert 298
+ 301: 300(ptr) AccessChain 233(uv) 270
+ 302: 17(int) Load 301
+ 303: 171(bool) UGreaterThan 299 302
+ Store 285(b) 303
+ 304: 14(int8_t) Load 206(i8)
+ 305: 27(int) SConvert 304
+ 306: 27(int) Load 226(i)
+ 307: 171(bool) SLessThan 305 306
+ Store 285(b) 307
+ 308: 37(ptr) AccessChain 201(u8v) 270
+ 309: 36(int8_t) Load 308
+ 310: 17(int) UConvert 309
+ 311: 300(ptr) AccessChain 233(uv) 286
+ 312: 17(int) Load 311
+ 313: 171(bool) UGreaterThanEqual 310 312
+ Store 285(b) 313
+ 314: 14(int8_t) Load 206(i8)
+ 315: 27(int) SConvert 314
+ 316: 27(int) Load 226(i)
+ 317: 171(bool) SLessThanEqual 315 316
+ Store 285(b) 317
+ 318: 14(int8_t) Load 206(i8)
+ 319: 27(int) SConvert 318
+ 320: 17(int) Bitcast 319
+ 321: 231(ivec3) Load 233(uv)
+ 322: 231(ivec3) CompositeConstruct 320 320 320
+ 323: 231(ivec3) BitwiseOr 321 322
+ Store 233(uv) 323
+ 324: 14(int8_t) Load 206(i8)
+ 325: 27(int) SConvert 324
+ 326: 27(int) Load 226(i)
+ 327: 27(int) BitwiseOr 325 326
+ Store 226(i) 327
+ 328: 14(int8_t) Load 206(i8)
+ 329: 57(int16_t) SConvert 328
+ 330: 57(int16_t) Load 249(i16)
+ 331: 57(int16_t) BitwiseAnd 330 329
+ Store 249(i16) 331
+ 332: 199(i8vec3) Load 201(u8v)
+ 333: 231(ivec3) UConvert 332
+ 334: 231(ivec3) Load 233(uv)
+ 335: 231(ivec3) BitwiseAnd 333 334
+ Store 233(uv) 335
+ 336: 14(int8_t) Load 206(i8)
+ 337: 27(int) SConvert 336
+ 338: 17(int) Bitcast 337
+ 339: 231(ivec3) Load 233(uv)
+ 340: 231(ivec3) CompositeConstruct 338 338 338
+ 341: 231(ivec3) BitwiseXor 339 340
+ Store 233(uv) 341
+ 342: 199(i8vec3) Load 201(u8v)
+ 343: 14(int8_t) Load 206(i8)
+ 344: 36(int8_t) Bitcast 343
+ 345: 199(i8vec3) CompositeConstruct 344 344 344
+ 346: 199(i8vec3) BitwiseXor 342 345
+ Store 201(u8v) 346
+ 349: 14(int8_t) Load 206(i8)
+ 350: 347(ptr) AccessChain 193(arr) 349
+ 351: 108(float) Load 350
+ Store 348(f) 351
Return
FunctionEnd
12(builtinFuncs(): 2 Function None 3
13: Label
- 338(i8v): 53(ptr) Variable Function
- 341(i8): 15(ptr) Variable Function
- 351(u8v): 191(ptr) Variable Function
- 353(u8): 37(ptr) Variable Function
- 423(i16): 239(ptr) Variable Function
- 426(i32): 216(ptr) Variable Function
- 429(i8v4): 428(ptr) Variable Function
- 433(u16): 432(ptr) Variable Function
- 434(u8v2): 50(ptr) Variable Function
- 437(u32): 291(ptr) Variable Function
- 440(u8v4): 439(ptr) Variable Function
- 452(bv): 451(ptr) Variable Function
- 339: 52(i8vec2) Load 338(i8v)
- 340: 52(i8vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 339
- Store 338(i8v) 340
- 342: 14(int8_t) Load 341(i8)
- 343: 14(int8_t) ExtInst 1(GLSL.std.450) 7(SSign) 342
- Store 341(i8) 343
- 344: 52(i8vec2) Load 338(i8v)
- 345: 14(int8_t) Load 341(i8)
- 346: 52(i8vec2) CompositeConstruct 345 345
- 347: 52(i8vec2) ExtInst 1(GLSL.std.450) 39(SMin) 344 346
- Store 338(i8v) 347
- 348: 52(i8vec2) Load 338(i8v)
- 350: 52(i8vec2) ExtInst 1(GLSL.std.450) 39(SMin) 348 349
- Store 338(i8v) 350
- 352: 190(i8vec3) Load 351(u8v)
- 354: 36(int8_t) Load 353(u8)
- 355: 190(i8vec3) CompositeConstruct 354 354 354
- 356: 190(i8vec3) ExtInst 1(GLSL.std.450) 38(UMin) 352 355
- Store 351(u8v) 356
- 357: 190(i8vec3) Load 351(u8v)
- 359: 190(i8vec3) ExtInst 1(GLSL.std.450) 38(UMin) 357 358
- Store 351(u8v) 359
- 360: 52(i8vec2) Load 338(i8v)
- 361: 14(int8_t) Load 341(i8)
- 362: 52(i8vec2) CompositeConstruct 361 361
- 363: 52(i8vec2) ExtInst 1(GLSL.std.450) 42(SMax) 360 362
- Store 338(i8v) 363
- 364: 52(i8vec2) Load 338(i8v)
- 365: 52(i8vec2) ExtInst 1(GLSL.std.450) 42(SMax) 364 349
- Store 338(i8v) 365
- 366: 190(i8vec3) Load 351(u8v)
- 367: 36(int8_t) Load 353(u8)
- 368: 190(i8vec3) CompositeConstruct 367 367 367
- 369: 190(i8vec3) ExtInst 1(GLSL.std.450) 41(UMax) 366 368
- Store 351(u8v) 369
- 370: 190(i8vec3) Load 351(u8v)
- 371: 190(i8vec3) ExtInst 1(GLSL.std.450) 41(UMax) 370 358
- Store 351(u8v) 371
- 372: 52(i8vec2) Load 338(i8v)
- 373: 14(int8_t) Load 341(i8)
- 374: 14(int8_t) SNegate 373
- 375: 14(int8_t) Load 341(i8)
- 376: 52(i8vec2) CompositeConstruct 374 374
- 377: 52(i8vec2) CompositeConstruct 375 375
- 378: 52(i8vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 372 376 377
- Store 338(i8v) 378
- 379: 52(i8vec2) Load 338(i8v)
- 380: 52(i8vec2) Load 338(i8v)
- 381: 52(i8vec2) SNegate 380
- 382: 52(i8vec2) Load 338(i8v)
- 383: 52(i8vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 379 381 382
- Store 338(i8v) 383
- 384: 190(i8vec3) Load 351(u8v)
- 385: 36(int8_t) Load 353(u8)
- 386: 36(int8_t) SNegate 385
- 387: 36(int8_t) Load 353(u8)
- 388: 190(i8vec3) CompositeConstruct 386 386 386
- 389: 190(i8vec3) CompositeConstruct 387 387 387
- 390: 190(i8vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 384 388 389
- Store 351(u8v) 390
- 391: 190(i8vec3) Load 351(u8v)
- 392: 190(i8vec3) Load 351(u8v)
- 393: 190(i8vec3) SNegate 392
- 394: 190(i8vec3) Load 351(u8v)
- 395: 190(i8vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 391 393 394
- Store 351(u8v) 395
- 396: 15(ptr) AccessChain 338(i8v) 277
- 397: 14(int8_t) Load 396
- 398: 15(ptr) AccessChain 338(i8v) 261
- 399: 14(int8_t) Load 398
- 401: 14(int8_t) Select 400 399 397
- Store 341(i8) 401
- 402: 14(int8_t) Load 341(i8)
- 403: 52(i8vec2) CompositeConstruct 402 402
- 404: 14(int8_t) Load 341(i8)
- 405: 14(int8_t) SNegate 404
- 406: 52(i8vec2) CompositeConstruct 405 405
- 409: 52(i8vec2) Select 408 406 403
- Store 338(i8v) 409
- 410: 37(ptr) AccessChain 351(u8v) 277
- 411: 36(int8_t) Load 410
- 412: 37(ptr) AccessChain 351(u8v) 261
- 413: 36(int8_t) Load 412
- 414: 36(int8_t) Select 400 413 411
- Store 353(u8) 414
- 415: 36(int8_t) Load 353(u8)
- 416: 190(i8vec3) CompositeConstruct 415 415 415
- 417: 36(int8_t) Load 353(u8)
- 418: 36(int8_t) SNegate 417
- 419: 190(i8vec3) CompositeConstruct 418 418 418
- 422: 190(i8vec3) Select 421 419 416
- Store 351(u8v) 422
- 424: 52(i8vec2) Load 338(i8v)
- 425: 57(int16_t) Bitcast 424
- Store 423(i16) 425
- 430: 427(i8vec4) Load 429(i8v4)
- 431: 27(int) Bitcast 430
- Store 426(i32) 431
- 435: 49(i8vec2) Load 434(u8v2)
- 436: 64(int16_t) Bitcast 435
- Store 433(u16) 436
- 441: 438(i8vec4) Load 440(u8v4)
- 442: 17(int) Bitcast 441
- Store 437(u32) 442
- 443: 57(int16_t) Load 423(i16)
- 444: 52(i8vec2) Bitcast 443
- Store 338(i8v) 444
- 445: 27(int) Load 426(i32)
- 446: 427(i8vec4) Bitcast 445
- Store 429(i8v4) 446
- 447: 64(int16_t) Load 433(u16)
- 448: 49(i8vec2) Bitcast 447
- Store 434(u8v2) 448
- 449: 17(int) Load 437(u32)
- 450: 438(i8vec4) Bitcast 449
- Store 440(u8v4) 450
- 453: 190(i8vec3) Load 351(u8v)
- 454: 36(int8_t) Load 353(u8)
- 455: 190(i8vec3) CompositeConstruct 454 454 454
- 456: 420(bvec3) ULessThan 453 455
- Store 452(bv) 456
- 457: 52(i8vec2) Load 338(i8v)
- 458: 14(int8_t) Load 341(i8)
- 459: 52(i8vec2) CompositeConstruct 458 458
- 460: 172(bvec2) SLessThan 457 459
- 461: 420(bvec3) Load 452(bv)
- 462: 420(bvec3) VectorShuffle 461 460 3 4 2
- Store 452(bv) 462
- 463: 190(i8vec3) Load 351(u8v)
- 464: 36(int8_t) Load 353(u8)
- 465: 190(i8vec3) CompositeConstruct 464 464 464
- 466: 420(bvec3) ULessThanEqual 463 465
- Store 452(bv) 466
- 467: 52(i8vec2) Load 338(i8v)
- 468: 14(int8_t) Load 341(i8)
- 469: 52(i8vec2) CompositeConstruct 468 468
- 470: 172(bvec2) SLessThanEqual 467 469
- 471: 420(bvec3) Load 452(bv)
- 472: 420(bvec3) VectorShuffle 471 470 3 4 2
- Store 452(bv) 472
- 473: 190(i8vec3) Load 351(u8v)
- 474: 36(int8_t) Load 353(u8)
- 475: 190(i8vec3) CompositeConstruct 474 474 474
- 476: 420(bvec3) UGreaterThan 473 475
- Store 452(bv) 476
- 477: 52(i8vec2) Load 338(i8v)
- 478: 14(int8_t) Load 341(i8)
- 479: 52(i8vec2) CompositeConstruct 478 478
- 480: 172(bvec2) SGreaterThan 477 479
- 481: 420(bvec3) Load 452(bv)
- 482: 420(bvec3) VectorShuffle 481 480 3 4 2
- Store 452(bv) 482
- 483: 190(i8vec3) Load 351(u8v)
- 484: 36(int8_t) Load 353(u8)
- 485: 190(i8vec3) CompositeConstruct 484 484 484
- 486: 420(bvec3) UGreaterThanEqual 483 485
- Store 452(bv) 486
- 487: 52(i8vec2) Load 338(i8v)
- 488: 14(int8_t) Load 341(i8)
- 489: 52(i8vec2) CompositeConstruct 488 488
- 490: 172(bvec2) SGreaterThanEqual 487 489
- 491: 420(bvec3) Load 452(bv)
- 492: 420(bvec3) VectorShuffle 491 490 3 4 2
- Store 452(bv) 492
- 493: 190(i8vec3) Load 351(u8v)
- 494: 36(int8_t) Load 353(u8)
- 495: 190(i8vec3) CompositeConstruct 494 494 494
- 496: 420(bvec3) IEqual 493 495
- Store 452(bv) 496
- 497: 52(i8vec2) Load 338(i8v)
- 498: 14(int8_t) Load 341(i8)
- 499: 52(i8vec2) CompositeConstruct 498 498
- 500: 172(bvec2) IEqual 497 499
- 501: 420(bvec3) Load 452(bv)
- 502: 420(bvec3) VectorShuffle 501 500 3 4 2
- Store 452(bv) 502
- 503: 190(i8vec3) Load 351(u8v)
- 504: 36(int8_t) Load 353(u8)
- 505: 190(i8vec3) CompositeConstruct 504 504 504
- 506: 420(bvec3) INotEqual 503 505
- Store 452(bv) 506
- 507: 52(i8vec2) Load 338(i8v)
- 508: 14(int8_t) Load 341(i8)
+ 352(i8v): 53(ptr) Variable Function
+ 355(i8): 15(ptr) Variable Function
+ 365(u8v): 200(ptr) Variable Function
+ 367(u8): 37(ptr) Variable Function
+ 437(i16): 248(ptr) Variable Function
+ 440(i32): 225(ptr) Variable Function
+ 443(i8v4): 442(ptr) Variable Function
+ 447(u16): 446(ptr) Variable Function
+ 448(u8v2): 50(ptr) Variable Function
+ 451(u32): 300(ptr) Variable Function
+ 454(u8v4): 453(ptr) Variable Function
+ 466(bv): 465(ptr) Variable Function
+ 353: 52(i8vec2) Load 352(i8v)
+ 354: 52(i8vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 353
+ Store 352(i8v) 354
+ 356: 14(int8_t) Load 355(i8)
+ 357: 14(int8_t) ExtInst 1(GLSL.std.450) 7(SSign) 356
+ Store 355(i8) 357
+ 358: 52(i8vec2) Load 352(i8v)
+ 359: 14(int8_t) Load 355(i8)
+ 360: 52(i8vec2) CompositeConstruct 359 359
+ 361: 52(i8vec2) ExtInst 1(GLSL.std.450) 39(SMin) 358 360
+ Store 352(i8v) 361
+ 362: 52(i8vec2) Load 352(i8v)
+ 364: 52(i8vec2) ExtInst 1(GLSL.std.450) 39(SMin) 362 363
+ Store 352(i8v) 364
+ 366: 199(i8vec3) Load 365(u8v)
+ 368: 36(int8_t) Load 367(u8)
+ 369: 199(i8vec3) CompositeConstruct 368 368 368
+ 370: 199(i8vec3) ExtInst 1(GLSL.std.450) 38(UMin) 366 369
+ Store 365(u8v) 370
+ 371: 199(i8vec3) Load 365(u8v)
+ 373: 199(i8vec3) ExtInst 1(GLSL.std.450) 38(UMin) 371 372
+ Store 365(u8v) 373
+ 374: 52(i8vec2) Load 352(i8v)
+ 375: 14(int8_t) Load 355(i8)
+ 376: 52(i8vec2) CompositeConstruct 375 375
+ 377: 52(i8vec2) ExtInst 1(GLSL.std.450) 42(SMax) 374 376
+ Store 352(i8v) 377
+ 378: 52(i8vec2) Load 352(i8v)
+ 379: 52(i8vec2) ExtInst 1(GLSL.std.450) 42(SMax) 378 363
+ Store 352(i8v) 379
+ 380: 199(i8vec3) Load 365(u8v)
+ 381: 36(int8_t) Load 367(u8)
+ 382: 199(i8vec3) CompositeConstruct 381 381 381
+ 383: 199(i8vec3) ExtInst 1(GLSL.std.450) 41(UMax) 380 382
+ Store 365(u8v) 383
+ 384: 199(i8vec3) Load 365(u8v)
+ 385: 199(i8vec3) ExtInst 1(GLSL.std.450) 41(UMax) 384 372
+ Store 365(u8v) 385
+ 386: 52(i8vec2) Load 352(i8v)
+ 387: 14(int8_t) Load 355(i8)
+ 388: 14(int8_t) SNegate 387
+ 389: 14(int8_t) Load 355(i8)
+ 390: 52(i8vec2) CompositeConstruct 388 388
+ 391: 52(i8vec2) CompositeConstruct 389 389
+ 392: 52(i8vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 386 390 391
+ Store 352(i8v) 392
+ 393: 52(i8vec2) Load 352(i8v)
+ 394: 52(i8vec2) Load 352(i8v)
+ 395: 52(i8vec2) SNegate 394
+ 396: 52(i8vec2) Load 352(i8v)
+ 397: 52(i8vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 393 395 396
+ Store 352(i8v) 397
+ 398: 199(i8vec3) Load 365(u8v)
+ 399: 36(int8_t) Load 367(u8)
+ 400: 36(int8_t) SNegate 399
+ 401: 36(int8_t) Load 367(u8)
+ 402: 199(i8vec3) CompositeConstruct 400 400 400
+ 403: 199(i8vec3) CompositeConstruct 401 401 401
+ 404: 199(i8vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 398 402 403
+ Store 365(u8v) 404
+ 405: 199(i8vec3) Load 365(u8v)
+ 406: 199(i8vec3) Load 365(u8v)
+ 407: 199(i8vec3) SNegate 406
+ 408: 199(i8vec3) Load 365(u8v)
+ 409: 199(i8vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 405 407 408
+ Store 365(u8v) 409
+ 410: 15(ptr) AccessChain 352(i8v) 286
+ 411: 14(int8_t) Load 410
+ 412: 15(ptr) AccessChain 352(i8v) 270
+ 413: 14(int8_t) Load 412
+ 415: 14(int8_t) Select 414 413 411
+ Store 355(i8) 415
+ 416: 14(int8_t) Load 355(i8)
+ 417: 52(i8vec2) CompositeConstruct 416 416
+ 418: 14(int8_t) Load 355(i8)
+ 419: 14(int8_t) SNegate 418
+ 420: 52(i8vec2) CompositeConstruct 419 419
+ 423: 52(i8vec2) Select 422 420 417
+ Store 352(i8v) 423
+ 424: 37(ptr) AccessChain 365(u8v) 286
+ 425: 36(int8_t) Load 424
+ 426: 37(ptr) AccessChain 365(u8v) 270
+ 427: 36(int8_t) Load 426
+ 428: 36(int8_t) Select 414 427 425
+ Store 367(u8) 428
+ 429: 36(int8_t) Load 367(u8)
+ 430: 199(i8vec3) CompositeConstruct 429 429 429
+ 431: 36(int8_t) Load 367(u8)
+ 432: 36(int8_t) SNegate 431
+ 433: 199(i8vec3) CompositeConstruct 432 432 432
+ 436: 199(i8vec3) Select 435 433 430
+ Store 365(u8v) 436
+ 438: 52(i8vec2) Load 352(i8v)
+ 439: 57(int16_t) Bitcast 438
+ Store 437(i16) 439
+ 444: 441(i8vec4) Load 443(i8v4)
+ 445: 27(int) Bitcast 444
+ Store 440(i32) 445
+ 449: 49(i8vec2) Load 448(u8v2)
+ 450: 64(int16_t) Bitcast 449
+ Store 447(u16) 450
+ 455: 452(i8vec4) Load 454(u8v4)
+ 456: 17(int) Bitcast 455
+ Store 451(u32) 456
+ 457: 57(int16_t) Load 437(i16)
+ 458: 52(i8vec2) Bitcast 457
+ Store 352(i8v) 458
+ 459: 27(int) Load 440(i32)
+ 460: 441(i8vec4) Bitcast 459
+ Store 443(i8v4) 460
+ 461: 64(int16_t) Load 447(u16)
+ 462: 49(i8vec2) Bitcast 461
+ Store 448(u8v2) 462
+ 463: 17(int) Load 451(u32)
+ 464: 452(i8vec4) Bitcast 463
+ Store 454(u8v4) 464
+ 467: 199(i8vec3) Load 365(u8v)
+ 468: 36(int8_t) Load 367(u8)
+ 469: 199(i8vec3) CompositeConstruct 468 468 468
+ 470: 434(bvec3) ULessThan 467 469
+ Store 466(bv) 470
+ 471: 52(i8vec2) Load 352(i8v)
+ 472: 14(int8_t) Load 355(i8)
+ 473: 52(i8vec2) CompositeConstruct 472 472
+ 474: 172(bvec2) SLessThan 471 473
+ 475: 284(ptr) AccessChain 466(bv) 286
+ 476: 171(bool) CompositeExtract 474 0
+ Store 475 476
+ 477: 284(ptr) AccessChain 466(bv) 270
+ 478: 171(bool) CompositeExtract 474 1
+ Store 477 478
+ 479: 199(i8vec3) Load 365(u8v)
+ 480: 36(int8_t) Load 367(u8)
+ 481: 199(i8vec3) CompositeConstruct 480 480 480
+ 482: 434(bvec3) ULessThanEqual 479 481
+ Store 466(bv) 482
+ 483: 52(i8vec2) Load 352(i8v)
+ 484: 14(int8_t) Load 355(i8)
+ 485: 52(i8vec2) CompositeConstruct 484 484
+ 486: 172(bvec2) SLessThanEqual 483 485
+ 487: 284(ptr) AccessChain 466(bv) 286
+ 488: 171(bool) CompositeExtract 486 0
+ Store 487 488
+ 489: 284(ptr) AccessChain 466(bv) 270
+ 490: 171(bool) CompositeExtract 486 1
+ Store 489 490
+ 491: 199(i8vec3) Load 365(u8v)
+ 492: 36(int8_t) Load 367(u8)
+ 493: 199(i8vec3) CompositeConstruct 492 492 492
+ 494: 434(bvec3) UGreaterThan 491 493
+ Store 466(bv) 494
+ 495: 52(i8vec2) Load 352(i8v)
+ 496: 14(int8_t) Load 355(i8)
+ 497: 52(i8vec2) CompositeConstruct 496 496
+ 498: 172(bvec2) SGreaterThan 495 497
+ 499: 284(ptr) AccessChain 466(bv) 286
+ 500: 171(bool) CompositeExtract 498 0
+ Store 499 500
+ 501: 284(ptr) AccessChain 466(bv) 270
+ 502: 171(bool) CompositeExtract 498 1
+ Store 501 502
+ 503: 199(i8vec3) Load 365(u8v)
+ 504: 36(int8_t) Load 367(u8)
+ 505: 199(i8vec3) CompositeConstruct 504 504 504
+ 506: 434(bvec3) UGreaterThanEqual 503 505
+ Store 466(bv) 506
+ 507: 52(i8vec2) Load 352(i8v)
+ 508: 14(int8_t) Load 355(i8)
509: 52(i8vec2) CompositeConstruct 508 508
- 510: 172(bvec2) INotEqual 507 509
- 511: 420(bvec3) Load 452(bv)
- 512: 420(bvec3) VectorShuffle 511 510 3 4 2
- Store 452(bv) 512
+ 510: 172(bvec2) SGreaterThanEqual 507 509
+ 511: 284(ptr) AccessChain 466(bv) 286
+ 512: 171(bool) CompositeExtract 510 0
+ Store 511 512
+ 513: 284(ptr) AccessChain 466(bv) 270
+ 514: 171(bool) CompositeExtract 510 1
+ Store 513 514
+ 515: 199(i8vec3) Load 365(u8v)
+ 516: 36(int8_t) Load 367(u8)
+ 517: 199(i8vec3) CompositeConstruct 516 516 516
+ 518: 434(bvec3) IEqual 515 517
+ Store 466(bv) 518
+ 519: 52(i8vec2) Load 352(i8v)
+ 520: 14(int8_t) Load 355(i8)
+ 521: 52(i8vec2) CompositeConstruct 520 520
+ 522: 172(bvec2) IEqual 519 521
+ 523: 284(ptr) AccessChain 466(bv) 286
+ 524: 171(bool) CompositeExtract 522 0
+ Store 523 524
+ 525: 284(ptr) AccessChain 466(bv) 270
+ 526: 171(bool) CompositeExtract 522 1
+ Store 525 526
+ 527: 199(i8vec3) Load 365(u8v)
+ 528: 36(int8_t) Load 367(u8)
+ 529: 199(i8vec3) CompositeConstruct 528 528 528
+ 530: 434(bvec3) INotEqual 527 529
+ Store 466(bv) 530
+ 531: 52(i8vec2) Load 352(i8v)
+ 532: 14(int8_t) Load 355(i8)
+ 533: 52(i8vec2) CompositeConstruct 532 532
+ 534: 172(bvec2) INotEqual 531 533
+ 535: 284(ptr) AccessChain 466(bv) 286
+ 536: 171(bool) CompositeExtract 534 0
+ Store 535 536
+ 537: 284(ptr) AccessChain 466(bv) 270
+ 538: 171(bool) CompositeExtract 534 1
+ Store 537 538
Return
FunctionEnd
diff --git a/Test/baseResults/spv.intOps.vert.out b/Test/baseResults/spv.intOps.vert.out
index d57c306..b57eac2 100644
--- a/Test/baseResults/spv.intOps.vert.out
+++ b/Test/baseResults/spv.intOps.vert.out
@@ -1,12 +1,12 @@
spv.intOps.vert
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 268
+// Id's are bound by 302
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 9 15 21 26 47 67 83 100 121 142 146 156 173 182 247
+ EntryPoint Vertex 4 "main" 9 15 21 26 53 72 88 105 137 156 160 172 189 202 281
Source ESSL 310
Name 4 "main"
Name 9 "iout"
@@ -15,44 +15,44 @@
Name 26 "u2"
Name 30 "u2out"
Name 31 "ResType"
- Name 47 "u1"
- Name 51 "u1out"
- Name 52 "ResType"
- Name 67 "u4"
- Name 71 "u4outHi"
- Name 72 "u4outLow"
- Name 73 "ResType"
- Name 83 "i4"
- Name 87 "i4outHi"
- Name 88 "i4outLow"
- Name 89 "ResType"
- Name 100 "v3"
- Name 104 "i3out"
- Name 105 "ResType"
- Name 121 "v1"
- Name 124 "i1out"
- Name 125 "ResType"
- Name 142 "v2"
- Name 146 "i2"
- Name 156 "i1"
- Name 173 "u3"
- Name 182 "i3"
- Name 247 "v4"
+ Name 53 "u1"
+ Name 57 "u1out"
+ Name 58 "ResType"
+ Name 72 "u4"
+ Name 76 "u4outHi"
+ Name 77 "u4outLow"
+ Name 78 "ResType"
+ Name 88 "i4"
+ Name 92 "i4outHi"
+ Name 93 "i4outLow"
+ Name 94 "ResType"
+ Name 105 "v3"
+ Name 109 "i3out"
+ Name 110 "ResType"
+ Name 137 "v1"
+ Name 140 "i1out"
+ Name 141 "ResType"
+ Name 156 "v2"
+ Name 160 "i2"
+ Name 172 "i1"
+ Name 189 "u3"
+ Name 202 "i3"
+ Name 281 "v4"
Decorate 9(iout) Location 1
Decorate 15(uout) Location 0
Decorate 21(fout) Location 2
Decorate 26(u2) Location 1
- Decorate 47(u1) Location 0
- Decorate 67(u4) Location 3
- Decorate 83(i4) Location 11
- Decorate 100(v3) Location 6
- Decorate 121(v1) Location 4
- Decorate 142(v2) Location 5
- Decorate 146(i2) Location 9
- Decorate 156(i1) Location 8
- Decorate 173(u3) Location 2
- Decorate 182(i3) Location 10
- Decorate 247(v4) Location 7
+ Decorate 53(u1) Location 0
+ Decorate 72(u4) Location 3
+ Decorate 88(i4) Location 11
+ Decorate 105(v3) Location 6
+ Decorate 137(v1) Location 4
+ Decorate 156(v2) Location 5
+ Decorate 160(i2) Location 9
+ Decorate 172(i1) Location 8
+ Decorate 189(u3) Location 2
+ Decorate 202(i3) Location 10
+ Decorate 281(v4) Location 7
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@@ -78,58 +78,60 @@
26(u2): 25(ptr) Variable Input
29: TypePointer Function 24(ivec2)
31(ResType): TypeStruct 24(ivec2) 24(ivec2)
- 46: TypePointer Input 12(int)
- 47(u1): 46(ptr) Variable Input
- 50: TypePointer Function 12(int)
- 52(ResType): TypeStruct 12(int) 12(int)
- 56: TypePointer Output 12(int)
- 66: TypePointer Input 13(ivec4)
- 67(u4): 66(ptr) Variable Input
- 70: TypePointer Function 13(ivec4)
- 73(ResType): TypeStruct 13(ivec4) 13(ivec4)
- 82: TypePointer Input 7(ivec4)
- 83(i4): 82(ptr) Variable Input
- 86: TypePointer Function 7(ivec4)
- 89(ResType): TypeStruct 7(ivec4) 7(ivec4)
- 98: TypeVector 18(float) 3
- 99: TypePointer Input 98(fvec3)
- 100(v3): 99(ptr) Variable Input
- 102: TypeVector 6(int) 3
- 103: TypePointer Function 102(ivec3)
- 105(ResType): TypeStruct 98(fvec3) 102(ivec3)
- 120: TypePointer Input 18(float)
- 121(v1): 120(ptr) Variable Input
- 123: TypePointer Function 6(int)
- 125(ResType): TypeStruct 18(float) 6(int)
- 129: TypePointer Output 18(float)
- 135: TypePointer Output 6(int)
- 140: TypeVector 18(float) 2
- 141: TypePointer Input 140(fvec2)
- 142(v2): 141(ptr) Variable Input
- 144: TypeVector 6(int) 2
- 145: TypePointer Input 144(ivec2)
- 146(i2): 145(ptr) Variable Input
- 155: TypePointer Input 6(int)
- 156(i1): 155(ptr) Variable Input
- 164: 6(int) Constant 4
- 165: 6(int) Constant 5
- 171: TypeVector 12(int) 3
- 172: TypePointer Input 171(ivec3)
- 173(u3): 172(ptr) Variable Input
- 181: TypePointer Input 102(ivec3)
- 182(i3): 181(ptr) Variable Input
- 246: TypePointer Input 19(fvec4)
- 247(v4): 246(ptr) Variable Input
+ 38: TypePointer Output 12(int)
+ 41: 12(int) Constant 1
+ 52: TypePointer Input 12(int)
+ 53(u1): 52(ptr) Variable Input
+ 56: TypePointer Function 12(int)
+ 58(ResType): TypeStruct 12(int) 12(int)
+ 71: TypePointer Input 13(ivec4)
+ 72(u4): 71(ptr) Variable Input
+ 75: TypePointer Function 13(ivec4)
+ 78(ResType): TypeStruct 13(ivec4) 13(ivec4)
+ 87: TypePointer Input 7(ivec4)
+ 88(i4): 87(ptr) Variable Input
+ 91: TypePointer Function 7(ivec4)
+ 94(ResType): TypeStruct 7(ivec4) 7(ivec4)
+ 103: TypeVector 18(float) 3
+ 104: TypePointer Input 103(fvec3)
+ 105(v3): 104(ptr) Variable Input
+ 107: TypeVector 6(int) 3
+ 108: TypePointer Function 107(ivec3)
+ 110(ResType): TypeStruct 103(fvec3) 107(ivec3)
+ 117: TypePointer Output 18(float)
+ 122: 12(int) Constant 2
+ 129: TypePointer Output 6(int)
+ 136: TypePointer Input 18(float)
+ 137(v1): 136(ptr) Variable Input
+ 139: TypePointer Function 6(int)
+ 141(ResType): TypeStruct 18(float) 6(int)
+ 154: TypeVector 18(float) 2
+ 155: TypePointer Input 154(fvec2)
+ 156(v2): 155(ptr) Variable Input
+ 158: TypeVector 6(int) 2
+ 159: TypePointer Input 158(ivec2)
+ 160(i2): 159(ptr) Variable Input
+ 171: TypePointer Input 6(int)
+ 172(i1): 171(ptr) Variable Input
+ 180: 6(int) Constant 4
+ 181: 6(int) Constant 5
+ 187: TypeVector 12(int) 3
+ 188: TypePointer Input 187(ivec3)
+ 189(u3): 188(ptr) Variable Input
+ 201: TypePointer Input 107(ivec3)
+ 202(i3): 201(ptr) Variable Input
+ 280: TypePointer Input 19(fvec4)
+ 281(v4): 280(ptr) Variable Input
4(main): 2 Function None 3
5: Label
30(u2out): 29(ptr) Variable Function
- 51(u1out): 50(ptr) Variable Function
- 71(u4outHi): 70(ptr) Variable Function
- 72(u4outLow): 70(ptr) Variable Function
- 87(i4outHi): 86(ptr) Variable Function
- 88(i4outLow): 86(ptr) Variable Function
- 104(i3out): 103(ptr) Variable Function
- 124(i1out): 123(ptr) Variable Function
+ 57(u1out): 56(ptr) Variable Function
+ 76(u4outHi): 75(ptr) Variable Function
+ 77(u4outLow): 75(ptr) Variable Function
+ 92(i4outHi): 91(ptr) Variable Function
+ 93(i4outLow): 91(ptr) Variable Function
+ 109(i3out): 108(ptr) Variable Function
+ 140(i1out): 139(ptr) Variable Function
Store 9(iout) 11
Store 15(uout) 17
Store 21(fout) 23
@@ -142,221 +144,269 @@
35: 13(ivec4) Load 15(uout)
36: 24(ivec2) VectorShuffle 35 35 0 1
37: 24(ivec2) IAdd 36 34
- 38: 13(ivec4) Load 15(uout)
- 39: 13(ivec4) VectorShuffle 38 37 4 5 2 3
- Store 15(uout) 39
- 40: 24(ivec2) Load 30(u2out)
- 41: 13(ivec4) Load 15(uout)
- 42: 24(ivec2) VectorShuffle 41 41 0 1
- 43: 24(ivec2) IAdd 42 40
- 44: 13(ivec4) Load 15(uout)
- 45: 13(ivec4) VectorShuffle 44 43 4 5 2 3
- Store 15(uout) 45
- 48: 12(int) Load 47(u1)
- 49: 12(int) Load 47(u1)
- 53: 52(ResType) ISubBorrow 48 49
- 54: 12(int) CompositeExtract 53 1
- Store 51(u1out) 54
- 55: 12(int) CompositeExtract 53 0
- 57: 56(ptr) AccessChain 15(uout) 16
- 58: 12(int) Load 57
- 59: 12(int) IAdd 58 55
- 60: 56(ptr) AccessChain 15(uout) 16
- Store 60 59
- 61: 12(int) Load 51(u1out)
- 62: 56(ptr) AccessChain 15(uout) 16
+ 39: 38(ptr) AccessChain 15(uout) 16
+ 40: 12(int) CompositeExtract 37 0
+ Store 39 40
+ 42: 38(ptr) AccessChain 15(uout) 41
+ 43: 12(int) CompositeExtract 37 1
+ Store 42 43
+ 44: 24(ivec2) Load 30(u2out)
+ 45: 13(ivec4) Load 15(uout)
+ 46: 24(ivec2) VectorShuffle 45 45 0 1
+ 47: 24(ivec2) IAdd 46 44
+ 48: 38(ptr) AccessChain 15(uout) 16
+ 49: 12(int) CompositeExtract 47 0
+ Store 48 49
+ 50: 38(ptr) AccessChain 15(uout) 41
+ 51: 12(int) CompositeExtract 47 1
+ Store 50 51
+ 54: 12(int) Load 53(u1)
+ 55: 12(int) Load 53(u1)
+ 59: 58(ResType) ISubBorrow 54 55
+ 60: 12(int) CompositeExtract 59 1
+ Store 57(u1out) 60
+ 61: 12(int) CompositeExtract 59 0
+ 62: 38(ptr) AccessChain 15(uout) 16
63: 12(int) Load 62
64: 12(int) IAdd 63 61
- 65: 56(ptr) AccessChain 15(uout) 16
+ 65: 38(ptr) AccessChain 15(uout) 16
Store 65 64
- 68: 13(ivec4) Load 67(u4)
- 69: 13(ivec4) Load 67(u4)
- 74: 73(ResType) UMulExtended 68 69
- 75: 13(ivec4) CompositeExtract 74 0
- Store 72(u4outLow) 75
- 76: 13(ivec4) CompositeExtract 74 1
- Store 71(u4outHi) 76
- 77: 13(ivec4) Load 71(u4outHi)
- 78: 13(ivec4) Load 72(u4outLow)
- 79: 13(ivec4) IAdd 77 78
- 80: 13(ivec4) Load 15(uout)
- 81: 13(ivec4) IAdd 80 79
- Store 15(uout) 81
- 84: 7(ivec4) Load 83(i4)
- 85: 7(ivec4) Load 83(i4)
- 90: 89(ResType) SMulExtended 84 85
- 91: 7(ivec4) CompositeExtract 90 0
- Store 88(i4outLow) 91
- 92: 7(ivec4) CompositeExtract 90 1
- Store 87(i4outHi) 92
- 93: 7(ivec4) Load 88(i4outLow)
- 94: 7(ivec4) Load 87(i4outHi)
- 95: 7(ivec4) IAdd 93 94
- 96: 7(ivec4) Load 9(iout)
- 97: 7(ivec4) IAdd 96 95
- Store 9(iout) 97
- 101: 98(fvec3) Load 100(v3)
- 106:105(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 101
- 107: 102(ivec3) CompositeExtract 106 1
- Store 104(i3out) 107
- 108: 98(fvec3) CompositeExtract 106 0
- 109: 19(fvec4) Load 21(fout)
- 110: 98(fvec3) VectorShuffle 109 109 0 1 2
- 111: 98(fvec3) FAdd 110 108
- 112: 19(fvec4) Load 21(fout)
- 113: 19(fvec4) VectorShuffle 112 111 4 5 6 3
- Store 21(fout) 113
- 114: 102(ivec3) Load 104(i3out)
- 115: 7(ivec4) Load 9(iout)
- 116: 102(ivec3) VectorShuffle 115 115 0 1 2
- 117: 102(ivec3) IAdd 116 114
- 118: 7(ivec4) Load 9(iout)
- 119: 7(ivec4) VectorShuffle 118 117 4 5 6 3
- Store 9(iout) 119
- 122: 18(float) Load 121(v1)
- 126:125(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 122
- 127: 6(int) CompositeExtract 126 1
- Store 124(i1out) 127
- 128: 18(float) CompositeExtract 126 0
- 130: 129(ptr) AccessChain 21(fout) 16
- 131: 18(float) Load 130
- 132: 18(float) FAdd 131 128
- 133: 129(ptr) AccessChain 21(fout) 16
- Store 133 132
- 134: 6(int) Load 124(i1out)
- 136: 135(ptr) AccessChain 9(iout) 16
- 137: 6(int) Load 136
- 138: 6(int) IAdd 137 134
- 139: 135(ptr) AccessChain 9(iout) 16
- Store 139 138
- 143: 140(fvec2) Load 142(v2)
- 147: 144(ivec2) Load 146(i2)
- 148: 140(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 143 147
- 149: 19(fvec4) Load 21(fout)
- 150: 140(fvec2) VectorShuffle 149 149 0 1
- 151: 140(fvec2) FAdd 150 148
- 152: 19(fvec4) Load 21(fout)
- 153: 19(fvec4) VectorShuffle 152 151 4 5 2 3
- Store 21(fout) 153
- 154: 18(float) Load 121(v1)
- 157: 6(int) Load 156(i1)
- 158: 18(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 154 157
- 159: 129(ptr) AccessChain 21(fout) 16
- 160: 18(float) Load 159
- 161: 18(float) FAdd 160 158
- 162: 129(ptr) AccessChain 21(fout) 16
- Store 162 161
- 163: 6(int) Load 156(i1)
- 166: 6(int) BitFieldSExtract 163 164 165
- 167: 135(ptr) AccessChain 9(iout) 16
- 168: 6(int) Load 167
- 169: 6(int) IAdd 168 166
- 170: 135(ptr) AccessChain 9(iout) 16
- Store 170 169
- 174: 171(ivec3) Load 173(u3)
- 175: 171(ivec3) BitFieldUExtract 174 164 165
- 176: 13(ivec4) Load 15(uout)
- 177: 171(ivec3) VectorShuffle 176 176 0 1 2
- 178: 171(ivec3) IAdd 177 175
- 179: 13(ivec4) Load 15(uout)
- 180: 13(ivec4) VectorShuffle 179 178 4 5 6 3
- Store 15(uout) 180
- 183: 102(ivec3) Load 182(i3)
- 184: 102(ivec3) Load 182(i3)
- 185: 102(ivec3) BitFieldInsert 183 184 164 165
- 186: 7(ivec4) Load 9(iout)
- 187: 102(ivec3) VectorShuffle 186 186 0 1 2
- 188: 102(ivec3) IAdd 187 185
- 189: 7(ivec4) Load 9(iout)
- 190: 7(ivec4) VectorShuffle 189 188 4 5 6 3
- Store 9(iout) 190
- 191: 12(int) Load 47(u1)
- 192: 12(int) Load 47(u1)
- 193: 12(int) BitFieldInsert 191 192 164 165
- 194: 56(ptr) AccessChain 15(uout) 16
- 195: 12(int) Load 194
- 196: 12(int) IAdd 195 193
- 197: 56(ptr) AccessChain 15(uout) 16
- Store 197 196
- 198: 144(ivec2) Load 146(i2)
- 199: 144(ivec2) BitReverse 198
- 200: 7(ivec4) Load 9(iout)
- 201: 144(ivec2) VectorShuffle 200 200 0 1
- 202: 144(ivec2) IAdd 201 199
- 203: 7(ivec4) Load 9(iout)
- 204: 7(ivec4) VectorShuffle 203 202 4 5 2 3
- Store 9(iout) 204
- 205: 13(ivec4) Load 67(u4)
- 206: 13(ivec4) BitReverse 205
- 207: 13(ivec4) Load 15(uout)
- 208: 13(ivec4) IAdd 207 206
- Store 15(uout) 208
- 209: 6(int) Load 156(i1)
- 210: 6(int) BitCount 209
- 211: 135(ptr) AccessChain 9(iout) 16
- 212: 6(int) Load 211
- 213: 6(int) IAdd 212 210
- 214: 135(ptr) AccessChain 9(iout) 16
- Store 214 213
- 215: 171(ivec3) Load 173(u3)
- 216: 102(ivec3) BitCount 215
- 217: 7(ivec4) Load 9(iout)
- 218: 102(ivec3) VectorShuffle 217 217 0 1 2
- 219: 102(ivec3) IAdd 218 216
- 220: 7(ivec4) Load 9(iout)
- 221: 7(ivec4) VectorShuffle 220 219 4 5 6 3
- Store 9(iout) 221
- 222: 144(ivec2) Load 146(i2)
- 223: 144(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 222
+ 66: 12(int) Load 57(u1out)
+ 67: 38(ptr) AccessChain 15(uout) 16
+ 68: 12(int) Load 67
+ 69: 12(int) IAdd 68 66
+ 70: 38(ptr) AccessChain 15(uout) 16
+ Store 70 69
+ 73: 13(ivec4) Load 72(u4)
+ 74: 13(ivec4) Load 72(u4)
+ 79: 78(ResType) UMulExtended 73 74
+ 80: 13(ivec4) CompositeExtract 79 0
+ Store 77(u4outLow) 80
+ 81: 13(ivec4) CompositeExtract 79 1
+ Store 76(u4outHi) 81
+ 82: 13(ivec4) Load 76(u4outHi)
+ 83: 13(ivec4) Load 77(u4outLow)
+ 84: 13(ivec4) IAdd 82 83
+ 85: 13(ivec4) Load 15(uout)
+ 86: 13(ivec4) IAdd 85 84
+ Store 15(uout) 86
+ 89: 7(ivec4) Load 88(i4)
+ 90: 7(ivec4) Load 88(i4)
+ 95: 94(ResType) SMulExtended 89 90
+ 96: 7(ivec4) CompositeExtract 95 0
+ Store 93(i4outLow) 96
+ 97: 7(ivec4) CompositeExtract 95 1
+ Store 92(i4outHi) 97
+ 98: 7(ivec4) Load 93(i4outLow)
+ 99: 7(ivec4) Load 92(i4outHi)
+ 100: 7(ivec4) IAdd 98 99
+ 101: 7(ivec4) Load 9(iout)
+ 102: 7(ivec4) IAdd 101 100
+ Store 9(iout) 102
+ 106: 103(fvec3) Load 105(v3)
+ 111:110(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 106
+ 112: 107(ivec3) CompositeExtract 111 1
+ Store 109(i3out) 112
+ 113: 103(fvec3) CompositeExtract 111 0
+ 114: 19(fvec4) Load 21(fout)
+ 115: 103(fvec3) VectorShuffle 114 114 0 1 2
+ 116: 103(fvec3) FAdd 115 113
+ 118: 117(ptr) AccessChain 21(fout) 16
+ 119: 18(float) CompositeExtract 116 0
+ Store 118 119
+ 120: 117(ptr) AccessChain 21(fout) 41
+ 121: 18(float) CompositeExtract 116 1
+ Store 120 121
+ 123: 117(ptr) AccessChain 21(fout) 122
+ 124: 18(float) CompositeExtract 116 2
+ Store 123 124
+ 125: 107(ivec3) Load 109(i3out)
+ 126: 7(ivec4) Load 9(iout)
+ 127: 107(ivec3) VectorShuffle 126 126 0 1 2
+ 128: 107(ivec3) IAdd 127 125
+ 130: 129(ptr) AccessChain 9(iout) 16
+ 131: 6(int) CompositeExtract 128 0
+ Store 130 131
+ 132: 129(ptr) AccessChain 9(iout) 41
+ 133: 6(int) CompositeExtract 128 1
+ Store 132 133
+ 134: 129(ptr) AccessChain 9(iout) 122
+ 135: 6(int) CompositeExtract 128 2
+ Store 134 135
+ 138: 18(float) Load 137(v1)
+ 142:141(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 138
+ 143: 6(int) CompositeExtract 142 1
+ Store 140(i1out) 143
+ 144: 18(float) CompositeExtract 142 0
+ 145: 117(ptr) AccessChain 21(fout) 16
+ 146: 18(float) Load 145
+ 147: 18(float) FAdd 146 144
+ 148: 117(ptr) AccessChain 21(fout) 16
+ Store 148 147
+ 149: 6(int) Load 140(i1out)
+ 150: 129(ptr) AccessChain 9(iout) 16
+ 151: 6(int) Load 150
+ 152: 6(int) IAdd 151 149
+ 153: 129(ptr) AccessChain 9(iout) 16
+ Store 153 152
+ 157: 154(fvec2) Load 156(v2)
+ 161: 158(ivec2) Load 160(i2)
+ 162: 154(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 157 161
+ 163: 19(fvec4) Load 21(fout)
+ 164: 154(fvec2) VectorShuffle 163 163 0 1
+ 165: 154(fvec2) FAdd 164 162
+ 166: 117(ptr) AccessChain 21(fout) 16
+ 167: 18(float) CompositeExtract 165 0
+ Store 166 167
+ 168: 117(ptr) AccessChain 21(fout) 41
+ 169: 18(float) CompositeExtract 165 1
+ Store 168 169
+ 170: 18(float) Load 137(v1)
+ 173: 6(int) Load 172(i1)
+ 174: 18(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 170 173
+ 175: 117(ptr) AccessChain 21(fout) 16
+ 176: 18(float) Load 175
+ 177: 18(float) FAdd 176 174
+ 178: 117(ptr) AccessChain 21(fout) 16
+ Store 178 177
+ 179: 6(int) Load 172(i1)
+ 182: 6(int) BitFieldSExtract 179 180 181
+ 183: 129(ptr) AccessChain 9(iout) 16
+ 184: 6(int) Load 183
+ 185: 6(int) IAdd 184 182
+ 186: 129(ptr) AccessChain 9(iout) 16
+ Store 186 185
+ 190: 187(ivec3) Load 189(u3)
+ 191: 187(ivec3) BitFieldUExtract 190 180 181
+ 192: 13(ivec4) Load 15(uout)
+ 193: 187(ivec3) VectorShuffle 192 192 0 1 2
+ 194: 187(ivec3) IAdd 193 191
+ 195: 38(ptr) AccessChain 15(uout) 16
+ 196: 12(int) CompositeExtract 194 0
+ Store 195 196
+ 197: 38(ptr) AccessChain 15(uout) 41
+ 198: 12(int) CompositeExtract 194 1
+ Store 197 198
+ 199: 38(ptr) AccessChain 15(uout) 122
+ 200: 12(int) CompositeExtract 194 2
+ Store 199 200
+ 203: 107(ivec3) Load 202(i3)
+ 204: 107(ivec3) Load 202(i3)
+ 205: 107(ivec3) BitFieldInsert 203 204 180 181
+ 206: 7(ivec4) Load 9(iout)
+ 207: 107(ivec3) VectorShuffle 206 206 0 1 2
+ 208: 107(ivec3) IAdd 207 205
+ 209: 129(ptr) AccessChain 9(iout) 16
+ 210: 6(int) CompositeExtract 208 0
+ Store 209 210
+ 211: 129(ptr) AccessChain 9(iout) 41
+ 212: 6(int) CompositeExtract 208 1
+ Store 211 212
+ 213: 129(ptr) AccessChain 9(iout) 122
+ 214: 6(int) CompositeExtract 208 2
+ Store 213 214
+ 215: 12(int) Load 53(u1)
+ 216: 12(int) Load 53(u1)
+ 217: 12(int) BitFieldInsert 215 216 180 181
+ 218: 38(ptr) AccessChain 15(uout) 16
+ 219: 12(int) Load 218
+ 220: 12(int) IAdd 219 217
+ 221: 38(ptr) AccessChain 15(uout) 16
+ Store 221 220
+ 222: 158(ivec2) Load 160(i2)
+ 223: 158(ivec2) BitReverse 222
224: 7(ivec4) Load 9(iout)
- 225: 144(ivec2) VectorShuffle 224 224 0 1
- 226: 144(ivec2) IAdd 225 223
- 227: 7(ivec4) Load 9(iout)
- 228: 7(ivec4) VectorShuffle 227 226 4 5 2 3
- Store 9(iout) 228
- 229: 13(ivec4) Load 67(u4)
- 230: 7(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 229
- 231: 7(ivec4) Load 9(iout)
- 232: 7(ivec4) IAdd 231 230
- Store 9(iout) 232
- 233: 6(int) Load 156(i1)
- 234: 6(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 233
- 235: 135(ptr) AccessChain 9(iout) 16
- 236: 6(int) Load 235
- 237: 6(int) IAdd 236 234
- 238: 135(ptr) AccessChain 9(iout) 16
- Store 238 237
- 239: 24(ivec2) Load 26(u2)
- 240: 144(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 239
- 241: 7(ivec4) Load 9(iout)
- 242: 144(ivec2) VectorShuffle 241 241 0 1
- 243: 144(ivec2) IAdd 242 240
- 244: 7(ivec4) Load 9(iout)
- 245: 7(ivec4) VectorShuffle 244 243 4 5 2 3
- Store 9(iout) 245
- 248: 19(fvec4) Load 247(v4)
- 249: 12(int) ExtInst 1(GLSL.std.450) 55(PackUnorm4x8) 248
- 250: 56(ptr) AccessChain 15(uout) 16
- 251: 12(int) Load 250
- 252: 12(int) IAdd 251 249
- 253: 56(ptr) AccessChain 15(uout) 16
- Store 253 252
- 254: 19(fvec4) Load 247(v4)
- 255: 12(int) ExtInst 1(GLSL.std.450) 54(PackSnorm4x8) 254
- 256: 56(ptr) AccessChain 15(uout) 16
- 257: 12(int) Load 256
- 258: 12(int) IAdd 257 255
- 259: 56(ptr) AccessChain 15(uout) 16
- Store 259 258
- 260: 12(int) Load 47(u1)
- 261: 19(fvec4) ExtInst 1(GLSL.std.450) 64(UnpackUnorm4x8) 260
- 262: 19(fvec4) Load 21(fout)
- 263: 19(fvec4) FAdd 262 261
- Store 21(fout) 263
- 264: 12(int) Load 47(u1)
- 265: 19(fvec4) ExtInst 1(GLSL.std.450) 63(UnpackSnorm4x8) 264
- 266: 19(fvec4) Load 21(fout)
- 267: 19(fvec4) FAdd 266 265
- Store 21(fout) 267
+ 225: 158(ivec2) VectorShuffle 224 224 0 1
+ 226: 158(ivec2) IAdd 225 223
+ 227: 129(ptr) AccessChain 9(iout) 16
+ 228: 6(int) CompositeExtract 226 0
+ Store 227 228
+ 229: 129(ptr) AccessChain 9(iout) 41
+ 230: 6(int) CompositeExtract 226 1
+ Store 229 230
+ 231: 13(ivec4) Load 72(u4)
+ 232: 13(ivec4) BitReverse 231
+ 233: 13(ivec4) Load 15(uout)
+ 234: 13(ivec4) IAdd 233 232
+ Store 15(uout) 234
+ 235: 6(int) Load 172(i1)
+ 236: 6(int) BitCount 235
+ 237: 129(ptr) AccessChain 9(iout) 16
+ 238: 6(int) Load 237
+ 239: 6(int) IAdd 238 236
+ 240: 129(ptr) AccessChain 9(iout) 16
+ Store 240 239
+ 241: 187(ivec3) Load 189(u3)
+ 242: 107(ivec3) BitCount 241
+ 243: 7(ivec4) Load 9(iout)
+ 244: 107(ivec3) VectorShuffle 243 243 0 1 2
+ 245: 107(ivec3) IAdd 244 242
+ 246: 129(ptr) AccessChain 9(iout) 16
+ 247: 6(int) CompositeExtract 245 0
+ Store 246 247
+ 248: 129(ptr) AccessChain 9(iout) 41
+ 249: 6(int) CompositeExtract 245 1
+ Store 248 249
+ 250: 129(ptr) AccessChain 9(iout) 122
+ 251: 6(int) CompositeExtract 245 2
+ Store 250 251
+ 252: 158(ivec2) Load 160(i2)
+ 253: 158(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 252
+ 254: 7(ivec4) Load 9(iout)
+ 255: 158(ivec2) VectorShuffle 254 254 0 1
+ 256: 158(ivec2) IAdd 255 253
+ 257: 129(ptr) AccessChain 9(iout) 16
+ 258: 6(int) CompositeExtract 256 0
+ Store 257 258
+ 259: 129(ptr) AccessChain 9(iout) 41
+ 260: 6(int) CompositeExtract 256 1
+ Store 259 260
+ 261: 13(ivec4) Load 72(u4)
+ 262: 7(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 261
+ 263: 7(ivec4) Load 9(iout)
+ 264: 7(ivec4) IAdd 263 262
+ Store 9(iout) 264
+ 265: 6(int) Load 172(i1)
+ 266: 6(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 265
+ 267: 129(ptr) AccessChain 9(iout) 16
+ 268: 6(int) Load 267
+ 269: 6(int) IAdd 268 266
+ 270: 129(ptr) AccessChain 9(iout) 16
+ Store 270 269
+ 271: 24(ivec2) Load 26(u2)
+ 272: 158(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 271
+ 273: 7(ivec4) Load 9(iout)
+ 274: 158(ivec2) VectorShuffle 273 273 0 1
+ 275: 158(ivec2) IAdd 274 272
+ 276: 129(ptr) AccessChain 9(iout) 16
+ 277: 6(int) CompositeExtract 275 0
+ Store 276 277
+ 278: 129(ptr) AccessChain 9(iout) 41
+ 279: 6(int) CompositeExtract 275 1
+ Store 278 279
+ 282: 19(fvec4) Load 281(v4)
+ 283: 12(int) ExtInst 1(GLSL.std.450) 55(PackUnorm4x8) 282
+ 284: 38(ptr) AccessChain 15(uout) 16
+ 285: 12(int) Load 284
+ 286: 12(int) IAdd 285 283
+ 287: 38(ptr) AccessChain 15(uout) 16
+ Store 287 286
+ 288: 19(fvec4) Load 281(v4)
+ 289: 12(int) ExtInst 1(GLSL.std.450) 54(PackSnorm4x8) 288
+ 290: 38(ptr) AccessChain 15(uout) 16
+ 291: 12(int) Load 290
+ 292: 12(int) IAdd 291 289
+ 293: 38(ptr) AccessChain 15(uout) 16
+ Store 293 292
+ 294: 12(int) Load 53(u1)
+ 295: 19(fvec4) ExtInst 1(GLSL.std.450) 64(UnpackUnorm4x8) 294
+ 296: 19(fvec4) Load 21(fout)
+ 297: 19(fvec4) FAdd 296 295
+ Store 21(fout) 297
+ 298: 12(int) Load 53(u1)
+ 299: 19(fvec4) ExtInst 1(GLSL.std.450) 63(UnpackSnorm4x8) 298
+ 300: 19(fvec4) Load 21(fout)
+ 301: 19(fvec4) FAdd 300 299
+ Store 21(fout) 301
Return
FunctionEnd
diff --git a/Test/baseResults/spv.interpOps.frag.out b/Test/baseResults/spv.interpOps.frag.out
index 6c285e7..808c1cd 100644
--- a/Test/baseResults/spv.interpOps.frag.out
+++ b/Test/baseResults/spv.interpOps.frag.out
@@ -1,33 +1,33 @@
spv.interpOps.frag
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 100
+// Id's are bound by 120
Capability Shader
Capability InterpolationFunction
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 13 24 33 41 47 72 98
+ EntryPoint Fragment 4 "main" 13 24 36 49 55 86 118
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
Name 4 "main"
Name 9 "f4"
Name 13 "if1"
Name 24 "if2"
- Name 33 "if3"
- Name 41 "if4"
- Name 47 "samp"
- Name 72 "offset"
- Name 98 "fragColor"
+ Name 36 "if3"
+ Name 49 "if4"
+ Name 55 "samp"
+ Name 86 "offset"
+ Name 118 "fragColor"
Decorate 13(if1) Location 0
Decorate 24(if2) Location 1
- Decorate 33(if3) Location 2
- Decorate 41(if4) Location 3
- Decorate 47(samp) Flat
- Decorate 47(samp) Location 4
- Decorate 72(offset) Flat
- Decorate 72(offset) Location 5
- Decorate 98(fragColor) Location 0
+ Decorate 36(if3) Location 2
+ Decorate 49(if4) Location 3
+ Decorate 55(samp) Flat
+ Decorate 55(samp) Location 4
+ Decorate 86(offset) Flat
+ Decorate 86(offset) Location 5
+ Decorate 118(fragColor) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -43,17 +43,19 @@
22: TypeVector 6(float) 2
23: TypePointer Input 22(fvec2)
24(if2): 23(ptr) Variable Input
- 31: TypeVector 6(float) 3
- 32: TypePointer Input 31(fvec3)
- 33(if3): 32(ptr) Variable Input
- 40: TypePointer Input 7(fvec4)
- 41(if4): 40(ptr) Variable Input
- 45: TypeInt 32 1
- 46: TypePointer Input 45(int)
- 47(samp): 46(ptr) Variable Input
- 72(offset): 23(ptr) Variable Input
- 97: TypePointer Output 7(fvec4)
- 98(fragColor): 97(ptr) Variable Output
+ 31: 15(int) Constant 1
+ 34: TypeVector 6(float) 3
+ 35: TypePointer Input 34(fvec3)
+ 36(if3): 35(ptr) Variable Input
+ 45: 15(int) Constant 2
+ 48: TypePointer Input 7(fvec4)
+ 49(if4): 48(ptr) Variable Input
+ 53: TypeInt 32 1
+ 54: TypePointer Input 53(int)
+ 55(samp): 54(ptr) Variable Input
+ 86(offset): 23(ptr) Variable Input
+ 117: TypePointer Output 7(fvec4)
+ 118(fragColor): 117(ptr) Variable Output
4(main): 2 Function None 3
5: Label
9(f4): 8(ptr) Variable Function
@@ -68,77 +70,104 @@
26: 7(fvec4) Load 9(f4)
27: 22(fvec2) VectorShuffle 26 26 0 1
28: 22(fvec2) FAdd 27 25
- 29: 7(fvec4) Load 9(f4)
- 30: 7(fvec4) VectorShuffle 29 28 4 5 2 3
- Store 9(f4) 30
- 34: 31(fvec3) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 33(if3)
- 35: 7(fvec4) Load 9(f4)
- 36: 31(fvec3) VectorShuffle 35 35 0 1 2
- 37: 31(fvec3) FAdd 36 34
+ 29: 17(ptr) AccessChain 9(f4) 16
+ 30: 6(float) CompositeExtract 28 0
+ Store 29 30
+ 32: 17(ptr) AccessChain 9(f4) 31
+ 33: 6(float) CompositeExtract 28 1
+ Store 32 33
+ 37: 34(fvec3) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 36(if3)
38: 7(fvec4) Load 9(f4)
- 39: 7(fvec4) VectorShuffle 38 37 4 5 6 3
- Store 9(f4) 39
- 42: 7(fvec4) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 41(if4)
- 43: 7(fvec4) Load 9(f4)
- 44: 7(fvec4) FAdd 43 42
- Store 9(f4) 44
- 48: 45(int) Load 47(samp)
- 49: 6(float) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 13(if1) 48
- 50: 17(ptr) AccessChain 9(f4) 16
- 51: 6(float) Load 50
- 52: 6(float) FAdd 51 49
- 53: 17(ptr) AccessChain 9(f4) 16
- Store 53 52
- 54: 45(int) Load 47(samp)
- 55: 22(fvec2) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 24(if2) 54
- 56: 7(fvec4) Load 9(f4)
- 57: 22(fvec2) VectorShuffle 56 56 0 1
- 58: 22(fvec2) FAdd 57 55
- 59: 7(fvec4) Load 9(f4)
- 60: 7(fvec4) VectorShuffle 59 58 4 5 2 3
- Store 9(f4) 60
- 61: 45(int) Load 47(samp)
- 62: 31(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 33(if3) 61
- 63: 7(fvec4) Load 9(f4)
- 64: 31(fvec3) VectorShuffle 63 63 0 1 2
- 65: 31(fvec3) FAdd 64 62
- 66: 7(fvec4) Load 9(f4)
- 67: 7(fvec4) VectorShuffle 66 65 4 5 6 3
- Store 9(f4) 67
- 68: 45(int) Load 47(samp)
- 69: 7(fvec4) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 41(if4) 68
- 70: 7(fvec4) Load 9(f4)
- 71: 7(fvec4) FAdd 70 69
- Store 9(f4) 71
- 73: 22(fvec2) Load 72(offset)
- 74: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 13(if1) 73
- 75: 17(ptr) AccessChain 9(f4) 16
- 76: 6(float) Load 75
- 77: 6(float) FAdd 76 74
- 78: 17(ptr) AccessChain 9(f4) 16
- Store 78 77
- 79: 22(fvec2) Load 72(offset)
- 80: 22(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 24(if2) 79
- 81: 7(fvec4) Load 9(f4)
- 82: 22(fvec2) VectorShuffle 81 81 0 1
- 83: 22(fvec2) FAdd 82 80
+ 39: 34(fvec3) VectorShuffle 38 38 0 1 2
+ 40: 34(fvec3) FAdd 39 37
+ 41: 17(ptr) AccessChain 9(f4) 16
+ 42: 6(float) CompositeExtract 40 0
+ Store 41 42
+ 43: 17(ptr) AccessChain 9(f4) 31
+ 44: 6(float) CompositeExtract 40 1
+ Store 43 44
+ 46: 17(ptr) AccessChain 9(f4) 45
+ 47: 6(float) CompositeExtract 40 2
+ Store 46 47
+ 50: 7(fvec4) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 49(if4)
+ 51: 7(fvec4) Load 9(f4)
+ 52: 7(fvec4) FAdd 51 50
+ Store 9(f4) 52
+ 56: 53(int) Load 55(samp)
+ 57: 6(float) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 13(if1) 56
+ 58: 17(ptr) AccessChain 9(f4) 16
+ 59: 6(float) Load 58
+ 60: 6(float) FAdd 59 57
+ 61: 17(ptr) AccessChain 9(f4) 16
+ Store 61 60
+ 62: 53(int) Load 55(samp)
+ 63: 22(fvec2) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 24(if2) 62
+ 64: 7(fvec4) Load 9(f4)
+ 65: 22(fvec2) VectorShuffle 64 64 0 1
+ 66: 22(fvec2) FAdd 65 63
+ 67: 17(ptr) AccessChain 9(f4) 16
+ 68: 6(float) CompositeExtract 66 0
+ Store 67 68
+ 69: 17(ptr) AccessChain 9(f4) 31
+ 70: 6(float) CompositeExtract 66 1
+ Store 69 70
+ 71: 53(int) Load 55(samp)
+ 72: 34(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 36(if3) 71
+ 73: 7(fvec4) Load 9(f4)
+ 74: 34(fvec3) VectorShuffle 73 73 0 1 2
+ 75: 34(fvec3) FAdd 74 72
+ 76: 17(ptr) AccessChain 9(f4) 16
+ 77: 6(float) CompositeExtract 75 0
+ Store 76 77
+ 78: 17(ptr) AccessChain 9(f4) 31
+ 79: 6(float) CompositeExtract 75 1
+ Store 78 79
+ 80: 17(ptr) AccessChain 9(f4) 45
+ 81: 6(float) CompositeExtract 75 2
+ Store 80 81
+ 82: 53(int) Load 55(samp)
+ 83: 7(fvec4) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 49(if4) 82
84: 7(fvec4) Load 9(f4)
- 85: 7(fvec4) VectorShuffle 84 83 4 5 2 3
+ 85: 7(fvec4) FAdd 84 83
Store 9(f4) 85
- 86: 22(fvec2) Load 72(offset)
- 87: 31(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 33(if3) 86
- 88: 7(fvec4) Load 9(f4)
- 89: 31(fvec3) VectorShuffle 88 88 0 1 2
- 90: 31(fvec3) FAdd 89 87
- 91: 7(fvec4) Load 9(f4)
- 92: 7(fvec4) VectorShuffle 91 90 4 5 6 3
- Store 9(f4) 92
- 93: 22(fvec2) Load 72(offset)
- 94: 7(fvec4) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 41(if4) 93
+ 87: 22(fvec2) Load 86(offset)
+ 88: 6(float) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 13(if1) 87
+ 89: 17(ptr) AccessChain 9(f4) 16
+ 90: 6(float) Load 89
+ 91: 6(float) FAdd 90 88
+ 92: 17(ptr) AccessChain 9(f4) 16
+ Store 92 91
+ 93: 22(fvec2) Load 86(offset)
+ 94: 22(fvec2) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 24(if2) 93
95: 7(fvec4) Load 9(f4)
- 96: 7(fvec4) FAdd 95 94
- Store 9(f4) 96
- 99: 7(fvec4) Load 9(f4)
- Store 98(fragColor) 99
+ 96: 22(fvec2) VectorShuffle 95 95 0 1
+ 97: 22(fvec2) FAdd 96 94
+ 98: 17(ptr) AccessChain 9(f4) 16
+ 99: 6(float) CompositeExtract 97 0
+ Store 98 99
+ 100: 17(ptr) AccessChain 9(f4) 31
+ 101: 6(float) CompositeExtract 97 1
+ Store 100 101
+ 102: 22(fvec2) Load 86(offset)
+ 103: 34(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 36(if3) 102
+ 104: 7(fvec4) Load 9(f4)
+ 105: 34(fvec3) VectorShuffle 104 104 0 1 2
+ 106: 34(fvec3) FAdd 105 103
+ 107: 17(ptr) AccessChain 9(f4) 16
+ 108: 6(float) CompositeExtract 106 0
+ Store 107 108
+ 109: 17(ptr) AccessChain 9(f4) 31
+ 110: 6(float) CompositeExtract 106 1
+ Store 109 110
+ 111: 17(ptr) AccessChain 9(f4) 45
+ 112: 6(float) CompositeExtract 106 2
+ Store 111 112
+ 113: 22(fvec2) Load 86(offset)
+ 114: 7(fvec4) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 49(if4) 113
+ 115: 7(fvec4) Load 9(f4)
+ 116: 7(fvec4) FAdd 115 114
+ Store 9(f4) 116
+ 119: 7(fvec4) Load 9(f4)
+ Store 118(fragColor) 119
Return
FunctionEnd
diff --git a/Test/baseResults/spv.intrinsicsSpirvDecorate.frag.out b/Test/baseResults/spv.intrinsicsSpirvDecorate.frag.out
index cbd46b0..c41dcc9 100644
--- a/Test/baseResults/spv.intrinsicsSpirvDecorate.frag.out
+++ b/Test/baseResults/spv.intrinsicsSpirvDecorate.frag.out
@@ -1,5 +1,4 @@
spv.intrinsicsSpirvDecorate.frag
-Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 43
@@ -28,19 +27,12 @@
Decorate 10(floatIn) Location 0
Decorate 10(floatIn) ExplicitInterpAMD
Decorate 18(vec2Out) Location 1
- Decorate 20(gl_BaryCoordNoPerspAMD) Location 0
Decorate 20(gl_BaryCoordNoPerspAMD) BuiltIn BaryCoordNoPerspAMD
- Decorate 22(gl_BaryCoordNoPerspCentroidAMD) Location 1
Decorate 22(gl_BaryCoordNoPerspCentroidAMD) BuiltIn BaryCoordNoPerspCentroidAMD
- Decorate 25(gl_BaryCoordNoPerspSampleAMD) Location 2
Decorate 25(gl_BaryCoordNoPerspSampleAMD) BuiltIn BaryCoordNoPerspSampleAMD
- Decorate 28(gl_BaryCoordSmoothAMD) Location 3
Decorate 28(gl_BaryCoordSmoothAMD) BuiltIn BaryCoordSmoothAMD
- Decorate 31(gl_BaryCoordSmoothCentroidAMD) Location 4
Decorate 31(gl_BaryCoordSmoothCentroidAMD) BuiltIn BaryCoordSmoothCentroidAMD
- Decorate 34(gl_BaryCoordSmoothSampleAMD) Location 5
Decorate 34(gl_BaryCoordSmoothSampleAMD) BuiltIn BaryCoordSmoothSampleAMD
- Decorate 39(gl_BaryCoordPullModelAMD) Location 6
Decorate 39(gl_BaryCoordPullModelAMD) BuiltIn BaryCoordPullModelAMD
2: TypeVoid
3: TypeFunction 2
diff --git a/Test/baseResults/spv.intrinsicsSpirvExecutionMode.frag.out b/Test/baseResults/spv.intrinsicsSpirvExecutionMode.frag.out
index 22bc53b..cdea382 100644
--- a/Test/baseResults/spv.intrinsicsSpirvExecutionMode.frag.out
+++ b/Test/baseResults/spv.intrinsicsSpirvExecutionMode.frag.out
@@ -1,5 +1,4 @@
spv.intrinsicsSpirvExecutionMode.frag
-Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 12
@@ -17,7 +16,6 @@
Name 4 "main"
Name 8 "gl_FragStencilRef"
Name 10 "color"
- Decorate 8(gl_FragStencilRef) Location 0
Decorate 8(gl_FragStencilRef) BuiltIn FragStencilRefEXT
Decorate 10(color) Flat
Decorate 10(color) Location 0
diff --git a/Test/baseResults/spv.intrinsicsSpirvInstruction.vert.out b/Test/baseResults/spv.intrinsicsSpirvInstruction.vert.out
index 0e2780c..0e95e42 100644
--- a/Test/baseResults/spv.intrinsicsSpirvInstruction.vert.out
+++ b/Test/baseResults/spv.intrinsicsSpirvInstruction.vert.out
@@ -1,8 +1,7 @@
spv.intrinsicsSpirvInstruction.vert
-Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 30
+// Id's are bound by 32
Capability Shader
Capability Int64
@@ -10,50 +9,52 @@
Extension "SPV_AMD_shader_trinary_minmax"
Extension "SPV_KHR_shader_clock"
1: ExtInstImport "GLSL.std.450"
- 28: ExtInstImport "SPV_AMD_shader_trinary_minmax"
+ 30: ExtInstImport "SPV_AMD_shader_trinary_minmax"
MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 9 13 18 21
+ EntryPoint Vertex 4 "main" 9 15 20 23
Source GLSL 450
SourceExtension "GL_ARB_gpu_shader_int64"
SourceExtension "GL_EXT_spirv_intrinsics"
Name 4 "main"
Name 9 "uvec2Out"
- Name 13 "i64Out"
- Name 18 "vec2Out"
- Name 21 "vec3In"
+ Name 15 "u64Out"
+ Name 20 "vec2Out"
+ Name 23 "vec3In"
Decorate 9(uvec2Out) Location 0
- Decorate 13(i64Out) Location 1
- Decorate 18(vec2Out) Location 2
- Decorate 21(vec3In) Location 0
+ Decorate 15(u64Out) Location 1
+ Decorate 20(vec2Out) Location 2
+ Decorate 23(vec3In) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypeVector 6(int) 2
8: TypePointer Output 7(ivec2)
9(uvec2Out): 8(ptr) Variable Output
- 11: TypeInt 64 1
- 12: TypePointer Output 11(int64_t)
- 13(i64Out): 12(ptr) Variable Output
- 15: TypeFloat 32
- 16: TypeVector 15(float) 2
- 17: TypePointer Output 16(fvec2)
- 18(vec2Out): 17(ptr) Variable Output
- 19: TypeVector 15(float) 3
- 20: TypePointer Input 19(fvec3)
- 21(vec3In): 20(ptr) Variable Input
+ 10: TypeInt 32 1
+ 11: 10(int) Constant 1
+ 13: TypeInt 64 0
+ 14: TypePointer Output 13(int64_t)
+ 15(u64Out): 14(ptr) Variable Output
+ 17: TypeFloat 32
+ 18: TypeVector 17(float) 2
+ 19: TypePointer Output 18(fvec2)
+ 20(vec2Out): 19(ptr) Variable Output
+ 21: TypeVector 17(float) 3
+ 22: TypePointer Input 21(fvec3)
+ 23(vec3In): 22(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 10: 7(ivec2) ReadClockKHR
- Store 9(uvec2Out) 10
- 14: 11(int64_t) ReadClockKHR
- Store 13(i64Out) 14
- 22: 19(fvec3) Load 21(vec3In)
- 23: 16(fvec2) VectorShuffle 22 22 0 1
- 24: 19(fvec3) Load 21(vec3In)
- 25: 16(fvec2) VectorShuffle 24 24 1 2
- 26: 19(fvec3) Load 21(vec3In)
- 27: 16(fvec2) VectorShuffle 26 26 2 0
- 29: 16(fvec2) ExtInst 28(SPV_AMD_shader_trinary_minmax) 1(FMin3AMD) 23 25 27
- Store 18(vec2Out) 29
+ 12: 7(ivec2) ReadClockKHR 11
+ Store 9(uvec2Out) 12
+ 16: 13(int64_t) ReadClockKHR 11
+ Store 15(u64Out) 16
+ 24: 21(fvec3) Load 23(vec3In)
+ 25: 18(fvec2) VectorShuffle 24 24 0 1
+ 26: 21(fvec3) Load 23(vec3In)
+ 27: 18(fvec2) VectorShuffle 26 26 1 2
+ 28: 21(fvec3) Load 23(vec3In)
+ 29: 18(fvec2) VectorShuffle 28 28 2 0
+ 31: 18(fvec2) ExtInst 30(SPV_AMD_shader_trinary_minmax) 1(FMin3AMD) 25 27 29
+ Store 20(vec2Out) 31
Return
FunctionEnd
diff --git a/Test/baseResults/spv.intrinsicsSpirvLiteral.vert.out b/Test/baseResults/spv.intrinsicsSpirvLiteral.vert.out
index af4ac16..096cc61 100644
--- a/Test/baseResults/spv.intrinsicsSpirvLiteral.vert.out
+++ b/Test/baseResults/spv.intrinsicsSpirvLiteral.vert.out
@@ -1,29 +1,30 @@
spv.intrinsicsSpirvLiteral.vert
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 12
+// Id's are bound by 13
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main"
+ EntryPoint Vertex 4 "main" 9 11
Source GLSL 450
SourceExtension "GL_EXT_spirv_intrinsics"
Name 4 "main"
Name 9 "vec4Out"
- Name 10 "vec4In"
+ Name 11 "vec4In"
Decorate 9(vec4Out) Location 1
- Decorate 10(vec4In) Location 0
+ Decorate 11(vec4In) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
- 8: TypePointer Function 7(fvec4)
+ 8: TypePointer Output 7(fvec4)
+ 9(vec4Out): 8(ptr) Variable Output
+ 10: TypePointer Input 7(fvec4)
+ 11(vec4In): 10(ptr) Variable Input
4(main): 2 Function None 3
5: Label
- 9(vec4Out): 8(ptr) Variable Function
- 10(vec4In): 8(ptr) Variable Function
- 11: 7(fvec4) Load 10(vec4In) None
- Store 9(vec4Out) 11 Volatile
+ 12: 7(fvec4) Load 11(vec4In) None
+ Store 9(vec4Out) 12 Volatile
Return
FunctionEnd
diff --git a/Test/baseResults/spv.intrinsicsSpirvType.rgen.out b/Test/baseResults/spv.intrinsicsSpirvType.rgen.out
index ac0c946..f3937b4 100644
--- a/Test/baseResults/spv.intrinsicsSpirvType.rgen.out
+++ b/Test/baseResults/spv.intrinsicsSpirvType.rgen.out
@@ -1,5 +1,4 @@
spv.intrinsicsSpirvType.rgen
-Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 21
@@ -17,12 +16,13 @@
Name 4 "main"
Name 8 "rq"
Name 11 "as"
- Decorate 11(as) Location 0
Decorate 11(as) DescriptorSet 0
Decorate 11(as) Binding 0
2: TypeVoid
3: TypeFunction 2
+ 6: TypeRayQueryKHR
7: TypePointer Function 6
+ 9: TypeAccelerationStructureKHR
10: TypePointer UniformConstant 9
11(as): 10(ptr) Variable UniformConstant
13: TypeInt 32 0
@@ -36,8 +36,6 @@
4(main): 2 Function None 3
5: Label
8(rq): 7(ptr) Variable Function
- 6: TypeRayQueryKHR
- 9: TypeAccelerationStructureKHR
12: 9 Load 11(as)
RayQueryInitializeKHR 8(rq) 12 14 14 18 17 20 19
RayQueryTerminateKHR 8(rq)
diff --git a/Test/baseResults/spv.intrinsicsSpirvTypeLocalVar.vert.out b/Test/baseResults/spv.intrinsicsSpirvTypeLocalVar.vert.out
new file mode 100644
index 0000000..75515be
--- /dev/null
+++ b/Test/baseResults/spv.intrinsicsSpirvTypeLocalVar.vert.out
@@ -0,0 +1,43 @@
+spv.intrinsicsSpirvTypeLocalVar.vert
+// Module Version 10000
+// Generated by (magic number): 8000a
+// Id's are bound by 22
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main"
+ Source GLSL 460
+ SourceExtension "GL_EXT_spirv_intrinsics"
+ Name 4 "main"
+ Name 10 "func(spv-t1;"
+ Name 9 "emptyStruct"
+ Name 13 "size"
+ Name 16 "dummy"
+ Name 18 "param"
+ Decorate 13(size) SpecId 9
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeStruct
+ 7: TypePointer Function 6(struct)
+ 8: TypeFunction 2 7(ptr)
+ 12: TypeInt 32 1
+ 13(size): 12(int) SpecConstant 9
+ 14: TypeArray 6(struct) 13(size)
+ 15: TypePointer Function 14
+ 17: 12(int) Constant 1
+ 4(main): 2 Function None 3
+ 5: Label
+ 16(dummy): 15(ptr) Variable Function
+ 18(param): 7(ptr) Variable Function
+ 19: 7(ptr) AccessChain 16(dummy) 17
+ 20: 6(struct) Load 19
+ Store 18(param) 20
+ 21: 2 FunctionCall 10(func(spv-t1;) 18(param)
+ Return
+ FunctionEnd
+10(func(spv-t1;): 2 Function None 8
+ 9(emptyStruct): 7(ptr) FunctionParameter
+ 11: Label
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.invariantAll.vert.out b/Test/baseResults/spv.invariantAll.vert.out
new file mode 100644
index 0000000..ec5ad30
--- /dev/null
+++ b/Test/baseResults/spv.invariantAll.vert.out
@@ -0,0 +1,55 @@
+spv.invariantAll.vert
+// Module Version 10000
+// Generated by (magic number): 8000a
+// Id's are bound by 25
+
+ Capability Shader
+ 1: ExtInstImport "GLSL.std.450"
+ MemoryModel Logical GLSL450
+ EntryPoint Vertex 4 "main" 13 17
+ Source GLSL 450
+ Name 4 "main"
+ Name 11 "gl_PerVertex"
+ MemberName 11(gl_PerVertex) 0 "gl_Position"
+ MemberName 11(gl_PerVertex) 1 "gl_PointSize"
+ MemberName 11(gl_PerVertex) 2 "gl_ClipDistance"
+ MemberName 11(gl_PerVertex) 3 "gl_CullDistance"
+ Name 13 ""
+ Name 17 "v"
+ MemberDecorate 11(gl_PerVertex) 0 Invariant
+ MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position
+ MemberDecorate 11(gl_PerVertex) 1 Invariant
+ MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize
+ MemberDecorate 11(gl_PerVertex) 2 Invariant
+ MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance
+ MemberDecorate 11(gl_PerVertex) 3 Invariant
+ MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance
+ Decorate 11(gl_PerVertex) Block
+ Decorate 17(v) Location 0
+ Decorate 17(v) Invariant
+ 2: TypeVoid
+ 3: TypeFunction 2
+ 6: TypeFloat 32
+ 7: TypeVector 6(float) 4
+ 8: TypeInt 32 0
+ 9: 8(int) Constant 1
+ 10: TypeArray 6(float) 9
+11(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 10 10
+ 12: TypePointer Output 11(gl_PerVertex)
+ 13: 12(ptr) Variable Output
+ 14: TypeInt 32 1
+ 15: 14(int) Constant 0
+ 16: TypePointer Output 6(float)
+ 17(v): 16(ptr) Variable Output
+ 20: 6(float) Constant 0
+ 21: 6(float) Constant 1065353216
+ 23: TypePointer Output 7(fvec4)
+ 4(main): 2 Function None 3
+ 5: Label
+ 18: 6(float) Load 17(v)
+ 19: 6(float) Load 17(v)
+ 22: 7(fvec4) CompositeConstruct 18 19 20 21
+ 24: 23(ptr) AccessChain 13 15
+ Store 24 22
+ Return
+ FunctionEnd
diff --git a/Test/baseResults/spv.memoryQualifier.frag.out b/Test/baseResults/spv.memoryQualifier.frag.out
index 5f0647b..fce8c9c 100644
--- a/Test/baseResults/spv.memoryQualifier.frag.out
+++ b/Test/baseResults/spv.memoryQualifier.frag.out
@@ -2,7 +2,7 @@
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 97
+// Id's are bound by 105
Capability Shader
Capability ImageRect
@@ -106,14 +106,16 @@
58: TypePointer Uniform 6(float)
61: TypePointer Function 6(float)
63: TypePointer Uniform 47(fvec2)
- 71: 14(int) Constant 2
- 72: TypePointer Uniform 48(fvec3)
- 80: 14(int) Constant 5
- 83: TypeInt 32 0
- 84: 83(int) Constant 1
- 88: 83(int) Constant 3
- 93: 14(int) Constant 3
- 95: TypePointer Uniform 7(fvec4)
+ 69: TypeInt 32 0
+ 70: 69(int) Constant 0
+ 73: 69(int) Constant 1
+ 76: 14(int) Constant 2
+ 77: TypePointer Uniform 48(fvec3)
+ 87: 69(int) Constant 2
+ 90: 14(int) Constant 5
+ 96: 69(int) Constant 3
+ 101: 14(int) Constant 3
+ 103: TypePointer Uniform 7(fvec4)
4(main): 2 Function None 3
5: Label
9(texel): 8(ptr) Variable Function
@@ -149,29 +151,38 @@
66: 7(fvec4) Load 9(texel)
67: 47(fvec2) VectorShuffle 66 66 0 1
68: 47(fvec2) FAdd 67 65
- 69: 7(fvec4) Load 9(texel)
- 70: 7(fvec4) VectorShuffle 69 68 4 5 2 3
- Store 9(texel) 70
- 73: 72(ptr) AccessChain 52 71
- 74: 48(fvec3) Load 73
- 75: 7(fvec4) Load 9(texel)
- 76: 48(fvec3) VectorShuffle 75 75 0 1 2
- 77: 48(fvec3) FSub 76 74
- 78: 7(fvec4) Load 9(texel)
- 79: 7(fvec4) VectorShuffle 78 77 4 5 6 3
- Store 9(texel) 79
- 81: 58(ptr) AccessChain 52 80 57
- 82: 6(float) Load 81
- 85: 58(ptr) AccessChain 52 80 15 84
- 86: 6(float) Load 85
- 87: 6(float) FAdd 82 86
- 89: 61(ptr) AccessChain 9(texel) 88
- 90: 6(float) Load 89
- 91: 6(float) FAdd 90 87
- 92: 61(ptr) AccessChain 9(texel) 88
- Store 92 91
- 94: 7(fvec4) Load 9(texel)
- 96: 95(ptr) AccessChain 52 93
- Store 96 94
+ 71: 61(ptr) AccessChain 9(texel) 70
+ 72: 6(float) CompositeExtract 68 0
+ Store 71 72
+ 74: 61(ptr) AccessChain 9(texel) 73
+ 75: 6(float) CompositeExtract 68 1
+ Store 74 75
+ 78: 77(ptr) AccessChain 52 76
+ 79: 48(fvec3) Load 78
+ 80: 7(fvec4) Load 9(texel)
+ 81: 48(fvec3) VectorShuffle 80 80 0 1 2
+ 82: 48(fvec3) FSub 81 79
+ 83: 61(ptr) AccessChain 9(texel) 70
+ 84: 6(float) CompositeExtract 82 0
+ Store 83 84
+ 85: 61(ptr) AccessChain 9(texel) 73
+ 86: 6(float) CompositeExtract 82 1
+ Store 85 86
+ 88: 61(ptr) AccessChain 9(texel) 87
+ 89: 6(float) CompositeExtract 82 2
+ Store 88 89
+ 91: 58(ptr) AccessChain 52 90 57
+ 92: 6(float) Load 91
+ 93: 58(ptr) AccessChain 52 90 15 73
+ 94: 6(float) Load 93
+ 95: 6(float) FAdd 92 94
+ 97: 61(ptr) AccessChain 9(texel) 96
+ 98: 6(float) Load 97
+ 99: 6(float) FAdd 98 95
+ 100: 61(ptr) AccessChain 9(texel) 96
+ Store 100 99
+ 102: 7(fvec4) Load 9(texel)
+ 104: 103(ptr) AccessChain 52 101
+ Store 104 102
Return
FunctionEnd
diff --git a/Test/baseResults/spv.meshShaderUserDefined.mesh.out b/Test/baseResults/spv.meshShaderUserDefined.mesh.out
index fc2730c..01ee933 100644
--- a/Test/baseResults/spv.meshShaderUserDefined.mesh.out
+++ b/Test/baseResults/spv.meshShaderUserDefined.mesh.out
@@ -1,13 +1,13 @@
spv.meshShaderUserDefined.mesh
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 138
+// Id's are bound by 141
Capability MeshShadingNV
Extension "SPV_NV_mesh_shader"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint MeshNV 4 "main" 11 17 34 101
+ EntryPoint MeshNV 4 "main" 11 17 34 104
ExecutionMode 4 LocalSize 32 1 1
ExecutionMode 4 OutputVertices 81
ExecutionMode 4 OutputPrimitivesNV 32
@@ -27,11 +27,11 @@
MemberName 30(myblock) 4 "m"
MemberName 30(myblock) 5 "mArr"
Name 34 "blk"
- Name 97 "myblock2"
- MemberName 97(myblock2) 0 "f"
- MemberName 97(myblock2) 1 "pos"
- MemberName 97(myblock2) 2 "m"
- Name 101 "blk2"
+ Name 100 "myblock2"
+ MemberName 100(myblock2) 0 "f"
+ MemberName 100(myblock2) 1 "pos"
+ MemberName 100(myblock2) 2 "m"
+ Name 104 "blk2"
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
MemberDecorate 30(myblock) 0 PerPrimitiveNV
@@ -42,9 +42,9 @@
MemberDecorate 30(myblock) 5 PerPrimitiveNV
Decorate 30(myblock) Block
Decorate 34(blk) Location 0
- Decorate 97(myblock2) Block
- Decorate 101(blk2) Location 20
- Decorate 137 BuiltIn WorkgroupSize
+ Decorate 100(myblock2) Block
+ Decorate 104(blk2) Location 20
+ Decorate 140 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -83,30 +83,30 @@
56: 23(fvec3) ConstantComposite 53 54 55
57: TypePointer Output 23(fvec3)
63: 36(int) Constant 3
- 68: TypePointer Output 24(fvec4)
- 74: 36(int) Constant 4
- 75: 20(float) Constant 1098907648
- 76: 24(fvec4) ConstantComposite 55 53 54 75
- 81: 36(int) Constant 5
- 84: 6(int) Constant 3
- 91: 20(float) Constant 1099431936
- 92: 20(float) Constant 1099956224
- 93: 20(float) Constant 1100480512
- 94: 23(fvec3) ConstantComposite 91 92 93
- 96: 6(int) Constant 264
- 97(myblock2): TypeStruct 20(float) 24(fvec4) 26
- 98: 6(int) Constant 81
- 99: TypeArray 97(myblock2) 98
- 100: TypePointer Output 99
- 101(blk2): 100(ptr) Variable Output
- 107: 20(float) Constant 1101004800
- 111: 20(float) Constant 1101529088
- 112: 20(float) Constant 1102053376
- 113: 20(float) Constant 1102577664
- 114: 20(float) Constant 1103101952
- 115: 24(fvec4) ConstantComposite 111 112 113 114
- 127: 20(float) Constant 1105723392
- 137: 9(ivec3) ConstantComposite 31 42 42
+ 72: 6(int) Constant 3
+ 77: 36(int) Constant 4
+ 78: 20(float) Constant 1098907648
+ 79: 24(fvec4) ConstantComposite 55 53 54 78
+ 80: TypePointer Output 24(fvec4)
+ 85: 36(int) Constant 5
+ 94: 20(float) Constant 1099431936
+ 95: 20(float) Constant 1099956224
+ 96: 20(float) Constant 1100480512
+ 97: 23(fvec3) ConstantComposite 94 95 96
+ 99: 6(int) Constant 264
+ 100(myblock2): TypeStruct 20(float) 24(fvec4) 26
+ 101: 6(int) Constant 81
+ 102: TypeArray 100(myblock2) 101
+ 103: TypePointer Output 102
+ 104(blk2): 103(ptr) Variable Output
+ 110: 20(float) Constant 1101004800
+ 114: 20(float) Constant 1101529088
+ 115: 20(float) Constant 1102053376
+ 116: 20(float) Constant 1102577664
+ 117: 20(float) Constant 1103101952
+ 118: 24(fvec4) ConstantComposite 114 115 116 117
+ 130: 20(float) Constant 1105723392
+ 140: 9(ivec3) ConstantComposite 31 42 42
4(main): 2 Function None 3
5: Label
8(iid): 7(ptr) Variable Function
@@ -140,64 +140,69 @@
65: 6(int) UDiv 64 28
66: 57(ptr) AccessChain 34(blk) 65 52
67: 23(fvec3) Load 66
- 69: 68(ptr) AccessChain 34(blk) 62 63 44
- 70: 24(fvec4) Load 69
- 71: 24(fvec4) VectorShuffle 70 67 0 4 5 6
- Store 69 71
- 72: 6(int) Load 8(iid)
- 73: 6(int) UDiv 72 21
- 77: 68(ptr) AccessChain 34(blk) 73 74 52
- 78: 24(fvec4) Load 77
- 79: 24(fvec4) VectorShuffle 78 76 7 6 5 4
- Store 77 79
- 80: 6(int) Load 8(iid)
- 82: 6(int) Load 8(iid)
- 83: 6(int) UDiv 82 21
- 85: 39(ptr) AccessChain 34(blk) 83 74 52 84
- 86: 20(float) Load 85
- 87: 39(ptr) AccessChain 34(blk) 80 81 37 44 42
- Store 87 86
- 88: 6(int) Load 8(iid)
- 89: 6(int) IMul 88 21
- 90: 6(int) Load 16(gid)
- 95: 57(ptr) AccessChain 34(blk) 89 81 44 90
- Store 95 94
- MemoryBarrier 42 96
- ControlBarrier 28 28 96
- 102: 6(int) Load 8(iid)
- 103: 6(int) Load 8(iid)
- 104: 6(int) ISub 103 42
- 105: 39(ptr) AccessChain 101(blk2) 104 37
- 106: 20(float) Load 105
- 108: 20(float) FAdd 106 107
- 109: 39(ptr) AccessChain 101(blk2) 102 37
- Store 109 108
- 110: 6(int) Load 8(iid)
- 116: 68(ptr) AccessChain 101(blk2) 110 44
- Store 116 115
- 117: 6(int) Load 8(iid)
- 118: 6(int) IAdd 117 42
- 119: 6(int) Load 16(gid)
+ 68: 39(ptr) AccessChain 34(blk) 62 63 44 42
+ 69: 20(float) CompositeExtract 67 0
+ Store 68 69
+ 70: 39(ptr) AccessChain 34(blk) 62 63 44 28
+ 71: 20(float) CompositeExtract 67 1
+ Store 70 71
+ 73: 39(ptr) AccessChain 34(blk) 62 63 44 72
+ 74: 20(float) CompositeExtract 67 2
+ Store 73 74
+ 75: 6(int) Load 8(iid)
+ 76: 6(int) UDiv 75 21
+ 81: 80(ptr) AccessChain 34(blk) 76 77 52
+ 82: 24(fvec4) Load 81
+ 83: 24(fvec4) VectorShuffle 82 79 7 6 5 4
+ Store 81 83
+ 84: 6(int) Load 8(iid)
+ 86: 6(int) Load 8(iid)
+ 87: 6(int) UDiv 86 21
+ 88: 39(ptr) AccessChain 34(blk) 87 77 52 72
+ 89: 20(float) Load 88
+ 90: 39(ptr) AccessChain 34(blk) 84 85 37 44 42
+ Store 90 89
+ 91: 6(int) Load 8(iid)
+ 92: 6(int) IMul 91 21
+ 93: 6(int) Load 16(gid)
+ 98: 57(ptr) AccessChain 34(blk) 92 85 44 93
+ Store 98 97
+ MemoryBarrier 42 99
+ ControlBarrier 28 28 99
+ 105: 6(int) Load 8(iid)
+ 106: 6(int) Load 8(iid)
+ 107: 6(int) ISub 106 42
+ 108: 39(ptr) AccessChain 104(blk2) 107 37
+ 109: 20(float) Load 108
+ 111: 20(float) FAdd 109 110
+ 112: 39(ptr) AccessChain 104(blk2) 105 37
+ Store 112 111
+ 113: 6(int) Load 8(iid)
+ 119: 80(ptr) AccessChain 104(blk2) 113 44
+ Store 119 118
120: 6(int) Load 8(iid)
- 121: 68(ptr) AccessChain 101(blk2) 120 44
- 122: 24(fvec4) Load 121
- 123: 68(ptr) AccessChain 101(blk2) 118 52 119
- Store 123 122
- 124: 6(int) Load 8(iid)
- 125: 6(int) IAdd 124 42
- 126: 6(int) Load 16(gid)
- 128: 39(ptr) AccessChain 101(blk2) 125 52 126 28
- Store 128 127
- 129: 6(int) Load 8(iid)
- 130: 6(int) IAdd 129 28
- 131: 6(int) Load 8(iid)
- 132: 6(int) IAdd 131 42
- 133: 6(int) Load 16(gid)
- 134: 68(ptr) AccessChain 101(blk2) 132 52 133
- 135: 24(fvec4) Load 134
- 136: 68(ptr) AccessChain 101(blk2) 130 52 63
- Store 136 135
- MemoryBarrier 42 96
- ControlBarrier 28 28 96
+ 121: 6(int) IAdd 120 42
+ 122: 6(int) Load 16(gid)
+ 123: 6(int) Load 8(iid)
+ 124: 80(ptr) AccessChain 104(blk2) 123 44
+ 125: 24(fvec4) Load 124
+ 126: 80(ptr) AccessChain 104(blk2) 121 52 122
+ Store 126 125
+ 127: 6(int) Load 8(iid)
+ 128: 6(int) IAdd 127 42
+ 129: 6(int) Load 16(gid)
+ 131: 39(ptr) AccessChain 104(blk2) 128 52 129 28
+ Store 131 130
+ 132: 6(int) Load 8(iid)
+ 133: 6(int) IAdd 132 28
+ 134: 6(int) Load 8(iid)
+ 135: 6(int) IAdd 134 42
+ 136: 6(int) Load 16(gid)
+ 137: 80(ptr) AccessChain 104(blk2) 135 52 136
+ 138: 24(fvec4) Load 137
+ 139: 80(ptr) AccessChain 104(blk2) 133 52 63
+ Store 139 138
+ MemoryBarrier 42 99
+ ControlBarrier 28 28 99
Return
FunctionEnd
diff --git a/Test/baseResults/spv.precise.tese.out b/Test/baseResults/spv.precise.tese.out
index a23b073..7db4ed0 100644
--- a/Test/baseResults/spv.precise.tese.out
+++ b/Test/baseResults/spv.precise.tese.out
@@ -36,10 +36,6 @@
Decorate 43 NoContraction
Decorate 62(in_f_color) RelaxedPrecision
Decorate 62(in_f_color) Location 0
- Decorate 67 RelaxedPrecision
- Decorate 68 RelaxedPrecision
- Decorate 69 RelaxedPrecision
- Decorate 70 RelaxedPrecision
Decorate 97 NoContraction
Decorate 99 NoContraction
Decorate 101 NoContraction
diff --git a/Test/baseResults/spv.rw.autoassign.frag.out b/Test/baseResults/spv.rw.autoassign.frag.out
index c696c52..27db336 100644
--- a/Test/baseResults/spv.rw.autoassign.frag.out
+++ b/Test/baseResults/spv.rw.autoassign.frag.out
@@ -1,15 +1,14 @@
spv.rw.autoassign.frag
-Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 42
+// Id's are bound by 45
Capability Shader
Capability Image1D
Capability ImageBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 39
+ EntryPoint Fragment 4 "main" 42
ExecutionMode 4 OriginUpperLeft
Source HLSL 500
Name 4 "main"
@@ -18,15 +17,15 @@
Name 10 "@main("
Name 13 "r00"
Name 16 "g_tTex1df1"
- Name 23 "r01"
- Name 26 "g_tBuf1du1"
- Name 30 "psout"
- Name 39 "@entryPointOutput.Color"
+ Name 24 "r01"
+ Name 27 "g_tBuf1du1"
+ Name 33 "psout"
+ Name 42 "@entryPointOutput.Color"
Decorate 16(g_tTex1df1) DescriptorSet 0
Decorate 16(g_tTex1df1) Binding 20
- Decorate 26(g_tBuf1du1) DescriptorSet 0
- Decorate 26(g_tBuf1du1) Binding 21
- Decorate 39(@entryPointOutput.Color) Location 0
+ Decorate 27(g_tBuf1du1) DescriptorSet 0
+ Decorate 27(g_tBuf1du1) Binding 21
+ Decorate 42(@entryPointOutput.Color) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -39,37 +38,40 @@
16(g_tTex1df1): 15(ptr) Variable UniformConstant
18: TypeInt 32 1
19: 18(int) Constant 0
- 21: TypeInt 32 0
- 22: TypePointer Function 21(int)
- 24: TypeImage 21(int) Buffer nonsampled format:R32ui
- 25: TypePointer UniformConstant 24
- 26(g_tBuf1du1): 25(ptr) Variable UniformConstant
- 29: TypePointer Function 8(PS_OUTPUT)
- 31: 6(float) Constant 0
- 32: 7(fvec4) ConstantComposite 31 31 31 31
- 33: TypePointer Function 7(fvec4)
- 38: TypePointer Output 7(fvec4)
-39(@entryPointOutput.Color): 38(ptr) Variable Output
+ 22: TypeInt 32 0
+ 23: TypePointer Function 22(int)
+ 25: TypeImage 22(int) Buffer nonsampled format:R32ui
+ 26: TypePointer UniformConstant 25
+ 27(g_tBuf1du1): 26(ptr) Variable UniformConstant
+ 29: TypeVector 22(int) 4
+ 32: TypePointer Function 8(PS_OUTPUT)
+ 34: 6(float) Constant 0
+ 35: 7(fvec4) ConstantComposite 34 34 34 34
+ 36: TypePointer Function 7(fvec4)
+ 41: TypePointer Output 7(fvec4)
+42(@entryPointOutput.Color): 41(ptr) Variable Output
4(main): 2 Function None 3
5: Label
- 40:8(PS_OUTPUT) FunctionCall 10(@main()
- 41: 7(fvec4) CompositeExtract 40 0
- Store 39(@entryPointOutput.Color) 41
+ 43:8(PS_OUTPUT) FunctionCall 10(@main()
+ 44: 7(fvec4) CompositeExtract 43 0
+ Store 42(@entryPointOutput.Color) 44
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(r00): 12(ptr) Variable Function
- 23(r01): 22(ptr) Variable Function
- 30(psout): 29(ptr) Variable Function
+ 24(r01): 23(ptr) Variable Function
+ 33(psout): 32(ptr) Variable Function
17: 14 Load 16(g_tTex1df1)
- 20: 6(float) ImageRead 17 19
- Store 13(r00) 20
- 27: 24 Load 26(g_tBuf1du1)
- 28: 21(int) ImageRead 27 19
- Store 23(r01) 28
- 34: 33(ptr) AccessChain 30(psout) 19
- Store 34 32
- 35:8(PS_OUTPUT) Load 30(psout)
- ReturnValue 35
+ 20: 7(fvec4) ImageRead 17 19
+ 21: 6(float) CompositeExtract 20 0
+ Store 13(r00) 21
+ 28: 25 Load 27(g_tBuf1du1)
+ 30: 29(ivec4) ImageRead 28 19
+ 31: 22(int) CompositeExtract 30 0
+ Store 24(r01) 31
+ 37: 36(ptr) AccessChain 33(psout) 19
+ Store 37 35
+ 38:8(PS_OUTPUT) Load 33(psout)
+ ReturnValue 38
FunctionEnd
diff --git a/Test/baseResults/spv.shaderBallot.comp.out b/Test/baseResults/spv.shaderBallot.comp.out
index bdbf10f..2a0106e 100644
--- a/Test/baseResults/spv.shaderBallot.comp.out
+++ b/Test/baseResults/spv.shaderBallot.comp.out
@@ -1,7 +1,7 @@
spv.shaderBallot.comp
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 318
+// Id's are bound by 397
Capability Shader
Capability Int64
@@ -42,7 +42,7 @@
Decorate 72(Buffers) BufferBlock
Decorate 75(data) DescriptorSet 0
Decorate 75(data) Binding 0
- Decorate 317 BuiltIn WorkgroupSize
+ Decorate 396 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -77,19 +77,20 @@
86: 70(int) Constant 1
87: TypeVector 68(float) 2
88: TypePointer Uniform 69(fvec4)
- 102: 70(int) Constant 2
- 103: TypeVector 68(float) 3
- 119: 70(int) Constant 3
- 134: TypePointer Uniform 70(int)
- 141: TypeVector 70(int) 2
- 142: TypePointer Uniform 71(ivec4)
- 156: TypeVector 70(int) 3
- 186: TypePointer Uniform 6(int)
- 193: TypePointer Uniform 20(ivec4)
- 207: TypeVector 6(int) 3
- 315: 6(int) Constant 8
- 316: 6(int) Constant 1
- 317: 207(ivec3) ConstantComposite 315 315 316
+ 100: 6(int) Constant 1
+ 104: 70(int) Constant 2
+ 105: TypeVector 68(float) 3
+ 121: 6(int) Constant 2
+ 125: 70(int) Constant 3
+ 140: TypePointer Uniform 70(int)
+ 147: TypeVector 70(int) 2
+ 148: TypePointer Uniform 71(ivec4)
+ 163: TypeVector 70(int) 3
+ 196: TypePointer Uniform 6(int)
+ 203: TypePointer Uniform 20(ivec4)
+ 218: TypeVector 6(int) 3
+ 395: 6(int) Constant 8
+ 396: 218(ivec3) ConstantComposite 395 395 100
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@@ -137,7 +138,7 @@
64: 17(int64_t) Bitcast 63
65: 58(bool) IEqual 57 64
SelectionMerge 67 None
- BranchConditional 65 66 236
+ BranchConditional 65 66 250
66: Label
76: 6(int) Load 8(invocation)
80: 79(ptr) AccessChain 75(data) 77 77 78
@@ -156,237 +157,333 @@
95: 68(float) CompositeExtract 91 1
96: 68(float) SubgroupReadInvocationKHR 95 92
97: 87(fvec2) CompositeConstruct 94 96
- 98: 88(ptr) AccessChain 75(data) 85 77
- 99: 69(fvec4) Load 98
- 100: 69(fvec4) VectorShuffle 99 97 4 5 2 3
- Store 98 100
- 101: 6(int) Load 8(invocation)
- 104: 88(ptr) AccessChain 75(data) 102 77
- 105: 69(fvec4) Load 104
- 106: 103(fvec3) VectorShuffle 105 105 0 1 2
- 107: 6(int) Load 8(invocation)
- 108: 68(float) CompositeExtract 106 0
- 109: 68(float) SubgroupReadInvocationKHR 108 107
- 110: 68(float) CompositeExtract 106 1
- 111: 68(float) SubgroupReadInvocationKHR 110 107
- 112: 68(float) CompositeExtract 106 2
- 113: 68(float) SubgroupReadInvocationKHR 112 107
- 114: 103(fvec3) CompositeConstruct 109 111 113
- 115: 88(ptr) AccessChain 75(data) 101 77
- 116: 69(fvec4) Load 115
- 117: 69(fvec4) VectorShuffle 116 114 4 5 6 3
- Store 115 117
- 118: 6(int) Load 8(invocation)
- 120: 88(ptr) AccessChain 75(data) 119 77
- 121: 69(fvec4) Load 120
- 122: 6(int) Load 8(invocation)
- 123: 68(float) CompositeExtract 121 0
- 124: 68(float) SubgroupReadInvocationKHR 123 122
- 125: 68(float) CompositeExtract 121 1
- 126: 68(float) SubgroupReadInvocationKHR 125 122
- 127: 68(float) CompositeExtract 121 2
- 128: 68(float) SubgroupReadInvocationKHR 127 122
- 129: 68(float) CompositeExtract 121 3
- 130: 68(float) SubgroupReadInvocationKHR 129 122
- 131: 69(fvec4) CompositeConstruct 124 126 128 130
- 132: 88(ptr) AccessChain 75(data) 118 77
- Store 132 131
- 133: 6(int) Load 8(invocation)
- 135: 134(ptr) AccessChain 75(data) 77 86 78
- 136: 70(int) Load 135
- 137: 6(int) Load 8(invocation)
- 138: 70(int) SubgroupReadInvocationKHR 136 137
- 139: 134(ptr) AccessChain 75(data) 133 86 78
- Store 139 138
- 140: 6(int) Load 8(invocation)
- 143: 142(ptr) AccessChain 75(data) 86 86
- 144: 71(ivec4) Load 143
- 145: 141(ivec2) VectorShuffle 144 144 0 1
+ 98: 79(ptr) AccessChain 75(data) 85 77 78
+ 99: 68(float) CompositeExtract 97 0
+ Store 98 99
+ 101: 79(ptr) AccessChain 75(data) 85 77 100
+ 102: 68(float) CompositeExtract 97 1
+ Store 101 102
+ 103: 6(int) Load 8(invocation)
+ 106: 88(ptr) AccessChain 75(data) 104 77
+ 107: 69(fvec4) Load 106
+ 108: 105(fvec3) VectorShuffle 107 107 0 1 2
+ 109: 6(int) Load 8(invocation)
+ 110: 68(float) CompositeExtract 108 0
+ 111: 68(float) SubgroupReadInvocationKHR 110 109
+ 112: 68(float) CompositeExtract 108 1
+ 113: 68(float) SubgroupReadInvocationKHR 112 109
+ 114: 68(float) CompositeExtract 108 2
+ 115: 68(float) SubgroupReadInvocationKHR 114 109
+ 116: 105(fvec3) CompositeConstruct 111 113 115
+ 117: 79(ptr) AccessChain 75(data) 103 77 78
+ 118: 68(float) CompositeExtract 116 0
+ Store 117 118
+ 119: 79(ptr) AccessChain 75(data) 103 77 100
+ 120: 68(float) CompositeExtract 116 1
+ Store 119 120
+ 122: 79(ptr) AccessChain 75(data) 103 77 121
+ 123: 68(float) CompositeExtract 116 2
+ Store 122 123
+ 124: 6(int) Load 8(invocation)
+ 126: 88(ptr) AccessChain 75(data) 125 77
+ 127: 69(fvec4) Load 126
+ 128: 6(int) Load 8(invocation)
+ 129: 68(float) CompositeExtract 127 0
+ 130: 68(float) SubgroupReadInvocationKHR 129 128
+ 131: 68(float) CompositeExtract 127 1
+ 132: 68(float) SubgroupReadInvocationKHR 131 128
+ 133: 68(float) CompositeExtract 127 2
+ 134: 68(float) SubgroupReadInvocationKHR 133 128
+ 135: 68(float) CompositeExtract 127 3
+ 136: 68(float) SubgroupReadInvocationKHR 135 128
+ 137: 69(fvec4) CompositeConstruct 130 132 134 136
+ 138: 88(ptr) AccessChain 75(data) 124 77
+ Store 138 137
+ 139: 6(int) Load 8(invocation)
+ 141: 140(ptr) AccessChain 75(data) 77 86 78
+ 142: 70(int) Load 141
+ 143: 6(int) Load 8(invocation)
+ 144: 70(int) SubgroupReadInvocationKHR 142 143
+ 145: 140(ptr) AccessChain 75(data) 139 86 78
+ Store 145 144
146: 6(int) Load 8(invocation)
- 147: 70(int) CompositeExtract 145 0
- 148: 70(int) SubgroupReadInvocationKHR 147 146
- 149: 70(int) CompositeExtract 145 1
- 150: 70(int) SubgroupReadInvocationKHR 149 146
- 151: 141(ivec2) CompositeConstruct 148 150
- 152: 142(ptr) AccessChain 75(data) 140 86
- 153: 71(ivec4) Load 152
- 154: 71(ivec4) VectorShuffle 153 151 4 5 2 3
- Store 152 154
- 155: 6(int) Load 8(invocation)
- 157: 142(ptr) AccessChain 75(data) 102 86
- 158: 71(ivec4) Load 157
- 159: 156(ivec3) VectorShuffle 158 158 0 1 2
- 160: 6(int) Load 8(invocation)
- 161: 70(int) CompositeExtract 159 0
- 162: 70(int) SubgroupReadInvocationKHR 161 160
- 163: 70(int) CompositeExtract 159 1
- 164: 70(int) SubgroupReadInvocationKHR 163 160
- 165: 70(int) CompositeExtract 159 2
- 166: 70(int) SubgroupReadInvocationKHR 165 160
- 167: 156(ivec3) CompositeConstruct 162 164 166
- 168: 142(ptr) AccessChain 75(data) 155 86
- 169: 71(ivec4) Load 168
- 170: 71(ivec4) VectorShuffle 169 167 4 5 6 3
- Store 168 170
- 171: 6(int) Load 8(invocation)
- 172: 142(ptr) AccessChain 75(data) 119 86
- 173: 71(ivec4) Load 172
- 174: 6(int) Load 8(invocation)
- 175: 70(int) CompositeExtract 173 0
- 176: 70(int) SubgroupReadInvocationKHR 175 174
- 177: 70(int) CompositeExtract 173 1
- 178: 70(int) SubgroupReadInvocationKHR 177 174
- 179: 70(int) CompositeExtract 173 2
- 180: 70(int) SubgroupReadInvocationKHR 179 174
- 181: 70(int) CompositeExtract 173 3
- 182: 70(int) SubgroupReadInvocationKHR 181 174
- 183: 71(ivec4) CompositeConstruct 176 178 180 182
- 184: 142(ptr) AccessChain 75(data) 171 86
- Store 184 183
- 185: 6(int) Load 8(invocation)
- 187: 186(ptr) AccessChain 75(data) 77 102 78
- 188: 6(int) Load 187
- 189: 6(int) Load 8(invocation)
- 190: 6(int) SubgroupReadInvocationKHR 188 189
- 191: 186(ptr) AccessChain 75(data) 185 102 78
- Store 191 190
- 192: 6(int) Load 8(invocation)
- 194: 193(ptr) AccessChain 75(data) 86 102
- 195: 20(ivec4) Load 194
- 196: 26(ivec2) VectorShuffle 195 195 0 1
- 197: 6(int) Load 8(invocation)
- 198: 6(int) CompositeExtract 196 0
- 199: 6(int) SubgroupReadInvocationKHR 198 197
- 200: 6(int) CompositeExtract 196 1
- 201: 6(int) SubgroupReadInvocationKHR 200 197
- 202: 26(ivec2) CompositeConstruct 199 201
- 203: 193(ptr) AccessChain 75(data) 192 102
- 204: 20(ivec4) Load 203
- 205: 20(ivec4) VectorShuffle 204 202 4 5 2 3
- Store 203 205
- 206: 6(int) Load 8(invocation)
- 208: 193(ptr) AccessChain 75(data) 102 102
- 209: 20(ivec4) Load 208
- 210: 207(ivec3) VectorShuffle 209 209 0 1 2
- 211: 6(int) Load 8(invocation)
- 212: 6(int) CompositeExtract 210 0
- 213: 6(int) SubgroupReadInvocationKHR 212 211
- 214: 6(int) CompositeExtract 210 1
- 215: 6(int) SubgroupReadInvocationKHR 214 211
- 216: 6(int) CompositeExtract 210 2
- 217: 6(int) SubgroupReadInvocationKHR 216 211
- 218: 207(ivec3) CompositeConstruct 213 215 217
- 219: 193(ptr) AccessChain 75(data) 206 102
+ 149: 148(ptr) AccessChain 75(data) 86 86
+ 150: 71(ivec4) Load 149
+ 151: 147(ivec2) VectorShuffle 150 150 0 1
+ 152: 6(int) Load 8(invocation)
+ 153: 70(int) CompositeExtract 151 0
+ 154: 70(int) SubgroupReadInvocationKHR 153 152
+ 155: 70(int) CompositeExtract 151 1
+ 156: 70(int) SubgroupReadInvocationKHR 155 152
+ 157: 147(ivec2) CompositeConstruct 154 156
+ 158: 140(ptr) AccessChain 75(data) 146 86 78
+ 159: 70(int) CompositeExtract 157 0
+ Store 158 159
+ 160: 140(ptr) AccessChain 75(data) 146 86 100
+ 161: 70(int) CompositeExtract 157 1
+ Store 160 161
+ 162: 6(int) Load 8(invocation)
+ 164: 148(ptr) AccessChain 75(data) 104 86
+ 165: 71(ivec4) Load 164
+ 166: 163(ivec3) VectorShuffle 165 165 0 1 2
+ 167: 6(int) Load 8(invocation)
+ 168: 70(int) CompositeExtract 166 0
+ 169: 70(int) SubgroupReadInvocationKHR 168 167
+ 170: 70(int) CompositeExtract 166 1
+ 171: 70(int) SubgroupReadInvocationKHR 170 167
+ 172: 70(int) CompositeExtract 166 2
+ 173: 70(int) SubgroupReadInvocationKHR 172 167
+ 174: 163(ivec3) CompositeConstruct 169 171 173
+ 175: 140(ptr) AccessChain 75(data) 162 86 78
+ 176: 70(int) CompositeExtract 174 0
+ Store 175 176
+ 177: 140(ptr) AccessChain 75(data) 162 86 100
+ 178: 70(int) CompositeExtract 174 1
+ Store 177 178
+ 179: 140(ptr) AccessChain 75(data) 162 86 121
+ 180: 70(int) CompositeExtract 174 2
+ Store 179 180
+ 181: 6(int) Load 8(invocation)
+ 182: 148(ptr) AccessChain 75(data) 125 86
+ 183: 71(ivec4) Load 182
+ 184: 6(int) Load 8(invocation)
+ 185: 70(int) CompositeExtract 183 0
+ 186: 70(int) SubgroupReadInvocationKHR 185 184
+ 187: 70(int) CompositeExtract 183 1
+ 188: 70(int) SubgroupReadInvocationKHR 187 184
+ 189: 70(int) CompositeExtract 183 2
+ 190: 70(int) SubgroupReadInvocationKHR 189 184
+ 191: 70(int) CompositeExtract 183 3
+ 192: 70(int) SubgroupReadInvocationKHR 191 184
+ 193: 71(ivec4) CompositeConstruct 186 188 190 192
+ 194: 148(ptr) AccessChain 75(data) 181 86
+ Store 194 193
+ 195: 6(int) Load 8(invocation)
+ 197: 196(ptr) AccessChain 75(data) 77 104 78
+ 198: 6(int) Load 197
+ 199: 6(int) Load 8(invocation)
+ 200: 6(int) SubgroupReadInvocationKHR 198 199
+ 201: 196(ptr) AccessChain 75(data) 195 104 78
+ Store 201 200
+ 202: 6(int) Load 8(invocation)
+ 204: 203(ptr) AccessChain 75(data) 86 104
+ 205: 20(ivec4) Load 204
+ 206: 26(ivec2) VectorShuffle 205 205 0 1
+ 207: 6(int) Load 8(invocation)
+ 208: 6(int) CompositeExtract 206 0
+ 209: 6(int) SubgroupReadInvocationKHR 208 207
+ 210: 6(int) CompositeExtract 206 1
+ 211: 6(int) SubgroupReadInvocationKHR 210 207
+ 212: 26(ivec2) CompositeConstruct 209 211
+ 213: 196(ptr) AccessChain 75(data) 202 104 78
+ 214: 6(int) CompositeExtract 212 0
+ Store 213 214
+ 215: 196(ptr) AccessChain 75(data) 202 104 100
+ 216: 6(int) CompositeExtract 212 1
+ Store 215 216
+ 217: 6(int) Load 8(invocation)
+ 219: 203(ptr) AccessChain 75(data) 104 104
220: 20(ivec4) Load 219
- 221: 20(ivec4) VectorShuffle 220 218 4 5 6 3
- Store 219 221
+ 221: 218(ivec3) VectorShuffle 220 220 0 1 2
222: 6(int) Load 8(invocation)
- 223: 193(ptr) AccessChain 75(data) 119 102
- 224: 20(ivec4) Load 223
- 225: 6(int) Load 8(invocation)
- 226: 6(int) CompositeExtract 224 0
- 227: 6(int) SubgroupReadInvocationKHR 226 225
- 228: 6(int) CompositeExtract 224 1
- 229: 6(int) SubgroupReadInvocationKHR 228 225
- 230: 6(int) CompositeExtract 224 2
- 231: 6(int) SubgroupReadInvocationKHR 230 225
- 232: 6(int) CompositeExtract 224 3
- 233: 6(int) SubgroupReadInvocationKHR 232 225
- 234: 20(ivec4) CompositeConstruct 227 229 231 233
- 235: 193(ptr) AccessChain 75(data) 222 102
- Store 235 234
+ 223: 6(int) CompositeExtract 221 0
+ 224: 6(int) SubgroupReadInvocationKHR 223 222
+ 225: 6(int) CompositeExtract 221 1
+ 226: 6(int) SubgroupReadInvocationKHR 225 222
+ 227: 6(int) CompositeExtract 221 2
+ 228: 6(int) SubgroupReadInvocationKHR 227 222
+ 229: 218(ivec3) CompositeConstruct 224 226 228
+ 230: 196(ptr) AccessChain 75(data) 217 104 78
+ 231: 6(int) CompositeExtract 229 0
+ Store 230 231
+ 232: 196(ptr) AccessChain 75(data) 217 104 100
+ 233: 6(int) CompositeExtract 229 1
+ Store 232 233
+ 234: 196(ptr) AccessChain 75(data) 217 104 121
+ 235: 6(int) CompositeExtract 229 2
+ Store 234 235
+ 236: 6(int) Load 8(invocation)
+ 237: 203(ptr) AccessChain 75(data) 125 104
+ 238: 20(ivec4) Load 237
+ 239: 6(int) Load 8(invocation)
+ 240: 6(int) CompositeExtract 238 0
+ 241: 6(int) SubgroupReadInvocationKHR 240 239
+ 242: 6(int) CompositeExtract 238 1
+ 243: 6(int) SubgroupReadInvocationKHR 242 239
+ 244: 6(int) CompositeExtract 238 2
+ 245: 6(int) SubgroupReadInvocationKHR 244 239
+ 246: 6(int) CompositeExtract 238 3
+ 247: 6(int) SubgroupReadInvocationKHR 246 239
+ 248: 20(ivec4) CompositeConstruct 241 243 245 247
+ 249: 203(ptr) AccessChain 75(data) 236 104
+ Store 249 248
Branch 67
- 236: Label
- 237: 6(int) Load 8(invocation)
- 238: 79(ptr) AccessChain 75(data) 77 77 78
- 239: 68(float) Load 238
- 240: 68(float) SubgroupFirstInvocationKHR 239
- 241: 79(ptr) AccessChain 75(data) 237 77 78
- Store 241 240
- 242: 6(int) Load 8(invocation)
- 243: 88(ptr) AccessChain 75(data) 86 77
- 244: 69(fvec4) Load 243
- 245: 87(fvec2) VectorShuffle 244 244 0 1
- 246: 87(fvec2) SubgroupFirstInvocationKHR 245
- 247: 88(ptr) AccessChain 75(data) 242 77
- 248: 69(fvec4) Load 247
- 249: 69(fvec4) VectorShuffle 248 246 4 5 2 3
- Store 247 249
- 250: 6(int) Load 8(invocation)
- 251: 88(ptr) AccessChain 75(data) 102 77
- 252: 69(fvec4) Load 251
- 253: 103(fvec3) VectorShuffle 252 252 0 1 2
- 254: 103(fvec3) SubgroupFirstInvocationKHR 253
- 255: 88(ptr) AccessChain 75(data) 250 77
- 256: 69(fvec4) Load 255
- 257: 69(fvec4) VectorShuffle 256 254 4 5 6 3
- Store 255 257
- 258: 6(int) Load 8(invocation)
- 259: 88(ptr) AccessChain 75(data) 119 77
- 260: 69(fvec4) Load 259
- 261: 69(fvec4) SubgroupFirstInvocationKHR 260
- 262: 88(ptr) AccessChain 75(data) 258 77
- Store 262 261
- 263: 6(int) Load 8(invocation)
- 264: 134(ptr) AccessChain 75(data) 77 86 78
- 265: 70(int) Load 264
- 266: 70(int) SubgroupFirstInvocationKHR 265
- 267: 134(ptr) AccessChain 75(data) 263 86 78
- Store 267 266
- 268: 6(int) Load 8(invocation)
- 269: 142(ptr) AccessChain 75(data) 86 86
- 270: 71(ivec4) Load 269
- 271: 141(ivec2) VectorShuffle 270 270 0 1
- 272: 141(ivec2) SubgroupFirstInvocationKHR 271
- 273: 142(ptr) AccessChain 75(data) 268 86
- 274: 71(ivec4) Load 273
- 275: 71(ivec4) VectorShuffle 274 272 4 5 2 3
- Store 273 275
- 276: 6(int) Load 8(invocation)
- 277: 142(ptr) AccessChain 75(data) 102 86
- 278: 71(ivec4) Load 277
- 279: 156(ivec3) VectorShuffle 278 278 0 1 2
- 280: 156(ivec3) SubgroupFirstInvocationKHR 279
- 281: 142(ptr) AccessChain 75(data) 276 86
- 282: 71(ivec4) Load 281
- 283: 71(ivec4) VectorShuffle 282 280 4 5 6 3
- Store 281 283
- 284: 6(int) Load 8(invocation)
- 285: 142(ptr) AccessChain 75(data) 119 86
- 286: 71(ivec4) Load 285
- 287: 71(ivec4) SubgroupFirstInvocationKHR 286
- 288: 142(ptr) AccessChain 75(data) 284 86
- Store 288 287
- 289: 6(int) Load 8(invocation)
- 290: 186(ptr) AccessChain 75(data) 77 102 78
- 291: 6(int) Load 290
- 292: 6(int) SubgroupFirstInvocationKHR 291
- 293: 186(ptr) AccessChain 75(data) 289 102 78
- Store 293 292
- 294: 6(int) Load 8(invocation)
- 295: 193(ptr) AccessChain 75(data) 86 102
- 296: 20(ivec4) Load 295
- 297: 26(ivec2) VectorShuffle 296 296 0 1
- 298: 26(ivec2) SubgroupFirstInvocationKHR 297
- 299: 193(ptr) AccessChain 75(data) 294 102
- 300: 20(ivec4) Load 299
- 301: 20(ivec4) VectorShuffle 300 298 4 5 2 3
- Store 299 301
- 302: 6(int) Load 8(invocation)
- 303: 193(ptr) AccessChain 75(data) 102 102
- 304: 20(ivec4) Load 303
- 305: 207(ivec3) VectorShuffle 304 304 0 1 2
- 306: 207(ivec3) SubgroupFirstInvocationKHR 305
- 307: 193(ptr) AccessChain 75(data) 302 102
- 308: 20(ivec4) Load 307
- 309: 20(ivec4) VectorShuffle 308 306 4 5 6 3
- Store 307 309
- 310: 6(int) Load 8(invocation)
- 311: 193(ptr) AccessChain 75(data) 119 102
- 312: 20(ivec4) Load 311
- 313: 20(ivec4) SubgroupFirstInvocationKHR 312
- 314: 193(ptr) AccessChain 75(data) 310 102
- Store 314 313
+ 250: Label
+ 251: 6(int) Load 8(invocation)
+ 252: 79(ptr) AccessChain 75(data) 77 77 78
+ 253: 68(float) Load 252
+ 254: 68(float) SubgroupFirstInvocationKHR 253
+ 255: 79(ptr) AccessChain 75(data) 251 77 78
+ Store 255 254
+ 256: 6(int) Load 8(invocation)
+ 257: 88(ptr) AccessChain 75(data) 86 77
+ 258: 69(fvec4) Load 257
+ 259: 87(fvec2) VectorShuffle 258 258 0 1
+ 260: 68(float) CompositeExtract 259 0
+ 261: 68(float) SubgroupFirstInvocationKHR 260
+ 262: 68(float) CompositeExtract 259 1
+ 263: 68(float) SubgroupFirstInvocationKHR 262
+ 264: 87(fvec2) CompositeConstruct 261 263
+ 265: 79(ptr) AccessChain 75(data) 256 77 78
+ 266: 68(float) CompositeExtract 264 0
+ Store 265 266
+ 267: 79(ptr) AccessChain 75(data) 256 77 100
+ 268: 68(float) CompositeExtract 264 1
+ Store 267 268
+ 269: 6(int) Load 8(invocation)
+ 270: 88(ptr) AccessChain 75(data) 104 77
+ 271: 69(fvec4) Load 270
+ 272: 105(fvec3) VectorShuffle 271 271 0 1 2
+ 273: 68(float) CompositeExtract 272 0
+ 274: 68(float) SubgroupFirstInvocationKHR 273
+ 275: 68(float) CompositeExtract 272 1
+ 276: 68(float) SubgroupFirstInvocationKHR 275
+ 277: 68(float) CompositeExtract 272 2
+ 278: 68(float) SubgroupFirstInvocationKHR 277
+ 279: 105(fvec3) CompositeConstruct 274 276 278
+ 280: 79(ptr) AccessChain 75(data) 269 77 78
+ 281: 68(float) CompositeExtract 279 0
+ Store 280 281
+ 282: 79(ptr) AccessChain 75(data) 269 77 100
+ 283: 68(float) CompositeExtract 279 1
+ Store 282 283
+ 284: 79(ptr) AccessChain 75(data) 269 77 121
+ 285: 68(float) CompositeExtract 279 2
+ Store 284 285
+ 286: 6(int) Load 8(invocation)
+ 287: 88(ptr) AccessChain 75(data) 125 77
+ 288: 69(fvec4) Load 287
+ 289: 68(float) CompositeExtract 288 0
+ 290: 68(float) SubgroupFirstInvocationKHR 289
+ 291: 68(float) CompositeExtract 288 1
+ 292: 68(float) SubgroupFirstInvocationKHR 291
+ 293: 68(float) CompositeExtract 288 2
+ 294: 68(float) SubgroupFirstInvocationKHR 293
+ 295: 68(float) CompositeExtract 288 3
+ 296: 68(float) SubgroupFirstInvocationKHR 295
+ 297: 69(fvec4) CompositeConstruct 290 292 294 296
+ 298: 88(ptr) AccessChain 75(data) 286 77
+ Store 298 297
+ 299: 6(int) Load 8(invocation)
+ 300: 140(ptr) AccessChain 75(data) 77 86 78
+ 301: 70(int) Load 300
+ 302: 70(int) SubgroupFirstInvocationKHR 301
+ 303: 140(ptr) AccessChain 75(data) 299 86 78
+ Store 303 302
+ 304: 6(int) Load 8(invocation)
+ 305: 148(ptr) AccessChain 75(data) 86 86
+ 306: 71(ivec4) Load 305
+ 307: 147(ivec2) VectorShuffle 306 306 0 1
+ 308: 70(int) CompositeExtract 307 0
+ 309: 70(int) SubgroupFirstInvocationKHR 308
+ 310: 70(int) CompositeExtract 307 1
+ 311: 70(int) SubgroupFirstInvocationKHR 310
+ 312: 147(ivec2) CompositeConstruct 309 311
+ 313: 140(ptr) AccessChain 75(data) 304 86 78
+ 314: 70(int) CompositeExtract 312 0
+ Store 313 314
+ 315: 140(ptr) AccessChain 75(data) 304 86 100
+ 316: 70(int) CompositeExtract 312 1
+ Store 315 316
+ 317: 6(int) Load 8(invocation)
+ 318: 148(ptr) AccessChain 75(data) 104 86
+ 319: 71(ivec4) Load 318
+ 320: 163(ivec3) VectorShuffle 319 319 0 1 2
+ 321: 70(int) CompositeExtract 320 0
+ 322: 70(int) SubgroupFirstInvocationKHR 321
+ 323: 70(int) CompositeExtract 320 1
+ 324: 70(int) SubgroupFirstInvocationKHR 323
+ 325: 70(int) CompositeExtract 320 2
+ 326: 70(int) SubgroupFirstInvocationKHR 325
+ 327: 163(ivec3) CompositeConstruct 322 324 326
+ 328: 140(ptr) AccessChain 75(data) 317 86 78
+ 329: 70(int) CompositeExtract 327 0
+ Store 328 329
+ 330: 140(ptr) AccessChain 75(data) 317 86 100
+ 331: 70(int) CompositeExtract 327 1
+ Store 330 331
+ 332: 140(ptr) AccessChain 75(data) 317 86 121
+ 333: 70(int) CompositeExtract 327 2
+ Store 332 333
+ 334: 6(int) Load 8(invocation)
+ 335: 148(ptr) AccessChain 75(data) 125 86
+ 336: 71(ivec4) Load 335
+ 337: 70(int) CompositeExtract 336 0
+ 338: 70(int) SubgroupFirstInvocationKHR 337
+ 339: 70(int) CompositeExtract 336 1
+ 340: 70(int) SubgroupFirstInvocationKHR 339
+ 341: 70(int) CompositeExtract 336 2
+ 342: 70(int) SubgroupFirstInvocationKHR 341
+ 343: 70(int) CompositeExtract 336 3
+ 344: 70(int) SubgroupFirstInvocationKHR 343
+ 345: 71(ivec4) CompositeConstruct 338 340 342 344
+ 346: 148(ptr) AccessChain 75(data) 334 86
+ Store 346 345
+ 347: 6(int) Load 8(invocation)
+ 348: 196(ptr) AccessChain 75(data) 77 104 78
+ 349: 6(int) Load 348
+ 350: 6(int) SubgroupFirstInvocationKHR 349
+ 351: 196(ptr) AccessChain 75(data) 347 104 78
+ Store 351 350
+ 352: 6(int) Load 8(invocation)
+ 353: 203(ptr) AccessChain 75(data) 86 104
+ 354: 20(ivec4) Load 353
+ 355: 26(ivec2) VectorShuffle 354 354 0 1
+ 356: 6(int) CompositeExtract 355 0
+ 357: 6(int) SubgroupFirstInvocationKHR 356
+ 358: 6(int) CompositeExtract 355 1
+ 359: 6(int) SubgroupFirstInvocationKHR 358
+ 360: 26(ivec2) CompositeConstruct 357 359
+ 361: 196(ptr) AccessChain 75(data) 352 104 78
+ 362: 6(int) CompositeExtract 360 0
+ Store 361 362
+ 363: 196(ptr) AccessChain 75(data) 352 104 100
+ 364: 6(int) CompositeExtract 360 1
+ Store 363 364
+ 365: 6(int) Load 8(invocation)
+ 366: 203(ptr) AccessChain 75(data) 104 104
+ 367: 20(ivec4) Load 366
+ 368: 218(ivec3) VectorShuffle 367 367 0 1 2
+ 369: 6(int) CompositeExtract 368 0
+ 370: 6(int) SubgroupFirstInvocationKHR 369
+ 371: 6(int) CompositeExtract 368 1
+ 372: 6(int) SubgroupFirstInvocationKHR 371
+ 373: 6(int) CompositeExtract 368 2
+ 374: 6(int) SubgroupFirstInvocationKHR 373
+ 375: 218(ivec3) CompositeConstruct 370 372 374
+ 376: 196(ptr) AccessChain 75(data) 365 104 78
+ 377: 6(int) CompositeExtract 375 0
+ Store 376 377
+ 378: 196(ptr) AccessChain 75(data) 365 104 100
+ 379: 6(int) CompositeExtract 375 1
+ Store 378 379
+ 380: 196(ptr) AccessChain 75(data) 365 104 121
+ 381: 6(int) CompositeExtract 375 2
+ Store 380 381
+ 382: 6(int) Load 8(invocation)
+ 383: 203(ptr) AccessChain 75(data) 125 104
+ 384: 20(ivec4) Load 383
+ 385: 6(int) CompositeExtract 384 0
+ 386: 6(int) SubgroupFirstInvocationKHR 385
+ 387: 6(int) CompositeExtract 384 1
+ 388: 6(int) SubgroupFirstInvocationKHR 387
+ 389: 6(int) CompositeExtract 384 2
+ 390: 6(int) SubgroupFirstInvocationKHR 389
+ 391: 6(int) CompositeExtract 384 3
+ 392: 6(int) SubgroupFirstInvocationKHR 391
+ 393: 20(ivec4) CompositeConstruct 386 388 390 392
+ 394: 203(ptr) AccessChain 75(data) 382 104
+ Store 394 393
Branch 67
67: Label
Return
diff --git a/Test/baseResults/spv.subgroup.frag.out b/Test/baseResults/spv.subgroup.frag.out
index ad11586..a3e427f 100644
--- a/Test/baseResults/spv.subgroup.frag.out
+++ b/Test/baseResults/spv.subgroup.frag.out
@@ -24,6 +24,7 @@
Decorate 13(gl_SubgroupInvocationID) Flat
Decorate 13(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
Decorate 14 RelaxedPrecision
+ Decorate 16 RelaxedPrecision
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
diff --git a/Test/baseResults/spv.subgroup.geom.out b/Test/baseResults/spv.subgroup.geom.out
index c866f8e..27f05b2 100644
--- a/Test/baseResults/spv.subgroup.geom.out
+++ b/Test/baseResults/spv.subgroup.geom.out
@@ -33,6 +33,7 @@
Decorate 20(gl_SubgroupInvocationID) RelaxedPrecision
Decorate 20(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
Decorate 21 RelaxedPrecision
+ Decorate 23 RelaxedPrecision
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
diff --git a/Test/baseResults/spv.subgroup.tesc.out b/Test/baseResults/spv.subgroup.tesc.out
index ed6b5c1..8322a4a 100644
--- a/Test/baseResults/spv.subgroup.tesc.out
+++ b/Test/baseResults/spv.subgroup.tesc.out
@@ -30,6 +30,7 @@
Decorate 20(gl_SubgroupInvocationID) RelaxedPrecision
Decorate 20(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
Decorate 21 RelaxedPrecision
+ Decorate 23 RelaxedPrecision
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
diff --git a/Test/baseResults/spv.subgroup.tese.out b/Test/baseResults/spv.subgroup.tese.out
index 70cdc96..360f98b 100644
--- a/Test/baseResults/spv.subgroup.tese.out
+++ b/Test/baseResults/spv.subgroup.tese.out
@@ -32,6 +32,7 @@
Decorate 20(gl_SubgroupInvocationID) RelaxedPrecision
Decorate 20(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
Decorate 21 RelaxedPrecision
+ Decorate 23 RelaxedPrecision
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
diff --git a/Test/baseResults/spv.subgroup.vert.out b/Test/baseResults/spv.subgroup.vert.out
index 34b090d..6de8a0a 100644
--- a/Test/baseResults/spv.subgroup.vert.out
+++ b/Test/baseResults/spv.subgroup.vert.out
@@ -29,6 +29,7 @@
Decorate 20(gl_SubgroupInvocationID) RelaxedPrecision
Decorate 20(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
Decorate 21 RelaxedPrecision
+ Decorate 23 RelaxedPrecision
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
diff --git a/Test/baseResults/spv.subgroupArithmetic.comp.out b/Test/baseResults/spv.subgroupArithmetic.comp.out
index e531f6f..87bfa31 100644
--- a/Test/baseResults/spv.subgroupArithmetic.comp.out
+++ b/Test/baseResults/spv.subgroupArithmetic.comp.out
@@ -1,7 +1,7 @@
spv.subgroupArithmetic.comp
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 2085
+// Id's are bound by 2386
Capability Shader
Capability Float64
@@ -39,7 +39,7 @@
Decorate 24(Buffers) Block
Decorate 27(data) DescriptorSet 0
Decorate 27(data) Binding 0
- Decorate 2084 BuiltIn WorkgroupSize
+ Decorate 2385 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -66,34 +66,35 @@
38: 19(int) Constant 1
39: TypeVector 17(float) 2
40: TypePointer StorageBuffer 18(fvec4)
- 49: 19(int) Constant 2
- 50: TypeVector 17(float) 3
- 59: 19(int) Constant 3
- 65: TypePointer StorageBuffer 19(int)
- 71: TypeVector 19(int) 2
- 72: TypePointer StorageBuffer 20(ivec4)
- 81: TypeVector 19(int) 3
- 95: TypePointer StorageBuffer 6(int)
- 101: TypeVector 6(int) 2
- 102: TypePointer StorageBuffer 21(ivec4)
- 111: TypeVector 6(int) 3
- 125: TypePointer StorageBuffer 22(float64_t)
- 131: TypeVector 22(float64_t) 2
- 132: TypePointer StorageBuffer 23(f64vec4)
- 141: TypeVector 22(float64_t) 3
- 521: TypeBool
- 530: 71(ivec2) ConstantComposite 29 29
- 531: TypeVector 521(bool) 2
- 534: 71(ivec2) ConstantComposite 38 38
- 543: 81(ivec3) ConstantComposite 29 29 29
- 544: TypeVector 521(bool) 3
- 547: 81(ivec3) ConstantComposite 38 38 38
- 555: 20(ivec4) ConstantComposite 29 29 29 29
- 556: TypeVector 521(bool) 4
- 559: 20(ivec4) ConstantComposite 38 38 38 38
- 2082: 6(int) Constant 8
- 2083: 6(int) Constant 1
- 2084: 111(ivec3) ConstantComposite 2082 2083 2083
+ 47: 6(int) Constant 1
+ 51: 19(int) Constant 2
+ 52: TypeVector 17(float) 3
+ 61: 6(int) Constant 2
+ 65: 19(int) Constant 3
+ 71: TypePointer StorageBuffer 19(int)
+ 77: TypeVector 19(int) 2
+ 78: TypePointer StorageBuffer 20(ivec4)
+ 88: TypeVector 19(int) 3
+ 105: TypePointer StorageBuffer 6(int)
+ 111: TypeVector 6(int) 2
+ 112: TypePointer StorageBuffer 21(ivec4)
+ 122: TypeVector 6(int) 3
+ 139: TypePointer StorageBuffer 22(float64_t)
+ 145: TypeVector 22(float64_t) 2
+ 146: TypePointer StorageBuffer 23(f64vec4)
+ 156: TypeVector 22(float64_t) 3
+ 595: TypeBool
+ 604: 77(ivec2) ConstantComposite 29 29
+ 605: TypeVector 595(bool) 2
+ 608: 77(ivec2) ConstantComposite 38 38
+ 618: 88(ivec3) ConstantComposite 29 29 29
+ 619: TypeVector 595(bool) 3
+ 622: 88(ivec3) ConstantComposite 38 38 38
+ 633: 20(ivec4) ConstantComposite 29 29 29 29
+ 634: TypeVector 595(bool) 4
+ 637: 20(ivec4) ConstantComposite 38 38 38 38
+ 2384: 6(int) Constant 8
+ 2385: 122(ivec3) ConstantComposite 2384 47 47
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@@ -113,2316 +114,2841 @@
42: 18(fvec4) Load 41
43: 39(fvec2) VectorShuffle 42 42 0 1
44: 39(fvec2) GroupNonUniformFAdd 34 Reduce 43
- 45: 40(ptr) AccessChain 27(data) 37 29
- 46: 18(fvec4) Load 45
- 47: 18(fvec4) VectorShuffle 46 44 4 5 2 3
- Store 45 47
- 48: 6(int) Load 8(invocation)
- 51: 40(ptr) AccessChain 27(data) 49 29
- 52: 18(fvec4) Load 51
- 53: 50(fvec3) VectorShuffle 52 52 0 1 2
- 54: 50(fvec3) GroupNonUniformFAdd 34 Reduce 53
- 55: 40(ptr) AccessChain 27(data) 48 29
- 56: 18(fvec4) Load 55
- 57: 18(fvec4) VectorShuffle 56 54 4 5 6 3
- Store 55 57
- 58: 6(int) Load 8(invocation)
- 60: 40(ptr) AccessChain 27(data) 59 29
- 61: 18(fvec4) Load 60
- 62: 18(fvec4) GroupNonUniformFAdd 34 Reduce 61
- 63: 40(ptr) AccessChain 27(data) 58 29
- Store 63 62
+ 45: 31(ptr) AccessChain 27(data) 37 29 30
+ 46: 17(float) CompositeExtract 44 0
+ Store 45 46
+ 48: 31(ptr) AccessChain 27(data) 37 29 47
+ 49: 17(float) CompositeExtract 44 1
+ Store 48 49
+ 50: 6(int) Load 8(invocation)
+ 53: 40(ptr) AccessChain 27(data) 51 29
+ 54: 18(fvec4) Load 53
+ 55: 52(fvec3) VectorShuffle 54 54 0 1 2
+ 56: 52(fvec3) GroupNonUniformFAdd 34 Reduce 55
+ 57: 31(ptr) AccessChain 27(data) 50 29 30
+ 58: 17(float) CompositeExtract 56 0
+ Store 57 58
+ 59: 31(ptr) AccessChain 27(data) 50 29 47
+ 60: 17(float) CompositeExtract 56 1
+ Store 59 60
+ 62: 31(ptr) AccessChain 27(data) 50 29 61
+ 63: 17(float) CompositeExtract 56 2
+ Store 62 63
64: 6(int) Load 8(invocation)
- 66: 65(ptr) AccessChain 27(data) 29 38 30
- 67: 19(int) Load 66
- 68: 19(int) GroupNonUniformIAdd 34 Reduce 67
- 69: 65(ptr) AccessChain 27(data) 64 38 30
+ 66: 40(ptr) AccessChain 27(data) 65 29
+ 67: 18(fvec4) Load 66
+ 68: 18(fvec4) GroupNonUniformFAdd 34 Reduce 67
+ 69: 40(ptr) AccessChain 27(data) 64 29
Store 69 68
70: 6(int) Load 8(invocation)
- 73: 72(ptr) AccessChain 27(data) 38 38
- 74: 20(ivec4) Load 73
- 75: 71(ivec2) VectorShuffle 74 74 0 1
- 76: 71(ivec2) GroupNonUniformIAdd 34 Reduce 75
- 77: 72(ptr) AccessChain 27(data) 70 38
- 78: 20(ivec4) Load 77
- 79: 20(ivec4) VectorShuffle 78 76 4 5 2 3
- Store 77 79
- 80: 6(int) Load 8(invocation)
- 82: 72(ptr) AccessChain 27(data) 49 38
- 83: 20(ivec4) Load 82
- 84: 81(ivec3) VectorShuffle 83 83 0 1 2
- 85: 81(ivec3) GroupNonUniformIAdd 34 Reduce 84
- 86: 72(ptr) AccessChain 27(data) 80 38
- 87: 20(ivec4) Load 86
- 88: 20(ivec4) VectorShuffle 87 85 4 5 6 3
- Store 86 88
- 89: 6(int) Load 8(invocation)
- 90: 72(ptr) AccessChain 27(data) 59 38
- 91: 20(ivec4) Load 90
- 92: 20(ivec4) GroupNonUniformIAdd 34 Reduce 91
- 93: 72(ptr) AccessChain 27(data) 89 38
- Store 93 92
- 94: 6(int) Load 8(invocation)
- 96: 95(ptr) AccessChain 27(data) 29 49 30
- 97: 6(int) Load 96
- 98: 6(int) GroupNonUniformIAdd 34 Reduce 97
- 99: 95(ptr) AccessChain 27(data) 94 49 30
- Store 99 98
- 100: 6(int) Load 8(invocation)
- 103: 102(ptr) AccessChain 27(data) 38 49
- 104: 21(ivec4) Load 103
- 105: 101(ivec2) VectorShuffle 104 104 0 1
- 106: 101(ivec2) GroupNonUniformIAdd 34 Reduce 105
- 107: 102(ptr) AccessChain 27(data) 100 49
- 108: 21(ivec4) Load 107
- 109: 21(ivec4) VectorShuffle 108 106 4 5 2 3
- Store 107 109
+ 72: 71(ptr) AccessChain 27(data) 29 38 30
+ 73: 19(int) Load 72
+ 74: 19(int) GroupNonUniformIAdd 34 Reduce 73
+ 75: 71(ptr) AccessChain 27(data) 70 38 30
+ Store 75 74
+ 76: 6(int) Load 8(invocation)
+ 79: 78(ptr) AccessChain 27(data) 38 38
+ 80: 20(ivec4) Load 79
+ 81: 77(ivec2) VectorShuffle 80 80 0 1
+ 82: 77(ivec2) GroupNonUniformIAdd 34 Reduce 81
+ 83: 71(ptr) AccessChain 27(data) 76 38 30
+ 84: 19(int) CompositeExtract 82 0
+ Store 83 84
+ 85: 71(ptr) AccessChain 27(data) 76 38 47
+ 86: 19(int) CompositeExtract 82 1
+ Store 85 86
+ 87: 6(int) Load 8(invocation)
+ 89: 78(ptr) AccessChain 27(data) 51 38
+ 90: 20(ivec4) Load 89
+ 91: 88(ivec3) VectorShuffle 90 90 0 1 2
+ 92: 88(ivec3) GroupNonUniformIAdd 34 Reduce 91
+ 93: 71(ptr) AccessChain 27(data) 87 38 30
+ 94: 19(int) CompositeExtract 92 0
+ Store 93 94
+ 95: 71(ptr) AccessChain 27(data) 87 38 47
+ 96: 19(int) CompositeExtract 92 1
+ Store 95 96
+ 97: 71(ptr) AccessChain 27(data) 87 38 61
+ 98: 19(int) CompositeExtract 92 2
+ Store 97 98
+ 99: 6(int) Load 8(invocation)
+ 100: 78(ptr) AccessChain 27(data) 65 38
+ 101: 20(ivec4) Load 100
+ 102: 20(ivec4) GroupNonUniformIAdd 34 Reduce 101
+ 103: 78(ptr) AccessChain 27(data) 99 38
+ Store 103 102
+ 104: 6(int) Load 8(invocation)
+ 106: 105(ptr) AccessChain 27(data) 29 51 30
+ 107: 6(int) Load 106
+ 108: 6(int) GroupNonUniformIAdd 34 Reduce 107
+ 109: 105(ptr) AccessChain 27(data) 104 51 30
+ Store 109 108
110: 6(int) Load 8(invocation)
- 112: 102(ptr) AccessChain 27(data) 49 49
- 113: 21(ivec4) Load 112
- 114: 111(ivec3) VectorShuffle 113 113 0 1 2
- 115: 111(ivec3) GroupNonUniformIAdd 34 Reduce 114
- 116: 102(ptr) AccessChain 27(data) 110 49
- 117: 21(ivec4) Load 116
- 118: 21(ivec4) VectorShuffle 117 115 4 5 6 3
- Store 116 118
- 119: 6(int) Load 8(invocation)
- 120: 102(ptr) AccessChain 27(data) 59 49
- 121: 21(ivec4) Load 120
- 122: 21(ivec4) GroupNonUniformIAdd 34 Reduce 121
- 123: 102(ptr) AccessChain 27(data) 119 49
- Store 123 122
- 124: 6(int) Load 8(invocation)
- 126: 125(ptr) AccessChain 27(data) 29 59 30
- 127:22(float64_t) Load 126
- 128:22(float64_t) GroupNonUniformFAdd 34 Reduce 127
- 129: 125(ptr) AccessChain 27(data) 124 59 30
- Store 129 128
- 130: 6(int) Load 8(invocation)
- 133: 132(ptr) AccessChain 27(data) 38 59
- 134: 23(f64vec4) Load 133
- 135:131(f64vec2) VectorShuffle 134 134 0 1
- 136:131(f64vec2) GroupNonUniformFAdd 34 Reduce 135
- 137: 132(ptr) AccessChain 27(data) 130 59
- 138: 23(f64vec4) Load 137
- 139: 23(f64vec4) VectorShuffle 138 136 4 5 2 3
- Store 137 139
- 140: 6(int) Load 8(invocation)
- 142: 132(ptr) AccessChain 27(data) 49 59
- 143: 23(f64vec4) Load 142
- 144:141(f64vec3) VectorShuffle 143 143 0 1 2
- 145:141(f64vec3) GroupNonUniformFAdd 34 Reduce 144
- 146: 132(ptr) AccessChain 27(data) 140 59
- 147: 23(f64vec4) Load 146
- 148: 23(f64vec4) VectorShuffle 147 145 4 5 6 3
- Store 146 148
- 149: 6(int) Load 8(invocation)
- 150: 132(ptr) AccessChain 27(data) 59 59
- 151: 23(f64vec4) Load 150
- 152: 23(f64vec4) GroupNonUniformFAdd 34 Reduce 151
- 153: 132(ptr) AccessChain 27(data) 149 59
- Store 153 152
- 154: 6(int) Load 8(invocation)
- 155: 31(ptr) AccessChain 27(data) 29 29 30
- 156: 17(float) Load 155
- 157: 17(float) GroupNonUniformFMul 34 Reduce 156
- 158: 31(ptr) AccessChain 27(data) 154 29 30
- Store 158 157
- 159: 6(int) Load 8(invocation)
- 160: 40(ptr) AccessChain 27(data) 38 29
- 161: 18(fvec4) Load 160
- 162: 39(fvec2) VectorShuffle 161 161 0 1
- 163: 39(fvec2) GroupNonUniformFMul 34 Reduce 162
- 164: 40(ptr) AccessChain 27(data) 159 29
- 165: 18(fvec4) Load 164
- 166: 18(fvec4) VectorShuffle 165 163 4 5 2 3
- Store 164 166
+ 113: 112(ptr) AccessChain 27(data) 38 51
+ 114: 21(ivec4) Load 113
+ 115: 111(ivec2) VectorShuffle 114 114 0 1
+ 116: 111(ivec2) GroupNonUniformIAdd 34 Reduce 115
+ 117: 105(ptr) AccessChain 27(data) 110 51 30
+ 118: 6(int) CompositeExtract 116 0
+ Store 117 118
+ 119: 105(ptr) AccessChain 27(data) 110 51 47
+ 120: 6(int) CompositeExtract 116 1
+ Store 119 120
+ 121: 6(int) Load 8(invocation)
+ 123: 112(ptr) AccessChain 27(data) 51 51
+ 124: 21(ivec4) Load 123
+ 125: 122(ivec3) VectorShuffle 124 124 0 1 2
+ 126: 122(ivec3) GroupNonUniformIAdd 34 Reduce 125
+ 127: 105(ptr) AccessChain 27(data) 121 51 30
+ 128: 6(int) CompositeExtract 126 0
+ Store 127 128
+ 129: 105(ptr) AccessChain 27(data) 121 51 47
+ 130: 6(int) CompositeExtract 126 1
+ Store 129 130
+ 131: 105(ptr) AccessChain 27(data) 121 51 61
+ 132: 6(int) CompositeExtract 126 2
+ Store 131 132
+ 133: 6(int) Load 8(invocation)
+ 134: 112(ptr) AccessChain 27(data) 65 51
+ 135: 21(ivec4) Load 134
+ 136: 21(ivec4) GroupNonUniformIAdd 34 Reduce 135
+ 137: 112(ptr) AccessChain 27(data) 133 51
+ Store 137 136
+ 138: 6(int) Load 8(invocation)
+ 140: 139(ptr) AccessChain 27(data) 29 65 30
+ 141:22(float64_t) Load 140
+ 142:22(float64_t) GroupNonUniformFAdd 34 Reduce 141
+ 143: 139(ptr) AccessChain 27(data) 138 65 30
+ Store 143 142
+ 144: 6(int) Load 8(invocation)
+ 147: 146(ptr) AccessChain 27(data) 38 65
+ 148: 23(f64vec4) Load 147
+ 149:145(f64vec2) VectorShuffle 148 148 0 1
+ 150:145(f64vec2) GroupNonUniformFAdd 34 Reduce 149
+ 151: 139(ptr) AccessChain 27(data) 144 65 30
+ 152:22(float64_t) CompositeExtract 150 0
+ Store 151 152
+ 153: 139(ptr) AccessChain 27(data) 144 65 47
+ 154:22(float64_t) CompositeExtract 150 1
+ Store 153 154
+ 155: 6(int) Load 8(invocation)
+ 157: 146(ptr) AccessChain 27(data) 51 65
+ 158: 23(f64vec4) Load 157
+ 159:156(f64vec3) VectorShuffle 158 158 0 1 2
+ 160:156(f64vec3) GroupNonUniformFAdd 34 Reduce 159
+ 161: 139(ptr) AccessChain 27(data) 155 65 30
+ 162:22(float64_t) CompositeExtract 160 0
+ Store 161 162
+ 163: 139(ptr) AccessChain 27(data) 155 65 47
+ 164:22(float64_t) CompositeExtract 160 1
+ Store 163 164
+ 165: 139(ptr) AccessChain 27(data) 155 65 61
+ 166:22(float64_t) CompositeExtract 160 2
+ Store 165 166
167: 6(int) Load 8(invocation)
- 168: 40(ptr) AccessChain 27(data) 49 29
- 169: 18(fvec4) Load 168
- 170: 50(fvec3) VectorShuffle 169 169 0 1 2
- 171: 50(fvec3) GroupNonUniformFMul 34 Reduce 170
- 172: 40(ptr) AccessChain 27(data) 167 29
- 173: 18(fvec4) Load 172
- 174: 18(fvec4) VectorShuffle 173 171 4 5 6 3
- Store 172 174
- 175: 6(int) Load 8(invocation)
- 176: 40(ptr) AccessChain 27(data) 59 29
- 177: 18(fvec4) Load 176
- 178: 18(fvec4) GroupNonUniformFMul 34 Reduce 177
- 179: 40(ptr) AccessChain 27(data) 175 29
- Store 179 178
- 180: 6(int) Load 8(invocation)
- 181: 65(ptr) AccessChain 27(data) 29 38 30
- 182: 19(int) Load 181
- 183: 19(int) GroupNonUniformIMul 34 Reduce 182
- 184: 65(ptr) AccessChain 27(data) 180 38 30
- Store 184 183
- 185: 6(int) Load 8(invocation)
- 186: 72(ptr) AccessChain 27(data) 38 38
- 187: 20(ivec4) Load 186
- 188: 71(ivec2) VectorShuffle 187 187 0 1
- 189: 71(ivec2) GroupNonUniformIMul 34 Reduce 188
- 190: 72(ptr) AccessChain 27(data) 185 38
- 191: 20(ivec4) Load 190
- 192: 20(ivec4) VectorShuffle 191 189 4 5 2 3
- Store 190 192
- 193: 6(int) Load 8(invocation)
- 194: 72(ptr) AccessChain 27(data) 49 38
- 195: 20(ivec4) Load 194
- 196: 81(ivec3) VectorShuffle 195 195 0 1 2
- 197: 81(ivec3) GroupNonUniformIMul 34 Reduce 196
- 198: 72(ptr) AccessChain 27(data) 193 38
- 199: 20(ivec4) Load 198
- 200: 20(ivec4) VectorShuffle 199 197 4 5 6 3
- Store 198 200
- 201: 6(int) Load 8(invocation)
- 202: 72(ptr) AccessChain 27(data) 59 38
- 203: 20(ivec4) Load 202
- 204: 20(ivec4) GroupNonUniformIMul 34 Reduce 203
- 205: 72(ptr) AccessChain 27(data) 201 38
- Store 205 204
- 206: 6(int) Load 8(invocation)
- 207: 95(ptr) AccessChain 27(data) 29 49 30
- 208: 6(int) Load 207
- 209: 6(int) GroupNonUniformIMul 34 Reduce 208
- 210: 95(ptr) AccessChain 27(data) 206 49 30
- Store 210 209
- 211: 6(int) Load 8(invocation)
- 212: 102(ptr) AccessChain 27(data) 38 49
- 213: 21(ivec4) Load 212
- 214: 101(ivec2) VectorShuffle 213 213 0 1
- 215: 101(ivec2) GroupNonUniformIMul 34 Reduce 214
- 216: 102(ptr) AccessChain 27(data) 211 49
- 217: 21(ivec4) Load 216
- 218: 21(ivec4) VectorShuffle 217 215 4 5 2 3
- Store 216 218
- 219: 6(int) Load 8(invocation)
- 220: 102(ptr) AccessChain 27(data) 49 49
- 221: 21(ivec4) Load 220
- 222: 111(ivec3) VectorShuffle 221 221 0 1 2
- 223: 111(ivec3) GroupNonUniformIMul 34 Reduce 222
- 224: 102(ptr) AccessChain 27(data) 219 49
- 225: 21(ivec4) Load 224
- 226: 21(ivec4) VectorShuffle 225 223 4 5 6 3
- Store 224 226
+ 168: 146(ptr) AccessChain 27(data) 65 65
+ 169: 23(f64vec4) Load 168
+ 170: 23(f64vec4) GroupNonUniformFAdd 34 Reduce 169
+ 171: 146(ptr) AccessChain 27(data) 167 65
+ Store 171 170
+ 172: 6(int) Load 8(invocation)
+ 173: 31(ptr) AccessChain 27(data) 29 29 30
+ 174: 17(float) Load 173
+ 175: 17(float) GroupNonUniformFMul 34 Reduce 174
+ 176: 31(ptr) AccessChain 27(data) 172 29 30
+ Store 176 175
+ 177: 6(int) Load 8(invocation)
+ 178: 40(ptr) AccessChain 27(data) 38 29
+ 179: 18(fvec4) Load 178
+ 180: 39(fvec2) VectorShuffle 179 179 0 1
+ 181: 39(fvec2) GroupNonUniformFMul 34 Reduce 180
+ 182: 31(ptr) AccessChain 27(data) 177 29 30
+ 183: 17(float) CompositeExtract 181 0
+ Store 182 183
+ 184: 31(ptr) AccessChain 27(data) 177 29 47
+ 185: 17(float) CompositeExtract 181 1
+ Store 184 185
+ 186: 6(int) Load 8(invocation)
+ 187: 40(ptr) AccessChain 27(data) 51 29
+ 188: 18(fvec4) Load 187
+ 189: 52(fvec3) VectorShuffle 188 188 0 1 2
+ 190: 52(fvec3) GroupNonUniformFMul 34 Reduce 189
+ 191: 31(ptr) AccessChain 27(data) 186 29 30
+ 192: 17(float) CompositeExtract 190 0
+ Store 191 192
+ 193: 31(ptr) AccessChain 27(data) 186 29 47
+ 194: 17(float) CompositeExtract 190 1
+ Store 193 194
+ 195: 31(ptr) AccessChain 27(data) 186 29 61
+ 196: 17(float) CompositeExtract 190 2
+ Store 195 196
+ 197: 6(int) Load 8(invocation)
+ 198: 40(ptr) AccessChain 27(data) 65 29
+ 199: 18(fvec4) Load 198
+ 200: 18(fvec4) GroupNonUniformFMul 34 Reduce 199
+ 201: 40(ptr) AccessChain 27(data) 197 29
+ Store 201 200
+ 202: 6(int) Load 8(invocation)
+ 203: 71(ptr) AccessChain 27(data) 29 38 30
+ 204: 19(int) Load 203
+ 205: 19(int) GroupNonUniformIMul 34 Reduce 204
+ 206: 71(ptr) AccessChain 27(data) 202 38 30
+ Store 206 205
+ 207: 6(int) Load 8(invocation)
+ 208: 78(ptr) AccessChain 27(data) 38 38
+ 209: 20(ivec4) Load 208
+ 210: 77(ivec2) VectorShuffle 209 209 0 1
+ 211: 77(ivec2) GroupNonUniformIMul 34 Reduce 210
+ 212: 71(ptr) AccessChain 27(data) 207 38 30
+ 213: 19(int) CompositeExtract 211 0
+ Store 212 213
+ 214: 71(ptr) AccessChain 27(data) 207 38 47
+ 215: 19(int) CompositeExtract 211 1
+ Store 214 215
+ 216: 6(int) Load 8(invocation)
+ 217: 78(ptr) AccessChain 27(data) 51 38
+ 218: 20(ivec4) Load 217
+ 219: 88(ivec3) VectorShuffle 218 218 0 1 2
+ 220: 88(ivec3) GroupNonUniformIMul 34 Reduce 219
+ 221: 71(ptr) AccessChain 27(data) 216 38 30
+ 222: 19(int) CompositeExtract 220 0
+ Store 221 222
+ 223: 71(ptr) AccessChain 27(data) 216 38 47
+ 224: 19(int) CompositeExtract 220 1
+ Store 223 224
+ 225: 71(ptr) AccessChain 27(data) 216 38 61
+ 226: 19(int) CompositeExtract 220 2
+ Store 225 226
227: 6(int) Load 8(invocation)
- 228: 102(ptr) AccessChain 27(data) 59 49
- 229: 21(ivec4) Load 228
- 230: 21(ivec4) GroupNonUniformIMul 34 Reduce 229
- 231: 102(ptr) AccessChain 27(data) 227 49
+ 228: 78(ptr) AccessChain 27(data) 65 38
+ 229: 20(ivec4) Load 228
+ 230: 20(ivec4) GroupNonUniformIMul 34 Reduce 229
+ 231: 78(ptr) AccessChain 27(data) 227 38
Store 231 230
232: 6(int) Load 8(invocation)
- 233: 125(ptr) AccessChain 27(data) 29 59 30
- 234:22(float64_t) Load 233
- 235:22(float64_t) GroupNonUniformFMul 34 Reduce 234
- 236: 125(ptr) AccessChain 27(data) 232 59 30
+ 233: 105(ptr) AccessChain 27(data) 29 51 30
+ 234: 6(int) Load 233
+ 235: 6(int) GroupNonUniformIMul 34 Reduce 234
+ 236: 105(ptr) AccessChain 27(data) 232 51 30
Store 236 235
237: 6(int) Load 8(invocation)
- 238: 132(ptr) AccessChain 27(data) 38 59
- 239: 23(f64vec4) Load 238
- 240:131(f64vec2) VectorShuffle 239 239 0 1
- 241:131(f64vec2) GroupNonUniformFMul 34 Reduce 240
- 242: 132(ptr) AccessChain 27(data) 237 59
- 243: 23(f64vec4) Load 242
- 244: 23(f64vec4) VectorShuffle 243 241 4 5 2 3
- Store 242 244
- 245: 6(int) Load 8(invocation)
- 246: 132(ptr) AccessChain 27(data) 49 59
- 247: 23(f64vec4) Load 246
- 248:141(f64vec3) VectorShuffle 247 247 0 1 2
- 249:141(f64vec3) GroupNonUniformFMul 34 Reduce 248
- 250: 132(ptr) AccessChain 27(data) 245 59
- 251: 23(f64vec4) Load 250
- 252: 23(f64vec4) VectorShuffle 251 249 4 5 6 3
- Store 250 252
- 253: 6(int) Load 8(invocation)
- 254: 132(ptr) AccessChain 27(data) 59 59
- 255: 23(f64vec4) Load 254
- 256: 23(f64vec4) GroupNonUniformFMul 34 Reduce 255
- 257: 132(ptr) AccessChain 27(data) 253 59
- Store 257 256
- 258: 6(int) Load 8(invocation)
- 259: 31(ptr) AccessChain 27(data) 29 29 30
- 260: 17(float) Load 259
- 261: 17(float) GroupNonUniformFMin 34 Reduce 260
- 262: 31(ptr) AccessChain 27(data) 258 29 30
- Store 262 261
- 263: 6(int) Load 8(invocation)
- 264: 40(ptr) AccessChain 27(data) 38 29
- 265: 18(fvec4) Load 264
- 266: 39(fvec2) VectorShuffle 265 265 0 1
- 267: 39(fvec2) GroupNonUniformFMin 34 Reduce 266
- 268: 40(ptr) AccessChain 27(data) 263 29
- 269: 18(fvec4) Load 268
- 270: 18(fvec4) VectorShuffle 269 267 4 5 2 3
- Store 268 270
- 271: 6(int) Load 8(invocation)
- 272: 40(ptr) AccessChain 27(data) 49 29
- 273: 18(fvec4) Load 272
- 274: 50(fvec3) VectorShuffle 273 273 0 1 2
- 275: 50(fvec3) GroupNonUniformFMin 34 Reduce 274
- 276: 40(ptr) AccessChain 27(data) 271 29
- 277: 18(fvec4) Load 276
- 278: 18(fvec4) VectorShuffle 277 275 4 5 6 3
- Store 276 278
- 279: 6(int) Load 8(invocation)
- 280: 40(ptr) AccessChain 27(data) 59 29
- 281: 18(fvec4) Load 280
- 282: 18(fvec4) GroupNonUniformFMin 34 Reduce 281
- 283: 40(ptr) AccessChain 27(data) 279 29
- Store 283 282
- 284: 6(int) Load 8(invocation)
- 285: 65(ptr) AccessChain 27(data) 29 38 30
- 286: 19(int) Load 285
- 287: 19(int) GroupNonUniformSMin 34 Reduce 286
- 288: 65(ptr) AccessChain 27(data) 284 38 30
- Store 288 287
- 289: 6(int) Load 8(invocation)
- 290: 72(ptr) AccessChain 27(data) 38 38
- 291: 20(ivec4) Load 290
- 292: 71(ivec2) VectorShuffle 291 291 0 1
- 293: 71(ivec2) GroupNonUniformSMin 34 Reduce 292
- 294: 72(ptr) AccessChain 27(data) 289 38
- 295: 20(ivec4) Load 294
- 296: 20(ivec4) VectorShuffle 295 293 4 5 2 3
- Store 294 296
+ 238: 112(ptr) AccessChain 27(data) 38 51
+ 239: 21(ivec4) Load 238
+ 240: 111(ivec2) VectorShuffle 239 239 0 1
+ 241: 111(ivec2) GroupNonUniformIMul 34 Reduce 240
+ 242: 105(ptr) AccessChain 27(data) 237 51 30
+ 243: 6(int) CompositeExtract 241 0
+ Store 242 243
+ 244: 105(ptr) AccessChain 27(data) 237 51 47
+ 245: 6(int) CompositeExtract 241 1
+ Store 244 245
+ 246: 6(int) Load 8(invocation)
+ 247: 112(ptr) AccessChain 27(data) 51 51
+ 248: 21(ivec4) Load 247
+ 249: 122(ivec3) VectorShuffle 248 248 0 1 2
+ 250: 122(ivec3) GroupNonUniformIMul 34 Reduce 249
+ 251: 105(ptr) AccessChain 27(data) 246 51 30
+ 252: 6(int) CompositeExtract 250 0
+ Store 251 252
+ 253: 105(ptr) AccessChain 27(data) 246 51 47
+ 254: 6(int) CompositeExtract 250 1
+ Store 253 254
+ 255: 105(ptr) AccessChain 27(data) 246 51 61
+ 256: 6(int) CompositeExtract 250 2
+ Store 255 256
+ 257: 6(int) Load 8(invocation)
+ 258: 112(ptr) AccessChain 27(data) 65 51
+ 259: 21(ivec4) Load 258
+ 260: 21(ivec4) GroupNonUniformIMul 34 Reduce 259
+ 261: 112(ptr) AccessChain 27(data) 257 51
+ Store 261 260
+ 262: 6(int) Load 8(invocation)
+ 263: 139(ptr) AccessChain 27(data) 29 65 30
+ 264:22(float64_t) Load 263
+ 265:22(float64_t) GroupNonUniformFMul 34 Reduce 264
+ 266: 139(ptr) AccessChain 27(data) 262 65 30
+ Store 266 265
+ 267: 6(int) Load 8(invocation)
+ 268: 146(ptr) AccessChain 27(data) 38 65
+ 269: 23(f64vec4) Load 268
+ 270:145(f64vec2) VectorShuffle 269 269 0 1
+ 271:145(f64vec2) GroupNonUniformFMul 34 Reduce 270
+ 272: 139(ptr) AccessChain 27(data) 267 65 30
+ 273:22(float64_t) CompositeExtract 271 0
+ Store 272 273
+ 274: 139(ptr) AccessChain 27(data) 267 65 47
+ 275:22(float64_t) CompositeExtract 271 1
+ Store 274 275
+ 276: 6(int) Load 8(invocation)
+ 277: 146(ptr) AccessChain 27(data) 51 65
+ 278: 23(f64vec4) Load 277
+ 279:156(f64vec3) VectorShuffle 278 278 0 1 2
+ 280:156(f64vec3) GroupNonUniformFMul 34 Reduce 279
+ 281: 139(ptr) AccessChain 27(data) 276 65 30
+ 282:22(float64_t) CompositeExtract 280 0
+ Store 281 282
+ 283: 139(ptr) AccessChain 27(data) 276 65 47
+ 284:22(float64_t) CompositeExtract 280 1
+ Store 283 284
+ 285: 139(ptr) AccessChain 27(data) 276 65 61
+ 286:22(float64_t) CompositeExtract 280 2
+ Store 285 286
+ 287: 6(int) Load 8(invocation)
+ 288: 146(ptr) AccessChain 27(data) 65 65
+ 289: 23(f64vec4) Load 288
+ 290: 23(f64vec4) GroupNonUniformFMul 34 Reduce 289
+ 291: 146(ptr) AccessChain 27(data) 287 65
+ Store 291 290
+ 292: 6(int) Load 8(invocation)
+ 293: 31(ptr) AccessChain 27(data) 29 29 30
+ 294: 17(float) Load 293
+ 295: 17(float) GroupNonUniformFMin 34 Reduce 294
+ 296: 31(ptr) AccessChain 27(data) 292 29 30
+ Store 296 295
297: 6(int) Load 8(invocation)
- 298: 72(ptr) AccessChain 27(data) 49 38
- 299: 20(ivec4) Load 298
- 300: 81(ivec3) VectorShuffle 299 299 0 1 2
- 301: 81(ivec3) GroupNonUniformSMin 34 Reduce 300
- 302: 72(ptr) AccessChain 27(data) 297 38
- 303: 20(ivec4) Load 302
- 304: 20(ivec4) VectorShuffle 303 301 4 5 6 3
- Store 302 304
- 305: 6(int) Load 8(invocation)
- 306: 72(ptr) AccessChain 27(data) 59 38
- 307: 20(ivec4) Load 306
- 308: 20(ivec4) GroupNonUniformSMin 34 Reduce 307
- 309: 72(ptr) AccessChain 27(data) 305 38
- Store 309 308
- 310: 6(int) Load 8(invocation)
- 311: 95(ptr) AccessChain 27(data) 29 49 30
- 312: 6(int) Load 311
- 313: 6(int) GroupNonUniformUMin 34 Reduce 312
- 314: 95(ptr) AccessChain 27(data) 310 49 30
- Store 314 313
- 315: 6(int) Load 8(invocation)
- 316: 102(ptr) AccessChain 27(data) 38 49
- 317: 21(ivec4) Load 316
- 318: 101(ivec2) VectorShuffle 317 317 0 1
- 319: 101(ivec2) GroupNonUniformUMin 34 Reduce 318
- 320: 102(ptr) AccessChain 27(data) 315 49
- 321: 21(ivec4) Load 320
- 322: 21(ivec4) VectorShuffle 321 319 4 5 2 3
- Store 320 322
- 323: 6(int) Load 8(invocation)
- 324: 102(ptr) AccessChain 27(data) 49 49
- 325: 21(ivec4) Load 324
- 326: 111(ivec3) VectorShuffle 325 325 0 1 2
- 327: 111(ivec3) GroupNonUniformUMin 34 Reduce 326
- 328: 102(ptr) AccessChain 27(data) 323 49
- 329: 21(ivec4) Load 328
- 330: 21(ivec4) VectorShuffle 329 327 4 5 6 3
- Store 328 330
- 331: 6(int) Load 8(invocation)
- 332: 102(ptr) AccessChain 27(data) 59 49
- 333: 21(ivec4) Load 332
- 334: 21(ivec4) GroupNonUniformUMin 34 Reduce 333
- 335: 102(ptr) AccessChain 27(data) 331 49
- Store 335 334
+ 298: 40(ptr) AccessChain 27(data) 38 29
+ 299: 18(fvec4) Load 298
+ 300: 39(fvec2) VectorShuffle 299 299 0 1
+ 301: 39(fvec2) GroupNonUniformFMin 34 Reduce 300
+ 302: 31(ptr) AccessChain 27(data) 297 29 30
+ 303: 17(float) CompositeExtract 301 0
+ Store 302 303
+ 304: 31(ptr) AccessChain 27(data) 297 29 47
+ 305: 17(float) CompositeExtract 301 1
+ Store 304 305
+ 306: 6(int) Load 8(invocation)
+ 307: 40(ptr) AccessChain 27(data) 51 29
+ 308: 18(fvec4) Load 307
+ 309: 52(fvec3) VectorShuffle 308 308 0 1 2
+ 310: 52(fvec3) GroupNonUniformFMin 34 Reduce 309
+ 311: 31(ptr) AccessChain 27(data) 306 29 30
+ 312: 17(float) CompositeExtract 310 0
+ Store 311 312
+ 313: 31(ptr) AccessChain 27(data) 306 29 47
+ 314: 17(float) CompositeExtract 310 1
+ Store 313 314
+ 315: 31(ptr) AccessChain 27(data) 306 29 61
+ 316: 17(float) CompositeExtract 310 2
+ Store 315 316
+ 317: 6(int) Load 8(invocation)
+ 318: 40(ptr) AccessChain 27(data) 65 29
+ 319: 18(fvec4) Load 318
+ 320: 18(fvec4) GroupNonUniformFMin 34 Reduce 319
+ 321: 40(ptr) AccessChain 27(data) 317 29
+ Store 321 320
+ 322: 6(int) Load 8(invocation)
+ 323: 71(ptr) AccessChain 27(data) 29 38 30
+ 324: 19(int) Load 323
+ 325: 19(int) GroupNonUniformSMin 34 Reduce 324
+ 326: 71(ptr) AccessChain 27(data) 322 38 30
+ Store 326 325
+ 327: 6(int) Load 8(invocation)
+ 328: 78(ptr) AccessChain 27(data) 38 38
+ 329: 20(ivec4) Load 328
+ 330: 77(ivec2) VectorShuffle 329 329 0 1
+ 331: 77(ivec2) GroupNonUniformSMin 34 Reduce 330
+ 332: 71(ptr) AccessChain 27(data) 327 38 30
+ 333: 19(int) CompositeExtract 331 0
+ Store 332 333
+ 334: 71(ptr) AccessChain 27(data) 327 38 47
+ 335: 19(int) CompositeExtract 331 1
+ Store 334 335
336: 6(int) Load 8(invocation)
- 337: 125(ptr) AccessChain 27(data) 29 59 30
- 338:22(float64_t) Load 337
- 339:22(float64_t) GroupNonUniformFMin 34 Reduce 338
- 340: 125(ptr) AccessChain 27(data) 336 59 30
- Store 340 339
- 341: 6(int) Load 8(invocation)
- 342: 132(ptr) AccessChain 27(data) 38 59
- 343: 23(f64vec4) Load 342
- 344:131(f64vec2) VectorShuffle 343 343 0 1
- 345:131(f64vec2) GroupNonUniformFMin 34 Reduce 344
- 346: 132(ptr) AccessChain 27(data) 341 59
- 347: 23(f64vec4) Load 346
- 348: 23(f64vec4) VectorShuffle 347 345 4 5 2 3
- Store 346 348
- 349: 6(int) Load 8(invocation)
- 350: 132(ptr) AccessChain 27(data) 49 59
- 351: 23(f64vec4) Load 350
- 352:141(f64vec3) VectorShuffle 351 351 0 1 2
- 353:141(f64vec3) GroupNonUniformFMin 34 Reduce 352
- 354: 132(ptr) AccessChain 27(data) 349 59
- 355: 23(f64vec4) Load 354
- 356: 23(f64vec4) VectorShuffle 355 353 4 5 6 3
- Store 354 356
+ 337: 78(ptr) AccessChain 27(data) 51 38
+ 338: 20(ivec4) Load 337
+ 339: 88(ivec3) VectorShuffle 338 338 0 1 2
+ 340: 88(ivec3) GroupNonUniformSMin 34 Reduce 339
+ 341: 71(ptr) AccessChain 27(data) 336 38 30
+ 342: 19(int) CompositeExtract 340 0
+ Store 341 342
+ 343: 71(ptr) AccessChain 27(data) 336 38 47
+ 344: 19(int) CompositeExtract 340 1
+ Store 343 344
+ 345: 71(ptr) AccessChain 27(data) 336 38 61
+ 346: 19(int) CompositeExtract 340 2
+ Store 345 346
+ 347: 6(int) Load 8(invocation)
+ 348: 78(ptr) AccessChain 27(data) 65 38
+ 349: 20(ivec4) Load 348
+ 350: 20(ivec4) GroupNonUniformSMin 34 Reduce 349
+ 351: 78(ptr) AccessChain 27(data) 347 38
+ Store 351 350
+ 352: 6(int) Load 8(invocation)
+ 353: 105(ptr) AccessChain 27(data) 29 51 30
+ 354: 6(int) Load 353
+ 355: 6(int) GroupNonUniformUMin 34 Reduce 354
+ 356: 105(ptr) AccessChain 27(data) 352 51 30
+ Store 356 355
357: 6(int) Load 8(invocation)
- 358: 132(ptr) AccessChain 27(data) 59 59
- 359: 23(f64vec4) Load 358
- 360: 23(f64vec4) GroupNonUniformFMin 34 Reduce 359
- 361: 132(ptr) AccessChain 27(data) 357 59
- Store 361 360
- 362: 6(int) Load 8(invocation)
- 363: 31(ptr) AccessChain 27(data) 29 29 30
- 364: 17(float) Load 363
- 365: 17(float) GroupNonUniformFMax 34 Reduce 364
- 366: 31(ptr) AccessChain 27(data) 362 29 30
- Store 366 365
- 367: 6(int) Load 8(invocation)
- 368: 40(ptr) AccessChain 27(data) 38 29
- 369: 18(fvec4) Load 368
- 370: 39(fvec2) VectorShuffle 369 369 0 1
- 371: 39(fvec2) GroupNonUniformFMax 34 Reduce 370
- 372: 40(ptr) AccessChain 27(data) 367 29
- 373: 18(fvec4) Load 372
- 374: 18(fvec4) VectorShuffle 373 371 4 5 2 3
- Store 372 374
- 375: 6(int) Load 8(invocation)
- 376: 40(ptr) AccessChain 27(data) 49 29
- 377: 18(fvec4) Load 376
- 378: 50(fvec3) VectorShuffle 377 377 0 1 2
- 379: 50(fvec3) GroupNonUniformFMax 34 Reduce 378
- 380: 40(ptr) AccessChain 27(data) 375 29
- 381: 18(fvec4) Load 380
- 382: 18(fvec4) VectorShuffle 381 379 4 5 6 3
- Store 380 382
- 383: 6(int) Load 8(invocation)
- 384: 40(ptr) AccessChain 27(data) 59 29
- 385: 18(fvec4) Load 384
- 386: 18(fvec4) GroupNonUniformFMax 34 Reduce 385
- 387: 40(ptr) AccessChain 27(data) 383 29
- Store 387 386
- 388: 6(int) Load 8(invocation)
- 389: 65(ptr) AccessChain 27(data) 29 38 30
- 390: 19(int) Load 389
- 391: 19(int) GroupNonUniformSMax 34 Reduce 390
- 392: 65(ptr) AccessChain 27(data) 388 38 30
- Store 392 391
- 393: 6(int) Load 8(invocation)
- 394: 72(ptr) AccessChain 27(data) 38 38
- 395: 20(ivec4) Load 394
- 396: 71(ivec2) VectorShuffle 395 395 0 1
- 397: 71(ivec2) GroupNonUniformSMax 34 Reduce 396
- 398: 72(ptr) AccessChain 27(data) 393 38
- 399: 20(ivec4) Load 398
- 400: 20(ivec4) VectorShuffle 399 397 4 5 2 3
- Store 398 400
- 401: 6(int) Load 8(invocation)
- 402: 72(ptr) AccessChain 27(data) 49 38
- 403: 20(ivec4) Load 402
- 404: 81(ivec3) VectorShuffle 403 403 0 1 2
- 405: 81(ivec3) GroupNonUniformSMax 34 Reduce 404
- 406: 72(ptr) AccessChain 27(data) 401 38
- 407: 20(ivec4) Load 406
- 408: 20(ivec4) VectorShuffle 407 405 4 5 6 3
- Store 406 408
- 409: 6(int) Load 8(invocation)
- 410: 72(ptr) AccessChain 27(data) 59 38
- 411: 20(ivec4) Load 410
- 412: 20(ivec4) GroupNonUniformSMax 34 Reduce 411
- 413: 72(ptr) AccessChain 27(data) 409 38
- Store 413 412
- 414: 6(int) Load 8(invocation)
- 415: 95(ptr) AccessChain 27(data) 29 49 30
- 416: 6(int) Load 415
- 417: 6(int) GroupNonUniformUMax 34 Reduce 416
- 418: 95(ptr) AccessChain 27(data) 414 49 30
- Store 418 417
- 419: 6(int) Load 8(invocation)
- 420: 102(ptr) AccessChain 27(data) 38 49
- 421: 21(ivec4) Load 420
- 422: 101(ivec2) VectorShuffle 421 421 0 1
- 423: 101(ivec2) GroupNonUniformUMax 34 Reduce 422
- 424: 102(ptr) AccessChain 27(data) 419 49
- 425: 21(ivec4) Load 424
- 426: 21(ivec4) VectorShuffle 425 423 4 5 2 3
- Store 424 426
- 427: 6(int) Load 8(invocation)
- 428: 102(ptr) AccessChain 27(data) 49 49
- 429: 21(ivec4) Load 428
- 430: 111(ivec3) VectorShuffle 429 429 0 1 2
- 431: 111(ivec3) GroupNonUniformUMax 34 Reduce 430
- 432: 102(ptr) AccessChain 27(data) 427 49
- 433: 21(ivec4) Load 432
- 434: 21(ivec4) VectorShuffle 433 431 4 5 6 3
- Store 432 434
- 435: 6(int) Load 8(invocation)
- 436: 102(ptr) AccessChain 27(data) 59 49
- 437: 21(ivec4) Load 436
- 438: 21(ivec4) GroupNonUniformUMax 34 Reduce 437
- 439: 102(ptr) AccessChain 27(data) 435 49
- Store 439 438
- 440: 6(int) Load 8(invocation)
- 441: 125(ptr) AccessChain 27(data) 29 59 30
- 442:22(float64_t) Load 441
- 443:22(float64_t) GroupNonUniformFMax 34 Reduce 442
- 444: 125(ptr) AccessChain 27(data) 440 59 30
- Store 444 443
- 445: 6(int) Load 8(invocation)
- 446: 132(ptr) AccessChain 27(data) 38 59
- 447: 23(f64vec4) Load 446
- 448:131(f64vec2) VectorShuffle 447 447 0 1
- 449:131(f64vec2) GroupNonUniformFMax 34 Reduce 448
- 450: 132(ptr) AccessChain 27(data) 445 59
- 451: 23(f64vec4) Load 450
- 452: 23(f64vec4) VectorShuffle 451 449 4 5 2 3
- Store 450 452
- 453: 6(int) Load 8(invocation)
- 454: 132(ptr) AccessChain 27(data) 49 59
- 455: 23(f64vec4) Load 454
- 456:141(f64vec3) VectorShuffle 455 455 0 1 2
- 457:141(f64vec3) GroupNonUniformFMax 34 Reduce 456
- 458: 132(ptr) AccessChain 27(data) 453 59
- 459: 23(f64vec4) Load 458
- 460: 23(f64vec4) VectorShuffle 459 457 4 5 6 3
- Store 458 460
- 461: 6(int) Load 8(invocation)
- 462: 132(ptr) AccessChain 27(data) 59 59
- 463: 23(f64vec4) Load 462
- 464: 23(f64vec4) GroupNonUniformFMax 34 Reduce 463
- 465: 132(ptr) AccessChain 27(data) 461 59
- Store 465 464
- 466: 6(int) Load 8(invocation)
- 467: 65(ptr) AccessChain 27(data) 29 38 30
- 468: 19(int) Load 467
- 469: 19(int) GroupNonUniformBitwiseAnd 34 Reduce 468
- 470: 65(ptr) AccessChain 27(data) 466 38 30
- Store 470 469
- 471: 6(int) Load 8(invocation)
- 472: 72(ptr) AccessChain 27(data) 38 38
- 473: 20(ivec4) Load 472
- 474: 71(ivec2) VectorShuffle 473 473 0 1
- 475: 71(ivec2) GroupNonUniformBitwiseAnd 34 Reduce 474
- 476: 72(ptr) AccessChain 27(data) 471 38
- 477: 20(ivec4) Load 476
- 478: 20(ivec4) VectorShuffle 477 475 4 5 2 3
- Store 476 478
- 479: 6(int) Load 8(invocation)
- 480: 72(ptr) AccessChain 27(data) 49 38
- 481: 20(ivec4) Load 480
- 482: 81(ivec3) VectorShuffle 481 481 0 1 2
- 483: 81(ivec3) GroupNonUniformBitwiseAnd 34 Reduce 482
- 484: 72(ptr) AccessChain 27(data) 479 38
- 485: 20(ivec4) Load 484
- 486: 20(ivec4) VectorShuffle 485 483 4 5 6 3
- Store 484 486
- 487: 6(int) Load 8(invocation)
- 488: 72(ptr) AccessChain 27(data) 59 38
- 489: 20(ivec4) Load 488
- 490: 20(ivec4) GroupNonUniformBitwiseAnd 34 Reduce 489
- 491: 72(ptr) AccessChain 27(data) 487 38
- Store 491 490
- 492: 6(int) Load 8(invocation)
- 493: 95(ptr) AccessChain 27(data) 29 49 30
- 494: 6(int) Load 493
- 495: 6(int) GroupNonUniformBitwiseAnd 34 Reduce 494
- 496: 95(ptr) AccessChain 27(data) 492 49 30
- Store 496 495
+ 358: 112(ptr) AccessChain 27(data) 38 51
+ 359: 21(ivec4) Load 358
+ 360: 111(ivec2) VectorShuffle 359 359 0 1
+ 361: 111(ivec2) GroupNonUniformUMin 34 Reduce 360
+ 362: 105(ptr) AccessChain 27(data) 357 51 30
+ 363: 6(int) CompositeExtract 361 0
+ Store 362 363
+ 364: 105(ptr) AccessChain 27(data) 357 51 47
+ 365: 6(int) CompositeExtract 361 1
+ Store 364 365
+ 366: 6(int) Load 8(invocation)
+ 367: 112(ptr) AccessChain 27(data) 51 51
+ 368: 21(ivec4) Load 367
+ 369: 122(ivec3) VectorShuffle 368 368 0 1 2
+ 370: 122(ivec3) GroupNonUniformUMin 34 Reduce 369
+ 371: 105(ptr) AccessChain 27(data) 366 51 30
+ 372: 6(int) CompositeExtract 370 0
+ Store 371 372
+ 373: 105(ptr) AccessChain 27(data) 366 51 47
+ 374: 6(int) CompositeExtract 370 1
+ Store 373 374
+ 375: 105(ptr) AccessChain 27(data) 366 51 61
+ 376: 6(int) CompositeExtract 370 2
+ Store 375 376
+ 377: 6(int) Load 8(invocation)
+ 378: 112(ptr) AccessChain 27(data) 65 51
+ 379: 21(ivec4) Load 378
+ 380: 21(ivec4) GroupNonUniformUMin 34 Reduce 379
+ 381: 112(ptr) AccessChain 27(data) 377 51
+ Store 381 380
+ 382: 6(int) Load 8(invocation)
+ 383: 139(ptr) AccessChain 27(data) 29 65 30
+ 384:22(float64_t) Load 383
+ 385:22(float64_t) GroupNonUniformFMin 34 Reduce 384
+ 386: 139(ptr) AccessChain 27(data) 382 65 30
+ Store 386 385
+ 387: 6(int) Load 8(invocation)
+ 388: 146(ptr) AccessChain 27(data) 38 65
+ 389: 23(f64vec4) Load 388
+ 390:145(f64vec2) VectorShuffle 389 389 0 1
+ 391:145(f64vec2) GroupNonUniformFMin 34 Reduce 390
+ 392: 139(ptr) AccessChain 27(data) 387 65 30
+ 393:22(float64_t) CompositeExtract 391 0
+ Store 392 393
+ 394: 139(ptr) AccessChain 27(data) 387 65 47
+ 395:22(float64_t) CompositeExtract 391 1
+ Store 394 395
+ 396: 6(int) Load 8(invocation)
+ 397: 146(ptr) AccessChain 27(data) 51 65
+ 398: 23(f64vec4) Load 397
+ 399:156(f64vec3) VectorShuffle 398 398 0 1 2
+ 400:156(f64vec3) GroupNonUniformFMin 34 Reduce 399
+ 401: 139(ptr) AccessChain 27(data) 396 65 30
+ 402:22(float64_t) CompositeExtract 400 0
+ Store 401 402
+ 403: 139(ptr) AccessChain 27(data) 396 65 47
+ 404:22(float64_t) CompositeExtract 400 1
+ Store 403 404
+ 405: 139(ptr) AccessChain 27(data) 396 65 61
+ 406:22(float64_t) CompositeExtract 400 2
+ Store 405 406
+ 407: 6(int) Load 8(invocation)
+ 408: 146(ptr) AccessChain 27(data) 65 65
+ 409: 23(f64vec4) Load 408
+ 410: 23(f64vec4) GroupNonUniformFMin 34 Reduce 409
+ 411: 146(ptr) AccessChain 27(data) 407 65
+ Store 411 410
+ 412: 6(int) Load 8(invocation)
+ 413: 31(ptr) AccessChain 27(data) 29 29 30
+ 414: 17(float) Load 413
+ 415: 17(float) GroupNonUniformFMax 34 Reduce 414
+ 416: 31(ptr) AccessChain 27(data) 412 29 30
+ Store 416 415
+ 417: 6(int) Load 8(invocation)
+ 418: 40(ptr) AccessChain 27(data) 38 29
+ 419: 18(fvec4) Load 418
+ 420: 39(fvec2) VectorShuffle 419 419 0 1
+ 421: 39(fvec2) GroupNonUniformFMax 34 Reduce 420
+ 422: 31(ptr) AccessChain 27(data) 417 29 30
+ 423: 17(float) CompositeExtract 421 0
+ Store 422 423
+ 424: 31(ptr) AccessChain 27(data) 417 29 47
+ 425: 17(float) CompositeExtract 421 1
+ Store 424 425
+ 426: 6(int) Load 8(invocation)
+ 427: 40(ptr) AccessChain 27(data) 51 29
+ 428: 18(fvec4) Load 427
+ 429: 52(fvec3) VectorShuffle 428 428 0 1 2
+ 430: 52(fvec3) GroupNonUniformFMax 34 Reduce 429
+ 431: 31(ptr) AccessChain 27(data) 426 29 30
+ 432: 17(float) CompositeExtract 430 0
+ Store 431 432
+ 433: 31(ptr) AccessChain 27(data) 426 29 47
+ 434: 17(float) CompositeExtract 430 1
+ Store 433 434
+ 435: 31(ptr) AccessChain 27(data) 426 29 61
+ 436: 17(float) CompositeExtract 430 2
+ Store 435 436
+ 437: 6(int) Load 8(invocation)
+ 438: 40(ptr) AccessChain 27(data) 65 29
+ 439: 18(fvec4) Load 438
+ 440: 18(fvec4) GroupNonUniformFMax 34 Reduce 439
+ 441: 40(ptr) AccessChain 27(data) 437 29
+ Store 441 440
+ 442: 6(int) Load 8(invocation)
+ 443: 71(ptr) AccessChain 27(data) 29 38 30
+ 444: 19(int) Load 443
+ 445: 19(int) GroupNonUniformSMax 34 Reduce 444
+ 446: 71(ptr) AccessChain 27(data) 442 38 30
+ Store 446 445
+ 447: 6(int) Load 8(invocation)
+ 448: 78(ptr) AccessChain 27(data) 38 38
+ 449: 20(ivec4) Load 448
+ 450: 77(ivec2) VectorShuffle 449 449 0 1
+ 451: 77(ivec2) GroupNonUniformSMax 34 Reduce 450
+ 452: 71(ptr) AccessChain 27(data) 447 38 30
+ 453: 19(int) CompositeExtract 451 0
+ Store 452 453
+ 454: 71(ptr) AccessChain 27(data) 447 38 47
+ 455: 19(int) CompositeExtract 451 1
+ Store 454 455
+ 456: 6(int) Load 8(invocation)
+ 457: 78(ptr) AccessChain 27(data) 51 38
+ 458: 20(ivec4) Load 457
+ 459: 88(ivec3) VectorShuffle 458 458 0 1 2
+ 460: 88(ivec3) GroupNonUniformSMax 34 Reduce 459
+ 461: 71(ptr) AccessChain 27(data) 456 38 30
+ 462: 19(int) CompositeExtract 460 0
+ Store 461 462
+ 463: 71(ptr) AccessChain 27(data) 456 38 47
+ 464: 19(int) CompositeExtract 460 1
+ Store 463 464
+ 465: 71(ptr) AccessChain 27(data) 456 38 61
+ 466: 19(int) CompositeExtract 460 2
+ Store 465 466
+ 467: 6(int) Load 8(invocation)
+ 468: 78(ptr) AccessChain 27(data) 65 38
+ 469: 20(ivec4) Load 468
+ 470: 20(ivec4) GroupNonUniformSMax 34 Reduce 469
+ 471: 78(ptr) AccessChain 27(data) 467 38
+ Store 471 470
+ 472: 6(int) Load 8(invocation)
+ 473: 105(ptr) AccessChain 27(data) 29 51 30
+ 474: 6(int) Load 473
+ 475: 6(int) GroupNonUniformUMax 34 Reduce 474
+ 476: 105(ptr) AccessChain 27(data) 472 51 30
+ Store 476 475
+ 477: 6(int) Load 8(invocation)
+ 478: 112(ptr) AccessChain 27(data) 38 51
+ 479: 21(ivec4) Load 478
+ 480: 111(ivec2) VectorShuffle 479 479 0 1
+ 481: 111(ivec2) GroupNonUniformUMax 34 Reduce 480
+ 482: 105(ptr) AccessChain 27(data) 477 51 30
+ 483: 6(int) CompositeExtract 481 0
+ Store 482 483
+ 484: 105(ptr) AccessChain 27(data) 477 51 47
+ 485: 6(int) CompositeExtract 481 1
+ Store 484 485
+ 486: 6(int) Load 8(invocation)
+ 487: 112(ptr) AccessChain 27(data) 51 51
+ 488: 21(ivec4) Load 487
+ 489: 122(ivec3) VectorShuffle 488 488 0 1 2
+ 490: 122(ivec3) GroupNonUniformUMax 34 Reduce 489
+ 491: 105(ptr) AccessChain 27(data) 486 51 30
+ 492: 6(int) CompositeExtract 490 0
+ Store 491 492
+ 493: 105(ptr) AccessChain 27(data) 486 51 47
+ 494: 6(int) CompositeExtract 490 1
+ Store 493 494
+ 495: 105(ptr) AccessChain 27(data) 486 51 61
+ 496: 6(int) CompositeExtract 490 2
+ Store 495 496
497: 6(int) Load 8(invocation)
- 498: 102(ptr) AccessChain 27(data) 38 49
+ 498: 112(ptr) AccessChain 27(data) 65 51
499: 21(ivec4) Load 498
- 500: 101(ivec2) VectorShuffle 499 499 0 1
- 501: 101(ivec2) GroupNonUniformBitwiseAnd 34 Reduce 500
- 502: 102(ptr) AccessChain 27(data) 497 49
- 503: 21(ivec4) Load 502
- 504: 21(ivec4) VectorShuffle 503 501 4 5 2 3
- Store 502 504
- 505: 6(int) Load 8(invocation)
- 506: 102(ptr) AccessChain 27(data) 49 49
- 507: 21(ivec4) Load 506
- 508: 111(ivec3) VectorShuffle 507 507 0 1 2
- 509: 111(ivec3) GroupNonUniformBitwiseAnd 34 Reduce 508
- 510: 102(ptr) AccessChain 27(data) 505 49
- 511: 21(ivec4) Load 510
- 512: 21(ivec4) VectorShuffle 511 509 4 5 6 3
- Store 510 512
- 513: 6(int) Load 8(invocation)
- 514: 102(ptr) AccessChain 27(data) 59 49
- 515: 21(ivec4) Load 514
- 516: 21(ivec4) GroupNonUniformBitwiseAnd 34 Reduce 515
- 517: 102(ptr) AccessChain 27(data) 513 49
- Store 517 516
- 518: 6(int) Load 8(invocation)
- 519: 65(ptr) AccessChain 27(data) 29 38 30
- 520: 19(int) Load 519
- 522: 521(bool) SLessThan 520 29
- 523: 521(bool) GroupNonUniformLogicalAnd 34 Reduce 522
- 524: 19(int) Select 523 38 29
- 525: 65(ptr) AccessChain 27(data) 518 38 30
- Store 525 524
- 526: 6(int) Load 8(invocation)
- 527: 72(ptr) AccessChain 27(data) 38 38
- 528: 20(ivec4) Load 527
- 529: 71(ivec2) VectorShuffle 528 528 0 1
- 532: 531(bvec2) SLessThan 529 530
- 533: 531(bvec2) GroupNonUniformLogicalAnd 34 Reduce 532
- 535: 71(ivec2) Select 533 534 530
- 536: 72(ptr) AccessChain 27(data) 526 38
- 537: 20(ivec4) Load 536
- 538: 20(ivec4) VectorShuffle 537 535 4 5 2 3
- Store 536 538
- 539: 6(int) Load 8(invocation)
- 540: 72(ptr) AccessChain 27(data) 38 38
- 541: 20(ivec4) Load 540
- 542: 81(ivec3) VectorShuffle 541 541 0 1 2
- 545: 544(bvec3) SLessThan 542 543
- 546: 544(bvec3) GroupNonUniformLogicalAnd 34 Reduce 545
- 548: 81(ivec3) Select 546 547 543
- 549: 72(ptr) AccessChain 27(data) 539 38
- 550: 20(ivec4) Load 549
- 551: 20(ivec4) VectorShuffle 550 548 4 5 6 3
- Store 549 551
- 552: 6(int) Load 8(invocation)
- 553: 72(ptr) AccessChain 27(data) 38 38
- 554: 20(ivec4) Load 553
- 557: 556(bvec4) SLessThan 554 555
- 558: 556(bvec4) GroupNonUniformLogicalAnd 34 Reduce 557
- 560: 20(ivec4) Select 558 559 555
- 561: 72(ptr) AccessChain 27(data) 552 38
+ 500: 21(ivec4) GroupNonUniformUMax 34 Reduce 499
+ 501: 112(ptr) AccessChain 27(data) 497 51
+ Store 501 500
+ 502: 6(int) Load 8(invocation)
+ 503: 139(ptr) AccessChain 27(data) 29 65 30
+ 504:22(float64_t) Load 503
+ 505:22(float64_t) GroupNonUniformFMax 34 Reduce 504
+ 506: 139(ptr) AccessChain 27(data) 502 65 30
+ Store 506 505
+ 507: 6(int) Load 8(invocation)
+ 508: 146(ptr) AccessChain 27(data) 38 65
+ 509: 23(f64vec4) Load 508
+ 510:145(f64vec2) VectorShuffle 509 509 0 1
+ 511:145(f64vec2) GroupNonUniformFMax 34 Reduce 510
+ 512: 139(ptr) AccessChain 27(data) 507 65 30
+ 513:22(float64_t) CompositeExtract 511 0
+ Store 512 513
+ 514: 139(ptr) AccessChain 27(data) 507 65 47
+ 515:22(float64_t) CompositeExtract 511 1
+ Store 514 515
+ 516: 6(int) Load 8(invocation)
+ 517: 146(ptr) AccessChain 27(data) 51 65
+ 518: 23(f64vec4) Load 517
+ 519:156(f64vec3) VectorShuffle 518 518 0 1 2
+ 520:156(f64vec3) GroupNonUniformFMax 34 Reduce 519
+ 521: 139(ptr) AccessChain 27(data) 516 65 30
+ 522:22(float64_t) CompositeExtract 520 0
+ Store 521 522
+ 523: 139(ptr) AccessChain 27(data) 516 65 47
+ 524:22(float64_t) CompositeExtract 520 1
+ Store 523 524
+ 525: 139(ptr) AccessChain 27(data) 516 65 61
+ 526:22(float64_t) CompositeExtract 520 2
+ Store 525 526
+ 527: 6(int) Load 8(invocation)
+ 528: 146(ptr) AccessChain 27(data) 65 65
+ 529: 23(f64vec4) Load 528
+ 530: 23(f64vec4) GroupNonUniformFMax 34 Reduce 529
+ 531: 146(ptr) AccessChain 27(data) 527 65
+ Store 531 530
+ 532: 6(int) Load 8(invocation)
+ 533: 71(ptr) AccessChain 27(data) 29 38 30
+ 534: 19(int) Load 533
+ 535: 19(int) GroupNonUniformBitwiseAnd 34 Reduce 534
+ 536: 71(ptr) AccessChain 27(data) 532 38 30
+ Store 536 535
+ 537: 6(int) Load 8(invocation)
+ 538: 78(ptr) AccessChain 27(data) 38 38
+ 539: 20(ivec4) Load 538
+ 540: 77(ivec2) VectorShuffle 539 539 0 1
+ 541: 77(ivec2) GroupNonUniformBitwiseAnd 34 Reduce 540
+ 542: 71(ptr) AccessChain 27(data) 537 38 30
+ 543: 19(int) CompositeExtract 541 0
+ Store 542 543
+ 544: 71(ptr) AccessChain 27(data) 537 38 47
+ 545: 19(int) CompositeExtract 541 1
+ Store 544 545
+ 546: 6(int) Load 8(invocation)
+ 547: 78(ptr) AccessChain 27(data) 51 38
+ 548: 20(ivec4) Load 547
+ 549: 88(ivec3) VectorShuffle 548 548 0 1 2
+ 550: 88(ivec3) GroupNonUniformBitwiseAnd 34 Reduce 549
+ 551: 71(ptr) AccessChain 27(data) 546 38 30
+ 552: 19(int) CompositeExtract 550 0
+ Store 551 552
+ 553: 71(ptr) AccessChain 27(data) 546 38 47
+ 554: 19(int) CompositeExtract 550 1
+ Store 553 554
+ 555: 71(ptr) AccessChain 27(data) 546 38 61
+ 556: 19(int) CompositeExtract 550 2
+ Store 555 556
+ 557: 6(int) Load 8(invocation)
+ 558: 78(ptr) AccessChain 27(data) 65 38
+ 559: 20(ivec4) Load 558
+ 560: 20(ivec4) GroupNonUniformBitwiseAnd 34 Reduce 559
+ 561: 78(ptr) AccessChain 27(data) 557 38
Store 561 560
562: 6(int) Load 8(invocation)
- 563: 65(ptr) AccessChain 27(data) 29 38 30
- 564: 19(int) Load 563
- 565: 19(int) GroupNonUniformBitwiseOr 34 Reduce 564
- 566: 65(ptr) AccessChain 27(data) 562 38 30
+ 563: 105(ptr) AccessChain 27(data) 29 51 30
+ 564: 6(int) Load 563
+ 565: 6(int) GroupNonUniformBitwiseAnd 34 Reduce 564
+ 566: 105(ptr) AccessChain 27(data) 562 51 30
Store 566 565
567: 6(int) Load 8(invocation)
- 568: 72(ptr) AccessChain 27(data) 38 38
- 569: 20(ivec4) Load 568
- 570: 71(ivec2) VectorShuffle 569 569 0 1
- 571: 71(ivec2) GroupNonUniformBitwiseOr 34 Reduce 570
- 572: 72(ptr) AccessChain 27(data) 567 38
- 573: 20(ivec4) Load 572
- 574: 20(ivec4) VectorShuffle 573 571 4 5 2 3
- Store 572 574
- 575: 6(int) Load 8(invocation)
- 576: 72(ptr) AccessChain 27(data) 49 38
- 577: 20(ivec4) Load 576
- 578: 81(ivec3) VectorShuffle 577 577 0 1 2
- 579: 81(ivec3) GroupNonUniformBitwiseOr 34 Reduce 578
- 580: 72(ptr) AccessChain 27(data) 575 38
- 581: 20(ivec4) Load 580
- 582: 20(ivec4) VectorShuffle 581 579 4 5 6 3
- Store 580 582
- 583: 6(int) Load 8(invocation)
- 584: 72(ptr) AccessChain 27(data) 59 38
- 585: 20(ivec4) Load 584
- 586: 20(ivec4) GroupNonUniformBitwiseOr 34 Reduce 585
- 587: 72(ptr) AccessChain 27(data) 583 38
- Store 587 586
- 588: 6(int) Load 8(invocation)
- 589: 95(ptr) AccessChain 27(data) 29 49 30
- 590: 6(int) Load 589
- 591: 6(int) GroupNonUniformBitwiseOr 34 Reduce 590
- 592: 95(ptr) AccessChain 27(data) 588 49 30
- Store 592 591
- 593: 6(int) Load 8(invocation)
- 594: 102(ptr) AccessChain 27(data) 38 49
- 595: 21(ivec4) Load 594
- 596: 101(ivec2) VectorShuffle 595 595 0 1
- 597: 101(ivec2) GroupNonUniformBitwiseOr 34 Reduce 596
- 598: 102(ptr) AccessChain 27(data) 593 49
- 599: 21(ivec4) Load 598
- 600: 21(ivec4) VectorShuffle 599 597 4 5 2 3
- Store 598 600
- 601: 6(int) Load 8(invocation)
- 602: 102(ptr) AccessChain 27(data) 49 49
- 603: 21(ivec4) Load 602
- 604: 111(ivec3) VectorShuffle 603 603 0 1 2
- 605: 111(ivec3) GroupNonUniformBitwiseOr 34 Reduce 604
- 606: 102(ptr) AccessChain 27(data) 601 49
- 607: 21(ivec4) Load 606
- 608: 21(ivec4) VectorShuffle 607 605 4 5 6 3
- Store 606 608
- 609: 6(int) Load 8(invocation)
- 610: 102(ptr) AccessChain 27(data) 59 49
- 611: 21(ivec4) Load 610
- 612: 21(ivec4) GroupNonUniformBitwiseOr 34 Reduce 611
- 613: 102(ptr) AccessChain 27(data) 609 49
- Store 613 612
+ 568: 112(ptr) AccessChain 27(data) 38 51
+ 569: 21(ivec4) Load 568
+ 570: 111(ivec2) VectorShuffle 569 569 0 1
+ 571: 111(ivec2) GroupNonUniformBitwiseAnd 34 Reduce 570
+ 572: 105(ptr) AccessChain 27(data) 567 51 30
+ 573: 6(int) CompositeExtract 571 0
+ Store 572 573
+ 574: 105(ptr) AccessChain 27(data) 567 51 47
+ 575: 6(int) CompositeExtract 571 1
+ Store 574 575
+ 576: 6(int) Load 8(invocation)
+ 577: 112(ptr) AccessChain 27(data) 51 51
+ 578: 21(ivec4) Load 577
+ 579: 122(ivec3) VectorShuffle 578 578 0 1 2
+ 580: 122(ivec3) GroupNonUniformBitwiseAnd 34 Reduce 579
+ 581: 105(ptr) AccessChain 27(data) 576 51 30
+ 582: 6(int) CompositeExtract 580 0
+ Store 581 582
+ 583: 105(ptr) AccessChain 27(data) 576 51 47
+ 584: 6(int) CompositeExtract 580 1
+ Store 583 584
+ 585: 105(ptr) AccessChain 27(data) 576 51 61
+ 586: 6(int) CompositeExtract 580 2
+ Store 585 586
+ 587: 6(int) Load 8(invocation)
+ 588: 112(ptr) AccessChain 27(data) 65 51
+ 589: 21(ivec4) Load 588
+ 590: 21(ivec4) GroupNonUniformBitwiseAnd 34 Reduce 589
+ 591: 112(ptr) AccessChain 27(data) 587 51
+ Store 591 590
+ 592: 6(int) Load 8(invocation)
+ 593: 71(ptr) AccessChain 27(data) 29 38 30
+ 594: 19(int) Load 593
+ 596: 595(bool) SLessThan 594 29
+ 597: 595(bool) GroupNonUniformLogicalAnd 34 Reduce 596
+ 598: 19(int) Select 597 38 29
+ 599: 71(ptr) AccessChain 27(data) 592 38 30
+ Store 599 598
+ 600: 6(int) Load 8(invocation)
+ 601: 78(ptr) AccessChain 27(data) 38 38
+ 602: 20(ivec4) Load 601
+ 603: 77(ivec2) VectorShuffle 602 602 0 1
+ 606: 605(bvec2) SLessThan 603 604
+ 607: 605(bvec2) GroupNonUniformLogicalAnd 34 Reduce 606
+ 609: 77(ivec2) Select 607 608 604
+ 610: 71(ptr) AccessChain 27(data) 600 38 30
+ 611: 19(int) CompositeExtract 609 0
+ Store 610 611
+ 612: 71(ptr) AccessChain 27(data) 600 38 47
+ 613: 19(int) CompositeExtract 609 1
+ Store 612 613
614: 6(int) Load 8(invocation)
- 615: 65(ptr) AccessChain 27(data) 29 38 30
- 616: 19(int) Load 615
- 617: 521(bool) SLessThan 616 29
- 618: 521(bool) GroupNonUniformLogicalOr 34 Reduce 617
- 619: 19(int) Select 618 38 29
- 620: 65(ptr) AccessChain 27(data) 614 38 30
- Store 620 619
- 621: 6(int) Load 8(invocation)
- 622: 72(ptr) AccessChain 27(data) 38 38
- 623: 20(ivec4) Load 622
- 624: 71(ivec2) VectorShuffle 623 623 0 1
- 625: 531(bvec2) SLessThan 624 530
- 626: 531(bvec2) GroupNonUniformLogicalOr 34 Reduce 625
- 627: 71(ivec2) Select 626 534 530
- 628: 72(ptr) AccessChain 27(data) 621 38
- 629: 20(ivec4) Load 628
- 630: 20(ivec4) VectorShuffle 629 627 4 5 2 3
- Store 628 630
- 631: 6(int) Load 8(invocation)
- 632: 72(ptr) AccessChain 27(data) 38 38
- 633: 20(ivec4) Load 632
- 634: 81(ivec3) VectorShuffle 633 633 0 1 2
- 635: 544(bvec3) SLessThan 634 543
- 636: 544(bvec3) GroupNonUniformLogicalOr 34 Reduce 635
- 637: 81(ivec3) Select 636 547 543
- 638: 72(ptr) AccessChain 27(data) 631 38
- 639: 20(ivec4) Load 638
- 640: 20(ivec4) VectorShuffle 639 637 4 5 6 3
- Store 638 640
- 641: 6(int) Load 8(invocation)
- 642: 72(ptr) AccessChain 27(data) 38 38
- 643: 20(ivec4) Load 642
- 644: 556(bvec4) SLessThan 643 555
- 645: 556(bvec4) GroupNonUniformLogicalOr 34 Reduce 644
- 646: 20(ivec4) Select 645 559 555
- 647: 72(ptr) AccessChain 27(data) 641 38
- Store 647 646
- 648: 6(int) Load 8(invocation)
- 649: 65(ptr) AccessChain 27(data) 29 38 30
- 650: 19(int) Load 649
- 651: 19(int) GroupNonUniformBitwiseXor 34 Reduce 650
- 652: 65(ptr) AccessChain 27(data) 648 38 30
- Store 652 651
- 653: 6(int) Load 8(invocation)
- 654: 72(ptr) AccessChain 27(data) 38 38
- 655: 20(ivec4) Load 654
- 656: 71(ivec2) VectorShuffle 655 655 0 1
- 657: 71(ivec2) GroupNonUniformBitwiseXor 34 Reduce 656
- 658: 72(ptr) AccessChain 27(data) 653 38
- 659: 20(ivec4) Load 658
- 660: 20(ivec4) VectorShuffle 659 657 4 5 2 3
- Store 658 660
- 661: 6(int) Load 8(invocation)
- 662: 72(ptr) AccessChain 27(data) 49 38
- 663: 20(ivec4) Load 662
- 664: 81(ivec3) VectorShuffle 663 663 0 1 2
- 665: 81(ivec3) GroupNonUniformBitwiseXor 34 Reduce 664
- 666: 72(ptr) AccessChain 27(data) 661 38
+ 615: 78(ptr) AccessChain 27(data) 38 38
+ 616: 20(ivec4) Load 615
+ 617: 88(ivec3) VectorShuffle 616 616 0 1 2
+ 620: 619(bvec3) SLessThan 617 618
+ 621: 619(bvec3) GroupNonUniformLogicalAnd 34 Reduce 620
+ 623: 88(ivec3) Select 621 622 618
+ 624: 71(ptr) AccessChain 27(data) 614 38 30
+ 625: 19(int) CompositeExtract 623 0
+ Store 624 625
+ 626: 71(ptr) AccessChain 27(data) 614 38 47
+ 627: 19(int) CompositeExtract 623 1
+ Store 626 627
+ 628: 71(ptr) AccessChain 27(data) 614 38 61
+ 629: 19(int) CompositeExtract 623 2
+ Store 628 629
+ 630: 6(int) Load 8(invocation)
+ 631: 78(ptr) AccessChain 27(data) 38 38
+ 632: 20(ivec4) Load 631
+ 635: 634(bvec4) SLessThan 632 633
+ 636: 634(bvec4) GroupNonUniformLogicalAnd 34 Reduce 635
+ 638: 20(ivec4) Select 636 637 633
+ 639: 78(ptr) AccessChain 27(data) 630 38
+ Store 639 638
+ 640: 6(int) Load 8(invocation)
+ 641: 71(ptr) AccessChain 27(data) 29 38 30
+ 642: 19(int) Load 641
+ 643: 19(int) GroupNonUniformBitwiseOr 34 Reduce 642
+ 644: 71(ptr) AccessChain 27(data) 640 38 30
+ Store 644 643
+ 645: 6(int) Load 8(invocation)
+ 646: 78(ptr) AccessChain 27(data) 38 38
+ 647: 20(ivec4) Load 646
+ 648: 77(ivec2) VectorShuffle 647 647 0 1
+ 649: 77(ivec2) GroupNonUniformBitwiseOr 34 Reduce 648
+ 650: 71(ptr) AccessChain 27(data) 645 38 30
+ 651: 19(int) CompositeExtract 649 0
+ Store 650 651
+ 652: 71(ptr) AccessChain 27(data) 645 38 47
+ 653: 19(int) CompositeExtract 649 1
+ Store 652 653
+ 654: 6(int) Load 8(invocation)
+ 655: 78(ptr) AccessChain 27(data) 51 38
+ 656: 20(ivec4) Load 655
+ 657: 88(ivec3) VectorShuffle 656 656 0 1 2
+ 658: 88(ivec3) GroupNonUniformBitwiseOr 34 Reduce 657
+ 659: 71(ptr) AccessChain 27(data) 654 38 30
+ 660: 19(int) CompositeExtract 658 0
+ Store 659 660
+ 661: 71(ptr) AccessChain 27(data) 654 38 47
+ 662: 19(int) CompositeExtract 658 1
+ Store 661 662
+ 663: 71(ptr) AccessChain 27(data) 654 38 61
+ 664: 19(int) CompositeExtract 658 2
+ Store 663 664
+ 665: 6(int) Load 8(invocation)
+ 666: 78(ptr) AccessChain 27(data) 65 38
667: 20(ivec4) Load 666
- 668: 20(ivec4) VectorShuffle 667 665 4 5 6 3
- Store 666 668
- 669: 6(int) Load 8(invocation)
- 670: 72(ptr) AccessChain 27(data) 59 38
- 671: 20(ivec4) Load 670
- 672: 20(ivec4) GroupNonUniformBitwiseXor 34 Reduce 671
- 673: 72(ptr) AccessChain 27(data) 669 38
- Store 673 672
- 674: 6(int) Load 8(invocation)
- 675: 95(ptr) AccessChain 27(data) 29 49 30
- 676: 6(int) Load 675
- 677: 6(int) GroupNonUniformBitwiseXor 34 Reduce 676
- 678: 95(ptr) AccessChain 27(data) 674 49 30
- Store 678 677
- 679: 6(int) Load 8(invocation)
- 680: 102(ptr) AccessChain 27(data) 38 49
- 681: 21(ivec4) Load 680
- 682: 101(ivec2) VectorShuffle 681 681 0 1
- 683: 101(ivec2) GroupNonUniformBitwiseXor 34 Reduce 682
- 684: 102(ptr) AccessChain 27(data) 679 49
- 685: 21(ivec4) Load 684
- 686: 21(ivec4) VectorShuffle 685 683 4 5 2 3
- Store 684 686
- 687: 6(int) Load 8(invocation)
- 688: 102(ptr) AccessChain 27(data) 49 49
- 689: 21(ivec4) Load 688
- 690: 111(ivec3) VectorShuffle 689 689 0 1 2
- 691: 111(ivec3) GroupNonUniformBitwiseXor 34 Reduce 690
- 692: 102(ptr) AccessChain 27(data) 687 49
- 693: 21(ivec4) Load 692
- 694: 21(ivec4) VectorShuffle 693 691 4 5 6 3
- Store 692 694
+ 668: 20(ivec4) GroupNonUniformBitwiseOr 34 Reduce 667
+ 669: 78(ptr) AccessChain 27(data) 665 38
+ Store 669 668
+ 670: 6(int) Load 8(invocation)
+ 671: 105(ptr) AccessChain 27(data) 29 51 30
+ 672: 6(int) Load 671
+ 673: 6(int) GroupNonUniformBitwiseOr 34 Reduce 672
+ 674: 105(ptr) AccessChain 27(data) 670 51 30
+ Store 674 673
+ 675: 6(int) Load 8(invocation)
+ 676: 112(ptr) AccessChain 27(data) 38 51
+ 677: 21(ivec4) Load 676
+ 678: 111(ivec2) VectorShuffle 677 677 0 1
+ 679: 111(ivec2) GroupNonUniformBitwiseOr 34 Reduce 678
+ 680: 105(ptr) AccessChain 27(data) 675 51 30
+ 681: 6(int) CompositeExtract 679 0
+ Store 680 681
+ 682: 105(ptr) AccessChain 27(data) 675 51 47
+ 683: 6(int) CompositeExtract 679 1
+ Store 682 683
+ 684: 6(int) Load 8(invocation)
+ 685: 112(ptr) AccessChain 27(data) 51 51
+ 686: 21(ivec4) Load 685
+ 687: 122(ivec3) VectorShuffle 686 686 0 1 2
+ 688: 122(ivec3) GroupNonUniformBitwiseOr 34 Reduce 687
+ 689: 105(ptr) AccessChain 27(data) 684 51 30
+ 690: 6(int) CompositeExtract 688 0
+ Store 689 690
+ 691: 105(ptr) AccessChain 27(data) 684 51 47
+ 692: 6(int) CompositeExtract 688 1
+ Store 691 692
+ 693: 105(ptr) AccessChain 27(data) 684 51 61
+ 694: 6(int) CompositeExtract 688 2
+ Store 693 694
695: 6(int) Load 8(invocation)
- 696: 102(ptr) AccessChain 27(data) 59 49
+ 696: 112(ptr) AccessChain 27(data) 65 51
697: 21(ivec4) Load 696
- 698: 21(ivec4) GroupNonUniformBitwiseXor 34 Reduce 697
- 699: 102(ptr) AccessChain 27(data) 695 49
+ 698: 21(ivec4) GroupNonUniformBitwiseOr 34 Reduce 697
+ 699: 112(ptr) AccessChain 27(data) 695 51
Store 699 698
700: 6(int) Load 8(invocation)
- 701: 65(ptr) AccessChain 27(data) 29 38 30
+ 701: 71(ptr) AccessChain 27(data) 29 38 30
702: 19(int) Load 701
- 703: 521(bool) SLessThan 702 29
- 704: 521(bool) GroupNonUniformLogicalXor 34 Reduce 703
+ 703: 595(bool) SLessThan 702 29
+ 704: 595(bool) GroupNonUniformLogicalOr 34 Reduce 703
705: 19(int) Select 704 38 29
- 706: 65(ptr) AccessChain 27(data) 700 38 30
+ 706: 71(ptr) AccessChain 27(data) 700 38 30
Store 706 705
707: 6(int) Load 8(invocation)
- 708: 72(ptr) AccessChain 27(data) 38 38
+ 708: 78(ptr) AccessChain 27(data) 38 38
709: 20(ivec4) Load 708
- 710: 71(ivec2) VectorShuffle 709 709 0 1
- 711: 531(bvec2) SLessThan 710 530
- 712: 531(bvec2) GroupNonUniformLogicalXor 34 Reduce 711
- 713: 71(ivec2) Select 712 534 530
- 714: 72(ptr) AccessChain 27(data) 707 38
- 715: 20(ivec4) Load 714
- 716: 20(ivec4) VectorShuffle 715 713 4 5 2 3
- Store 714 716
- 717: 6(int) Load 8(invocation)
- 718: 72(ptr) AccessChain 27(data) 38 38
- 719: 20(ivec4) Load 718
- 720: 81(ivec3) VectorShuffle 719 719 0 1 2
- 721: 544(bvec3) SLessThan 720 543
- 722: 544(bvec3) GroupNonUniformLogicalXor 34 Reduce 721
- 723: 81(ivec3) Select 722 547 543
- 724: 72(ptr) AccessChain 27(data) 717 38
- 725: 20(ivec4) Load 724
- 726: 20(ivec4) VectorShuffle 725 723 4 5 6 3
- Store 724 726
- 727: 6(int) Load 8(invocation)
- 728: 72(ptr) AccessChain 27(data) 38 38
- 729: 20(ivec4) Load 728
- 730: 556(bvec4) SLessThan 729 555
- 731: 556(bvec4) GroupNonUniformLogicalXor 34 Reduce 730
- 732: 20(ivec4) Select 731 559 555
- 733: 72(ptr) AccessChain 27(data) 727 38
- Store 733 732
- 734: 6(int) Load 8(invocation)
- 735: 31(ptr) AccessChain 27(data) 29 29 30
- 736: 17(float) Load 735
- 737: 17(float) GroupNonUniformFAdd 34 InclusiveScan 736
- 738: 31(ptr) AccessChain 27(data) 734 29 30
- Store 738 737
- 739: 6(int) Load 8(invocation)
- 740: 40(ptr) AccessChain 27(data) 38 29
- 741: 18(fvec4) Load 740
- 742: 39(fvec2) VectorShuffle 741 741 0 1
- 743: 39(fvec2) GroupNonUniformFAdd 34 InclusiveScan 742
- 744: 40(ptr) AccessChain 27(data) 739 29
- 745: 18(fvec4) Load 744
- 746: 18(fvec4) VectorShuffle 745 743 4 5 2 3
- Store 744 746
- 747: 6(int) Load 8(invocation)
- 748: 40(ptr) AccessChain 27(data) 49 29
- 749: 18(fvec4) Load 748
- 750: 50(fvec3) VectorShuffle 749 749 0 1 2
- 751: 50(fvec3) GroupNonUniformFAdd 34 InclusiveScan 750
- 752: 40(ptr) AccessChain 27(data) 747 29
- 753: 18(fvec4) Load 752
- 754: 18(fvec4) VectorShuffle 753 751 4 5 6 3
- Store 752 754
- 755: 6(int) Load 8(invocation)
- 756: 40(ptr) AccessChain 27(data) 59 29
- 757: 18(fvec4) Load 756
- 758: 18(fvec4) GroupNonUniformFAdd 34 InclusiveScan 757
- 759: 40(ptr) AccessChain 27(data) 755 29
- Store 759 758
- 760: 6(int) Load 8(invocation)
- 761: 65(ptr) AccessChain 27(data) 29 38 30
- 762: 19(int) Load 761
- 763: 19(int) GroupNonUniformIAdd 34 InclusiveScan 762
- 764: 65(ptr) AccessChain 27(data) 760 38 30
- Store 764 763
- 765: 6(int) Load 8(invocation)
- 766: 72(ptr) AccessChain 27(data) 38 38
- 767: 20(ivec4) Load 766
- 768: 71(ivec2) VectorShuffle 767 767 0 1
- 769: 71(ivec2) GroupNonUniformIAdd 34 InclusiveScan 768
- 770: 72(ptr) AccessChain 27(data) 765 38
- 771: 20(ivec4) Load 770
- 772: 20(ivec4) VectorShuffle 771 769 4 5 2 3
- Store 770 772
+ 710: 77(ivec2) VectorShuffle 709 709 0 1
+ 711: 605(bvec2) SLessThan 710 604
+ 712: 605(bvec2) GroupNonUniformLogicalOr 34 Reduce 711
+ 713: 77(ivec2) Select 712 608 604
+ 714: 71(ptr) AccessChain 27(data) 707 38 30
+ 715: 19(int) CompositeExtract 713 0
+ Store 714 715
+ 716: 71(ptr) AccessChain 27(data) 707 38 47
+ 717: 19(int) CompositeExtract 713 1
+ Store 716 717
+ 718: 6(int) Load 8(invocation)
+ 719: 78(ptr) AccessChain 27(data) 38 38
+ 720: 20(ivec4) Load 719
+ 721: 88(ivec3) VectorShuffle 720 720 0 1 2
+ 722: 619(bvec3) SLessThan 721 618
+ 723: 619(bvec3) GroupNonUniformLogicalOr 34 Reduce 722
+ 724: 88(ivec3) Select 723 622 618
+ 725: 71(ptr) AccessChain 27(data) 718 38 30
+ 726: 19(int) CompositeExtract 724 0
+ Store 725 726
+ 727: 71(ptr) AccessChain 27(data) 718 38 47
+ 728: 19(int) CompositeExtract 724 1
+ Store 727 728
+ 729: 71(ptr) AccessChain 27(data) 718 38 61
+ 730: 19(int) CompositeExtract 724 2
+ Store 729 730
+ 731: 6(int) Load 8(invocation)
+ 732: 78(ptr) AccessChain 27(data) 38 38
+ 733: 20(ivec4) Load 732
+ 734: 634(bvec4) SLessThan 733 633
+ 735: 634(bvec4) GroupNonUniformLogicalOr 34 Reduce 734
+ 736: 20(ivec4) Select 735 637 633
+ 737: 78(ptr) AccessChain 27(data) 731 38
+ Store 737 736
+ 738: 6(int) Load 8(invocation)
+ 739: 71(ptr) AccessChain 27(data) 29 38 30
+ 740: 19(int) Load 739
+ 741: 19(int) GroupNonUniformBitwiseXor 34 Reduce 740
+ 742: 71(ptr) AccessChain 27(data) 738 38 30
+ Store 742 741
+ 743: 6(int) Load 8(invocation)
+ 744: 78(ptr) AccessChain 27(data) 38 38
+ 745: 20(ivec4) Load 744
+ 746: 77(ivec2) VectorShuffle 745 745 0 1
+ 747: 77(ivec2) GroupNonUniformBitwiseXor 34 Reduce 746
+ 748: 71(ptr) AccessChain 27(data) 743 38 30
+ 749: 19(int) CompositeExtract 747 0
+ Store 748 749
+ 750: 71(ptr) AccessChain 27(data) 743 38 47
+ 751: 19(int) CompositeExtract 747 1
+ Store 750 751
+ 752: 6(int) Load 8(invocation)
+ 753: 78(ptr) AccessChain 27(data) 51 38
+ 754: 20(ivec4) Load 753
+ 755: 88(ivec3) VectorShuffle 754 754 0 1 2
+ 756: 88(ivec3) GroupNonUniformBitwiseXor 34 Reduce 755
+ 757: 71(ptr) AccessChain 27(data) 752 38 30
+ 758: 19(int) CompositeExtract 756 0
+ Store 757 758
+ 759: 71(ptr) AccessChain 27(data) 752 38 47
+ 760: 19(int) CompositeExtract 756 1
+ Store 759 760
+ 761: 71(ptr) AccessChain 27(data) 752 38 61
+ 762: 19(int) CompositeExtract 756 2
+ Store 761 762
+ 763: 6(int) Load 8(invocation)
+ 764: 78(ptr) AccessChain 27(data) 65 38
+ 765: 20(ivec4) Load 764
+ 766: 20(ivec4) GroupNonUniformBitwiseXor 34 Reduce 765
+ 767: 78(ptr) AccessChain 27(data) 763 38
+ Store 767 766
+ 768: 6(int) Load 8(invocation)
+ 769: 105(ptr) AccessChain 27(data) 29 51 30
+ 770: 6(int) Load 769
+ 771: 6(int) GroupNonUniformBitwiseXor 34 Reduce 770
+ 772: 105(ptr) AccessChain 27(data) 768 51 30
+ Store 772 771
773: 6(int) Load 8(invocation)
- 774: 72(ptr) AccessChain 27(data) 49 38
- 775: 20(ivec4) Load 774
- 776: 81(ivec3) VectorShuffle 775 775 0 1 2
- 777: 81(ivec3) GroupNonUniformIAdd 34 InclusiveScan 776
- 778: 72(ptr) AccessChain 27(data) 773 38
- 779: 20(ivec4) Load 778
- 780: 20(ivec4) VectorShuffle 779 777 4 5 6 3
- Store 778 780
- 781: 6(int) Load 8(invocation)
- 782: 72(ptr) AccessChain 27(data) 59 38
- 783: 20(ivec4) Load 782
- 784: 20(ivec4) GroupNonUniformIAdd 34 InclusiveScan 783
- 785: 72(ptr) AccessChain 27(data) 781 38
- Store 785 784
- 786: 6(int) Load 8(invocation)
- 787: 95(ptr) AccessChain 27(data) 29 49 30
- 788: 6(int) Load 787
- 789: 6(int) GroupNonUniformIAdd 34 InclusiveScan 788
- 790: 95(ptr) AccessChain 27(data) 786 49 30
- Store 790 789
- 791: 6(int) Load 8(invocation)
- 792: 102(ptr) AccessChain 27(data) 38 49
- 793: 21(ivec4) Load 792
- 794: 101(ivec2) VectorShuffle 793 793 0 1
- 795: 101(ivec2) GroupNonUniformIAdd 34 InclusiveScan 794
- 796: 102(ptr) AccessChain 27(data) 791 49
- 797: 21(ivec4) Load 796
- 798: 21(ivec4) VectorShuffle 797 795 4 5 2 3
- Store 796 798
- 799: 6(int) Load 8(invocation)
- 800: 102(ptr) AccessChain 27(data) 49 49
- 801: 21(ivec4) Load 800
- 802: 111(ivec3) VectorShuffle 801 801 0 1 2
- 803: 111(ivec3) GroupNonUniformIAdd 34 InclusiveScan 802
- 804: 102(ptr) AccessChain 27(data) 799 49
- 805: 21(ivec4) Load 804
- 806: 21(ivec4) VectorShuffle 805 803 4 5 6 3
- Store 804 806
- 807: 6(int) Load 8(invocation)
- 808: 102(ptr) AccessChain 27(data) 59 49
- 809: 21(ivec4) Load 808
- 810: 21(ivec4) GroupNonUniformIAdd 34 InclusiveScan 809
- 811: 102(ptr) AccessChain 27(data) 807 49
- Store 811 810
- 812: 6(int) Load 8(invocation)
- 813: 125(ptr) AccessChain 27(data) 29 59 30
- 814:22(float64_t) Load 813
- 815:22(float64_t) GroupNonUniformFAdd 34 InclusiveScan 814
- 816: 125(ptr) AccessChain 27(data) 812 59 30
- Store 816 815
- 817: 6(int) Load 8(invocation)
- 818: 132(ptr) AccessChain 27(data) 38 59
- 819: 23(f64vec4) Load 818
- 820:131(f64vec2) VectorShuffle 819 819 0 1
- 821:131(f64vec2) GroupNonUniformFAdd 34 InclusiveScan 820
- 822: 132(ptr) AccessChain 27(data) 817 59
- 823: 23(f64vec4) Load 822
- 824: 23(f64vec4) VectorShuffle 823 821 4 5 2 3
- Store 822 824
- 825: 6(int) Load 8(invocation)
- 826: 132(ptr) AccessChain 27(data) 49 59
- 827: 23(f64vec4) Load 826
- 828:141(f64vec3) VectorShuffle 827 827 0 1 2
- 829:141(f64vec3) GroupNonUniformFAdd 34 InclusiveScan 828
- 830: 132(ptr) AccessChain 27(data) 825 59
- 831: 23(f64vec4) Load 830
- 832: 23(f64vec4) VectorShuffle 831 829 4 5 6 3
- Store 830 832
- 833: 6(int) Load 8(invocation)
- 834: 132(ptr) AccessChain 27(data) 59 59
- 835: 23(f64vec4) Load 834
- 836: 23(f64vec4) GroupNonUniformFAdd 34 InclusiveScan 835
- 837: 132(ptr) AccessChain 27(data) 833 59
- Store 837 836
- 838: 6(int) Load 8(invocation)
- 839: 31(ptr) AccessChain 27(data) 29 29 30
- 840: 17(float) Load 839
- 841: 17(float) GroupNonUniformFMul 34 InclusiveScan 840
- 842: 31(ptr) AccessChain 27(data) 838 29 30
- Store 842 841
- 843: 6(int) Load 8(invocation)
- 844: 40(ptr) AccessChain 27(data) 38 29
- 845: 18(fvec4) Load 844
- 846: 39(fvec2) VectorShuffle 845 845 0 1
- 847: 39(fvec2) GroupNonUniformFMul 34 InclusiveScan 846
- 848: 40(ptr) AccessChain 27(data) 843 29
- 849: 18(fvec4) Load 848
- 850: 18(fvec4) VectorShuffle 849 847 4 5 2 3
- Store 848 850
- 851: 6(int) Load 8(invocation)
- 852: 40(ptr) AccessChain 27(data) 49 29
- 853: 18(fvec4) Load 852
- 854: 50(fvec3) VectorShuffle 853 853 0 1 2
- 855: 50(fvec3) GroupNonUniformFMul 34 InclusiveScan 854
- 856: 40(ptr) AccessChain 27(data) 851 29
- 857: 18(fvec4) Load 856
- 858: 18(fvec4) VectorShuffle 857 855 4 5 6 3
- Store 856 858
- 859: 6(int) Load 8(invocation)
- 860: 40(ptr) AccessChain 27(data) 59 29
- 861: 18(fvec4) Load 860
- 862: 18(fvec4) GroupNonUniformFMul 34 InclusiveScan 861
- 863: 40(ptr) AccessChain 27(data) 859 29
- Store 863 862
- 864: 6(int) Load 8(invocation)
- 865: 65(ptr) AccessChain 27(data) 29 38 30
- 866: 19(int) Load 865
- 867: 19(int) GroupNonUniformIMul 34 InclusiveScan 866
- 868: 65(ptr) AccessChain 27(data) 864 38 30
- Store 868 867
- 869: 6(int) Load 8(invocation)
- 870: 72(ptr) AccessChain 27(data) 38 38
- 871: 20(ivec4) Load 870
- 872: 71(ivec2) VectorShuffle 871 871 0 1
- 873: 71(ivec2) GroupNonUniformIMul 34 InclusiveScan 872
- 874: 72(ptr) AccessChain 27(data) 869 38
- 875: 20(ivec4) Load 874
- 876: 20(ivec4) VectorShuffle 875 873 4 5 2 3
- Store 874 876
- 877: 6(int) Load 8(invocation)
- 878: 72(ptr) AccessChain 27(data) 49 38
- 879: 20(ivec4) Load 878
- 880: 81(ivec3) VectorShuffle 879 879 0 1 2
- 881: 81(ivec3) GroupNonUniformIMul 34 InclusiveScan 880
- 882: 72(ptr) AccessChain 27(data) 877 38
- 883: 20(ivec4) Load 882
- 884: 20(ivec4) VectorShuffle 883 881 4 5 6 3
- Store 882 884
- 885: 6(int) Load 8(invocation)
- 886: 72(ptr) AccessChain 27(data) 59 38
- 887: 20(ivec4) Load 886
- 888: 20(ivec4) GroupNonUniformIMul 34 InclusiveScan 887
- 889: 72(ptr) AccessChain 27(data) 885 38
- Store 889 888
- 890: 6(int) Load 8(invocation)
- 891: 95(ptr) AccessChain 27(data) 29 49 30
- 892: 6(int) Load 891
- 893: 6(int) GroupNonUniformIMul 34 InclusiveScan 892
- 894: 95(ptr) AccessChain 27(data) 890 49 30
- Store 894 893
- 895: 6(int) Load 8(invocation)
- 896: 102(ptr) AccessChain 27(data) 38 49
- 897: 21(ivec4) Load 896
- 898: 101(ivec2) VectorShuffle 897 897 0 1
- 899: 101(ivec2) GroupNonUniformIMul 34 InclusiveScan 898
- 900: 102(ptr) AccessChain 27(data) 895 49
- 901: 21(ivec4) Load 900
- 902: 21(ivec4) VectorShuffle 901 899 4 5 2 3
- Store 900 902
- 903: 6(int) Load 8(invocation)
- 904: 102(ptr) AccessChain 27(data) 49 49
- 905: 21(ivec4) Load 904
- 906: 111(ivec3) VectorShuffle 905 905 0 1 2
- 907: 111(ivec3) GroupNonUniformIMul 34 InclusiveScan 906
- 908: 102(ptr) AccessChain 27(data) 903 49
- 909: 21(ivec4) Load 908
- 910: 21(ivec4) VectorShuffle 909 907 4 5 6 3
- Store 908 910
- 911: 6(int) Load 8(invocation)
- 912: 102(ptr) AccessChain 27(data) 59 49
- 913: 21(ivec4) Load 912
- 914: 21(ivec4) GroupNonUniformIMul 34 InclusiveScan 913
- 915: 102(ptr) AccessChain 27(data) 911 49
- Store 915 914
- 916: 6(int) Load 8(invocation)
- 917: 125(ptr) AccessChain 27(data) 29 59 30
- 918:22(float64_t) Load 917
- 919:22(float64_t) GroupNonUniformFMul 34 InclusiveScan 918
- 920: 125(ptr) AccessChain 27(data) 916 59 30
- Store 920 919
+ 774: 112(ptr) AccessChain 27(data) 38 51
+ 775: 21(ivec4) Load 774
+ 776: 111(ivec2) VectorShuffle 775 775 0 1
+ 777: 111(ivec2) GroupNonUniformBitwiseXor 34 Reduce 776
+ 778: 105(ptr) AccessChain 27(data) 773 51 30
+ 779: 6(int) CompositeExtract 777 0
+ Store 778 779
+ 780: 105(ptr) AccessChain 27(data) 773 51 47
+ 781: 6(int) CompositeExtract 777 1
+ Store 780 781
+ 782: 6(int) Load 8(invocation)
+ 783: 112(ptr) AccessChain 27(data) 51 51
+ 784: 21(ivec4) Load 783
+ 785: 122(ivec3) VectorShuffle 784 784 0 1 2
+ 786: 122(ivec3) GroupNonUniformBitwiseXor 34 Reduce 785
+ 787: 105(ptr) AccessChain 27(data) 782 51 30
+ 788: 6(int) CompositeExtract 786 0
+ Store 787 788
+ 789: 105(ptr) AccessChain 27(data) 782 51 47
+ 790: 6(int) CompositeExtract 786 1
+ Store 789 790
+ 791: 105(ptr) AccessChain 27(data) 782 51 61
+ 792: 6(int) CompositeExtract 786 2
+ Store 791 792
+ 793: 6(int) Load 8(invocation)
+ 794: 112(ptr) AccessChain 27(data) 65 51
+ 795: 21(ivec4) Load 794
+ 796: 21(ivec4) GroupNonUniformBitwiseXor 34 Reduce 795
+ 797: 112(ptr) AccessChain 27(data) 793 51
+ Store 797 796
+ 798: 6(int) Load 8(invocation)
+ 799: 71(ptr) AccessChain 27(data) 29 38 30
+ 800: 19(int) Load 799
+ 801: 595(bool) SLessThan 800 29
+ 802: 595(bool) GroupNonUniformLogicalXor 34 Reduce 801
+ 803: 19(int) Select 802 38 29
+ 804: 71(ptr) AccessChain 27(data) 798 38 30
+ Store 804 803
+ 805: 6(int) Load 8(invocation)
+ 806: 78(ptr) AccessChain 27(data) 38 38
+ 807: 20(ivec4) Load 806
+ 808: 77(ivec2) VectorShuffle 807 807 0 1
+ 809: 605(bvec2) SLessThan 808 604
+ 810: 605(bvec2) GroupNonUniformLogicalXor 34 Reduce 809
+ 811: 77(ivec2) Select 810 608 604
+ 812: 71(ptr) AccessChain 27(data) 805 38 30
+ 813: 19(int) CompositeExtract 811 0
+ Store 812 813
+ 814: 71(ptr) AccessChain 27(data) 805 38 47
+ 815: 19(int) CompositeExtract 811 1
+ Store 814 815
+ 816: 6(int) Load 8(invocation)
+ 817: 78(ptr) AccessChain 27(data) 38 38
+ 818: 20(ivec4) Load 817
+ 819: 88(ivec3) VectorShuffle 818 818 0 1 2
+ 820: 619(bvec3) SLessThan 819 618
+ 821: 619(bvec3) GroupNonUniformLogicalXor 34 Reduce 820
+ 822: 88(ivec3) Select 821 622 618
+ 823: 71(ptr) AccessChain 27(data) 816 38 30
+ 824: 19(int) CompositeExtract 822 0
+ Store 823 824
+ 825: 71(ptr) AccessChain 27(data) 816 38 47
+ 826: 19(int) CompositeExtract 822 1
+ Store 825 826
+ 827: 71(ptr) AccessChain 27(data) 816 38 61
+ 828: 19(int) CompositeExtract 822 2
+ Store 827 828
+ 829: 6(int) Load 8(invocation)
+ 830: 78(ptr) AccessChain 27(data) 38 38
+ 831: 20(ivec4) Load 830
+ 832: 634(bvec4) SLessThan 831 633
+ 833: 634(bvec4) GroupNonUniformLogicalXor 34 Reduce 832
+ 834: 20(ivec4) Select 833 637 633
+ 835: 78(ptr) AccessChain 27(data) 829 38
+ Store 835 834
+ 836: 6(int) Load 8(invocation)
+ 837: 31(ptr) AccessChain 27(data) 29 29 30
+ 838: 17(float) Load 837
+ 839: 17(float) GroupNonUniformFAdd 34 InclusiveScan 838
+ 840: 31(ptr) AccessChain 27(data) 836 29 30
+ Store 840 839
+ 841: 6(int) Load 8(invocation)
+ 842: 40(ptr) AccessChain 27(data) 38 29
+ 843: 18(fvec4) Load 842
+ 844: 39(fvec2) VectorShuffle 843 843 0 1
+ 845: 39(fvec2) GroupNonUniformFAdd 34 InclusiveScan 844
+ 846: 31(ptr) AccessChain 27(data) 841 29 30
+ 847: 17(float) CompositeExtract 845 0
+ Store 846 847
+ 848: 31(ptr) AccessChain 27(data) 841 29 47
+ 849: 17(float) CompositeExtract 845 1
+ Store 848 849
+ 850: 6(int) Load 8(invocation)
+ 851: 40(ptr) AccessChain 27(data) 51 29
+ 852: 18(fvec4) Load 851
+ 853: 52(fvec3) VectorShuffle 852 852 0 1 2
+ 854: 52(fvec3) GroupNonUniformFAdd 34 InclusiveScan 853
+ 855: 31(ptr) AccessChain 27(data) 850 29 30
+ 856: 17(float) CompositeExtract 854 0
+ Store 855 856
+ 857: 31(ptr) AccessChain 27(data) 850 29 47
+ 858: 17(float) CompositeExtract 854 1
+ Store 857 858
+ 859: 31(ptr) AccessChain 27(data) 850 29 61
+ 860: 17(float) CompositeExtract 854 2
+ Store 859 860
+ 861: 6(int) Load 8(invocation)
+ 862: 40(ptr) AccessChain 27(data) 65 29
+ 863: 18(fvec4) Load 862
+ 864: 18(fvec4) GroupNonUniformFAdd 34 InclusiveScan 863
+ 865: 40(ptr) AccessChain 27(data) 861 29
+ Store 865 864
+ 866: 6(int) Load 8(invocation)
+ 867: 71(ptr) AccessChain 27(data) 29 38 30
+ 868: 19(int) Load 867
+ 869: 19(int) GroupNonUniformIAdd 34 InclusiveScan 868
+ 870: 71(ptr) AccessChain 27(data) 866 38 30
+ Store 870 869
+ 871: 6(int) Load 8(invocation)
+ 872: 78(ptr) AccessChain 27(data) 38 38
+ 873: 20(ivec4) Load 872
+ 874: 77(ivec2) VectorShuffle 873 873 0 1
+ 875: 77(ivec2) GroupNonUniformIAdd 34 InclusiveScan 874
+ 876: 71(ptr) AccessChain 27(data) 871 38 30
+ 877: 19(int) CompositeExtract 875 0
+ Store 876 877
+ 878: 71(ptr) AccessChain 27(data) 871 38 47
+ 879: 19(int) CompositeExtract 875 1
+ Store 878 879
+ 880: 6(int) Load 8(invocation)
+ 881: 78(ptr) AccessChain 27(data) 51 38
+ 882: 20(ivec4) Load 881
+ 883: 88(ivec3) VectorShuffle 882 882 0 1 2
+ 884: 88(ivec3) GroupNonUniformIAdd 34 InclusiveScan 883
+ 885: 71(ptr) AccessChain 27(data) 880 38 30
+ 886: 19(int) CompositeExtract 884 0
+ Store 885 886
+ 887: 71(ptr) AccessChain 27(data) 880 38 47
+ 888: 19(int) CompositeExtract 884 1
+ Store 887 888
+ 889: 71(ptr) AccessChain 27(data) 880 38 61
+ 890: 19(int) CompositeExtract 884 2
+ Store 889 890
+ 891: 6(int) Load 8(invocation)
+ 892: 78(ptr) AccessChain 27(data) 65 38
+ 893: 20(ivec4) Load 892
+ 894: 20(ivec4) GroupNonUniformIAdd 34 InclusiveScan 893
+ 895: 78(ptr) AccessChain 27(data) 891 38
+ Store 895 894
+ 896: 6(int) Load 8(invocation)
+ 897: 105(ptr) AccessChain 27(data) 29 51 30
+ 898: 6(int) Load 897
+ 899: 6(int) GroupNonUniformIAdd 34 InclusiveScan 898
+ 900: 105(ptr) AccessChain 27(data) 896 51 30
+ Store 900 899
+ 901: 6(int) Load 8(invocation)
+ 902: 112(ptr) AccessChain 27(data) 38 51
+ 903: 21(ivec4) Load 902
+ 904: 111(ivec2) VectorShuffle 903 903 0 1
+ 905: 111(ivec2) GroupNonUniformIAdd 34 InclusiveScan 904
+ 906: 105(ptr) AccessChain 27(data) 901 51 30
+ 907: 6(int) CompositeExtract 905 0
+ Store 906 907
+ 908: 105(ptr) AccessChain 27(data) 901 51 47
+ 909: 6(int) CompositeExtract 905 1
+ Store 908 909
+ 910: 6(int) Load 8(invocation)
+ 911: 112(ptr) AccessChain 27(data) 51 51
+ 912: 21(ivec4) Load 911
+ 913: 122(ivec3) VectorShuffle 912 912 0 1 2
+ 914: 122(ivec3) GroupNonUniformIAdd 34 InclusiveScan 913
+ 915: 105(ptr) AccessChain 27(data) 910 51 30
+ 916: 6(int) CompositeExtract 914 0
+ Store 915 916
+ 917: 105(ptr) AccessChain 27(data) 910 51 47
+ 918: 6(int) CompositeExtract 914 1
+ Store 917 918
+ 919: 105(ptr) AccessChain 27(data) 910 51 61
+ 920: 6(int) CompositeExtract 914 2
+ Store 919 920
921: 6(int) Load 8(invocation)
- 922: 132(ptr) AccessChain 27(data) 38 59
- 923: 23(f64vec4) Load 922
- 924:131(f64vec2) VectorShuffle 923 923 0 1
- 925:131(f64vec2) GroupNonUniformFMul 34 InclusiveScan 924
- 926: 132(ptr) AccessChain 27(data) 921 59
- 927: 23(f64vec4) Load 926
- 928: 23(f64vec4) VectorShuffle 927 925 4 5 2 3
- Store 926 928
- 929: 6(int) Load 8(invocation)
- 930: 132(ptr) AccessChain 27(data) 49 59
- 931: 23(f64vec4) Load 930
- 932:141(f64vec3) VectorShuffle 931 931 0 1 2
- 933:141(f64vec3) GroupNonUniformFMul 34 InclusiveScan 932
- 934: 132(ptr) AccessChain 27(data) 929 59
- 935: 23(f64vec4) Load 934
- 936: 23(f64vec4) VectorShuffle 935 933 4 5 6 3
- Store 934 936
- 937: 6(int) Load 8(invocation)
- 938: 132(ptr) AccessChain 27(data) 59 59
- 939: 23(f64vec4) Load 938
- 940: 23(f64vec4) GroupNonUniformFMul 34 InclusiveScan 939
- 941: 132(ptr) AccessChain 27(data) 937 59
- Store 941 940
- 942: 6(int) Load 8(invocation)
- 943: 31(ptr) AccessChain 27(data) 29 29 30
- 944: 17(float) Load 943
- 945: 17(float) GroupNonUniformFMin 34 InclusiveScan 944
- 946: 31(ptr) AccessChain 27(data) 942 29 30
- Store 946 945
- 947: 6(int) Load 8(invocation)
- 948: 40(ptr) AccessChain 27(data) 38 29
- 949: 18(fvec4) Load 948
- 950: 39(fvec2) VectorShuffle 949 949 0 1
- 951: 39(fvec2) GroupNonUniformFMin 34 InclusiveScan 950
- 952: 40(ptr) AccessChain 27(data) 947 29
- 953: 18(fvec4) Load 952
- 954: 18(fvec4) VectorShuffle 953 951 4 5 2 3
- Store 952 954
- 955: 6(int) Load 8(invocation)
- 956: 40(ptr) AccessChain 27(data) 49 29
- 957: 18(fvec4) Load 956
- 958: 50(fvec3) VectorShuffle 957 957 0 1 2
- 959: 50(fvec3) GroupNonUniformFMin 34 InclusiveScan 958
- 960: 40(ptr) AccessChain 27(data) 955 29
- 961: 18(fvec4) Load 960
- 962: 18(fvec4) VectorShuffle 961 959 4 5 6 3
- Store 960 962
- 963: 6(int) Load 8(invocation)
- 964: 40(ptr) AccessChain 27(data) 59 29
- 965: 18(fvec4) Load 964
- 966: 18(fvec4) GroupNonUniformFMin 34 InclusiveScan 965
- 967: 40(ptr) AccessChain 27(data) 963 29
- Store 967 966
- 968: 6(int) Load 8(invocation)
- 969: 65(ptr) AccessChain 27(data) 29 38 30
- 970: 19(int) Load 969
- 971: 19(int) GroupNonUniformSMin 34 InclusiveScan 970
- 972: 65(ptr) AccessChain 27(data) 968 38 30
- Store 972 971
- 973: 6(int) Load 8(invocation)
- 974: 72(ptr) AccessChain 27(data) 38 38
- 975: 20(ivec4) Load 974
- 976: 71(ivec2) VectorShuffle 975 975 0 1
- 977: 71(ivec2) GroupNonUniformSMin 34 InclusiveScan 976
- 978: 72(ptr) AccessChain 27(data) 973 38
- 979: 20(ivec4) Load 978
- 980: 20(ivec4) VectorShuffle 979 977 4 5 2 3
- Store 978 980
+ 922: 112(ptr) AccessChain 27(data) 65 51
+ 923: 21(ivec4) Load 922
+ 924: 21(ivec4) GroupNonUniformIAdd 34 InclusiveScan 923
+ 925: 112(ptr) AccessChain 27(data) 921 51
+ Store 925 924
+ 926: 6(int) Load 8(invocation)
+ 927: 139(ptr) AccessChain 27(data) 29 65 30
+ 928:22(float64_t) Load 927
+ 929:22(float64_t) GroupNonUniformFAdd 34 InclusiveScan 928
+ 930: 139(ptr) AccessChain 27(data) 926 65 30
+ Store 930 929
+ 931: 6(int) Load 8(invocation)
+ 932: 146(ptr) AccessChain 27(data) 38 65
+ 933: 23(f64vec4) Load 932
+ 934:145(f64vec2) VectorShuffle 933 933 0 1
+ 935:145(f64vec2) GroupNonUniformFAdd 34 InclusiveScan 934
+ 936: 139(ptr) AccessChain 27(data) 931 65 30
+ 937:22(float64_t) CompositeExtract 935 0
+ Store 936 937
+ 938: 139(ptr) AccessChain 27(data) 931 65 47
+ 939:22(float64_t) CompositeExtract 935 1
+ Store 938 939
+ 940: 6(int) Load 8(invocation)
+ 941: 146(ptr) AccessChain 27(data) 51 65
+ 942: 23(f64vec4) Load 941
+ 943:156(f64vec3) VectorShuffle 942 942 0 1 2
+ 944:156(f64vec3) GroupNonUniformFAdd 34 InclusiveScan 943
+ 945: 139(ptr) AccessChain 27(data) 940 65 30
+ 946:22(float64_t) CompositeExtract 944 0
+ Store 945 946
+ 947: 139(ptr) AccessChain 27(data) 940 65 47
+ 948:22(float64_t) CompositeExtract 944 1
+ Store 947 948
+ 949: 139(ptr) AccessChain 27(data) 940 65 61
+ 950:22(float64_t) CompositeExtract 944 2
+ Store 949 950
+ 951: 6(int) Load 8(invocation)
+ 952: 146(ptr) AccessChain 27(data) 65 65
+ 953: 23(f64vec4) Load 952
+ 954: 23(f64vec4) GroupNonUniformFAdd 34 InclusiveScan 953
+ 955: 146(ptr) AccessChain 27(data) 951 65
+ Store 955 954
+ 956: 6(int) Load 8(invocation)
+ 957: 31(ptr) AccessChain 27(data) 29 29 30
+ 958: 17(float) Load 957
+ 959: 17(float) GroupNonUniformFMul 34 InclusiveScan 958
+ 960: 31(ptr) AccessChain 27(data) 956 29 30
+ Store 960 959
+ 961: 6(int) Load 8(invocation)
+ 962: 40(ptr) AccessChain 27(data) 38 29
+ 963: 18(fvec4) Load 962
+ 964: 39(fvec2) VectorShuffle 963 963 0 1
+ 965: 39(fvec2) GroupNonUniformFMul 34 InclusiveScan 964
+ 966: 31(ptr) AccessChain 27(data) 961 29 30
+ 967: 17(float) CompositeExtract 965 0
+ Store 966 967
+ 968: 31(ptr) AccessChain 27(data) 961 29 47
+ 969: 17(float) CompositeExtract 965 1
+ Store 968 969
+ 970: 6(int) Load 8(invocation)
+ 971: 40(ptr) AccessChain 27(data) 51 29
+ 972: 18(fvec4) Load 971
+ 973: 52(fvec3) VectorShuffle 972 972 0 1 2
+ 974: 52(fvec3) GroupNonUniformFMul 34 InclusiveScan 973
+ 975: 31(ptr) AccessChain 27(data) 970 29 30
+ 976: 17(float) CompositeExtract 974 0
+ Store 975 976
+ 977: 31(ptr) AccessChain 27(data) 970 29 47
+ 978: 17(float) CompositeExtract 974 1
+ Store 977 978
+ 979: 31(ptr) AccessChain 27(data) 970 29 61
+ 980: 17(float) CompositeExtract 974 2
+ Store 979 980
981: 6(int) Load 8(invocation)
- 982: 72(ptr) AccessChain 27(data) 49 38
- 983: 20(ivec4) Load 982
- 984: 81(ivec3) VectorShuffle 983 983 0 1 2
- 985: 81(ivec3) GroupNonUniformSMin 34 InclusiveScan 984
- 986: 72(ptr) AccessChain 27(data) 981 38
- 987: 20(ivec4) Load 986
- 988: 20(ivec4) VectorShuffle 987 985 4 5 6 3
- Store 986 988
- 989: 6(int) Load 8(invocation)
- 990: 72(ptr) AccessChain 27(data) 59 38
- 991: 20(ivec4) Load 990
- 992: 20(ivec4) GroupNonUniformSMin 34 InclusiveScan 991
- 993: 72(ptr) AccessChain 27(data) 989 38
- Store 993 992
- 994: 6(int) Load 8(invocation)
- 995: 95(ptr) AccessChain 27(data) 29 49 30
- 996: 6(int) Load 995
- 997: 6(int) GroupNonUniformUMin 34 InclusiveScan 996
- 998: 95(ptr) AccessChain 27(data) 994 49 30
- Store 998 997
- 999: 6(int) Load 8(invocation)
- 1000: 102(ptr) AccessChain 27(data) 38 49
- 1001: 21(ivec4) Load 1000
- 1002: 101(ivec2) VectorShuffle 1001 1001 0 1
- 1003: 101(ivec2) GroupNonUniformUMin 34 InclusiveScan 1002
- 1004: 102(ptr) AccessChain 27(data) 999 49
- 1005: 21(ivec4) Load 1004
- 1006: 21(ivec4) VectorShuffle 1005 1003 4 5 2 3
- Store 1004 1006
- 1007: 6(int) Load 8(invocation)
- 1008: 102(ptr) AccessChain 27(data) 49 49
- 1009: 21(ivec4) Load 1008
- 1010: 111(ivec3) VectorShuffle 1009 1009 0 1 2
- 1011: 111(ivec3) GroupNonUniformUMin 34 InclusiveScan 1010
- 1012: 102(ptr) AccessChain 27(data) 1007 49
- 1013: 21(ivec4) Load 1012
- 1014: 21(ivec4) VectorShuffle 1013 1011 4 5 6 3
- Store 1012 1014
- 1015: 6(int) Load 8(invocation)
- 1016: 102(ptr) AccessChain 27(data) 59 49
- 1017: 21(ivec4) Load 1016
- 1018: 21(ivec4) GroupNonUniformUMin 34 InclusiveScan 1017
- 1019: 102(ptr) AccessChain 27(data) 1015 49
- Store 1019 1018
- 1020: 6(int) Load 8(invocation)
- 1021: 125(ptr) AccessChain 27(data) 29 59 30
- 1022:22(float64_t) Load 1021
- 1023:22(float64_t) GroupNonUniformFMin 34 InclusiveScan 1022
- 1024: 125(ptr) AccessChain 27(data) 1020 59 30
- Store 1024 1023
- 1025: 6(int) Load 8(invocation)
- 1026: 132(ptr) AccessChain 27(data) 38 59
- 1027: 23(f64vec4) Load 1026
- 1028:131(f64vec2) VectorShuffle 1027 1027 0 1
- 1029:131(f64vec2) GroupNonUniformFMin 34 InclusiveScan 1028
- 1030: 132(ptr) AccessChain 27(data) 1025 59
- 1031: 23(f64vec4) Load 1030
- 1032: 23(f64vec4) VectorShuffle 1031 1029 4 5 2 3
- Store 1030 1032
- 1033: 6(int) Load 8(invocation)
- 1034: 132(ptr) AccessChain 27(data) 49 59
- 1035: 23(f64vec4) Load 1034
- 1036:141(f64vec3) VectorShuffle 1035 1035 0 1 2
- 1037:141(f64vec3) GroupNonUniformFMin 34 InclusiveScan 1036
- 1038: 132(ptr) AccessChain 27(data) 1033 59
- 1039: 23(f64vec4) Load 1038
- 1040: 23(f64vec4) VectorShuffle 1039 1037 4 5 6 3
- Store 1038 1040
+ 982: 40(ptr) AccessChain 27(data) 65 29
+ 983: 18(fvec4) Load 982
+ 984: 18(fvec4) GroupNonUniformFMul 34 InclusiveScan 983
+ 985: 40(ptr) AccessChain 27(data) 981 29
+ Store 985 984
+ 986: 6(int) Load 8(invocation)
+ 987: 71(ptr) AccessChain 27(data) 29 38 30
+ 988: 19(int) Load 987
+ 989: 19(int) GroupNonUniformIMul 34 InclusiveScan 988
+ 990: 71(ptr) AccessChain 27(data) 986 38 30
+ Store 990 989
+ 991: 6(int) Load 8(invocation)
+ 992: 78(ptr) AccessChain 27(data) 38 38
+ 993: 20(ivec4) Load 992
+ 994: 77(ivec2) VectorShuffle 993 993 0 1
+ 995: 77(ivec2) GroupNonUniformIMul 34 InclusiveScan 994
+ 996: 71(ptr) AccessChain 27(data) 991 38 30
+ 997: 19(int) CompositeExtract 995 0
+ Store 996 997
+ 998: 71(ptr) AccessChain 27(data) 991 38 47
+ 999: 19(int) CompositeExtract 995 1
+ Store 998 999
+ 1000: 6(int) Load 8(invocation)
+ 1001: 78(ptr) AccessChain 27(data) 51 38
+ 1002: 20(ivec4) Load 1001
+ 1003: 88(ivec3) VectorShuffle 1002 1002 0 1 2
+ 1004: 88(ivec3) GroupNonUniformIMul 34 InclusiveScan 1003
+ 1005: 71(ptr) AccessChain 27(data) 1000 38 30
+ 1006: 19(int) CompositeExtract 1004 0
+ Store 1005 1006
+ 1007: 71(ptr) AccessChain 27(data) 1000 38 47
+ 1008: 19(int) CompositeExtract 1004 1
+ Store 1007 1008
+ 1009: 71(ptr) AccessChain 27(data) 1000 38 61
+ 1010: 19(int) CompositeExtract 1004 2
+ Store 1009 1010
+ 1011: 6(int) Load 8(invocation)
+ 1012: 78(ptr) AccessChain 27(data) 65 38
+ 1013: 20(ivec4) Load 1012
+ 1014: 20(ivec4) GroupNonUniformIMul 34 InclusiveScan 1013
+ 1015: 78(ptr) AccessChain 27(data) 1011 38
+ Store 1015 1014
+ 1016: 6(int) Load 8(invocation)
+ 1017: 105(ptr) AccessChain 27(data) 29 51 30
+ 1018: 6(int) Load 1017
+ 1019: 6(int) GroupNonUniformIMul 34 InclusiveScan 1018
+ 1020: 105(ptr) AccessChain 27(data) 1016 51 30
+ Store 1020 1019
+ 1021: 6(int) Load 8(invocation)
+ 1022: 112(ptr) AccessChain 27(data) 38 51
+ 1023: 21(ivec4) Load 1022
+ 1024: 111(ivec2) VectorShuffle 1023 1023 0 1
+ 1025: 111(ivec2) GroupNonUniformIMul 34 InclusiveScan 1024
+ 1026: 105(ptr) AccessChain 27(data) 1021 51 30
+ 1027: 6(int) CompositeExtract 1025 0
+ Store 1026 1027
+ 1028: 105(ptr) AccessChain 27(data) 1021 51 47
+ 1029: 6(int) CompositeExtract 1025 1
+ Store 1028 1029
+ 1030: 6(int) Load 8(invocation)
+ 1031: 112(ptr) AccessChain 27(data) 51 51
+ 1032: 21(ivec4) Load 1031
+ 1033: 122(ivec3) VectorShuffle 1032 1032 0 1 2
+ 1034: 122(ivec3) GroupNonUniformIMul 34 InclusiveScan 1033
+ 1035: 105(ptr) AccessChain 27(data) 1030 51 30
+ 1036: 6(int) CompositeExtract 1034 0
+ Store 1035 1036
+ 1037: 105(ptr) AccessChain 27(data) 1030 51 47
+ 1038: 6(int) CompositeExtract 1034 1
+ Store 1037 1038
+ 1039: 105(ptr) AccessChain 27(data) 1030 51 61
+ 1040: 6(int) CompositeExtract 1034 2
+ Store 1039 1040
1041: 6(int) Load 8(invocation)
- 1042: 132(ptr) AccessChain 27(data) 59 59
- 1043: 23(f64vec4) Load 1042
- 1044: 23(f64vec4) GroupNonUniformFMin 34 InclusiveScan 1043
- 1045: 132(ptr) AccessChain 27(data) 1041 59
+ 1042: 112(ptr) AccessChain 27(data) 65 51
+ 1043: 21(ivec4) Load 1042
+ 1044: 21(ivec4) GroupNonUniformIMul 34 InclusiveScan 1043
+ 1045: 112(ptr) AccessChain 27(data) 1041 51
Store 1045 1044
1046: 6(int) Load 8(invocation)
- 1047: 31(ptr) AccessChain 27(data) 29 29 30
- 1048: 17(float) Load 1047
- 1049: 17(float) GroupNonUniformFMax 34 InclusiveScan 1048
- 1050: 31(ptr) AccessChain 27(data) 1046 29 30
+ 1047: 139(ptr) AccessChain 27(data) 29 65 30
+ 1048:22(float64_t) Load 1047
+ 1049:22(float64_t) GroupNonUniformFMul 34 InclusiveScan 1048
+ 1050: 139(ptr) AccessChain 27(data) 1046 65 30
Store 1050 1049
1051: 6(int) Load 8(invocation)
- 1052: 40(ptr) AccessChain 27(data) 38 29
- 1053: 18(fvec4) Load 1052
- 1054: 39(fvec2) VectorShuffle 1053 1053 0 1
- 1055: 39(fvec2) GroupNonUniformFMax 34 InclusiveScan 1054
- 1056: 40(ptr) AccessChain 27(data) 1051 29
- 1057: 18(fvec4) Load 1056
- 1058: 18(fvec4) VectorShuffle 1057 1055 4 5 2 3
- Store 1056 1058
- 1059: 6(int) Load 8(invocation)
- 1060: 40(ptr) AccessChain 27(data) 49 29
- 1061: 18(fvec4) Load 1060
- 1062: 50(fvec3) VectorShuffle 1061 1061 0 1 2
- 1063: 50(fvec3) GroupNonUniformFMax 34 InclusiveScan 1062
- 1064: 40(ptr) AccessChain 27(data) 1059 29
- 1065: 18(fvec4) Load 1064
- 1066: 18(fvec4) VectorShuffle 1065 1063 4 5 6 3
- Store 1064 1066
- 1067: 6(int) Load 8(invocation)
- 1068: 40(ptr) AccessChain 27(data) 59 29
- 1069: 18(fvec4) Load 1068
- 1070: 18(fvec4) GroupNonUniformFMax 34 InclusiveScan 1069
- 1071: 40(ptr) AccessChain 27(data) 1067 29
- Store 1071 1070
- 1072: 6(int) Load 8(invocation)
- 1073: 65(ptr) AccessChain 27(data) 29 38 30
- 1074: 19(int) Load 1073
- 1075: 19(int) GroupNonUniformSMax 34 InclusiveScan 1074
- 1076: 65(ptr) AccessChain 27(data) 1072 38 30
- Store 1076 1075
- 1077: 6(int) Load 8(invocation)
- 1078: 72(ptr) AccessChain 27(data) 38 38
- 1079: 20(ivec4) Load 1078
- 1080: 71(ivec2) VectorShuffle 1079 1079 0 1
- 1081: 71(ivec2) GroupNonUniformSMax 34 InclusiveScan 1080
- 1082: 72(ptr) AccessChain 27(data) 1077 38
- 1083: 20(ivec4) Load 1082
- 1084: 20(ivec4) VectorShuffle 1083 1081 4 5 2 3
- Store 1082 1084
- 1085: 6(int) Load 8(invocation)
- 1086: 72(ptr) AccessChain 27(data) 49 38
- 1087: 20(ivec4) Load 1086
- 1088: 81(ivec3) VectorShuffle 1087 1087 0 1 2
- 1089: 81(ivec3) GroupNonUniformSMax 34 InclusiveScan 1088
- 1090: 72(ptr) AccessChain 27(data) 1085 38
- 1091: 20(ivec4) Load 1090
- 1092: 20(ivec4) VectorShuffle 1091 1089 4 5 6 3
- Store 1090 1092
- 1093: 6(int) Load 8(invocation)
- 1094: 72(ptr) AccessChain 27(data) 59 38
- 1095: 20(ivec4) Load 1094
- 1096: 20(ivec4) GroupNonUniformSMax 34 InclusiveScan 1095
- 1097: 72(ptr) AccessChain 27(data) 1093 38
- Store 1097 1096
- 1098: 6(int) Load 8(invocation)
- 1099: 95(ptr) AccessChain 27(data) 29 49 30
- 1100: 6(int) Load 1099
- 1101: 6(int) GroupNonUniformUMax 34 InclusiveScan 1100
- 1102: 95(ptr) AccessChain 27(data) 1098 49 30
- Store 1102 1101
- 1103: 6(int) Load 8(invocation)
- 1104: 102(ptr) AccessChain 27(data) 38 49
- 1105: 21(ivec4) Load 1104
- 1106: 101(ivec2) VectorShuffle 1105 1105 0 1
- 1107: 101(ivec2) GroupNonUniformUMax 34 InclusiveScan 1106
- 1108: 102(ptr) AccessChain 27(data) 1103 49
- 1109: 21(ivec4) Load 1108
- 1110: 21(ivec4) VectorShuffle 1109 1107 4 5 2 3
- Store 1108 1110
+ 1052: 146(ptr) AccessChain 27(data) 38 65
+ 1053: 23(f64vec4) Load 1052
+ 1054:145(f64vec2) VectorShuffle 1053 1053 0 1
+ 1055:145(f64vec2) GroupNonUniformFMul 34 InclusiveScan 1054
+ 1056: 139(ptr) AccessChain 27(data) 1051 65 30
+ 1057:22(float64_t) CompositeExtract 1055 0
+ Store 1056 1057
+ 1058: 139(ptr) AccessChain 27(data) 1051 65 47
+ 1059:22(float64_t) CompositeExtract 1055 1
+ Store 1058 1059
+ 1060: 6(int) Load 8(invocation)
+ 1061: 146(ptr) AccessChain 27(data) 51 65
+ 1062: 23(f64vec4) Load 1061
+ 1063:156(f64vec3) VectorShuffle 1062 1062 0 1 2
+ 1064:156(f64vec3) GroupNonUniformFMul 34 InclusiveScan 1063
+ 1065: 139(ptr) AccessChain 27(data) 1060 65 30
+ 1066:22(float64_t) CompositeExtract 1064 0
+ Store 1065 1066
+ 1067: 139(ptr) AccessChain 27(data) 1060 65 47
+ 1068:22(float64_t) CompositeExtract 1064 1
+ Store 1067 1068
+ 1069: 139(ptr) AccessChain 27(data) 1060 65 61
+ 1070:22(float64_t) CompositeExtract 1064 2
+ Store 1069 1070
+ 1071: 6(int) Load 8(invocation)
+ 1072: 146(ptr) AccessChain 27(data) 65 65
+ 1073: 23(f64vec4) Load 1072
+ 1074: 23(f64vec4) GroupNonUniformFMul 34 InclusiveScan 1073
+ 1075: 146(ptr) AccessChain 27(data) 1071 65
+ Store 1075 1074
+ 1076: 6(int) Load 8(invocation)
+ 1077: 31(ptr) AccessChain 27(data) 29 29 30
+ 1078: 17(float) Load 1077
+ 1079: 17(float) GroupNonUniformFMin 34 InclusiveScan 1078
+ 1080: 31(ptr) AccessChain 27(data) 1076 29 30
+ Store 1080 1079
+ 1081: 6(int) Load 8(invocation)
+ 1082: 40(ptr) AccessChain 27(data) 38 29
+ 1083: 18(fvec4) Load 1082
+ 1084: 39(fvec2) VectorShuffle 1083 1083 0 1
+ 1085: 39(fvec2) GroupNonUniformFMin 34 InclusiveScan 1084
+ 1086: 31(ptr) AccessChain 27(data) 1081 29 30
+ 1087: 17(float) CompositeExtract 1085 0
+ Store 1086 1087
+ 1088: 31(ptr) AccessChain 27(data) 1081 29 47
+ 1089: 17(float) CompositeExtract 1085 1
+ Store 1088 1089
+ 1090: 6(int) Load 8(invocation)
+ 1091: 40(ptr) AccessChain 27(data) 51 29
+ 1092: 18(fvec4) Load 1091
+ 1093: 52(fvec3) VectorShuffle 1092 1092 0 1 2
+ 1094: 52(fvec3) GroupNonUniformFMin 34 InclusiveScan 1093
+ 1095: 31(ptr) AccessChain 27(data) 1090 29 30
+ 1096: 17(float) CompositeExtract 1094 0
+ Store 1095 1096
+ 1097: 31(ptr) AccessChain 27(data) 1090 29 47
+ 1098: 17(float) CompositeExtract 1094 1
+ Store 1097 1098
+ 1099: 31(ptr) AccessChain 27(data) 1090 29 61
+ 1100: 17(float) CompositeExtract 1094 2
+ Store 1099 1100
+ 1101: 6(int) Load 8(invocation)
+ 1102: 40(ptr) AccessChain 27(data) 65 29
+ 1103: 18(fvec4) Load 1102
+ 1104: 18(fvec4) GroupNonUniformFMin 34 InclusiveScan 1103
+ 1105: 40(ptr) AccessChain 27(data) 1101 29
+ Store 1105 1104
+ 1106: 6(int) Load 8(invocation)
+ 1107: 71(ptr) AccessChain 27(data) 29 38 30
+ 1108: 19(int) Load 1107
+ 1109: 19(int) GroupNonUniformSMin 34 InclusiveScan 1108
+ 1110: 71(ptr) AccessChain 27(data) 1106 38 30
+ Store 1110 1109
1111: 6(int) Load 8(invocation)
- 1112: 102(ptr) AccessChain 27(data) 49 49
- 1113: 21(ivec4) Load 1112
- 1114: 111(ivec3) VectorShuffle 1113 1113 0 1 2
- 1115: 111(ivec3) GroupNonUniformUMax 34 InclusiveScan 1114
- 1116: 102(ptr) AccessChain 27(data) 1111 49
- 1117: 21(ivec4) Load 1116
- 1118: 21(ivec4) VectorShuffle 1117 1115 4 5 6 3
- Store 1116 1118
- 1119: 6(int) Load 8(invocation)
- 1120: 102(ptr) AccessChain 27(data) 59 49
- 1121: 21(ivec4) Load 1120
- 1122: 21(ivec4) GroupNonUniformUMax 34 InclusiveScan 1121
- 1123: 102(ptr) AccessChain 27(data) 1119 49
- Store 1123 1122
- 1124: 6(int) Load 8(invocation)
- 1125: 125(ptr) AccessChain 27(data) 29 59 30
- 1126:22(float64_t) Load 1125
- 1127:22(float64_t) GroupNonUniformFMax 34 InclusiveScan 1126
- 1128: 125(ptr) AccessChain 27(data) 1124 59 30
- Store 1128 1127
- 1129: 6(int) Load 8(invocation)
- 1130: 132(ptr) AccessChain 27(data) 38 59
- 1131: 23(f64vec4) Load 1130
- 1132:131(f64vec2) VectorShuffle 1131 1131 0 1
- 1133:131(f64vec2) GroupNonUniformFMax 34 InclusiveScan 1132
- 1134: 132(ptr) AccessChain 27(data) 1129 59
- 1135: 23(f64vec4) Load 1134
- 1136: 23(f64vec4) VectorShuffle 1135 1133 4 5 2 3
- Store 1134 1136
- 1137: 6(int) Load 8(invocation)
- 1138: 132(ptr) AccessChain 27(data) 49 59
- 1139: 23(f64vec4) Load 1138
- 1140:141(f64vec3) VectorShuffle 1139 1139 0 1 2
- 1141:141(f64vec3) GroupNonUniformFMax 34 InclusiveScan 1140
- 1142: 132(ptr) AccessChain 27(data) 1137 59
- 1143: 23(f64vec4) Load 1142
- 1144: 23(f64vec4) VectorShuffle 1143 1141 4 5 6 3
- Store 1142 1144
- 1145: 6(int) Load 8(invocation)
- 1146: 132(ptr) AccessChain 27(data) 59 59
- 1147: 23(f64vec4) Load 1146
- 1148: 23(f64vec4) GroupNonUniformFMax 34 InclusiveScan 1147
- 1149: 132(ptr) AccessChain 27(data) 1145 59
- Store 1149 1148
+ 1112: 78(ptr) AccessChain 27(data) 38 38
+ 1113: 20(ivec4) Load 1112
+ 1114: 77(ivec2) VectorShuffle 1113 1113 0 1
+ 1115: 77(ivec2) GroupNonUniformSMin 34 InclusiveScan 1114
+ 1116: 71(ptr) AccessChain 27(data) 1111 38 30
+ 1117: 19(int) CompositeExtract 1115 0
+ Store 1116 1117
+ 1118: 71(ptr) AccessChain 27(data) 1111 38 47
+ 1119: 19(int) CompositeExtract 1115 1
+ Store 1118 1119
+ 1120: 6(int) Load 8(invocation)
+ 1121: 78(ptr) AccessChain 27(data) 51 38
+ 1122: 20(ivec4) Load 1121
+ 1123: 88(ivec3) VectorShuffle 1122 1122 0 1 2
+ 1124: 88(ivec3) GroupNonUniformSMin 34 InclusiveScan 1123
+ 1125: 71(ptr) AccessChain 27(data) 1120 38 30
+ 1126: 19(int) CompositeExtract 1124 0
+ Store 1125 1126
+ 1127: 71(ptr) AccessChain 27(data) 1120 38 47
+ 1128: 19(int) CompositeExtract 1124 1
+ Store 1127 1128
+ 1129: 71(ptr) AccessChain 27(data) 1120 38 61
+ 1130: 19(int) CompositeExtract 1124 2
+ Store 1129 1130
+ 1131: 6(int) Load 8(invocation)
+ 1132: 78(ptr) AccessChain 27(data) 65 38
+ 1133: 20(ivec4) Load 1132
+ 1134: 20(ivec4) GroupNonUniformSMin 34 InclusiveScan 1133
+ 1135: 78(ptr) AccessChain 27(data) 1131 38
+ Store 1135 1134
+ 1136: 6(int) Load 8(invocation)
+ 1137: 105(ptr) AccessChain 27(data) 29 51 30
+ 1138: 6(int) Load 1137
+ 1139: 6(int) GroupNonUniformUMin 34 InclusiveScan 1138
+ 1140: 105(ptr) AccessChain 27(data) 1136 51 30
+ Store 1140 1139
+ 1141: 6(int) Load 8(invocation)
+ 1142: 112(ptr) AccessChain 27(data) 38 51
+ 1143: 21(ivec4) Load 1142
+ 1144: 111(ivec2) VectorShuffle 1143 1143 0 1
+ 1145: 111(ivec2) GroupNonUniformUMin 34 InclusiveScan 1144
+ 1146: 105(ptr) AccessChain 27(data) 1141 51 30
+ 1147: 6(int) CompositeExtract 1145 0
+ Store 1146 1147
+ 1148: 105(ptr) AccessChain 27(data) 1141 51 47
+ 1149: 6(int) CompositeExtract 1145 1
+ Store 1148 1149
1150: 6(int) Load 8(invocation)
- 1151: 65(ptr) AccessChain 27(data) 29 38 30
- 1152: 19(int) Load 1151
- 1153: 19(int) GroupNonUniformBitwiseAnd 34 InclusiveScan 1152
- 1154: 65(ptr) AccessChain 27(data) 1150 38 30
- Store 1154 1153
- 1155: 6(int) Load 8(invocation)
- 1156: 72(ptr) AccessChain 27(data) 38 38
- 1157: 20(ivec4) Load 1156
- 1158: 71(ivec2) VectorShuffle 1157 1157 0 1
- 1159: 71(ivec2) GroupNonUniformBitwiseAnd 34 InclusiveScan 1158
- 1160: 72(ptr) AccessChain 27(data) 1155 38
- 1161: 20(ivec4) Load 1160
- 1162: 20(ivec4) VectorShuffle 1161 1159 4 5 2 3
- Store 1160 1162
- 1163: 6(int) Load 8(invocation)
- 1164: 72(ptr) AccessChain 27(data) 49 38
- 1165: 20(ivec4) Load 1164
- 1166: 81(ivec3) VectorShuffle 1165 1165 0 1 2
- 1167: 81(ivec3) GroupNonUniformBitwiseAnd 34 InclusiveScan 1166
- 1168: 72(ptr) AccessChain 27(data) 1163 38
- 1169: 20(ivec4) Load 1168
- 1170: 20(ivec4) VectorShuffle 1169 1167 4 5 6 3
- Store 1168 1170
+ 1151: 112(ptr) AccessChain 27(data) 51 51
+ 1152: 21(ivec4) Load 1151
+ 1153: 122(ivec3) VectorShuffle 1152 1152 0 1 2
+ 1154: 122(ivec3) GroupNonUniformUMin 34 InclusiveScan 1153
+ 1155: 105(ptr) AccessChain 27(data) 1150 51 30
+ 1156: 6(int) CompositeExtract 1154 0
+ Store 1155 1156
+ 1157: 105(ptr) AccessChain 27(data) 1150 51 47
+ 1158: 6(int) CompositeExtract 1154 1
+ Store 1157 1158
+ 1159: 105(ptr) AccessChain 27(data) 1150 51 61
+ 1160: 6(int) CompositeExtract 1154 2
+ Store 1159 1160
+ 1161: 6(int) Load 8(invocation)
+ 1162: 112(ptr) AccessChain 27(data) 65 51
+ 1163: 21(ivec4) Load 1162
+ 1164: 21(ivec4) GroupNonUniformUMin 34 InclusiveScan 1163
+ 1165: 112(ptr) AccessChain 27(data) 1161 51
+ Store 1165 1164
+ 1166: 6(int) Load 8(invocation)
+ 1167: 139(ptr) AccessChain 27(data) 29 65 30
+ 1168:22(float64_t) Load 1167
+ 1169:22(float64_t) GroupNonUniformFMin 34 InclusiveScan 1168
+ 1170: 139(ptr) AccessChain 27(data) 1166 65 30
+ Store 1170 1169
1171: 6(int) Load 8(invocation)
- 1172: 72(ptr) AccessChain 27(data) 59 38
- 1173: 20(ivec4) Load 1172
- 1174: 20(ivec4) GroupNonUniformBitwiseAnd 34 InclusiveScan 1173
- 1175: 72(ptr) AccessChain 27(data) 1171 38
- Store 1175 1174
- 1176: 6(int) Load 8(invocation)
- 1177: 95(ptr) AccessChain 27(data) 29 49 30
- 1178: 6(int) Load 1177
- 1179: 6(int) GroupNonUniformBitwiseAnd 34 InclusiveScan 1178
- 1180: 95(ptr) AccessChain 27(data) 1176 49 30
- Store 1180 1179
- 1181: 6(int) Load 8(invocation)
- 1182: 102(ptr) AccessChain 27(data) 38 49
- 1183: 21(ivec4) Load 1182
- 1184: 101(ivec2) VectorShuffle 1183 1183 0 1
- 1185: 101(ivec2) GroupNonUniformBitwiseAnd 34 InclusiveScan 1184
- 1186: 102(ptr) AccessChain 27(data) 1181 49
- 1187: 21(ivec4) Load 1186
- 1188: 21(ivec4) VectorShuffle 1187 1185 4 5 2 3
- Store 1186 1188
- 1189: 6(int) Load 8(invocation)
- 1190: 102(ptr) AccessChain 27(data) 49 49
- 1191: 21(ivec4) Load 1190
- 1192: 111(ivec3) VectorShuffle 1191 1191 0 1 2
- 1193: 111(ivec3) GroupNonUniformBitwiseAnd 34 InclusiveScan 1192
- 1194: 102(ptr) AccessChain 27(data) 1189 49
- 1195: 21(ivec4) Load 1194
- 1196: 21(ivec4) VectorShuffle 1195 1193 4 5 6 3
- Store 1194 1196
- 1197: 6(int) Load 8(invocation)
- 1198: 102(ptr) AccessChain 27(data) 59 49
- 1199: 21(ivec4) Load 1198
- 1200: 21(ivec4) GroupNonUniformBitwiseAnd 34 InclusiveScan 1199
- 1201: 102(ptr) AccessChain 27(data) 1197 49
- Store 1201 1200
- 1202: 6(int) Load 8(invocation)
- 1203: 65(ptr) AccessChain 27(data) 29 38 30
- 1204: 19(int) Load 1203
- 1205: 521(bool) SLessThan 1204 29
- 1206: 521(bool) GroupNonUniformLogicalAnd 34 InclusiveScan 1205
- 1207: 19(int) Select 1206 38 29
- 1208: 65(ptr) AccessChain 27(data) 1202 38 30
- Store 1208 1207
- 1209: 6(int) Load 8(invocation)
- 1210: 72(ptr) AccessChain 27(data) 38 38
- 1211: 20(ivec4) Load 1210
- 1212: 71(ivec2) VectorShuffle 1211 1211 0 1
- 1213: 531(bvec2) SLessThan 1212 530
- 1214: 531(bvec2) GroupNonUniformLogicalAnd 34 InclusiveScan 1213
- 1215: 71(ivec2) Select 1214 534 530
- 1216: 72(ptr) AccessChain 27(data) 1209 38
- 1217: 20(ivec4) Load 1216
- 1218: 20(ivec4) VectorShuffle 1217 1215 4 5 2 3
- Store 1216 1218
- 1219: 6(int) Load 8(invocation)
- 1220: 72(ptr) AccessChain 27(data) 38 38
- 1221: 20(ivec4) Load 1220
- 1222: 81(ivec3) VectorShuffle 1221 1221 0 1 2
- 1223: 544(bvec3) SLessThan 1222 543
- 1224: 544(bvec3) GroupNonUniformLogicalAnd 34 InclusiveScan 1223
- 1225: 81(ivec3) Select 1224 547 543
- 1226: 72(ptr) AccessChain 27(data) 1219 38
- 1227: 20(ivec4) Load 1226
- 1228: 20(ivec4) VectorShuffle 1227 1225 4 5 6 3
- Store 1226 1228
- 1229: 6(int) Load 8(invocation)
- 1230: 72(ptr) AccessChain 27(data) 38 38
- 1231: 20(ivec4) Load 1230
- 1232: 556(bvec4) SLessThan 1231 555
- 1233: 556(bvec4) GroupNonUniformLogicalAnd 34 InclusiveScan 1232
- 1234: 20(ivec4) Select 1233 559 555
- 1235: 72(ptr) AccessChain 27(data) 1229 38
- Store 1235 1234
- 1236: 6(int) Load 8(invocation)
- 1237: 65(ptr) AccessChain 27(data) 29 38 30
- 1238: 19(int) Load 1237
- 1239: 19(int) GroupNonUniformBitwiseOr 34 InclusiveScan 1238
- 1240: 65(ptr) AccessChain 27(data) 1236 38 30
- Store 1240 1239
- 1241: 6(int) Load 8(invocation)
- 1242: 72(ptr) AccessChain 27(data) 38 38
- 1243: 20(ivec4) Load 1242
- 1244: 71(ivec2) VectorShuffle 1243 1243 0 1
- 1245: 71(ivec2) GroupNonUniformBitwiseOr 34 InclusiveScan 1244
- 1246: 72(ptr) AccessChain 27(data) 1241 38
- 1247: 20(ivec4) Load 1246
- 1248: 20(ivec4) VectorShuffle 1247 1245 4 5 2 3
- Store 1246 1248
- 1249: 6(int) Load 8(invocation)
- 1250: 72(ptr) AccessChain 27(data) 49 38
- 1251: 20(ivec4) Load 1250
- 1252: 81(ivec3) VectorShuffle 1251 1251 0 1 2
- 1253: 81(ivec3) GroupNonUniformBitwiseOr 34 InclusiveScan 1252
- 1254: 72(ptr) AccessChain 27(data) 1249 38
- 1255: 20(ivec4) Load 1254
- 1256: 20(ivec4) VectorShuffle 1255 1253 4 5 6 3
- Store 1254 1256
- 1257: 6(int) Load 8(invocation)
- 1258: 72(ptr) AccessChain 27(data) 59 38
- 1259: 20(ivec4) Load 1258
- 1260: 20(ivec4) GroupNonUniformBitwiseOr 34 InclusiveScan 1259
- 1261: 72(ptr) AccessChain 27(data) 1257 38
- Store 1261 1260
- 1262: 6(int) Load 8(invocation)
- 1263: 95(ptr) AccessChain 27(data) 29 49 30
- 1264: 6(int) Load 1263
- 1265: 6(int) GroupNonUniformBitwiseOr 34 InclusiveScan 1264
- 1266: 95(ptr) AccessChain 27(data) 1262 49 30
- Store 1266 1265
- 1267: 6(int) Load 8(invocation)
- 1268: 102(ptr) AccessChain 27(data) 38 49
- 1269: 21(ivec4) Load 1268
- 1270: 101(ivec2) VectorShuffle 1269 1269 0 1
- 1271: 101(ivec2) GroupNonUniformBitwiseOr 34 InclusiveScan 1270
- 1272: 102(ptr) AccessChain 27(data) 1267 49
- 1273: 21(ivec4) Load 1272
- 1274: 21(ivec4) VectorShuffle 1273 1271 4 5 2 3
- Store 1272 1274
- 1275: 6(int) Load 8(invocation)
- 1276: 102(ptr) AccessChain 27(data) 49 49
- 1277: 21(ivec4) Load 1276
- 1278: 111(ivec3) VectorShuffle 1277 1277 0 1 2
- 1279: 111(ivec3) GroupNonUniformBitwiseOr 34 InclusiveScan 1278
- 1280: 102(ptr) AccessChain 27(data) 1275 49
- 1281: 21(ivec4) Load 1280
- 1282: 21(ivec4) VectorShuffle 1281 1279 4 5 6 3
- Store 1280 1282
- 1283: 6(int) Load 8(invocation)
- 1284: 102(ptr) AccessChain 27(data) 59 49
- 1285: 21(ivec4) Load 1284
- 1286: 21(ivec4) GroupNonUniformBitwiseOr 34 InclusiveScan 1285
- 1287: 102(ptr) AccessChain 27(data) 1283 49
- Store 1287 1286
- 1288: 6(int) Load 8(invocation)
- 1289: 65(ptr) AccessChain 27(data) 29 38 30
- 1290: 19(int) Load 1289
- 1291: 521(bool) SLessThan 1290 29
- 1292: 521(bool) GroupNonUniformLogicalOr 34 InclusiveScan 1291
- 1293: 19(int) Select 1292 38 29
- 1294: 65(ptr) AccessChain 27(data) 1288 38 30
- Store 1294 1293
- 1295: 6(int) Load 8(invocation)
- 1296: 72(ptr) AccessChain 27(data) 38 38
- 1297: 20(ivec4) Load 1296
- 1298: 71(ivec2) VectorShuffle 1297 1297 0 1
- 1299: 531(bvec2) SLessThan 1298 530
- 1300: 531(bvec2) GroupNonUniformLogicalOr 34 InclusiveScan 1299
- 1301: 71(ivec2) Select 1300 534 530
- 1302: 72(ptr) AccessChain 27(data) 1295 38
- 1303: 20(ivec4) Load 1302
- 1304: 20(ivec4) VectorShuffle 1303 1301 4 5 2 3
- Store 1302 1304
- 1305: 6(int) Load 8(invocation)
- 1306: 72(ptr) AccessChain 27(data) 38 38
- 1307: 20(ivec4) Load 1306
- 1308: 81(ivec3) VectorShuffle 1307 1307 0 1 2
- 1309: 544(bvec3) SLessThan 1308 543
- 1310: 544(bvec3) GroupNonUniformLogicalOr 34 InclusiveScan 1309
- 1311: 81(ivec3) Select 1310 547 543
- 1312: 72(ptr) AccessChain 27(data) 1305 38
- 1313: 20(ivec4) Load 1312
- 1314: 20(ivec4) VectorShuffle 1313 1311 4 5 6 3
- Store 1312 1314
- 1315: 6(int) Load 8(invocation)
- 1316: 72(ptr) AccessChain 27(data) 38 38
- 1317: 20(ivec4) Load 1316
- 1318: 556(bvec4) SLessThan 1317 555
- 1319: 556(bvec4) GroupNonUniformLogicalOr 34 InclusiveScan 1318
- 1320: 20(ivec4) Select 1319 559 555
- 1321: 72(ptr) AccessChain 27(data) 1315 38
- Store 1321 1320
- 1322: 6(int) Load 8(invocation)
- 1323: 65(ptr) AccessChain 27(data) 29 38 30
- 1324: 19(int) Load 1323
- 1325: 19(int) GroupNonUniformBitwiseXor 34 InclusiveScan 1324
- 1326: 65(ptr) AccessChain 27(data) 1322 38 30
- Store 1326 1325
- 1327: 6(int) Load 8(invocation)
- 1328: 72(ptr) AccessChain 27(data) 38 38
- 1329: 20(ivec4) Load 1328
- 1330: 71(ivec2) VectorShuffle 1329 1329 0 1
- 1331: 71(ivec2) GroupNonUniformBitwiseXor 34 InclusiveScan 1330
- 1332: 72(ptr) AccessChain 27(data) 1327 38
- 1333: 20(ivec4) Load 1332
- 1334: 20(ivec4) VectorShuffle 1333 1331 4 5 2 3
- Store 1332 1334
- 1335: 6(int) Load 8(invocation)
- 1336: 72(ptr) AccessChain 27(data) 49 38
- 1337: 20(ivec4) Load 1336
- 1338: 81(ivec3) VectorShuffle 1337 1337 0 1 2
- 1339: 81(ivec3) GroupNonUniformBitwiseXor 34 InclusiveScan 1338
- 1340: 72(ptr) AccessChain 27(data) 1335 38
- 1341: 20(ivec4) Load 1340
- 1342: 20(ivec4) VectorShuffle 1341 1339 4 5 6 3
- Store 1340 1342
- 1343: 6(int) Load 8(invocation)
- 1344: 72(ptr) AccessChain 27(data) 59 38
- 1345: 20(ivec4) Load 1344
- 1346: 20(ivec4) GroupNonUniformBitwiseXor 34 InclusiveScan 1345
- 1347: 72(ptr) AccessChain 27(data) 1343 38
- Store 1347 1346
- 1348: 6(int) Load 8(invocation)
- 1349: 95(ptr) AccessChain 27(data) 29 49 30
- 1350: 6(int) Load 1349
- 1351: 6(int) GroupNonUniformBitwiseXor 34 InclusiveScan 1350
- 1352: 95(ptr) AccessChain 27(data) 1348 49 30
- Store 1352 1351
- 1353: 6(int) Load 8(invocation)
- 1354: 102(ptr) AccessChain 27(data) 38 49
- 1355: 21(ivec4) Load 1354
- 1356: 101(ivec2) VectorShuffle 1355 1355 0 1
- 1357: 101(ivec2) GroupNonUniformBitwiseXor 34 InclusiveScan 1356
- 1358: 102(ptr) AccessChain 27(data) 1353 49
- 1359: 21(ivec4) Load 1358
- 1360: 21(ivec4) VectorShuffle 1359 1357 4 5 2 3
- Store 1358 1360
- 1361: 6(int) Load 8(invocation)
- 1362: 102(ptr) AccessChain 27(data) 49 49
- 1363: 21(ivec4) Load 1362
- 1364: 111(ivec3) VectorShuffle 1363 1363 0 1 2
- 1365: 111(ivec3) GroupNonUniformBitwiseXor 34 InclusiveScan 1364
- 1366: 102(ptr) AccessChain 27(data) 1361 49
- 1367: 21(ivec4) Load 1366
- 1368: 21(ivec4) VectorShuffle 1367 1365 4 5 6 3
- Store 1366 1368
- 1369: 6(int) Load 8(invocation)
- 1370: 102(ptr) AccessChain 27(data) 59 49
- 1371: 21(ivec4) Load 1370
- 1372: 21(ivec4) GroupNonUniformBitwiseXor 34 InclusiveScan 1371
- 1373: 102(ptr) AccessChain 27(data) 1369 49
- Store 1373 1372
- 1374: 6(int) Load 8(invocation)
- 1375: 65(ptr) AccessChain 27(data) 29 38 30
- 1376: 19(int) Load 1375
- 1377: 521(bool) SLessThan 1376 29
- 1378: 521(bool) GroupNonUniformLogicalXor 34 InclusiveScan 1377
- 1379: 19(int) Select 1378 38 29
- 1380: 65(ptr) AccessChain 27(data) 1374 38 30
- Store 1380 1379
- 1381: 6(int) Load 8(invocation)
- 1382: 72(ptr) AccessChain 27(data) 38 38
- 1383: 20(ivec4) Load 1382
- 1384: 71(ivec2) VectorShuffle 1383 1383 0 1
- 1385: 531(bvec2) SLessThan 1384 530
- 1386: 531(bvec2) GroupNonUniformLogicalXor 34 InclusiveScan 1385
- 1387: 71(ivec2) Select 1386 534 530
- 1388: 72(ptr) AccessChain 27(data) 1381 38
- 1389: 20(ivec4) Load 1388
- 1390: 20(ivec4) VectorShuffle 1389 1387 4 5 2 3
- Store 1388 1390
- 1391: 6(int) Load 8(invocation)
- 1392: 72(ptr) AccessChain 27(data) 38 38
- 1393: 20(ivec4) Load 1392
- 1394: 81(ivec3) VectorShuffle 1393 1393 0 1 2
- 1395: 544(bvec3) SLessThan 1394 543
- 1396: 544(bvec3) GroupNonUniformLogicalXor 34 InclusiveScan 1395
- 1397: 81(ivec3) Select 1396 547 543
- 1398: 72(ptr) AccessChain 27(data) 1391 38
- 1399: 20(ivec4) Load 1398
- 1400: 20(ivec4) VectorShuffle 1399 1397 4 5 6 3
- Store 1398 1400
- 1401: 6(int) Load 8(invocation)
- 1402: 72(ptr) AccessChain 27(data) 38 38
- 1403: 20(ivec4) Load 1402
- 1404: 556(bvec4) SLessThan 1403 555
- 1405: 556(bvec4) GroupNonUniformLogicalXor 34 InclusiveScan 1404
- 1406: 20(ivec4) Select 1405 559 555
- 1407: 72(ptr) AccessChain 27(data) 1401 38
- Store 1407 1406
- 1408: 6(int) Load 8(invocation)
- 1409: 31(ptr) AccessChain 27(data) 29 29 30
- 1410: 17(float) Load 1409
- 1411: 17(float) GroupNonUniformFAdd 34 ExclusiveScan 1410
- 1412: 31(ptr) AccessChain 27(data) 1408 29 30
- Store 1412 1411
- 1413: 6(int) Load 8(invocation)
- 1414: 40(ptr) AccessChain 27(data) 38 29
- 1415: 18(fvec4) Load 1414
- 1416: 39(fvec2) VectorShuffle 1415 1415 0 1
- 1417: 39(fvec2) GroupNonUniformFAdd 34 ExclusiveScan 1416
- 1418: 40(ptr) AccessChain 27(data) 1413 29
- 1419: 18(fvec4) Load 1418
- 1420: 18(fvec4) VectorShuffle 1419 1417 4 5 2 3
- Store 1418 1420
- 1421: 6(int) Load 8(invocation)
- 1422: 40(ptr) AccessChain 27(data) 49 29
- 1423: 18(fvec4) Load 1422
- 1424: 50(fvec3) VectorShuffle 1423 1423 0 1 2
- 1425: 50(fvec3) GroupNonUniformFAdd 34 ExclusiveScan 1424
- 1426: 40(ptr) AccessChain 27(data) 1421 29
- 1427: 18(fvec4) Load 1426
- 1428: 18(fvec4) VectorShuffle 1427 1425 4 5 6 3
- Store 1426 1428
- 1429: 6(int) Load 8(invocation)
- 1430: 40(ptr) AccessChain 27(data) 59 29
- 1431: 18(fvec4) Load 1430
- 1432: 18(fvec4) GroupNonUniformFAdd 34 ExclusiveScan 1431
- 1433: 40(ptr) AccessChain 27(data) 1429 29
- Store 1433 1432
- 1434: 6(int) Load 8(invocation)
- 1435: 65(ptr) AccessChain 27(data) 29 38 30
- 1436: 19(int) Load 1435
- 1437: 19(int) GroupNonUniformIAdd 34 ExclusiveScan 1436
- 1438: 65(ptr) AccessChain 27(data) 1434 38 30
- Store 1438 1437
+ 1172: 146(ptr) AccessChain 27(data) 38 65
+ 1173: 23(f64vec4) Load 1172
+ 1174:145(f64vec2) VectorShuffle 1173 1173 0 1
+ 1175:145(f64vec2) GroupNonUniformFMin 34 InclusiveScan 1174
+ 1176: 139(ptr) AccessChain 27(data) 1171 65 30
+ 1177:22(float64_t) CompositeExtract 1175 0
+ Store 1176 1177
+ 1178: 139(ptr) AccessChain 27(data) 1171 65 47
+ 1179:22(float64_t) CompositeExtract 1175 1
+ Store 1178 1179
+ 1180: 6(int) Load 8(invocation)
+ 1181: 146(ptr) AccessChain 27(data) 51 65
+ 1182: 23(f64vec4) Load 1181
+ 1183:156(f64vec3) VectorShuffle 1182 1182 0 1 2
+ 1184:156(f64vec3) GroupNonUniformFMin 34 InclusiveScan 1183
+ 1185: 139(ptr) AccessChain 27(data) 1180 65 30
+ 1186:22(float64_t) CompositeExtract 1184 0
+ Store 1185 1186
+ 1187: 139(ptr) AccessChain 27(data) 1180 65 47
+ 1188:22(float64_t) CompositeExtract 1184 1
+ Store 1187 1188
+ 1189: 139(ptr) AccessChain 27(data) 1180 65 61
+ 1190:22(float64_t) CompositeExtract 1184 2
+ Store 1189 1190
+ 1191: 6(int) Load 8(invocation)
+ 1192: 146(ptr) AccessChain 27(data) 65 65
+ 1193: 23(f64vec4) Load 1192
+ 1194: 23(f64vec4) GroupNonUniformFMin 34 InclusiveScan 1193
+ 1195: 146(ptr) AccessChain 27(data) 1191 65
+ Store 1195 1194
+ 1196: 6(int) Load 8(invocation)
+ 1197: 31(ptr) AccessChain 27(data) 29 29 30
+ 1198: 17(float) Load 1197
+ 1199: 17(float) GroupNonUniformFMax 34 InclusiveScan 1198
+ 1200: 31(ptr) AccessChain 27(data) 1196 29 30
+ Store 1200 1199
+ 1201: 6(int) Load 8(invocation)
+ 1202: 40(ptr) AccessChain 27(data) 38 29
+ 1203: 18(fvec4) Load 1202
+ 1204: 39(fvec2) VectorShuffle 1203 1203 0 1
+ 1205: 39(fvec2) GroupNonUniformFMax 34 InclusiveScan 1204
+ 1206: 31(ptr) AccessChain 27(data) 1201 29 30
+ 1207: 17(float) CompositeExtract 1205 0
+ Store 1206 1207
+ 1208: 31(ptr) AccessChain 27(data) 1201 29 47
+ 1209: 17(float) CompositeExtract 1205 1
+ Store 1208 1209
+ 1210: 6(int) Load 8(invocation)
+ 1211: 40(ptr) AccessChain 27(data) 51 29
+ 1212: 18(fvec4) Load 1211
+ 1213: 52(fvec3) VectorShuffle 1212 1212 0 1 2
+ 1214: 52(fvec3) GroupNonUniformFMax 34 InclusiveScan 1213
+ 1215: 31(ptr) AccessChain 27(data) 1210 29 30
+ 1216: 17(float) CompositeExtract 1214 0
+ Store 1215 1216
+ 1217: 31(ptr) AccessChain 27(data) 1210 29 47
+ 1218: 17(float) CompositeExtract 1214 1
+ Store 1217 1218
+ 1219: 31(ptr) AccessChain 27(data) 1210 29 61
+ 1220: 17(float) CompositeExtract 1214 2
+ Store 1219 1220
+ 1221: 6(int) Load 8(invocation)
+ 1222: 40(ptr) AccessChain 27(data) 65 29
+ 1223: 18(fvec4) Load 1222
+ 1224: 18(fvec4) GroupNonUniformFMax 34 InclusiveScan 1223
+ 1225: 40(ptr) AccessChain 27(data) 1221 29
+ Store 1225 1224
+ 1226: 6(int) Load 8(invocation)
+ 1227: 71(ptr) AccessChain 27(data) 29 38 30
+ 1228: 19(int) Load 1227
+ 1229: 19(int) GroupNonUniformSMax 34 InclusiveScan 1228
+ 1230: 71(ptr) AccessChain 27(data) 1226 38 30
+ Store 1230 1229
+ 1231: 6(int) Load 8(invocation)
+ 1232: 78(ptr) AccessChain 27(data) 38 38
+ 1233: 20(ivec4) Load 1232
+ 1234: 77(ivec2) VectorShuffle 1233 1233 0 1
+ 1235: 77(ivec2) GroupNonUniformSMax 34 InclusiveScan 1234
+ 1236: 71(ptr) AccessChain 27(data) 1231 38 30
+ 1237: 19(int) CompositeExtract 1235 0
+ Store 1236 1237
+ 1238: 71(ptr) AccessChain 27(data) 1231 38 47
+ 1239: 19(int) CompositeExtract 1235 1
+ Store 1238 1239
+ 1240: 6(int) Load 8(invocation)
+ 1241: 78(ptr) AccessChain 27(data) 51 38
+ 1242: 20(ivec4) Load 1241
+ 1243: 88(ivec3) VectorShuffle 1242 1242 0 1 2
+ 1244: 88(ivec3) GroupNonUniformSMax 34 InclusiveScan 1243
+ 1245: 71(ptr) AccessChain 27(data) 1240 38 30
+ 1246: 19(int) CompositeExtract 1244 0
+ Store 1245 1246
+ 1247: 71(ptr) AccessChain 27(data) 1240 38 47
+ 1248: 19(int) CompositeExtract 1244 1
+ Store 1247 1248
+ 1249: 71(ptr) AccessChain 27(data) 1240 38 61
+ 1250: 19(int) CompositeExtract 1244 2
+ Store 1249 1250
+ 1251: 6(int) Load 8(invocation)
+ 1252: 78(ptr) AccessChain 27(data) 65 38
+ 1253: 20(ivec4) Load 1252
+ 1254: 20(ivec4) GroupNonUniformSMax 34 InclusiveScan 1253
+ 1255: 78(ptr) AccessChain 27(data) 1251 38
+ Store 1255 1254
+ 1256: 6(int) Load 8(invocation)
+ 1257: 105(ptr) AccessChain 27(data) 29 51 30
+ 1258: 6(int) Load 1257
+ 1259: 6(int) GroupNonUniformUMax 34 InclusiveScan 1258
+ 1260: 105(ptr) AccessChain 27(data) 1256 51 30
+ Store 1260 1259
+ 1261: 6(int) Load 8(invocation)
+ 1262: 112(ptr) AccessChain 27(data) 38 51
+ 1263: 21(ivec4) Load 1262
+ 1264: 111(ivec2) VectorShuffle 1263 1263 0 1
+ 1265: 111(ivec2) GroupNonUniformUMax 34 InclusiveScan 1264
+ 1266: 105(ptr) AccessChain 27(data) 1261 51 30
+ 1267: 6(int) CompositeExtract 1265 0
+ Store 1266 1267
+ 1268: 105(ptr) AccessChain 27(data) 1261 51 47
+ 1269: 6(int) CompositeExtract 1265 1
+ Store 1268 1269
+ 1270: 6(int) Load 8(invocation)
+ 1271: 112(ptr) AccessChain 27(data) 51 51
+ 1272: 21(ivec4) Load 1271
+ 1273: 122(ivec3) VectorShuffle 1272 1272 0 1 2
+ 1274: 122(ivec3) GroupNonUniformUMax 34 InclusiveScan 1273
+ 1275: 105(ptr) AccessChain 27(data) 1270 51 30
+ 1276: 6(int) CompositeExtract 1274 0
+ Store 1275 1276
+ 1277: 105(ptr) AccessChain 27(data) 1270 51 47
+ 1278: 6(int) CompositeExtract 1274 1
+ Store 1277 1278
+ 1279: 105(ptr) AccessChain 27(data) 1270 51 61
+ 1280: 6(int) CompositeExtract 1274 2
+ Store 1279 1280
+ 1281: 6(int) Load 8(invocation)
+ 1282: 112(ptr) AccessChain 27(data) 65 51
+ 1283: 21(ivec4) Load 1282
+ 1284: 21(ivec4) GroupNonUniformUMax 34 InclusiveScan 1283
+ 1285: 112(ptr) AccessChain 27(data) 1281 51
+ Store 1285 1284
+ 1286: 6(int) Load 8(invocation)
+ 1287: 139(ptr) AccessChain 27(data) 29 65 30
+ 1288:22(float64_t) Load 1287
+ 1289:22(float64_t) GroupNonUniformFMax 34 InclusiveScan 1288
+ 1290: 139(ptr) AccessChain 27(data) 1286 65 30
+ Store 1290 1289
+ 1291: 6(int) Load 8(invocation)
+ 1292: 146(ptr) AccessChain 27(data) 38 65
+ 1293: 23(f64vec4) Load 1292
+ 1294:145(f64vec2) VectorShuffle 1293 1293 0 1
+ 1295:145(f64vec2) GroupNonUniformFMax 34 InclusiveScan 1294
+ 1296: 139(ptr) AccessChain 27(data) 1291 65 30
+ 1297:22(float64_t) CompositeExtract 1295 0
+ Store 1296 1297
+ 1298: 139(ptr) AccessChain 27(data) 1291 65 47
+ 1299:22(float64_t) CompositeExtract 1295 1
+ Store 1298 1299
+ 1300: 6(int) Load 8(invocation)
+ 1301: 146(ptr) AccessChain 27(data) 51 65
+ 1302: 23(f64vec4) Load 1301
+ 1303:156(f64vec3) VectorShuffle 1302 1302 0 1 2
+ 1304:156(f64vec3) GroupNonUniformFMax 34 InclusiveScan 1303
+ 1305: 139(ptr) AccessChain 27(data) 1300 65 30
+ 1306:22(float64_t) CompositeExtract 1304 0
+ Store 1305 1306
+ 1307: 139(ptr) AccessChain 27(data) 1300 65 47
+ 1308:22(float64_t) CompositeExtract 1304 1
+ Store 1307 1308
+ 1309: 139(ptr) AccessChain 27(data) 1300 65 61
+ 1310:22(float64_t) CompositeExtract 1304 2
+ Store 1309 1310
+ 1311: 6(int) Load 8(invocation)
+ 1312: 146(ptr) AccessChain 27(data) 65 65
+ 1313: 23(f64vec4) Load 1312
+ 1314: 23(f64vec4) GroupNonUniformFMax 34 InclusiveScan 1313
+ 1315: 146(ptr) AccessChain 27(data) 1311 65
+ Store 1315 1314
+ 1316: 6(int) Load 8(invocation)
+ 1317: 71(ptr) AccessChain 27(data) 29 38 30
+ 1318: 19(int) Load 1317
+ 1319: 19(int) GroupNonUniformBitwiseAnd 34 InclusiveScan 1318
+ 1320: 71(ptr) AccessChain 27(data) 1316 38 30
+ Store 1320 1319
+ 1321: 6(int) Load 8(invocation)
+ 1322: 78(ptr) AccessChain 27(data) 38 38
+ 1323: 20(ivec4) Load 1322
+ 1324: 77(ivec2) VectorShuffle 1323 1323 0 1
+ 1325: 77(ivec2) GroupNonUniformBitwiseAnd 34 InclusiveScan 1324
+ 1326: 71(ptr) AccessChain 27(data) 1321 38 30
+ 1327: 19(int) CompositeExtract 1325 0
+ Store 1326 1327
+ 1328: 71(ptr) AccessChain 27(data) 1321 38 47
+ 1329: 19(int) CompositeExtract 1325 1
+ Store 1328 1329
+ 1330: 6(int) Load 8(invocation)
+ 1331: 78(ptr) AccessChain 27(data) 51 38
+ 1332: 20(ivec4) Load 1331
+ 1333: 88(ivec3) VectorShuffle 1332 1332 0 1 2
+ 1334: 88(ivec3) GroupNonUniformBitwiseAnd 34 InclusiveScan 1333
+ 1335: 71(ptr) AccessChain 27(data) 1330 38 30
+ 1336: 19(int) CompositeExtract 1334 0
+ Store 1335 1336
+ 1337: 71(ptr) AccessChain 27(data) 1330 38 47
+ 1338: 19(int) CompositeExtract 1334 1
+ Store 1337 1338
+ 1339: 71(ptr) AccessChain 27(data) 1330 38 61
+ 1340: 19(int) CompositeExtract 1334 2
+ Store 1339 1340
+ 1341: 6(int) Load 8(invocation)
+ 1342: 78(ptr) AccessChain 27(data) 65 38
+ 1343: 20(ivec4) Load 1342
+ 1344: 20(ivec4) GroupNonUniformBitwiseAnd 34 InclusiveScan 1343
+ 1345: 78(ptr) AccessChain 27(data) 1341 38
+ Store 1345 1344
+ 1346: 6(int) Load 8(invocation)
+ 1347: 105(ptr) AccessChain 27(data) 29 51 30
+ 1348: 6(int) Load 1347
+ 1349: 6(int) GroupNonUniformBitwiseAnd 34 InclusiveScan 1348
+ 1350: 105(ptr) AccessChain 27(data) 1346 51 30
+ Store 1350 1349
+ 1351: 6(int) Load 8(invocation)
+ 1352: 112(ptr) AccessChain 27(data) 38 51
+ 1353: 21(ivec4) Load 1352
+ 1354: 111(ivec2) VectorShuffle 1353 1353 0 1
+ 1355: 111(ivec2) GroupNonUniformBitwiseAnd 34 InclusiveScan 1354
+ 1356: 105(ptr) AccessChain 27(data) 1351 51 30
+ 1357: 6(int) CompositeExtract 1355 0
+ Store 1356 1357
+ 1358: 105(ptr) AccessChain 27(data) 1351 51 47
+ 1359: 6(int) CompositeExtract 1355 1
+ Store 1358 1359
+ 1360: 6(int) Load 8(invocation)
+ 1361: 112(ptr) AccessChain 27(data) 51 51
+ 1362: 21(ivec4) Load 1361
+ 1363: 122(ivec3) VectorShuffle 1362 1362 0 1 2
+ 1364: 122(ivec3) GroupNonUniformBitwiseAnd 34 InclusiveScan 1363
+ 1365: 105(ptr) AccessChain 27(data) 1360 51 30
+ 1366: 6(int) CompositeExtract 1364 0
+ Store 1365 1366
+ 1367: 105(ptr) AccessChain 27(data) 1360 51 47
+ 1368: 6(int) CompositeExtract 1364 1
+ Store 1367 1368
+ 1369: 105(ptr) AccessChain 27(data) 1360 51 61
+ 1370: 6(int) CompositeExtract 1364 2
+ Store 1369 1370
+ 1371: 6(int) Load 8(invocation)
+ 1372: 112(ptr) AccessChain 27(data) 65 51
+ 1373: 21(ivec4) Load 1372
+ 1374: 21(ivec4) GroupNonUniformBitwiseAnd 34 InclusiveScan 1373
+ 1375: 112(ptr) AccessChain 27(data) 1371 51
+ Store 1375 1374
+ 1376: 6(int) Load 8(invocation)
+ 1377: 71(ptr) AccessChain 27(data) 29 38 30
+ 1378: 19(int) Load 1377
+ 1379: 595(bool) SLessThan 1378 29
+ 1380: 595(bool) GroupNonUniformLogicalAnd 34 InclusiveScan 1379
+ 1381: 19(int) Select 1380 38 29
+ 1382: 71(ptr) AccessChain 27(data) 1376 38 30
+ Store 1382 1381
+ 1383: 6(int) Load 8(invocation)
+ 1384: 78(ptr) AccessChain 27(data) 38 38
+ 1385: 20(ivec4) Load 1384
+ 1386: 77(ivec2) VectorShuffle 1385 1385 0 1
+ 1387: 605(bvec2) SLessThan 1386 604
+ 1388: 605(bvec2) GroupNonUniformLogicalAnd 34 InclusiveScan 1387
+ 1389: 77(ivec2) Select 1388 608 604
+ 1390: 71(ptr) AccessChain 27(data) 1383 38 30
+ 1391: 19(int) CompositeExtract 1389 0
+ Store 1390 1391
+ 1392: 71(ptr) AccessChain 27(data) 1383 38 47
+ 1393: 19(int) CompositeExtract 1389 1
+ Store 1392 1393
+ 1394: 6(int) Load 8(invocation)
+ 1395: 78(ptr) AccessChain 27(data) 38 38
+ 1396: 20(ivec4) Load 1395
+ 1397: 88(ivec3) VectorShuffle 1396 1396 0 1 2
+ 1398: 619(bvec3) SLessThan 1397 618
+ 1399: 619(bvec3) GroupNonUniformLogicalAnd 34 InclusiveScan 1398
+ 1400: 88(ivec3) Select 1399 622 618
+ 1401: 71(ptr) AccessChain 27(data) 1394 38 30
+ 1402: 19(int) CompositeExtract 1400 0
+ Store 1401 1402
+ 1403: 71(ptr) AccessChain 27(data) 1394 38 47
+ 1404: 19(int) CompositeExtract 1400 1
+ Store 1403 1404
+ 1405: 71(ptr) AccessChain 27(data) 1394 38 61
+ 1406: 19(int) CompositeExtract 1400 2
+ Store 1405 1406
+ 1407: 6(int) Load 8(invocation)
+ 1408: 78(ptr) AccessChain 27(data) 38 38
+ 1409: 20(ivec4) Load 1408
+ 1410: 634(bvec4) SLessThan 1409 633
+ 1411: 634(bvec4) GroupNonUniformLogicalAnd 34 InclusiveScan 1410
+ 1412: 20(ivec4) Select 1411 637 633
+ 1413: 78(ptr) AccessChain 27(data) 1407 38
+ Store 1413 1412
+ 1414: 6(int) Load 8(invocation)
+ 1415: 71(ptr) AccessChain 27(data) 29 38 30
+ 1416: 19(int) Load 1415
+ 1417: 19(int) GroupNonUniformBitwiseOr 34 InclusiveScan 1416
+ 1418: 71(ptr) AccessChain 27(data) 1414 38 30
+ Store 1418 1417
+ 1419: 6(int) Load 8(invocation)
+ 1420: 78(ptr) AccessChain 27(data) 38 38
+ 1421: 20(ivec4) Load 1420
+ 1422: 77(ivec2) VectorShuffle 1421 1421 0 1
+ 1423: 77(ivec2) GroupNonUniformBitwiseOr 34 InclusiveScan 1422
+ 1424: 71(ptr) AccessChain 27(data) 1419 38 30
+ 1425: 19(int) CompositeExtract 1423 0
+ Store 1424 1425
+ 1426: 71(ptr) AccessChain 27(data) 1419 38 47
+ 1427: 19(int) CompositeExtract 1423 1
+ Store 1426 1427
+ 1428: 6(int) Load 8(invocation)
+ 1429: 78(ptr) AccessChain 27(data) 51 38
+ 1430: 20(ivec4) Load 1429
+ 1431: 88(ivec3) VectorShuffle 1430 1430 0 1 2
+ 1432: 88(ivec3) GroupNonUniformBitwiseOr 34 InclusiveScan 1431
+ 1433: 71(ptr) AccessChain 27(data) 1428 38 30
+ 1434: 19(int) CompositeExtract 1432 0
+ Store 1433 1434
+ 1435: 71(ptr) AccessChain 27(data) 1428 38 47
+ 1436: 19(int) CompositeExtract 1432 1
+ Store 1435 1436
+ 1437: 71(ptr) AccessChain 27(data) 1428 38 61
+ 1438: 19(int) CompositeExtract 1432 2
+ Store 1437 1438
1439: 6(int) Load 8(invocation)
- 1440: 72(ptr) AccessChain 27(data) 38 38
+ 1440: 78(ptr) AccessChain 27(data) 65 38
1441: 20(ivec4) Load 1440
- 1442: 71(ivec2) VectorShuffle 1441 1441 0 1
- 1443: 71(ivec2) GroupNonUniformIAdd 34 ExclusiveScan 1442
- 1444: 72(ptr) AccessChain 27(data) 1439 38
- 1445: 20(ivec4) Load 1444
- 1446: 20(ivec4) VectorShuffle 1445 1443 4 5 2 3
- Store 1444 1446
- 1447: 6(int) Load 8(invocation)
- 1448: 72(ptr) AccessChain 27(data) 49 38
- 1449: 20(ivec4) Load 1448
- 1450: 81(ivec3) VectorShuffle 1449 1449 0 1 2
- 1451: 81(ivec3) GroupNonUniformIAdd 34 ExclusiveScan 1450
- 1452: 72(ptr) AccessChain 27(data) 1447 38
- 1453: 20(ivec4) Load 1452
- 1454: 20(ivec4) VectorShuffle 1453 1451 4 5 6 3
- Store 1452 1454
- 1455: 6(int) Load 8(invocation)
- 1456: 72(ptr) AccessChain 27(data) 59 38
- 1457: 20(ivec4) Load 1456
- 1458: 20(ivec4) GroupNonUniformIAdd 34 ExclusiveScan 1457
- 1459: 72(ptr) AccessChain 27(data) 1455 38
- Store 1459 1458
- 1460: 6(int) Load 8(invocation)
- 1461: 95(ptr) AccessChain 27(data) 29 49 30
- 1462: 6(int) Load 1461
- 1463: 6(int) GroupNonUniformIAdd 34 ExclusiveScan 1462
- 1464: 95(ptr) AccessChain 27(data) 1460 49 30
- Store 1464 1463
- 1465: 6(int) Load 8(invocation)
- 1466: 102(ptr) AccessChain 27(data) 38 49
- 1467: 21(ivec4) Load 1466
- 1468: 101(ivec2) VectorShuffle 1467 1467 0 1
- 1469: 101(ivec2) GroupNonUniformIAdd 34 ExclusiveScan 1468
- 1470: 102(ptr) AccessChain 27(data) 1465 49
+ 1442: 20(ivec4) GroupNonUniformBitwiseOr 34 InclusiveScan 1441
+ 1443: 78(ptr) AccessChain 27(data) 1439 38
+ Store 1443 1442
+ 1444: 6(int) Load 8(invocation)
+ 1445: 105(ptr) AccessChain 27(data) 29 51 30
+ 1446: 6(int) Load 1445
+ 1447: 6(int) GroupNonUniformBitwiseOr 34 InclusiveScan 1446
+ 1448: 105(ptr) AccessChain 27(data) 1444 51 30
+ Store 1448 1447
+ 1449: 6(int) Load 8(invocation)
+ 1450: 112(ptr) AccessChain 27(data) 38 51
+ 1451: 21(ivec4) Load 1450
+ 1452: 111(ivec2) VectorShuffle 1451 1451 0 1
+ 1453: 111(ivec2) GroupNonUniformBitwiseOr 34 InclusiveScan 1452
+ 1454: 105(ptr) AccessChain 27(data) 1449 51 30
+ 1455: 6(int) CompositeExtract 1453 0
+ Store 1454 1455
+ 1456: 105(ptr) AccessChain 27(data) 1449 51 47
+ 1457: 6(int) CompositeExtract 1453 1
+ Store 1456 1457
+ 1458: 6(int) Load 8(invocation)
+ 1459: 112(ptr) AccessChain 27(data) 51 51
+ 1460: 21(ivec4) Load 1459
+ 1461: 122(ivec3) VectorShuffle 1460 1460 0 1 2
+ 1462: 122(ivec3) GroupNonUniformBitwiseOr 34 InclusiveScan 1461
+ 1463: 105(ptr) AccessChain 27(data) 1458 51 30
+ 1464: 6(int) CompositeExtract 1462 0
+ Store 1463 1464
+ 1465: 105(ptr) AccessChain 27(data) 1458 51 47
+ 1466: 6(int) CompositeExtract 1462 1
+ Store 1465 1466
+ 1467: 105(ptr) AccessChain 27(data) 1458 51 61
+ 1468: 6(int) CompositeExtract 1462 2
+ Store 1467 1468
+ 1469: 6(int) Load 8(invocation)
+ 1470: 112(ptr) AccessChain 27(data) 65 51
1471: 21(ivec4) Load 1470
- 1472: 21(ivec4) VectorShuffle 1471 1469 4 5 2 3
- Store 1470 1472
- 1473: 6(int) Load 8(invocation)
- 1474: 102(ptr) AccessChain 27(data) 49 49
- 1475: 21(ivec4) Load 1474
- 1476: 111(ivec3) VectorShuffle 1475 1475 0 1 2
- 1477: 111(ivec3) GroupNonUniformIAdd 34 ExclusiveScan 1476
- 1478: 102(ptr) AccessChain 27(data) 1473 49
- 1479: 21(ivec4) Load 1478
- 1480: 21(ivec4) VectorShuffle 1479 1477 4 5 6 3
- Store 1478 1480
+ 1472: 21(ivec4) GroupNonUniformBitwiseOr 34 InclusiveScan 1471
+ 1473: 112(ptr) AccessChain 27(data) 1469 51
+ Store 1473 1472
+ 1474: 6(int) Load 8(invocation)
+ 1475: 71(ptr) AccessChain 27(data) 29 38 30
+ 1476: 19(int) Load 1475
+ 1477: 595(bool) SLessThan 1476 29
+ 1478: 595(bool) GroupNonUniformLogicalOr 34 InclusiveScan 1477
+ 1479: 19(int) Select 1478 38 29
+ 1480: 71(ptr) AccessChain 27(data) 1474 38 30
+ Store 1480 1479
1481: 6(int) Load 8(invocation)
- 1482: 102(ptr) AccessChain 27(data) 59 49
- 1483: 21(ivec4) Load 1482
- 1484: 21(ivec4) GroupNonUniformIAdd 34 ExclusiveScan 1483
- 1485: 102(ptr) AccessChain 27(data) 1481 49
- Store 1485 1484
- 1486: 6(int) Load 8(invocation)
- 1487: 125(ptr) AccessChain 27(data) 29 59 30
- 1488:22(float64_t) Load 1487
- 1489:22(float64_t) GroupNonUniformFAdd 34 ExclusiveScan 1488
- 1490: 125(ptr) AccessChain 27(data) 1486 59 30
- Store 1490 1489
- 1491: 6(int) Load 8(invocation)
- 1492: 132(ptr) AccessChain 27(data) 38 59
- 1493: 23(f64vec4) Load 1492
- 1494:131(f64vec2) VectorShuffle 1493 1493 0 1
- 1495:131(f64vec2) GroupNonUniformFAdd 34 ExclusiveScan 1494
- 1496: 132(ptr) AccessChain 27(data) 1491 59
- 1497: 23(f64vec4) Load 1496
- 1498: 23(f64vec4) VectorShuffle 1497 1495 4 5 2 3
- Store 1496 1498
- 1499: 6(int) Load 8(invocation)
- 1500: 132(ptr) AccessChain 27(data) 49 59
- 1501: 23(f64vec4) Load 1500
- 1502:141(f64vec3) VectorShuffle 1501 1501 0 1 2
- 1503:141(f64vec3) GroupNonUniformFAdd 34 ExclusiveScan 1502
- 1504: 132(ptr) AccessChain 27(data) 1499 59
- 1505: 23(f64vec4) Load 1504
- 1506: 23(f64vec4) VectorShuffle 1505 1503 4 5 6 3
- Store 1504 1506
- 1507: 6(int) Load 8(invocation)
- 1508: 132(ptr) AccessChain 27(data) 59 59
- 1509: 23(f64vec4) Load 1508
- 1510: 23(f64vec4) GroupNonUniformFAdd 34 ExclusiveScan 1509
- 1511: 132(ptr) AccessChain 27(data) 1507 59
+ 1482: 78(ptr) AccessChain 27(data) 38 38
+ 1483: 20(ivec4) Load 1482
+ 1484: 77(ivec2) VectorShuffle 1483 1483 0 1
+ 1485: 605(bvec2) SLessThan 1484 604
+ 1486: 605(bvec2) GroupNonUniformLogicalOr 34 InclusiveScan 1485
+ 1487: 77(ivec2) Select 1486 608 604
+ 1488: 71(ptr) AccessChain 27(data) 1481 38 30
+ 1489: 19(int) CompositeExtract 1487 0
+ Store 1488 1489
+ 1490: 71(ptr) AccessChain 27(data) 1481 38 47
+ 1491: 19(int) CompositeExtract 1487 1
+ Store 1490 1491
+ 1492: 6(int) Load 8(invocation)
+ 1493: 78(ptr) AccessChain 27(data) 38 38
+ 1494: 20(ivec4) Load 1493
+ 1495: 88(ivec3) VectorShuffle 1494 1494 0 1 2
+ 1496: 619(bvec3) SLessThan 1495 618
+ 1497: 619(bvec3) GroupNonUniformLogicalOr 34 InclusiveScan 1496
+ 1498: 88(ivec3) Select 1497 622 618
+ 1499: 71(ptr) AccessChain 27(data) 1492 38 30
+ 1500: 19(int) CompositeExtract 1498 0
+ Store 1499 1500
+ 1501: 71(ptr) AccessChain 27(data) 1492 38 47
+ 1502: 19(int) CompositeExtract 1498 1
+ Store 1501 1502
+ 1503: 71(ptr) AccessChain 27(data) 1492 38 61
+ 1504: 19(int) CompositeExtract 1498 2
+ Store 1503 1504
+ 1505: 6(int) Load 8(invocation)
+ 1506: 78(ptr) AccessChain 27(data) 38 38
+ 1507: 20(ivec4) Load 1506
+ 1508: 634(bvec4) SLessThan 1507 633
+ 1509: 634(bvec4) GroupNonUniformLogicalOr 34 InclusiveScan 1508
+ 1510: 20(ivec4) Select 1509 637 633
+ 1511: 78(ptr) AccessChain 27(data) 1505 38
Store 1511 1510
1512: 6(int) Load 8(invocation)
- 1513: 31(ptr) AccessChain 27(data) 29 29 30
- 1514: 17(float) Load 1513
- 1515: 17(float) GroupNonUniformFMul 34 ExclusiveScan 1514
- 1516: 31(ptr) AccessChain 27(data) 1512 29 30
+ 1513: 71(ptr) AccessChain 27(data) 29 38 30
+ 1514: 19(int) Load 1513
+ 1515: 19(int) GroupNonUniformBitwiseXor 34 InclusiveScan 1514
+ 1516: 71(ptr) AccessChain 27(data) 1512 38 30
Store 1516 1515
1517: 6(int) Load 8(invocation)
- 1518: 40(ptr) AccessChain 27(data) 38 29
- 1519: 18(fvec4) Load 1518
- 1520: 39(fvec2) VectorShuffle 1519 1519 0 1
- 1521: 39(fvec2) GroupNonUniformFMul 34 ExclusiveScan 1520
- 1522: 40(ptr) AccessChain 27(data) 1517 29
- 1523: 18(fvec4) Load 1522
- 1524: 18(fvec4) VectorShuffle 1523 1521 4 5 2 3
- Store 1522 1524
- 1525: 6(int) Load 8(invocation)
- 1526: 40(ptr) AccessChain 27(data) 49 29
- 1527: 18(fvec4) Load 1526
- 1528: 50(fvec3) VectorShuffle 1527 1527 0 1 2
- 1529: 50(fvec3) GroupNonUniformFMul 34 ExclusiveScan 1528
- 1530: 40(ptr) AccessChain 27(data) 1525 29
- 1531: 18(fvec4) Load 1530
- 1532: 18(fvec4) VectorShuffle 1531 1529 4 5 6 3
- Store 1530 1532
- 1533: 6(int) Load 8(invocation)
- 1534: 40(ptr) AccessChain 27(data) 59 29
- 1535: 18(fvec4) Load 1534
- 1536: 18(fvec4) GroupNonUniformFMul 34 ExclusiveScan 1535
- 1537: 40(ptr) AccessChain 27(data) 1533 29
- Store 1537 1536
- 1538: 6(int) Load 8(invocation)
- 1539: 65(ptr) AccessChain 27(data) 29 38 30
- 1540: 19(int) Load 1539
- 1541: 19(int) GroupNonUniformIMul 34 ExclusiveScan 1540
- 1542: 65(ptr) AccessChain 27(data) 1538 38 30
- Store 1542 1541
- 1543: 6(int) Load 8(invocation)
- 1544: 72(ptr) AccessChain 27(data) 38 38
- 1545: 20(ivec4) Load 1544
- 1546: 71(ivec2) VectorShuffle 1545 1545 0 1
- 1547: 71(ivec2) GroupNonUniformIMul 34 ExclusiveScan 1546
- 1548: 72(ptr) AccessChain 27(data) 1543 38
- 1549: 20(ivec4) Load 1548
- 1550: 20(ivec4) VectorShuffle 1549 1547 4 5 2 3
- Store 1548 1550
- 1551: 6(int) Load 8(invocation)
- 1552: 72(ptr) AccessChain 27(data) 49 38
- 1553: 20(ivec4) Load 1552
- 1554: 81(ivec3) VectorShuffle 1553 1553 0 1 2
- 1555: 81(ivec3) GroupNonUniformIMul 34 ExclusiveScan 1554
- 1556: 72(ptr) AccessChain 27(data) 1551 38
- 1557: 20(ivec4) Load 1556
- 1558: 20(ivec4) VectorShuffle 1557 1555 4 5 6 3
- Store 1556 1558
- 1559: 6(int) Load 8(invocation)
- 1560: 72(ptr) AccessChain 27(data) 59 38
- 1561: 20(ivec4) Load 1560
- 1562: 20(ivec4) GroupNonUniformIMul 34 ExclusiveScan 1561
- 1563: 72(ptr) AccessChain 27(data) 1559 38
- Store 1563 1562
- 1564: 6(int) Load 8(invocation)
- 1565: 95(ptr) AccessChain 27(data) 29 49 30
- 1566: 6(int) Load 1565
- 1567: 6(int) GroupNonUniformIMul 34 ExclusiveScan 1566
- 1568: 95(ptr) AccessChain 27(data) 1564 49 30
- Store 1568 1567
- 1569: 6(int) Load 8(invocation)
- 1570: 102(ptr) AccessChain 27(data) 38 49
- 1571: 21(ivec4) Load 1570
- 1572: 101(ivec2) VectorShuffle 1571 1571 0 1
- 1573: 101(ivec2) GroupNonUniformIMul 34 ExclusiveScan 1572
- 1574: 102(ptr) AccessChain 27(data) 1569 49
- 1575: 21(ivec4) Load 1574
- 1576: 21(ivec4) VectorShuffle 1575 1573 4 5 2 3
- Store 1574 1576
- 1577: 6(int) Load 8(invocation)
- 1578: 102(ptr) AccessChain 27(data) 49 49
- 1579: 21(ivec4) Load 1578
- 1580: 111(ivec3) VectorShuffle 1579 1579 0 1 2
- 1581: 111(ivec3) GroupNonUniformIMul 34 ExclusiveScan 1580
- 1582: 102(ptr) AccessChain 27(data) 1577 49
- 1583: 21(ivec4) Load 1582
- 1584: 21(ivec4) VectorShuffle 1583 1581 4 5 6 3
- Store 1582 1584
- 1585: 6(int) Load 8(invocation)
- 1586: 102(ptr) AccessChain 27(data) 59 49
- 1587: 21(ivec4) Load 1586
- 1588: 21(ivec4) GroupNonUniformIMul 34 ExclusiveScan 1587
- 1589: 102(ptr) AccessChain 27(data) 1585 49
- Store 1589 1588
+ 1518: 78(ptr) AccessChain 27(data) 38 38
+ 1519: 20(ivec4) Load 1518
+ 1520: 77(ivec2) VectorShuffle 1519 1519 0 1
+ 1521: 77(ivec2) GroupNonUniformBitwiseXor 34 InclusiveScan 1520
+ 1522: 71(ptr) AccessChain 27(data) 1517 38 30
+ 1523: 19(int) CompositeExtract 1521 0
+ Store 1522 1523
+ 1524: 71(ptr) AccessChain 27(data) 1517 38 47
+ 1525: 19(int) CompositeExtract 1521 1
+ Store 1524 1525
+ 1526: 6(int) Load 8(invocation)
+ 1527: 78(ptr) AccessChain 27(data) 51 38
+ 1528: 20(ivec4) Load 1527
+ 1529: 88(ivec3) VectorShuffle 1528 1528 0 1 2
+ 1530: 88(ivec3) GroupNonUniformBitwiseXor 34 InclusiveScan 1529
+ 1531: 71(ptr) AccessChain 27(data) 1526 38 30
+ 1532: 19(int) CompositeExtract 1530 0
+ Store 1531 1532
+ 1533: 71(ptr) AccessChain 27(data) 1526 38 47
+ 1534: 19(int) CompositeExtract 1530 1
+ Store 1533 1534
+ 1535: 71(ptr) AccessChain 27(data) 1526 38 61
+ 1536: 19(int) CompositeExtract 1530 2
+ Store 1535 1536
+ 1537: 6(int) Load 8(invocation)
+ 1538: 78(ptr) AccessChain 27(data) 65 38
+ 1539: 20(ivec4) Load 1538
+ 1540: 20(ivec4) GroupNonUniformBitwiseXor 34 InclusiveScan 1539
+ 1541: 78(ptr) AccessChain 27(data) 1537 38
+ Store 1541 1540
+ 1542: 6(int) Load 8(invocation)
+ 1543: 105(ptr) AccessChain 27(data) 29 51 30
+ 1544: 6(int) Load 1543
+ 1545: 6(int) GroupNonUniformBitwiseXor 34 InclusiveScan 1544
+ 1546: 105(ptr) AccessChain 27(data) 1542 51 30
+ Store 1546 1545
+ 1547: 6(int) Load 8(invocation)
+ 1548: 112(ptr) AccessChain 27(data) 38 51
+ 1549: 21(ivec4) Load 1548
+ 1550: 111(ivec2) VectorShuffle 1549 1549 0 1
+ 1551: 111(ivec2) GroupNonUniformBitwiseXor 34 InclusiveScan 1550
+ 1552: 105(ptr) AccessChain 27(data) 1547 51 30
+ 1553: 6(int) CompositeExtract 1551 0
+ Store 1552 1553
+ 1554: 105(ptr) AccessChain 27(data) 1547 51 47
+ 1555: 6(int) CompositeExtract 1551 1
+ Store 1554 1555
+ 1556: 6(int) Load 8(invocation)
+ 1557: 112(ptr) AccessChain 27(data) 51 51
+ 1558: 21(ivec4) Load 1557
+ 1559: 122(ivec3) VectorShuffle 1558 1558 0 1 2
+ 1560: 122(ivec3) GroupNonUniformBitwiseXor 34 InclusiveScan 1559
+ 1561: 105(ptr) AccessChain 27(data) 1556 51 30
+ 1562: 6(int) CompositeExtract 1560 0
+ Store 1561 1562
+ 1563: 105(ptr) AccessChain 27(data) 1556 51 47
+ 1564: 6(int) CompositeExtract 1560 1
+ Store 1563 1564
+ 1565: 105(ptr) AccessChain 27(data) 1556 51 61
+ 1566: 6(int) CompositeExtract 1560 2
+ Store 1565 1566
+ 1567: 6(int) Load 8(invocation)
+ 1568: 112(ptr) AccessChain 27(data) 65 51
+ 1569: 21(ivec4) Load 1568
+ 1570: 21(ivec4) GroupNonUniformBitwiseXor 34 InclusiveScan 1569
+ 1571: 112(ptr) AccessChain 27(data) 1567 51
+ Store 1571 1570
+ 1572: 6(int) Load 8(invocation)
+ 1573: 71(ptr) AccessChain 27(data) 29 38 30
+ 1574: 19(int) Load 1573
+ 1575: 595(bool) SLessThan 1574 29
+ 1576: 595(bool) GroupNonUniformLogicalXor 34 InclusiveScan 1575
+ 1577: 19(int) Select 1576 38 29
+ 1578: 71(ptr) AccessChain 27(data) 1572 38 30
+ Store 1578 1577
+ 1579: 6(int) Load 8(invocation)
+ 1580: 78(ptr) AccessChain 27(data) 38 38
+ 1581: 20(ivec4) Load 1580
+ 1582: 77(ivec2) VectorShuffle 1581 1581 0 1
+ 1583: 605(bvec2) SLessThan 1582 604
+ 1584: 605(bvec2) GroupNonUniformLogicalXor 34 InclusiveScan 1583
+ 1585: 77(ivec2) Select 1584 608 604
+ 1586: 71(ptr) AccessChain 27(data) 1579 38 30
+ 1587: 19(int) CompositeExtract 1585 0
+ Store 1586 1587
+ 1588: 71(ptr) AccessChain 27(data) 1579 38 47
+ 1589: 19(int) CompositeExtract 1585 1
+ Store 1588 1589
1590: 6(int) Load 8(invocation)
- 1591: 125(ptr) AccessChain 27(data) 29 59 30
- 1592:22(float64_t) Load 1591
- 1593:22(float64_t) GroupNonUniformFMul 34 ExclusiveScan 1592
- 1594: 125(ptr) AccessChain 27(data) 1590 59 30
- Store 1594 1593
- 1595: 6(int) Load 8(invocation)
- 1596: 132(ptr) AccessChain 27(data) 38 59
- 1597: 23(f64vec4) Load 1596
- 1598:131(f64vec2) VectorShuffle 1597 1597 0 1
- 1599:131(f64vec2) GroupNonUniformFMul 34 ExclusiveScan 1598
- 1600: 132(ptr) AccessChain 27(data) 1595 59
- 1601: 23(f64vec4) Load 1600
- 1602: 23(f64vec4) VectorShuffle 1601 1599 4 5 2 3
- Store 1600 1602
+ 1591: 78(ptr) AccessChain 27(data) 38 38
+ 1592: 20(ivec4) Load 1591
+ 1593: 88(ivec3) VectorShuffle 1592 1592 0 1 2
+ 1594: 619(bvec3) SLessThan 1593 618
+ 1595: 619(bvec3) GroupNonUniformLogicalXor 34 InclusiveScan 1594
+ 1596: 88(ivec3) Select 1595 622 618
+ 1597: 71(ptr) AccessChain 27(data) 1590 38 30
+ 1598: 19(int) CompositeExtract 1596 0
+ Store 1597 1598
+ 1599: 71(ptr) AccessChain 27(data) 1590 38 47
+ 1600: 19(int) CompositeExtract 1596 1
+ Store 1599 1600
+ 1601: 71(ptr) AccessChain 27(data) 1590 38 61
+ 1602: 19(int) CompositeExtract 1596 2
+ Store 1601 1602
1603: 6(int) Load 8(invocation)
- 1604: 132(ptr) AccessChain 27(data) 49 59
- 1605: 23(f64vec4) Load 1604
- 1606:141(f64vec3) VectorShuffle 1605 1605 0 1 2
- 1607:141(f64vec3) GroupNonUniformFMul 34 ExclusiveScan 1606
- 1608: 132(ptr) AccessChain 27(data) 1603 59
- 1609: 23(f64vec4) Load 1608
- 1610: 23(f64vec4) VectorShuffle 1609 1607 4 5 6 3
- Store 1608 1610
- 1611: 6(int) Load 8(invocation)
- 1612: 132(ptr) AccessChain 27(data) 59 59
- 1613: 23(f64vec4) Load 1612
- 1614: 23(f64vec4) GroupNonUniformFMul 34 ExclusiveScan 1613
- 1615: 132(ptr) AccessChain 27(data) 1611 59
- Store 1615 1614
- 1616: 6(int) Load 8(invocation)
- 1617: 31(ptr) AccessChain 27(data) 29 29 30
- 1618: 17(float) Load 1617
- 1619: 17(float) GroupNonUniformFMin 34 ExclusiveScan 1618
- 1620: 31(ptr) AccessChain 27(data) 1616 29 30
- Store 1620 1619
- 1621: 6(int) Load 8(invocation)
- 1622: 40(ptr) AccessChain 27(data) 38 29
- 1623: 18(fvec4) Load 1622
- 1624: 39(fvec2) VectorShuffle 1623 1623 0 1
- 1625: 39(fvec2) GroupNonUniformFMin 34 ExclusiveScan 1624
- 1626: 40(ptr) AccessChain 27(data) 1621 29
- 1627: 18(fvec4) Load 1626
- 1628: 18(fvec4) VectorShuffle 1627 1625 4 5 2 3
- Store 1626 1628
- 1629: 6(int) Load 8(invocation)
- 1630: 40(ptr) AccessChain 27(data) 49 29
- 1631: 18(fvec4) Load 1630
- 1632: 50(fvec3) VectorShuffle 1631 1631 0 1 2
- 1633: 50(fvec3) GroupNonUniformFMin 34 ExclusiveScan 1632
- 1634: 40(ptr) AccessChain 27(data) 1629 29
- 1635: 18(fvec4) Load 1634
- 1636: 18(fvec4) VectorShuffle 1635 1633 4 5 6 3
- Store 1634 1636
- 1637: 6(int) Load 8(invocation)
- 1638: 40(ptr) AccessChain 27(data) 59 29
- 1639: 18(fvec4) Load 1638
- 1640: 18(fvec4) GroupNonUniformFMin 34 ExclusiveScan 1639
- 1641: 40(ptr) AccessChain 27(data) 1637 29
- Store 1641 1640
- 1642: 6(int) Load 8(invocation)
- 1643: 65(ptr) AccessChain 27(data) 29 38 30
- 1644: 19(int) Load 1643
- 1645: 19(int) GroupNonUniformSMin 34 ExclusiveScan 1644
- 1646: 65(ptr) AccessChain 27(data) 1642 38 30
- Store 1646 1645
- 1647: 6(int) Load 8(invocation)
- 1648: 72(ptr) AccessChain 27(data) 38 38
- 1649: 20(ivec4) Load 1648
- 1650: 71(ivec2) VectorShuffle 1649 1649 0 1
- 1651: 71(ivec2) GroupNonUniformSMin 34 ExclusiveScan 1650
- 1652: 72(ptr) AccessChain 27(data) 1647 38
- 1653: 20(ivec4) Load 1652
- 1654: 20(ivec4) VectorShuffle 1653 1651 4 5 2 3
- Store 1652 1654
- 1655: 6(int) Load 8(invocation)
- 1656: 72(ptr) AccessChain 27(data) 49 38
- 1657: 20(ivec4) Load 1656
- 1658: 81(ivec3) VectorShuffle 1657 1657 0 1 2
- 1659: 81(ivec3) GroupNonUniformSMin 34 ExclusiveScan 1658
- 1660: 72(ptr) AccessChain 27(data) 1655 38
- 1661: 20(ivec4) Load 1660
- 1662: 20(ivec4) VectorShuffle 1661 1659 4 5 6 3
- Store 1660 1662
- 1663: 6(int) Load 8(invocation)
- 1664: 72(ptr) AccessChain 27(data) 59 38
- 1665: 20(ivec4) Load 1664
- 1666: 20(ivec4) GroupNonUniformSMin 34 ExclusiveScan 1665
- 1667: 72(ptr) AccessChain 27(data) 1663 38
- Store 1667 1666
- 1668: 6(int) Load 8(invocation)
- 1669: 95(ptr) AccessChain 27(data) 29 49 30
- 1670: 6(int) Load 1669
- 1671: 6(int) GroupNonUniformUMin 34 ExclusiveScan 1670
- 1672: 95(ptr) AccessChain 27(data) 1668 49 30
- Store 1672 1671
- 1673: 6(int) Load 8(invocation)
- 1674: 102(ptr) AccessChain 27(data) 38 49
- 1675: 21(ivec4) Load 1674
- 1676: 101(ivec2) VectorShuffle 1675 1675 0 1
- 1677: 101(ivec2) GroupNonUniformUMin 34 ExclusiveScan 1676
- 1678: 102(ptr) AccessChain 27(data) 1673 49
- 1679: 21(ivec4) Load 1678
- 1680: 21(ivec4) VectorShuffle 1679 1677 4 5 2 3
- Store 1678 1680
- 1681: 6(int) Load 8(invocation)
- 1682: 102(ptr) AccessChain 27(data) 49 49
- 1683: 21(ivec4) Load 1682
- 1684: 111(ivec3) VectorShuffle 1683 1683 0 1 2
- 1685: 111(ivec3) GroupNonUniformUMin 34 ExclusiveScan 1684
- 1686: 102(ptr) AccessChain 27(data) 1681 49
- 1687: 21(ivec4) Load 1686
- 1688: 21(ivec4) VectorShuffle 1687 1685 4 5 6 3
- Store 1686 1688
- 1689: 6(int) Load 8(invocation)
- 1690: 102(ptr) AccessChain 27(data) 59 49
- 1691: 21(ivec4) Load 1690
- 1692: 21(ivec4) GroupNonUniformUMin 34 ExclusiveScan 1691
- 1693: 102(ptr) AccessChain 27(data) 1689 49
- Store 1693 1692
- 1694: 6(int) Load 8(invocation)
- 1695: 125(ptr) AccessChain 27(data) 29 59 30
- 1696:22(float64_t) Load 1695
- 1697:22(float64_t) GroupNonUniformFMin 34 ExclusiveScan 1696
- 1698: 125(ptr) AccessChain 27(data) 1694 59 30
- Store 1698 1697
- 1699: 6(int) Load 8(invocation)
- 1700: 132(ptr) AccessChain 27(data) 38 59
- 1701: 23(f64vec4) Load 1700
- 1702:131(f64vec2) VectorShuffle 1701 1701 0 1
- 1703:131(f64vec2) GroupNonUniformFMin 34 ExclusiveScan 1702
- 1704: 132(ptr) AccessChain 27(data) 1699 59
- 1705: 23(f64vec4) Load 1704
- 1706: 23(f64vec4) VectorShuffle 1705 1703 4 5 2 3
- Store 1704 1706
- 1707: 6(int) Load 8(invocation)
- 1708: 132(ptr) AccessChain 27(data) 49 59
- 1709: 23(f64vec4) Load 1708
- 1710:141(f64vec3) VectorShuffle 1709 1709 0 1 2
- 1711:141(f64vec3) GroupNonUniformFMin 34 ExclusiveScan 1710
- 1712: 132(ptr) AccessChain 27(data) 1707 59
- 1713: 23(f64vec4) Load 1712
- 1714: 23(f64vec4) VectorShuffle 1713 1711 4 5 6 3
- Store 1712 1714
- 1715: 6(int) Load 8(invocation)
- 1716: 132(ptr) AccessChain 27(data) 59 59
- 1717: 23(f64vec4) Load 1716
- 1718: 23(f64vec4) GroupNonUniformFMin 34 ExclusiveScan 1717
- 1719: 132(ptr) AccessChain 27(data) 1715 59
- Store 1719 1718
- 1720: 6(int) Load 8(invocation)
- 1721: 31(ptr) AccessChain 27(data) 29 29 30
- 1722: 17(float) Load 1721
- 1723: 17(float) GroupNonUniformFMax 34 ExclusiveScan 1722
- 1724: 31(ptr) AccessChain 27(data) 1720 29 30
- Store 1724 1723
+ 1604: 78(ptr) AccessChain 27(data) 38 38
+ 1605: 20(ivec4) Load 1604
+ 1606: 634(bvec4) SLessThan 1605 633
+ 1607: 634(bvec4) GroupNonUniformLogicalXor 34 InclusiveScan 1606
+ 1608: 20(ivec4) Select 1607 637 633
+ 1609: 78(ptr) AccessChain 27(data) 1603 38
+ Store 1609 1608
+ 1610: 6(int) Load 8(invocation)
+ 1611: 31(ptr) AccessChain 27(data) 29 29 30
+ 1612: 17(float) Load 1611
+ 1613: 17(float) GroupNonUniformFAdd 34 ExclusiveScan 1612
+ 1614: 31(ptr) AccessChain 27(data) 1610 29 30
+ Store 1614 1613
+ 1615: 6(int) Load 8(invocation)
+ 1616: 40(ptr) AccessChain 27(data) 38 29
+ 1617: 18(fvec4) Load 1616
+ 1618: 39(fvec2) VectorShuffle 1617 1617 0 1
+ 1619: 39(fvec2) GroupNonUniformFAdd 34 ExclusiveScan 1618
+ 1620: 31(ptr) AccessChain 27(data) 1615 29 30
+ 1621: 17(float) CompositeExtract 1619 0
+ Store 1620 1621
+ 1622: 31(ptr) AccessChain 27(data) 1615 29 47
+ 1623: 17(float) CompositeExtract 1619 1
+ Store 1622 1623
+ 1624: 6(int) Load 8(invocation)
+ 1625: 40(ptr) AccessChain 27(data) 51 29
+ 1626: 18(fvec4) Load 1625
+ 1627: 52(fvec3) VectorShuffle 1626 1626 0 1 2
+ 1628: 52(fvec3) GroupNonUniformFAdd 34 ExclusiveScan 1627
+ 1629: 31(ptr) AccessChain 27(data) 1624 29 30
+ 1630: 17(float) CompositeExtract 1628 0
+ Store 1629 1630
+ 1631: 31(ptr) AccessChain 27(data) 1624 29 47
+ 1632: 17(float) CompositeExtract 1628 1
+ Store 1631 1632
+ 1633: 31(ptr) AccessChain 27(data) 1624 29 61
+ 1634: 17(float) CompositeExtract 1628 2
+ Store 1633 1634
+ 1635: 6(int) Load 8(invocation)
+ 1636: 40(ptr) AccessChain 27(data) 65 29
+ 1637: 18(fvec4) Load 1636
+ 1638: 18(fvec4) GroupNonUniformFAdd 34 ExclusiveScan 1637
+ 1639: 40(ptr) AccessChain 27(data) 1635 29
+ Store 1639 1638
+ 1640: 6(int) Load 8(invocation)
+ 1641: 71(ptr) AccessChain 27(data) 29 38 30
+ 1642: 19(int) Load 1641
+ 1643: 19(int) GroupNonUniformIAdd 34 ExclusiveScan 1642
+ 1644: 71(ptr) AccessChain 27(data) 1640 38 30
+ Store 1644 1643
+ 1645: 6(int) Load 8(invocation)
+ 1646: 78(ptr) AccessChain 27(data) 38 38
+ 1647: 20(ivec4) Load 1646
+ 1648: 77(ivec2) VectorShuffle 1647 1647 0 1
+ 1649: 77(ivec2) GroupNonUniformIAdd 34 ExclusiveScan 1648
+ 1650: 71(ptr) AccessChain 27(data) 1645 38 30
+ 1651: 19(int) CompositeExtract 1649 0
+ Store 1650 1651
+ 1652: 71(ptr) AccessChain 27(data) 1645 38 47
+ 1653: 19(int) CompositeExtract 1649 1
+ Store 1652 1653
+ 1654: 6(int) Load 8(invocation)
+ 1655: 78(ptr) AccessChain 27(data) 51 38
+ 1656: 20(ivec4) Load 1655
+ 1657: 88(ivec3) VectorShuffle 1656 1656 0 1 2
+ 1658: 88(ivec3) GroupNonUniformIAdd 34 ExclusiveScan 1657
+ 1659: 71(ptr) AccessChain 27(data) 1654 38 30
+ 1660: 19(int) CompositeExtract 1658 0
+ Store 1659 1660
+ 1661: 71(ptr) AccessChain 27(data) 1654 38 47
+ 1662: 19(int) CompositeExtract 1658 1
+ Store 1661 1662
+ 1663: 71(ptr) AccessChain 27(data) 1654 38 61
+ 1664: 19(int) CompositeExtract 1658 2
+ Store 1663 1664
+ 1665: 6(int) Load 8(invocation)
+ 1666: 78(ptr) AccessChain 27(data) 65 38
+ 1667: 20(ivec4) Load 1666
+ 1668: 20(ivec4) GroupNonUniformIAdd 34 ExclusiveScan 1667
+ 1669: 78(ptr) AccessChain 27(data) 1665 38
+ Store 1669 1668
+ 1670: 6(int) Load 8(invocation)
+ 1671: 105(ptr) AccessChain 27(data) 29 51 30
+ 1672: 6(int) Load 1671
+ 1673: 6(int) GroupNonUniformIAdd 34 ExclusiveScan 1672
+ 1674: 105(ptr) AccessChain 27(data) 1670 51 30
+ Store 1674 1673
+ 1675: 6(int) Load 8(invocation)
+ 1676: 112(ptr) AccessChain 27(data) 38 51
+ 1677: 21(ivec4) Load 1676
+ 1678: 111(ivec2) VectorShuffle 1677 1677 0 1
+ 1679: 111(ivec2) GroupNonUniformIAdd 34 ExclusiveScan 1678
+ 1680: 105(ptr) AccessChain 27(data) 1675 51 30
+ 1681: 6(int) CompositeExtract 1679 0
+ Store 1680 1681
+ 1682: 105(ptr) AccessChain 27(data) 1675 51 47
+ 1683: 6(int) CompositeExtract 1679 1
+ Store 1682 1683
+ 1684: 6(int) Load 8(invocation)
+ 1685: 112(ptr) AccessChain 27(data) 51 51
+ 1686: 21(ivec4) Load 1685
+ 1687: 122(ivec3) VectorShuffle 1686 1686 0 1 2
+ 1688: 122(ivec3) GroupNonUniformIAdd 34 ExclusiveScan 1687
+ 1689: 105(ptr) AccessChain 27(data) 1684 51 30
+ 1690: 6(int) CompositeExtract 1688 0
+ Store 1689 1690
+ 1691: 105(ptr) AccessChain 27(data) 1684 51 47
+ 1692: 6(int) CompositeExtract 1688 1
+ Store 1691 1692
+ 1693: 105(ptr) AccessChain 27(data) 1684 51 61
+ 1694: 6(int) CompositeExtract 1688 2
+ Store 1693 1694
+ 1695: 6(int) Load 8(invocation)
+ 1696: 112(ptr) AccessChain 27(data) 65 51
+ 1697: 21(ivec4) Load 1696
+ 1698: 21(ivec4) GroupNonUniformIAdd 34 ExclusiveScan 1697
+ 1699: 112(ptr) AccessChain 27(data) 1695 51
+ Store 1699 1698
+ 1700: 6(int) Load 8(invocation)
+ 1701: 139(ptr) AccessChain 27(data) 29 65 30
+ 1702:22(float64_t) Load 1701
+ 1703:22(float64_t) GroupNonUniformFAdd 34 ExclusiveScan 1702
+ 1704: 139(ptr) AccessChain 27(data) 1700 65 30
+ Store 1704 1703
+ 1705: 6(int) Load 8(invocation)
+ 1706: 146(ptr) AccessChain 27(data) 38 65
+ 1707: 23(f64vec4) Load 1706
+ 1708:145(f64vec2) VectorShuffle 1707 1707 0 1
+ 1709:145(f64vec2) GroupNonUniformFAdd 34 ExclusiveScan 1708
+ 1710: 139(ptr) AccessChain 27(data) 1705 65 30
+ 1711:22(float64_t) CompositeExtract 1709 0
+ Store 1710 1711
+ 1712: 139(ptr) AccessChain 27(data) 1705 65 47
+ 1713:22(float64_t) CompositeExtract 1709 1
+ Store 1712 1713
+ 1714: 6(int) Load 8(invocation)
+ 1715: 146(ptr) AccessChain 27(data) 51 65
+ 1716: 23(f64vec4) Load 1715
+ 1717:156(f64vec3) VectorShuffle 1716 1716 0 1 2
+ 1718:156(f64vec3) GroupNonUniformFAdd 34 ExclusiveScan 1717
+ 1719: 139(ptr) AccessChain 27(data) 1714 65 30
+ 1720:22(float64_t) CompositeExtract 1718 0
+ Store 1719 1720
+ 1721: 139(ptr) AccessChain 27(data) 1714 65 47
+ 1722:22(float64_t) CompositeExtract 1718 1
+ Store 1721 1722
+ 1723: 139(ptr) AccessChain 27(data) 1714 65 61
+ 1724:22(float64_t) CompositeExtract 1718 2
+ Store 1723 1724
1725: 6(int) Load 8(invocation)
- 1726: 40(ptr) AccessChain 27(data) 38 29
- 1727: 18(fvec4) Load 1726
- 1728: 39(fvec2) VectorShuffle 1727 1727 0 1
- 1729: 39(fvec2) GroupNonUniformFMax 34 ExclusiveScan 1728
- 1730: 40(ptr) AccessChain 27(data) 1725 29
- 1731: 18(fvec4) Load 1730
- 1732: 18(fvec4) VectorShuffle 1731 1729 4 5 2 3
- Store 1730 1732
- 1733: 6(int) Load 8(invocation)
- 1734: 40(ptr) AccessChain 27(data) 49 29
- 1735: 18(fvec4) Load 1734
- 1736: 50(fvec3) VectorShuffle 1735 1735 0 1 2
- 1737: 50(fvec3) GroupNonUniformFMax 34 ExclusiveScan 1736
- 1738: 40(ptr) AccessChain 27(data) 1733 29
- 1739: 18(fvec4) Load 1738
- 1740: 18(fvec4) VectorShuffle 1739 1737 4 5 6 3
- Store 1738 1740
- 1741: 6(int) Load 8(invocation)
- 1742: 40(ptr) AccessChain 27(data) 59 29
- 1743: 18(fvec4) Load 1742
- 1744: 18(fvec4) GroupNonUniformFMax 34 ExclusiveScan 1743
- 1745: 40(ptr) AccessChain 27(data) 1741 29
- Store 1745 1744
- 1746: 6(int) Load 8(invocation)
- 1747: 65(ptr) AccessChain 27(data) 29 38 30
- 1748: 19(int) Load 1747
- 1749: 19(int) GroupNonUniformSMax 34 ExclusiveScan 1748
- 1750: 65(ptr) AccessChain 27(data) 1746 38 30
- Store 1750 1749
- 1751: 6(int) Load 8(invocation)
- 1752: 72(ptr) AccessChain 27(data) 38 38
- 1753: 20(ivec4) Load 1752
- 1754: 71(ivec2) VectorShuffle 1753 1753 0 1
- 1755: 71(ivec2) GroupNonUniformSMax 34 ExclusiveScan 1754
- 1756: 72(ptr) AccessChain 27(data) 1751 38
- 1757: 20(ivec4) Load 1756
- 1758: 20(ivec4) VectorShuffle 1757 1755 4 5 2 3
- Store 1756 1758
- 1759: 6(int) Load 8(invocation)
- 1760: 72(ptr) AccessChain 27(data) 49 38
- 1761: 20(ivec4) Load 1760
- 1762: 81(ivec3) VectorShuffle 1761 1761 0 1 2
- 1763: 81(ivec3) GroupNonUniformSMax 34 ExclusiveScan 1762
- 1764: 72(ptr) AccessChain 27(data) 1759 38
- 1765: 20(ivec4) Load 1764
- 1766: 20(ivec4) VectorShuffle 1765 1763 4 5 6 3
- Store 1764 1766
- 1767: 6(int) Load 8(invocation)
- 1768: 72(ptr) AccessChain 27(data) 59 38
- 1769: 20(ivec4) Load 1768
- 1770: 20(ivec4) GroupNonUniformSMax 34 ExclusiveScan 1769
- 1771: 72(ptr) AccessChain 27(data) 1767 38
- Store 1771 1770
- 1772: 6(int) Load 8(invocation)
- 1773: 95(ptr) AccessChain 27(data) 29 49 30
- 1774: 6(int) Load 1773
- 1775: 6(int) GroupNonUniformUMax 34 ExclusiveScan 1774
- 1776: 95(ptr) AccessChain 27(data) 1772 49 30
- Store 1776 1775
- 1777: 6(int) Load 8(invocation)
- 1778: 102(ptr) AccessChain 27(data) 38 49
- 1779: 21(ivec4) Load 1778
- 1780: 101(ivec2) VectorShuffle 1779 1779 0 1
- 1781: 101(ivec2) GroupNonUniformUMax 34 ExclusiveScan 1780
- 1782: 102(ptr) AccessChain 27(data) 1777 49
- 1783: 21(ivec4) Load 1782
- 1784: 21(ivec4) VectorShuffle 1783 1781 4 5 2 3
- Store 1782 1784
+ 1726: 146(ptr) AccessChain 27(data) 65 65
+ 1727: 23(f64vec4) Load 1726
+ 1728: 23(f64vec4) GroupNonUniformFAdd 34 ExclusiveScan 1727
+ 1729: 146(ptr) AccessChain 27(data) 1725 65
+ Store 1729 1728
+ 1730: 6(int) Load 8(invocation)
+ 1731: 31(ptr) AccessChain 27(data) 29 29 30
+ 1732: 17(float) Load 1731
+ 1733: 17(float) GroupNonUniformFMul 34 ExclusiveScan 1732
+ 1734: 31(ptr) AccessChain 27(data) 1730 29 30
+ Store 1734 1733
+ 1735: 6(int) Load 8(invocation)
+ 1736: 40(ptr) AccessChain 27(data) 38 29
+ 1737: 18(fvec4) Load 1736
+ 1738: 39(fvec2) VectorShuffle 1737 1737 0 1
+ 1739: 39(fvec2) GroupNonUniformFMul 34 ExclusiveScan 1738
+ 1740: 31(ptr) AccessChain 27(data) 1735 29 30
+ 1741: 17(float) CompositeExtract 1739 0
+ Store 1740 1741
+ 1742: 31(ptr) AccessChain 27(data) 1735 29 47
+ 1743: 17(float) CompositeExtract 1739 1
+ Store 1742 1743
+ 1744: 6(int) Load 8(invocation)
+ 1745: 40(ptr) AccessChain 27(data) 51 29
+ 1746: 18(fvec4) Load 1745
+ 1747: 52(fvec3) VectorShuffle 1746 1746 0 1 2
+ 1748: 52(fvec3) GroupNonUniformFMul 34 ExclusiveScan 1747
+ 1749: 31(ptr) AccessChain 27(data) 1744 29 30
+ 1750: 17(float) CompositeExtract 1748 0
+ Store 1749 1750
+ 1751: 31(ptr) AccessChain 27(data) 1744 29 47
+ 1752: 17(float) CompositeExtract 1748 1
+ Store 1751 1752
+ 1753: 31(ptr) AccessChain 27(data) 1744 29 61
+ 1754: 17(float) CompositeExtract 1748 2
+ Store 1753 1754
+ 1755: 6(int) Load 8(invocation)
+ 1756: 40(ptr) AccessChain 27(data) 65 29
+ 1757: 18(fvec4) Load 1756
+ 1758: 18(fvec4) GroupNonUniformFMul 34 ExclusiveScan 1757
+ 1759: 40(ptr) AccessChain 27(data) 1755 29
+ Store 1759 1758
+ 1760: 6(int) Load 8(invocation)
+ 1761: 71(ptr) AccessChain 27(data) 29 38 30
+ 1762: 19(int) Load 1761
+ 1763: 19(int) GroupNonUniformIMul 34 ExclusiveScan 1762
+ 1764: 71(ptr) AccessChain 27(data) 1760 38 30
+ Store 1764 1763
+ 1765: 6(int) Load 8(invocation)
+ 1766: 78(ptr) AccessChain 27(data) 38 38
+ 1767: 20(ivec4) Load 1766
+ 1768: 77(ivec2) VectorShuffle 1767 1767 0 1
+ 1769: 77(ivec2) GroupNonUniformIMul 34 ExclusiveScan 1768
+ 1770: 71(ptr) AccessChain 27(data) 1765 38 30
+ 1771: 19(int) CompositeExtract 1769 0
+ Store 1770 1771
+ 1772: 71(ptr) AccessChain 27(data) 1765 38 47
+ 1773: 19(int) CompositeExtract 1769 1
+ Store 1772 1773
+ 1774: 6(int) Load 8(invocation)
+ 1775: 78(ptr) AccessChain 27(data) 51 38
+ 1776: 20(ivec4) Load 1775
+ 1777: 88(ivec3) VectorShuffle 1776 1776 0 1 2
+ 1778: 88(ivec3) GroupNonUniformIMul 34 ExclusiveScan 1777
+ 1779: 71(ptr) AccessChain 27(data) 1774 38 30
+ 1780: 19(int) CompositeExtract 1778 0
+ Store 1779 1780
+ 1781: 71(ptr) AccessChain 27(data) 1774 38 47
+ 1782: 19(int) CompositeExtract 1778 1
+ Store 1781 1782
+ 1783: 71(ptr) AccessChain 27(data) 1774 38 61
+ 1784: 19(int) CompositeExtract 1778 2
+ Store 1783 1784
1785: 6(int) Load 8(invocation)
- 1786: 102(ptr) AccessChain 27(data) 49 49
- 1787: 21(ivec4) Load 1786
- 1788: 111(ivec3) VectorShuffle 1787 1787 0 1 2
- 1789: 111(ivec3) GroupNonUniformUMax 34 ExclusiveScan 1788
- 1790: 102(ptr) AccessChain 27(data) 1785 49
- 1791: 21(ivec4) Load 1790
- 1792: 21(ivec4) VectorShuffle 1791 1789 4 5 6 3
- Store 1790 1792
- 1793: 6(int) Load 8(invocation)
- 1794: 102(ptr) AccessChain 27(data) 59 49
- 1795: 21(ivec4) Load 1794
- 1796: 21(ivec4) GroupNonUniformUMax 34 ExclusiveScan 1795
- 1797: 102(ptr) AccessChain 27(data) 1793 49
- Store 1797 1796
- 1798: 6(int) Load 8(invocation)
- 1799: 125(ptr) AccessChain 27(data) 29 59 30
- 1800:22(float64_t) Load 1799
- 1801:22(float64_t) GroupNonUniformFMax 34 ExclusiveScan 1800
- 1802: 125(ptr) AccessChain 27(data) 1798 59 30
- Store 1802 1801
- 1803: 6(int) Load 8(invocation)
- 1804: 132(ptr) AccessChain 27(data) 38 59
- 1805: 23(f64vec4) Load 1804
- 1806:131(f64vec2) VectorShuffle 1805 1805 0 1
- 1807:131(f64vec2) GroupNonUniformFMax 34 ExclusiveScan 1806
- 1808: 132(ptr) AccessChain 27(data) 1803 59
- 1809: 23(f64vec4) Load 1808
- 1810: 23(f64vec4) VectorShuffle 1809 1807 4 5 2 3
- Store 1808 1810
- 1811: 6(int) Load 8(invocation)
- 1812: 132(ptr) AccessChain 27(data) 49 59
- 1813: 23(f64vec4) Load 1812
- 1814:141(f64vec3) VectorShuffle 1813 1813 0 1 2
- 1815:141(f64vec3) GroupNonUniformFMax 34 ExclusiveScan 1814
- 1816: 132(ptr) AccessChain 27(data) 1811 59
- 1817: 23(f64vec4) Load 1816
- 1818: 23(f64vec4) VectorShuffle 1817 1815 4 5 6 3
- Store 1816 1818
- 1819: 6(int) Load 8(invocation)
- 1820: 132(ptr) AccessChain 27(data) 59 59
- 1821: 23(f64vec4) Load 1820
- 1822: 23(f64vec4) GroupNonUniformFMax 34 ExclusiveScan 1821
- 1823: 132(ptr) AccessChain 27(data) 1819 59
- Store 1823 1822
- 1824: 6(int) Load 8(invocation)
- 1825: 65(ptr) AccessChain 27(data) 29 38 30
- 1826: 19(int) Load 1825
- 1827: 19(int) GroupNonUniformBitwiseAnd 34 ExclusiveScan 1826
- 1828: 65(ptr) AccessChain 27(data) 1824 38 30
- Store 1828 1827
- 1829: 6(int) Load 8(invocation)
- 1830: 72(ptr) AccessChain 27(data) 38 38
- 1831: 20(ivec4) Load 1830
- 1832: 71(ivec2) VectorShuffle 1831 1831 0 1
- 1833: 71(ivec2) GroupNonUniformBitwiseAnd 34 ExclusiveScan 1832
- 1834: 72(ptr) AccessChain 27(data) 1829 38
- 1835: 20(ivec4) Load 1834
- 1836: 20(ivec4) VectorShuffle 1835 1833 4 5 2 3
- Store 1834 1836
- 1837: 6(int) Load 8(invocation)
- 1838: 72(ptr) AccessChain 27(data) 49 38
- 1839: 20(ivec4) Load 1838
- 1840: 81(ivec3) VectorShuffle 1839 1839 0 1 2
- 1841: 81(ivec3) GroupNonUniformBitwiseAnd 34 ExclusiveScan 1840
- 1842: 72(ptr) AccessChain 27(data) 1837 38
- 1843: 20(ivec4) Load 1842
- 1844: 20(ivec4) VectorShuffle 1843 1841 4 5 6 3
- Store 1842 1844
+ 1786: 78(ptr) AccessChain 27(data) 65 38
+ 1787: 20(ivec4) Load 1786
+ 1788: 20(ivec4) GroupNonUniformIMul 34 ExclusiveScan 1787
+ 1789: 78(ptr) AccessChain 27(data) 1785 38
+ Store 1789 1788
+ 1790: 6(int) Load 8(invocation)
+ 1791: 105(ptr) AccessChain 27(data) 29 51 30
+ 1792: 6(int) Load 1791
+ 1793: 6(int) GroupNonUniformIMul 34 ExclusiveScan 1792
+ 1794: 105(ptr) AccessChain 27(data) 1790 51 30
+ Store 1794 1793
+ 1795: 6(int) Load 8(invocation)
+ 1796: 112(ptr) AccessChain 27(data) 38 51
+ 1797: 21(ivec4) Load 1796
+ 1798: 111(ivec2) VectorShuffle 1797 1797 0 1
+ 1799: 111(ivec2) GroupNonUniformIMul 34 ExclusiveScan 1798
+ 1800: 105(ptr) AccessChain 27(data) 1795 51 30
+ 1801: 6(int) CompositeExtract 1799 0
+ Store 1800 1801
+ 1802: 105(ptr) AccessChain 27(data) 1795 51 47
+ 1803: 6(int) CompositeExtract 1799 1
+ Store 1802 1803
+ 1804: 6(int) Load 8(invocation)
+ 1805: 112(ptr) AccessChain 27(data) 51 51
+ 1806: 21(ivec4) Load 1805
+ 1807: 122(ivec3) VectorShuffle 1806 1806 0 1 2
+ 1808: 122(ivec3) GroupNonUniformIMul 34 ExclusiveScan 1807
+ 1809: 105(ptr) AccessChain 27(data) 1804 51 30
+ 1810: 6(int) CompositeExtract 1808 0
+ Store 1809 1810
+ 1811: 105(ptr) AccessChain 27(data) 1804 51 47
+ 1812: 6(int) CompositeExtract 1808 1
+ Store 1811 1812
+ 1813: 105(ptr) AccessChain 27(data) 1804 51 61
+ 1814: 6(int) CompositeExtract 1808 2
+ Store 1813 1814
+ 1815: 6(int) Load 8(invocation)
+ 1816: 112(ptr) AccessChain 27(data) 65 51
+ 1817: 21(ivec4) Load 1816
+ 1818: 21(ivec4) GroupNonUniformIMul 34 ExclusiveScan 1817
+ 1819: 112(ptr) AccessChain 27(data) 1815 51
+ Store 1819 1818
+ 1820: 6(int) Load 8(invocation)
+ 1821: 139(ptr) AccessChain 27(data) 29 65 30
+ 1822:22(float64_t) Load 1821
+ 1823:22(float64_t) GroupNonUniformFMul 34 ExclusiveScan 1822
+ 1824: 139(ptr) AccessChain 27(data) 1820 65 30
+ Store 1824 1823
+ 1825: 6(int) Load 8(invocation)
+ 1826: 146(ptr) AccessChain 27(data) 38 65
+ 1827: 23(f64vec4) Load 1826
+ 1828:145(f64vec2) VectorShuffle 1827 1827 0 1
+ 1829:145(f64vec2) GroupNonUniformFMul 34 ExclusiveScan 1828
+ 1830: 139(ptr) AccessChain 27(data) 1825 65 30
+ 1831:22(float64_t) CompositeExtract 1829 0
+ Store 1830 1831
+ 1832: 139(ptr) AccessChain 27(data) 1825 65 47
+ 1833:22(float64_t) CompositeExtract 1829 1
+ Store 1832 1833
+ 1834: 6(int) Load 8(invocation)
+ 1835: 146(ptr) AccessChain 27(data) 51 65
+ 1836: 23(f64vec4) Load 1835
+ 1837:156(f64vec3) VectorShuffle 1836 1836 0 1 2
+ 1838:156(f64vec3) GroupNonUniformFMul 34 ExclusiveScan 1837
+ 1839: 139(ptr) AccessChain 27(data) 1834 65 30
+ 1840:22(float64_t) CompositeExtract 1838 0
+ Store 1839 1840
+ 1841: 139(ptr) AccessChain 27(data) 1834 65 47
+ 1842:22(float64_t) CompositeExtract 1838 1
+ Store 1841 1842
+ 1843: 139(ptr) AccessChain 27(data) 1834 65 61
+ 1844:22(float64_t) CompositeExtract 1838 2
+ Store 1843 1844
1845: 6(int) Load 8(invocation)
- 1846: 72(ptr) AccessChain 27(data) 59 38
- 1847: 20(ivec4) Load 1846
- 1848: 20(ivec4) GroupNonUniformBitwiseAnd 34 ExclusiveScan 1847
- 1849: 72(ptr) AccessChain 27(data) 1845 38
+ 1846: 146(ptr) AccessChain 27(data) 65 65
+ 1847: 23(f64vec4) Load 1846
+ 1848: 23(f64vec4) GroupNonUniformFMul 34 ExclusiveScan 1847
+ 1849: 146(ptr) AccessChain 27(data) 1845 65
Store 1849 1848
1850: 6(int) Load 8(invocation)
- 1851: 95(ptr) AccessChain 27(data) 29 49 30
- 1852: 6(int) Load 1851
- 1853: 6(int) GroupNonUniformBitwiseAnd 34 ExclusiveScan 1852
- 1854: 95(ptr) AccessChain 27(data) 1850 49 30
+ 1851: 31(ptr) AccessChain 27(data) 29 29 30
+ 1852: 17(float) Load 1851
+ 1853: 17(float) GroupNonUniformFMin 34 ExclusiveScan 1852
+ 1854: 31(ptr) AccessChain 27(data) 1850 29 30
Store 1854 1853
1855: 6(int) Load 8(invocation)
- 1856: 102(ptr) AccessChain 27(data) 38 49
- 1857: 21(ivec4) Load 1856
- 1858: 101(ivec2) VectorShuffle 1857 1857 0 1
- 1859: 101(ivec2) GroupNonUniformBitwiseAnd 34 ExclusiveScan 1858
- 1860: 102(ptr) AccessChain 27(data) 1855 49
- 1861: 21(ivec4) Load 1860
- 1862: 21(ivec4) VectorShuffle 1861 1859 4 5 2 3
- Store 1860 1862
- 1863: 6(int) Load 8(invocation)
- 1864: 102(ptr) AccessChain 27(data) 49 49
- 1865: 21(ivec4) Load 1864
- 1866: 111(ivec3) VectorShuffle 1865 1865 0 1 2
- 1867: 111(ivec3) GroupNonUniformBitwiseAnd 34 ExclusiveScan 1866
- 1868: 102(ptr) AccessChain 27(data) 1863 49
- 1869: 21(ivec4) Load 1868
- 1870: 21(ivec4) VectorShuffle 1869 1867 4 5 6 3
- Store 1868 1870
- 1871: 6(int) Load 8(invocation)
- 1872: 102(ptr) AccessChain 27(data) 59 49
- 1873: 21(ivec4) Load 1872
- 1874: 21(ivec4) GroupNonUniformBitwiseAnd 34 ExclusiveScan 1873
- 1875: 102(ptr) AccessChain 27(data) 1871 49
- Store 1875 1874
- 1876: 6(int) Load 8(invocation)
- 1877: 65(ptr) AccessChain 27(data) 29 38 30
- 1878: 19(int) Load 1877
- 1879: 521(bool) SLessThan 1878 29
- 1880: 521(bool) GroupNonUniformLogicalAnd 34 ExclusiveScan 1879
- 1881: 19(int) Select 1880 38 29
- 1882: 65(ptr) AccessChain 27(data) 1876 38 30
- Store 1882 1881
- 1883: 6(int) Load 8(invocation)
- 1884: 72(ptr) AccessChain 27(data) 38 38
- 1885: 20(ivec4) Load 1884
- 1886: 71(ivec2) VectorShuffle 1885 1885 0 1
- 1887: 531(bvec2) SLessThan 1886 530
- 1888: 531(bvec2) GroupNonUniformLogicalAnd 34 ExclusiveScan 1887
- 1889: 71(ivec2) Select 1888 534 530
- 1890: 72(ptr) AccessChain 27(data) 1883 38
- 1891: 20(ivec4) Load 1890
- 1892: 20(ivec4) VectorShuffle 1891 1889 4 5 2 3
- Store 1890 1892
- 1893: 6(int) Load 8(invocation)
- 1894: 72(ptr) AccessChain 27(data) 38 38
- 1895: 20(ivec4) Load 1894
- 1896: 81(ivec3) VectorShuffle 1895 1895 0 1 2
- 1897: 544(bvec3) SLessThan 1896 543
- 1898: 544(bvec3) GroupNonUniformLogicalAnd 34 ExclusiveScan 1897
- 1899: 81(ivec3) Select 1898 547 543
- 1900: 72(ptr) AccessChain 27(data) 1893 38
- 1901: 20(ivec4) Load 1900
- 1902: 20(ivec4) VectorShuffle 1901 1899 4 5 6 3
- Store 1900 1902
- 1903: 6(int) Load 8(invocation)
- 1904: 72(ptr) AccessChain 27(data) 38 38
- 1905: 20(ivec4) Load 1904
- 1906: 556(bvec4) SLessThan 1905 555
- 1907: 556(bvec4) GroupNonUniformLogicalAnd 34 ExclusiveScan 1906
- 1908: 20(ivec4) Select 1907 559 555
- 1909: 72(ptr) AccessChain 27(data) 1903 38
+ 1856: 40(ptr) AccessChain 27(data) 38 29
+ 1857: 18(fvec4) Load 1856
+ 1858: 39(fvec2) VectorShuffle 1857 1857 0 1
+ 1859: 39(fvec2) GroupNonUniformFMin 34 ExclusiveScan 1858
+ 1860: 31(ptr) AccessChain 27(data) 1855 29 30
+ 1861: 17(float) CompositeExtract 1859 0
+ Store 1860 1861
+ 1862: 31(ptr) AccessChain 27(data) 1855 29 47
+ 1863: 17(float) CompositeExtract 1859 1
+ Store 1862 1863
+ 1864: 6(int) Load 8(invocation)
+ 1865: 40(ptr) AccessChain 27(data) 51 29
+ 1866: 18(fvec4) Load 1865
+ 1867: 52(fvec3) VectorShuffle 1866 1866 0 1 2
+ 1868: 52(fvec3) GroupNonUniformFMin 34 ExclusiveScan 1867
+ 1869: 31(ptr) AccessChain 27(data) 1864 29 30
+ 1870: 17(float) CompositeExtract 1868 0
+ Store 1869 1870
+ 1871: 31(ptr) AccessChain 27(data) 1864 29 47
+ 1872: 17(float) CompositeExtract 1868 1
+ Store 1871 1872
+ 1873: 31(ptr) AccessChain 27(data) 1864 29 61
+ 1874: 17(float) CompositeExtract 1868 2
+ Store 1873 1874
+ 1875: 6(int) Load 8(invocation)
+ 1876: 40(ptr) AccessChain 27(data) 65 29
+ 1877: 18(fvec4) Load 1876
+ 1878: 18(fvec4) GroupNonUniformFMin 34 ExclusiveScan 1877
+ 1879: 40(ptr) AccessChain 27(data) 1875 29
+ Store 1879 1878
+ 1880: 6(int) Load 8(invocation)
+ 1881: 71(ptr) AccessChain 27(data) 29 38 30
+ 1882: 19(int) Load 1881
+ 1883: 19(int) GroupNonUniformSMin 34 ExclusiveScan 1882
+ 1884: 71(ptr) AccessChain 27(data) 1880 38 30
+ Store 1884 1883
+ 1885: 6(int) Load 8(invocation)
+ 1886: 78(ptr) AccessChain 27(data) 38 38
+ 1887: 20(ivec4) Load 1886
+ 1888: 77(ivec2) VectorShuffle 1887 1887 0 1
+ 1889: 77(ivec2) GroupNonUniformSMin 34 ExclusiveScan 1888
+ 1890: 71(ptr) AccessChain 27(data) 1885 38 30
+ 1891: 19(int) CompositeExtract 1889 0
+ Store 1890 1891
+ 1892: 71(ptr) AccessChain 27(data) 1885 38 47
+ 1893: 19(int) CompositeExtract 1889 1
+ Store 1892 1893
+ 1894: 6(int) Load 8(invocation)
+ 1895: 78(ptr) AccessChain 27(data) 51 38
+ 1896: 20(ivec4) Load 1895
+ 1897: 88(ivec3) VectorShuffle 1896 1896 0 1 2
+ 1898: 88(ivec3) GroupNonUniformSMin 34 ExclusiveScan 1897
+ 1899: 71(ptr) AccessChain 27(data) 1894 38 30
+ 1900: 19(int) CompositeExtract 1898 0
+ Store 1899 1900
+ 1901: 71(ptr) AccessChain 27(data) 1894 38 47
+ 1902: 19(int) CompositeExtract 1898 1
+ Store 1901 1902
+ 1903: 71(ptr) AccessChain 27(data) 1894 38 61
+ 1904: 19(int) CompositeExtract 1898 2
+ Store 1903 1904
+ 1905: 6(int) Load 8(invocation)
+ 1906: 78(ptr) AccessChain 27(data) 65 38
+ 1907: 20(ivec4) Load 1906
+ 1908: 20(ivec4) GroupNonUniformSMin 34 ExclusiveScan 1907
+ 1909: 78(ptr) AccessChain 27(data) 1905 38
Store 1909 1908
1910: 6(int) Load 8(invocation)
- 1911: 65(ptr) AccessChain 27(data) 29 38 30
- 1912: 19(int) Load 1911
- 1913: 19(int) GroupNonUniformBitwiseOr 34 ExclusiveScan 1912
- 1914: 65(ptr) AccessChain 27(data) 1910 38 30
+ 1911: 105(ptr) AccessChain 27(data) 29 51 30
+ 1912: 6(int) Load 1911
+ 1913: 6(int) GroupNonUniformUMin 34 ExclusiveScan 1912
+ 1914: 105(ptr) AccessChain 27(data) 1910 51 30
Store 1914 1913
1915: 6(int) Load 8(invocation)
- 1916: 72(ptr) AccessChain 27(data) 38 38
- 1917: 20(ivec4) Load 1916
- 1918: 71(ivec2) VectorShuffle 1917 1917 0 1
- 1919: 71(ivec2) GroupNonUniformBitwiseOr 34 ExclusiveScan 1918
- 1920: 72(ptr) AccessChain 27(data) 1915 38
- 1921: 20(ivec4) Load 1920
- 1922: 20(ivec4) VectorShuffle 1921 1919 4 5 2 3
- Store 1920 1922
- 1923: 6(int) Load 8(invocation)
- 1924: 72(ptr) AccessChain 27(data) 49 38
- 1925: 20(ivec4) Load 1924
- 1926: 81(ivec3) VectorShuffle 1925 1925 0 1 2
- 1927: 81(ivec3) GroupNonUniformBitwiseOr 34 ExclusiveScan 1926
- 1928: 72(ptr) AccessChain 27(data) 1923 38
- 1929: 20(ivec4) Load 1928
- 1930: 20(ivec4) VectorShuffle 1929 1927 4 5 6 3
- Store 1928 1930
- 1931: 6(int) Load 8(invocation)
- 1932: 72(ptr) AccessChain 27(data) 59 38
- 1933: 20(ivec4) Load 1932
- 1934: 20(ivec4) GroupNonUniformBitwiseOr 34 ExclusiveScan 1933
- 1935: 72(ptr) AccessChain 27(data) 1931 38
- Store 1935 1934
- 1936: 6(int) Load 8(invocation)
- 1937: 95(ptr) AccessChain 27(data) 29 49 30
- 1938: 6(int) Load 1937
- 1939: 6(int) GroupNonUniformBitwiseOr 34 ExclusiveScan 1938
- 1940: 95(ptr) AccessChain 27(data) 1936 49 30
- Store 1940 1939
- 1941: 6(int) Load 8(invocation)
- 1942: 102(ptr) AccessChain 27(data) 38 49
- 1943: 21(ivec4) Load 1942
- 1944: 101(ivec2) VectorShuffle 1943 1943 0 1
- 1945: 101(ivec2) GroupNonUniformBitwiseOr 34 ExclusiveScan 1944
- 1946: 102(ptr) AccessChain 27(data) 1941 49
- 1947: 21(ivec4) Load 1946
- 1948: 21(ivec4) VectorShuffle 1947 1945 4 5 2 3
- Store 1946 1948
- 1949: 6(int) Load 8(invocation)
- 1950: 102(ptr) AccessChain 27(data) 49 49
- 1951: 21(ivec4) Load 1950
- 1952: 111(ivec3) VectorShuffle 1951 1951 0 1 2
- 1953: 111(ivec3) GroupNonUniformBitwiseOr 34 ExclusiveScan 1952
- 1954: 102(ptr) AccessChain 27(data) 1949 49
- 1955: 21(ivec4) Load 1954
- 1956: 21(ivec4) VectorShuffle 1955 1953 4 5 6 3
- Store 1954 1956
- 1957: 6(int) Load 8(invocation)
- 1958: 102(ptr) AccessChain 27(data) 59 49
- 1959: 21(ivec4) Load 1958
- 1960: 21(ivec4) GroupNonUniformBitwiseOr 34 ExclusiveScan 1959
- 1961: 102(ptr) AccessChain 27(data) 1957 49
- Store 1961 1960
- 1962: 6(int) Load 8(invocation)
- 1963: 65(ptr) AccessChain 27(data) 29 38 30
- 1964: 19(int) Load 1963
- 1965: 521(bool) SLessThan 1964 29
- 1966: 521(bool) GroupNonUniformLogicalOr 34 ExclusiveScan 1965
- 1967: 19(int) Select 1966 38 29
- 1968: 65(ptr) AccessChain 27(data) 1962 38 30
- Store 1968 1967
- 1969: 6(int) Load 8(invocation)
- 1970: 72(ptr) AccessChain 27(data) 38 38
- 1971: 20(ivec4) Load 1970
- 1972: 71(ivec2) VectorShuffle 1971 1971 0 1
- 1973: 531(bvec2) SLessThan 1972 530
- 1974: 531(bvec2) GroupNonUniformLogicalOr 34 ExclusiveScan 1973
- 1975: 71(ivec2) Select 1974 534 530
- 1976: 72(ptr) AccessChain 27(data) 1969 38
- 1977: 20(ivec4) Load 1976
- 1978: 20(ivec4) VectorShuffle 1977 1975 4 5 2 3
- Store 1976 1978
- 1979: 6(int) Load 8(invocation)
- 1980: 72(ptr) AccessChain 27(data) 38 38
- 1981: 20(ivec4) Load 1980
- 1982: 81(ivec3) VectorShuffle 1981 1981 0 1 2
- 1983: 544(bvec3) SLessThan 1982 543
- 1984: 544(bvec3) GroupNonUniformLogicalOr 34 ExclusiveScan 1983
- 1985: 81(ivec3) Select 1984 547 543
- 1986: 72(ptr) AccessChain 27(data) 1979 38
- 1987: 20(ivec4) Load 1986
- 1988: 20(ivec4) VectorShuffle 1987 1985 4 5 6 3
- Store 1986 1988
- 1989: 6(int) Load 8(invocation)
- 1990: 72(ptr) AccessChain 27(data) 38 38
- 1991: 20(ivec4) Load 1990
- 1992: 556(bvec4) SLessThan 1991 555
- 1993: 556(bvec4) GroupNonUniformLogicalOr 34 ExclusiveScan 1992
- 1994: 20(ivec4) Select 1993 559 555
- 1995: 72(ptr) AccessChain 27(data) 1989 38
- Store 1995 1994
- 1996: 6(int) Load 8(invocation)
- 1997: 65(ptr) AccessChain 27(data) 29 38 30
- 1998: 19(int) Load 1997
- 1999: 19(int) GroupNonUniformBitwiseXor 34 ExclusiveScan 1998
- 2000: 65(ptr) AccessChain 27(data) 1996 38 30
- Store 2000 1999
- 2001: 6(int) Load 8(invocation)
- 2002: 72(ptr) AccessChain 27(data) 38 38
- 2003: 20(ivec4) Load 2002
- 2004: 71(ivec2) VectorShuffle 2003 2003 0 1
- 2005: 71(ivec2) GroupNonUniformBitwiseXor 34 ExclusiveScan 2004
- 2006: 72(ptr) AccessChain 27(data) 2001 38
+ 1916: 112(ptr) AccessChain 27(data) 38 51
+ 1917: 21(ivec4) Load 1916
+ 1918: 111(ivec2) VectorShuffle 1917 1917 0 1
+ 1919: 111(ivec2) GroupNonUniformUMin 34 ExclusiveScan 1918
+ 1920: 105(ptr) AccessChain 27(data) 1915 51 30
+ 1921: 6(int) CompositeExtract 1919 0
+ Store 1920 1921
+ 1922: 105(ptr) AccessChain 27(data) 1915 51 47
+ 1923: 6(int) CompositeExtract 1919 1
+ Store 1922 1923
+ 1924: 6(int) Load 8(invocation)
+ 1925: 112(ptr) AccessChain 27(data) 51 51
+ 1926: 21(ivec4) Load 1925
+ 1927: 122(ivec3) VectorShuffle 1926 1926 0 1 2
+ 1928: 122(ivec3) GroupNonUniformUMin 34 ExclusiveScan 1927
+ 1929: 105(ptr) AccessChain 27(data) 1924 51 30
+ 1930: 6(int) CompositeExtract 1928 0
+ Store 1929 1930
+ 1931: 105(ptr) AccessChain 27(data) 1924 51 47
+ 1932: 6(int) CompositeExtract 1928 1
+ Store 1931 1932
+ 1933: 105(ptr) AccessChain 27(data) 1924 51 61
+ 1934: 6(int) CompositeExtract 1928 2
+ Store 1933 1934
+ 1935: 6(int) Load 8(invocation)
+ 1936: 112(ptr) AccessChain 27(data) 65 51
+ 1937: 21(ivec4) Load 1936
+ 1938: 21(ivec4) GroupNonUniformUMin 34 ExclusiveScan 1937
+ 1939: 112(ptr) AccessChain 27(data) 1935 51
+ Store 1939 1938
+ 1940: 6(int) Load 8(invocation)
+ 1941: 139(ptr) AccessChain 27(data) 29 65 30
+ 1942:22(float64_t) Load 1941
+ 1943:22(float64_t) GroupNonUniformFMin 34 ExclusiveScan 1942
+ 1944: 139(ptr) AccessChain 27(data) 1940 65 30
+ Store 1944 1943
+ 1945: 6(int) Load 8(invocation)
+ 1946: 146(ptr) AccessChain 27(data) 38 65
+ 1947: 23(f64vec4) Load 1946
+ 1948:145(f64vec2) VectorShuffle 1947 1947 0 1
+ 1949:145(f64vec2) GroupNonUniformFMin 34 ExclusiveScan 1948
+ 1950: 139(ptr) AccessChain 27(data) 1945 65 30
+ 1951:22(float64_t) CompositeExtract 1949 0
+ Store 1950 1951
+ 1952: 139(ptr) AccessChain 27(data) 1945 65 47
+ 1953:22(float64_t) CompositeExtract 1949 1
+ Store 1952 1953
+ 1954: 6(int) Load 8(invocation)
+ 1955: 146(ptr) AccessChain 27(data) 51 65
+ 1956: 23(f64vec4) Load 1955
+ 1957:156(f64vec3) VectorShuffle 1956 1956 0 1 2
+ 1958:156(f64vec3) GroupNonUniformFMin 34 ExclusiveScan 1957
+ 1959: 139(ptr) AccessChain 27(data) 1954 65 30
+ 1960:22(float64_t) CompositeExtract 1958 0
+ Store 1959 1960
+ 1961: 139(ptr) AccessChain 27(data) 1954 65 47
+ 1962:22(float64_t) CompositeExtract 1958 1
+ Store 1961 1962
+ 1963: 139(ptr) AccessChain 27(data) 1954 65 61
+ 1964:22(float64_t) CompositeExtract 1958 2
+ Store 1963 1964
+ 1965: 6(int) Load 8(invocation)
+ 1966: 146(ptr) AccessChain 27(data) 65 65
+ 1967: 23(f64vec4) Load 1966
+ 1968: 23(f64vec4) GroupNonUniformFMin 34 ExclusiveScan 1967
+ 1969: 146(ptr) AccessChain 27(data) 1965 65
+ Store 1969 1968
+ 1970: 6(int) Load 8(invocation)
+ 1971: 31(ptr) AccessChain 27(data) 29 29 30
+ 1972: 17(float) Load 1971
+ 1973: 17(float) GroupNonUniformFMax 34 ExclusiveScan 1972
+ 1974: 31(ptr) AccessChain 27(data) 1970 29 30
+ Store 1974 1973
+ 1975: 6(int) Load 8(invocation)
+ 1976: 40(ptr) AccessChain 27(data) 38 29
+ 1977: 18(fvec4) Load 1976
+ 1978: 39(fvec2) VectorShuffle 1977 1977 0 1
+ 1979: 39(fvec2) GroupNonUniformFMax 34 ExclusiveScan 1978
+ 1980: 31(ptr) AccessChain 27(data) 1975 29 30
+ 1981: 17(float) CompositeExtract 1979 0
+ Store 1980 1981
+ 1982: 31(ptr) AccessChain 27(data) 1975 29 47
+ 1983: 17(float) CompositeExtract 1979 1
+ Store 1982 1983
+ 1984: 6(int) Load 8(invocation)
+ 1985: 40(ptr) AccessChain 27(data) 51 29
+ 1986: 18(fvec4) Load 1985
+ 1987: 52(fvec3) VectorShuffle 1986 1986 0 1 2
+ 1988: 52(fvec3) GroupNonUniformFMax 34 ExclusiveScan 1987
+ 1989: 31(ptr) AccessChain 27(data) 1984 29 30
+ 1990: 17(float) CompositeExtract 1988 0
+ Store 1989 1990
+ 1991: 31(ptr) AccessChain 27(data) 1984 29 47
+ 1992: 17(float) CompositeExtract 1988 1
+ Store 1991 1992
+ 1993: 31(ptr) AccessChain 27(data) 1984 29 61
+ 1994: 17(float) CompositeExtract 1988 2
+ Store 1993 1994
+ 1995: 6(int) Load 8(invocation)
+ 1996: 40(ptr) AccessChain 27(data) 65 29
+ 1997: 18(fvec4) Load 1996
+ 1998: 18(fvec4) GroupNonUniformFMax 34 ExclusiveScan 1997
+ 1999: 40(ptr) AccessChain 27(data) 1995 29
+ Store 1999 1998
+ 2000: 6(int) Load 8(invocation)
+ 2001: 71(ptr) AccessChain 27(data) 29 38 30
+ 2002: 19(int) Load 2001
+ 2003: 19(int) GroupNonUniformSMax 34 ExclusiveScan 2002
+ 2004: 71(ptr) AccessChain 27(data) 2000 38 30
+ Store 2004 2003
+ 2005: 6(int) Load 8(invocation)
+ 2006: 78(ptr) AccessChain 27(data) 38 38
2007: 20(ivec4) Load 2006
- 2008: 20(ivec4) VectorShuffle 2007 2005 4 5 2 3
- Store 2006 2008
- 2009: 6(int) Load 8(invocation)
- 2010: 72(ptr) AccessChain 27(data) 49 38
- 2011: 20(ivec4) Load 2010
- 2012: 81(ivec3) VectorShuffle 2011 2011 0 1 2
- 2013: 81(ivec3) GroupNonUniformBitwiseXor 34 ExclusiveScan 2012
- 2014: 72(ptr) AccessChain 27(data) 2009 38
- 2015: 20(ivec4) Load 2014
- 2016: 20(ivec4) VectorShuffle 2015 2013 4 5 6 3
- Store 2014 2016
- 2017: 6(int) Load 8(invocation)
- 2018: 72(ptr) AccessChain 27(data) 59 38
- 2019: 20(ivec4) Load 2018
- 2020: 20(ivec4) GroupNonUniformBitwiseXor 34 ExclusiveScan 2019
- 2021: 72(ptr) AccessChain 27(data) 2017 38
- Store 2021 2020
- 2022: 6(int) Load 8(invocation)
- 2023: 95(ptr) AccessChain 27(data) 29 49 30
- 2024: 6(int) Load 2023
- 2025: 6(int) GroupNonUniformBitwiseXor 34 ExclusiveScan 2024
- 2026: 95(ptr) AccessChain 27(data) 2022 49 30
- Store 2026 2025
- 2027: 6(int) Load 8(invocation)
- 2028: 102(ptr) AccessChain 27(data) 38 49
- 2029: 21(ivec4) Load 2028
- 2030: 101(ivec2) VectorShuffle 2029 2029 0 1
- 2031: 101(ivec2) GroupNonUniformBitwiseXor 34 ExclusiveScan 2030
- 2032: 102(ptr) AccessChain 27(data) 2027 49
- 2033: 21(ivec4) Load 2032
- 2034: 21(ivec4) VectorShuffle 2033 2031 4 5 2 3
- Store 2032 2034
+ 2008: 77(ivec2) VectorShuffle 2007 2007 0 1
+ 2009: 77(ivec2) GroupNonUniformSMax 34 ExclusiveScan 2008
+ 2010: 71(ptr) AccessChain 27(data) 2005 38 30
+ 2011: 19(int) CompositeExtract 2009 0
+ Store 2010 2011
+ 2012: 71(ptr) AccessChain 27(data) 2005 38 47
+ 2013: 19(int) CompositeExtract 2009 1
+ Store 2012 2013
+ 2014: 6(int) Load 8(invocation)
+ 2015: 78(ptr) AccessChain 27(data) 51 38
+ 2016: 20(ivec4) Load 2015
+ 2017: 88(ivec3) VectorShuffle 2016 2016 0 1 2
+ 2018: 88(ivec3) GroupNonUniformSMax 34 ExclusiveScan 2017
+ 2019: 71(ptr) AccessChain 27(data) 2014 38 30
+ 2020: 19(int) CompositeExtract 2018 0
+ Store 2019 2020
+ 2021: 71(ptr) AccessChain 27(data) 2014 38 47
+ 2022: 19(int) CompositeExtract 2018 1
+ Store 2021 2022
+ 2023: 71(ptr) AccessChain 27(data) 2014 38 61
+ 2024: 19(int) CompositeExtract 2018 2
+ Store 2023 2024
+ 2025: 6(int) Load 8(invocation)
+ 2026: 78(ptr) AccessChain 27(data) 65 38
+ 2027: 20(ivec4) Load 2026
+ 2028: 20(ivec4) GroupNonUniformSMax 34 ExclusiveScan 2027
+ 2029: 78(ptr) AccessChain 27(data) 2025 38
+ Store 2029 2028
+ 2030: 6(int) Load 8(invocation)
+ 2031: 105(ptr) AccessChain 27(data) 29 51 30
+ 2032: 6(int) Load 2031
+ 2033: 6(int) GroupNonUniformUMax 34 ExclusiveScan 2032
+ 2034: 105(ptr) AccessChain 27(data) 2030 51 30
+ Store 2034 2033
2035: 6(int) Load 8(invocation)
- 2036: 102(ptr) AccessChain 27(data) 49 49
+ 2036: 112(ptr) AccessChain 27(data) 38 51
2037: 21(ivec4) Load 2036
- 2038: 111(ivec3) VectorShuffle 2037 2037 0 1 2
- 2039: 111(ivec3) GroupNonUniformBitwiseXor 34 ExclusiveScan 2038
- 2040: 102(ptr) AccessChain 27(data) 2035 49
- 2041: 21(ivec4) Load 2040
- 2042: 21(ivec4) VectorShuffle 2041 2039 4 5 6 3
- Store 2040 2042
- 2043: 6(int) Load 8(invocation)
- 2044: 102(ptr) AccessChain 27(data) 59 49
- 2045: 21(ivec4) Load 2044
- 2046: 21(ivec4) GroupNonUniformBitwiseXor 34 ExclusiveScan 2045
- 2047: 102(ptr) AccessChain 27(data) 2043 49
- Store 2047 2046
- 2048: 6(int) Load 8(invocation)
- 2049: 65(ptr) AccessChain 27(data) 29 38 30
- 2050: 19(int) Load 2049
- 2051: 521(bool) SLessThan 2050 29
- 2052: 521(bool) GroupNonUniformLogicalXor 34 ExclusiveScan 2051
- 2053: 19(int) Select 2052 38 29
- 2054: 65(ptr) AccessChain 27(data) 2048 38 30
- Store 2054 2053
+ 2038: 111(ivec2) VectorShuffle 2037 2037 0 1
+ 2039: 111(ivec2) GroupNonUniformUMax 34 ExclusiveScan 2038
+ 2040: 105(ptr) AccessChain 27(data) 2035 51 30
+ 2041: 6(int) CompositeExtract 2039 0
+ Store 2040 2041
+ 2042: 105(ptr) AccessChain 27(data) 2035 51 47
+ 2043: 6(int) CompositeExtract 2039 1
+ Store 2042 2043
+ 2044: 6(int) Load 8(invocation)
+ 2045: 112(ptr) AccessChain 27(data) 51 51
+ 2046: 21(ivec4) Load 2045
+ 2047: 122(ivec3) VectorShuffle 2046 2046 0 1 2
+ 2048: 122(ivec3) GroupNonUniformUMax 34 ExclusiveScan 2047
+ 2049: 105(ptr) AccessChain 27(data) 2044 51 30
+ 2050: 6(int) CompositeExtract 2048 0
+ Store 2049 2050
+ 2051: 105(ptr) AccessChain 27(data) 2044 51 47
+ 2052: 6(int) CompositeExtract 2048 1
+ Store 2051 2052
+ 2053: 105(ptr) AccessChain 27(data) 2044 51 61
+ 2054: 6(int) CompositeExtract 2048 2
+ Store 2053 2054
2055: 6(int) Load 8(invocation)
- 2056: 72(ptr) AccessChain 27(data) 38 38
- 2057: 20(ivec4) Load 2056
- 2058: 71(ivec2) VectorShuffle 2057 2057 0 1
- 2059: 531(bvec2) SLessThan 2058 530
- 2060: 531(bvec2) GroupNonUniformLogicalXor 34 ExclusiveScan 2059
- 2061: 71(ivec2) Select 2060 534 530
- 2062: 72(ptr) AccessChain 27(data) 2055 38
- 2063: 20(ivec4) Load 2062
- 2064: 20(ivec4) VectorShuffle 2063 2061 4 5 2 3
- Store 2062 2064
+ 2056: 112(ptr) AccessChain 27(data) 65 51
+ 2057: 21(ivec4) Load 2056
+ 2058: 21(ivec4) GroupNonUniformUMax 34 ExclusiveScan 2057
+ 2059: 112(ptr) AccessChain 27(data) 2055 51
+ Store 2059 2058
+ 2060: 6(int) Load 8(invocation)
+ 2061: 139(ptr) AccessChain 27(data) 29 65 30
+ 2062:22(float64_t) Load 2061
+ 2063:22(float64_t) GroupNonUniformFMax 34 ExclusiveScan 2062
+ 2064: 139(ptr) AccessChain 27(data) 2060 65 30
+ Store 2064 2063
2065: 6(int) Load 8(invocation)
- 2066: 72(ptr) AccessChain 27(data) 38 38
- 2067: 20(ivec4) Load 2066
- 2068: 81(ivec3) VectorShuffle 2067 2067 0 1 2
- 2069: 544(bvec3) SLessThan 2068 543
- 2070: 544(bvec3) GroupNonUniformLogicalXor 34 ExclusiveScan 2069
- 2071: 81(ivec3) Select 2070 547 543
- 2072: 72(ptr) AccessChain 27(data) 2065 38
- 2073: 20(ivec4) Load 2072
- 2074: 20(ivec4) VectorShuffle 2073 2071 4 5 6 3
- Store 2072 2074
- 2075: 6(int) Load 8(invocation)
- 2076: 72(ptr) AccessChain 27(data) 38 38
- 2077: 20(ivec4) Load 2076
- 2078: 556(bvec4) SLessThan 2077 555
- 2079: 556(bvec4) GroupNonUniformLogicalXor 34 ExclusiveScan 2078
- 2080: 20(ivec4) Select 2079 559 555
- 2081: 72(ptr) AccessChain 27(data) 2075 38
- Store 2081 2080
+ 2066: 146(ptr) AccessChain 27(data) 38 65
+ 2067: 23(f64vec4) Load 2066
+ 2068:145(f64vec2) VectorShuffle 2067 2067 0 1
+ 2069:145(f64vec2) GroupNonUniformFMax 34 ExclusiveScan 2068
+ 2070: 139(ptr) AccessChain 27(data) 2065 65 30
+ 2071:22(float64_t) CompositeExtract 2069 0
+ Store 2070 2071
+ 2072: 139(ptr) AccessChain 27(data) 2065 65 47
+ 2073:22(float64_t) CompositeExtract 2069 1
+ Store 2072 2073
+ 2074: 6(int) Load 8(invocation)
+ 2075: 146(ptr) AccessChain 27(data) 51 65
+ 2076: 23(f64vec4) Load 2075
+ 2077:156(f64vec3) VectorShuffle 2076 2076 0 1 2
+ 2078:156(f64vec3) GroupNonUniformFMax 34 ExclusiveScan 2077
+ 2079: 139(ptr) AccessChain 27(data) 2074 65 30
+ 2080:22(float64_t) CompositeExtract 2078 0
+ Store 2079 2080
+ 2081: 139(ptr) AccessChain 27(data) 2074 65 47
+ 2082:22(float64_t) CompositeExtract 2078 1
+ Store 2081 2082
+ 2083: 139(ptr) AccessChain 27(data) 2074 65 61
+ 2084:22(float64_t) CompositeExtract 2078 2
+ Store 2083 2084
+ 2085: 6(int) Load 8(invocation)
+ 2086: 146(ptr) AccessChain 27(data) 65 65
+ 2087: 23(f64vec4) Load 2086
+ 2088: 23(f64vec4) GroupNonUniformFMax 34 ExclusiveScan 2087
+ 2089: 146(ptr) AccessChain 27(data) 2085 65
+ Store 2089 2088
+ 2090: 6(int) Load 8(invocation)
+ 2091: 71(ptr) AccessChain 27(data) 29 38 30
+ 2092: 19(int) Load 2091
+ 2093: 19(int) GroupNonUniformBitwiseAnd 34 ExclusiveScan 2092
+ 2094: 71(ptr) AccessChain 27(data) 2090 38 30
+ Store 2094 2093
+ 2095: 6(int) Load 8(invocation)
+ 2096: 78(ptr) AccessChain 27(data) 38 38
+ 2097: 20(ivec4) Load 2096
+ 2098: 77(ivec2) VectorShuffle 2097 2097 0 1
+ 2099: 77(ivec2) GroupNonUniformBitwiseAnd 34 ExclusiveScan 2098
+ 2100: 71(ptr) AccessChain 27(data) 2095 38 30
+ 2101: 19(int) CompositeExtract 2099 0
+ Store 2100 2101
+ 2102: 71(ptr) AccessChain 27(data) 2095 38 47
+ 2103: 19(int) CompositeExtract 2099 1
+ Store 2102 2103
+ 2104: 6(int) Load 8(invocation)
+ 2105: 78(ptr) AccessChain 27(data) 51 38
+ 2106: 20(ivec4) Load 2105
+ 2107: 88(ivec3) VectorShuffle 2106 2106 0 1 2
+ 2108: 88(ivec3) GroupNonUniformBitwiseAnd 34 ExclusiveScan 2107
+ 2109: 71(ptr) AccessChain 27(data) 2104 38 30
+ 2110: 19(int) CompositeExtract 2108 0
+ Store 2109 2110
+ 2111: 71(ptr) AccessChain 27(data) 2104 38 47
+ 2112: 19(int) CompositeExtract 2108 1
+ Store 2111 2112
+ 2113: 71(ptr) AccessChain 27(data) 2104 38 61
+ 2114: 19(int) CompositeExtract 2108 2
+ Store 2113 2114
+ 2115: 6(int) Load 8(invocation)
+ 2116: 78(ptr) AccessChain 27(data) 65 38
+ 2117: 20(ivec4) Load 2116
+ 2118: 20(ivec4) GroupNonUniformBitwiseAnd 34 ExclusiveScan 2117
+ 2119: 78(ptr) AccessChain 27(data) 2115 38
+ Store 2119 2118
+ 2120: 6(int) Load 8(invocation)
+ 2121: 105(ptr) AccessChain 27(data) 29 51 30
+ 2122: 6(int) Load 2121
+ 2123: 6(int) GroupNonUniformBitwiseAnd 34 ExclusiveScan 2122
+ 2124: 105(ptr) AccessChain 27(data) 2120 51 30
+ Store 2124 2123
+ 2125: 6(int) Load 8(invocation)
+ 2126: 112(ptr) AccessChain 27(data) 38 51
+ 2127: 21(ivec4) Load 2126
+ 2128: 111(ivec2) VectorShuffle 2127 2127 0 1
+ 2129: 111(ivec2) GroupNonUniformBitwiseAnd 34 ExclusiveScan 2128
+ 2130: 105(ptr) AccessChain 27(data) 2125 51 30
+ 2131: 6(int) CompositeExtract 2129 0
+ Store 2130 2131
+ 2132: 105(ptr) AccessChain 27(data) 2125 51 47
+ 2133: 6(int) CompositeExtract 2129 1
+ Store 2132 2133
+ 2134: 6(int) Load 8(invocation)
+ 2135: 112(ptr) AccessChain 27(data) 51 51
+ 2136: 21(ivec4) Load 2135
+ 2137: 122(ivec3) VectorShuffle 2136 2136 0 1 2
+ 2138: 122(ivec3) GroupNonUniformBitwiseAnd 34 ExclusiveScan 2137
+ 2139: 105(ptr) AccessChain 27(data) 2134 51 30
+ 2140: 6(int) CompositeExtract 2138 0
+ Store 2139 2140
+ 2141: 105(ptr) AccessChain 27(data) 2134 51 47
+ 2142: 6(int) CompositeExtract 2138 1
+ Store 2141 2142
+ 2143: 105(ptr) AccessChain 27(data) 2134 51 61
+ 2144: 6(int) CompositeExtract 2138 2
+ Store 2143 2144
+ 2145: 6(int) Load 8(invocation)
+ 2146: 112(ptr) AccessChain 27(data) 65 51
+ 2147: 21(ivec4) Load 2146
+ 2148: 21(ivec4) GroupNonUniformBitwiseAnd 34 ExclusiveScan 2147
+ 2149: 112(ptr) AccessChain 27(data) 2145 51
+ Store 2149 2148
+ 2150: 6(int) Load 8(invocation)
+ 2151: 71(ptr) AccessChain 27(data) 29 38 30
+ 2152: 19(int) Load 2151
+ 2153: 595(bool) SLessThan 2152 29
+ 2154: 595(bool) GroupNonUniformLogicalAnd 34 ExclusiveScan 2153
+ 2155: 19(int) Select 2154 38 29
+ 2156: 71(ptr) AccessChain 27(data) 2150 38 30
+ Store 2156 2155
+ 2157: 6(int) Load 8(invocation)
+ 2158: 78(ptr) AccessChain 27(data) 38 38
+ 2159: 20(ivec4) Load 2158
+ 2160: 77(ivec2) VectorShuffle 2159 2159 0 1
+ 2161: 605(bvec2) SLessThan 2160 604
+ 2162: 605(bvec2) GroupNonUniformLogicalAnd 34 ExclusiveScan 2161
+ 2163: 77(ivec2) Select 2162 608 604
+ 2164: 71(ptr) AccessChain 27(data) 2157 38 30
+ 2165: 19(int) CompositeExtract 2163 0
+ Store 2164 2165
+ 2166: 71(ptr) AccessChain 27(data) 2157 38 47
+ 2167: 19(int) CompositeExtract 2163 1
+ Store 2166 2167
+ 2168: 6(int) Load 8(invocation)
+ 2169: 78(ptr) AccessChain 27(data) 38 38
+ 2170: 20(ivec4) Load 2169
+ 2171: 88(ivec3) VectorShuffle 2170 2170 0 1 2
+ 2172: 619(bvec3) SLessThan 2171 618
+ 2173: 619(bvec3) GroupNonUniformLogicalAnd 34 ExclusiveScan 2172
+ 2174: 88(ivec3) Select 2173 622 618
+ 2175: 71(ptr) AccessChain 27(data) 2168 38 30
+ 2176: 19(int) CompositeExtract 2174 0
+ Store 2175 2176
+ 2177: 71(ptr) AccessChain 27(data) 2168 38 47
+ 2178: 19(int) CompositeExtract 2174 1
+ Store 2177 2178
+ 2179: 71(ptr) AccessChain 27(data) 2168 38 61
+ 2180: 19(int) CompositeExtract 2174 2
+ Store 2179 2180
+ 2181: 6(int) Load 8(invocation)
+ 2182: 78(ptr) AccessChain 27(data) 38 38
+ 2183: 20(ivec4) Load 2182
+ 2184: 634(bvec4) SLessThan 2183 633
+ 2185: 634(bvec4) GroupNonUniformLogicalAnd 34 ExclusiveScan 2184
+ 2186: 20(ivec4) Select 2185 637 633
+ 2187: 78(ptr) AccessChain 27(data) 2181 38
+ Store 2187 2186
+ 2188: 6(int) Load 8(invocation)
+ 2189: 71(ptr) AccessChain 27(data) 29 38 30
+ 2190: 19(int) Load 2189
+ 2191: 19(int) GroupNonUniformBitwiseOr 34 ExclusiveScan 2190
+ 2192: 71(ptr) AccessChain 27(data) 2188 38 30
+ Store 2192 2191
+ 2193: 6(int) Load 8(invocation)
+ 2194: 78(ptr) AccessChain 27(data) 38 38
+ 2195: 20(ivec4) Load 2194
+ 2196: 77(ivec2) VectorShuffle 2195 2195 0 1
+ 2197: 77(ivec2) GroupNonUniformBitwiseOr 34 ExclusiveScan 2196
+ 2198: 71(ptr) AccessChain 27(data) 2193 38 30
+ 2199: 19(int) CompositeExtract 2197 0
+ Store 2198 2199
+ 2200: 71(ptr) AccessChain 27(data) 2193 38 47
+ 2201: 19(int) CompositeExtract 2197 1
+ Store 2200 2201
+ 2202: 6(int) Load 8(invocation)
+ 2203: 78(ptr) AccessChain 27(data) 51 38
+ 2204: 20(ivec4) Load 2203
+ 2205: 88(ivec3) VectorShuffle 2204 2204 0 1 2
+ 2206: 88(ivec3) GroupNonUniformBitwiseOr 34 ExclusiveScan 2205
+ 2207: 71(ptr) AccessChain 27(data) 2202 38 30
+ 2208: 19(int) CompositeExtract 2206 0
+ Store 2207 2208
+ 2209: 71(ptr) AccessChain 27(data) 2202 38 47
+ 2210: 19(int) CompositeExtract 2206 1
+ Store 2209 2210
+ 2211: 71(ptr) AccessChain 27(data) 2202 38 61
+ 2212: 19(int) CompositeExtract 2206 2
+ Store 2211 2212
+ 2213: 6(int) Load 8(invocation)
+ 2214: 78(ptr) AccessChain 27(data) 65 38
+ 2215: 20(ivec4) Load 2214
+ 2216: 20(ivec4) GroupNonUniformBitwiseOr 34 ExclusiveScan 2215
+ 2217: 78(ptr) AccessChain 27(data) 2213 38
+ Store 2217 2216
+ 2218: 6(int) Load 8(invocation)
+ 2219: 105(ptr) AccessChain 27(data) 29 51 30
+ 2220: 6(int) Load 2219
+ 2221: 6(int) GroupNonUniformBitwiseOr 34 ExclusiveScan 2220
+ 2222: 105(ptr) AccessChain 27(data) 2218 51 30
+ Store 2222 2221
+ 2223: 6(int) Load 8(invocation)
+ 2224: 112(ptr) AccessChain 27(data) 38 51
+ 2225: 21(ivec4) Load 2224
+ 2226: 111(ivec2) VectorShuffle 2225 2225 0 1
+ 2227: 111(ivec2) GroupNonUniformBitwiseOr 34 ExclusiveScan 2226
+ 2228: 105(ptr) AccessChain 27(data) 2223 51 30
+ 2229: 6(int) CompositeExtract 2227 0
+ Store 2228 2229
+ 2230: 105(ptr) AccessChain 27(data) 2223 51 47
+ 2231: 6(int) CompositeExtract 2227 1
+ Store 2230 2231
+ 2232: 6(int) Load 8(invocation)
+ 2233: 112(ptr) AccessChain 27(data) 51 51
+ 2234: 21(ivec4) Load 2233
+ 2235: 122(ivec3) VectorShuffle 2234 2234 0 1 2
+ 2236: 122(ivec3) GroupNonUniformBitwiseOr 34 ExclusiveScan 2235
+ 2237: 105(ptr) AccessChain 27(data) 2232 51 30
+ 2238: 6(int) CompositeExtract 2236 0
+ Store 2237 2238
+ 2239: 105(ptr) AccessChain 27(data) 2232 51 47
+ 2240: 6(int) CompositeExtract 2236 1
+ Store 2239 2240
+ 2241: 105(ptr) AccessChain 27(data) 2232 51 61
+ 2242: 6(int) CompositeExtract 2236 2
+ Store 2241 2242
+ 2243: 6(int) Load 8(invocation)
+ 2244: 112(ptr) AccessChain 27(data) 65 51
+ 2245: 21(ivec4) Load 2244
+ 2246: 21(ivec4) GroupNonUniformBitwiseOr 34 ExclusiveScan 2245
+ 2247: 112(ptr) AccessChain 27(data) 2243 51
+ Store 2247 2246
+ 2248: 6(int) Load 8(invocation)
+ 2249: 71(ptr) AccessChain 27(data) 29 38 30
+ 2250: 19(int) Load 2249
+ 2251: 595(bool) SLessThan 2250 29
+ 2252: 595(bool) GroupNonUniformLogicalOr 34 ExclusiveScan 2251
+ 2253: 19(int) Select 2252 38 29
+ 2254: 71(ptr) AccessChain 27(data) 2248 38 30
+ Store 2254 2253
+ 2255: 6(int) Load 8(invocation)
+ 2256: 78(ptr) AccessChain 27(data) 38 38
+ 2257: 20(ivec4) Load 2256
+ 2258: 77(ivec2) VectorShuffle 2257 2257 0 1
+ 2259: 605(bvec2) SLessThan 2258 604
+ 2260: 605(bvec2) GroupNonUniformLogicalOr 34 ExclusiveScan 2259
+ 2261: 77(ivec2) Select 2260 608 604
+ 2262: 71(ptr) AccessChain 27(data) 2255 38 30
+ 2263: 19(int) CompositeExtract 2261 0
+ Store 2262 2263
+ 2264: 71(ptr) AccessChain 27(data) 2255 38 47
+ 2265: 19(int) CompositeExtract 2261 1
+ Store 2264 2265
+ 2266: 6(int) Load 8(invocation)
+ 2267: 78(ptr) AccessChain 27(data) 38 38
+ 2268: 20(ivec4) Load 2267
+ 2269: 88(ivec3) VectorShuffle 2268 2268 0 1 2
+ 2270: 619(bvec3) SLessThan 2269 618
+ 2271: 619(bvec3) GroupNonUniformLogicalOr 34 ExclusiveScan 2270
+ 2272: 88(ivec3) Select 2271 622 618
+ 2273: 71(ptr) AccessChain 27(data) 2266 38 30
+ 2274: 19(int) CompositeExtract 2272 0
+ Store 2273 2274
+ 2275: 71(ptr) AccessChain 27(data) 2266 38 47
+ 2276: 19(int) CompositeExtract 2272 1
+ Store 2275 2276
+ 2277: 71(ptr) AccessChain 27(data) 2266 38 61
+ 2278: 19(int) CompositeExtract 2272 2
+ Store 2277 2278
+ 2279: 6(int) Load 8(invocation)
+ 2280: 78(ptr) AccessChain 27(data) 38 38
+ 2281: 20(ivec4) Load 2280
+ 2282: 634(bvec4) SLessThan 2281 633
+ 2283: 634(bvec4) GroupNonUniformLogicalOr 34 ExclusiveScan 2282
+ 2284: 20(ivec4) Select 2283 637 633
+ 2285: 78(ptr) AccessChain 27(data) 2279 38
+ Store 2285 2284
+ 2286: 6(int) Load 8(invocation)
+ 2287: 71(ptr) AccessChain 27(data) 29 38 30
+ 2288: 19(int) Load 2287
+ 2289: 19(int) GroupNonUniformBitwiseXor 34 ExclusiveScan 2288
+ 2290: 71(ptr) AccessChain 27(data) 2286 38 30
+ Store 2290 2289
+ 2291: 6(int) Load 8(invocation)
+ 2292: 78(ptr) AccessChain 27(data) 38 38
+ 2293: 20(ivec4) Load 2292
+ 2294: 77(ivec2) VectorShuffle 2293 2293 0 1
+ 2295: 77(ivec2) GroupNonUniformBitwiseXor 34 ExclusiveScan 2294
+ 2296: 71(ptr) AccessChain 27(data) 2291 38 30
+ 2297: 19(int) CompositeExtract 2295 0
+ Store 2296 2297
+ 2298: 71(ptr) AccessChain 27(data) 2291 38 47
+ 2299: 19(int) CompositeExtract 2295 1
+ Store 2298 2299
+ 2300: 6(int) Load 8(invocation)
+ 2301: 78(ptr) AccessChain 27(data) 51 38
+ 2302: 20(ivec4) Load 2301
+ 2303: 88(ivec3) VectorShuffle 2302 2302 0 1 2
+ 2304: 88(ivec3) GroupNonUniformBitwiseXor 34 ExclusiveScan 2303
+ 2305: 71(ptr) AccessChain 27(data) 2300 38 30
+ 2306: 19(int) CompositeExtract 2304 0
+ Store 2305 2306
+ 2307: 71(ptr) AccessChain 27(data) 2300 38 47
+ 2308: 19(int) CompositeExtract 2304 1
+ Store 2307 2308
+ 2309: 71(ptr) AccessChain 27(data) 2300 38 61
+ 2310: 19(int) CompositeExtract 2304 2
+ Store 2309 2310
+ 2311: 6(int) Load 8(invocation)
+ 2312: 78(ptr) AccessChain 27(data) 65 38
+ 2313: 20(ivec4) Load 2312
+ 2314: 20(ivec4) GroupNonUniformBitwiseXor 34 ExclusiveScan 2313
+ 2315: 78(ptr) AccessChain 27(data) 2311 38
+ Store 2315 2314
+ 2316: 6(int) Load 8(invocation)
+ 2317: 105(ptr) AccessChain 27(data) 29 51 30
+ 2318: 6(int) Load 2317
+ 2319: 6(int) GroupNonUniformBitwiseXor 34 ExclusiveScan 2318
+ 2320: 105(ptr) AccessChain 27(data) 2316 51 30
+ Store 2320 2319
+ 2321: 6(int) Load 8(invocation)
+ 2322: 112(ptr) AccessChain 27(data) 38 51
+ 2323: 21(ivec4) Load 2322
+ 2324: 111(ivec2) VectorShuffle 2323 2323 0 1
+ 2325: 111(ivec2) GroupNonUniformBitwiseXor 34 ExclusiveScan 2324
+ 2326: 105(ptr) AccessChain 27(data) 2321 51 30
+ 2327: 6(int) CompositeExtract 2325 0
+ Store 2326 2327
+ 2328: 105(ptr) AccessChain 27(data) 2321 51 47
+ 2329: 6(int) CompositeExtract 2325 1
+ Store 2328 2329
+ 2330: 6(int) Load 8(invocation)
+ 2331: 112(ptr) AccessChain 27(data) 51 51
+ 2332: 21(ivec4) Load 2331
+ 2333: 122(ivec3) VectorShuffle 2332 2332 0 1 2
+ 2334: 122(ivec3) GroupNonUniformBitwiseXor 34 ExclusiveScan 2333
+ 2335: 105(ptr) AccessChain 27(data) 2330 51 30
+ 2336: 6(int) CompositeExtract 2334 0
+ Store 2335 2336
+ 2337: 105(ptr) AccessChain 27(data) 2330 51 47
+ 2338: 6(int) CompositeExtract 2334 1
+ Store 2337 2338
+ 2339: 105(ptr) AccessChain 27(data) 2330 51 61
+ 2340: 6(int) CompositeExtract 2334 2
+ Store 2339 2340
+ 2341: 6(int) Load 8(invocation)
+ 2342: 112(ptr) AccessChain 27(data) 65 51
+ 2343: 21(ivec4) Load 2342
+ 2344: 21(ivec4) GroupNonUniformBitwiseXor 34 ExclusiveScan 2343
+ 2345: 112(ptr) AccessChain 27(data) 2341 51
+ Store 2345 2344
+ 2346: 6(int) Load 8(invocation)
+ 2347: 71(ptr) AccessChain 27(data) 29 38 30
+ 2348: 19(int) Load 2347
+ 2349: 595(bool) SLessThan 2348 29
+ 2350: 595(bool) GroupNonUniformLogicalXor 34 ExclusiveScan 2349
+ 2351: 19(int) Select 2350 38 29
+ 2352: 71(ptr) AccessChain 27(data) 2346 38 30
+ Store 2352 2351
+ 2353: 6(int) Load 8(invocation)
+ 2354: 78(ptr) AccessChain 27(data) 38 38
+ 2355: 20(ivec4) Load 2354
+ 2356: 77(ivec2) VectorShuffle 2355 2355 0 1
+ 2357: 605(bvec2) SLessThan 2356 604
+ 2358: 605(bvec2) GroupNonUniformLogicalXor 34 ExclusiveScan 2357
+ 2359: 77(ivec2) Select 2358 608 604
+ 2360: 71(ptr) AccessChain 27(data) 2353 38 30
+ 2361: 19(int) CompositeExtract 2359 0
+ Store 2360 2361
+ 2362: 71(ptr) AccessChain 27(data) 2353 38 47
+ 2363: 19(int) CompositeExtract 2359 1
+ Store 2362 2363
+ 2364: 6(int) Load 8(invocation)
+ 2365: 78(ptr) AccessChain 27(data) 38 38
+ 2366: 20(ivec4) Load 2365
+ 2367: 88(ivec3) VectorShuffle 2366 2366 0 1 2
+ 2368: 619(bvec3) SLessThan 2367 618
+ 2369: 619(bvec3) GroupNonUniformLogicalXor 34 ExclusiveScan 2368
+ 2370: 88(ivec3) Select 2369 622 618
+ 2371: 71(ptr) AccessChain 27(data) 2364 38 30
+ 2372: 19(int) CompositeExtract 2370 0
+ Store 2371 2372
+ 2373: 71(ptr) AccessChain 27(data) 2364 38 47
+ 2374: 19(int) CompositeExtract 2370 1
+ Store 2373 2374
+ 2375: 71(ptr) AccessChain 27(data) 2364 38 61
+ 2376: 19(int) CompositeExtract 2370 2
+ Store 2375 2376
+ 2377: 6(int) Load 8(invocation)
+ 2378: 78(ptr) AccessChain 27(data) 38 38
+ 2379: 20(ivec4) Load 2378
+ 2380: 634(bvec4) SLessThan 2379 633
+ 2381: 634(bvec4) GroupNonUniformLogicalXor 34 ExclusiveScan 2380
+ 2382: 20(ivec4) Select 2381 637 633
+ 2383: 78(ptr) AccessChain 27(data) 2377 38
+ Store 2383 2382
Return
FunctionEnd
diff --git a/Test/baseResults/spv.subgroupBallot.comp.out b/Test/baseResults/spv.subgroupBallot.comp.out
index 0e83773..65cfa7a 100644
--- a/Test/baseResults/spv.subgroupBallot.comp.out
+++ b/Test/baseResults/spv.subgroupBallot.comp.out
@@ -1,7 +1,7 @@
spv.subgroupBallot.comp
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 397
+// Id's are bound by 437
Capability Shader
Capability Float64
@@ -51,7 +51,7 @@
Decorate 46(Buffers) Block
Decorate 49(data) DescriptorSet 0
Decorate 49(data) Binding 0
- Decorate 396 BuiltIn WorkgroupSize
+ Decorate 436 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -93,28 +93,28 @@
96: TypePointer StorageBuffer 40(float)
102: TypeVector 40(float) 2
103: TypePointer StorageBuffer 41(fvec4)
- 112: TypeVector 40(float) 3
- 121: 42(int) Constant 3
- 127: TypePointer StorageBuffer 42(int)
- 133: TypeVector 42(int) 2
- 134: TypePointer StorageBuffer 43(ivec4)
- 143: TypeVector 42(int) 3
- 162: TypeVector 6(int) 2
- 171: TypeVector 6(int) 3
- 185: TypePointer StorageBuffer 44(float64_t)
- 191: TypeVector 44(float64_t) 2
- 192: TypePointer StorageBuffer 45(f64vec4)
- 201: TypeVector 44(float64_t) 3
- 225: 133(ivec2) ConstantComposite 61 61
- 226: TypeVector 36(bool) 2
- 229: 133(ivec2) ConstantComposite 60 60
- 238: 143(ivec3) ConstantComposite 61 61 61
- 239: TypeVector 36(bool) 3
- 242: 143(ivec3) ConstantComposite 60 60 60
- 250: 43(ivec4) ConstantComposite 61 61 61 61
- 253: 43(ivec4) ConstantComposite 60 60 60 60
- 395: 6(int) Constant 8
- 396: 171(ivec3) ConstantComposite 395 395 64
+ 113: TypeVector 40(float) 3
+ 125: 42(int) Constant 3
+ 131: TypePointer StorageBuffer 42(int)
+ 137: TypeVector 42(int) 2
+ 138: TypePointer StorageBuffer 43(ivec4)
+ 148: TypeVector 42(int) 3
+ 170: TypeVector 6(int) 2
+ 180: TypeVector 6(int) 3
+ 197: TypePointer StorageBuffer 44(float64_t)
+ 203: TypeVector 44(float64_t) 2
+ 204: TypePointer StorageBuffer 45(f64vec4)
+ 214: TypeVector 44(float64_t) 3
+ 241: 137(ivec2) ConstantComposite 61 61
+ 242: TypeVector 36(bool) 2
+ 245: 137(ivec2) ConstantComposite 60 60
+ 255: 148(ivec3) ConstantComposite 61 61 61
+ 256: TypeVector 36(bool) 3
+ 259: 148(ivec3) ConstantComposite 60 60 60
+ 270: 43(ivec4) ConstantComposite 61 61 61 61
+ 273: 43(ivec4) ConstantComposite 60 60 60 60
+ 435: 6(int) Constant 8
+ 436: 180(ivec3) ConstantComposite 435 435 64
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@@ -179,7 +179,7 @@
87: Label
92: 36(bool) Phi 85 5 91 86
SelectionMerge 94 None
- BranchConditional 92 93 256
+ BranchConditional 92 93 276
93: Label
95: 6(int) Load 8(invocation)
97: 96(ptr) AccessChain 49(data) 61 61 54
@@ -192,313 +192,383 @@
105: 41(fvec4) Load 104
106: 102(fvec2) VectorShuffle 105 105 0 1
107: 102(fvec2) GroupNonUniformBroadcast 38 106 38
- 108: 103(ptr) AccessChain 49(data) 101 61
- 109: 41(fvec4) Load 108
- 110: 41(fvec4) VectorShuffle 109 107 4 5 2 3
- Store 108 110
- 111: 6(int) Load 8(invocation)
- 113: 103(ptr) AccessChain 49(data) 51 61
- 114: 41(fvec4) Load 113
- 115: 112(fvec3) VectorShuffle 114 114 0 1 2
- 116: 112(fvec3) GroupNonUniformBroadcast 38 115 38
- 117: 103(ptr) AccessChain 49(data) 111 61
- 118: 41(fvec4) Load 117
- 119: 41(fvec4) VectorShuffle 118 116 4 5 6 3
- Store 117 119
- 120: 6(int) Load 8(invocation)
- 122: 103(ptr) AccessChain 49(data) 121 61
- 123: 41(fvec4) Load 122
- 124: 41(fvec4) GroupNonUniformBroadcast 38 123 38
- 125: 103(ptr) AccessChain 49(data) 120 61
- Store 125 124
- 126: 6(int) Load 8(invocation)
- 128: 127(ptr) AccessChain 49(data) 61 60 54
- 129: 42(int) Load 128
- 130: 42(int) GroupNonUniformBroadcast 38 129 72
- 131: 127(ptr) AccessChain 49(data) 126 60 54
- Store 131 130
- 132: 6(int) Load 8(invocation)
- 135: 134(ptr) AccessChain 49(data) 60 60
- 136: 43(ivec4) Load 135
- 137: 133(ivec2) VectorShuffle 136 136 0 1
- 138: 133(ivec2) GroupNonUniformBroadcast 38 137 72
- 139: 134(ptr) AccessChain 49(data) 132 60
+ 108: 96(ptr) AccessChain 49(data) 101 61 54
+ 109: 40(float) CompositeExtract 107 0
+ Store 108 109
+ 110: 96(ptr) AccessChain 49(data) 101 61 64
+ 111: 40(float) CompositeExtract 107 1
+ Store 110 111
+ 112: 6(int) Load 8(invocation)
+ 114: 103(ptr) AccessChain 49(data) 51 61
+ 115: 41(fvec4) Load 114
+ 116: 113(fvec3) VectorShuffle 115 115 0 1 2
+ 117: 113(fvec3) GroupNonUniformBroadcast 38 116 38
+ 118: 96(ptr) AccessChain 49(data) 112 61 54
+ 119: 40(float) CompositeExtract 117 0
+ Store 118 119
+ 120: 96(ptr) AccessChain 49(data) 112 61 64
+ 121: 40(float) CompositeExtract 117 1
+ Store 120 121
+ 122: 96(ptr) AccessChain 49(data) 112 61 72
+ 123: 40(float) CompositeExtract 117 2
+ Store 122 123
+ 124: 6(int) Load 8(invocation)
+ 126: 103(ptr) AccessChain 49(data) 125 61
+ 127: 41(fvec4) Load 126
+ 128: 41(fvec4) GroupNonUniformBroadcast 38 127 38
+ 129: 103(ptr) AccessChain 49(data) 124 61
+ Store 129 128
+ 130: 6(int) Load 8(invocation)
+ 132: 131(ptr) AccessChain 49(data) 61 60 54
+ 133: 42(int) Load 132
+ 134: 42(int) GroupNonUniformBroadcast 38 133 72
+ 135: 131(ptr) AccessChain 49(data) 130 60 54
+ Store 135 134
+ 136: 6(int) Load 8(invocation)
+ 139: 138(ptr) AccessChain 49(data) 60 60
140: 43(ivec4) Load 139
- 141: 43(ivec4) VectorShuffle 140 138 4 5 2 3
- Store 139 141
- 142: 6(int) Load 8(invocation)
- 144: 134(ptr) AccessChain 49(data) 51 60
- 145: 43(ivec4) Load 144
- 146: 143(ivec3) VectorShuffle 145 145 0 1 2
- 147: 143(ivec3) GroupNonUniformBroadcast 38 146 72
- 148: 134(ptr) AccessChain 49(data) 142 60
- 149: 43(ivec4) Load 148
- 150: 43(ivec4) VectorShuffle 149 147 4 5 6 3
- Store 148 150
- 151: 6(int) Load 8(invocation)
- 152: 134(ptr) AccessChain 49(data) 121 60
- 153: 43(ivec4) Load 152
- 154: 43(ivec4) GroupNonUniformBroadcast 38 153 72
- 155: 134(ptr) AccessChain 49(data) 151 60
- Store 155 154
- 156: 6(int) Load 8(invocation)
- 157: 55(ptr) AccessChain 49(data) 61 51 54
- 158: 6(int) Load 157
- 159: 6(int) GroupNonUniformBroadcast 38 158 64
- 160: 55(ptr) AccessChain 49(data) 156 51 54
- Store 160 159
- 161: 6(int) Load 8(invocation)
- 163: 88(ptr) AccessChain 49(data) 60 51
- 164: 17(ivec4) Load 163
- 165: 162(ivec2) VectorShuffle 164 164 0 1
- 166: 162(ivec2) GroupNonUniformBroadcast 38 165 64
- 167: 88(ptr) AccessChain 49(data) 161 51
- 168: 17(ivec4) Load 167
- 169: 17(ivec4) VectorShuffle 168 166 4 5 2 3
- Store 167 169
- 170: 6(int) Load 8(invocation)
- 172: 88(ptr) AccessChain 49(data) 51 51
- 173: 17(ivec4) Load 172
- 174: 171(ivec3) VectorShuffle 173 173 0 1 2
- 175: 171(ivec3) GroupNonUniformBroadcast 38 174 64
- 176: 88(ptr) AccessChain 49(data) 170 51
- 177: 17(ivec4) Load 176
- 178: 17(ivec4) VectorShuffle 177 175 4 5 6 3
- Store 176 178
+ 141: 137(ivec2) VectorShuffle 140 140 0 1
+ 142: 137(ivec2) GroupNonUniformBroadcast 38 141 72
+ 143: 131(ptr) AccessChain 49(data) 136 60 54
+ 144: 42(int) CompositeExtract 142 0
+ Store 143 144
+ 145: 131(ptr) AccessChain 49(data) 136 60 64
+ 146: 42(int) CompositeExtract 142 1
+ Store 145 146
+ 147: 6(int) Load 8(invocation)
+ 149: 138(ptr) AccessChain 49(data) 51 60
+ 150: 43(ivec4) Load 149
+ 151: 148(ivec3) VectorShuffle 150 150 0 1 2
+ 152: 148(ivec3) GroupNonUniformBroadcast 38 151 72
+ 153: 131(ptr) AccessChain 49(data) 147 60 54
+ 154: 42(int) CompositeExtract 152 0
+ Store 153 154
+ 155: 131(ptr) AccessChain 49(data) 147 60 64
+ 156: 42(int) CompositeExtract 152 1
+ Store 155 156
+ 157: 131(ptr) AccessChain 49(data) 147 60 72
+ 158: 42(int) CompositeExtract 152 2
+ Store 157 158
+ 159: 6(int) Load 8(invocation)
+ 160: 138(ptr) AccessChain 49(data) 125 60
+ 161: 43(ivec4) Load 160
+ 162: 43(ivec4) GroupNonUniformBroadcast 38 161 72
+ 163: 138(ptr) AccessChain 49(data) 159 60
+ Store 163 162
+ 164: 6(int) Load 8(invocation)
+ 165: 55(ptr) AccessChain 49(data) 61 51 54
+ 166: 6(int) Load 165
+ 167: 6(int) GroupNonUniformBroadcast 38 166 64
+ 168: 55(ptr) AccessChain 49(data) 164 51 54
+ Store 168 167
+ 169: 6(int) Load 8(invocation)
+ 171: 88(ptr) AccessChain 49(data) 60 51
+ 172: 17(ivec4) Load 171
+ 173: 170(ivec2) VectorShuffle 172 172 0 1
+ 174: 170(ivec2) GroupNonUniformBroadcast 38 173 64
+ 175: 55(ptr) AccessChain 49(data) 169 51 54
+ 176: 6(int) CompositeExtract 174 0
+ Store 175 176
+ 177: 55(ptr) AccessChain 49(data) 169 51 64
+ 178: 6(int) CompositeExtract 174 1
+ Store 177 178
179: 6(int) Load 8(invocation)
- 180: 88(ptr) AccessChain 49(data) 121 51
- 181: 17(ivec4) Load 180
- 182: 17(ivec4) GroupNonUniformBroadcast 38 181 64
- 183: 88(ptr) AccessChain 49(data) 179 51
- Store 183 182
- 184: 6(int) Load 8(invocation)
- 186: 185(ptr) AccessChain 49(data) 61 121 54
- 187:44(float64_t) Load 186
- 188:44(float64_t) GroupNonUniformBroadcast 38 187 54
- 189: 185(ptr) AccessChain 49(data) 184 121 54
- Store 189 188
- 190: 6(int) Load 8(invocation)
- 193: 192(ptr) AccessChain 49(data) 60 121
- 194: 45(f64vec4) Load 193
- 195:191(f64vec2) VectorShuffle 194 194 0 1
- 196:191(f64vec2) GroupNonUniformBroadcast 38 195 54
- 197: 192(ptr) AccessChain 49(data) 190 121
- 198: 45(f64vec4) Load 197
- 199: 45(f64vec4) VectorShuffle 198 196 4 5 2 3
- Store 197 199
- 200: 6(int) Load 8(invocation)
- 202: 192(ptr) AccessChain 49(data) 51 121
- 203: 45(f64vec4) Load 202
- 204:201(f64vec3) VectorShuffle 203 203 0 1 2
- 205:201(f64vec3) GroupNonUniformBroadcast 38 204 54
- 206: 192(ptr) AccessChain 49(data) 200 121
- 207: 45(f64vec4) Load 206
- 208: 45(f64vec4) VectorShuffle 207 205 4 5 6 3
- Store 206 208
- 209: 6(int) Load 8(invocation)
- 210: 192(ptr) AccessChain 49(data) 121 121
- 211: 45(f64vec4) Load 210
- 212: 45(f64vec4) GroupNonUniformBroadcast 38 211 54
- 213: 192(ptr) AccessChain 49(data) 209 121
- Store 213 212
- 214: 6(int) Load 8(invocation)
- 215: 127(ptr) AccessChain 49(data) 61 60 54
- 216: 42(int) Load 215
- 217: 36(bool) SLessThan 216 61
- 218: 36(bool) GroupNonUniformBroadcast 38 217 64
- 219: 42(int) Select 218 60 61
- 220: 127(ptr) AccessChain 49(data) 214 60 54
- Store 220 219
- 221: 6(int) Load 8(invocation)
- 222: 134(ptr) AccessChain 49(data) 60 60
- 223: 43(ivec4) Load 222
- 224: 133(ivec2) VectorShuffle 223 223 0 1
- 227: 226(bvec2) SLessThan 224 225
- 228: 226(bvec2) GroupNonUniformBroadcast 38 227 64
- 230: 133(ivec2) Select 228 229 225
- 231: 134(ptr) AccessChain 49(data) 221 60
- 232: 43(ivec4) Load 231
- 233: 43(ivec4) VectorShuffle 232 230 4 5 2 3
- Store 231 233
- 234: 6(int) Load 8(invocation)
- 235: 134(ptr) AccessChain 49(data) 60 60
- 236: 43(ivec4) Load 235
- 237: 143(ivec3) VectorShuffle 236 236 0 1 2
- 240: 239(bvec3) SLessThan 237 238
- 241: 239(bvec3) GroupNonUniformBroadcast 38 240 64
- 243: 143(ivec3) Select 241 242 238
- 244: 134(ptr) AccessChain 49(data) 234 60
- 245: 43(ivec4) Load 244
- 246: 43(ivec4) VectorShuffle 245 243 4 5 6 3
- Store 244 246
- 247: 6(int) Load 8(invocation)
- 248: 134(ptr) AccessChain 49(data) 60 60
- 249: 43(ivec4) Load 248
- 251: 83(bvec4) SLessThan 249 250
- 252: 83(bvec4) GroupNonUniformBroadcast 38 251 64
- 254: 43(ivec4) Select 252 253 250
- 255: 134(ptr) AccessChain 49(data) 247 60
- Store 255 254
+ 181: 88(ptr) AccessChain 49(data) 51 51
+ 182: 17(ivec4) Load 181
+ 183: 180(ivec3) VectorShuffle 182 182 0 1 2
+ 184: 180(ivec3) GroupNonUniformBroadcast 38 183 64
+ 185: 55(ptr) AccessChain 49(data) 179 51 54
+ 186: 6(int) CompositeExtract 184 0
+ Store 185 186
+ 187: 55(ptr) AccessChain 49(data) 179 51 64
+ 188: 6(int) CompositeExtract 184 1
+ Store 187 188
+ 189: 55(ptr) AccessChain 49(data) 179 51 72
+ 190: 6(int) CompositeExtract 184 2
+ Store 189 190
+ 191: 6(int) Load 8(invocation)
+ 192: 88(ptr) AccessChain 49(data) 125 51
+ 193: 17(ivec4) Load 192
+ 194: 17(ivec4) GroupNonUniformBroadcast 38 193 64
+ 195: 88(ptr) AccessChain 49(data) 191 51
+ Store 195 194
+ 196: 6(int) Load 8(invocation)
+ 198: 197(ptr) AccessChain 49(data) 61 125 54
+ 199:44(float64_t) Load 198
+ 200:44(float64_t) GroupNonUniformBroadcast 38 199 54
+ 201: 197(ptr) AccessChain 49(data) 196 125 54
+ Store 201 200
+ 202: 6(int) Load 8(invocation)
+ 205: 204(ptr) AccessChain 49(data) 60 125
+ 206: 45(f64vec4) Load 205
+ 207:203(f64vec2) VectorShuffle 206 206 0 1
+ 208:203(f64vec2) GroupNonUniformBroadcast 38 207 54
+ 209: 197(ptr) AccessChain 49(data) 202 125 54
+ 210:44(float64_t) CompositeExtract 208 0
+ Store 209 210
+ 211: 197(ptr) AccessChain 49(data) 202 125 64
+ 212:44(float64_t) CompositeExtract 208 1
+ Store 211 212
+ 213: 6(int) Load 8(invocation)
+ 215: 204(ptr) AccessChain 49(data) 51 125
+ 216: 45(f64vec4) Load 215
+ 217:214(f64vec3) VectorShuffle 216 216 0 1 2
+ 218:214(f64vec3) GroupNonUniformBroadcast 38 217 54
+ 219: 197(ptr) AccessChain 49(data) 213 125 54
+ 220:44(float64_t) CompositeExtract 218 0
+ Store 219 220
+ 221: 197(ptr) AccessChain 49(data) 213 125 64
+ 222:44(float64_t) CompositeExtract 218 1
+ Store 221 222
+ 223: 197(ptr) AccessChain 49(data) 213 125 72
+ 224:44(float64_t) CompositeExtract 218 2
+ Store 223 224
+ 225: 6(int) Load 8(invocation)
+ 226: 204(ptr) AccessChain 49(data) 125 125
+ 227: 45(f64vec4) Load 226
+ 228: 45(f64vec4) GroupNonUniformBroadcast 38 227 54
+ 229: 204(ptr) AccessChain 49(data) 225 125
+ Store 229 228
+ 230: 6(int) Load 8(invocation)
+ 231: 131(ptr) AccessChain 49(data) 61 60 54
+ 232: 42(int) Load 231
+ 233: 36(bool) SLessThan 232 61
+ 234: 36(bool) GroupNonUniformBroadcast 38 233 64
+ 235: 42(int) Select 234 60 61
+ 236: 131(ptr) AccessChain 49(data) 230 60 54
+ Store 236 235
+ 237: 6(int) Load 8(invocation)
+ 238: 138(ptr) AccessChain 49(data) 60 60
+ 239: 43(ivec4) Load 238
+ 240: 137(ivec2) VectorShuffle 239 239 0 1
+ 243: 242(bvec2) SLessThan 240 241
+ 244: 242(bvec2) GroupNonUniformBroadcast 38 243 64
+ 246: 137(ivec2) Select 244 245 241
+ 247: 131(ptr) AccessChain 49(data) 237 60 54
+ 248: 42(int) CompositeExtract 246 0
+ Store 247 248
+ 249: 131(ptr) AccessChain 49(data) 237 60 64
+ 250: 42(int) CompositeExtract 246 1
+ Store 249 250
+ 251: 6(int) Load 8(invocation)
+ 252: 138(ptr) AccessChain 49(data) 60 60
+ 253: 43(ivec4) Load 252
+ 254: 148(ivec3) VectorShuffle 253 253 0 1 2
+ 257: 256(bvec3) SLessThan 254 255
+ 258: 256(bvec3) GroupNonUniformBroadcast 38 257 64
+ 260: 148(ivec3) Select 258 259 255
+ 261: 131(ptr) AccessChain 49(data) 251 60 54
+ 262: 42(int) CompositeExtract 260 0
+ Store 261 262
+ 263: 131(ptr) AccessChain 49(data) 251 60 64
+ 264: 42(int) CompositeExtract 260 1
+ Store 263 264
+ 265: 131(ptr) AccessChain 49(data) 251 60 72
+ 266: 42(int) CompositeExtract 260 2
+ Store 265 266
+ 267: 6(int) Load 8(invocation)
+ 268: 138(ptr) AccessChain 49(data) 60 60
+ 269: 43(ivec4) Load 268
+ 271: 83(bvec4) SLessThan 269 270
+ 272: 83(bvec4) GroupNonUniformBroadcast 38 271 64
+ 274: 43(ivec4) Select 272 273 270
+ 275: 138(ptr) AccessChain 49(data) 267 60
+ Store 275 274
Branch 94
- 256: Label
- 257: 6(int) Load 8(invocation)
- 258: 96(ptr) AccessChain 49(data) 61 61 54
- 259: 40(float) Load 258
- 260: 40(float) GroupNonUniformBroadcastFirst 38 259
- 261: 96(ptr) AccessChain 49(data) 257 61 54
- Store 261 260
- 262: 6(int) Load 8(invocation)
- 263: 103(ptr) AccessChain 49(data) 60 61
- 264: 41(fvec4) Load 263
- 265: 102(fvec2) VectorShuffle 264 264 0 1
- 266: 102(fvec2) GroupNonUniformBroadcastFirst 38 265
- 267: 103(ptr) AccessChain 49(data) 262 61
- 268: 41(fvec4) Load 267
- 269: 41(fvec4) VectorShuffle 268 266 4 5 2 3
- Store 267 269
- 270: 6(int) Load 8(invocation)
- 271: 103(ptr) AccessChain 49(data) 51 61
- 272: 41(fvec4) Load 271
- 273: 112(fvec3) VectorShuffle 272 272 0 1 2
- 274: 112(fvec3) GroupNonUniformBroadcastFirst 38 273
- 275: 103(ptr) AccessChain 49(data) 270 61
- 276: 41(fvec4) Load 275
- 277: 41(fvec4) VectorShuffle 276 274 4 5 6 3
- Store 275 277
- 278: 6(int) Load 8(invocation)
- 279: 103(ptr) AccessChain 49(data) 121 61
- 280: 41(fvec4) Load 279
- 281: 41(fvec4) GroupNonUniformBroadcastFirst 38 280
- 282: 103(ptr) AccessChain 49(data) 278 61
- Store 282 281
- 283: 6(int) Load 8(invocation)
- 284: 127(ptr) AccessChain 49(data) 61 60 54
- 285: 42(int) Load 284
- 286: 42(int) GroupNonUniformBroadcastFirst 38 285
- 287: 127(ptr) AccessChain 49(data) 283 60 54
- Store 287 286
- 288: 6(int) Load 8(invocation)
- 289: 134(ptr) AccessChain 49(data) 60 60
- 290: 43(ivec4) Load 289
- 291: 133(ivec2) VectorShuffle 290 290 0 1
- 292: 133(ivec2) GroupNonUniformBroadcastFirst 38 291
- 293: 134(ptr) AccessChain 49(data) 288 60
- 294: 43(ivec4) Load 293
- 295: 43(ivec4) VectorShuffle 294 292 4 5 2 3
- Store 293 295
- 296: 6(int) Load 8(invocation)
- 297: 134(ptr) AccessChain 49(data) 51 60
- 298: 43(ivec4) Load 297
- 299: 143(ivec3) VectorShuffle 298 298 0 1 2
- 300: 143(ivec3) GroupNonUniformBroadcastFirst 38 299
- 301: 134(ptr) AccessChain 49(data) 296 60
- 302: 43(ivec4) Load 301
- 303: 43(ivec4) VectorShuffle 302 300 4 5 6 3
- Store 301 303
- 304: 6(int) Load 8(invocation)
- 305: 134(ptr) AccessChain 49(data) 121 60
- 306: 43(ivec4) Load 305
- 307: 43(ivec4) GroupNonUniformBroadcastFirst 38 306
- 308: 134(ptr) AccessChain 49(data) 304 60
- Store 308 307
- 309: 6(int) Load 8(invocation)
- 310: 55(ptr) AccessChain 49(data) 61 51 54
- 311: 6(int) Load 310
- 312: 6(int) GroupNonUniformBroadcastFirst 38 311
- 313: 55(ptr) AccessChain 49(data) 309 51 54
- Store 313 312
- 314: 6(int) Load 8(invocation)
- 315: 88(ptr) AccessChain 49(data) 60 51
- 316: 17(ivec4) Load 315
- 317: 162(ivec2) VectorShuffle 316 316 0 1
- 318: 162(ivec2) GroupNonUniformBroadcastFirst 38 317
- 319: 88(ptr) AccessChain 49(data) 314 51
- 320: 17(ivec4) Load 319
- 321: 17(ivec4) VectorShuffle 320 318 4 5 2 3
- Store 319 321
- 322: 6(int) Load 8(invocation)
- 323: 88(ptr) AccessChain 49(data) 51 51
- 324: 17(ivec4) Load 323
- 325: 171(ivec3) VectorShuffle 324 324 0 1 2
- 326: 171(ivec3) GroupNonUniformBroadcastFirst 38 325
- 327: 88(ptr) AccessChain 49(data) 322 51
- 328: 17(ivec4) Load 327
- 329: 17(ivec4) VectorShuffle 328 326 4 5 6 3
- Store 327 329
- 330: 6(int) Load 8(invocation)
- 331: 88(ptr) AccessChain 49(data) 121 51
- 332: 17(ivec4) Load 331
- 333: 17(ivec4) GroupNonUniformBroadcastFirst 38 332
- 334: 88(ptr) AccessChain 49(data) 330 51
- Store 334 333
- 335: 6(int) Load 8(invocation)
- 336: 185(ptr) AccessChain 49(data) 61 121 54
- 337:44(float64_t) Load 336
- 338:44(float64_t) GroupNonUniformBroadcastFirst 38 337
- 339: 185(ptr) AccessChain 49(data) 335 121 54
- Store 339 338
- 340: 6(int) Load 8(invocation)
- 341: 192(ptr) AccessChain 49(data) 60 121
- 342: 45(f64vec4) Load 341
- 343:191(f64vec2) VectorShuffle 342 342 0 1
- 344:191(f64vec2) GroupNonUniformBroadcastFirst 38 343
- 345: 192(ptr) AccessChain 49(data) 340 121
- 346: 45(f64vec4) Load 345
- 347: 45(f64vec4) VectorShuffle 346 344 4 5 2 3
- Store 345 347
- 348: 6(int) Load 8(invocation)
- 349: 192(ptr) AccessChain 49(data) 51 121
- 350: 45(f64vec4) Load 349
- 351:201(f64vec3) VectorShuffle 350 350 0 1 2
- 352:201(f64vec3) GroupNonUniformBroadcastFirst 38 351
- 353: 192(ptr) AccessChain 49(data) 348 121
- 354: 45(f64vec4) Load 353
- 355: 45(f64vec4) VectorShuffle 354 352 4 5 6 3
- Store 353 355
- 356: 6(int) Load 8(invocation)
- 357: 192(ptr) AccessChain 49(data) 121 121
- 358: 45(f64vec4) Load 357
- 359: 45(f64vec4) GroupNonUniformBroadcastFirst 38 358
- 360: 192(ptr) AccessChain 49(data) 356 121
- Store 360 359
- 361: 6(int) Load 8(invocation)
- 362: 127(ptr) AccessChain 49(data) 61 60 54
- 363: 42(int) Load 362
- 364: 36(bool) SLessThan 363 61
- 365: 36(bool) GroupNonUniformBroadcastFirst 38 364
- 366: 42(int) Select 365 60 61
- 367: 127(ptr) AccessChain 49(data) 361 60 54
- Store 367 366
- 368: 6(int) Load 8(invocation)
- 369: 134(ptr) AccessChain 49(data) 60 60
- 370: 43(ivec4) Load 369
- 371: 133(ivec2) VectorShuffle 370 370 0 1
- 372: 226(bvec2) SLessThan 371 225
- 373: 226(bvec2) GroupNonUniformBroadcastFirst 38 372
- 374: 133(ivec2) Select 373 229 225
- 375: 134(ptr) AccessChain 49(data) 368 60
- 376: 43(ivec4) Load 375
- 377: 43(ivec4) VectorShuffle 376 374 4 5 2 3
- Store 375 377
- 378: 6(int) Load 8(invocation)
- 379: 134(ptr) AccessChain 49(data) 60 60
- 380: 43(ivec4) Load 379
- 381: 143(ivec3) VectorShuffle 380 380 0 1 2
- 382: 239(bvec3) SLessThan 381 238
- 383: 239(bvec3) GroupNonUniformBroadcastFirst 38 382
- 384: 143(ivec3) Select 383 242 238
- 385: 134(ptr) AccessChain 49(data) 378 60
- 386: 43(ivec4) Load 385
- 387: 43(ivec4) VectorShuffle 386 384 4 5 6 3
- Store 385 387
- 388: 6(int) Load 8(invocation)
- 389: 134(ptr) AccessChain 49(data) 60 60
- 390: 43(ivec4) Load 389
- 391: 83(bvec4) SLessThan 390 250
- 392: 83(bvec4) GroupNonUniformBroadcastFirst 38 391
- 393: 43(ivec4) Select 392 253 250
- 394: 134(ptr) AccessChain 49(data) 388 60
- Store 394 393
+ 276: Label
+ 277: 6(int) Load 8(invocation)
+ 278: 96(ptr) AccessChain 49(data) 61 61 54
+ 279: 40(float) Load 278
+ 280: 40(float) GroupNonUniformBroadcastFirst 38 279
+ 281: 96(ptr) AccessChain 49(data) 277 61 54
+ Store 281 280
+ 282: 6(int) Load 8(invocation)
+ 283: 103(ptr) AccessChain 49(data) 60 61
+ 284: 41(fvec4) Load 283
+ 285: 102(fvec2) VectorShuffle 284 284 0 1
+ 286: 102(fvec2) GroupNonUniformBroadcastFirst 38 285
+ 287: 96(ptr) AccessChain 49(data) 282 61 54
+ 288: 40(float) CompositeExtract 286 0
+ Store 287 288
+ 289: 96(ptr) AccessChain 49(data) 282 61 64
+ 290: 40(float) CompositeExtract 286 1
+ Store 289 290
+ 291: 6(int) Load 8(invocation)
+ 292: 103(ptr) AccessChain 49(data) 51 61
+ 293: 41(fvec4) Load 292
+ 294: 113(fvec3) VectorShuffle 293 293 0 1 2
+ 295: 113(fvec3) GroupNonUniformBroadcastFirst 38 294
+ 296: 96(ptr) AccessChain 49(data) 291 61 54
+ 297: 40(float) CompositeExtract 295 0
+ Store 296 297
+ 298: 96(ptr) AccessChain 49(data) 291 61 64
+ 299: 40(float) CompositeExtract 295 1
+ Store 298 299
+ 300: 96(ptr) AccessChain 49(data) 291 61 72
+ 301: 40(float) CompositeExtract 295 2
+ Store 300 301
+ 302: 6(int) Load 8(invocation)
+ 303: 103(ptr) AccessChain 49(data) 125 61
+ 304: 41(fvec4) Load 303
+ 305: 41(fvec4) GroupNonUniformBroadcastFirst 38 304
+ 306: 103(ptr) AccessChain 49(data) 302 61
+ Store 306 305
+ 307: 6(int) Load 8(invocation)
+ 308: 131(ptr) AccessChain 49(data) 61 60 54
+ 309: 42(int) Load 308
+ 310: 42(int) GroupNonUniformBroadcastFirst 38 309
+ 311: 131(ptr) AccessChain 49(data) 307 60 54
+ Store 311 310
+ 312: 6(int) Load 8(invocation)
+ 313: 138(ptr) AccessChain 49(data) 60 60
+ 314: 43(ivec4) Load 313
+ 315: 137(ivec2) VectorShuffle 314 314 0 1
+ 316: 137(ivec2) GroupNonUniformBroadcastFirst 38 315
+ 317: 131(ptr) AccessChain 49(data) 312 60 54
+ 318: 42(int) CompositeExtract 316 0
+ Store 317 318
+ 319: 131(ptr) AccessChain 49(data) 312 60 64
+ 320: 42(int) CompositeExtract 316 1
+ Store 319 320
+ 321: 6(int) Load 8(invocation)
+ 322: 138(ptr) AccessChain 49(data) 51 60
+ 323: 43(ivec4) Load 322
+ 324: 148(ivec3) VectorShuffle 323 323 0 1 2
+ 325: 148(ivec3) GroupNonUniformBroadcastFirst 38 324
+ 326: 131(ptr) AccessChain 49(data) 321 60 54
+ 327: 42(int) CompositeExtract 325 0
+ Store 326 327
+ 328: 131(ptr) AccessChain 49(data) 321 60 64
+ 329: 42(int) CompositeExtract 325 1
+ Store 328 329
+ 330: 131(ptr) AccessChain 49(data) 321 60 72
+ 331: 42(int) CompositeExtract 325 2
+ Store 330 331
+ 332: 6(int) Load 8(invocation)
+ 333: 138(ptr) AccessChain 49(data) 125 60
+ 334: 43(ivec4) Load 333
+ 335: 43(ivec4) GroupNonUniformBroadcastFirst 38 334
+ 336: 138(ptr) AccessChain 49(data) 332 60
+ Store 336 335
+ 337: 6(int) Load 8(invocation)
+ 338: 55(ptr) AccessChain 49(data) 61 51 54
+ 339: 6(int) Load 338
+ 340: 6(int) GroupNonUniformBroadcastFirst 38 339
+ 341: 55(ptr) AccessChain 49(data) 337 51 54
+ Store 341 340
+ 342: 6(int) Load 8(invocation)
+ 343: 88(ptr) AccessChain 49(data) 60 51
+ 344: 17(ivec4) Load 343
+ 345: 170(ivec2) VectorShuffle 344 344 0 1
+ 346: 170(ivec2) GroupNonUniformBroadcastFirst 38 345
+ 347: 55(ptr) AccessChain 49(data) 342 51 54
+ 348: 6(int) CompositeExtract 346 0
+ Store 347 348
+ 349: 55(ptr) AccessChain 49(data) 342 51 64
+ 350: 6(int) CompositeExtract 346 1
+ Store 349 350
+ 351: 6(int) Load 8(invocation)
+ 352: 88(ptr) AccessChain 49(data) 51 51
+ 353: 17(ivec4) Load 352
+ 354: 180(ivec3) VectorShuffle 353 353 0 1 2
+ 355: 180(ivec3) GroupNonUniformBroadcastFirst 38 354
+ 356: 55(ptr) AccessChain 49(data) 351 51 54
+ 357: 6(int) CompositeExtract 355 0
+ Store 356 357
+ 358: 55(ptr) AccessChain 49(data) 351 51 64
+ 359: 6(int) CompositeExtract 355 1
+ Store 358 359
+ 360: 55(ptr) AccessChain 49(data) 351 51 72
+ 361: 6(int) CompositeExtract 355 2
+ Store 360 361
+ 362: 6(int) Load 8(invocation)
+ 363: 88(ptr) AccessChain 49(data) 125 51
+ 364: 17(ivec4) Load 363
+ 365: 17(ivec4) GroupNonUniformBroadcastFirst 38 364
+ 366: 88(ptr) AccessChain 49(data) 362 51
+ Store 366 365
+ 367: 6(int) Load 8(invocation)
+ 368: 197(ptr) AccessChain 49(data) 61 125 54
+ 369:44(float64_t) Load 368
+ 370:44(float64_t) GroupNonUniformBroadcastFirst 38 369
+ 371: 197(ptr) AccessChain 49(data) 367 125 54
+ Store 371 370
+ 372: 6(int) Load 8(invocation)
+ 373: 204(ptr) AccessChain 49(data) 60 125
+ 374: 45(f64vec4) Load 373
+ 375:203(f64vec2) VectorShuffle 374 374 0 1
+ 376:203(f64vec2) GroupNonUniformBroadcastFirst 38 375
+ 377: 197(ptr) AccessChain 49(data) 372 125 54
+ 378:44(float64_t) CompositeExtract 376 0
+ Store 377 378
+ 379: 197(ptr) AccessChain 49(data) 372 125 64
+ 380:44(float64_t) CompositeExtract 376 1
+ Store 379 380
+ 381: 6(int) Load 8(invocation)
+ 382: 204(ptr) AccessChain 49(data) 51 125
+ 383: 45(f64vec4) Load 382
+ 384:214(f64vec3) VectorShuffle 383 383 0 1 2
+ 385:214(f64vec3) GroupNonUniformBroadcastFirst 38 384
+ 386: 197(ptr) AccessChain 49(data) 381 125 54
+ 387:44(float64_t) CompositeExtract 385 0
+ Store 386 387
+ 388: 197(ptr) AccessChain 49(data) 381 125 64
+ 389:44(float64_t) CompositeExtract 385 1
+ Store 388 389
+ 390: 197(ptr) AccessChain 49(data) 381 125 72
+ 391:44(float64_t) CompositeExtract 385 2
+ Store 390 391
+ 392: 6(int) Load 8(invocation)
+ 393: 204(ptr) AccessChain 49(data) 125 125
+ 394: 45(f64vec4) Load 393
+ 395: 45(f64vec4) GroupNonUniformBroadcastFirst 38 394
+ 396: 204(ptr) AccessChain 49(data) 392 125
+ Store 396 395
+ 397: 6(int) Load 8(invocation)
+ 398: 131(ptr) AccessChain 49(data) 61 60 54
+ 399: 42(int) Load 398
+ 400: 36(bool) SLessThan 399 61
+ 401: 36(bool) GroupNonUniformBroadcastFirst 38 400
+ 402: 42(int) Select 401 60 61
+ 403: 131(ptr) AccessChain 49(data) 397 60 54
+ Store 403 402
+ 404: 6(int) Load 8(invocation)
+ 405: 138(ptr) AccessChain 49(data) 60 60
+ 406: 43(ivec4) Load 405
+ 407: 137(ivec2) VectorShuffle 406 406 0 1
+ 408: 242(bvec2) SLessThan 407 241
+ 409: 242(bvec2) GroupNonUniformBroadcastFirst 38 408
+ 410: 137(ivec2) Select 409 245 241
+ 411: 131(ptr) AccessChain 49(data) 404 60 54
+ 412: 42(int) CompositeExtract 410 0
+ Store 411 412
+ 413: 131(ptr) AccessChain 49(data) 404 60 64
+ 414: 42(int) CompositeExtract 410 1
+ Store 413 414
+ 415: 6(int) Load 8(invocation)
+ 416: 138(ptr) AccessChain 49(data) 60 60
+ 417: 43(ivec4) Load 416
+ 418: 148(ivec3) VectorShuffle 417 417 0 1 2
+ 419: 256(bvec3) SLessThan 418 255
+ 420: 256(bvec3) GroupNonUniformBroadcastFirst 38 419
+ 421: 148(ivec3) Select 420 259 255
+ 422: 131(ptr) AccessChain 49(data) 415 60 54
+ 423: 42(int) CompositeExtract 421 0
+ Store 422 423
+ 424: 131(ptr) AccessChain 49(data) 415 60 64
+ 425: 42(int) CompositeExtract 421 1
+ Store 424 425
+ 426: 131(ptr) AccessChain 49(data) 415 60 72
+ 427: 42(int) CompositeExtract 421 2
+ Store 426 427
+ 428: 6(int) Load 8(invocation)
+ 429: 138(ptr) AccessChain 49(data) 60 60
+ 430: 43(ivec4) Load 429
+ 431: 83(bvec4) SLessThan 430 270
+ 432: 83(bvec4) GroupNonUniformBroadcastFirst 38 431
+ 433: 43(ivec4) Select 432 273 270
+ 434: 138(ptr) AccessChain 49(data) 428 60
+ Store 434 433
Branch 94
94: Label
Return
diff --git a/Test/baseResults/spv.subgroupClustered.comp.out b/Test/baseResults/spv.subgroupClustered.comp.out
index 297fcec..a2e486d 100644
--- a/Test/baseResults/spv.subgroupClustered.comp.out
+++ b/Test/baseResults/spv.subgroupClustered.comp.out
@@ -1,7 +1,7 @@
spv.subgroupClustered.comp
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 737
+// Id's are bound by 838
Capability Shader
Capability Float64
@@ -39,7 +39,7 @@
Decorate 24(Buffers) Block
Decorate 27(data) DescriptorSet 0
Decorate 27(data) Binding 0
- Decorate 736 BuiltIn WorkgroupSize
+ Decorate 837 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -67,33 +67,34 @@
39: 19(int) Constant 1
40: TypeVector 17(float) 2
41: TypePointer StorageBuffer 18(fvec4)
- 50: 19(int) Constant 2
- 51: TypeVector 17(float) 3
- 60: 19(int) Constant 3
- 66: TypePointer StorageBuffer 19(int)
- 72: TypeVector 19(int) 2
- 73: TypePointer StorageBuffer 20(ivec4)
- 82: TypeVector 19(int) 3
- 96: TypePointer StorageBuffer 6(int)
- 102: TypeVector 6(int) 2
- 103: TypePointer StorageBuffer 21(ivec4)
- 112: TypeVector 6(int) 3
- 126: TypePointer StorageBuffer 22(float64_t)
- 132: TypeVector 22(float64_t) 2
- 133: TypePointer StorageBuffer 23(f64vec4)
- 142: TypeVector 22(float64_t) 3
- 522: TypeBool
- 531: 72(ivec2) ConstantComposite 29 29
- 532: TypeVector 522(bool) 2
- 535: 72(ivec2) ConstantComposite 39 39
- 544: 82(ivec3) ConstantComposite 29 29 29
- 545: TypeVector 522(bool) 3
- 548: 82(ivec3) ConstantComposite 39 39 39
- 556: 20(ivec4) ConstantComposite 29 29 29 29
- 557: TypeVector 522(bool) 4
- 560: 20(ivec4) ConstantComposite 39 39 39 39
- 735: 6(int) Constant 8
- 736: 112(ivec3) ConstantComposite 735 34 34
+ 51: 19(int) Constant 2
+ 52: TypeVector 17(float) 3
+ 61: 6(int) Constant 2
+ 65: 19(int) Constant 3
+ 71: TypePointer StorageBuffer 19(int)
+ 77: TypeVector 19(int) 2
+ 78: TypePointer StorageBuffer 20(ivec4)
+ 88: TypeVector 19(int) 3
+ 105: TypePointer StorageBuffer 6(int)
+ 111: TypeVector 6(int) 2
+ 112: TypePointer StorageBuffer 21(ivec4)
+ 122: TypeVector 6(int) 3
+ 139: TypePointer StorageBuffer 22(float64_t)
+ 145: TypeVector 22(float64_t) 2
+ 146: TypePointer StorageBuffer 23(f64vec4)
+ 156: TypeVector 22(float64_t) 3
+ 595: TypeBool
+ 604: 77(ivec2) ConstantComposite 29 29
+ 605: TypeVector 595(bool) 2
+ 608: 77(ivec2) ConstantComposite 39 39
+ 618: 88(ivec3) ConstantComposite 29 29 29
+ 619: TypeVector 595(bool) 3
+ 622: 88(ivec3) ConstantComposite 39 39 39
+ 633: 20(ivec4) ConstantComposite 29 29 29 29
+ 634: TypeVector 595(bool) 4
+ 637: 20(ivec4) ConstantComposite 39 39 39 39
+ 836: 6(int) Constant 8
+ 837: 122(ivec3) ConstantComposite 836 34 34
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@@ -113,768 +114,943 @@
43: 18(fvec4) Load 42
44: 40(fvec2) VectorShuffle 43 43 0 1
45: 40(fvec2) GroupNonUniformFAdd 35 ClusteredReduce 44 34
- 46: 41(ptr) AccessChain 27(data) 38 29
- 47: 18(fvec4) Load 46
- 48: 18(fvec4) VectorShuffle 47 45 4 5 2 3
- Store 46 48
- 49: 6(int) Load 8(invocation)
- 52: 41(ptr) AccessChain 27(data) 50 29
- 53: 18(fvec4) Load 52
- 54: 51(fvec3) VectorShuffle 53 53 0 1 2
- 55: 51(fvec3) GroupNonUniformFAdd 35 ClusteredReduce 54 34
- 56: 41(ptr) AccessChain 27(data) 49 29
- 57: 18(fvec4) Load 56
- 58: 18(fvec4) VectorShuffle 57 55 4 5 6 3
- Store 56 58
- 59: 6(int) Load 8(invocation)
- 61: 41(ptr) AccessChain 27(data) 60 29
- 62: 18(fvec4) Load 61
- 63: 18(fvec4) GroupNonUniformFAdd 35 ClusteredReduce 62 34
- 64: 41(ptr) AccessChain 27(data) 59 29
- Store 64 63
- 65: 6(int) Load 8(invocation)
- 67: 66(ptr) AccessChain 27(data) 29 39 30
- 68: 19(int) Load 67
- 69: 19(int) GroupNonUniformIAdd 35 ClusteredReduce 68 34
- 70: 66(ptr) AccessChain 27(data) 65 39 30
- Store 70 69
- 71: 6(int) Load 8(invocation)
- 74: 73(ptr) AccessChain 27(data) 39 39
- 75: 20(ivec4) Load 74
- 76: 72(ivec2) VectorShuffle 75 75 0 1
- 77: 72(ivec2) GroupNonUniformIAdd 35 ClusteredReduce 76 34
- 78: 73(ptr) AccessChain 27(data) 71 39
- 79: 20(ivec4) Load 78
- 80: 20(ivec4) VectorShuffle 79 77 4 5 2 3
- Store 78 80
- 81: 6(int) Load 8(invocation)
- 83: 73(ptr) AccessChain 27(data) 50 39
- 84: 20(ivec4) Load 83
- 85: 82(ivec3) VectorShuffle 84 84 0 1 2
- 86: 82(ivec3) GroupNonUniformIAdd 35 ClusteredReduce 85 34
- 87: 73(ptr) AccessChain 27(data) 81 39
- 88: 20(ivec4) Load 87
- 89: 20(ivec4) VectorShuffle 88 86 4 5 6 3
- Store 87 89
- 90: 6(int) Load 8(invocation)
- 91: 73(ptr) AccessChain 27(data) 60 39
- 92: 20(ivec4) Load 91
- 93: 20(ivec4) GroupNonUniformIAdd 35 ClusteredReduce 92 34
- 94: 73(ptr) AccessChain 27(data) 90 39
- Store 94 93
- 95: 6(int) Load 8(invocation)
- 97: 96(ptr) AccessChain 27(data) 29 50 30
- 98: 6(int) Load 97
- 99: 6(int) GroupNonUniformIAdd 35 ClusteredReduce 98 34
- 100: 96(ptr) AccessChain 27(data) 95 50 30
- Store 100 99
- 101: 6(int) Load 8(invocation)
- 104: 103(ptr) AccessChain 27(data) 39 50
- 105: 21(ivec4) Load 104
- 106: 102(ivec2) VectorShuffle 105 105 0 1
- 107: 102(ivec2) GroupNonUniformIAdd 35 ClusteredReduce 106 34
- 108: 103(ptr) AccessChain 27(data) 101 50
- 109: 21(ivec4) Load 108
- 110: 21(ivec4) VectorShuffle 109 107 4 5 2 3
- Store 108 110
- 111: 6(int) Load 8(invocation)
- 113: 103(ptr) AccessChain 27(data) 50 50
+ 46: 31(ptr) AccessChain 27(data) 38 29 30
+ 47: 17(float) CompositeExtract 45 0
+ Store 46 47
+ 48: 31(ptr) AccessChain 27(data) 38 29 34
+ 49: 17(float) CompositeExtract 45 1
+ Store 48 49
+ 50: 6(int) Load 8(invocation)
+ 53: 41(ptr) AccessChain 27(data) 51 29
+ 54: 18(fvec4) Load 53
+ 55: 52(fvec3) VectorShuffle 54 54 0 1 2
+ 56: 52(fvec3) GroupNonUniformFAdd 35 ClusteredReduce 55 34
+ 57: 31(ptr) AccessChain 27(data) 50 29 30
+ 58: 17(float) CompositeExtract 56 0
+ Store 57 58
+ 59: 31(ptr) AccessChain 27(data) 50 29 34
+ 60: 17(float) CompositeExtract 56 1
+ Store 59 60
+ 62: 31(ptr) AccessChain 27(data) 50 29 61
+ 63: 17(float) CompositeExtract 56 2
+ Store 62 63
+ 64: 6(int) Load 8(invocation)
+ 66: 41(ptr) AccessChain 27(data) 65 29
+ 67: 18(fvec4) Load 66
+ 68: 18(fvec4) GroupNonUniformFAdd 35 ClusteredReduce 67 34
+ 69: 41(ptr) AccessChain 27(data) 64 29
+ Store 69 68
+ 70: 6(int) Load 8(invocation)
+ 72: 71(ptr) AccessChain 27(data) 29 39 30
+ 73: 19(int) Load 72
+ 74: 19(int) GroupNonUniformIAdd 35 ClusteredReduce 73 34
+ 75: 71(ptr) AccessChain 27(data) 70 39 30
+ Store 75 74
+ 76: 6(int) Load 8(invocation)
+ 79: 78(ptr) AccessChain 27(data) 39 39
+ 80: 20(ivec4) Load 79
+ 81: 77(ivec2) VectorShuffle 80 80 0 1
+ 82: 77(ivec2) GroupNonUniformIAdd 35 ClusteredReduce 81 34
+ 83: 71(ptr) AccessChain 27(data) 76 39 30
+ 84: 19(int) CompositeExtract 82 0
+ Store 83 84
+ 85: 71(ptr) AccessChain 27(data) 76 39 34
+ 86: 19(int) CompositeExtract 82 1
+ Store 85 86
+ 87: 6(int) Load 8(invocation)
+ 89: 78(ptr) AccessChain 27(data) 51 39
+ 90: 20(ivec4) Load 89
+ 91: 88(ivec3) VectorShuffle 90 90 0 1 2
+ 92: 88(ivec3) GroupNonUniformIAdd 35 ClusteredReduce 91 34
+ 93: 71(ptr) AccessChain 27(data) 87 39 30
+ 94: 19(int) CompositeExtract 92 0
+ Store 93 94
+ 95: 71(ptr) AccessChain 27(data) 87 39 34
+ 96: 19(int) CompositeExtract 92 1
+ Store 95 96
+ 97: 71(ptr) AccessChain 27(data) 87 39 61
+ 98: 19(int) CompositeExtract 92 2
+ Store 97 98
+ 99: 6(int) Load 8(invocation)
+ 100: 78(ptr) AccessChain 27(data) 65 39
+ 101: 20(ivec4) Load 100
+ 102: 20(ivec4) GroupNonUniformIAdd 35 ClusteredReduce 101 34
+ 103: 78(ptr) AccessChain 27(data) 99 39
+ Store 103 102
+ 104: 6(int) Load 8(invocation)
+ 106: 105(ptr) AccessChain 27(data) 29 51 30
+ 107: 6(int) Load 106
+ 108: 6(int) GroupNonUniformIAdd 35 ClusteredReduce 107 34
+ 109: 105(ptr) AccessChain 27(data) 104 51 30
+ Store 109 108
+ 110: 6(int) Load 8(invocation)
+ 113: 112(ptr) AccessChain 27(data) 39 51
114: 21(ivec4) Load 113
- 115: 112(ivec3) VectorShuffle 114 114 0 1 2
- 116: 112(ivec3) GroupNonUniformIAdd 35 ClusteredReduce 115 34
- 117: 103(ptr) AccessChain 27(data) 111 50
- 118: 21(ivec4) Load 117
- 119: 21(ivec4) VectorShuffle 118 116 4 5 6 3
- Store 117 119
- 120: 6(int) Load 8(invocation)
- 121: 103(ptr) AccessChain 27(data) 60 50
- 122: 21(ivec4) Load 121
- 123: 21(ivec4) GroupNonUniformIAdd 35 ClusteredReduce 122 34
- 124: 103(ptr) AccessChain 27(data) 120 50
- Store 124 123
- 125: 6(int) Load 8(invocation)
- 127: 126(ptr) AccessChain 27(data) 29 60 30
- 128:22(float64_t) Load 127
- 129:22(float64_t) GroupNonUniformFAdd 35 ClusteredReduce 128 34
- 130: 126(ptr) AccessChain 27(data) 125 60 30
- Store 130 129
- 131: 6(int) Load 8(invocation)
- 134: 133(ptr) AccessChain 27(data) 39 60
- 135: 23(f64vec4) Load 134
- 136:132(f64vec2) VectorShuffle 135 135 0 1
- 137:132(f64vec2) GroupNonUniformFAdd 35 ClusteredReduce 136 34
- 138: 133(ptr) AccessChain 27(data) 131 60
- 139: 23(f64vec4) Load 138
- 140: 23(f64vec4) VectorShuffle 139 137 4 5 2 3
- Store 138 140
- 141: 6(int) Load 8(invocation)
- 143: 133(ptr) AccessChain 27(data) 50 60
- 144: 23(f64vec4) Load 143
- 145:142(f64vec3) VectorShuffle 144 144 0 1 2
- 146:142(f64vec3) GroupNonUniformFAdd 35 ClusteredReduce 145 34
- 147: 133(ptr) AccessChain 27(data) 141 60
+ 115: 111(ivec2) VectorShuffle 114 114 0 1
+ 116: 111(ivec2) GroupNonUniformIAdd 35 ClusteredReduce 115 34
+ 117: 105(ptr) AccessChain 27(data) 110 51 30
+ 118: 6(int) CompositeExtract 116 0
+ Store 117 118
+ 119: 105(ptr) AccessChain 27(data) 110 51 34
+ 120: 6(int) CompositeExtract 116 1
+ Store 119 120
+ 121: 6(int) Load 8(invocation)
+ 123: 112(ptr) AccessChain 27(data) 51 51
+ 124: 21(ivec4) Load 123
+ 125: 122(ivec3) VectorShuffle 124 124 0 1 2
+ 126: 122(ivec3) GroupNonUniformIAdd 35 ClusteredReduce 125 34
+ 127: 105(ptr) AccessChain 27(data) 121 51 30
+ 128: 6(int) CompositeExtract 126 0
+ Store 127 128
+ 129: 105(ptr) AccessChain 27(data) 121 51 34
+ 130: 6(int) CompositeExtract 126 1
+ Store 129 130
+ 131: 105(ptr) AccessChain 27(data) 121 51 61
+ 132: 6(int) CompositeExtract 126 2
+ Store 131 132
+ 133: 6(int) Load 8(invocation)
+ 134: 112(ptr) AccessChain 27(data) 65 51
+ 135: 21(ivec4) Load 134
+ 136: 21(ivec4) GroupNonUniformIAdd 35 ClusteredReduce 135 34
+ 137: 112(ptr) AccessChain 27(data) 133 51
+ Store 137 136
+ 138: 6(int) Load 8(invocation)
+ 140: 139(ptr) AccessChain 27(data) 29 65 30
+ 141:22(float64_t) Load 140
+ 142:22(float64_t) GroupNonUniformFAdd 35 ClusteredReduce 141 34
+ 143: 139(ptr) AccessChain 27(data) 138 65 30
+ Store 143 142
+ 144: 6(int) Load 8(invocation)
+ 147: 146(ptr) AccessChain 27(data) 39 65
148: 23(f64vec4) Load 147
- 149: 23(f64vec4) VectorShuffle 148 146 4 5 6 3
- Store 147 149
- 150: 6(int) Load 8(invocation)
- 151: 133(ptr) AccessChain 27(data) 60 60
- 152: 23(f64vec4) Load 151
- 153: 23(f64vec4) GroupNonUniformFAdd 35 ClusteredReduce 152 34
- 154: 133(ptr) AccessChain 27(data) 150 60
- Store 154 153
+ 149:145(f64vec2) VectorShuffle 148 148 0 1
+ 150:145(f64vec2) GroupNonUniformFAdd 35 ClusteredReduce 149 34
+ 151: 139(ptr) AccessChain 27(data) 144 65 30
+ 152:22(float64_t) CompositeExtract 150 0
+ Store 151 152
+ 153: 139(ptr) AccessChain 27(data) 144 65 34
+ 154:22(float64_t) CompositeExtract 150 1
+ Store 153 154
155: 6(int) Load 8(invocation)
- 156: 31(ptr) AccessChain 27(data) 29 29 30
- 157: 17(float) Load 156
- 158: 17(float) GroupNonUniformFMul 35 ClusteredReduce 157 34
- 159: 31(ptr) AccessChain 27(data) 155 29 30
- Store 159 158
- 160: 6(int) Load 8(invocation)
- 161: 41(ptr) AccessChain 27(data) 39 29
- 162: 18(fvec4) Load 161
- 163: 40(fvec2) VectorShuffle 162 162 0 1
- 164: 40(fvec2) GroupNonUniformFMul 35 ClusteredReduce 163 34
- 165: 41(ptr) AccessChain 27(data) 160 29
- 166: 18(fvec4) Load 165
- 167: 18(fvec4) VectorShuffle 166 164 4 5 2 3
- Store 165 167
- 168: 6(int) Load 8(invocation)
- 169: 41(ptr) AccessChain 27(data) 50 29
- 170: 18(fvec4) Load 169
- 171: 51(fvec3) VectorShuffle 170 170 0 1 2
- 172: 51(fvec3) GroupNonUniformFMul 35 ClusteredReduce 171 34
- 173: 41(ptr) AccessChain 27(data) 168 29
- 174: 18(fvec4) Load 173
- 175: 18(fvec4) VectorShuffle 174 172 4 5 6 3
- Store 173 175
- 176: 6(int) Load 8(invocation)
- 177: 41(ptr) AccessChain 27(data) 60 29
- 178: 18(fvec4) Load 177
- 179: 18(fvec4) GroupNonUniformFMul 35 ClusteredReduce 178 34
- 180: 41(ptr) AccessChain 27(data) 176 29
- Store 180 179
- 181: 6(int) Load 8(invocation)
- 182: 66(ptr) AccessChain 27(data) 29 39 30
- 183: 19(int) Load 182
- 184: 19(int) GroupNonUniformIMul 35 ClusteredReduce 183 34
- 185: 66(ptr) AccessChain 27(data) 181 39 30
- Store 185 184
+ 157: 146(ptr) AccessChain 27(data) 51 65
+ 158: 23(f64vec4) Load 157
+ 159:156(f64vec3) VectorShuffle 158 158 0 1 2
+ 160:156(f64vec3) GroupNonUniformFAdd 35 ClusteredReduce 159 34
+ 161: 139(ptr) AccessChain 27(data) 155 65 30
+ 162:22(float64_t) CompositeExtract 160 0
+ Store 161 162
+ 163: 139(ptr) AccessChain 27(data) 155 65 34
+ 164:22(float64_t) CompositeExtract 160 1
+ Store 163 164
+ 165: 139(ptr) AccessChain 27(data) 155 65 61
+ 166:22(float64_t) CompositeExtract 160 2
+ Store 165 166
+ 167: 6(int) Load 8(invocation)
+ 168: 146(ptr) AccessChain 27(data) 65 65
+ 169: 23(f64vec4) Load 168
+ 170: 23(f64vec4) GroupNonUniformFAdd 35 ClusteredReduce 169 34
+ 171: 146(ptr) AccessChain 27(data) 167 65
+ Store 171 170
+ 172: 6(int) Load 8(invocation)
+ 173: 31(ptr) AccessChain 27(data) 29 29 30
+ 174: 17(float) Load 173
+ 175: 17(float) GroupNonUniformFMul 35 ClusteredReduce 174 34
+ 176: 31(ptr) AccessChain 27(data) 172 29 30
+ Store 176 175
+ 177: 6(int) Load 8(invocation)
+ 178: 41(ptr) AccessChain 27(data) 39 29
+ 179: 18(fvec4) Load 178
+ 180: 40(fvec2) VectorShuffle 179 179 0 1
+ 181: 40(fvec2) GroupNonUniformFMul 35 ClusteredReduce 180 34
+ 182: 31(ptr) AccessChain 27(data) 177 29 30
+ 183: 17(float) CompositeExtract 181 0
+ Store 182 183
+ 184: 31(ptr) AccessChain 27(data) 177 29 34
+ 185: 17(float) CompositeExtract 181 1
+ Store 184 185
186: 6(int) Load 8(invocation)
- 187: 73(ptr) AccessChain 27(data) 39 39
- 188: 20(ivec4) Load 187
- 189: 72(ivec2) VectorShuffle 188 188 0 1
- 190: 72(ivec2) GroupNonUniformIMul 35 ClusteredReduce 189 34
- 191: 73(ptr) AccessChain 27(data) 186 39
- 192: 20(ivec4) Load 191
- 193: 20(ivec4) VectorShuffle 192 190 4 5 2 3
- Store 191 193
- 194: 6(int) Load 8(invocation)
- 195: 73(ptr) AccessChain 27(data) 50 39
- 196: 20(ivec4) Load 195
- 197: 82(ivec3) VectorShuffle 196 196 0 1 2
- 198: 82(ivec3) GroupNonUniformIMul 35 ClusteredReduce 197 34
- 199: 73(ptr) AccessChain 27(data) 194 39
- 200: 20(ivec4) Load 199
- 201: 20(ivec4) VectorShuffle 200 198 4 5 6 3
- Store 199 201
+ 187: 41(ptr) AccessChain 27(data) 51 29
+ 188: 18(fvec4) Load 187
+ 189: 52(fvec3) VectorShuffle 188 188 0 1 2
+ 190: 52(fvec3) GroupNonUniformFMul 35 ClusteredReduce 189 34
+ 191: 31(ptr) AccessChain 27(data) 186 29 30
+ 192: 17(float) CompositeExtract 190 0
+ Store 191 192
+ 193: 31(ptr) AccessChain 27(data) 186 29 34
+ 194: 17(float) CompositeExtract 190 1
+ Store 193 194
+ 195: 31(ptr) AccessChain 27(data) 186 29 61
+ 196: 17(float) CompositeExtract 190 2
+ Store 195 196
+ 197: 6(int) Load 8(invocation)
+ 198: 41(ptr) AccessChain 27(data) 65 29
+ 199: 18(fvec4) Load 198
+ 200: 18(fvec4) GroupNonUniformFMul 35 ClusteredReduce 199 34
+ 201: 41(ptr) AccessChain 27(data) 197 29
+ Store 201 200
202: 6(int) Load 8(invocation)
- 203: 73(ptr) AccessChain 27(data) 60 39
- 204: 20(ivec4) Load 203
- 205: 20(ivec4) GroupNonUniformIMul 35 ClusteredReduce 204 34
- 206: 73(ptr) AccessChain 27(data) 202 39
+ 203: 71(ptr) AccessChain 27(data) 29 39 30
+ 204: 19(int) Load 203
+ 205: 19(int) GroupNonUniformIMul 35 ClusteredReduce 204 34
+ 206: 71(ptr) AccessChain 27(data) 202 39 30
Store 206 205
207: 6(int) Load 8(invocation)
- 208: 96(ptr) AccessChain 27(data) 29 50 30
- 209: 6(int) Load 208
- 210: 6(int) GroupNonUniformIMul 35 ClusteredReduce 209 34
- 211: 96(ptr) AccessChain 27(data) 207 50 30
- Store 211 210
- 212: 6(int) Load 8(invocation)
- 213: 103(ptr) AccessChain 27(data) 39 50
- 214: 21(ivec4) Load 213
- 215: 102(ivec2) VectorShuffle 214 214 0 1
- 216: 102(ivec2) GroupNonUniformIMul 35 ClusteredReduce 215 34
- 217: 103(ptr) AccessChain 27(data) 212 50
- 218: 21(ivec4) Load 217
- 219: 21(ivec4) VectorShuffle 218 216 4 5 2 3
- Store 217 219
- 220: 6(int) Load 8(invocation)
- 221: 103(ptr) AccessChain 27(data) 50 50
- 222: 21(ivec4) Load 221
- 223: 112(ivec3) VectorShuffle 222 222 0 1 2
- 224: 112(ivec3) GroupNonUniformIMul 35 ClusteredReduce 223 34
- 225: 103(ptr) AccessChain 27(data) 220 50
- 226: 21(ivec4) Load 225
- 227: 21(ivec4) VectorShuffle 226 224 4 5 6 3
- Store 225 227
- 228: 6(int) Load 8(invocation)
- 229: 103(ptr) AccessChain 27(data) 60 50
- 230: 21(ivec4) Load 229
- 231: 21(ivec4) GroupNonUniformIMul 35 ClusteredReduce 230 34
- 232: 103(ptr) AccessChain 27(data) 228 50
- Store 232 231
- 233: 6(int) Load 8(invocation)
- 234: 126(ptr) AccessChain 27(data) 29 60 30
- 235:22(float64_t) Load 234
- 236:22(float64_t) GroupNonUniformFMul 35 ClusteredReduce 235 34
- 237: 126(ptr) AccessChain 27(data) 233 60 30
- Store 237 236
- 238: 6(int) Load 8(invocation)
- 239: 133(ptr) AccessChain 27(data) 39 60
- 240: 23(f64vec4) Load 239
- 241:132(f64vec2) VectorShuffle 240 240 0 1
- 242:132(f64vec2) GroupNonUniformFMul 35 ClusteredReduce 241 34
- 243: 133(ptr) AccessChain 27(data) 238 60
- 244: 23(f64vec4) Load 243
- 245: 23(f64vec4) VectorShuffle 244 242 4 5 2 3
- Store 243 245
+ 208: 78(ptr) AccessChain 27(data) 39 39
+ 209: 20(ivec4) Load 208
+ 210: 77(ivec2) VectorShuffle 209 209 0 1
+ 211: 77(ivec2) GroupNonUniformIMul 35 ClusteredReduce 210 34
+ 212: 71(ptr) AccessChain 27(data) 207 39 30
+ 213: 19(int) CompositeExtract 211 0
+ Store 212 213
+ 214: 71(ptr) AccessChain 27(data) 207 39 34
+ 215: 19(int) CompositeExtract 211 1
+ Store 214 215
+ 216: 6(int) Load 8(invocation)
+ 217: 78(ptr) AccessChain 27(data) 51 39
+ 218: 20(ivec4) Load 217
+ 219: 88(ivec3) VectorShuffle 218 218 0 1 2
+ 220: 88(ivec3) GroupNonUniformIMul 35 ClusteredReduce 219 34
+ 221: 71(ptr) AccessChain 27(data) 216 39 30
+ 222: 19(int) CompositeExtract 220 0
+ Store 221 222
+ 223: 71(ptr) AccessChain 27(data) 216 39 34
+ 224: 19(int) CompositeExtract 220 1
+ Store 223 224
+ 225: 71(ptr) AccessChain 27(data) 216 39 61
+ 226: 19(int) CompositeExtract 220 2
+ Store 225 226
+ 227: 6(int) Load 8(invocation)
+ 228: 78(ptr) AccessChain 27(data) 65 39
+ 229: 20(ivec4) Load 228
+ 230: 20(ivec4) GroupNonUniformIMul 35 ClusteredReduce 229 34
+ 231: 78(ptr) AccessChain 27(data) 227 39
+ Store 231 230
+ 232: 6(int) Load 8(invocation)
+ 233: 105(ptr) AccessChain 27(data) 29 51 30
+ 234: 6(int) Load 233
+ 235: 6(int) GroupNonUniformIMul 35 ClusteredReduce 234 34
+ 236: 105(ptr) AccessChain 27(data) 232 51 30
+ Store 236 235
+ 237: 6(int) Load 8(invocation)
+ 238: 112(ptr) AccessChain 27(data) 39 51
+ 239: 21(ivec4) Load 238
+ 240: 111(ivec2) VectorShuffle 239 239 0 1
+ 241: 111(ivec2) GroupNonUniformIMul 35 ClusteredReduce 240 34
+ 242: 105(ptr) AccessChain 27(data) 237 51 30
+ 243: 6(int) CompositeExtract 241 0
+ Store 242 243
+ 244: 105(ptr) AccessChain 27(data) 237 51 34
+ 245: 6(int) CompositeExtract 241 1
+ Store 244 245
246: 6(int) Load 8(invocation)
- 247: 133(ptr) AccessChain 27(data) 50 60
- 248: 23(f64vec4) Load 247
- 249:142(f64vec3) VectorShuffle 248 248 0 1 2
- 250:142(f64vec3) GroupNonUniformFMul 35 ClusteredReduce 249 34
- 251: 133(ptr) AccessChain 27(data) 246 60
- 252: 23(f64vec4) Load 251
- 253: 23(f64vec4) VectorShuffle 252 250 4 5 6 3
- Store 251 253
- 254: 6(int) Load 8(invocation)
- 255: 133(ptr) AccessChain 27(data) 60 60
- 256: 23(f64vec4) Load 255
- 257: 23(f64vec4) GroupNonUniformFMul 35 ClusteredReduce 256 34
- 258: 133(ptr) AccessChain 27(data) 254 60
- Store 258 257
- 259: 6(int) Load 8(invocation)
- 260: 31(ptr) AccessChain 27(data) 29 29 30
- 261: 17(float) Load 260
- 262: 17(float) GroupNonUniformFMin 35 ClusteredReduce 261 34
- 263: 31(ptr) AccessChain 27(data) 259 29 30
- Store 263 262
- 264: 6(int) Load 8(invocation)
- 265: 41(ptr) AccessChain 27(data) 39 29
- 266: 18(fvec4) Load 265
- 267: 40(fvec2) VectorShuffle 266 266 0 1
- 268: 40(fvec2) GroupNonUniformFMin 35 ClusteredReduce 267 34
- 269: 41(ptr) AccessChain 27(data) 264 29
- 270: 18(fvec4) Load 269
- 271: 18(fvec4) VectorShuffle 270 268 4 5 2 3
- Store 269 271
- 272: 6(int) Load 8(invocation)
- 273: 41(ptr) AccessChain 27(data) 50 29
- 274: 18(fvec4) Load 273
- 275: 51(fvec3) VectorShuffle 274 274 0 1 2
- 276: 51(fvec3) GroupNonUniformFMin 35 ClusteredReduce 275 34
- 277: 41(ptr) AccessChain 27(data) 272 29
- 278: 18(fvec4) Load 277
- 279: 18(fvec4) VectorShuffle 278 276 4 5 6 3
- Store 277 279
- 280: 6(int) Load 8(invocation)
- 281: 41(ptr) AccessChain 27(data) 60 29
- 282: 18(fvec4) Load 281
- 283: 18(fvec4) GroupNonUniformFMin 35 ClusteredReduce 282 34
- 284: 41(ptr) AccessChain 27(data) 280 29
- Store 284 283
- 285: 6(int) Load 8(invocation)
- 286: 66(ptr) AccessChain 27(data) 29 39 30
- 287: 19(int) Load 286
- 288: 19(int) GroupNonUniformSMin 35 ClusteredReduce 287 34
- 289: 66(ptr) AccessChain 27(data) 285 39 30
- Store 289 288
- 290: 6(int) Load 8(invocation)
- 291: 73(ptr) AccessChain 27(data) 39 39
- 292: 20(ivec4) Load 291
- 293: 72(ivec2) VectorShuffle 292 292 0 1
- 294: 72(ivec2) GroupNonUniformSMin 35 ClusteredReduce 293 34
- 295: 73(ptr) AccessChain 27(data) 290 39
- 296: 20(ivec4) Load 295
- 297: 20(ivec4) VectorShuffle 296 294 4 5 2 3
- Store 295 297
- 298: 6(int) Load 8(invocation)
- 299: 73(ptr) AccessChain 27(data) 50 39
- 300: 20(ivec4) Load 299
- 301: 82(ivec3) VectorShuffle 300 300 0 1 2
- 302: 82(ivec3) GroupNonUniformSMin 35 ClusteredReduce 301 34
- 303: 73(ptr) AccessChain 27(data) 298 39
- 304: 20(ivec4) Load 303
- 305: 20(ivec4) VectorShuffle 304 302 4 5 6 3
- Store 303 305
+ 247: 112(ptr) AccessChain 27(data) 51 51
+ 248: 21(ivec4) Load 247
+ 249: 122(ivec3) VectorShuffle 248 248 0 1 2
+ 250: 122(ivec3) GroupNonUniformIMul 35 ClusteredReduce 249 34
+ 251: 105(ptr) AccessChain 27(data) 246 51 30
+ 252: 6(int) CompositeExtract 250 0
+ Store 251 252
+ 253: 105(ptr) AccessChain 27(data) 246 51 34
+ 254: 6(int) CompositeExtract 250 1
+ Store 253 254
+ 255: 105(ptr) AccessChain 27(data) 246 51 61
+ 256: 6(int) CompositeExtract 250 2
+ Store 255 256
+ 257: 6(int) Load 8(invocation)
+ 258: 112(ptr) AccessChain 27(data) 65 51
+ 259: 21(ivec4) Load 258
+ 260: 21(ivec4) GroupNonUniformIMul 35 ClusteredReduce 259 34
+ 261: 112(ptr) AccessChain 27(data) 257 51
+ Store 261 260
+ 262: 6(int) Load 8(invocation)
+ 263: 139(ptr) AccessChain 27(data) 29 65 30
+ 264:22(float64_t) Load 263
+ 265:22(float64_t) GroupNonUniformFMul 35 ClusteredReduce 264 34
+ 266: 139(ptr) AccessChain 27(data) 262 65 30
+ Store 266 265
+ 267: 6(int) Load 8(invocation)
+ 268: 146(ptr) AccessChain 27(data) 39 65
+ 269: 23(f64vec4) Load 268
+ 270:145(f64vec2) VectorShuffle 269 269 0 1
+ 271:145(f64vec2) GroupNonUniformFMul 35 ClusteredReduce 270 34
+ 272: 139(ptr) AccessChain 27(data) 267 65 30
+ 273:22(float64_t) CompositeExtract 271 0
+ Store 272 273
+ 274: 139(ptr) AccessChain 27(data) 267 65 34
+ 275:22(float64_t) CompositeExtract 271 1
+ Store 274 275
+ 276: 6(int) Load 8(invocation)
+ 277: 146(ptr) AccessChain 27(data) 51 65
+ 278: 23(f64vec4) Load 277
+ 279:156(f64vec3) VectorShuffle 278 278 0 1 2
+ 280:156(f64vec3) GroupNonUniformFMul 35 ClusteredReduce 279 34
+ 281: 139(ptr) AccessChain 27(data) 276 65 30
+ 282:22(float64_t) CompositeExtract 280 0
+ Store 281 282
+ 283: 139(ptr) AccessChain 27(data) 276 65 34
+ 284:22(float64_t) CompositeExtract 280 1
+ Store 283 284
+ 285: 139(ptr) AccessChain 27(data) 276 65 61
+ 286:22(float64_t) CompositeExtract 280 2
+ Store 285 286
+ 287: 6(int) Load 8(invocation)
+ 288: 146(ptr) AccessChain 27(data) 65 65
+ 289: 23(f64vec4) Load 288
+ 290: 23(f64vec4) GroupNonUniformFMul 35 ClusteredReduce 289 34
+ 291: 146(ptr) AccessChain 27(data) 287 65
+ Store 291 290
+ 292: 6(int) Load 8(invocation)
+ 293: 31(ptr) AccessChain 27(data) 29 29 30
+ 294: 17(float) Load 293
+ 295: 17(float) GroupNonUniformFMin 35 ClusteredReduce 294 34
+ 296: 31(ptr) AccessChain 27(data) 292 29 30
+ Store 296 295
+ 297: 6(int) Load 8(invocation)
+ 298: 41(ptr) AccessChain 27(data) 39 29
+ 299: 18(fvec4) Load 298
+ 300: 40(fvec2) VectorShuffle 299 299 0 1
+ 301: 40(fvec2) GroupNonUniformFMin 35 ClusteredReduce 300 34
+ 302: 31(ptr) AccessChain 27(data) 297 29 30
+ 303: 17(float) CompositeExtract 301 0
+ Store 302 303
+ 304: 31(ptr) AccessChain 27(data) 297 29 34
+ 305: 17(float) CompositeExtract 301 1
+ Store 304 305
306: 6(int) Load 8(invocation)
- 307: 73(ptr) AccessChain 27(data) 60 39
- 308: 20(ivec4) Load 307
- 309: 20(ivec4) GroupNonUniformSMin 35 ClusteredReduce 308 34
- 310: 73(ptr) AccessChain 27(data) 306 39
- Store 310 309
- 311: 6(int) Load 8(invocation)
- 312: 96(ptr) AccessChain 27(data) 29 50 30
- 313: 6(int) Load 312
- 314: 6(int) GroupNonUniformUMin 35 ClusteredReduce 313 34
- 315: 96(ptr) AccessChain 27(data) 311 50 30
- Store 315 314
- 316: 6(int) Load 8(invocation)
- 317: 103(ptr) AccessChain 27(data) 39 50
- 318: 21(ivec4) Load 317
- 319: 102(ivec2) VectorShuffle 318 318 0 1
- 320: 102(ivec2) GroupNonUniformUMin 35 ClusteredReduce 319 34
- 321: 103(ptr) AccessChain 27(data) 316 50
- 322: 21(ivec4) Load 321
- 323: 21(ivec4) VectorShuffle 322 320 4 5 2 3
- Store 321 323
- 324: 6(int) Load 8(invocation)
- 325: 103(ptr) AccessChain 27(data) 50 50
- 326: 21(ivec4) Load 325
- 327: 112(ivec3) VectorShuffle 326 326 0 1 2
- 328: 112(ivec3) GroupNonUniformUMin 35 ClusteredReduce 327 34
- 329: 103(ptr) AccessChain 27(data) 324 50
- 330: 21(ivec4) Load 329
- 331: 21(ivec4) VectorShuffle 330 328 4 5 6 3
- Store 329 331
- 332: 6(int) Load 8(invocation)
- 333: 103(ptr) AccessChain 27(data) 60 50
- 334: 21(ivec4) Load 333
- 335: 21(ivec4) GroupNonUniformUMin 35 ClusteredReduce 334 34
- 336: 103(ptr) AccessChain 27(data) 332 50
- Store 336 335
- 337: 6(int) Load 8(invocation)
- 338: 126(ptr) AccessChain 27(data) 29 60 30
- 339:22(float64_t) Load 338
- 340:22(float64_t) GroupNonUniformFMin 35 ClusteredReduce 339 34
- 341: 126(ptr) AccessChain 27(data) 337 60 30
- Store 341 340
- 342: 6(int) Load 8(invocation)
- 343: 133(ptr) AccessChain 27(data) 39 60
- 344: 23(f64vec4) Load 343
- 345:132(f64vec2) VectorShuffle 344 344 0 1
- 346:132(f64vec2) GroupNonUniformFMin 35 ClusteredReduce 345 34
- 347: 133(ptr) AccessChain 27(data) 342 60
- 348: 23(f64vec4) Load 347
- 349: 23(f64vec4) VectorShuffle 348 346 4 5 2 3
- Store 347 349
- 350: 6(int) Load 8(invocation)
- 351: 133(ptr) AccessChain 27(data) 50 60
- 352: 23(f64vec4) Load 351
- 353:142(f64vec3) VectorShuffle 352 352 0 1 2
- 354:142(f64vec3) GroupNonUniformFMin 35 ClusteredReduce 353 34
- 355: 133(ptr) AccessChain 27(data) 350 60
- 356: 23(f64vec4) Load 355
- 357: 23(f64vec4) VectorShuffle 356 354 4 5 6 3
- Store 355 357
- 358: 6(int) Load 8(invocation)
- 359: 133(ptr) AccessChain 27(data) 60 60
- 360: 23(f64vec4) Load 359
- 361: 23(f64vec4) GroupNonUniformFMin 35 ClusteredReduce 360 34
- 362: 133(ptr) AccessChain 27(data) 358 60
- Store 362 361
- 363: 6(int) Load 8(invocation)
- 364: 31(ptr) AccessChain 27(data) 29 29 30
- 365: 17(float) Load 364
- 366: 17(float) GroupNonUniformFMax 35 ClusteredReduce 365 34
- 367: 31(ptr) AccessChain 27(data) 363 29 30
- Store 367 366
- 368: 6(int) Load 8(invocation)
- 369: 41(ptr) AccessChain 27(data) 39 29
- 370: 18(fvec4) Load 369
- 371: 40(fvec2) VectorShuffle 370 370 0 1
- 372: 40(fvec2) GroupNonUniformFMax 35 ClusteredReduce 371 34
- 373: 41(ptr) AccessChain 27(data) 368 29
- 374: 18(fvec4) Load 373
- 375: 18(fvec4) VectorShuffle 374 372 4 5 2 3
- Store 373 375
- 376: 6(int) Load 8(invocation)
- 377: 41(ptr) AccessChain 27(data) 50 29
- 378: 18(fvec4) Load 377
- 379: 51(fvec3) VectorShuffle 378 378 0 1 2
- 380: 51(fvec3) GroupNonUniformFMax 35 ClusteredReduce 379 34
- 381: 41(ptr) AccessChain 27(data) 376 29
- 382: 18(fvec4) Load 381
- 383: 18(fvec4) VectorShuffle 382 380 4 5 6 3
- Store 381 383
- 384: 6(int) Load 8(invocation)
- 385: 41(ptr) AccessChain 27(data) 60 29
- 386: 18(fvec4) Load 385
- 387: 18(fvec4) GroupNonUniformFMax 35 ClusteredReduce 386 34
- 388: 41(ptr) AccessChain 27(data) 384 29
- Store 388 387
- 389: 6(int) Load 8(invocation)
- 390: 66(ptr) AccessChain 27(data) 29 39 30
- 391: 19(int) Load 390
- 392: 19(int) GroupNonUniformSMax 35 ClusteredReduce 391 34
- 393: 66(ptr) AccessChain 27(data) 389 39 30
- Store 393 392
- 394: 6(int) Load 8(invocation)
- 395: 73(ptr) AccessChain 27(data) 39 39
- 396: 20(ivec4) Load 395
- 397: 72(ivec2) VectorShuffle 396 396 0 1
- 398: 72(ivec2) GroupNonUniformSMax 35 ClusteredReduce 397 34
- 399: 73(ptr) AccessChain 27(data) 394 39
- 400: 20(ivec4) Load 399
- 401: 20(ivec4) VectorShuffle 400 398 4 5 2 3
- Store 399 401
- 402: 6(int) Load 8(invocation)
- 403: 73(ptr) AccessChain 27(data) 50 39
- 404: 20(ivec4) Load 403
- 405: 82(ivec3) VectorShuffle 404 404 0 1 2
- 406: 82(ivec3) GroupNonUniformSMax 35 ClusteredReduce 405 34
- 407: 73(ptr) AccessChain 27(data) 402 39
- 408: 20(ivec4) Load 407
- 409: 20(ivec4) VectorShuffle 408 406 4 5 6 3
- Store 407 409
- 410: 6(int) Load 8(invocation)
- 411: 73(ptr) AccessChain 27(data) 60 39
- 412: 20(ivec4) Load 411
- 413: 20(ivec4) GroupNonUniformSMax 35 ClusteredReduce 412 34
- 414: 73(ptr) AccessChain 27(data) 410 39
- Store 414 413
- 415: 6(int) Load 8(invocation)
- 416: 96(ptr) AccessChain 27(data) 29 50 30
- 417: 6(int) Load 416
- 418: 6(int) GroupNonUniformUMax 35 ClusteredReduce 417 34
- 419: 96(ptr) AccessChain 27(data) 415 50 30
- Store 419 418
- 420: 6(int) Load 8(invocation)
- 421: 103(ptr) AccessChain 27(data) 39 50
- 422: 21(ivec4) Load 421
- 423: 102(ivec2) VectorShuffle 422 422 0 1
- 424: 102(ivec2) GroupNonUniformUMax 35 ClusteredReduce 423 34
- 425: 103(ptr) AccessChain 27(data) 420 50
- 426: 21(ivec4) Load 425
- 427: 21(ivec4) VectorShuffle 426 424 4 5 2 3
- Store 425 427
- 428: 6(int) Load 8(invocation)
- 429: 103(ptr) AccessChain 27(data) 50 50
- 430: 21(ivec4) Load 429
- 431: 112(ivec3) VectorShuffle 430 430 0 1 2
- 432: 112(ivec3) GroupNonUniformUMax 35 ClusteredReduce 431 34
- 433: 103(ptr) AccessChain 27(data) 428 50
- 434: 21(ivec4) Load 433
- 435: 21(ivec4) VectorShuffle 434 432 4 5 6 3
- Store 433 435
- 436: 6(int) Load 8(invocation)
- 437: 103(ptr) AccessChain 27(data) 60 50
- 438: 21(ivec4) Load 437
- 439: 21(ivec4) GroupNonUniformUMax 35 ClusteredReduce 438 34
- 440: 103(ptr) AccessChain 27(data) 436 50
- Store 440 439
- 441: 6(int) Load 8(invocation)
- 442: 126(ptr) AccessChain 27(data) 29 60 30
- 443:22(float64_t) Load 442
- 444:22(float64_t) GroupNonUniformFMax 35 ClusteredReduce 443 34
- 445: 126(ptr) AccessChain 27(data) 441 60 30
- Store 445 444
- 446: 6(int) Load 8(invocation)
- 447: 133(ptr) AccessChain 27(data) 39 60
- 448: 23(f64vec4) Load 447
- 449:132(f64vec2) VectorShuffle 448 448 0 1
- 450:132(f64vec2) GroupNonUniformFMax 35 ClusteredReduce 449 34
- 451: 133(ptr) AccessChain 27(data) 446 60
- 452: 23(f64vec4) Load 451
- 453: 23(f64vec4) VectorShuffle 452 450 4 5 2 3
- Store 451 453
- 454: 6(int) Load 8(invocation)
- 455: 133(ptr) AccessChain 27(data) 50 60
- 456: 23(f64vec4) Load 455
- 457:142(f64vec3) VectorShuffle 456 456 0 1 2
- 458:142(f64vec3) GroupNonUniformFMax 35 ClusteredReduce 457 34
- 459: 133(ptr) AccessChain 27(data) 454 60
- 460: 23(f64vec4) Load 459
- 461: 23(f64vec4) VectorShuffle 460 458 4 5 6 3
- Store 459 461
- 462: 6(int) Load 8(invocation)
- 463: 133(ptr) AccessChain 27(data) 60 60
- 464: 23(f64vec4) Load 463
- 465: 23(f64vec4) GroupNonUniformFMax 35 ClusteredReduce 464 34
- 466: 133(ptr) AccessChain 27(data) 462 60
- Store 466 465
+ 307: 41(ptr) AccessChain 27(data) 51 29
+ 308: 18(fvec4) Load 307
+ 309: 52(fvec3) VectorShuffle 308 308 0 1 2
+ 310: 52(fvec3) GroupNonUniformFMin 35 ClusteredReduce 309 34
+ 311: 31(ptr) AccessChain 27(data) 306 29 30
+ 312: 17(float) CompositeExtract 310 0
+ Store 311 312
+ 313: 31(ptr) AccessChain 27(data) 306 29 34
+ 314: 17(float) CompositeExtract 310 1
+ Store 313 314
+ 315: 31(ptr) AccessChain 27(data) 306 29 61
+ 316: 17(float) CompositeExtract 310 2
+ Store 315 316
+ 317: 6(int) Load 8(invocation)
+ 318: 41(ptr) AccessChain 27(data) 65 29
+ 319: 18(fvec4) Load 318
+ 320: 18(fvec4) GroupNonUniformFMin 35 ClusteredReduce 319 34
+ 321: 41(ptr) AccessChain 27(data) 317 29
+ Store 321 320
+ 322: 6(int) Load 8(invocation)
+ 323: 71(ptr) AccessChain 27(data) 29 39 30
+ 324: 19(int) Load 323
+ 325: 19(int) GroupNonUniformSMin 35 ClusteredReduce 324 34
+ 326: 71(ptr) AccessChain 27(data) 322 39 30
+ Store 326 325
+ 327: 6(int) Load 8(invocation)
+ 328: 78(ptr) AccessChain 27(data) 39 39
+ 329: 20(ivec4) Load 328
+ 330: 77(ivec2) VectorShuffle 329 329 0 1
+ 331: 77(ivec2) GroupNonUniformSMin 35 ClusteredReduce 330 34
+ 332: 71(ptr) AccessChain 27(data) 327 39 30
+ 333: 19(int) CompositeExtract 331 0
+ Store 332 333
+ 334: 71(ptr) AccessChain 27(data) 327 39 34
+ 335: 19(int) CompositeExtract 331 1
+ Store 334 335
+ 336: 6(int) Load 8(invocation)
+ 337: 78(ptr) AccessChain 27(data) 51 39
+ 338: 20(ivec4) Load 337
+ 339: 88(ivec3) VectorShuffle 338 338 0 1 2
+ 340: 88(ivec3) GroupNonUniformSMin 35 ClusteredReduce 339 34
+ 341: 71(ptr) AccessChain 27(data) 336 39 30
+ 342: 19(int) CompositeExtract 340 0
+ Store 341 342
+ 343: 71(ptr) AccessChain 27(data) 336 39 34
+ 344: 19(int) CompositeExtract 340 1
+ Store 343 344
+ 345: 71(ptr) AccessChain 27(data) 336 39 61
+ 346: 19(int) CompositeExtract 340 2
+ Store 345 346
+ 347: 6(int) Load 8(invocation)
+ 348: 78(ptr) AccessChain 27(data) 65 39
+ 349: 20(ivec4) Load 348
+ 350: 20(ivec4) GroupNonUniformSMin 35 ClusteredReduce 349 34
+ 351: 78(ptr) AccessChain 27(data) 347 39
+ Store 351 350
+ 352: 6(int) Load 8(invocation)
+ 353: 105(ptr) AccessChain 27(data) 29 51 30
+ 354: 6(int) Load 353
+ 355: 6(int) GroupNonUniformUMin 35 ClusteredReduce 354 34
+ 356: 105(ptr) AccessChain 27(data) 352 51 30
+ Store 356 355
+ 357: 6(int) Load 8(invocation)
+ 358: 112(ptr) AccessChain 27(data) 39 51
+ 359: 21(ivec4) Load 358
+ 360: 111(ivec2) VectorShuffle 359 359 0 1
+ 361: 111(ivec2) GroupNonUniformUMin 35 ClusteredReduce 360 34
+ 362: 105(ptr) AccessChain 27(data) 357 51 30
+ 363: 6(int) CompositeExtract 361 0
+ Store 362 363
+ 364: 105(ptr) AccessChain 27(data) 357 51 34
+ 365: 6(int) CompositeExtract 361 1
+ Store 364 365
+ 366: 6(int) Load 8(invocation)
+ 367: 112(ptr) AccessChain 27(data) 51 51
+ 368: 21(ivec4) Load 367
+ 369: 122(ivec3) VectorShuffle 368 368 0 1 2
+ 370: 122(ivec3) GroupNonUniformUMin 35 ClusteredReduce 369 34
+ 371: 105(ptr) AccessChain 27(data) 366 51 30
+ 372: 6(int) CompositeExtract 370 0
+ Store 371 372
+ 373: 105(ptr) AccessChain 27(data) 366 51 34
+ 374: 6(int) CompositeExtract 370 1
+ Store 373 374
+ 375: 105(ptr) AccessChain 27(data) 366 51 61
+ 376: 6(int) CompositeExtract 370 2
+ Store 375 376
+ 377: 6(int) Load 8(invocation)
+ 378: 112(ptr) AccessChain 27(data) 65 51
+ 379: 21(ivec4) Load 378
+ 380: 21(ivec4) GroupNonUniformUMin 35 ClusteredReduce 379 34
+ 381: 112(ptr) AccessChain 27(data) 377 51
+ Store 381 380
+ 382: 6(int) Load 8(invocation)
+ 383: 139(ptr) AccessChain 27(data) 29 65 30
+ 384:22(float64_t) Load 383
+ 385:22(float64_t) GroupNonUniformFMin 35 ClusteredReduce 384 34
+ 386: 139(ptr) AccessChain 27(data) 382 65 30
+ Store 386 385
+ 387: 6(int) Load 8(invocation)
+ 388: 146(ptr) AccessChain 27(data) 39 65
+ 389: 23(f64vec4) Load 388
+ 390:145(f64vec2) VectorShuffle 389 389 0 1
+ 391:145(f64vec2) GroupNonUniformFMin 35 ClusteredReduce 390 34
+ 392: 139(ptr) AccessChain 27(data) 387 65 30
+ 393:22(float64_t) CompositeExtract 391 0
+ Store 392 393
+ 394: 139(ptr) AccessChain 27(data) 387 65 34
+ 395:22(float64_t) CompositeExtract 391 1
+ Store 394 395
+ 396: 6(int) Load 8(invocation)
+ 397: 146(ptr) AccessChain 27(data) 51 65
+ 398: 23(f64vec4) Load 397
+ 399:156(f64vec3) VectorShuffle 398 398 0 1 2
+ 400:156(f64vec3) GroupNonUniformFMin 35 ClusteredReduce 399 34
+ 401: 139(ptr) AccessChain 27(data) 396 65 30
+ 402:22(float64_t) CompositeExtract 400 0
+ Store 401 402
+ 403: 139(ptr) AccessChain 27(data) 396 65 34
+ 404:22(float64_t) CompositeExtract 400 1
+ Store 403 404
+ 405: 139(ptr) AccessChain 27(data) 396 65 61
+ 406:22(float64_t) CompositeExtract 400 2
+ Store 405 406
+ 407: 6(int) Load 8(invocation)
+ 408: 146(ptr) AccessChain 27(data) 65 65
+ 409: 23(f64vec4) Load 408
+ 410: 23(f64vec4) GroupNonUniformFMin 35 ClusteredReduce 409 34
+ 411: 146(ptr) AccessChain 27(data) 407 65
+ Store 411 410
+ 412: 6(int) Load 8(invocation)
+ 413: 31(ptr) AccessChain 27(data) 29 29 30
+ 414: 17(float) Load 413
+ 415: 17(float) GroupNonUniformFMax 35 ClusteredReduce 414 34
+ 416: 31(ptr) AccessChain 27(data) 412 29 30
+ Store 416 415
+ 417: 6(int) Load 8(invocation)
+ 418: 41(ptr) AccessChain 27(data) 39 29
+ 419: 18(fvec4) Load 418
+ 420: 40(fvec2) VectorShuffle 419 419 0 1
+ 421: 40(fvec2) GroupNonUniformFMax 35 ClusteredReduce 420 34
+ 422: 31(ptr) AccessChain 27(data) 417 29 30
+ 423: 17(float) CompositeExtract 421 0
+ Store 422 423
+ 424: 31(ptr) AccessChain 27(data) 417 29 34
+ 425: 17(float) CompositeExtract 421 1
+ Store 424 425
+ 426: 6(int) Load 8(invocation)
+ 427: 41(ptr) AccessChain 27(data) 51 29
+ 428: 18(fvec4) Load 427
+ 429: 52(fvec3) VectorShuffle 428 428 0 1 2
+ 430: 52(fvec3) GroupNonUniformFMax 35 ClusteredReduce 429 34
+ 431: 31(ptr) AccessChain 27(data) 426 29 30
+ 432: 17(float) CompositeExtract 430 0
+ Store 431 432
+ 433: 31(ptr) AccessChain 27(data) 426 29 34
+ 434: 17(float) CompositeExtract 430 1
+ Store 433 434
+ 435: 31(ptr) AccessChain 27(data) 426 29 61
+ 436: 17(float) CompositeExtract 430 2
+ Store 435 436
+ 437: 6(int) Load 8(invocation)
+ 438: 41(ptr) AccessChain 27(data) 65 29
+ 439: 18(fvec4) Load 438
+ 440: 18(fvec4) GroupNonUniformFMax 35 ClusteredReduce 439 34
+ 441: 41(ptr) AccessChain 27(data) 437 29
+ Store 441 440
+ 442: 6(int) Load 8(invocation)
+ 443: 71(ptr) AccessChain 27(data) 29 39 30
+ 444: 19(int) Load 443
+ 445: 19(int) GroupNonUniformSMax 35 ClusteredReduce 444 34
+ 446: 71(ptr) AccessChain 27(data) 442 39 30
+ Store 446 445
+ 447: 6(int) Load 8(invocation)
+ 448: 78(ptr) AccessChain 27(data) 39 39
+ 449: 20(ivec4) Load 448
+ 450: 77(ivec2) VectorShuffle 449 449 0 1
+ 451: 77(ivec2) GroupNonUniformSMax 35 ClusteredReduce 450 34
+ 452: 71(ptr) AccessChain 27(data) 447 39 30
+ 453: 19(int) CompositeExtract 451 0
+ Store 452 453
+ 454: 71(ptr) AccessChain 27(data) 447 39 34
+ 455: 19(int) CompositeExtract 451 1
+ Store 454 455
+ 456: 6(int) Load 8(invocation)
+ 457: 78(ptr) AccessChain 27(data) 51 39
+ 458: 20(ivec4) Load 457
+ 459: 88(ivec3) VectorShuffle 458 458 0 1 2
+ 460: 88(ivec3) GroupNonUniformSMax 35 ClusteredReduce 459 34
+ 461: 71(ptr) AccessChain 27(data) 456 39 30
+ 462: 19(int) CompositeExtract 460 0
+ Store 461 462
+ 463: 71(ptr) AccessChain 27(data) 456 39 34
+ 464: 19(int) CompositeExtract 460 1
+ Store 463 464
+ 465: 71(ptr) AccessChain 27(data) 456 39 61
+ 466: 19(int) CompositeExtract 460 2
+ Store 465 466
467: 6(int) Load 8(invocation)
- 468: 66(ptr) AccessChain 27(data) 29 39 30
- 469: 19(int) Load 468
- 470: 19(int) GroupNonUniformBitwiseAnd 35 ClusteredReduce 469 34
- 471: 66(ptr) AccessChain 27(data) 467 39 30
+ 468: 78(ptr) AccessChain 27(data) 65 39
+ 469: 20(ivec4) Load 468
+ 470: 20(ivec4) GroupNonUniformSMax 35 ClusteredReduce 469 34
+ 471: 78(ptr) AccessChain 27(data) 467 39
Store 471 470
472: 6(int) Load 8(invocation)
- 473: 73(ptr) AccessChain 27(data) 39 39
- 474: 20(ivec4) Load 473
- 475: 72(ivec2) VectorShuffle 474 474 0 1
- 476: 72(ivec2) GroupNonUniformBitwiseAnd 35 ClusteredReduce 475 34
- 477: 73(ptr) AccessChain 27(data) 472 39
- 478: 20(ivec4) Load 477
- 479: 20(ivec4) VectorShuffle 478 476 4 5 2 3
- Store 477 479
- 480: 6(int) Load 8(invocation)
- 481: 73(ptr) AccessChain 27(data) 50 39
- 482: 20(ivec4) Load 481
- 483: 82(ivec3) VectorShuffle 482 482 0 1 2
- 484: 82(ivec3) GroupNonUniformBitwiseAnd 35 ClusteredReduce 483 34
- 485: 73(ptr) AccessChain 27(data) 480 39
- 486: 20(ivec4) Load 485
- 487: 20(ivec4) VectorShuffle 486 484 4 5 6 3
- Store 485 487
- 488: 6(int) Load 8(invocation)
- 489: 73(ptr) AccessChain 27(data) 60 39
- 490: 20(ivec4) Load 489
- 491: 20(ivec4) GroupNonUniformBitwiseAnd 35 ClusteredReduce 490 34
- 492: 73(ptr) AccessChain 27(data) 488 39
- Store 492 491
- 493: 6(int) Load 8(invocation)
- 494: 96(ptr) AccessChain 27(data) 29 50 30
- 495: 6(int) Load 494
- 496: 6(int) GroupNonUniformBitwiseAnd 35 ClusteredReduce 495 34
- 497: 96(ptr) AccessChain 27(data) 493 50 30
- Store 497 496
- 498: 6(int) Load 8(invocation)
- 499: 103(ptr) AccessChain 27(data) 39 50
- 500: 21(ivec4) Load 499
- 501: 102(ivec2) VectorShuffle 500 500 0 1
- 502: 102(ivec2) GroupNonUniformBitwiseAnd 35 ClusteredReduce 501 34
- 503: 103(ptr) AccessChain 27(data) 498 50
- 504: 21(ivec4) Load 503
- 505: 21(ivec4) VectorShuffle 504 502 4 5 2 3
- Store 503 505
- 506: 6(int) Load 8(invocation)
- 507: 103(ptr) AccessChain 27(data) 50 50
- 508: 21(ivec4) Load 507
- 509: 112(ivec3) VectorShuffle 508 508 0 1 2
- 510: 112(ivec3) GroupNonUniformBitwiseAnd 35 ClusteredReduce 509 34
- 511: 103(ptr) AccessChain 27(data) 506 50
- 512: 21(ivec4) Load 511
- 513: 21(ivec4) VectorShuffle 512 510 4 5 6 3
- Store 511 513
- 514: 6(int) Load 8(invocation)
- 515: 103(ptr) AccessChain 27(data) 60 50
- 516: 21(ivec4) Load 515
- 517: 21(ivec4) GroupNonUniformBitwiseAnd 35 ClusteredReduce 516 34
- 518: 103(ptr) AccessChain 27(data) 514 50
- Store 518 517
- 519: 6(int) Load 8(invocation)
- 520: 66(ptr) AccessChain 27(data) 29 39 30
- 521: 19(int) Load 520
- 523: 522(bool) SLessThan 521 29
- 524: 522(bool) GroupNonUniformLogicalAnd 35 ClusteredReduce 523 34
- 525: 19(int) Select 524 39 29
- 526: 66(ptr) AccessChain 27(data) 519 39 30
- Store 526 525
+ 473: 105(ptr) AccessChain 27(data) 29 51 30
+ 474: 6(int) Load 473
+ 475: 6(int) GroupNonUniformUMax 35 ClusteredReduce 474 34
+ 476: 105(ptr) AccessChain 27(data) 472 51 30
+ Store 476 475
+ 477: 6(int) Load 8(invocation)
+ 478: 112(ptr) AccessChain 27(data) 39 51
+ 479: 21(ivec4) Load 478
+ 480: 111(ivec2) VectorShuffle 479 479 0 1
+ 481: 111(ivec2) GroupNonUniformUMax 35 ClusteredReduce 480 34
+ 482: 105(ptr) AccessChain 27(data) 477 51 30
+ 483: 6(int) CompositeExtract 481 0
+ Store 482 483
+ 484: 105(ptr) AccessChain 27(data) 477 51 34
+ 485: 6(int) CompositeExtract 481 1
+ Store 484 485
+ 486: 6(int) Load 8(invocation)
+ 487: 112(ptr) AccessChain 27(data) 51 51
+ 488: 21(ivec4) Load 487
+ 489: 122(ivec3) VectorShuffle 488 488 0 1 2
+ 490: 122(ivec3) GroupNonUniformUMax 35 ClusteredReduce 489 34
+ 491: 105(ptr) AccessChain 27(data) 486 51 30
+ 492: 6(int) CompositeExtract 490 0
+ Store 491 492
+ 493: 105(ptr) AccessChain 27(data) 486 51 34
+ 494: 6(int) CompositeExtract 490 1
+ Store 493 494
+ 495: 105(ptr) AccessChain 27(data) 486 51 61
+ 496: 6(int) CompositeExtract 490 2
+ Store 495 496
+ 497: 6(int) Load 8(invocation)
+ 498: 112(ptr) AccessChain 27(data) 65 51
+ 499: 21(ivec4) Load 498
+ 500: 21(ivec4) GroupNonUniformUMax 35 ClusteredReduce 499 34
+ 501: 112(ptr) AccessChain 27(data) 497 51
+ Store 501 500
+ 502: 6(int) Load 8(invocation)
+ 503: 139(ptr) AccessChain 27(data) 29 65 30
+ 504:22(float64_t) Load 503
+ 505:22(float64_t) GroupNonUniformFMax 35 ClusteredReduce 504 34
+ 506: 139(ptr) AccessChain 27(data) 502 65 30
+ Store 506 505
+ 507: 6(int) Load 8(invocation)
+ 508: 146(ptr) AccessChain 27(data) 39 65
+ 509: 23(f64vec4) Load 508
+ 510:145(f64vec2) VectorShuffle 509 509 0 1
+ 511:145(f64vec2) GroupNonUniformFMax 35 ClusteredReduce 510 34
+ 512: 139(ptr) AccessChain 27(data) 507 65 30
+ 513:22(float64_t) CompositeExtract 511 0
+ Store 512 513
+ 514: 139(ptr) AccessChain 27(data) 507 65 34
+ 515:22(float64_t) CompositeExtract 511 1
+ Store 514 515
+ 516: 6(int) Load 8(invocation)
+ 517: 146(ptr) AccessChain 27(data) 51 65
+ 518: 23(f64vec4) Load 517
+ 519:156(f64vec3) VectorShuffle 518 518 0 1 2
+ 520:156(f64vec3) GroupNonUniformFMax 35 ClusteredReduce 519 34
+ 521: 139(ptr) AccessChain 27(data) 516 65 30
+ 522:22(float64_t) CompositeExtract 520 0
+ Store 521 522
+ 523: 139(ptr) AccessChain 27(data) 516 65 34
+ 524:22(float64_t) CompositeExtract 520 1
+ Store 523 524
+ 525: 139(ptr) AccessChain 27(data) 516 65 61
+ 526:22(float64_t) CompositeExtract 520 2
+ Store 525 526
527: 6(int) Load 8(invocation)
- 528: 73(ptr) AccessChain 27(data) 39 39
- 529: 20(ivec4) Load 528
- 530: 72(ivec2) VectorShuffle 529 529 0 1
- 533: 532(bvec2) SLessThan 530 531
- 534: 532(bvec2) GroupNonUniformLogicalAnd 35 ClusteredReduce 533 34
- 536: 72(ivec2) Select 534 535 531
- 537: 73(ptr) AccessChain 27(data) 527 39
- 538: 20(ivec4) Load 537
- 539: 20(ivec4) VectorShuffle 538 536 4 5 2 3
- Store 537 539
- 540: 6(int) Load 8(invocation)
- 541: 73(ptr) AccessChain 27(data) 39 39
- 542: 20(ivec4) Load 541
- 543: 82(ivec3) VectorShuffle 542 542 0 1 2
- 546: 545(bvec3) SLessThan 543 544
- 547: 545(bvec3) GroupNonUniformLogicalAnd 35 ClusteredReduce 546 34
- 549: 82(ivec3) Select 547 548 544
- 550: 73(ptr) AccessChain 27(data) 540 39
- 551: 20(ivec4) Load 550
- 552: 20(ivec4) VectorShuffle 551 549 4 5 6 3
- Store 550 552
- 553: 6(int) Load 8(invocation)
- 554: 73(ptr) AccessChain 27(data) 39 39
- 555: 20(ivec4) Load 554
- 558: 557(bvec4) SLessThan 555 556
- 559: 557(bvec4) GroupNonUniformLogicalAnd 35 ClusteredReduce 558 34
- 561: 20(ivec4) Select 559 560 556
- 562: 73(ptr) AccessChain 27(data) 553 39
- Store 562 561
- 563: 6(int) Load 8(invocation)
- 564: 66(ptr) AccessChain 27(data) 29 39 30
- 565: 19(int) Load 564
- 566: 19(int) GroupNonUniformBitwiseOr 35 ClusteredReduce 565 34
- 567: 66(ptr) AccessChain 27(data) 563 39 30
- Store 567 566
- 568: 6(int) Load 8(invocation)
- 569: 73(ptr) AccessChain 27(data) 39 39
- 570: 20(ivec4) Load 569
- 571: 72(ivec2) VectorShuffle 570 570 0 1
- 572: 72(ivec2) GroupNonUniformBitwiseOr 35 ClusteredReduce 571 34
- 573: 73(ptr) AccessChain 27(data) 568 39
- 574: 20(ivec4) Load 573
- 575: 20(ivec4) VectorShuffle 574 572 4 5 2 3
- Store 573 575
+ 528: 146(ptr) AccessChain 27(data) 65 65
+ 529: 23(f64vec4) Load 528
+ 530: 23(f64vec4) GroupNonUniformFMax 35 ClusteredReduce 529 34
+ 531: 146(ptr) AccessChain 27(data) 527 65
+ Store 531 530
+ 532: 6(int) Load 8(invocation)
+ 533: 71(ptr) AccessChain 27(data) 29 39 30
+ 534: 19(int) Load 533
+ 535: 19(int) GroupNonUniformBitwiseAnd 35 ClusteredReduce 534 34
+ 536: 71(ptr) AccessChain 27(data) 532 39 30
+ Store 536 535
+ 537: 6(int) Load 8(invocation)
+ 538: 78(ptr) AccessChain 27(data) 39 39
+ 539: 20(ivec4) Load 538
+ 540: 77(ivec2) VectorShuffle 539 539 0 1
+ 541: 77(ivec2) GroupNonUniformBitwiseAnd 35 ClusteredReduce 540 34
+ 542: 71(ptr) AccessChain 27(data) 537 39 30
+ 543: 19(int) CompositeExtract 541 0
+ Store 542 543
+ 544: 71(ptr) AccessChain 27(data) 537 39 34
+ 545: 19(int) CompositeExtract 541 1
+ Store 544 545
+ 546: 6(int) Load 8(invocation)
+ 547: 78(ptr) AccessChain 27(data) 51 39
+ 548: 20(ivec4) Load 547
+ 549: 88(ivec3) VectorShuffle 548 548 0 1 2
+ 550: 88(ivec3) GroupNonUniformBitwiseAnd 35 ClusteredReduce 549 34
+ 551: 71(ptr) AccessChain 27(data) 546 39 30
+ 552: 19(int) CompositeExtract 550 0
+ Store 551 552
+ 553: 71(ptr) AccessChain 27(data) 546 39 34
+ 554: 19(int) CompositeExtract 550 1
+ Store 553 554
+ 555: 71(ptr) AccessChain 27(data) 546 39 61
+ 556: 19(int) CompositeExtract 550 2
+ Store 555 556
+ 557: 6(int) Load 8(invocation)
+ 558: 78(ptr) AccessChain 27(data) 65 39
+ 559: 20(ivec4) Load 558
+ 560: 20(ivec4) GroupNonUniformBitwiseAnd 35 ClusteredReduce 559 34
+ 561: 78(ptr) AccessChain 27(data) 557 39
+ Store 561 560
+ 562: 6(int) Load 8(invocation)
+ 563: 105(ptr) AccessChain 27(data) 29 51 30
+ 564: 6(int) Load 563
+ 565: 6(int) GroupNonUniformBitwiseAnd 35 ClusteredReduce 564 34
+ 566: 105(ptr) AccessChain 27(data) 562 51 30
+ Store 566 565
+ 567: 6(int) Load 8(invocation)
+ 568: 112(ptr) AccessChain 27(data) 39 51
+ 569: 21(ivec4) Load 568
+ 570: 111(ivec2) VectorShuffle 569 569 0 1
+ 571: 111(ivec2) GroupNonUniformBitwiseAnd 35 ClusteredReduce 570 34
+ 572: 105(ptr) AccessChain 27(data) 567 51 30
+ 573: 6(int) CompositeExtract 571 0
+ Store 572 573
+ 574: 105(ptr) AccessChain 27(data) 567 51 34
+ 575: 6(int) CompositeExtract 571 1
+ Store 574 575
576: 6(int) Load 8(invocation)
- 577: 73(ptr) AccessChain 27(data) 50 39
- 578: 20(ivec4) Load 577
- 579: 82(ivec3) VectorShuffle 578 578 0 1 2
- 580: 82(ivec3) GroupNonUniformBitwiseOr 35 ClusteredReduce 579 34
- 581: 73(ptr) AccessChain 27(data) 576 39
- 582: 20(ivec4) Load 581
- 583: 20(ivec4) VectorShuffle 582 580 4 5 6 3
- Store 581 583
- 584: 6(int) Load 8(invocation)
- 585: 73(ptr) AccessChain 27(data) 60 39
- 586: 20(ivec4) Load 585
- 587: 20(ivec4) GroupNonUniformBitwiseOr 35 ClusteredReduce 586 34
- 588: 73(ptr) AccessChain 27(data) 584 39
- Store 588 587
- 589: 6(int) Load 8(invocation)
- 590: 96(ptr) AccessChain 27(data) 29 50 30
- 591: 6(int) Load 590
- 592: 6(int) GroupNonUniformBitwiseOr 35 ClusteredReduce 591 34
- 593: 96(ptr) AccessChain 27(data) 589 50 30
- Store 593 592
- 594: 6(int) Load 8(invocation)
- 595: 103(ptr) AccessChain 27(data) 39 50
- 596: 21(ivec4) Load 595
- 597: 102(ivec2) VectorShuffle 596 596 0 1
- 598: 102(ivec2) GroupNonUniformBitwiseOr 35 ClusteredReduce 597 34
- 599: 103(ptr) AccessChain 27(data) 594 50
- 600: 21(ivec4) Load 599
- 601: 21(ivec4) VectorShuffle 600 598 4 5 2 3
- Store 599 601
- 602: 6(int) Load 8(invocation)
- 603: 103(ptr) AccessChain 27(data) 50 50
- 604: 21(ivec4) Load 603
- 605: 112(ivec3) VectorShuffle 604 604 0 1 2
- 606: 112(ivec3) GroupNonUniformBitwiseOr 35 ClusteredReduce 605 34
- 607: 103(ptr) AccessChain 27(data) 602 50
- 608: 21(ivec4) Load 607
- 609: 21(ivec4) VectorShuffle 608 606 4 5 6 3
- Store 607 609
- 610: 6(int) Load 8(invocation)
- 611: 103(ptr) AccessChain 27(data) 60 50
- 612: 21(ivec4) Load 611
- 613: 21(ivec4) GroupNonUniformBitwiseOr 35 ClusteredReduce 612 34
- 614: 103(ptr) AccessChain 27(data) 610 50
- Store 614 613
- 615: 6(int) Load 8(invocation)
- 616: 66(ptr) AccessChain 27(data) 29 39 30
- 617: 19(int) Load 616
- 618: 522(bool) SLessThan 617 29
- 619: 522(bool) GroupNonUniformLogicalOr 35 ClusteredReduce 618 34
- 620: 19(int) Select 619 39 29
- 621: 66(ptr) AccessChain 27(data) 615 39 30
- Store 621 620
- 622: 6(int) Load 8(invocation)
- 623: 73(ptr) AccessChain 27(data) 39 39
- 624: 20(ivec4) Load 623
- 625: 72(ivec2) VectorShuffle 624 624 0 1
- 626: 532(bvec2) SLessThan 625 531
- 627: 532(bvec2) GroupNonUniformLogicalOr 35 ClusteredReduce 626 34
- 628: 72(ivec2) Select 627 535 531
- 629: 73(ptr) AccessChain 27(data) 622 39
- 630: 20(ivec4) Load 629
- 631: 20(ivec4) VectorShuffle 630 628 4 5 2 3
- Store 629 631
- 632: 6(int) Load 8(invocation)
- 633: 73(ptr) AccessChain 27(data) 39 39
- 634: 20(ivec4) Load 633
- 635: 82(ivec3) VectorShuffle 634 634 0 1 2
- 636: 545(bvec3) SLessThan 635 544
- 637: 545(bvec3) GroupNonUniformLogicalOr 35 ClusteredReduce 636 34
- 638: 82(ivec3) Select 637 548 544
- 639: 73(ptr) AccessChain 27(data) 632 39
- 640: 20(ivec4) Load 639
- 641: 20(ivec4) VectorShuffle 640 638 4 5 6 3
- Store 639 641
- 642: 6(int) Load 8(invocation)
- 643: 73(ptr) AccessChain 27(data) 39 39
- 644: 20(ivec4) Load 643
- 645: 557(bvec4) SLessThan 644 556
- 646: 557(bvec4) GroupNonUniformLogicalOr 35 ClusteredReduce 645 34
- 647: 20(ivec4) Select 646 560 556
- 648: 73(ptr) AccessChain 27(data) 642 39
- Store 648 647
- 649: 6(int) Load 8(invocation)
- 650: 66(ptr) AccessChain 27(data) 29 39 30
- 651: 19(int) Load 650
- 652: 19(int) GroupNonUniformBitwiseXor 35 ClusteredReduce 651 34
- 653: 66(ptr) AccessChain 27(data) 649 39 30
- Store 653 652
+ 577: 112(ptr) AccessChain 27(data) 51 51
+ 578: 21(ivec4) Load 577
+ 579: 122(ivec3) VectorShuffle 578 578 0 1 2
+ 580: 122(ivec3) GroupNonUniformBitwiseAnd 35 ClusteredReduce 579 34
+ 581: 105(ptr) AccessChain 27(data) 576 51 30
+ 582: 6(int) CompositeExtract 580 0
+ Store 581 582
+ 583: 105(ptr) AccessChain 27(data) 576 51 34
+ 584: 6(int) CompositeExtract 580 1
+ Store 583 584
+ 585: 105(ptr) AccessChain 27(data) 576 51 61
+ 586: 6(int) CompositeExtract 580 2
+ Store 585 586
+ 587: 6(int) Load 8(invocation)
+ 588: 112(ptr) AccessChain 27(data) 65 51
+ 589: 21(ivec4) Load 588
+ 590: 21(ivec4) GroupNonUniformBitwiseAnd 35 ClusteredReduce 589 34
+ 591: 112(ptr) AccessChain 27(data) 587 51
+ Store 591 590
+ 592: 6(int) Load 8(invocation)
+ 593: 71(ptr) AccessChain 27(data) 29 39 30
+ 594: 19(int) Load 593
+ 596: 595(bool) SLessThan 594 29
+ 597: 595(bool) GroupNonUniformLogicalAnd 35 ClusteredReduce 596 34
+ 598: 19(int) Select 597 39 29
+ 599: 71(ptr) AccessChain 27(data) 592 39 30
+ Store 599 598
+ 600: 6(int) Load 8(invocation)
+ 601: 78(ptr) AccessChain 27(data) 39 39
+ 602: 20(ivec4) Load 601
+ 603: 77(ivec2) VectorShuffle 602 602 0 1
+ 606: 605(bvec2) SLessThan 603 604
+ 607: 605(bvec2) GroupNonUniformLogicalAnd 35 ClusteredReduce 606 34
+ 609: 77(ivec2) Select 607 608 604
+ 610: 71(ptr) AccessChain 27(data) 600 39 30
+ 611: 19(int) CompositeExtract 609 0
+ Store 610 611
+ 612: 71(ptr) AccessChain 27(data) 600 39 34
+ 613: 19(int) CompositeExtract 609 1
+ Store 612 613
+ 614: 6(int) Load 8(invocation)
+ 615: 78(ptr) AccessChain 27(data) 39 39
+ 616: 20(ivec4) Load 615
+ 617: 88(ivec3) VectorShuffle 616 616 0 1 2
+ 620: 619(bvec3) SLessThan 617 618
+ 621: 619(bvec3) GroupNonUniformLogicalAnd 35 ClusteredReduce 620 34
+ 623: 88(ivec3) Select 621 622 618
+ 624: 71(ptr) AccessChain 27(data) 614 39 30
+ 625: 19(int) CompositeExtract 623 0
+ Store 624 625
+ 626: 71(ptr) AccessChain 27(data) 614 39 34
+ 627: 19(int) CompositeExtract 623 1
+ Store 626 627
+ 628: 71(ptr) AccessChain 27(data) 614 39 61
+ 629: 19(int) CompositeExtract 623 2
+ Store 628 629
+ 630: 6(int) Load 8(invocation)
+ 631: 78(ptr) AccessChain 27(data) 39 39
+ 632: 20(ivec4) Load 631
+ 635: 634(bvec4) SLessThan 632 633
+ 636: 634(bvec4) GroupNonUniformLogicalAnd 35 ClusteredReduce 635 34
+ 638: 20(ivec4) Select 636 637 633
+ 639: 78(ptr) AccessChain 27(data) 630 39
+ Store 639 638
+ 640: 6(int) Load 8(invocation)
+ 641: 71(ptr) AccessChain 27(data) 29 39 30
+ 642: 19(int) Load 641
+ 643: 19(int) GroupNonUniformBitwiseOr 35 ClusteredReduce 642 34
+ 644: 71(ptr) AccessChain 27(data) 640 39 30
+ Store 644 643
+ 645: 6(int) Load 8(invocation)
+ 646: 78(ptr) AccessChain 27(data) 39 39
+ 647: 20(ivec4) Load 646
+ 648: 77(ivec2) VectorShuffle 647 647 0 1
+ 649: 77(ivec2) GroupNonUniformBitwiseOr 35 ClusteredReduce 648 34
+ 650: 71(ptr) AccessChain 27(data) 645 39 30
+ 651: 19(int) CompositeExtract 649 0
+ Store 650 651
+ 652: 71(ptr) AccessChain 27(data) 645 39 34
+ 653: 19(int) CompositeExtract 649 1
+ Store 652 653
654: 6(int) Load 8(invocation)
- 655: 73(ptr) AccessChain 27(data) 39 39
+ 655: 78(ptr) AccessChain 27(data) 51 39
656: 20(ivec4) Load 655
- 657: 72(ivec2) VectorShuffle 656 656 0 1
- 658: 72(ivec2) GroupNonUniformBitwiseXor 35 ClusteredReduce 657 34
- 659: 73(ptr) AccessChain 27(data) 654 39
- 660: 20(ivec4) Load 659
- 661: 20(ivec4) VectorShuffle 660 658 4 5 2 3
- Store 659 661
- 662: 6(int) Load 8(invocation)
- 663: 73(ptr) AccessChain 27(data) 50 39
- 664: 20(ivec4) Load 663
- 665: 82(ivec3) VectorShuffle 664 664 0 1 2
- 666: 82(ivec3) GroupNonUniformBitwiseXor 35 ClusteredReduce 665 34
- 667: 73(ptr) AccessChain 27(data) 662 39
- 668: 20(ivec4) Load 667
- 669: 20(ivec4) VectorShuffle 668 666 4 5 6 3
- Store 667 669
+ 657: 88(ivec3) VectorShuffle 656 656 0 1 2
+ 658: 88(ivec3) GroupNonUniformBitwiseOr 35 ClusteredReduce 657 34
+ 659: 71(ptr) AccessChain 27(data) 654 39 30
+ 660: 19(int) CompositeExtract 658 0
+ Store 659 660
+ 661: 71(ptr) AccessChain 27(data) 654 39 34
+ 662: 19(int) CompositeExtract 658 1
+ Store 661 662
+ 663: 71(ptr) AccessChain 27(data) 654 39 61
+ 664: 19(int) CompositeExtract 658 2
+ Store 663 664
+ 665: 6(int) Load 8(invocation)
+ 666: 78(ptr) AccessChain 27(data) 65 39
+ 667: 20(ivec4) Load 666
+ 668: 20(ivec4) GroupNonUniformBitwiseOr 35 ClusteredReduce 667 34
+ 669: 78(ptr) AccessChain 27(data) 665 39
+ Store 669 668
670: 6(int) Load 8(invocation)
- 671: 73(ptr) AccessChain 27(data) 60 39
- 672: 20(ivec4) Load 671
- 673: 20(ivec4) GroupNonUniformBitwiseXor 35 ClusteredReduce 672 34
- 674: 73(ptr) AccessChain 27(data) 670 39
+ 671: 105(ptr) AccessChain 27(data) 29 51 30
+ 672: 6(int) Load 671
+ 673: 6(int) GroupNonUniformBitwiseOr 35 ClusteredReduce 672 34
+ 674: 105(ptr) AccessChain 27(data) 670 51 30
Store 674 673
675: 6(int) Load 8(invocation)
- 676: 96(ptr) AccessChain 27(data) 29 50 30
- 677: 6(int) Load 676
- 678: 6(int) GroupNonUniformBitwiseXor 35 ClusteredReduce 677 34
- 679: 96(ptr) AccessChain 27(data) 675 50 30
- Store 679 678
- 680: 6(int) Load 8(invocation)
- 681: 103(ptr) AccessChain 27(data) 39 50
- 682: 21(ivec4) Load 681
- 683: 102(ivec2) VectorShuffle 682 682 0 1
- 684: 102(ivec2) GroupNonUniformBitwiseXor 35 ClusteredReduce 683 34
- 685: 103(ptr) AccessChain 27(data) 680 50
+ 676: 112(ptr) AccessChain 27(data) 39 51
+ 677: 21(ivec4) Load 676
+ 678: 111(ivec2) VectorShuffle 677 677 0 1
+ 679: 111(ivec2) GroupNonUniformBitwiseOr 35 ClusteredReduce 678 34
+ 680: 105(ptr) AccessChain 27(data) 675 51 30
+ 681: 6(int) CompositeExtract 679 0
+ Store 680 681
+ 682: 105(ptr) AccessChain 27(data) 675 51 34
+ 683: 6(int) CompositeExtract 679 1
+ Store 682 683
+ 684: 6(int) Load 8(invocation)
+ 685: 112(ptr) AccessChain 27(data) 51 51
686: 21(ivec4) Load 685
- 687: 21(ivec4) VectorShuffle 686 684 4 5 2 3
- Store 685 687
- 688: 6(int) Load 8(invocation)
- 689: 103(ptr) AccessChain 27(data) 50 50
- 690: 21(ivec4) Load 689
- 691: 112(ivec3) VectorShuffle 690 690 0 1 2
- 692: 112(ivec3) GroupNonUniformBitwiseXor 35 ClusteredReduce 691 34
- 693: 103(ptr) AccessChain 27(data) 688 50
- 694: 21(ivec4) Load 693
- 695: 21(ivec4) VectorShuffle 694 692 4 5 6 3
- Store 693 695
- 696: 6(int) Load 8(invocation)
- 697: 103(ptr) AccessChain 27(data) 60 50
- 698: 21(ivec4) Load 697
- 699: 21(ivec4) GroupNonUniformBitwiseXor 35 ClusteredReduce 698 34
- 700: 103(ptr) AccessChain 27(data) 696 50
- Store 700 699
- 701: 6(int) Load 8(invocation)
- 702: 66(ptr) AccessChain 27(data) 29 39 30
- 703: 19(int) Load 702
- 704: 522(bool) SLessThan 703 29
- 705: 522(bool) GroupNonUniformLogicalXor 35 ClusteredReduce 704 34
- 706: 19(int) Select 705 39 29
- 707: 66(ptr) AccessChain 27(data) 701 39 30
- Store 707 706
- 708: 6(int) Load 8(invocation)
- 709: 73(ptr) AccessChain 27(data) 39 39
- 710: 20(ivec4) Load 709
- 711: 72(ivec2) VectorShuffle 710 710 0 1
- 712: 532(bvec2) SLessThan 711 531
- 713: 532(bvec2) GroupNonUniformLogicalXor 35 ClusteredReduce 712 34
- 714: 72(ivec2) Select 713 535 531
- 715: 73(ptr) AccessChain 27(data) 708 39
- 716: 20(ivec4) Load 715
- 717: 20(ivec4) VectorShuffle 716 714 4 5 2 3
- Store 715 717
+ 687: 122(ivec3) VectorShuffle 686 686 0 1 2
+ 688: 122(ivec3) GroupNonUniformBitwiseOr 35 ClusteredReduce 687 34
+ 689: 105(ptr) AccessChain 27(data) 684 51 30
+ 690: 6(int) CompositeExtract 688 0
+ Store 689 690
+ 691: 105(ptr) AccessChain 27(data) 684 51 34
+ 692: 6(int) CompositeExtract 688 1
+ Store 691 692
+ 693: 105(ptr) AccessChain 27(data) 684 51 61
+ 694: 6(int) CompositeExtract 688 2
+ Store 693 694
+ 695: 6(int) Load 8(invocation)
+ 696: 112(ptr) AccessChain 27(data) 65 51
+ 697: 21(ivec4) Load 696
+ 698: 21(ivec4) GroupNonUniformBitwiseOr 35 ClusteredReduce 697 34
+ 699: 112(ptr) AccessChain 27(data) 695 51
+ Store 699 698
+ 700: 6(int) Load 8(invocation)
+ 701: 71(ptr) AccessChain 27(data) 29 39 30
+ 702: 19(int) Load 701
+ 703: 595(bool) SLessThan 702 29
+ 704: 595(bool) GroupNonUniformLogicalOr 35 ClusteredReduce 703 34
+ 705: 19(int) Select 704 39 29
+ 706: 71(ptr) AccessChain 27(data) 700 39 30
+ Store 706 705
+ 707: 6(int) Load 8(invocation)
+ 708: 78(ptr) AccessChain 27(data) 39 39
+ 709: 20(ivec4) Load 708
+ 710: 77(ivec2) VectorShuffle 709 709 0 1
+ 711: 605(bvec2) SLessThan 710 604
+ 712: 605(bvec2) GroupNonUniformLogicalOr 35 ClusteredReduce 711 34
+ 713: 77(ivec2) Select 712 608 604
+ 714: 71(ptr) AccessChain 27(data) 707 39 30
+ 715: 19(int) CompositeExtract 713 0
+ Store 714 715
+ 716: 71(ptr) AccessChain 27(data) 707 39 34
+ 717: 19(int) CompositeExtract 713 1
+ Store 716 717
718: 6(int) Load 8(invocation)
- 719: 73(ptr) AccessChain 27(data) 39 39
+ 719: 78(ptr) AccessChain 27(data) 39 39
720: 20(ivec4) Load 719
- 721: 82(ivec3) VectorShuffle 720 720 0 1 2
- 722: 545(bvec3) SLessThan 721 544
- 723: 545(bvec3) GroupNonUniformLogicalXor 35 ClusteredReduce 722 34
- 724: 82(ivec3) Select 723 548 544
- 725: 73(ptr) AccessChain 27(data) 718 39
- 726: 20(ivec4) Load 725
- 727: 20(ivec4) VectorShuffle 726 724 4 5 6 3
- Store 725 727
- 728: 6(int) Load 8(invocation)
- 729: 73(ptr) AccessChain 27(data) 39 39
- 730: 20(ivec4) Load 729
- 731: 557(bvec4) SLessThan 730 556
- 732: 557(bvec4) GroupNonUniformLogicalXor 35 ClusteredReduce 731 34
- 733: 20(ivec4) Select 732 560 556
- 734: 73(ptr) AccessChain 27(data) 728 39
- Store 734 733
+ 721: 88(ivec3) VectorShuffle 720 720 0 1 2
+ 722: 619(bvec3) SLessThan 721 618
+ 723: 619(bvec3) GroupNonUniformLogicalOr 35 ClusteredReduce 722 34
+ 724: 88(ivec3) Select 723 622 618
+ 725: 71(ptr) AccessChain 27(data) 718 39 30
+ 726: 19(int) CompositeExtract 724 0
+ Store 725 726
+ 727: 71(ptr) AccessChain 27(data) 718 39 34
+ 728: 19(int) CompositeExtract 724 1
+ Store 727 728
+ 729: 71(ptr) AccessChain 27(data) 718 39 61
+ 730: 19(int) CompositeExtract 724 2
+ Store 729 730
+ 731: 6(int) Load 8(invocation)
+ 732: 78(ptr) AccessChain 27(data) 39 39
+ 733: 20(ivec4) Load 732
+ 734: 634(bvec4) SLessThan 733 633
+ 735: 634(bvec4) GroupNonUniformLogicalOr 35 ClusteredReduce 734 34
+ 736: 20(ivec4) Select 735 637 633
+ 737: 78(ptr) AccessChain 27(data) 731 39
+ Store 737 736
+ 738: 6(int) Load 8(invocation)
+ 739: 71(ptr) AccessChain 27(data) 29 39 30
+ 740: 19(int) Load 739
+ 741: 19(int) GroupNonUniformBitwiseXor 35 ClusteredReduce 740 34
+ 742: 71(ptr) AccessChain 27(data) 738 39 30
+ Store 742 741
+ 743: 6(int) Load 8(invocation)
+ 744: 78(ptr) AccessChain 27(data) 39 39
+ 745: 20(ivec4) Load 744
+ 746: 77(ivec2) VectorShuffle 745 745 0 1
+ 747: 77(ivec2) GroupNonUniformBitwiseXor 35 ClusteredReduce 746 34
+ 748: 71(ptr) AccessChain 27(data) 743 39 30
+ 749: 19(int) CompositeExtract 747 0
+ Store 748 749
+ 750: 71(ptr) AccessChain 27(data) 743 39 34
+ 751: 19(int) CompositeExtract 747 1
+ Store 750 751
+ 752: 6(int) Load 8(invocation)
+ 753: 78(ptr) AccessChain 27(data) 51 39
+ 754: 20(ivec4) Load 753
+ 755: 88(ivec3) VectorShuffle 754 754 0 1 2
+ 756: 88(ivec3) GroupNonUniformBitwiseXor 35 ClusteredReduce 755 34
+ 757: 71(ptr) AccessChain 27(data) 752 39 30
+ 758: 19(int) CompositeExtract 756 0
+ Store 757 758
+ 759: 71(ptr) AccessChain 27(data) 752 39 34
+ 760: 19(int) CompositeExtract 756 1
+ Store 759 760
+ 761: 71(ptr) AccessChain 27(data) 752 39 61
+ 762: 19(int) CompositeExtract 756 2
+ Store 761 762
+ 763: 6(int) Load 8(invocation)
+ 764: 78(ptr) AccessChain 27(data) 65 39
+ 765: 20(ivec4) Load 764
+ 766: 20(ivec4) GroupNonUniformBitwiseXor 35 ClusteredReduce 765 34
+ 767: 78(ptr) AccessChain 27(data) 763 39
+ Store 767 766
+ 768: 6(int) Load 8(invocation)
+ 769: 105(ptr) AccessChain 27(data) 29 51 30
+ 770: 6(int) Load 769
+ 771: 6(int) GroupNonUniformBitwiseXor 35 ClusteredReduce 770 34
+ 772: 105(ptr) AccessChain 27(data) 768 51 30
+ Store 772 771
+ 773: 6(int) Load 8(invocation)
+ 774: 112(ptr) AccessChain 27(data) 39 51
+ 775: 21(ivec4) Load 774
+ 776: 111(ivec2) VectorShuffle 775 775 0 1
+ 777: 111(ivec2) GroupNonUniformBitwiseXor 35 ClusteredReduce 776 34
+ 778: 105(ptr) AccessChain 27(data) 773 51 30
+ 779: 6(int) CompositeExtract 777 0
+ Store 778 779
+ 780: 105(ptr) AccessChain 27(data) 773 51 34
+ 781: 6(int) CompositeExtract 777 1
+ Store 780 781
+ 782: 6(int) Load 8(invocation)
+ 783: 112(ptr) AccessChain 27(data) 51 51
+ 784: 21(ivec4) Load 783
+ 785: 122(ivec3) VectorShuffle 784 784 0 1 2
+ 786: 122(ivec3) GroupNonUniformBitwiseXor 35 ClusteredReduce 785 34
+ 787: 105(ptr) AccessChain 27(data) 782 51 30
+ 788: 6(int) CompositeExtract 786 0
+ Store 787 788
+ 789: 105(ptr) AccessChain 27(data) 782 51 34
+ 790: 6(int) CompositeExtract 786 1
+ Store 789 790
+ 791: 105(ptr) AccessChain 27(data) 782 51 61
+ 792: 6(int) CompositeExtract 786 2
+ Store 791 792
+ 793: 6(int) Load 8(invocation)
+ 794: 112(ptr) AccessChain 27(data) 65 51
+ 795: 21(ivec4) Load 794
+ 796: 21(ivec4) GroupNonUniformBitwiseXor 35 ClusteredReduce 795 34
+ 797: 112(ptr) AccessChain 27(data) 793 51
+ Store 797 796
+ 798: 6(int) Load 8(invocation)
+ 799: 71(ptr) AccessChain 27(data) 29 39 30
+ 800: 19(int) Load 799
+ 801: 595(bool) SLessThan 800 29
+ 802: 595(bool) GroupNonUniformLogicalXor 35 ClusteredReduce 801 34
+ 803: 19(int) Select 802 39 29
+ 804: 71(ptr) AccessChain 27(data) 798 39 30
+ Store 804 803
+ 805: 6(int) Load 8(invocation)
+ 806: 78(ptr) AccessChain 27(data) 39 39
+ 807: 20(ivec4) Load 806
+ 808: 77(ivec2) VectorShuffle 807 807 0 1
+ 809: 605(bvec2) SLessThan 808 604
+ 810: 605(bvec2) GroupNonUniformLogicalXor 35 ClusteredReduce 809 34
+ 811: 77(ivec2) Select 810 608 604
+ 812: 71(ptr) AccessChain 27(data) 805 39 30
+ 813: 19(int) CompositeExtract 811 0
+ Store 812 813
+ 814: 71(ptr) AccessChain 27(data) 805 39 34
+ 815: 19(int) CompositeExtract 811 1
+ Store 814 815
+ 816: 6(int) Load 8(invocation)
+ 817: 78(ptr) AccessChain 27(data) 39 39
+ 818: 20(ivec4) Load 817
+ 819: 88(ivec3) VectorShuffle 818 818 0 1 2
+ 820: 619(bvec3) SLessThan 819 618
+ 821: 619(bvec3) GroupNonUniformLogicalXor 35 ClusteredReduce 820 34
+ 822: 88(ivec3) Select 821 622 618
+ 823: 71(ptr) AccessChain 27(data) 816 39 30
+ 824: 19(int) CompositeExtract 822 0
+ Store 823 824
+ 825: 71(ptr) AccessChain 27(data) 816 39 34
+ 826: 19(int) CompositeExtract 822 1
+ Store 825 826
+ 827: 71(ptr) AccessChain 27(data) 816 39 61
+ 828: 19(int) CompositeExtract 822 2
+ Store 827 828
+ 829: 6(int) Load 8(invocation)
+ 830: 78(ptr) AccessChain 27(data) 39 39
+ 831: 20(ivec4) Load 830
+ 832: 634(bvec4) SLessThan 831 633
+ 833: 634(bvec4) GroupNonUniformLogicalXor 35 ClusteredReduce 832 34
+ 834: 20(ivec4) Select 833 637 633
+ 835: 78(ptr) AccessChain 27(data) 829 39
+ Store 835 834
Return
FunctionEnd
diff --git a/Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out b/Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out
index 1406bd1..828ce61 100644
--- a/Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out
+++ b/Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out
@@ -1,7 +1,7 @@
spv.subgroupExtendedTypesArithmetic.comp
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 3665
+// Id's are bound by 4218
Capability Shader
Capability Float16
@@ -59,7 +59,7 @@
Decorate 31(Buffers) Block
Decorate 34(data) DescriptorSet 0
Decorate 34(data) Binding 0
- Decorate 3664 BuiltIn WorkgroupSize
+ Decorate 4217 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -94,40 +94,41 @@
46: 36(int) Constant 1
47: TypeVector 17(int8_t) 2
48: TypePointer StorageBuffer 18(i8vec4)
- 57: 36(int) Constant 2
- 58: TypeVector 17(int8_t) 3
- 67: 36(int) Constant 3
- 593: TypePointer StorageBuffer 19(int8_t)
- 599: TypeVector 19(int8_t) 2
- 600: TypePointer StorageBuffer 20(i8vec4)
- 609: TypeVector 19(int8_t) 3
- 1143: TypePointer StorageBuffer 21(int16_t)
- 1149: TypeVector 21(int16_t) 2
- 1150: TypePointer StorageBuffer 22(i16vec4)
- 1159: TypeVector 21(int16_t) 3
- 1693: TypePointer StorageBuffer 23(int16_t)
- 1699: TypeVector 23(int16_t) 2
- 1700: TypePointer StorageBuffer 24(i16vec4)
- 1709: TypeVector 23(int16_t) 3
- 2243: 36(int) Constant 4
- 2244: TypePointer StorageBuffer 25(int64_t)
- 2250: TypeVector 25(int64_t) 2
- 2251: TypePointer StorageBuffer 26(i64vec4)
- 2260: TypeVector 25(int64_t) 3
- 2794: 36(int) Constant 5
- 2795: TypePointer StorageBuffer 27(int64_t)
- 2801: TypeVector 27(int64_t) 2
- 2802: TypePointer StorageBuffer 28(i64vec4)
- 2811: TypeVector 27(int64_t) 3
- 3345: 36(int) Constant 6
- 3346: TypePointer StorageBuffer 29(float16_t)
- 3352: TypeVector 29(float16_t) 2
- 3353: TypePointer StorageBuffer 30(f16vec4)
- 3362: TypeVector 29(float16_t) 3
- 3661: TypeVector 6(int) 3
- 3662: 6(int) Constant 8
- 3663: 6(int) Constant 1
- 3664: 3661(ivec3) ConstantComposite 3662 3663 3663
+ 55: 6(int) Constant 1
+ 59: 36(int) Constant 2
+ 60: TypeVector 17(int8_t) 3
+ 69: 6(int) Constant 2
+ 73: 36(int) Constant 3
+ 679: TypePointer StorageBuffer 19(int8_t)
+ 685: TypeVector 19(int8_t) 2
+ 686: TypePointer StorageBuffer 20(i8vec4)
+ 696: TypeVector 19(int8_t) 3
+ 1313: TypePointer StorageBuffer 21(int16_t)
+ 1319: TypeVector 21(int16_t) 2
+ 1320: TypePointer StorageBuffer 22(i16vec4)
+ 1330: TypeVector 21(int16_t) 3
+ 1947: TypePointer StorageBuffer 23(int16_t)
+ 1953: TypeVector 23(int16_t) 2
+ 1954: TypePointer StorageBuffer 24(i16vec4)
+ 1964: TypeVector 23(int16_t) 3
+ 2581: 36(int) Constant 4
+ 2582: TypePointer StorageBuffer 25(int64_t)
+ 2588: TypeVector 25(int64_t) 2
+ 2589: TypePointer StorageBuffer 26(i64vec4)
+ 2599: TypeVector 25(int64_t) 3
+ 3216: 36(int) Constant 5
+ 3217: TypePointer StorageBuffer 27(int64_t)
+ 3223: TypeVector 27(int64_t) 2
+ 3224: TypePointer StorageBuffer 28(i64vec4)
+ 3234: TypeVector 27(int64_t) 3
+ 3851: 36(int) Constant 6
+ 3852: TypePointer StorageBuffer 29(float16_t)
+ 3858: TypeVector 29(float16_t) 2
+ 3859: TypePointer StorageBuffer 30(f16vec4)
+ 3869: TypeVector 29(float16_t) 3
+ 4215: TypeVector 6(int) 3
+ 4216: 6(int) Constant 8
+ 4217: 4215(ivec3) ConstantComposite 4216 55 55
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@@ -147,4134 +148,5100 @@
50: 18(i8vec4) Load 49
51: 47(i8vec2) VectorShuffle 50 50 0 1
52: 47(i8vec2) GroupNonUniformIAdd 42 Reduce 51
- 53: 48(ptr) AccessChain 34(data) 45 37
- 54: 18(i8vec4) Load 53
- 55: 18(i8vec4) VectorShuffle 54 52 4 5 2 3
- Store 53 55
- 56: 6(int) Load 8(invocation)
- 59: 48(ptr) AccessChain 34(data) 57 37
- 60: 18(i8vec4) Load 59
- 61: 58(i8vec3) VectorShuffle 60 60 0 1 2
- 62: 58(i8vec3) GroupNonUniformIAdd 42 Reduce 61
- 63: 48(ptr) AccessChain 34(data) 56 37
- 64: 18(i8vec4) Load 63
- 65: 18(i8vec4) VectorShuffle 64 62 4 5 6 3
- Store 63 65
- 66: 6(int) Load 8(invocation)
- 68: 48(ptr) AccessChain 34(data) 67 37
- 69: 18(i8vec4) Load 68
- 70: 18(i8vec4) GroupNonUniformIAdd 42 Reduce 69
- 71: 48(ptr) AccessChain 34(data) 66 37
- Store 71 70
+ 53: 39(ptr) AccessChain 34(data) 45 37 38
+ 54: 17(int8_t) CompositeExtract 52 0
+ Store 53 54
+ 56: 39(ptr) AccessChain 34(data) 45 37 55
+ 57: 17(int8_t) CompositeExtract 52 1
+ Store 56 57
+ 58: 6(int) Load 8(invocation)
+ 61: 48(ptr) AccessChain 34(data) 59 37
+ 62: 18(i8vec4) Load 61
+ 63: 60(i8vec3) VectorShuffle 62 62 0 1 2
+ 64: 60(i8vec3) GroupNonUniformIAdd 42 Reduce 63
+ 65: 39(ptr) AccessChain 34(data) 58 37 38
+ 66: 17(int8_t) CompositeExtract 64 0
+ Store 65 66
+ 67: 39(ptr) AccessChain 34(data) 58 37 55
+ 68: 17(int8_t) CompositeExtract 64 1
+ Store 67 68
+ 70: 39(ptr) AccessChain 34(data) 58 37 69
+ 71: 17(int8_t) CompositeExtract 64 2
+ Store 70 71
72: 6(int) Load 8(invocation)
- 73: 39(ptr) AccessChain 34(data) 37 37 38
- 74: 17(int8_t) Load 73
- 75: 17(int8_t) GroupNonUniformIMul 42 Reduce 74
- 76: 39(ptr) AccessChain 34(data) 72 37 38
- Store 76 75
- 77: 6(int) Load 8(invocation)
- 78: 48(ptr) AccessChain 34(data) 46 37
- 79: 18(i8vec4) Load 78
- 80: 47(i8vec2) VectorShuffle 79 79 0 1
- 81: 47(i8vec2) GroupNonUniformIMul 42 Reduce 80
- 82: 48(ptr) AccessChain 34(data) 77 37
- 83: 18(i8vec4) Load 82
- 84: 18(i8vec4) VectorShuffle 83 81 4 5 2 3
- Store 82 84
- 85: 6(int) Load 8(invocation)
- 86: 48(ptr) AccessChain 34(data) 57 37
- 87: 18(i8vec4) Load 86
- 88: 58(i8vec3) VectorShuffle 87 87 0 1 2
- 89: 58(i8vec3) GroupNonUniformIMul 42 Reduce 88
- 90: 48(ptr) AccessChain 34(data) 85 37
- 91: 18(i8vec4) Load 90
- 92: 18(i8vec4) VectorShuffle 91 89 4 5 6 3
- Store 90 92
- 93: 6(int) Load 8(invocation)
- 94: 48(ptr) AccessChain 34(data) 67 37
- 95: 18(i8vec4) Load 94
- 96: 18(i8vec4) GroupNonUniformIMul 42 Reduce 95
- 97: 48(ptr) AccessChain 34(data) 93 37
- Store 97 96
- 98: 6(int) Load 8(invocation)
- 99: 39(ptr) AccessChain 34(data) 37 37 38
- 100: 17(int8_t) Load 99
- 101: 17(int8_t) GroupNonUniformSMin 42 Reduce 100
- 102: 39(ptr) AccessChain 34(data) 98 37 38
- Store 102 101
+ 74: 48(ptr) AccessChain 34(data) 73 37
+ 75: 18(i8vec4) Load 74
+ 76: 18(i8vec4) GroupNonUniformIAdd 42 Reduce 75
+ 77: 48(ptr) AccessChain 34(data) 72 37
+ Store 77 76
+ 78: 6(int) Load 8(invocation)
+ 79: 39(ptr) AccessChain 34(data) 37 37 38
+ 80: 17(int8_t) Load 79
+ 81: 17(int8_t) GroupNonUniformIMul 42 Reduce 80
+ 82: 39(ptr) AccessChain 34(data) 78 37 38
+ Store 82 81
+ 83: 6(int) Load 8(invocation)
+ 84: 48(ptr) AccessChain 34(data) 46 37
+ 85: 18(i8vec4) Load 84
+ 86: 47(i8vec2) VectorShuffle 85 85 0 1
+ 87: 47(i8vec2) GroupNonUniformIMul 42 Reduce 86
+ 88: 39(ptr) AccessChain 34(data) 83 37 38
+ 89: 17(int8_t) CompositeExtract 87 0
+ Store 88 89
+ 90: 39(ptr) AccessChain 34(data) 83 37 55
+ 91: 17(int8_t) CompositeExtract 87 1
+ Store 90 91
+ 92: 6(int) Load 8(invocation)
+ 93: 48(ptr) AccessChain 34(data) 59 37
+ 94: 18(i8vec4) Load 93
+ 95: 60(i8vec3) VectorShuffle 94 94 0 1 2
+ 96: 60(i8vec3) GroupNonUniformIMul 42 Reduce 95
+ 97: 39(ptr) AccessChain 34(data) 92 37 38
+ 98: 17(int8_t) CompositeExtract 96 0
+ Store 97 98
+ 99: 39(ptr) AccessChain 34(data) 92 37 55
+ 100: 17(int8_t) CompositeExtract 96 1
+ Store 99 100
+ 101: 39(ptr) AccessChain 34(data) 92 37 69
+ 102: 17(int8_t) CompositeExtract 96 2
+ Store 101 102
103: 6(int) Load 8(invocation)
- 104: 48(ptr) AccessChain 34(data) 46 37
+ 104: 48(ptr) AccessChain 34(data) 73 37
105: 18(i8vec4) Load 104
- 106: 47(i8vec2) VectorShuffle 105 105 0 1
- 107: 47(i8vec2) GroupNonUniformSMin 42 Reduce 106
- 108: 48(ptr) AccessChain 34(data) 103 37
- 109: 18(i8vec4) Load 108
- 110: 18(i8vec4) VectorShuffle 109 107 4 5 2 3
- Store 108 110
- 111: 6(int) Load 8(invocation)
- 112: 48(ptr) AccessChain 34(data) 57 37
- 113: 18(i8vec4) Load 112
- 114: 58(i8vec3) VectorShuffle 113 113 0 1 2
- 115: 58(i8vec3) GroupNonUniformSMin 42 Reduce 114
- 116: 48(ptr) AccessChain 34(data) 111 37
- 117: 18(i8vec4) Load 116
- 118: 18(i8vec4) VectorShuffle 117 115 4 5 6 3
- Store 116 118
- 119: 6(int) Load 8(invocation)
- 120: 48(ptr) AccessChain 34(data) 67 37
- 121: 18(i8vec4) Load 120
- 122: 18(i8vec4) GroupNonUniformSMin 42 Reduce 121
- 123: 48(ptr) AccessChain 34(data) 119 37
- Store 123 122
- 124: 6(int) Load 8(invocation)
- 125: 39(ptr) AccessChain 34(data) 37 37 38
- 126: 17(int8_t) Load 125
- 127: 17(int8_t) GroupNonUniformSMax 42 Reduce 126
- 128: 39(ptr) AccessChain 34(data) 124 37 38
- Store 128 127
- 129: 6(int) Load 8(invocation)
- 130: 48(ptr) AccessChain 34(data) 46 37
- 131: 18(i8vec4) Load 130
- 132: 47(i8vec2) VectorShuffle 131 131 0 1
- 133: 47(i8vec2) GroupNonUniformSMax 42 Reduce 132
- 134: 48(ptr) AccessChain 34(data) 129 37
+ 106: 18(i8vec4) GroupNonUniformIMul 42 Reduce 105
+ 107: 48(ptr) AccessChain 34(data) 103 37
+ Store 107 106
+ 108: 6(int) Load 8(invocation)
+ 109: 39(ptr) AccessChain 34(data) 37 37 38
+ 110: 17(int8_t) Load 109
+ 111: 17(int8_t) GroupNonUniformSMin 42 Reduce 110
+ 112: 39(ptr) AccessChain 34(data) 108 37 38
+ Store 112 111
+ 113: 6(int) Load 8(invocation)
+ 114: 48(ptr) AccessChain 34(data) 46 37
+ 115: 18(i8vec4) Load 114
+ 116: 47(i8vec2) VectorShuffle 115 115 0 1
+ 117: 47(i8vec2) GroupNonUniformSMin 42 Reduce 116
+ 118: 39(ptr) AccessChain 34(data) 113 37 38
+ 119: 17(int8_t) CompositeExtract 117 0
+ Store 118 119
+ 120: 39(ptr) AccessChain 34(data) 113 37 55
+ 121: 17(int8_t) CompositeExtract 117 1
+ Store 120 121
+ 122: 6(int) Load 8(invocation)
+ 123: 48(ptr) AccessChain 34(data) 59 37
+ 124: 18(i8vec4) Load 123
+ 125: 60(i8vec3) VectorShuffle 124 124 0 1 2
+ 126: 60(i8vec3) GroupNonUniformSMin 42 Reduce 125
+ 127: 39(ptr) AccessChain 34(data) 122 37 38
+ 128: 17(int8_t) CompositeExtract 126 0
+ Store 127 128
+ 129: 39(ptr) AccessChain 34(data) 122 37 55
+ 130: 17(int8_t) CompositeExtract 126 1
+ Store 129 130
+ 131: 39(ptr) AccessChain 34(data) 122 37 69
+ 132: 17(int8_t) CompositeExtract 126 2
+ Store 131 132
+ 133: 6(int) Load 8(invocation)
+ 134: 48(ptr) AccessChain 34(data) 73 37
135: 18(i8vec4) Load 134
- 136: 18(i8vec4) VectorShuffle 135 133 4 5 2 3
- Store 134 136
- 137: 6(int) Load 8(invocation)
- 138: 48(ptr) AccessChain 34(data) 57 37
- 139: 18(i8vec4) Load 138
- 140: 58(i8vec3) VectorShuffle 139 139 0 1 2
- 141: 58(i8vec3) GroupNonUniformSMax 42 Reduce 140
- 142: 48(ptr) AccessChain 34(data) 137 37
- 143: 18(i8vec4) Load 142
- 144: 18(i8vec4) VectorShuffle 143 141 4 5 6 3
- Store 142 144
- 145: 6(int) Load 8(invocation)
- 146: 48(ptr) AccessChain 34(data) 67 37
- 147: 18(i8vec4) Load 146
- 148: 18(i8vec4) GroupNonUniformSMax 42 Reduce 147
- 149: 48(ptr) AccessChain 34(data) 145 37
- Store 149 148
- 150: 6(int) Load 8(invocation)
- 151: 39(ptr) AccessChain 34(data) 37 37 38
- 152: 17(int8_t) Load 151
- 153: 17(int8_t) GroupNonUniformBitwiseAnd 42 Reduce 152
- 154: 39(ptr) AccessChain 34(data) 150 37 38
- Store 154 153
- 155: 6(int) Load 8(invocation)
- 156: 48(ptr) AccessChain 34(data) 46 37
- 157: 18(i8vec4) Load 156
- 158: 47(i8vec2) VectorShuffle 157 157 0 1
- 159: 47(i8vec2) GroupNonUniformBitwiseAnd 42 Reduce 158
- 160: 48(ptr) AccessChain 34(data) 155 37
- 161: 18(i8vec4) Load 160
- 162: 18(i8vec4) VectorShuffle 161 159 4 5 2 3
- Store 160 162
+ 136: 18(i8vec4) GroupNonUniformSMin 42 Reduce 135
+ 137: 48(ptr) AccessChain 34(data) 133 37
+ Store 137 136
+ 138: 6(int) Load 8(invocation)
+ 139: 39(ptr) AccessChain 34(data) 37 37 38
+ 140: 17(int8_t) Load 139
+ 141: 17(int8_t) GroupNonUniformSMax 42 Reduce 140
+ 142: 39(ptr) AccessChain 34(data) 138 37 38
+ Store 142 141
+ 143: 6(int) Load 8(invocation)
+ 144: 48(ptr) AccessChain 34(data) 46 37
+ 145: 18(i8vec4) Load 144
+ 146: 47(i8vec2) VectorShuffle 145 145 0 1
+ 147: 47(i8vec2) GroupNonUniformSMax 42 Reduce 146
+ 148: 39(ptr) AccessChain 34(data) 143 37 38
+ 149: 17(int8_t) CompositeExtract 147 0
+ Store 148 149
+ 150: 39(ptr) AccessChain 34(data) 143 37 55
+ 151: 17(int8_t) CompositeExtract 147 1
+ Store 150 151
+ 152: 6(int) Load 8(invocation)
+ 153: 48(ptr) AccessChain 34(data) 59 37
+ 154: 18(i8vec4) Load 153
+ 155: 60(i8vec3) VectorShuffle 154 154 0 1 2
+ 156: 60(i8vec3) GroupNonUniformSMax 42 Reduce 155
+ 157: 39(ptr) AccessChain 34(data) 152 37 38
+ 158: 17(int8_t) CompositeExtract 156 0
+ Store 157 158
+ 159: 39(ptr) AccessChain 34(data) 152 37 55
+ 160: 17(int8_t) CompositeExtract 156 1
+ Store 159 160
+ 161: 39(ptr) AccessChain 34(data) 152 37 69
+ 162: 17(int8_t) CompositeExtract 156 2
+ Store 161 162
163: 6(int) Load 8(invocation)
- 164: 48(ptr) AccessChain 34(data) 57 37
+ 164: 48(ptr) AccessChain 34(data) 73 37
165: 18(i8vec4) Load 164
- 166: 58(i8vec3) VectorShuffle 165 165 0 1 2
- 167: 58(i8vec3) GroupNonUniformBitwiseAnd 42 Reduce 166
- 168: 48(ptr) AccessChain 34(data) 163 37
- 169: 18(i8vec4) Load 168
- 170: 18(i8vec4) VectorShuffle 169 167 4 5 6 3
- Store 168 170
- 171: 6(int) Load 8(invocation)
- 172: 48(ptr) AccessChain 34(data) 67 37
- 173: 18(i8vec4) Load 172
- 174: 18(i8vec4) GroupNonUniformBitwiseAnd 42 Reduce 173
- 175: 48(ptr) AccessChain 34(data) 171 37
- Store 175 174
- 176: 6(int) Load 8(invocation)
- 177: 39(ptr) AccessChain 34(data) 37 37 38
- 178: 17(int8_t) Load 177
- 179: 17(int8_t) GroupNonUniformBitwiseOr 42 Reduce 178
- 180: 39(ptr) AccessChain 34(data) 176 37 38
- Store 180 179
- 181: 6(int) Load 8(invocation)
- 182: 48(ptr) AccessChain 34(data) 46 37
- 183: 18(i8vec4) Load 182
- 184: 47(i8vec2) VectorShuffle 183 183 0 1
- 185: 47(i8vec2) GroupNonUniformBitwiseOr 42 Reduce 184
- 186: 48(ptr) AccessChain 34(data) 181 37
- 187: 18(i8vec4) Load 186
- 188: 18(i8vec4) VectorShuffle 187 185 4 5 2 3
- Store 186 188
- 189: 6(int) Load 8(invocation)
- 190: 48(ptr) AccessChain 34(data) 57 37
- 191: 18(i8vec4) Load 190
- 192: 58(i8vec3) VectorShuffle 191 191 0 1 2
- 193: 58(i8vec3) GroupNonUniformBitwiseOr 42 Reduce 192
- 194: 48(ptr) AccessChain 34(data) 189 37
+ 166: 18(i8vec4) GroupNonUniformSMax 42 Reduce 165
+ 167: 48(ptr) AccessChain 34(data) 163 37
+ Store 167 166
+ 168: 6(int) Load 8(invocation)
+ 169: 39(ptr) AccessChain 34(data) 37 37 38
+ 170: 17(int8_t) Load 169
+ 171: 17(int8_t) GroupNonUniformBitwiseAnd 42 Reduce 170
+ 172: 39(ptr) AccessChain 34(data) 168 37 38
+ Store 172 171
+ 173: 6(int) Load 8(invocation)
+ 174: 48(ptr) AccessChain 34(data) 46 37
+ 175: 18(i8vec4) Load 174
+ 176: 47(i8vec2) VectorShuffle 175 175 0 1
+ 177: 47(i8vec2) GroupNonUniformBitwiseAnd 42 Reduce 176
+ 178: 39(ptr) AccessChain 34(data) 173 37 38
+ 179: 17(int8_t) CompositeExtract 177 0
+ Store 178 179
+ 180: 39(ptr) AccessChain 34(data) 173 37 55
+ 181: 17(int8_t) CompositeExtract 177 1
+ Store 180 181
+ 182: 6(int) Load 8(invocation)
+ 183: 48(ptr) AccessChain 34(data) 59 37
+ 184: 18(i8vec4) Load 183
+ 185: 60(i8vec3) VectorShuffle 184 184 0 1 2
+ 186: 60(i8vec3) GroupNonUniformBitwiseAnd 42 Reduce 185
+ 187: 39(ptr) AccessChain 34(data) 182 37 38
+ 188: 17(int8_t) CompositeExtract 186 0
+ Store 187 188
+ 189: 39(ptr) AccessChain 34(data) 182 37 55
+ 190: 17(int8_t) CompositeExtract 186 1
+ Store 189 190
+ 191: 39(ptr) AccessChain 34(data) 182 37 69
+ 192: 17(int8_t) CompositeExtract 186 2
+ Store 191 192
+ 193: 6(int) Load 8(invocation)
+ 194: 48(ptr) AccessChain 34(data) 73 37
195: 18(i8vec4) Load 194
- 196: 18(i8vec4) VectorShuffle 195 193 4 5 6 3
- Store 194 196
- 197: 6(int) Load 8(invocation)
- 198: 48(ptr) AccessChain 34(data) 67 37
- 199: 18(i8vec4) Load 198
- 200: 18(i8vec4) GroupNonUniformBitwiseOr 42 Reduce 199
- 201: 48(ptr) AccessChain 34(data) 197 37
- Store 201 200
- 202: 6(int) Load 8(invocation)
- 203: 39(ptr) AccessChain 34(data) 37 37 38
- 204: 17(int8_t) Load 203
- 205: 17(int8_t) GroupNonUniformBitwiseXor 42 Reduce 204
- 206: 39(ptr) AccessChain 34(data) 202 37 38
- Store 206 205
- 207: 6(int) Load 8(invocation)
- 208: 48(ptr) AccessChain 34(data) 46 37
- 209: 18(i8vec4) Load 208
- 210: 47(i8vec2) VectorShuffle 209 209 0 1
- 211: 47(i8vec2) GroupNonUniformBitwiseXor 42 Reduce 210
- 212: 48(ptr) AccessChain 34(data) 207 37
- 213: 18(i8vec4) Load 212
- 214: 18(i8vec4) VectorShuffle 213 211 4 5 2 3
- Store 212 214
- 215: 6(int) Load 8(invocation)
- 216: 48(ptr) AccessChain 34(data) 57 37
- 217: 18(i8vec4) Load 216
- 218: 58(i8vec3) VectorShuffle 217 217 0 1 2
- 219: 58(i8vec3) GroupNonUniformBitwiseXor 42 Reduce 218
- 220: 48(ptr) AccessChain 34(data) 215 37
- 221: 18(i8vec4) Load 220
- 222: 18(i8vec4) VectorShuffle 221 219 4 5 6 3
- Store 220 222
+ 196: 18(i8vec4) GroupNonUniformBitwiseAnd 42 Reduce 195
+ 197: 48(ptr) AccessChain 34(data) 193 37
+ Store 197 196
+ 198: 6(int) Load 8(invocation)
+ 199: 39(ptr) AccessChain 34(data) 37 37 38
+ 200: 17(int8_t) Load 199
+ 201: 17(int8_t) GroupNonUniformBitwiseOr 42 Reduce 200
+ 202: 39(ptr) AccessChain 34(data) 198 37 38
+ Store 202 201
+ 203: 6(int) Load 8(invocation)
+ 204: 48(ptr) AccessChain 34(data) 46 37
+ 205: 18(i8vec4) Load 204
+ 206: 47(i8vec2) VectorShuffle 205 205 0 1
+ 207: 47(i8vec2) GroupNonUniformBitwiseOr 42 Reduce 206
+ 208: 39(ptr) AccessChain 34(data) 203 37 38
+ 209: 17(int8_t) CompositeExtract 207 0
+ Store 208 209
+ 210: 39(ptr) AccessChain 34(data) 203 37 55
+ 211: 17(int8_t) CompositeExtract 207 1
+ Store 210 211
+ 212: 6(int) Load 8(invocation)
+ 213: 48(ptr) AccessChain 34(data) 59 37
+ 214: 18(i8vec4) Load 213
+ 215: 60(i8vec3) VectorShuffle 214 214 0 1 2
+ 216: 60(i8vec3) GroupNonUniformBitwiseOr 42 Reduce 215
+ 217: 39(ptr) AccessChain 34(data) 212 37 38
+ 218: 17(int8_t) CompositeExtract 216 0
+ Store 217 218
+ 219: 39(ptr) AccessChain 34(data) 212 37 55
+ 220: 17(int8_t) CompositeExtract 216 1
+ Store 219 220
+ 221: 39(ptr) AccessChain 34(data) 212 37 69
+ 222: 17(int8_t) CompositeExtract 216 2
+ Store 221 222
223: 6(int) Load 8(invocation)
- 224: 48(ptr) AccessChain 34(data) 67 37
+ 224: 48(ptr) AccessChain 34(data) 73 37
225: 18(i8vec4) Load 224
- 226: 18(i8vec4) GroupNonUniformBitwiseXor 42 Reduce 225
+ 226: 18(i8vec4) GroupNonUniformBitwiseOr 42 Reduce 225
227: 48(ptr) AccessChain 34(data) 223 37
Store 227 226
228: 6(int) Load 8(invocation)
229: 39(ptr) AccessChain 34(data) 37 37 38
230: 17(int8_t) Load 229
- 231: 17(int8_t) GroupNonUniformIAdd 42 InclusiveScan 230
+ 231: 17(int8_t) GroupNonUniformBitwiseXor 42 Reduce 230
232: 39(ptr) AccessChain 34(data) 228 37 38
Store 232 231
233: 6(int) Load 8(invocation)
234: 48(ptr) AccessChain 34(data) 46 37
235: 18(i8vec4) Load 234
236: 47(i8vec2) VectorShuffle 235 235 0 1
- 237: 47(i8vec2) GroupNonUniformIAdd 42 InclusiveScan 236
- 238: 48(ptr) AccessChain 34(data) 233 37
- 239: 18(i8vec4) Load 238
- 240: 18(i8vec4) VectorShuffle 239 237 4 5 2 3
- Store 238 240
- 241: 6(int) Load 8(invocation)
- 242: 48(ptr) AccessChain 34(data) 57 37
- 243: 18(i8vec4) Load 242
- 244: 58(i8vec3) VectorShuffle 243 243 0 1 2
- 245: 58(i8vec3) GroupNonUniformIAdd 42 InclusiveScan 244
- 246: 48(ptr) AccessChain 34(data) 241 37
- 247: 18(i8vec4) Load 246
- 248: 18(i8vec4) VectorShuffle 247 245 4 5 6 3
- Store 246 248
- 249: 6(int) Load 8(invocation)
- 250: 48(ptr) AccessChain 34(data) 67 37
- 251: 18(i8vec4) Load 250
- 252: 18(i8vec4) GroupNonUniformIAdd 42 InclusiveScan 251
- 253: 48(ptr) AccessChain 34(data) 249 37
- Store 253 252
- 254: 6(int) Load 8(invocation)
- 255: 39(ptr) AccessChain 34(data) 37 37 38
- 256: 17(int8_t) Load 255
- 257: 17(int8_t) GroupNonUniformIMul 42 InclusiveScan 256
- 258: 39(ptr) AccessChain 34(data) 254 37 38
- Store 258 257
- 259: 6(int) Load 8(invocation)
- 260: 48(ptr) AccessChain 34(data) 46 37
- 261: 18(i8vec4) Load 260
- 262: 47(i8vec2) VectorShuffle 261 261 0 1
- 263: 47(i8vec2) GroupNonUniformIMul 42 InclusiveScan 262
- 264: 48(ptr) AccessChain 34(data) 259 37
+ 237: 47(i8vec2) GroupNonUniformBitwiseXor 42 Reduce 236
+ 238: 39(ptr) AccessChain 34(data) 233 37 38
+ 239: 17(int8_t) CompositeExtract 237 0
+ Store 238 239
+ 240: 39(ptr) AccessChain 34(data) 233 37 55
+ 241: 17(int8_t) CompositeExtract 237 1
+ Store 240 241
+ 242: 6(int) Load 8(invocation)
+ 243: 48(ptr) AccessChain 34(data) 59 37
+ 244: 18(i8vec4) Load 243
+ 245: 60(i8vec3) VectorShuffle 244 244 0 1 2
+ 246: 60(i8vec3) GroupNonUniformBitwiseXor 42 Reduce 245
+ 247: 39(ptr) AccessChain 34(data) 242 37 38
+ 248: 17(int8_t) CompositeExtract 246 0
+ Store 247 248
+ 249: 39(ptr) AccessChain 34(data) 242 37 55
+ 250: 17(int8_t) CompositeExtract 246 1
+ Store 249 250
+ 251: 39(ptr) AccessChain 34(data) 242 37 69
+ 252: 17(int8_t) CompositeExtract 246 2
+ Store 251 252
+ 253: 6(int) Load 8(invocation)
+ 254: 48(ptr) AccessChain 34(data) 73 37
+ 255: 18(i8vec4) Load 254
+ 256: 18(i8vec4) GroupNonUniformBitwiseXor 42 Reduce 255
+ 257: 48(ptr) AccessChain 34(data) 253 37
+ Store 257 256
+ 258: 6(int) Load 8(invocation)
+ 259: 39(ptr) AccessChain 34(data) 37 37 38
+ 260: 17(int8_t) Load 259
+ 261: 17(int8_t) GroupNonUniformIAdd 42 InclusiveScan 260
+ 262: 39(ptr) AccessChain 34(data) 258 37 38
+ Store 262 261
+ 263: 6(int) Load 8(invocation)
+ 264: 48(ptr) AccessChain 34(data) 46 37
265: 18(i8vec4) Load 264
- 266: 18(i8vec4) VectorShuffle 265 263 4 5 2 3
- Store 264 266
- 267: 6(int) Load 8(invocation)
- 268: 48(ptr) AccessChain 34(data) 57 37
- 269: 18(i8vec4) Load 268
- 270: 58(i8vec3) VectorShuffle 269 269 0 1 2
- 271: 58(i8vec3) GroupNonUniformIMul 42 InclusiveScan 270
- 272: 48(ptr) AccessChain 34(data) 267 37
- 273: 18(i8vec4) Load 272
- 274: 18(i8vec4) VectorShuffle 273 271 4 5 6 3
- Store 272 274
- 275: 6(int) Load 8(invocation)
- 276: 48(ptr) AccessChain 34(data) 67 37
- 277: 18(i8vec4) Load 276
- 278: 18(i8vec4) GroupNonUniformIMul 42 InclusiveScan 277
- 279: 48(ptr) AccessChain 34(data) 275 37
- Store 279 278
- 280: 6(int) Load 8(invocation)
- 281: 39(ptr) AccessChain 34(data) 37 37 38
- 282: 17(int8_t) Load 281
- 283: 17(int8_t) GroupNonUniformSMin 42 InclusiveScan 282
- 284: 39(ptr) AccessChain 34(data) 280 37 38
- Store 284 283
- 285: 6(int) Load 8(invocation)
- 286: 48(ptr) AccessChain 34(data) 46 37
- 287: 18(i8vec4) Load 286
- 288: 47(i8vec2) VectorShuffle 287 287 0 1
- 289: 47(i8vec2) GroupNonUniformSMin 42 InclusiveScan 288
- 290: 48(ptr) AccessChain 34(data) 285 37
- 291: 18(i8vec4) Load 290
- 292: 18(i8vec4) VectorShuffle 291 289 4 5 2 3
- Store 290 292
+ 266: 47(i8vec2) VectorShuffle 265 265 0 1
+ 267: 47(i8vec2) GroupNonUniformIAdd 42 InclusiveScan 266
+ 268: 39(ptr) AccessChain 34(data) 263 37 38
+ 269: 17(int8_t) CompositeExtract 267 0
+ Store 268 269
+ 270: 39(ptr) AccessChain 34(data) 263 37 55
+ 271: 17(int8_t) CompositeExtract 267 1
+ Store 270 271
+ 272: 6(int) Load 8(invocation)
+ 273: 48(ptr) AccessChain 34(data) 59 37
+ 274: 18(i8vec4) Load 273
+ 275: 60(i8vec3) VectorShuffle 274 274 0 1 2
+ 276: 60(i8vec3) GroupNonUniformIAdd 42 InclusiveScan 275
+ 277: 39(ptr) AccessChain 34(data) 272 37 38
+ 278: 17(int8_t) CompositeExtract 276 0
+ Store 277 278
+ 279: 39(ptr) AccessChain 34(data) 272 37 55
+ 280: 17(int8_t) CompositeExtract 276 1
+ Store 279 280
+ 281: 39(ptr) AccessChain 34(data) 272 37 69
+ 282: 17(int8_t) CompositeExtract 276 2
+ Store 281 282
+ 283: 6(int) Load 8(invocation)
+ 284: 48(ptr) AccessChain 34(data) 73 37
+ 285: 18(i8vec4) Load 284
+ 286: 18(i8vec4) GroupNonUniformIAdd 42 InclusiveScan 285
+ 287: 48(ptr) AccessChain 34(data) 283 37
+ Store 287 286
+ 288: 6(int) Load 8(invocation)
+ 289: 39(ptr) AccessChain 34(data) 37 37 38
+ 290: 17(int8_t) Load 289
+ 291: 17(int8_t) GroupNonUniformIMul 42 InclusiveScan 290
+ 292: 39(ptr) AccessChain 34(data) 288 37 38
+ Store 292 291
293: 6(int) Load 8(invocation)
- 294: 48(ptr) AccessChain 34(data) 57 37
+ 294: 48(ptr) AccessChain 34(data) 46 37
295: 18(i8vec4) Load 294
- 296: 58(i8vec3) VectorShuffle 295 295 0 1 2
- 297: 58(i8vec3) GroupNonUniformSMin 42 InclusiveScan 296
- 298: 48(ptr) AccessChain 34(data) 293 37
- 299: 18(i8vec4) Load 298
- 300: 18(i8vec4) VectorShuffle 299 297 4 5 6 3
- Store 298 300
- 301: 6(int) Load 8(invocation)
- 302: 48(ptr) AccessChain 34(data) 67 37
- 303: 18(i8vec4) Load 302
- 304: 18(i8vec4) GroupNonUniformSMin 42 InclusiveScan 303
- 305: 48(ptr) AccessChain 34(data) 301 37
- Store 305 304
- 306: 6(int) Load 8(invocation)
- 307: 39(ptr) AccessChain 34(data) 37 37 38
- 308: 17(int8_t) Load 307
- 309: 17(int8_t) GroupNonUniformSMax 42 InclusiveScan 308
- 310: 39(ptr) AccessChain 34(data) 306 37 38
- Store 310 309
- 311: 6(int) Load 8(invocation)
- 312: 48(ptr) AccessChain 34(data) 46 37
- 313: 18(i8vec4) Load 312
- 314: 47(i8vec2) VectorShuffle 313 313 0 1
- 315: 47(i8vec2) GroupNonUniformSMax 42 InclusiveScan 314
- 316: 48(ptr) AccessChain 34(data) 311 37
- 317: 18(i8vec4) Load 316
- 318: 18(i8vec4) VectorShuffle 317 315 4 5 2 3
- Store 316 318
- 319: 6(int) Load 8(invocation)
- 320: 48(ptr) AccessChain 34(data) 57 37
- 321: 18(i8vec4) Load 320
- 322: 58(i8vec3) VectorShuffle 321 321 0 1 2
- 323: 58(i8vec3) GroupNonUniformSMax 42 InclusiveScan 322
- 324: 48(ptr) AccessChain 34(data) 319 37
+ 296: 47(i8vec2) VectorShuffle 295 295 0 1
+ 297: 47(i8vec2) GroupNonUniformIMul 42 InclusiveScan 296
+ 298: 39(ptr) AccessChain 34(data) 293 37 38
+ 299: 17(int8_t) CompositeExtract 297 0
+ Store 298 299
+ 300: 39(ptr) AccessChain 34(data) 293 37 55
+ 301: 17(int8_t) CompositeExtract 297 1
+ Store 300 301
+ 302: 6(int) Load 8(invocation)
+ 303: 48(ptr) AccessChain 34(data) 59 37
+ 304: 18(i8vec4) Load 303
+ 305: 60(i8vec3) VectorShuffle 304 304 0 1 2
+ 306: 60(i8vec3) GroupNonUniformIMul 42 InclusiveScan 305
+ 307: 39(ptr) AccessChain 34(data) 302 37 38
+ 308: 17(int8_t) CompositeExtract 306 0
+ Store 307 308
+ 309: 39(ptr) AccessChain 34(data) 302 37 55
+ 310: 17(int8_t) CompositeExtract 306 1
+ Store 309 310
+ 311: 39(ptr) AccessChain 34(data) 302 37 69
+ 312: 17(int8_t) CompositeExtract 306 2
+ Store 311 312
+ 313: 6(int) Load 8(invocation)
+ 314: 48(ptr) AccessChain 34(data) 73 37
+ 315: 18(i8vec4) Load 314
+ 316: 18(i8vec4) GroupNonUniformIMul 42 InclusiveScan 315
+ 317: 48(ptr) AccessChain 34(data) 313 37
+ Store 317 316
+ 318: 6(int) Load 8(invocation)
+ 319: 39(ptr) AccessChain 34(data) 37 37 38
+ 320: 17(int8_t) Load 319
+ 321: 17(int8_t) GroupNonUniformSMin 42 InclusiveScan 320
+ 322: 39(ptr) AccessChain 34(data) 318 37 38
+ Store 322 321
+ 323: 6(int) Load 8(invocation)
+ 324: 48(ptr) AccessChain 34(data) 46 37
325: 18(i8vec4) Load 324
- 326: 18(i8vec4) VectorShuffle 325 323 4 5 6 3
- Store 324 326
- 327: 6(int) Load 8(invocation)
- 328: 48(ptr) AccessChain 34(data) 67 37
- 329: 18(i8vec4) Load 328
- 330: 18(i8vec4) GroupNonUniformSMax 42 InclusiveScan 329
- 331: 48(ptr) AccessChain 34(data) 327 37
- Store 331 330
+ 326: 47(i8vec2) VectorShuffle 325 325 0 1
+ 327: 47(i8vec2) GroupNonUniformSMin 42 InclusiveScan 326
+ 328: 39(ptr) AccessChain 34(data) 323 37 38
+ 329: 17(int8_t) CompositeExtract 327 0
+ Store 328 329
+ 330: 39(ptr) AccessChain 34(data) 323 37 55
+ 331: 17(int8_t) CompositeExtract 327 1
+ Store 330 331
332: 6(int) Load 8(invocation)
- 333: 39(ptr) AccessChain 34(data) 37 37 38
- 334: 17(int8_t) Load 333
- 335: 17(int8_t) GroupNonUniformBitwiseAnd 42 InclusiveScan 334
- 336: 39(ptr) AccessChain 34(data) 332 37 38
- Store 336 335
- 337: 6(int) Load 8(invocation)
- 338: 48(ptr) AccessChain 34(data) 46 37
- 339: 18(i8vec4) Load 338
- 340: 47(i8vec2) VectorShuffle 339 339 0 1
- 341: 47(i8vec2) GroupNonUniformBitwiseAnd 42 InclusiveScan 340
- 342: 48(ptr) AccessChain 34(data) 337 37
- 343: 18(i8vec4) Load 342
- 344: 18(i8vec4) VectorShuffle 343 341 4 5 2 3
- Store 342 344
- 345: 6(int) Load 8(invocation)
- 346: 48(ptr) AccessChain 34(data) 57 37
- 347: 18(i8vec4) Load 346
- 348: 58(i8vec3) VectorShuffle 347 347 0 1 2
- 349: 58(i8vec3) GroupNonUniformBitwiseAnd 42 InclusiveScan 348
- 350: 48(ptr) AccessChain 34(data) 345 37
- 351: 18(i8vec4) Load 350
- 352: 18(i8vec4) VectorShuffle 351 349 4 5 6 3
- Store 350 352
+ 333: 48(ptr) AccessChain 34(data) 59 37
+ 334: 18(i8vec4) Load 333
+ 335: 60(i8vec3) VectorShuffle 334 334 0 1 2
+ 336: 60(i8vec3) GroupNonUniformSMin 42 InclusiveScan 335
+ 337: 39(ptr) AccessChain 34(data) 332 37 38
+ 338: 17(int8_t) CompositeExtract 336 0
+ Store 337 338
+ 339: 39(ptr) AccessChain 34(data) 332 37 55
+ 340: 17(int8_t) CompositeExtract 336 1
+ Store 339 340
+ 341: 39(ptr) AccessChain 34(data) 332 37 69
+ 342: 17(int8_t) CompositeExtract 336 2
+ Store 341 342
+ 343: 6(int) Load 8(invocation)
+ 344: 48(ptr) AccessChain 34(data) 73 37
+ 345: 18(i8vec4) Load 344
+ 346: 18(i8vec4) GroupNonUniformSMin 42 InclusiveScan 345
+ 347: 48(ptr) AccessChain 34(data) 343 37
+ Store 347 346
+ 348: 6(int) Load 8(invocation)
+ 349: 39(ptr) AccessChain 34(data) 37 37 38
+ 350: 17(int8_t) Load 349
+ 351: 17(int8_t) GroupNonUniformSMax 42 InclusiveScan 350
+ 352: 39(ptr) AccessChain 34(data) 348 37 38
+ Store 352 351
353: 6(int) Load 8(invocation)
- 354: 48(ptr) AccessChain 34(data) 67 37
+ 354: 48(ptr) AccessChain 34(data) 46 37
355: 18(i8vec4) Load 354
- 356: 18(i8vec4) GroupNonUniformBitwiseAnd 42 InclusiveScan 355
- 357: 48(ptr) AccessChain 34(data) 353 37
- Store 357 356
- 358: 6(int) Load 8(invocation)
- 359: 39(ptr) AccessChain 34(data) 37 37 38
- 360: 17(int8_t) Load 359
- 361: 17(int8_t) GroupNonUniformBitwiseOr 42 InclusiveScan 360
- 362: 39(ptr) AccessChain 34(data) 358 37 38
- Store 362 361
- 363: 6(int) Load 8(invocation)
- 364: 48(ptr) AccessChain 34(data) 46 37
- 365: 18(i8vec4) Load 364
- 366: 47(i8vec2) VectorShuffle 365 365 0 1
- 367: 47(i8vec2) GroupNonUniformBitwiseOr 42 InclusiveScan 366
- 368: 48(ptr) AccessChain 34(data) 363 37
- 369: 18(i8vec4) Load 368
- 370: 18(i8vec4) VectorShuffle 369 367 4 5 2 3
- Store 368 370
- 371: 6(int) Load 8(invocation)
- 372: 48(ptr) AccessChain 34(data) 57 37
- 373: 18(i8vec4) Load 372
- 374: 58(i8vec3) VectorShuffle 373 373 0 1 2
- 375: 58(i8vec3) GroupNonUniformBitwiseOr 42 InclusiveScan 374
- 376: 48(ptr) AccessChain 34(data) 371 37
- 377: 18(i8vec4) Load 376
- 378: 18(i8vec4) VectorShuffle 377 375 4 5 6 3
- Store 376 378
- 379: 6(int) Load 8(invocation)
- 380: 48(ptr) AccessChain 34(data) 67 37
- 381: 18(i8vec4) Load 380
- 382: 18(i8vec4) GroupNonUniformBitwiseOr 42 InclusiveScan 381
- 383: 48(ptr) AccessChain 34(data) 379 37
- Store 383 382
- 384: 6(int) Load 8(invocation)
- 385: 39(ptr) AccessChain 34(data) 37 37 38
- 386: 17(int8_t) Load 385
- 387: 17(int8_t) GroupNonUniformBitwiseXor 42 InclusiveScan 386
- 388: 39(ptr) AccessChain 34(data) 384 37 38
- Store 388 387
- 389: 6(int) Load 8(invocation)
- 390: 48(ptr) AccessChain 34(data) 46 37
- 391: 18(i8vec4) Load 390
- 392: 47(i8vec2) VectorShuffle 391 391 0 1
- 393: 47(i8vec2) GroupNonUniformBitwiseXor 42 InclusiveScan 392
- 394: 48(ptr) AccessChain 34(data) 389 37
- 395: 18(i8vec4) Load 394
- 396: 18(i8vec4) VectorShuffle 395 393 4 5 2 3
- Store 394 396
- 397: 6(int) Load 8(invocation)
- 398: 48(ptr) AccessChain 34(data) 57 37
- 399: 18(i8vec4) Load 398
- 400: 58(i8vec3) VectorShuffle 399 399 0 1 2
- 401: 58(i8vec3) GroupNonUniformBitwiseXor 42 InclusiveScan 400
- 402: 48(ptr) AccessChain 34(data) 397 37
- 403: 18(i8vec4) Load 402
- 404: 18(i8vec4) VectorShuffle 403 401 4 5 6 3
- Store 402 404
- 405: 6(int) Load 8(invocation)
- 406: 48(ptr) AccessChain 34(data) 67 37
- 407: 18(i8vec4) Load 406
- 408: 18(i8vec4) GroupNonUniformBitwiseXor 42 InclusiveScan 407
- 409: 48(ptr) AccessChain 34(data) 405 37
- Store 409 408
- 410: 6(int) Load 8(invocation)
- 411: 39(ptr) AccessChain 34(data) 37 37 38
- 412: 17(int8_t) Load 411
- 413: 17(int8_t) GroupNonUniformIAdd 42 ExclusiveScan 412
- 414: 39(ptr) AccessChain 34(data) 410 37 38
- Store 414 413
- 415: 6(int) Load 8(invocation)
- 416: 48(ptr) AccessChain 34(data) 46 37
- 417: 18(i8vec4) Load 416
- 418: 47(i8vec2) VectorShuffle 417 417 0 1
- 419: 47(i8vec2) GroupNonUniformIAdd 42 ExclusiveScan 418
- 420: 48(ptr) AccessChain 34(data) 415 37
- 421: 18(i8vec4) Load 420
- 422: 18(i8vec4) VectorShuffle 421 419 4 5 2 3
- Store 420 422
- 423: 6(int) Load 8(invocation)
- 424: 48(ptr) AccessChain 34(data) 57 37
- 425: 18(i8vec4) Load 424
- 426: 58(i8vec3) VectorShuffle 425 425 0 1 2
- 427: 58(i8vec3) GroupNonUniformIAdd 42 ExclusiveScan 426
- 428: 48(ptr) AccessChain 34(data) 423 37
- 429: 18(i8vec4) Load 428
- 430: 18(i8vec4) VectorShuffle 429 427 4 5 6 3
- Store 428 430
- 431: 6(int) Load 8(invocation)
- 432: 48(ptr) AccessChain 34(data) 67 37
- 433: 18(i8vec4) Load 432
- 434: 18(i8vec4) GroupNonUniformIAdd 42 ExclusiveScan 433
- 435: 48(ptr) AccessChain 34(data) 431 37
- Store 435 434
- 436: 6(int) Load 8(invocation)
- 437: 39(ptr) AccessChain 34(data) 37 37 38
- 438: 17(int8_t) Load 437
- 439: 17(int8_t) GroupNonUniformIMul 42 ExclusiveScan 438
- 440: 39(ptr) AccessChain 34(data) 436 37 38
- Store 440 439
- 441: 6(int) Load 8(invocation)
- 442: 48(ptr) AccessChain 34(data) 46 37
- 443: 18(i8vec4) Load 442
- 444: 47(i8vec2) VectorShuffle 443 443 0 1
- 445: 47(i8vec2) GroupNonUniformIMul 42 ExclusiveScan 444
- 446: 48(ptr) AccessChain 34(data) 441 37
- 447: 18(i8vec4) Load 446
- 448: 18(i8vec4) VectorShuffle 447 445 4 5 2 3
- Store 446 448
- 449: 6(int) Load 8(invocation)
- 450: 48(ptr) AccessChain 34(data) 57 37
- 451: 18(i8vec4) Load 450
- 452: 58(i8vec3) VectorShuffle 451 451 0 1 2
- 453: 58(i8vec3) GroupNonUniformIMul 42 ExclusiveScan 452
- 454: 48(ptr) AccessChain 34(data) 449 37
- 455: 18(i8vec4) Load 454
- 456: 18(i8vec4) VectorShuffle 455 453 4 5 6 3
- Store 454 456
- 457: 6(int) Load 8(invocation)
- 458: 48(ptr) AccessChain 34(data) 67 37
- 459: 18(i8vec4) Load 458
- 460: 18(i8vec4) GroupNonUniformIMul 42 ExclusiveScan 459
- 461: 48(ptr) AccessChain 34(data) 457 37
- Store 461 460
- 462: 6(int) Load 8(invocation)
- 463: 39(ptr) AccessChain 34(data) 37 37 38
- 464: 17(int8_t) Load 463
- 465: 17(int8_t) GroupNonUniformSMin 42 ExclusiveScan 464
- 466: 39(ptr) AccessChain 34(data) 462 37 38
- Store 466 465
- 467: 6(int) Load 8(invocation)
- 468: 48(ptr) AccessChain 34(data) 46 37
- 469: 18(i8vec4) Load 468
- 470: 47(i8vec2) VectorShuffle 469 469 0 1
- 471: 47(i8vec2) GroupNonUniformSMin 42 ExclusiveScan 470
- 472: 48(ptr) AccessChain 34(data) 467 37
- 473: 18(i8vec4) Load 472
- 474: 18(i8vec4) VectorShuffle 473 471 4 5 2 3
- Store 472 474
- 475: 6(int) Load 8(invocation)
- 476: 48(ptr) AccessChain 34(data) 57 37
- 477: 18(i8vec4) Load 476
- 478: 58(i8vec3) VectorShuffle 477 477 0 1 2
- 479: 58(i8vec3) GroupNonUniformSMin 42 ExclusiveScan 478
- 480: 48(ptr) AccessChain 34(data) 475 37
- 481: 18(i8vec4) Load 480
- 482: 18(i8vec4) VectorShuffle 481 479 4 5 6 3
- Store 480 482
- 483: 6(int) Load 8(invocation)
- 484: 48(ptr) AccessChain 34(data) 67 37
- 485: 18(i8vec4) Load 484
- 486: 18(i8vec4) GroupNonUniformSMin 42 ExclusiveScan 485
- 487: 48(ptr) AccessChain 34(data) 483 37
- Store 487 486
- 488: 6(int) Load 8(invocation)
- 489: 39(ptr) AccessChain 34(data) 37 37 38
- 490: 17(int8_t) Load 489
- 491: 17(int8_t) GroupNonUniformSMax 42 ExclusiveScan 490
- 492: 39(ptr) AccessChain 34(data) 488 37 38
- Store 492 491
+ 356: 47(i8vec2) VectorShuffle 355 355 0 1
+ 357: 47(i8vec2) GroupNonUniformSMax 42 InclusiveScan 356
+ 358: 39(ptr) AccessChain 34(data) 353 37 38
+ 359: 17(int8_t) CompositeExtract 357 0
+ Store 358 359
+ 360: 39(ptr) AccessChain 34(data) 353 37 55
+ 361: 17(int8_t) CompositeExtract 357 1
+ Store 360 361
+ 362: 6(int) Load 8(invocation)
+ 363: 48(ptr) AccessChain 34(data) 59 37
+ 364: 18(i8vec4) Load 363
+ 365: 60(i8vec3) VectorShuffle 364 364 0 1 2
+ 366: 60(i8vec3) GroupNonUniformSMax 42 InclusiveScan 365
+ 367: 39(ptr) AccessChain 34(data) 362 37 38
+ 368: 17(int8_t) CompositeExtract 366 0
+ Store 367 368
+ 369: 39(ptr) AccessChain 34(data) 362 37 55
+ 370: 17(int8_t) CompositeExtract 366 1
+ Store 369 370
+ 371: 39(ptr) AccessChain 34(data) 362 37 69
+ 372: 17(int8_t) CompositeExtract 366 2
+ Store 371 372
+ 373: 6(int) Load 8(invocation)
+ 374: 48(ptr) AccessChain 34(data) 73 37
+ 375: 18(i8vec4) Load 374
+ 376: 18(i8vec4) GroupNonUniformSMax 42 InclusiveScan 375
+ 377: 48(ptr) AccessChain 34(data) 373 37
+ Store 377 376
+ 378: 6(int) Load 8(invocation)
+ 379: 39(ptr) AccessChain 34(data) 37 37 38
+ 380: 17(int8_t) Load 379
+ 381: 17(int8_t) GroupNonUniformBitwiseAnd 42 InclusiveScan 380
+ 382: 39(ptr) AccessChain 34(data) 378 37 38
+ Store 382 381
+ 383: 6(int) Load 8(invocation)
+ 384: 48(ptr) AccessChain 34(data) 46 37
+ 385: 18(i8vec4) Load 384
+ 386: 47(i8vec2) VectorShuffle 385 385 0 1
+ 387: 47(i8vec2) GroupNonUniformBitwiseAnd 42 InclusiveScan 386
+ 388: 39(ptr) AccessChain 34(data) 383 37 38
+ 389: 17(int8_t) CompositeExtract 387 0
+ Store 388 389
+ 390: 39(ptr) AccessChain 34(data) 383 37 55
+ 391: 17(int8_t) CompositeExtract 387 1
+ Store 390 391
+ 392: 6(int) Load 8(invocation)
+ 393: 48(ptr) AccessChain 34(data) 59 37
+ 394: 18(i8vec4) Load 393
+ 395: 60(i8vec3) VectorShuffle 394 394 0 1 2
+ 396: 60(i8vec3) GroupNonUniformBitwiseAnd 42 InclusiveScan 395
+ 397: 39(ptr) AccessChain 34(data) 392 37 38
+ 398: 17(int8_t) CompositeExtract 396 0
+ Store 397 398
+ 399: 39(ptr) AccessChain 34(data) 392 37 55
+ 400: 17(int8_t) CompositeExtract 396 1
+ Store 399 400
+ 401: 39(ptr) AccessChain 34(data) 392 37 69
+ 402: 17(int8_t) CompositeExtract 396 2
+ Store 401 402
+ 403: 6(int) Load 8(invocation)
+ 404: 48(ptr) AccessChain 34(data) 73 37
+ 405: 18(i8vec4) Load 404
+ 406: 18(i8vec4) GroupNonUniformBitwiseAnd 42 InclusiveScan 405
+ 407: 48(ptr) AccessChain 34(data) 403 37
+ Store 407 406
+ 408: 6(int) Load 8(invocation)
+ 409: 39(ptr) AccessChain 34(data) 37 37 38
+ 410: 17(int8_t) Load 409
+ 411: 17(int8_t) GroupNonUniformBitwiseOr 42 InclusiveScan 410
+ 412: 39(ptr) AccessChain 34(data) 408 37 38
+ Store 412 411
+ 413: 6(int) Load 8(invocation)
+ 414: 48(ptr) AccessChain 34(data) 46 37
+ 415: 18(i8vec4) Load 414
+ 416: 47(i8vec2) VectorShuffle 415 415 0 1
+ 417: 47(i8vec2) GroupNonUniformBitwiseOr 42 InclusiveScan 416
+ 418: 39(ptr) AccessChain 34(data) 413 37 38
+ 419: 17(int8_t) CompositeExtract 417 0
+ Store 418 419
+ 420: 39(ptr) AccessChain 34(data) 413 37 55
+ 421: 17(int8_t) CompositeExtract 417 1
+ Store 420 421
+ 422: 6(int) Load 8(invocation)
+ 423: 48(ptr) AccessChain 34(data) 59 37
+ 424: 18(i8vec4) Load 423
+ 425: 60(i8vec3) VectorShuffle 424 424 0 1 2
+ 426: 60(i8vec3) GroupNonUniformBitwiseOr 42 InclusiveScan 425
+ 427: 39(ptr) AccessChain 34(data) 422 37 38
+ 428: 17(int8_t) CompositeExtract 426 0
+ Store 427 428
+ 429: 39(ptr) AccessChain 34(data) 422 37 55
+ 430: 17(int8_t) CompositeExtract 426 1
+ Store 429 430
+ 431: 39(ptr) AccessChain 34(data) 422 37 69
+ 432: 17(int8_t) CompositeExtract 426 2
+ Store 431 432
+ 433: 6(int) Load 8(invocation)
+ 434: 48(ptr) AccessChain 34(data) 73 37
+ 435: 18(i8vec4) Load 434
+ 436: 18(i8vec4) GroupNonUniformBitwiseOr 42 InclusiveScan 435
+ 437: 48(ptr) AccessChain 34(data) 433 37
+ Store 437 436
+ 438: 6(int) Load 8(invocation)
+ 439: 39(ptr) AccessChain 34(data) 37 37 38
+ 440: 17(int8_t) Load 439
+ 441: 17(int8_t) GroupNonUniformBitwiseXor 42 InclusiveScan 440
+ 442: 39(ptr) AccessChain 34(data) 438 37 38
+ Store 442 441
+ 443: 6(int) Load 8(invocation)
+ 444: 48(ptr) AccessChain 34(data) 46 37
+ 445: 18(i8vec4) Load 444
+ 446: 47(i8vec2) VectorShuffle 445 445 0 1
+ 447: 47(i8vec2) GroupNonUniformBitwiseXor 42 InclusiveScan 446
+ 448: 39(ptr) AccessChain 34(data) 443 37 38
+ 449: 17(int8_t) CompositeExtract 447 0
+ Store 448 449
+ 450: 39(ptr) AccessChain 34(data) 443 37 55
+ 451: 17(int8_t) CompositeExtract 447 1
+ Store 450 451
+ 452: 6(int) Load 8(invocation)
+ 453: 48(ptr) AccessChain 34(data) 59 37
+ 454: 18(i8vec4) Load 453
+ 455: 60(i8vec3) VectorShuffle 454 454 0 1 2
+ 456: 60(i8vec3) GroupNonUniformBitwiseXor 42 InclusiveScan 455
+ 457: 39(ptr) AccessChain 34(data) 452 37 38
+ 458: 17(int8_t) CompositeExtract 456 0
+ Store 457 458
+ 459: 39(ptr) AccessChain 34(data) 452 37 55
+ 460: 17(int8_t) CompositeExtract 456 1
+ Store 459 460
+ 461: 39(ptr) AccessChain 34(data) 452 37 69
+ 462: 17(int8_t) CompositeExtract 456 2
+ Store 461 462
+ 463: 6(int) Load 8(invocation)
+ 464: 48(ptr) AccessChain 34(data) 73 37
+ 465: 18(i8vec4) Load 464
+ 466: 18(i8vec4) GroupNonUniformBitwiseXor 42 InclusiveScan 465
+ 467: 48(ptr) AccessChain 34(data) 463 37
+ Store 467 466
+ 468: 6(int) Load 8(invocation)
+ 469: 39(ptr) AccessChain 34(data) 37 37 38
+ 470: 17(int8_t) Load 469
+ 471: 17(int8_t) GroupNonUniformIAdd 42 ExclusiveScan 470
+ 472: 39(ptr) AccessChain 34(data) 468 37 38
+ Store 472 471
+ 473: 6(int) Load 8(invocation)
+ 474: 48(ptr) AccessChain 34(data) 46 37
+ 475: 18(i8vec4) Load 474
+ 476: 47(i8vec2) VectorShuffle 475 475 0 1
+ 477: 47(i8vec2) GroupNonUniformIAdd 42 ExclusiveScan 476
+ 478: 39(ptr) AccessChain 34(data) 473 37 38
+ 479: 17(int8_t) CompositeExtract 477 0
+ Store 478 479
+ 480: 39(ptr) AccessChain 34(data) 473 37 55
+ 481: 17(int8_t) CompositeExtract 477 1
+ Store 480 481
+ 482: 6(int) Load 8(invocation)
+ 483: 48(ptr) AccessChain 34(data) 59 37
+ 484: 18(i8vec4) Load 483
+ 485: 60(i8vec3) VectorShuffle 484 484 0 1 2
+ 486: 60(i8vec3) GroupNonUniformIAdd 42 ExclusiveScan 485
+ 487: 39(ptr) AccessChain 34(data) 482 37 38
+ 488: 17(int8_t) CompositeExtract 486 0
+ Store 487 488
+ 489: 39(ptr) AccessChain 34(data) 482 37 55
+ 490: 17(int8_t) CompositeExtract 486 1
+ Store 489 490
+ 491: 39(ptr) AccessChain 34(data) 482 37 69
+ 492: 17(int8_t) CompositeExtract 486 2
+ Store 491 492
493: 6(int) Load 8(invocation)
- 494: 48(ptr) AccessChain 34(data) 46 37
+ 494: 48(ptr) AccessChain 34(data) 73 37
495: 18(i8vec4) Load 494
- 496: 47(i8vec2) VectorShuffle 495 495 0 1
- 497: 47(i8vec2) GroupNonUniformSMax 42 ExclusiveScan 496
- 498: 48(ptr) AccessChain 34(data) 493 37
- 499: 18(i8vec4) Load 498
- 500: 18(i8vec4) VectorShuffle 499 497 4 5 2 3
- Store 498 500
- 501: 6(int) Load 8(invocation)
- 502: 48(ptr) AccessChain 34(data) 57 37
- 503: 18(i8vec4) Load 502
- 504: 58(i8vec3) VectorShuffle 503 503 0 1 2
- 505: 58(i8vec3) GroupNonUniformSMax 42 ExclusiveScan 504
- 506: 48(ptr) AccessChain 34(data) 501 37
- 507: 18(i8vec4) Load 506
- 508: 18(i8vec4) VectorShuffle 507 505 4 5 6 3
- Store 506 508
- 509: 6(int) Load 8(invocation)
- 510: 48(ptr) AccessChain 34(data) 67 37
- 511: 18(i8vec4) Load 510
- 512: 18(i8vec4) GroupNonUniformSMax 42 ExclusiveScan 511
- 513: 48(ptr) AccessChain 34(data) 509 37
- Store 513 512
- 514: 6(int) Load 8(invocation)
- 515: 39(ptr) AccessChain 34(data) 37 37 38
- 516: 17(int8_t) Load 515
- 517: 17(int8_t) GroupNonUniformBitwiseAnd 42 ExclusiveScan 516
- 518: 39(ptr) AccessChain 34(data) 514 37 38
- Store 518 517
- 519: 6(int) Load 8(invocation)
- 520: 48(ptr) AccessChain 34(data) 46 37
- 521: 18(i8vec4) Load 520
- 522: 47(i8vec2) VectorShuffle 521 521 0 1
- 523: 47(i8vec2) GroupNonUniformBitwiseAnd 42 ExclusiveScan 522
- 524: 48(ptr) AccessChain 34(data) 519 37
+ 496: 18(i8vec4) GroupNonUniformIAdd 42 ExclusiveScan 495
+ 497: 48(ptr) AccessChain 34(data) 493 37
+ Store 497 496
+ 498: 6(int) Load 8(invocation)
+ 499: 39(ptr) AccessChain 34(data) 37 37 38
+ 500: 17(int8_t) Load 499
+ 501: 17(int8_t) GroupNonUniformIMul 42 ExclusiveScan 500
+ 502: 39(ptr) AccessChain 34(data) 498 37 38
+ Store 502 501
+ 503: 6(int) Load 8(invocation)
+ 504: 48(ptr) AccessChain 34(data) 46 37
+ 505: 18(i8vec4) Load 504
+ 506: 47(i8vec2) VectorShuffle 505 505 0 1
+ 507: 47(i8vec2) GroupNonUniformIMul 42 ExclusiveScan 506
+ 508: 39(ptr) AccessChain 34(data) 503 37 38
+ 509: 17(int8_t) CompositeExtract 507 0
+ Store 508 509
+ 510: 39(ptr) AccessChain 34(data) 503 37 55
+ 511: 17(int8_t) CompositeExtract 507 1
+ Store 510 511
+ 512: 6(int) Load 8(invocation)
+ 513: 48(ptr) AccessChain 34(data) 59 37
+ 514: 18(i8vec4) Load 513
+ 515: 60(i8vec3) VectorShuffle 514 514 0 1 2
+ 516: 60(i8vec3) GroupNonUniformIMul 42 ExclusiveScan 515
+ 517: 39(ptr) AccessChain 34(data) 512 37 38
+ 518: 17(int8_t) CompositeExtract 516 0
+ Store 517 518
+ 519: 39(ptr) AccessChain 34(data) 512 37 55
+ 520: 17(int8_t) CompositeExtract 516 1
+ Store 519 520
+ 521: 39(ptr) AccessChain 34(data) 512 37 69
+ 522: 17(int8_t) CompositeExtract 516 2
+ Store 521 522
+ 523: 6(int) Load 8(invocation)
+ 524: 48(ptr) AccessChain 34(data) 73 37
525: 18(i8vec4) Load 524
- 526: 18(i8vec4) VectorShuffle 525 523 4 5 2 3
- Store 524 526
- 527: 6(int) Load 8(invocation)
- 528: 48(ptr) AccessChain 34(data) 57 37
- 529: 18(i8vec4) Load 528
- 530: 58(i8vec3) VectorShuffle 529 529 0 1 2
- 531: 58(i8vec3) GroupNonUniformBitwiseAnd 42 ExclusiveScan 530
- 532: 48(ptr) AccessChain 34(data) 527 37
- 533: 18(i8vec4) Load 532
- 534: 18(i8vec4) VectorShuffle 533 531 4 5 6 3
- Store 532 534
- 535: 6(int) Load 8(invocation)
- 536: 48(ptr) AccessChain 34(data) 67 37
- 537: 18(i8vec4) Load 536
- 538: 18(i8vec4) GroupNonUniformBitwiseAnd 42 ExclusiveScan 537
- 539: 48(ptr) AccessChain 34(data) 535 37
- Store 539 538
- 540: 6(int) Load 8(invocation)
- 541: 39(ptr) AccessChain 34(data) 37 37 38
- 542: 17(int8_t) Load 541
- 543: 17(int8_t) GroupNonUniformBitwiseOr 42 ExclusiveScan 542
- 544: 39(ptr) AccessChain 34(data) 540 37 38
- Store 544 543
- 545: 6(int) Load 8(invocation)
- 546: 48(ptr) AccessChain 34(data) 46 37
- 547: 18(i8vec4) Load 546
- 548: 47(i8vec2) VectorShuffle 547 547 0 1
- 549: 47(i8vec2) GroupNonUniformBitwiseOr 42 ExclusiveScan 548
- 550: 48(ptr) AccessChain 34(data) 545 37
- 551: 18(i8vec4) Load 550
- 552: 18(i8vec4) VectorShuffle 551 549 4 5 2 3
- Store 550 552
+ 526: 18(i8vec4) GroupNonUniformIMul 42 ExclusiveScan 525
+ 527: 48(ptr) AccessChain 34(data) 523 37
+ Store 527 526
+ 528: 6(int) Load 8(invocation)
+ 529: 39(ptr) AccessChain 34(data) 37 37 38
+ 530: 17(int8_t) Load 529
+ 531: 17(int8_t) GroupNonUniformSMin 42 ExclusiveScan 530
+ 532: 39(ptr) AccessChain 34(data) 528 37 38
+ Store 532 531
+ 533: 6(int) Load 8(invocation)
+ 534: 48(ptr) AccessChain 34(data) 46 37
+ 535: 18(i8vec4) Load 534
+ 536: 47(i8vec2) VectorShuffle 535 535 0 1
+ 537: 47(i8vec2) GroupNonUniformSMin 42 ExclusiveScan 536
+ 538: 39(ptr) AccessChain 34(data) 533 37 38
+ 539: 17(int8_t) CompositeExtract 537 0
+ Store 538 539
+ 540: 39(ptr) AccessChain 34(data) 533 37 55
+ 541: 17(int8_t) CompositeExtract 537 1
+ Store 540 541
+ 542: 6(int) Load 8(invocation)
+ 543: 48(ptr) AccessChain 34(data) 59 37
+ 544: 18(i8vec4) Load 543
+ 545: 60(i8vec3) VectorShuffle 544 544 0 1 2
+ 546: 60(i8vec3) GroupNonUniformSMin 42 ExclusiveScan 545
+ 547: 39(ptr) AccessChain 34(data) 542 37 38
+ 548: 17(int8_t) CompositeExtract 546 0
+ Store 547 548
+ 549: 39(ptr) AccessChain 34(data) 542 37 55
+ 550: 17(int8_t) CompositeExtract 546 1
+ Store 549 550
+ 551: 39(ptr) AccessChain 34(data) 542 37 69
+ 552: 17(int8_t) CompositeExtract 546 2
+ Store 551 552
553: 6(int) Load 8(invocation)
- 554: 48(ptr) AccessChain 34(data) 57 37
+ 554: 48(ptr) AccessChain 34(data) 73 37
555: 18(i8vec4) Load 554
- 556: 58(i8vec3) VectorShuffle 555 555 0 1 2
- 557: 58(i8vec3) GroupNonUniformBitwiseOr 42 ExclusiveScan 556
- 558: 48(ptr) AccessChain 34(data) 553 37
- 559: 18(i8vec4) Load 558
- 560: 18(i8vec4) VectorShuffle 559 557 4 5 6 3
- Store 558 560
- 561: 6(int) Load 8(invocation)
- 562: 48(ptr) AccessChain 34(data) 67 37
- 563: 18(i8vec4) Load 562
- 564: 18(i8vec4) GroupNonUniformBitwiseOr 42 ExclusiveScan 563
- 565: 48(ptr) AccessChain 34(data) 561 37
- Store 565 564
- 566: 6(int) Load 8(invocation)
- 567: 39(ptr) AccessChain 34(data) 37 37 38
- 568: 17(int8_t) Load 567
- 569: 17(int8_t) GroupNonUniformBitwiseXor 42 ExclusiveScan 568
- 570: 39(ptr) AccessChain 34(data) 566 37 38
- Store 570 569
- 571: 6(int) Load 8(invocation)
- 572: 48(ptr) AccessChain 34(data) 46 37
- 573: 18(i8vec4) Load 572
- 574: 47(i8vec2) VectorShuffle 573 573 0 1
- 575: 47(i8vec2) GroupNonUniformBitwiseXor 42 ExclusiveScan 574
- 576: 48(ptr) AccessChain 34(data) 571 37
- 577: 18(i8vec4) Load 576
- 578: 18(i8vec4) VectorShuffle 577 575 4 5 2 3
- Store 576 578
- 579: 6(int) Load 8(invocation)
- 580: 48(ptr) AccessChain 34(data) 57 37
- 581: 18(i8vec4) Load 580
- 582: 58(i8vec3) VectorShuffle 581 581 0 1 2
- 583: 58(i8vec3) GroupNonUniformBitwiseXor 42 ExclusiveScan 582
- 584: 48(ptr) AccessChain 34(data) 579 37
+ 556: 18(i8vec4) GroupNonUniformSMin 42 ExclusiveScan 555
+ 557: 48(ptr) AccessChain 34(data) 553 37
+ Store 557 556
+ 558: 6(int) Load 8(invocation)
+ 559: 39(ptr) AccessChain 34(data) 37 37 38
+ 560: 17(int8_t) Load 559
+ 561: 17(int8_t) GroupNonUniformSMax 42 ExclusiveScan 560
+ 562: 39(ptr) AccessChain 34(data) 558 37 38
+ Store 562 561
+ 563: 6(int) Load 8(invocation)
+ 564: 48(ptr) AccessChain 34(data) 46 37
+ 565: 18(i8vec4) Load 564
+ 566: 47(i8vec2) VectorShuffle 565 565 0 1
+ 567: 47(i8vec2) GroupNonUniformSMax 42 ExclusiveScan 566
+ 568: 39(ptr) AccessChain 34(data) 563 37 38
+ 569: 17(int8_t) CompositeExtract 567 0
+ Store 568 569
+ 570: 39(ptr) AccessChain 34(data) 563 37 55
+ 571: 17(int8_t) CompositeExtract 567 1
+ Store 570 571
+ 572: 6(int) Load 8(invocation)
+ 573: 48(ptr) AccessChain 34(data) 59 37
+ 574: 18(i8vec4) Load 573
+ 575: 60(i8vec3) VectorShuffle 574 574 0 1 2
+ 576: 60(i8vec3) GroupNonUniformSMax 42 ExclusiveScan 575
+ 577: 39(ptr) AccessChain 34(data) 572 37 38
+ 578: 17(int8_t) CompositeExtract 576 0
+ Store 577 578
+ 579: 39(ptr) AccessChain 34(data) 572 37 55
+ 580: 17(int8_t) CompositeExtract 576 1
+ Store 579 580
+ 581: 39(ptr) AccessChain 34(data) 572 37 69
+ 582: 17(int8_t) CompositeExtract 576 2
+ Store 581 582
+ 583: 6(int) Load 8(invocation)
+ 584: 48(ptr) AccessChain 34(data) 73 37
585: 18(i8vec4) Load 584
- 586: 18(i8vec4) VectorShuffle 585 583 4 5 6 3
- Store 584 586
- 587: 6(int) Load 8(invocation)
- 588: 48(ptr) AccessChain 34(data) 67 37
- 589: 18(i8vec4) Load 588
- 590: 18(i8vec4) GroupNonUniformBitwiseXor 42 ExclusiveScan 589
- 591: 48(ptr) AccessChain 34(data) 587 37
- Store 591 590
- 592: 6(int) Load 8(invocation)
- 594: 593(ptr) AccessChain 34(data) 37 46 38
- 595: 19(int8_t) Load 594
- 596: 19(int8_t) GroupNonUniformIAdd 42 Reduce 595
- 597: 593(ptr) AccessChain 34(data) 592 46 38
- Store 597 596
- 598: 6(int) Load 8(invocation)
- 601: 600(ptr) AccessChain 34(data) 46 46
- 602: 20(i8vec4) Load 601
- 603: 599(i8vec2) VectorShuffle 602 602 0 1
- 604: 599(i8vec2) GroupNonUniformIAdd 42 Reduce 603
- 605: 600(ptr) AccessChain 34(data) 598 46
- 606: 20(i8vec4) Load 605
- 607: 20(i8vec4) VectorShuffle 606 604 4 5 2 3
- Store 605 607
- 608: 6(int) Load 8(invocation)
- 610: 600(ptr) AccessChain 34(data) 57 46
- 611: 20(i8vec4) Load 610
- 612: 609(i8vec3) VectorShuffle 611 611 0 1 2
- 613: 609(i8vec3) GroupNonUniformIAdd 42 Reduce 612
- 614: 600(ptr) AccessChain 34(data) 608 46
- 615: 20(i8vec4) Load 614
- 616: 20(i8vec4) VectorShuffle 615 613 4 5 6 3
- Store 614 616
- 617: 6(int) Load 8(invocation)
- 618: 600(ptr) AccessChain 34(data) 67 46
- 619: 20(i8vec4) Load 618
- 620: 20(i8vec4) GroupNonUniformIAdd 42 Reduce 619
- 621: 600(ptr) AccessChain 34(data) 617 46
- Store 621 620
- 622: 6(int) Load 8(invocation)
- 623: 593(ptr) AccessChain 34(data) 37 46 38
- 624: 19(int8_t) Load 623
- 625: 19(int8_t) GroupNonUniformIMul 42 Reduce 624
- 626: 593(ptr) AccessChain 34(data) 622 46 38
- Store 626 625
- 627: 6(int) Load 8(invocation)
- 628: 600(ptr) AccessChain 34(data) 46 46
- 629: 20(i8vec4) Load 628
- 630: 599(i8vec2) VectorShuffle 629 629 0 1
- 631: 599(i8vec2) GroupNonUniformIMul 42 Reduce 630
- 632: 600(ptr) AccessChain 34(data) 627 46
- 633: 20(i8vec4) Load 632
- 634: 20(i8vec4) VectorShuffle 633 631 4 5 2 3
- Store 632 634
- 635: 6(int) Load 8(invocation)
- 636: 600(ptr) AccessChain 34(data) 57 46
- 637: 20(i8vec4) Load 636
- 638: 609(i8vec3) VectorShuffle 637 637 0 1 2
- 639: 609(i8vec3) GroupNonUniformIMul 42 Reduce 638
- 640: 600(ptr) AccessChain 34(data) 635 46
- 641: 20(i8vec4) Load 640
- 642: 20(i8vec4) VectorShuffle 641 639 4 5 6 3
- Store 640 642
+ 586: 18(i8vec4) GroupNonUniformSMax 42 ExclusiveScan 585
+ 587: 48(ptr) AccessChain 34(data) 583 37
+ Store 587 586
+ 588: 6(int) Load 8(invocation)
+ 589: 39(ptr) AccessChain 34(data) 37 37 38
+ 590: 17(int8_t) Load 589
+ 591: 17(int8_t) GroupNonUniformBitwiseAnd 42 ExclusiveScan 590
+ 592: 39(ptr) AccessChain 34(data) 588 37 38
+ Store 592 591
+ 593: 6(int) Load 8(invocation)
+ 594: 48(ptr) AccessChain 34(data) 46 37
+ 595: 18(i8vec4) Load 594
+ 596: 47(i8vec2) VectorShuffle 595 595 0 1
+ 597: 47(i8vec2) GroupNonUniformBitwiseAnd 42 ExclusiveScan 596
+ 598: 39(ptr) AccessChain 34(data) 593 37 38
+ 599: 17(int8_t) CompositeExtract 597 0
+ Store 598 599
+ 600: 39(ptr) AccessChain 34(data) 593 37 55
+ 601: 17(int8_t) CompositeExtract 597 1
+ Store 600 601
+ 602: 6(int) Load 8(invocation)
+ 603: 48(ptr) AccessChain 34(data) 59 37
+ 604: 18(i8vec4) Load 603
+ 605: 60(i8vec3) VectorShuffle 604 604 0 1 2
+ 606: 60(i8vec3) GroupNonUniformBitwiseAnd 42 ExclusiveScan 605
+ 607: 39(ptr) AccessChain 34(data) 602 37 38
+ 608: 17(int8_t) CompositeExtract 606 0
+ Store 607 608
+ 609: 39(ptr) AccessChain 34(data) 602 37 55
+ 610: 17(int8_t) CompositeExtract 606 1
+ Store 609 610
+ 611: 39(ptr) AccessChain 34(data) 602 37 69
+ 612: 17(int8_t) CompositeExtract 606 2
+ Store 611 612
+ 613: 6(int) Load 8(invocation)
+ 614: 48(ptr) AccessChain 34(data) 73 37
+ 615: 18(i8vec4) Load 614
+ 616: 18(i8vec4) GroupNonUniformBitwiseAnd 42 ExclusiveScan 615
+ 617: 48(ptr) AccessChain 34(data) 613 37
+ Store 617 616
+ 618: 6(int) Load 8(invocation)
+ 619: 39(ptr) AccessChain 34(data) 37 37 38
+ 620: 17(int8_t) Load 619
+ 621: 17(int8_t) GroupNonUniformBitwiseOr 42 ExclusiveScan 620
+ 622: 39(ptr) AccessChain 34(data) 618 37 38
+ Store 622 621
+ 623: 6(int) Load 8(invocation)
+ 624: 48(ptr) AccessChain 34(data) 46 37
+ 625: 18(i8vec4) Load 624
+ 626: 47(i8vec2) VectorShuffle 625 625 0 1
+ 627: 47(i8vec2) GroupNonUniformBitwiseOr 42 ExclusiveScan 626
+ 628: 39(ptr) AccessChain 34(data) 623 37 38
+ 629: 17(int8_t) CompositeExtract 627 0
+ Store 628 629
+ 630: 39(ptr) AccessChain 34(data) 623 37 55
+ 631: 17(int8_t) CompositeExtract 627 1
+ Store 630 631
+ 632: 6(int) Load 8(invocation)
+ 633: 48(ptr) AccessChain 34(data) 59 37
+ 634: 18(i8vec4) Load 633
+ 635: 60(i8vec3) VectorShuffle 634 634 0 1 2
+ 636: 60(i8vec3) GroupNonUniformBitwiseOr 42 ExclusiveScan 635
+ 637: 39(ptr) AccessChain 34(data) 632 37 38
+ 638: 17(int8_t) CompositeExtract 636 0
+ Store 637 638
+ 639: 39(ptr) AccessChain 34(data) 632 37 55
+ 640: 17(int8_t) CompositeExtract 636 1
+ Store 639 640
+ 641: 39(ptr) AccessChain 34(data) 632 37 69
+ 642: 17(int8_t) CompositeExtract 636 2
+ Store 641 642
643: 6(int) Load 8(invocation)
- 644: 600(ptr) AccessChain 34(data) 67 46
- 645: 20(i8vec4) Load 644
- 646: 20(i8vec4) GroupNonUniformIMul 42 Reduce 645
- 647: 600(ptr) AccessChain 34(data) 643 46
+ 644: 48(ptr) AccessChain 34(data) 73 37
+ 645: 18(i8vec4) Load 644
+ 646: 18(i8vec4) GroupNonUniformBitwiseOr 42 ExclusiveScan 645
+ 647: 48(ptr) AccessChain 34(data) 643 37
Store 647 646
648: 6(int) Load 8(invocation)
- 649: 593(ptr) AccessChain 34(data) 37 46 38
- 650: 19(int8_t) Load 649
- 651: 19(int8_t) GroupNonUniformUMin 42 Reduce 650
- 652: 593(ptr) AccessChain 34(data) 648 46 38
+ 649: 39(ptr) AccessChain 34(data) 37 37 38
+ 650: 17(int8_t) Load 649
+ 651: 17(int8_t) GroupNonUniformBitwiseXor 42 ExclusiveScan 650
+ 652: 39(ptr) AccessChain 34(data) 648 37 38
Store 652 651
653: 6(int) Load 8(invocation)
- 654: 600(ptr) AccessChain 34(data) 46 46
- 655: 20(i8vec4) Load 654
- 656: 599(i8vec2) VectorShuffle 655 655 0 1
- 657: 599(i8vec2) GroupNonUniformUMin 42 Reduce 656
- 658: 600(ptr) AccessChain 34(data) 653 46
- 659: 20(i8vec4) Load 658
- 660: 20(i8vec4) VectorShuffle 659 657 4 5 2 3
- Store 658 660
- 661: 6(int) Load 8(invocation)
- 662: 600(ptr) AccessChain 34(data) 57 46
- 663: 20(i8vec4) Load 662
- 664: 609(i8vec3) VectorShuffle 663 663 0 1 2
- 665: 609(i8vec3) GroupNonUniformUMin 42 Reduce 664
- 666: 600(ptr) AccessChain 34(data) 661 46
- 667: 20(i8vec4) Load 666
- 668: 20(i8vec4) VectorShuffle 667 665 4 5 6 3
- Store 666 668
- 669: 6(int) Load 8(invocation)
- 670: 600(ptr) AccessChain 34(data) 67 46
- 671: 20(i8vec4) Load 670
- 672: 20(i8vec4) GroupNonUniformUMin 42 Reduce 671
- 673: 600(ptr) AccessChain 34(data) 669 46
- Store 673 672
- 674: 6(int) Load 8(invocation)
- 675: 593(ptr) AccessChain 34(data) 37 46 38
- 676: 19(int8_t) Load 675
- 677: 19(int8_t) GroupNonUniformUMax 42 Reduce 676
- 678: 593(ptr) AccessChain 34(data) 674 46 38
- Store 678 677
- 679: 6(int) Load 8(invocation)
- 680: 600(ptr) AccessChain 34(data) 46 46
- 681: 20(i8vec4) Load 680
- 682: 599(i8vec2) VectorShuffle 681 681 0 1
- 683: 599(i8vec2) GroupNonUniformUMax 42 Reduce 682
- 684: 600(ptr) AccessChain 34(data) 679 46
- 685: 20(i8vec4) Load 684
- 686: 20(i8vec4) VectorShuffle 685 683 4 5 2 3
- Store 684 686
- 687: 6(int) Load 8(invocation)
- 688: 600(ptr) AccessChain 34(data) 57 46
- 689: 20(i8vec4) Load 688
- 690: 609(i8vec3) VectorShuffle 689 689 0 1 2
- 691: 609(i8vec3) GroupNonUniformUMax 42 Reduce 690
- 692: 600(ptr) AccessChain 34(data) 687 46
- 693: 20(i8vec4) Load 692
- 694: 20(i8vec4) VectorShuffle 693 691 4 5 6 3
- Store 692 694
+ 654: 48(ptr) AccessChain 34(data) 46 37
+ 655: 18(i8vec4) Load 654
+ 656: 47(i8vec2) VectorShuffle 655 655 0 1
+ 657: 47(i8vec2) GroupNonUniformBitwiseXor 42 ExclusiveScan 656
+ 658: 39(ptr) AccessChain 34(data) 653 37 38
+ 659: 17(int8_t) CompositeExtract 657 0
+ Store 658 659
+ 660: 39(ptr) AccessChain 34(data) 653 37 55
+ 661: 17(int8_t) CompositeExtract 657 1
+ Store 660 661
+ 662: 6(int) Load 8(invocation)
+ 663: 48(ptr) AccessChain 34(data) 59 37
+ 664: 18(i8vec4) Load 663
+ 665: 60(i8vec3) VectorShuffle 664 664 0 1 2
+ 666: 60(i8vec3) GroupNonUniformBitwiseXor 42 ExclusiveScan 665
+ 667: 39(ptr) AccessChain 34(data) 662 37 38
+ 668: 17(int8_t) CompositeExtract 666 0
+ Store 667 668
+ 669: 39(ptr) AccessChain 34(data) 662 37 55
+ 670: 17(int8_t) CompositeExtract 666 1
+ Store 669 670
+ 671: 39(ptr) AccessChain 34(data) 662 37 69
+ 672: 17(int8_t) CompositeExtract 666 2
+ Store 671 672
+ 673: 6(int) Load 8(invocation)
+ 674: 48(ptr) AccessChain 34(data) 73 37
+ 675: 18(i8vec4) Load 674
+ 676: 18(i8vec4) GroupNonUniformBitwiseXor 42 ExclusiveScan 675
+ 677: 48(ptr) AccessChain 34(data) 673 37
+ Store 677 676
+ 678: 6(int) Load 8(invocation)
+ 680: 679(ptr) AccessChain 34(data) 37 46 38
+ 681: 19(int8_t) Load 680
+ 682: 19(int8_t) GroupNonUniformIAdd 42 Reduce 681
+ 683: 679(ptr) AccessChain 34(data) 678 46 38
+ Store 683 682
+ 684: 6(int) Load 8(invocation)
+ 687: 686(ptr) AccessChain 34(data) 46 46
+ 688: 20(i8vec4) Load 687
+ 689: 685(i8vec2) VectorShuffle 688 688 0 1
+ 690: 685(i8vec2) GroupNonUniformIAdd 42 Reduce 689
+ 691: 679(ptr) AccessChain 34(data) 684 46 38
+ 692: 19(int8_t) CompositeExtract 690 0
+ Store 691 692
+ 693: 679(ptr) AccessChain 34(data) 684 46 55
+ 694: 19(int8_t) CompositeExtract 690 1
+ Store 693 694
695: 6(int) Load 8(invocation)
- 696: 600(ptr) AccessChain 34(data) 67 46
- 697: 20(i8vec4) Load 696
- 698: 20(i8vec4) GroupNonUniformUMax 42 Reduce 697
- 699: 600(ptr) AccessChain 34(data) 695 46
- Store 699 698
- 700: 6(int) Load 8(invocation)
- 701: 593(ptr) AccessChain 34(data) 37 46 38
- 702: 19(int8_t) Load 701
- 703: 19(int8_t) GroupNonUniformBitwiseAnd 42 Reduce 702
- 704: 593(ptr) AccessChain 34(data) 700 46 38
- Store 704 703
- 705: 6(int) Load 8(invocation)
- 706: 600(ptr) AccessChain 34(data) 46 46
- 707: 20(i8vec4) Load 706
- 708: 599(i8vec2) VectorShuffle 707 707 0 1
- 709: 599(i8vec2) GroupNonUniformBitwiseAnd 42 Reduce 708
- 710: 600(ptr) AccessChain 34(data) 705 46
- 711: 20(i8vec4) Load 710
- 712: 20(i8vec4) VectorShuffle 711 709 4 5 2 3
- Store 710 712
- 713: 6(int) Load 8(invocation)
- 714: 600(ptr) AccessChain 34(data) 57 46
- 715: 20(i8vec4) Load 714
- 716: 609(i8vec3) VectorShuffle 715 715 0 1 2
- 717: 609(i8vec3) GroupNonUniformBitwiseAnd 42 Reduce 716
- 718: 600(ptr) AccessChain 34(data) 713 46
+ 697: 686(ptr) AccessChain 34(data) 59 46
+ 698: 20(i8vec4) Load 697
+ 699: 696(i8vec3) VectorShuffle 698 698 0 1 2
+ 700: 696(i8vec3) GroupNonUniformIAdd 42 Reduce 699
+ 701: 679(ptr) AccessChain 34(data) 695 46 38
+ 702: 19(int8_t) CompositeExtract 700 0
+ Store 701 702
+ 703: 679(ptr) AccessChain 34(data) 695 46 55
+ 704: 19(int8_t) CompositeExtract 700 1
+ Store 703 704
+ 705: 679(ptr) AccessChain 34(data) 695 46 69
+ 706: 19(int8_t) CompositeExtract 700 2
+ Store 705 706
+ 707: 6(int) Load 8(invocation)
+ 708: 686(ptr) AccessChain 34(data) 73 46
+ 709: 20(i8vec4) Load 708
+ 710: 20(i8vec4) GroupNonUniformIAdd 42 Reduce 709
+ 711: 686(ptr) AccessChain 34(data) 707 46
+ Store 711 710
+ 712: 6(int) Load 8(invocation)
+ 713: 679(ptr) AccessChain 34(data) 37 46 38
+ 714: 19(int8_t) Load 713
+ 715: 19(int8_t) GroupNonUniformIMul 42 Reduce 714
+ 716: 679(ptr) AccessChain 34(data) 712 46 38
+ Store 716 715
+ 717: 6(int) Load 8(invocation)
+ 718: 686(ptr) AccessChain 34(data) 46 46
719: 20(i8vec4) Load 718
- 720: 20(i8vec4) VectorShuffle 719 717 4 5 6 3
- Store 718 720
- 721: 6(int) Load 8(invocation)
- 722: 600(ptr) AccessChain 34(data) 67 46
- 723: 20(i8vec4) Load 722
- 724: 20(i8vec4) GroupNonUniformBitwiseAnd 42 Reduce 723
- 725: 600(ptr) AccessChain 34(data) 721 46
- Store 725 724
+ 720: 685(i8vec2) VectorShuffle 719 719 0 1
+ 721: 685(i8vec2) GroupNonUniformIMul 42 Reduce 720
+ 722: 679(ptr) AccessChain 34(data) 717 46 38
+ 723: 19(int8_t) CompositeExtract 721 0
+ Store 722 723
+ 724: 679(ptr) AccessChain 34(data) 717 46 55
+ 725: 19(int8_t) CompositeExtract 721 1
+ Store 724 725
726: 6(int) Load 8(invocation)
- 727: 593(ptr) AccessChain 34(data) 37 46 38
- 728: 19(int8_t) Load 727
- 729: 19(int8_t) GroupNonUniformBitwiseOr 42 Reduce 728
- 730: 593(ptr) AccessChain 34(data) 726 46 38
- Store 730 729
- 731: 6(int) Load 8(invocation)
- 732: 600(ptr) AccessChain 34(data) 46 46
- 733: 20(i8vec4) Load 732
- 734: 599(i8vec2) VectorShuffle 733 733 0 1
- 735: 599(i8vec2) GroupNonUniformBitwiseOr 42 Reduce 734
- 736: 600(ptr) AccessChain 34(data) 731 46
- 737: 20(i8vec4) Load 736
- 738: 20(i8vec4) VectorShuffle 737 735 4 5 2 3
- Store 736 738
- 739: 6(int) Load 8(invocation)
- 740: 600(ptr) AccessChain 34(data) 57 46
- 741: 20(i8vec4) Load 740
- 742: 609(i8vec3) VectorShuffle 741 741 0 1 2
- 743: 609(i8vec3) GroupNonUniformBitwiseOr 42 Reduce 742
- 744: 600(ptr) AccessChain 34(data) 739 46
- 745: 20(i8vec4) Load 744
- 746: 20(i8vec4) VectorShuffle 745 743 4 5 6 3
- Store 744 746
+ 727: 686(ptr) AccessChain 34(data) 59 46
+ 728: 20(i8vec4) Load 727
+ 729: 696(i8vec3) VectorShuffle 728 728 0 1 2
+ 730: 696(i8vec3) GroupNonUniformIMul 42 Reduce 729
+ 731: 679(ptr) AccessChain 34(data) 726 46 38
+ 732: 19(int8_t) CompositeExtract 730 0
+ Store 731 732
+ 733: 679(ptr) AccessChain 34(data) 726 46 55
+ 734: 19(int8_t) CompositeExtract 730 1
+ Store 733 734
+ 735: 679(ptr) AccessChain 34(data) 726 46 69
+ 736: 19(int8_t) CompositeExtract 730 2
+ Store 735 736
+ 737: 6(int) Load 8(invocation)
+ 738: 686(ptr) AccessChain 34(data) 73 46
+ 739: 20(i8vec4) Load 738
+ 740: 20(i8vec4) GroupNonUniformIMul 42 Reduce 739
+ 741: 686(ptr) AccessChain 34(data) 737 46
+ Store 741 740
+ 742: 6(int) Load 8(invocation)
+ 743: 679(ptr) AccessChain 34(data) 37 46 38
+ 744: 19(int8_t) Load 743
+ 745: 19(int8_t) GroupNonUniformUMin 42 Reduce 744
+ 746: 679(ptr) AccessChain 34(data) 742 46 38
+ Store 746 745
747: 6(int) Load 8(invocation)
- 748: 600(ptr) AccessChain 34(data) 67 46
+ 748: 686(ptr) AccessChain 34(data) 46 46
749: 20(i8vec4) Load 748
- 750: 20(i8vec4) GroupNonUniformBitwiseOr 42 Reduce 749
- 751: 600(ptr) AccessChain 34(data) 747 46
- Store 751 750
- 752: 6(int) Load 8(invocation)
- 753: 593(ptr) AccessChain 34(data) 37 46 38
- 754: 19(int8_t) Load 753
- 755: 19(int8_t) GroupNonUniformBitwiseXor 42 Reduce 754
- 756: 593(ptr) AccessChain 34(data) 752 46 38
- Store 756 755
- 757: 6(int) Load 8(invocation)
- 758: 600(ptr) AccessChain 34(data) 46 46
- 759: 20(i8vec4) Load 758
- 760: 599(i8vec2) VectorShuffle 759 759 0 1
- 761: 599(i8vec2) GroupNonUniformBitwiseXor 42 Reduce 760
- 762: 600(ptr) AccessChain 34(data) 757 46
- 763: 20(i8vec4) Load 762
- 764: 20(i8vec4) VectorShuffle 763 761 4 5 2 3
- Store 762 764
- 765: 6(int) Load 8(invocation)
- 766: 600(ptr) AccessChain 34(data) 57 46
- 767: 20(i8vec4) Load 766
- 768: 609(i8vec3) VectorShuffle 767 767 0 1 2
- 769: 609(i8vec3) GroupNonUniformBitwiseXor 42 Reduce 768
- 770: 600(ptr) AccessChain 34(data) 765 46
- 771: 20(i8vec4) Load 770
- 772: 20(i8vec4) VectorShuffle 771 769 4 5 6 3
- Store 770 772
- 773: 6(int) Load 8(invocation)
- 774: 600(ptr) AccessChain 34(data) 67 46
- 775: 20(i8vec4) Load 774
- 776: 20(i8vec4) GroupNonUniformBitwiseXor 42 Reduce 775
- 777: 600(ptr) AccessChain 34(data) 773 46
- Store 777 776
- 778: 6(int) Load 8(invocation)
- 779: 593(ptr) AccessChain 34(data) 37 46 38
- 780: 19(int8_t) Load 779
- 781: 19(int8_t) GroupNonUniformIAdd 42 InclusiveScan 780
- 782: 593(ptr) AccessChain 34(data) 778 46 38
- Store 782 781
- 783: 6(int) Load 8(invocation)
- 784: 600(ptr) AccessChain 34(data) 46 46
- 785: 20(i8vec4) Load 784
- 786: 599(i8vec2) VectorShuffle 785 785 0 1
- 787: 599(i8vec2) GroupNonUniformIAdd 42 InclusiveScan 786
- 788: 600(ptr) AccessChain 34(data) 783 46
- 789: 20(i8vec4) Load 788
- 790: 20(i8vec4) VectorShuffle 789 787 4 5 2 3
- Store 788 790
- 791: 6(int) Load 8(invocation)
- 792: 600(ptr) AccessChain 34(data) 57 46
- 793: 20(i8vec4) Load 792
- 794: 609(i8vec3) VectorShuffle 793 793 0 1 2
- 795: 609(i8vec3) GroupNonUniformIAdd 42 InclusiveScan 794
- 796: 600(ptr) AccessChain 34(data) 791 46
- 797: 20(i8vec4) Load 796
- 798: 20(i8vec4) VectorShuffle 797 795 4 5 6 3
- Store 796 798
- 799: 6(int) Load 8(invocation)
- 800: 600(ptr) AccessChain 34(data) 67 46
- 801: 20(i8vec4) Load 800
- 802: 20(i8vec4) GroupNonUniformIAdd 42 InclusiveScan 801
- 803: 600(ptr) AccessChain 34(data) 799 46
- Store 803 802
- 804: 6(int) Load 8(invocation)
- 805: 593(ptr) AccessChain 34(data) 37 46 38
- 806: 19(int8_t) Load 805
- 807: 19(int8_t) GroupNonUniformIMul 42 InclusiveScan 806
- 808: 593(ptr) AccessChain 34(data) 804 46 38
- Store 808 807
- 809: 6(int) Load 8(invocation)
- 810: 600(ptr) AccessChain 34(data) 46 46
- 811: 20(i8vec4) Load 810
- 812: 599(i8vec2) VectorShuffle 811 811 0 1
- 813: 599(i8vec2) GroupNonUniformIMul 42 InclusiveScan 812
- 814: 600(ptr) AccessChain 34(data) 809 46
- 815: 20(i8vec4) Load 814
- 816: 20(i8vec4) VectorShuffle 815 813 4 5 2 3
- Store 814 816
- 817: 6(int) Load 8(invocation)
- 818: 600(ptr) AccessChain 34(data) 57 46
- 819: 20(i8vec4) Load 818
- 820: 609(i8vec3) VectorShuffle 819 819 0 1 2
- 821: 609(i8vec3) GroupNonUniformIMul 42 InclusiveScan 820
- 822: 600(ptr) AccessChain 34(data) 817 46
- 823: 20(i8vec4) Load 822
- 824: 20(i8vec4) VectorShuffle 823 821 4 5 6 3
- Store 822 824
- 825: 6(int) Load 8(invocation)
- 826: 600(ptr) AccessChain 34(data) 67 46
- 827: 20(i8vec4) Load 826
- 828: 20(i8vec4) GroupNonUniformIMul 42 InclusiveScan 827
- 829: 600(ptr) AccessChain 34(data) 825 46
- Store 829 828
- 830: 6(int) Load 8(invocation)
- 831: 593(ptr) AccessChain 34(data) 37 46 38
- 832: 19(int8_t) Load 831
- 833: 19(int8_t) GroupNonUniformUMin 42 InclusiveScan 832
- 834: 593(ptr) AccessChain 34(data) 830 46 38
- Store 834 833
- 835: 6(int) Load 8(invocation)
- 836: 600(ptr) AccessChain 34(data) 46 46
- 837: 20(i8vec4) Load 836
- 838: 599(i8vec2) VectorShuffle 837 837 0 1
- 839: 599(i8vec2) GroupNonUniformUMin 42 InclusiveScan 838
- 840: 600(ptr) AccessChain 34(data) 835 46
- 841: 20(i8vec4) Load 840
- 842: 20(i8vec4) VectorShuffle 841 839 4 5 2 3
- Store 840 842
- 843: 6(int) Load 8(invocation)
- 844: 600(ptr) AccessChain 34(data) 57 46
- 845: 20(i8vec4) Load 844
- 846: 609(i8vec3) VectorShuffle 845 845 0 1 2
- 847: 609(i8vec3) GroupNonUniformUMin 42 InclusiveScan 846
- 848: 600(ptr) AccessChain 34(data) 843 46
- 849: 20(i8vec4) Load 848
- 850: 20(i8vec4) VectorShuffle 849 847 4 5 6 3
- Store 848 850
- 851: 6(int) Load 8(invocation)
- 852: 600(ptr) AccessChain 34(data) 67 46
- 853: 20(i8vec4) Load 852
- 854: 20(i8vec4) GroupNonUniformUMin 42 InclusiveScan 853
- 855: 600(ptr) AccessChain 34(data) 851 46
- Store 855 854
- 856: 6(int) Load 8(invocation)
- 857: 593(ptr) AccessChain 34(data) 37 46 38
- 858: 19(int8_t) Load 857
- 859: 19(int8_t) GroupNonUniformUMax 42 InclusiveScan 858
- 860: 593(ptr) AccessChain 34(data) 856 46 38
- Store 860 859
- 861: 6(int) Load 8(invocation)
- 862: 600(ptr) AccessChain 34(data) 46 46
- 863: 20(i8vec4) Load 862
- 864: 599(i8vec2) VectorShuffle 863 863 0 1
- 865: 599(i8vec2) GroupNonUniformUMax 42 InclusiveScan 864
- 866: 600(ptr) AccessChain 34(data) 861 46
- 867: 20(i8vec4) Load 866
- 868: 20(i8vec4) VectorShuffle 867 865 4 5 2 3
- Store 866 868
- 869: 6(int) Load 8(invocation)
- 870: 600(ptr) AccessChain 34(data) 57 46
- 871: 20(i8vec4) Load 870
- 872: 609(i8vec3) VectorShuffle 871 871 0 1 2
- 873: 609(i8vec3) GroupNonUniformUMax 42 InclusiveScan 872
- 874: 600(ptr) AccessChain 34(data) 869 46
- 875: 20(i8vec4) Load 874
- 876: 20(i8vec4) VectorShuffle 875 873 4 5 6 3
- Store 874 876
- 877: 6(int) Load 8(invocation)
- 878: 600(ptr) AccessChain 34(data) 67 46
- 879: 20(i8vec4) Load 878
- 880: 20(i8vec4) GroupNonUniformUMax 42 InclusiveScan 879
- 881: 600(ptr) AccessChain 34(data) 877 46
- Store 881 880
- 882: 6(int) Load 8(invocation)
- 883: 593(ptr) AccessChain 34(data) 37 46 38
- 884: 19(int8_t) Load 883
- 885: 19(int8_t) GroupNonUniformBitwiseAnd 42 InclusiveScan 884
- 886: 593(ptr) AccessChain 34(data) 882 46 38
- Store 886 885
+ 750: 685(i8vec2) VectorShuffle 749 749 0 1
+ 751: 685(i8vec2) GroupNonUniformUMin 42 Reduce 750
+ 752: 679(ptr) AccessChain 34(data) 747 46 38
+ 753: 19(int8_t) CompositeExtract 751 0
+ Store 752 753
+ 754: 679(ptr) AccessChain 34(data) 747 46 55
+ 755: 19(int8_t) CompositeExtract 751 1
+ Store 754 755
+ 756: 6(int) Load 8(invocation)
+ 757: 686(ptr) AccessChain 34(data) 59 46
+ 758: 20(i8vec4) Load 757
+ 759: 696(i8vec3) VectorShuffle 758 758 0 1 2
+ 760: 696(i8vec3) GroupNonUniformUMin 42 Reduce 759
+ 761: 679(ptr) AccessChain 34(data) 756 46 38
+ 762: 19(int8_t) CompositeExtract 760 0
+ Store 761 762
+ 763: 679(ptr) AccessChain 34(data) 756 46 55
+ 764: 19(int8_t) CompositeExtract 760 1
+ Store 763 764
+ 765: 679(ptr) AccessChain 34(data) 756 46 69
+ 766: 19(int8_t) CompositeExtract 760 2
+ Store 765 766
+ 767: 6(int) Load 8(invocation)
+ 768: 686(ptr) AccessChain 34(data) 73 46
+ 769: 20(i8vec4) Load 768
+ 770: 20(i8vec4) GroupNonUniformUMin 42 Reduce 769
+ 771: 686(ptr) AccessChain 34(data) 767 46
+ Store 771 770
+ 772: 6(int) Load 8(invocation)
+ 773: 679(ptr) AccessChain 34(data) 37 46 38
+ 774: 19(int8_t) Load 773
+ 775: 19(int8_t) GroupNonUniformUMax 42 Reduce 774
+ 776: 679(ptr) AccessChain 34(data) 772 46 38
+ Store 776 775
+ 777: 6(int) Load 8(invocation)
+ 778: 686(ptr) AccessChain 34(data) 46 46
+ 779: 20(i8vec4) Load 778
+ 780: 685(i8vec2) VectorShuffle 779 779 0 1
+ 781: 685(i8vec2) GroupNonUniformUMax 42 Reduce 780
+ 782: 679(ptr) AccessChain 34(data) 777 46 38
+ 783: 19(int8_t) CompositeExtract 781 0
+ Store 782 783
+ 784: 679(ptr) AccessChain 34(data) 777 46 55
+ 785: 19(int8_t) CompositeExtract 781 1
+ Store 784 785
+ 786: 6(int) Load 8(invocation)
+ 787: 686(ptr) AccessChain 34(data) 59 46
+ 788: 20(i8vec4) Load 787
+ 789: 696(i8vec3) VectorShuffle 788 788 0 1 2
+ 790: 696(i8vec3) GroupNonUniformUMax 42 Reduce 789
+ 791: 679(ptr) AccessChain 34(data) 786 46 38
+ 792: 19(int8_t) CompositeExtract 790 0
+ Store 791 792
+ 793: 679(ptr) AccessChain 34(data) 786 46 55
+ 794: 19(int8_t) CompositeExtract 790 1
+ Store 793 794
+ 795: 679(ptr) AccessChain 34(data) 786 46 69
+ 796: 19(int8_t) CompositeExtract 790 2
+ Store 795 796
+ 797: 6(int) Load 8(invocation)
+ 798: 686(ptr) AccessChain 34(data) 73 46
+ 799: 20(i8vec4) Load 798
+ 800: 20(i8vec4) GroupNonUniformUMax 42 Reduce 799
+ 801: 686(ptr) AccessChain 34(data) 797 46
+ Store 801 800
+ 802: 6(int) Load 8(invocation)
+ 803: 679(ptr) AccessChain 34(data) 37 46 38
+ 804: 19(int8_t) Load 803
+ 805: 19(int8_t) GroupNonUniformBitwiseAnd 42 Reduce 804
+ 806: 679(ptr) AccessChain 34(data) 802 46 38
+ Store 806 805
+ 807: 6(int) Load 8(invocation)
+ 808: 686(ptr) AccessChain 34(data) 46 46
+ 809: 20(i8vec4) Load 808
+ 810: 685(i8vec2) VectorShuffle 809 809 0 1
+ 811: 685(i8vec2) GroupNonUniformBitwiseAnd 42 Reduce 810
+ 812: 679(ptr) AccessChain 34(data) 807 46 38
+ 813: 19(int8_t) CompositeExtract 811 0
+ Store 812 813
+ 814: 679(ptr) AccessChain 34(data) 807 46 55
+ 815: 19(int8_t) CompositeExtract 811 1
+ Store 814 815
+ 816: 6(int) Load 8(invocation)
+ 817: 686(ptr) AccessChain 34(data) 59 46
+ 818: 20(i8vec4) Load 817
+ 819: 696(i8vec3) VectorShuffle 818 818 0 1 2
+ 820: 696(i8vec3) GroupNonUniformBitwiseAnd 42 Reduce 819
+ 821: 679(ptr) AccessChain 34(data) 816 46 38
+ 822: 19(int8_t) CompositeExtract 820 0
+ Store 821 822
+ 823: 679(ptr) AccessChain 34(data) 816 46 55
+ 824: 19(int8_t) CompositeExtract 820 1
+ Store 823 824
+ 825: 679(ptr) AccessChain 34(data) 816 46 69
+ 826: 19(int8_t) CompositeExtract 820 2
+ Store 825 826
+ 827: 6(int) Load 8(invocation)
+ 828: 686(ptr) AccessChain 34(data) 73 46
+ 829: 20(i8vec4) Load 828
+ 830: 20(i8vec4) GroupNonUniformBitwiseAnd 42 Reduce 829
+ 831: 686(ptr) AccessChain 34(data) 827 46
+ Store 831 830
+ 832: 6(int) Load 8(invocation)
+ 833: 679(ptr) AccessChain 34(data) 37 46 38
+ 834: 19(int8_t) Load 833
+ 835: 19(int8_t) GroupNonUniformBitwiseOr 42 Reduce 834
+ 836: 679(ptr) AccessChain 34(data) 832 46 38
+ Store 836 835
+ 837: 6(int) Load 8(invocation)
+ 838: 686(ptr) AccessChain 34(data) 46 46
+ 839: 20(i8vec4) Load 838
+ 840: 685(i8vec2) VectorShuffle 839 839 0 1
+ 841: 685(i8vec2) GroupNonUniformBitwiseOr 42 Reduce 840
+ 842: 679(ptr) AccessChain 34(data) 837 46 38
+ 843: 19(int8_t) CompositeExtract 841 0
+ Store 842 843
+ 844: 679(ptr) AccessChain 34(data) 837 46 55
+ 845: 19(int8_t) CompositeExtract 841 1
+ Store 844 845
+ 846: 6(int) Load 8(invocation)
+ 847: 686(ptr) AccessChain 34(data) 59 46
+ 848: 20(i8vec4) Load 847
+ 849: 696(i8vec3) VectorShuffle 848 848 0 1 2
+ 850: 696(i8vec3) GroupNonUniformBitwiseOr 42 Reduce 849
+ 851: 679(ptr) AccessChain 34(data) 846 46 38
+ 852: 19(int8_t) CompositeExtract 850 0
+ Store 851 852
+ 853: 679(ptr) AccessChain 34(data) 846 46 55
+ 854: 19(int8_t) CompositeExtract 850 1
+ Store 853 854
+ 855: 679(ptr) AccessChain 34(data) 846 46 69
+ 856: 19(int8_t) CompositeExtract 850 2
+ Store 855 856
+ 857: 6(int) Load 8(invocation)
+ 858: 686(ptr) AccessChain 34(data) 73 46
+ 859: 20(i8vec4) Load 858
+ 860: 20(i8vec4) GroupNonUniformBitwiseOr 42 Reduce 859
+ 861: 686(ptr) AccessChain 34(data) 857 46
+ Store 861 860
+ 862: 6(int) Load 8(invocation)
+ 863: 679(ptr) AccessChain 34(data) 37 46 38
+ 864: 19(int8_t) Load 863
+ 865: 19(int8_t) GroupNonUniformBitwiseXor 42 Reduce 864
+ 866: 679(ptr) AccessChain 34(data) 862 46 38
+ Store 866 865
+ 867: 6(int) Load 8(invocation)
+ 868: 686(ptr) AccessChain 34(data) 46 46
+ 869: 20(i8vec4) Load 868
+ 870: 685(i8vec2) VectorShuffle 869 869 0 1
+ 871: 685(i8vec2) GroupNonUniformBitwiseXor 42 Reduce 870
+ 872: 679(ptr) AccessChain 34(data) 867 46 38
+ 873: 19(int8_t) CompositeExtract 871 0
+ Store 872 873
+ 874: 679(ptr) AccessChain 34(data) 867 46 55
+ 875: 19(int8_t) CompositeExtract 871 1
+ Store 874 875
+ 876: 6(int) Load 8(invocation)
+ 877: 686(ptr) AccessChain 34(data) 59 46
+ 878: 20(i8vec4) Load 877
+ 879: 696(i8vec3) VectorShuffle 878 878 0 1 2
+ 880: 696(i8vec3) GroupNonUniformBitwiseXor 42 Reduce 879
+ 881: 679(ptr) AccessChain 34(data) 876 46 38
+ 882: 19(int8_t) CompositeExtract 880 0
+ Store 881 882
+ 883: 679(ptr) AccessChain 34(data) 876 46 55
+ 884: 19(int8_t) CompositeExtract 880 1
+ Store 883 884
+ 885: 679(ptr) AccessChain 34(data) 876 46 69
+ 886: 19(int8_t) CompositeExtract 880 2
+ Store 885 886
887: 6(int) Load 8(invocation)
- 888: 600(ptr) AccessChain 34(data) 46 46
+ 888: 686(ptr) AccessChain 34(data) 73 46
889: 20(i8vec4) Load 888
- 890: 599(i8vec2) VectorShuffle 889 889 0 1
- 891: 599(i8vec2) GroupNonUniformBitwiseAnd 42 InclusiveScan 890
- 892: 600(ptr) AccessChain 34(data) 887 46
- 893: 20(i8vec4) Load 892
- 894: 20(i8vec4) VectorShuffle 893 891 4 5 2 3
- Store 892 894
- 895: 6(int) Load 8(invocation)
- 896: 600(ptr) AccessChain 34(data) 57 46
- 897: 20(i8vec4) Load 896
- 898: 609(i8vec3) VectorShuffle 897 897 0 1 2
- 899: 609(i8vec3) GroupNonUniformBitwiseAnd 42 InclusiveScan 898
- 900: 600(ptr) AccessChain 34(data) 895 46
- 901: 20(i8vec4) Load 900
- 902: 20(i8vec4) VectorShuffle 901 899 4 5 6 3
- Store 900 902
- 903: 6(int) Load 8(invocation)
- 904: 600(ptr) AccessChain 34(data) 67 46
- 905: 20(i8vec4) Load 904
- 906: 20(i8vec4) GroupNonUniformBitwiseAnd 42 InclusiveScan 905
- 907: 600(ptr) AccessChain 34(data) 903 46
- Store 907 906
- 908: 6(int) Load 8(invocation)
- 909: 593(ptr) AccessChain 34(data) 37 46 38
- 910: 19(int8_t) Load 909
- 911: 19(int8_t) GroupNonUniformBitwiseOr 42 InclusiveScan 910
- 912: 593(ptr) AccessChain 34(data) 908 46 38
- Store 912 911
- 913: 6(int) Load 8(invocation)
- 914: 600(ptr) AccessChain 34(data) 46 46
- 915: 20(i8vec4) Load 914
- 916: 599(i8vec2) VectorShuffle 915 915 0 1
- 917: 599(i8vec2) GroupNonUniformBitwiseOr 42 InclusiveScan 916
- 918: 600(ptr) AccessChain 34(data) 913 46
+ 890: 20(i8vec4) GroupNonUniformBitwiseXor 42 Reduce 889
+ 891: 686(ptr) AccessChain 34(data) 887 46
+ Store 891 890
+ 892: 6(int) Load 8(invocation)
+ 893: 679(ptr) AccessChain 34(data) 37 46 38
+ 894: 19(int8_t) Load 893
+ 895: 19(int8_t) GroupNonUniformIAdd 42 InclusiveScan 894
+ 896: 679(ptr) AccessChain 34(data) 892 46 38
+ Store 896 895
+ 897: 6(int) Load 8(invocation)
+ 898: 686(ptr) AccessChain 34(data) 46 46
+ 899: 20(i8vec4) Load 898
+ 900: 685(i8vec2) VectorShuffle 899 899 0 1
+ 901: 685(i8vec2) GroupNonUniformIAdd 42 InclusiveScan 900
+ 902: 679(ptr) AccessChain 34(data) 897 46 38
+ 903: 19(int8_t) CompositeExtract 901 0
+ Store 902 903
+ 904: 679(ptr) AccessChain 34(data) 897 46 55
+ 905: 19(int8_t) CompositeExtract 901 1
+ Store 904 905
+ 906: 6(int) Load 8(invocation)
+ 907: 686(ptr) AccessChain 34(data) 59 46
+ 908: 20(i8vec4) Load 907
+ 909: 696(i8vec3) VectorShuffle 908 908 0 1 2
+ 910: 696(i8vec3) GroupNonUniformIAdd 42 InclusiveScan 909
+ 911: 679(ptr) AccessChain 34(data) 906 46 38
+ 912: 19(int8_t) CompositeExtract 910 0
+ Store 911 912
+ 913: 679(ptr) AccessChain 34(data) 906 46 55
+ 914: 19(int8_t) CompositeExtract 910 1
+ Store 913 914
+ 915: 679(ptr) AccessChain 34(data) 906 46 69
+ 916: 19(int8_t) CompositeExtract 910 2
+ Store 915 916
+ 917: 6(int) Load 8(invocation)
+ 918: 686(ptr) AccessChain 34(data) 73 46
919: 20(i8vec4) Load 918
- 920: 20(i8vec4) VectorShuffle 919 917 4 5 2 3
- Store 918 920
- 921: 6(int) Load 8(invocation)
- 922: 600(ptr) AccessChain 34(data) 57 46
- 923: 20(i8vec4) Load 922
- 924: 609(i8vec3) VectorShuffle 923 923 0 1 2
- 925: 609(i8vec3) GroupNonUniformBitwiseOr 42 InclusiveScan 924
- 926: 600(ptr) AccessChain 34(data) 921 46
- 927: 20(i8vec4) Load 926
- 928: 20(i8vec4) VectorShuffle 927 925 4 5 6 3
- Store 926 928
- 929: 6(int) Load 8(invocation)
- 930: 600(ptr) AccessChain 34(data) 67 46
- 931: 20(i8vec4) Load 930
- 932: 20(i8vec4) GroupNonUniformBitwiseOr 42 InclusiveScan 931
- 933: 600(ptr) AccessChain 34(data) 929 46
- Store 933 932
- 934: 6(int) Load 8(invocation)
- 935: 593(ptr) AccessChain 34(data) 37 46 38
- 936: 19(int8_t) Load 935
- 937: 19(int8_t) GroupNonUniformBitwiseXor 42 InclusiveScan 936
- 938: 593(ptr) AccessChain 34(data) 934 46 38
- Store 938 937
- 939: 6(int) Load 8(invocation)
- 940: 600(ptr) AccessChain 34(data) 46 46
- 941: 20(i8vec4) Load 940
- 942: 599(i8vec2) VectorShuffle 941 941 0 1
- 943: 599(i8vec2) GroupNonUniformBitwiseXor 42 InclusiveScan 942
- 944: 600(ptr) AccessChain 34(data) 939 46
- 945: 20(i8vec4) Load 944
- 946: 20(i8vec4) VectorShuffle 945 943 4 5 2 3
- Store 944 946
+ 920: 20(i8vec4) GroupNonUniformIAdd 42 InclusiveScan 919
+ 921: 686(ptr) AccessChain 34(data) 917 46
+ Store 921 920
+ 922: 6(int) Load 8(invocation)
+ 923: 679(ptr) AccessChain 34(data) 37 46 38
+ 924: 19(int8_t) Load 923
+ 925: 19(int8_t) GroupNonUniformIMul 42 InclusiveScan 924
+ 926: 679(ptr) AccessChain 34(data) 922 46 38
+ Store 926 925
+ 927: 6(int) Load 8(invocation)
+ 928: 686(ptr) AccessChain 34(data) 46 46
+ 929: 20(i8vec4) Load 928
+ 930: 685(i8vec2) VectorShuffle 929 929 0 1
+ 931: 685(i8vec2) GroupNonUniformIMul 42 InclusiveScan 930
+ 932: 679(ptr) AccessChain 34(data) 927 46 38
+ 933: 19(int8_t) CompositeExtract 931 0
+ Store 932 933
+ 934: 679(ptr) AccessChain 34(data) 927 46 55
+ 935: 19(int8_t) CompositeExtract 931 1
+ Store 934 935
+ 936: 6(int) Load 8(invocation)
+ 937: 686(ptr) AccessChain 34(data) 59 46
+ 938: 20(i8vec4) Load 937
+ 939: 696(i8vec3) VectorShuffle 938 938 0 1 2
+ 940: 696(i8vec3) GroupNonUniformIMul 42 InclusiveScan 939
+ 941: 679(ptr) AccessChain 34(data) 936 46 38
+ 942: 19(int8_t) CompositeExtract 940 0
+ Store 941 942
+ 943: 679(ptr) AccessChain 34(data) 936 46 55
+ 944: 19(int8_t) CompositeExtract 940 1
+ Store 943 944
+ 945: 679(ptr) AccessChain 34(data) 936 46 69
+ 946: 19(int8_t) CompositeExtract 940 2
+ Store 945 946
947: 6(int) Load 8(invocation)
- 948: 600(ptr) AccessChain 34(data) 57 46
+ 948: 686(ptr) AccessChain 34(data) 73 46
949: 20(i8vec4) Load 948
- 950: 609(i8vec3) VectorShuffle 949 949 0 1 2
- 951: 609(i8vec3) GroupNonUniformBitwiseXor 42 InclusiveScan 950
- 952: 600(ptr) AccessChain 34(data) 947 46
- 953: 20(i8vec4) Load 952
- 954: 20(i8vec4) VectorShuffle 953 951 4 5 6 3
- Store 952 954
- 955: 6(int) Load 8(invocation)
- 956: 600(ptr) AccessChain 34(data) 67 46
- 957: 20(i8vec4) Load 956
- 958: 20(i8vec4) GroupNonUniformBitwiseXor 42 InclusiveScan 957
- 959: 600(ptr) AccessChain 34(data) 955 46
- Store 959 958
- 960: 6(int) Load 8(invocation)
- 961: 593(ptr) AccessChain 34(data) 37 46 38
- 962: 19(int8_t) Load 961
- 963: 19(int8_t) GroupNonUniformIAdd 42 ExclusiveScan 962
- 964: 593(ptr) AccessChain 34(data) 960 46 38
- Store 964 963
- 965: 6(int) Load 8(invocation)
- 966: 600(ptr) AccessChain 34(data) 46 46
- 967: 20(i8vec4) Load 966
- 968: 599(i8vec2) VectorShuffle 967 967 0 1
- 969: 599(i8vec2) GroupNonUniformIAdd 42 ExclusiveScan 968
- 970: 600(ptr) AccessChain 34(data) 965 46
- 971: 20(i8vec4) Load 970
- 972: 20(i8vec4) VectorShuffle 971 969 4 5 2 3
- Store 970 972
- 973: 6(int) Load 8(invocation)
- 974: 600(ptr) AccessChain 34(data) 57 46
- 975: 20(i8vec4) Load 974
- 976: 609(i8vec3) VectorShuffle 975 975 0 1 2
- 977: 609(i8vec3) GroupNonUniformIAdd 42 ExclusiveScan 976
- 978: 600(ptr) AccessChain 34(data) 973 46
+ 950: 20(i8vec4) GroupNonUniformIMul 42 InclusiveScan 949
+ 951: 686(ptr) AccessChain 34(data) 947 46
+ Store 951 950
+ 952: 6(int) Load 8(invocation)
+ 953: 679(ptr) AccessChain 34(data) 37 46 38
+ 954: 19(int8_t) Load 953
+ 955: 19(int8_t) GroupNonUniformUMin 42 InclusiveScan 954
+ 956: 679(ptr) AccessChain 34(data) 952 46 38
+ Store 956 955
+ 957: 6(int) Load 8(invocation)
+ 958: 686(ptr) AccessChain 34(data) 46 46
+ 959: 20(i8vec4) Load 958
+ 960: 685(i8vec2) VectorShuffle 959 959 0 1
+ 961: 685(i8vec2) GroupNonUniformUMin 42 InclusiveScan 960
+ 962: 679(ptr) AccessChain 34(data) 957 46 38
+ 963: 19(int8_t) CompositeExtract 961 0
+ Store 962 963
+ 964: 679(ptr) AccessChain 34(data) 957 46 55
+ 965: 19(int8_t) CompositeExtract 961 1
+ Store 964 965
+ 966: 6(int) Load 8(invocation)
+ 967: 686(ptr) AccessChain 34(data) 59 46
+ 968: 20(i8vec4) Load 967
+ 969: 696(i8vec3) VectorShuffle 968 968 0 1 2
+ 970: 696(i8vec3) GroupNonUniformUMin 42 InclusiveScan 969
+ 971: 679(ptr) AccessChain 34(data) 966 46 38
+ 972: 19(int8_t) CompositeExtract 970 0
+ Store 971 972
+ 973: 679(ptr) AccessChain 34(data) 966 46 55
+ 974: 19(int8_t) CompositeExtract 970 1
+ Store 973 974
+ 975: 679(ptr) AccessChain 34(data) 966 46 69
+ 976: 19(int8_t) CompositeExtract 970 2
+ Store 975 976
+ 977: 6(int) Load 8(invocation)
+ 978: 686(ptr) AccessChain 34(data) 73 46
979: 20(i8vec4) Load 978
- 980: 20(i8vec4) VectorShuffle 979 977 4 5 6 3
- Store 978 980
- 981: 6(int) Load 8(invocation)
- 982: 600(ptr) AccessChain 34(data) 67 46
- 983: 20(i8vec4) Load 982
- 984: 20(i8vec4) GroupNonUniformIAdd 42 ExclusiveScan 983
- 985: 600(ptr) AccessChain 34(data) 981 46
- Store 985 984
- 986: 6(int) Load 8(invocation)
- 987: 593(ptr) AccessChain 34(data) 37 46 38
- 988: 19(int8_t) Load 987
- 989: 19(int8_t) GroupNonUniformIMul 42 ExclusiveScan 988
- 990: 593(ptr) AccessChain 34(data) 986 46 38
- Store 990 989
- 991: 6(int) Load 8(invocation)
- 992: 600(ptr) AccessChain 34(data) 46 46
- 993: 20(i8vec4) Load 992
- 994: 599(i8vec2) VectorShuffle 993 993 0 1
- 995: 599(i8vec2) GroupNonUniformIMul 42 ExclusiveScan 994
- 996: 600(ptr) AccessChain 34(data) 991 46
- 997: 20(i8vec4) Load 996
- 998: 20(i8vec4) VectorShuffle 997 995 4 5 2 3
- Store 996 998
- 999: 6(int) Load 8(invocation)
- 1000: 600(ptr) AccessChain 34(data) 57 46
- 1001: 20(i8vec4) Load 1000
- 1002: 609(i8vec3) VectorShuffle 1001 1001 0 1 2
- 1003: 609(i8vec3) GroupNonUniformIMul 42 ExclusiveScan 1002
- 1004: 600(ptr) AccessChain 34(data) 999 46
- 1005: 20(i8vec4) Load 1004
- 1006: 20(i8vec4) VectorShuffle 1005 1003 4 5 6 3
- Store 1004 1006
+ 980: 20(i8vec4) GroupNonUniformUMin 42 InclusiveScan 979
+ 981: 686(ptr) AccessChain 34(data) 977 46
+ Store 981 980
+ 982: 6(int) Load 8(invocation)
+ 983: 679(ptr) AccessChain 34(data) 37 46 38
+ 984: 19(int8_t) Load 983
+ 985: 19(int8_t) GroupNonUniformUMax 42 InclusiveScan 984
+ 986: 679(ptr) AccessChain 34(data) 982 46 38
+ Store 986 985
+ 987: 6(int) Load 8(invocation)
+ 988: 686(ptr) AccessChain 34(data) 46 46
+ 989: 20(i8vec4) Load 988
+ 990: 685(i8vec2) VectorShuffle 989 989 0 1
+ 991: 685(i8vec2) GroupNonUniformUMax 42 InclusiveScan 990
+ 992: 679(ptr) AccessChain 34(data) 987 46 38
+ 993: 19(int8_t) CompositeExtract 991 0
+ Store 992 993
+ 994: 679(ptr) AccessChain 34(data) 987 46 55
+ 995: 19(int8_t) CompositeExtract 991 1
+ Store 994 995
+ 996: 6(int) Load 8(invocation)
+ 997: 686(ptr) AccessChain 34(data) 59 46
+ 998: 20(i8vec4) Load 997
+ 999: 696(i8vec3) VectorShuffle 998 998 0 1 2
+ 1000: 696(i8vec3) GroupNonUniformUMax 42 InclusiveScan 999
+ 1001: 679(ptr) AccessChain 34(data) 996 46 38
+ 1002: 19(int8_t) CompositeExtract 1000 0
+ Store 1001 1002
+ 1003: 679(ptr) AccessChain 34(data) 996 46 55
+ 1004: 19(int8_t) CompositeExtract 1000 1
+ Store 1003 1004
+ 1005: 679(ptr) AccessChain 34(data) 996 46 69
+ 1006: 19(int8_t) CompositeExtract 1000 2
+ Store 1005 1006
1007: 6(int) Load 8(invocation)
- 1008: 600(ptr) AccessChain 34(data) 67 46
+ 1008: 686(ptr) AccessChain 34(data) 73 46
1009: 20(i8vec4) Load 1008
- 1010: 20(i8vec4) GroupNonUniformIMul 42 ExclusiveScan 1009
- 1011: 600(ptr) AccessChain 34(data) 1007 46
+ 1010: 20(i8vec4) GroupNonUniformUMax 42 InclusiveScan 1009
+ 1011: 686(ptr) AccessChain 34(data) 1007 46
Store 1011 1010
1012: 6(int) Load 8(invocation)
- 1013: 593(ptr) AccessChain 34(data) 37 46 38
+ 1013: 679(ptr) AccessChain 34(data) 37 46 38
1014: 19(int8_t) Load 1013
- 1015: 19(int8_t) GroupNonUniformUMin 42 ExclusiveScan 1014
- 1016: 593(ptr) AccessChain 34(data) 1012 46 38
+ 1015: 19(int8_t) GroupNonUniformBitwiseAnd 42 InclusiveScan 1014
+ 1016: 679(ptr) AccessChain 34(data) 1012 46 38
Store 1016 1015
1017: 6(int) Load 8(invocation)
- 1018: 600(ptr) AccessChain 34(data) 46 46
+ 1018: 686(ptr) AccessChain 34(data) 46 46
1019: 20(i8vec4) Load 1018
- 1020: 599(i8vec2) VectorShuffle 1019 1019 0 1
- 1021: 599(i8vec2) GroupNonUniformUMin 42 ExclusiveScan 1020
- 1022: 600(ptr) AccessChain 34(data) 1017 46
- 1023: 20(i8vec4) Load 1022
- 1024: 20(i8vec4) VectorShuffle 1023 1021 4 5 2 3
- Store 1022 1024
- 1025: 6(int) Load 8(invocation)
- 1026: 600(ptr) AccessChain 34(data) 57 46
- 1027: 20(i8vec4) Load 1026
- 1028: 609(i8vec3) VectorShuffle 1027 1027 0 1 2
- 1029: 609(i8vec3) GroupNonUniformUMin 42 ExclusiveScan 1028
- 1030: 600(ptr) AccessChain 34(data) 1025 46
- 1031: 20(i8vec4) Load 1030
- 1032: 20(i8vec4) VectorShuffle 1031 1029 4 5 6 3
- Store 1030 1032
- 1033: 6(int) Load 8(invocation)
- 1034: 600(ptr) AccessChain 34(data) 67 46
- 1035: 20(i8vec4) Load 1034
- 1036: 20(i8vec4) GroupNonUniformUMin 42 ExclusiveScan 1035
- 1037: 600(ptr) AccessChain 34(data) 1033 46
- Store 1037 1036
- 1038: 6(int) Load 8(invocation)
- 1039: 593(ptr) AccessChain 34(data) 37 46 38
- 1040: 19(int8_t) Load 1039
- 1041: 19(int8_t) GroupNonUniformUMax 42 ExclusiveScan 1040
- 1042: 593(ptr) AccessChain 34(data) 1038 46 38
- Store 1042 1041
- 1043: 6(int) Load 8(invocation)
- 1044: 600(ptr) AccessChain 34(data) 46 46
- 1045: 20(i8vec4) Load 1044
- 1046: 599(i8vec2) VectorShuffle 1045 1045 0 1
- 1047: 599(i8vec2) GroupNonUniformUMax 42 ExclusiveScan 1046
- 1048: 600(ptr) AccessChain 34(data) 1043 46
+ 1020: 685(i8vec2) VectorShuffle 1019 1019 0 1
+ 1021: 685(i8vec2) GroupNonUniformBitwiseAnd 42 InclusiveScan 1020
+ 1022: 679(ptr) AccessChain 34(data) 1017 46 38
+ 1023: 19(int8_t) CompositeExtract 1021 0
+ Store 1022 1023
+ 1024: 679(ptr) AccessChain 34(data) 1017 46 55
+ 1025: 19(int8_t) CompositeExtract 1021 1
+ Store 1024 1025
+ 1026: 6(int) Load 8(invocation)
+ 1027: 686(ptr) AccessChain 34(data) 59 46
+ 1028: 20(i8vec4) Load 1027
+ 1029: 696(i8vec3) VectorShuffle 1028 1028 0 1 2
+ 1030: 696(i8vec3) GroupNonUniformBitwiseAnd 42 InclusiveScan 1029
+ 1031: 679(ptr) AccessChain 34(data) 1026 46 38
+ 1032: 19(int8_t) CompositeExtract 1030 0
+ Store 1031 1032
+ 1033: 679(ptr) AccessChain 34(data) 1026 46 55
+ 1034: 19(int8_t) CompositeExtract 1030 1
+ Store 1033 1034
+ 1035: 679(ptr) AccessChain 34(data) 1026 46 69
+ 1036: 19(int8_t) CompositeExtract 1030 2
+ Store 1035 1036
+ 1037: 6(int) Load 8(invocation)
+ 1038: 686(ptr) AccessChain 34(data) 73 46
+ 1039: 20(i8vec4) Load 1038
+ 1040: 20(i8vec4) GroupNonUniformBitwiseAnd 42 InclusiveScan 1039
+ 1041: 686(ptr) AccessChain 34(data) 1037 46
+ Store 1041 1040
+ 1042: 6(int) Load 8(invocation)
+ 1043: 679(ptr) AccessChain 34(data) 37 46 38
+ 1044: 19(int8_t) Load 1043
+ 1045: 19(int8_t) GroupNonUniformBitwiseOr 42 InclusiveScan 1044
+ 1046: 679(ptr) AccessChain 34(data) 1042 46 38
+ Store 1046 1045
+ 1047: 6(int) Load 8(invocation)
+ 1048: 686(ptr) AccessChain 34(data) 46 46
1049: 20(i8vec4) Load 1048
- 1050: 20(i8vec4) VectorShuffle 1049 1047 4 5 2 3
- Store 1048 1050
- 1051: 6(int) Load 8(invocation)
- 1052: 600(ptr) AccessChain 34(data) 57 46
- 1053: 20(i8vec4) Load 1052
- 1054: 609(i8vec3) VectorShuffle 1053 1053 0 1 2
- 1055: 609(i8vec3) GroupNonUniformUMax 42 ExclusiveScan 1054
- 1056: 600(ptr) AccessChain 34(data) 1051 46
- 1057: 20(i8vec4) Load 1056
- 1058: 20(i8vec4) VectorShuffle 1057 1055 4 5 6 3
- Store 1056 1058
- 1059: 6(int) Load 8(invocation)
- 1060: 600(ptr) AccessChain 34(data) 67 46
- 1061: 20(i8vec4) Load 1060
- 1062: 20(i8vec4) GroupNonUniformUMax 42 ExclusiveScan 1061
- 1063: 600(ptr) AccessChain 34(data) 1059 46
- Store 1063 1062
- 1064: 6(int) Load 8(invocation)
- 1065: 593(ptr) AccessChain 34(data) 37 46 38
- 1066: 19(int8_t) Load 1065
- 1067: 19(int8_t) GroupNonUniformBitwiseAnd 42 ExclusiveScan 1066
- 1068: 593(ptr) AccessChain 34(data) 1064 46 38
- Store 1068 1067
- 1069: 6(int) Load 8(invocation)
- 1070: 600(ptr) AccessChain 34(data) 46 46
- 1071: 20(i8vec4) Load 1070
- 1072: 599(i8vec2) VectorShuffle 1071 1071 0 1
- 1073: 599(i8vec2) GroupNonUniformBitwiseAnd 42 ExclusiveScan 1072
- 1074: 600(ptr) AccessChain 34(data) 1069 46
- 1075: 20(i8vec4) Load 1074
- 1076: 20(i8vec4) VectorShuffle 1075 1073 4 5 2 3
- Store 1074 1076
+ 1050: 685(i8vec2) VectorShuffle 1049 1049 0 1
+ 1051: 685(i8vec2) GroupNonUniformBitwiseOr 42 InclusiveScan 1050
+ 1052: 679(ptr) AccessChain 34(data) 1047 46 38
+ 1053: 19(int8_t) CompositeExtract 1051 0
+ Store 1052 1053
+ 1054: 679(ptr) AccessChain 34(data) 1047 46 55
+ 1055: 19(int8_t) CompositeExtract 1051 1
+ Store 1054 1055
+ 1056: 6(int) Load 8(invocation)
+ 1057: 686(ptr) AccessChain 34(data) 59 46
+ 1058: 20(i8vec4) Load 1057
+ 1059: 696(i8vec3) VectorShuffle 1058 1058 0 1 2
+ 1060: 696(i8vec3) GroupNonUniformBitwiseOr 42 InclusiveScan 1059
+ 1061: 679(ptr) AccessChain 34(data) 1056 46 38
+ 1062: 19(int8_t) CompositeExtract 1060 0
+ Store 1061 1062
+ 1063: 679(ptr) AccessChain 34(data) 1056 46 55
+ 1064: 19(int8_t) CompositeExtract 1060 1
+ Store 1063 1064
+ 1065: 679(ptr) AccessChain 34(data) 1056 46 69
+ 1066: 19(int8_t) CompositeExtract 1060 2
+ Store 1065 1066
+ 1067: 6(int) Load 8(invocation)
+ 1068: 686(ptr) AccessChain 34(data) 73 46
+ 1069: 20(i8vec4) Load 1068
+ 1070: 20(i8vec4) GroupNonUniformBitwiseOr 42 InclusiveScan 1069
+ 1071: 686(ptr) AccessChain 34(data) 1067 46
+ Store 1071 1070
+ 1072: 6(int) Load 8(invocation)
+ 1073: 679(ptr) AccessChain 34(data) 37 46 38
+ 1074: 19(int8_t) Load 1073
+ 1075: 19(int8_t) GroupNonUniformBitwiseXor 42 InclusiveScan 1074
+ 1076: 679(ptr) AccessChain 34(data) 1072 46 38
+ Store 1076 1075
1077: 6(int) Load 8(invocation)
- 1078: 600(ptr) AccessChain 34(data) 57 46
+ 1078: 686(ptr) AccessChain 34(data) 46 46
1079: 20(i8vec4) Load 1078
- 1080: 609(i8vec3) VectorShuffle 1079 1079 0 1 2
- 1081: 609(i8vec3) GroupNonUniformBitwiseAnd 42 ExclusiveScan 1080
- 1082: 600(ptr) AccessChain 34(data) 1077 46
- 1083: 20(i8vec4) Load 1082
- 1084: 20(i8vec4) VectorShuffle 1083 1081 4 5 6 3
- Store 1082 1084
- 1085: 6(int) Load 8(invocation)
- 1086: 600(ptr) AccessChain 34(data) 67 46
- 1087: 20(i8vec4) Load 1086
- 1088: 20(i8vec4) GroupNonUniformBitwiseAnd 42 ExclusiveScan 1087
- 1089: 600(ptr) AccessChain 34(data) 1085 46
- Store 1089 1088
- 1090: 6(int) Load 8(invocation)
- 1091: 593(ptr) AccessChain 34(data) 37 46 38
- 1092: 19(int8_t) Load 1091
- 1093: 19(int8_t) GroupNonUniformBitwiseOr 42 ExclusiveScan 1092
- 1094: 593(ptr) AccessChain 34(data) 1090 46 38
- Store 1094 1093
- 1095: 6(int) Load 8(invocation)
- 1096: 600(ptr) AccessChain 34(data) 46 46
- 1097: 20(i8vec4) Load 1096
- 1098: 599(i8vec2) VectorShuffle 1097 1097 0 1
- 1099: 599(i8vec2) GroupNonUniformBitwiseOr 42 ExclusiveScan 1098
- 1100: 600(ptr) AccessChain 34(data) 1095 46
- 1101: 20(i8vec4) Load 1100
- 1102: 20(i8vec4) VectorShuffle 1101 1099 4 5 2 3
- Store 1100 1102
- 1103: 6(int) Load 8(invocation)
- 1104: 600(ptr) AccessChain 34(data) 57 46
- 1105: 20(i8vec4) Load 1104
- 1106: 609(i8vec3) VectorShuffle 1105 1105 0 1 2
- 1107: 609(i8vec3) GroupNonUniformBitwiseOr 42 ExclusiveScan 1106
- 1108: 600(ptr) AccessChain 34(data) 1103 46
+ 1080: 685(i8vec2) VectorShuffle 1079 1079 0 1
+ 1081: 685(i8vec2) GroupNonUniformBitwiseXor 42 InclusiveScan 1080
+ 1082: 679(ptr) AccessChain 34(data) 1077 46 38
+ 1083: 19(int8_t) CompositeExtract 1081 0
+ Store 1082 1083
+ 1084: 679(ptr) AccessChain 34(data) 1077 46 55
+ 1085: 19(int8_t) CompositeExtract 1081 1
+ Store 1084 1085
+ 1086: 6(int) Load 8(invocation)
+ 1087: 686(ptr) AccessChain 34(data) 59 46
+ 1088: 20(i8vec4) Load 1087
+ 1089: 696(i8vec3) VectorShuffle 1088 1088 0 1 2
+ 1090: 696(i8vec3) GroupNonUniformBitwiseXor 42 InclusiveScan 1089
+ 1091: 679(ptr) AccessChain 34(data) 1086 46 38
+ 1092: 19(int8_t) CompositeExtract 1090 0
+ Store 1091 1092
+ 1093: 679(ptr) AccessChain 34(data) 1086 46 55
+ 1094: 19(int8_t) CompositeExtract 1090 1
+ Store 1093 1094
+ 1095: 679(ptr) AccessChain 34(data) 1086 46 69
+ 1096: 19(int8_t) CompositeExtract 1090 2
+ Store 1095 1096
+ 1097: 6(int) Load 8(invocation)
+ 1098: 686(ptr) AccessChain 34(data) 73 46
+ 1099: 20(i8vec4) Load 1098
+ 1100: 20(i8vec4) GroupNonUniformBitwiseXor 42 InclusiveScan 1099
+ 1101: 686(ptr) AccessChain 34(data) 1097 46
+ Store 1101 1100
+ 1102: 6(int) Load 8(invocation)
+ 1103: 679(ptr) AccessChain 34(data) 37 46 38
+ 1104: 19(int8_t) Load 1103
+ 1105: 19(int8_t) GroupNonUniformIAdd 42 ExclusiveScan 1104
+ 1106: 679(ptr) AccessChain 34(data) 1102 46 38
+ Store 1106 1105
+ 1107: 6(int) Load 8(invocation)
+ 1108: 686(ptr) AccessChain 34(data) 46 46
1109: 20(i8vec4) Load 1108
- 1110: 20(i8vec4) VectorShuffle 1109 1107 4 5 6 3
- Store 1108 1110
- 1111: 6(int) Load 8(invocation)
- 1112: 600(ptr) AccessChain 34(data) 67 46
- 1113: 20(i8vec4) Load 1112
- 1114: 20(i8vec4) GroupNonUniformBitwiseOr 42 ExclusiveScan 1113
- 1115: 600(ptr) AccessChain 34(data) 1111 46
- Store 1115 1114
+ 1110: 685(i8vec2) VectorShuffle 1109 1109 0 1
+ 1111: 685(i8vec2) GroupNonUniformIAdd 42 ExclusiveScan 1110
+ 1112: 679(ptr) AccessChain 34(data) 1107 46 38
+ 1113: 19(int8_t) CompositeExtract 1111 0
+ Store 1112 1113
+ 1114: 679(ptr) AccessChain 34(data) 1107 46 55
+ 1115: 19(int8_t) CompositeExtract 1111 1
+ Store 1114 1115
1116: 6(int) Load 8(invocation)
- 1117: 593(ptr) AccessChain 34(data) 37 46 38
- 1118: 19(int8_t) Load 1117
- 1119: 19(int8_t) GroupNonUniformBitwiseXor 42 ExclusiveScan 1118
- 1120: 593(ptr) AccessChain 34(data) 1116 46 38
- Store 1120 1119
- 1121: 6(int) Load 8(invocation)
- 1122: 600(ptr) AccessChain 34(data) 46 46
- 1123: 20(i8vec4) Load 1122
- 1124: 599(i8vec2) VectorShuffle 1123 1123 0 1
- 1125: 599(i8vec2) GroupNonUniformBitwiseXor 42 ExclusiveScan 1124
- 1126: 600(ptr) AccessChain 34(data) 1121 46
- 1127: 20(i8vec4) Load 1126
- 1128: 20(i8vec4) VectorShuffle 1127 1125 4 5 2 3
- Store 1126 1128
- 1129: 6(int) Load 8(invocation)
- 1130: 600(ptr) AccessChain 34(data) 57 46
- 1131: 20(i8vec4) Load 1130
- 1132: 609(i8vec3) VectorShuffle 1131 1131 0 1 2
- 1133: 609(i8vec3) GroupNonUniformBitwiseXor 42 ExclusiveScan 1132
- 1134: 600(ptr) AccessChain 34(data) 1129 46
- 1135: 20(i8vec4) Load 1134
- 1136: 20(i8vec4) VectorShuffle 1135 1133 4 5 6 3
- Store 1134 1136
+ 1117: 686(ptr) AccessChain 34(data) 59 46
+ 1118: 20(i8vec4) Load 1117
+ 1119: 696(i8vec3) VectorShuffle 1118 1118 0 1 2
+ 1120: 696(i8vec3) GroupNonUniformIAdd 42 ExclusiveScan 1119
+ 1121: 679(ptr) AccessChain 34(data) 1116 46 38
+ 1122: 19(int8_t) CompositeExtract 1120 0
+ Store 1121 1122
+ 1123: 679(ptr) AccessChain 34(data) 1116 46 55
+ 1124: 19(int8_t) CompositeExtract 1120 1
+ Store 1123 1124
+ 1125: 679(ptr) AccessChain 34(data) 1116 46 69
+ 1126: 19(int8_t) CompositeExtract 1120 2
+ Store 1125 1126
+ 1127: 6(int) Load 8(invocation)
+ 1128: 686(ptr) AccessChain 34(data) 73 46
+ 1129: 20(i8vec4) Load 1128
+ 1130: 20(i8vec4) GroupNonUniformIAdd 42 ExclusiveScan 1129
+ 1131: 686(ptr) AccessChain 34(data) 1127 46
+ Store 1131 1130
+ 1132: 6(int) Load 8(invocation)
+ 1133: 679(ptr) AccessChain 34(data) 37 46 38
+ 1134: 19(int8_t) Load 1133
+ 1135: 19(int8_t) GroupNonUniformIMul 42 ExclusiveScan 1134
+ 1136: 679(ptr) AccessChain 34(data) 1132 46 38
+ Store 1136 1135
1137: 6(int) Load 8(invocation)
- 1138: 600(ptr) AccessChain 34(data) 67 46
+ 1138: 686(ptr) AccessChain 34(data) 46 46
1139: 20(i8vec4) Load 1138
- 1140: 20(i8vec4) GroupNonUniformBitwiseXor 42 ExclusiveScan 1139
- 1141: 600(ptr) AccessChain 34(data) 1137 46
- Store 1141 1140
- 1142: 6(int) Load 8(invocation)
- 1144: 1143(ptr) AccessChain 34(data) 37 57 38
- 1145: 21(int16_t) Load 1144
- 1146: 21(int16_t) GroupNonUniformIAdd 42 Reduce 1145
- 1147: 1143(ptr) AccessChain 34(data) 1142 57 38
- Store 1147 1146
- 1148: 6(int) Load 8(invocation)
- 1151: 1150(ptr) AccessChain 34(data) 46 57
- 1152: 22(i16vec4) Load 1151
- 1153:1149(i16vec2) VectorShuffle 1152 1152 0 1
- 1154:1149(i16vec2) GroupNonUniformIAdd 42 Reduce 1153
- 1155: 1150(ptr) AccessChain 34(data) 1148 57
- 1156: 22(i16vec4) Load 1155
- 1157: 22(i16vec4) VectorShuffle 1156 1154 4 5 2 3
- Store 1155 1157
- 1158: 6(int) Load 8(invocation)
- 1160: 1150(ptr) AccessChain 34(data) 57 57
- 1161: 22(i16vec4) Load 1160
- 1162:1159(i16vec3) VectorShuffle 1161 1161 0 1 2
- 1163:1159(i16vec3) GroupNonUniformIAdd 42 Reduce 1162
- 1164: 1150(ptr) AccessChain 34(data) 1158 57
- 1165: 22(i16vec4) Load 1164
- 1166: 22(i16vec4) VectorShuffle 1165 1163 4 5 6 3
- Store 1164 1166
+ 1140: 685(i8vec2) VectorShuffle 1139 1139 0 1
+ 1141: 685(i8vec2) GroupNonUniformIMul 42 ExclusiveScan 1140
+ 1142: 679(ptr) AccessChain 34(data) 1137 46 38
+ 1143: 19(int8_t) CompositeExtract 1141 0
+ Store 1142 1143
+ 1144: 679(ptr) AccessChain 34(data) 1137 46 55
+ 1145: 19(int8_t) CompositeExtract 1141 1
+ Store 1144 1145
+ 1146: 6(int) Load 8(invocation)
+ 1147: 686(ptr) AccessChain 34(data) 59 46
+ 1148: 20(i8vec4) Load 1147
+ 1149: 696(i8vec3) VectorShuffle 1148 1148 0 1 2
+ 1150: 696(i8vec3) GroupNonUniformIMul 42 ExclusiveScan 1149
+ 1151: 679(ptr) AccessChain 34(data) 1146 46 38
+ 1152: 19(int8_t) CompositeExtract 1150 0
+ Store 1151 1152
+ 1153: 679(ptr) AccessChain 34(data) 1146 46 55
+ 1154: 19(int8_t) CompositeExtract 1150 1
+ Store 1153 1154
+ 1155: 679(ptr) AccessChain 34(data) 1146 46 69
+ 1156: 19(int8_t) CompositeExtract 1150 2
+ Store 1155 1156
+ 1157: 6(int) Load 8(invocation)
+ 1158: 686(ptr) AccessChain 34(data) 73 46
+ 1159: 20(i8vec4) Load 1158
+ 1160: 20(i8vec4) GroupNonUniformIMul 42 ExclusiveScan 1159
+ 1161: 686(ptr) AccessChain 34(data) 1157 46
+ Store 1161 1160
+ 1162: 6(int) Load 8(invocation)
+ 1163: 679(ptr) AccessChain 34(data) 37 46 38
+ 1164: 19(int8_t) Load 1163
+ 1165: 19(int8_t) GroupNonUniformUMin 42 ExclusiveScan 1164
+ 1166: 679(ptr) AccessChain 34(data) 1162 46 38
+ Store 1166 1165
1167: 6(int) Load 8(invocation)
- 1168: 1150(ptr) AccessChain 34(data) 67 57
- 1169: 22(i16vec4) Load 1168
- 1170: 22(i16vec4) GroupNonUniformIAdd 42 Reduce 1169
- 1171: 1150(ptr) AccessChain 34(data) 1167 57
- Store 1171 1170
- 1172: 6(int) Load 8(invocation)
- 1173: 1143(ptr) AccessChain 34(data) 37 57 38
- 1174: 21(int16_t) Load 1173
- 1175: 21(int16_t) GroupNonUniformIMul 42 Reduce 1174
- 1176: 1143(ptr) AccessChain 34(data) 1172 57 38
- Store 1176 1175
- 1177: 6(int) Load 8(invocation)
- 1178: 1150(ptr) AccessChain 34(data) 46 57
- 1179: 22(i16vec4) Load 1178
- 1180:1149(i16vec2) VectorShuffle 1179 1179 0 1
- 1181:1149(i16vec2) GroupNonUniformIMul 42 Reduce 1180
- 1182: 1150(ptr) AccessChain 34(data) 1177 57
- 1183: 22(i16vec4) Load 1182
- 1184: 22(i16vec4) VectorShuffle 1183 1181 4 5 2 3
- Store 1182 1184
- 1185: 6(int) Load 8(invocation)
- 1186: 1150(ptr) AccessChain 34(data) 57 57
- 1187: 22(i16vec4) Load 1186
- 1188:1159(i16vec3) VectorShuffle 1187 1187 0 1 2
- 1189:1159(i16vec3) GroupNonUniformIMul 42 Reduce 1188
- 1190: 1150(ptr) AccessChain 34(data) 1185 57
- 1191: 22(i16vec4) Load 1190
- 1192: 22(i16vec4) VectorShuffle 1191 1189 4 5 6 3
- Store 1190 1192
- 1193: 6(int) Load 8(invocation)
- 1194: 1150(ptr) AccessChain 34(data) 67 57
- 1195: 22(i16vec4) Load 1194
- 1196: 22(i16vec4) GroupNonUniformIMul 42 Reduce 1195
- 1197: 1150(ptr) AccessChain 34(data) 1193 57
- Store 1197 1196
- 1198: 6(int) Load 8(invocation)
- 1199: 1143(ptr) AccessChain 34(data) 37 57 38
- 1200: 21(int16_t) Load 1199
- 1201: 21(int16_t) GroupNonUniformSMin 42 Reduce 1200
- 1202: 1143(ptr) AccessChain 34(data) 1198 57 38
- Store 1202 1201
- 1203: 6(int) Load 8(invocation)
- 1204: 1150(ptr) AccessChain 34(data) 46 57
- 1205: 22(i16vec4) Load 1204
- 1206:1149(i16vec2) VectorShuffle 1205 1205 0 1
- 1207:1149(i16vec2) GroupNonUniformSMin 42 Reduce 1206
- 1208: 1150(ptr) AccessChain 34(data) 1203 57
- 1209: 22(i16vec4) Load 1208
- 1210: 22(i16vec4) VectorShuffle 1209 1207 4 5 2 3
- Store 1208 1210
- 1211: 6(int) Load 8(invocation)
- 1212: 1150(ptr) AccessChain 34(data) 57 57
- 1213: 22(i16vec4) Load 1212
- 1214:1159(i16vec3) VectorShuffle 1213 1213 0 1 2
- 1215:1159(i16vec3) GroupNonUniformSMin 42 Reduce 1214
- 1216: 1150(ptr) AccessChain 34(data) 1211 57
- 1217: 22(i16vec4) Load 1216
- 1218: 22(i16vec4) VectorShuffle 1217 1215 4 5 6 3
- Store 1216 1218
- 1219: 6(int) Load 8(invocation)
- 1220: 1150(ptr) AccessChain 34(data) 67 57
- 1221: 22(i16vec4) Load 1220
- 1222: 22(i16vec4) GroupNonUniformSMin 42 Reduce 1221
- 1223: 1150(ptr) AccessChain 34(data) 1219 57
- Store 1223 1222
- 1224: 6(int) Load 8(invocation)
- 1225: 1143(ptr) AccessChain 34(data) 37 57 38
- 1226: 21(int16_t) Load 1225
- 1227: 21(int16_t) GroupNonUniformSMax 42 Reduce 1226
- 1228: 1143(ptr) AccessChain 34(data) 1224 57 38
- Store 1228 1227
- 1229: 6(int) Load 8(invocation)
- 1230: 1150(ptr) AccessChain 34(data) 46 57
- 1231: 22(i16vec4) Load 1230
- 1232:1149(i16vec2) VectorShuffle 1231 1231 0 1
- 1233:1149(i16vec2) GroupNonUniformSMax 42 Reduce 1232
- 1234: 1150(ptr) AccessChain 34(data) 1229 57
- 1235: 22(i16vec4) Load 1234
- 1236: 22(i16vec4) VectorShuffle 1235 1233 4 5 2 3
- Store 1234 1236
- 1237: 6(int) Load 8(invocation)
- 1238: 1150(ptr) AccessChain 34(data) 57 57
- 1239: 22(i16vec4) Load 1238
- 1240:1159(i16vec3) VectorShuffle 1239 1239 0 1 2
- 1241:1159(i16vec3) GroupNonUniformSMax 42 Reduce 1240
- 1242: 1150(ptr) AccessChain 34(data) 1237 57
- 1243: 22(i16vec4) Load 1242
- 1244: 22(i16vec4) VectorShuffle 1243 1241 4 5 6 3
- Store 1242 1244
- 1245: 6(int) Load 8(invocation)
- 1246: 1150(ptr) AccessChain 34(data) 67 57
- 1247: 22(i16vec4) Load 1246
- 1248: 22(i16vec4) GroupNonUniformSMax 42 Reduce 1247
- 1249: 1150(ptr) AccessChain 34(data) 1245 57
- Store 1249 1248
- 1250: 6(int) Load 8(invocation)
- 1251: 1143(ptr) AccessChain 34(data) 37 57 38
- 1252: 21(int16_t) Load 1251
- 1253: 21(int16_t) GroupNonUniformBitwiseAnd 42 Reduce 1252
- 1254: 1143(ptr) AccessChain 34(data) 1250 57 38
- Store 1254 1253
- 1255: 6(int) Load 8(invocation)
- 1256: 1150(ptr) AccessChain 34(data) 46 57
- 1257: 22(i16vec4) Load 1256
- 1258:1149(i16vec2) VectorShuffle 1257 1257 0 1
- 1259:1149(i16vec2) GroupNonUniformBitwiseAnd 42 Reduce 1258
- 1260: 1150(ptr) AccessChain 34(data) 1255 57
- 1261: 22(i16vec4) Load 1260
- 1262: 22(i16vec4) VectorShuffle 1261 1259 4 5 2 3
- Store 1260 1262
- 1263: 6(int) Load 8(invocation)
- 1264: 1150(ptr) AccessChain 34(data) 57 57
- 1265: 22(i16vec4) Load 1264
- 1266:1159(i16vec3) VectorShuffle 1265 1265 0 1 2
- 1267:1159(i16vec3) GroupNonUniformBitwiseAnd 42 Reduce 1266
- 1268: 1150(ptr) AccessChain 34(data) 1263 57
- 1269: 22(i16vec4) Load 1268
- 1270: 22(i16vec4) VectorShuffle 1269 1267 4 5 6 3
- Store 1268 1270
- 1271: 6(int) Load 8(invocation)
- 1272: 1150(ptr) AccessChain 34(data) 67 57
- 1273: 22(i16vec4) Load 1272
- 1274: 22(i16vec4) GroupNonUniformBitwiseAnd 42 Reduce 1273
- 1275: 1150(ptr) AccessChain 34(data) 1271 57
- Store 1275 1274
- 1276: 6(int) Load 8(invocation)
- 1277: 1143(ptr) AccessChain 34(data) 37 57 38
- 1278: 21(int16_t) Load 1277
- 1279: 21(int16_t) GroupNonUniformBitwiseOr 42 Reduce 1278
- 1280: 1143(ptr) AccessChain 34(data) 1276 57 38
- Store 1280 1279
- 1281: 6(int) Load 8(invocation)
- 1282: 1150(ptr) AccessChain 34(data) 46 57
- 1283: 22(i16vec4) Load 1282
- 1284:1149(i16vec2) VectorShuffle 1283 1283 0 1
- 1285:1149(i16vec2) GroupNonUniformBitwiseOr 42 Reduce 1284
- 1286: 1150(ptr) AccessChain 34(data) 1281 57
- 1287: 22(i16vec4) Load 1286
- 1288: 22(i16vec4) VectorShuffle 1287 1285 4 5 2 3
- Store 1286 1288
- 1289: 6(int) Load 8(invocation)
- 1290: 1150(ptr) AccessChain 34(data) 57 57
- 1291: 22(i16vec4) Load 1290
- 1292:1159(i16vec3) VectorShuffle 1291 1291 0 1 2
- 1293:1159(i16vec3) GroupNonUniformBitwiseOr 42 Reduce 1292
- 1294: 1150(ptr) AccessChain 34(data) 1289 57
- 1295: 22(i16vec4) Load 1294
- 1296: 22(i16vec4) VectorShuffle 1295 1293 4 5 6 3
- Store 1294 1296
- 1297: 6(int) Load 8(invocation)
- 1298: 1150(ptr) AccessChain 34(data) 67 57
- 1299: 22(i16vec4) Load 1298
- 1300: 22(i16vec4) GroupNonUniformBitwiseOr 42 Reduce 1299
- 1301: 1150(ptr) AccessChain 34(data) 1297 57
- Store 1301 1300
- 1302: 6(int) Load 8(invocation)
- 1303: 1143(ptr) AccessChain 34(data) 37 57 38
- 1304: 21(int16_t) Load 1303
- 1305: 21(int16_t) GroupNonUniformBitwiseXor 42 Reduce 1304
- 1306: 1143(ptr) AccessChain 34(data) 1302 57 38
- Store 1306 1305
+ 1168: 686(ptr) AccessChain 34(data) 46 46
+ 1169: 20(i8vec4) Load 1168
+ 1170: 685(i8vec2) VectorShuffle 1169 1169 0 1
+ 1171: 685(i8vec2) GroupNonUniformUMin 42 ExclusiveScan 1170
+ 1172: 679(ptr) AccessChain 34(data) 1167 46 38
+ 1173: 19(int8_t) CompositeExtract 1171 0
+ Store 1172 1173
+ 1174: 679(ptr) AccessChain 34(data) 1167 46 55
+ 1175: 19(int8_t) CompositeExtract 1171 1
+ Store 1174 1175
+ 1176: 6(int) Load 8(invocation)
+ 1177: 686(ptr) AccessChain 34(data) 59 46
+ 1178: 20(i8vec4) Load 1177
+ 1179: 696(i8vec3) VectorShuffle 1178 1178 0 1 2
+ 1180: 696(i8vec3) GroupNonUniformUMin 42 ExclusiveScan 1179
+ 1181: 679(ptr) AccessChain 34(data) 1176 46 38
+ 1182: 19(int8_t) CompositeExtract 1180 0
+ Store 1181 1182
+ 1183: 679(ptr) AccessChain 34(data) 1176 46 55
+ 1184: 19(int8_t) CompositeExtract 1180 1
+ Store 1183 1184
+ 1185: 679(ptr) AccessChain 34(data) 1176 46 69
+ 1186: 19(int8_t) CompositeExtract 1180 2
+ Store 1185 1186
+ 1187: 6(int) Load 8(invocation)
+ 1188: 686(ptr) AccessChain 34(data) 73 46
+ 1189: 20(i8vec4) Load 1188
+ 1190: 20(i8vec4) GroupNonUniformUMin 42 ExclusiveScan 1189
+ 1191: 686(ptr) AccessChain 34(data) 1187 46
+ Store 1191 1190
+ 1192: 6(int) Load 8(invocation)
+ 1193: 679(ptr) AccessChain 34(data) 37 46 38
+ 1194: 19(int8_t) Load 1193
+ 1195: 19(int8_t) GroupNonUniformUMax 42 ExclusiveScan 1194
+ 1196: 679(ptr) AccessChain 34(data) 1192 46 38
+ Store 1196 1195
+ 1197: 6(int) Load 8(invocation)
+ 1198: 686(ptr) AccessChain 34(data) 46 46
+ 1199: 20(i8vec4) Load 1198
+ 1200: 685(i8vec2) VectorShuffle 1199 1199 0 1
+ 1201: 685(i8vec2) GroupNonUniformUMax 42 ExclusiveScan 1200
+ 1202: 679(ptr) AccessChain 34(data) 1197 46 38
+ 1203: 19(int8_t) CompositeExtract 1201 0
+ Store 1202 1203
+ 1204: 679(ptr) AccessChain 34(data) 1197 46 55
+ 1205: 19(int8_t) CompositeExtract 1201 1
+ Store 1204 1205
+ 1206: 6(int) Load 8(invocation)
+ 1207: 686(ptr) AccessChain 34(data) 59 46
+ 1208: 20(i8vec4) Load 1207
+ 1209: 696(i8vec3) VectorShuffle 1208 1208 0 1 2
+ 1210: 696(i8vec3) GroupNonUniformUMax 42 ExclusiveScan 1209
+ 1211: 679(ptr) AccessChain 34(data) 1206 46 38
+ 1212: 19(int8_t) CompositeExtract 1210 0
+ Store 1211 1212
+ 1213: 679(ptr) AccessChain 34(data) 1206 46 55
+ 1214: 19(int8_t) CompositeExtract 1210 1
+ Store 1213 1214
+ 1215: 679(ptr) AccessChain 34(data) 1206 46 69
+ 1216: 19(int8_t) CompositeExtract 1210 2
+ Store 1215 1216
+ 1217: 6(int) Load 8(invocation)
+ 1218: 686(ptr) AccessChain 34(data) 73 46
+ 1219: 20(i8vec4) Load 1218
+ 1220: 20(i8vec4) GroupNonUniformUMax 42 ExclusiveScan 1219
+ 1221: 686(ptr) AccessChain 34(data) 1217 46
+ Store 1221 1220
+ 1222: 6(int) Load 8(invocation)
+ 1223: 679(ptr) AccessChain 34(data) 37 46 38
+ 1224: 19(int8_t) Load 1223
+ 1225: 19(int8_t) GroupNonUniformBitwiseAnd 42 ExclusiveScan 1224
+ 1226: 679(ptr) AccessChain 34(data) 1222 46 38
+ Store 1226 1225
+ 1227: 6(int) Load 8(invocation)
+ 1228: 686(ptr) AccessChain 34(data) 46 46
+ 1229: 20(i8vec4) Load 1228
+ 1230: 685(i8vec2) VectorShuffle 1229 1229 0 1
+ 1231: 685(i8vec2) GroupNonUniformBitwiseAnd 42 ExclusiveScan 1230
+ 1232: 679(ptr) AccessChain 34(data) 1227 46 38
+ 1233: 19(int8_t) CompositeExtract 1231 0
+ Store 1232 1233
+ 1234: 679(ptr) AccessChain 34(data) 1227 46 55
+ 1235: 19(int8_t) CompositeExtract 1231 1
+ Store 1234 1235
+ 1236: 6(int) Load 8(invocation)
+ 1237: 686(ptr) AccessChain 34(data) 59 46
+ 1238: 20(i8vec4) Load 1237
+ 1239: 696(i8vec3) VectorShuffle 1238 1238 0 1 2
+ 1240: 696(i8vec3) GroupNonUniformBitwiseAnd 42 ExclusiveScan 1239
+ 1241: 679(ptr) AccessChain 34(data) 1236 46 38
+ 1242: 19(int8_t) CompositeExtract 1240 0
+ Store 1241 1242
+ 1243: 679(ptr) AccessChain 34(data) 1236 46 55
+ 1244: 19(int8_t) CompositeExtract 1240 1
+ Store 1243 1244
+ 1245: 679(ptr) AccessChain 34(data) 1236 46 69
+ 1246: 19(int8_t) CompositeExtract 1240 2
+ Store 1245 1246
+ 1247: 6(int) Load 8(invocation)
+ 1248: 686(ptr) AccessChain 34(data) 73 46
+ 1249: 20(i8vec4) Load 1248
+ 1250: 20(i8vec4) GroupNonUniformBitwiseAnd 42 ExclusiveScan 1249
+ 1251: 686(ptr) AccessChain 34(data) 1247 46
+ Store 1251 1250
+ 1252: 6(int) Load 8(invocation)
+ 1253: 679(ptr) AccessChain 34(data) 37 46 38
+ 1254: 19(int8_t) Load 1253
+ 1255: 19(int8_t) GroupNonUniformBitwiseOr 42 ExclusiveScan 1254
+ 1256: 679(ptr) AccessChain 34(data) 1252 46 38
+ Store 1256 1255
+ 1257: 6(int) Load 8(invocation)
+ 1258: 686(ptr) AccessChain 34(data) 46 46
+ 1259: 20(i8vec4) Load 1258
+ 1260: 685(i8vec2) VectorShuffle 1259 1259 0 1
+ 1261: 685(i8vec2) GroupNonUniformBitwiseOr 42 ExclusiveScan 1260
+ 1262: 679(ptr) AccessChain 34(data) 1257 46 38
+ 1263: 19(int8_t) CompositeExtract 1261 0
+ Store 1262 1263
+ 1264: 679(ptr) AccessChain 34(data) 1257 46 55
+ 1265: 19(int8_t) CompositeExtract 1261 1
+ Store 1264 1265
+ 1266: 6(int) Load 8(invocation)
+ 1267: 686(ptr) AccessChain 34(data) 59 46
+ 1268: 20(i8vec4) Load 1267
+ 1269: 696(i8vec3) VectorShuffle 1268 1268 0 1 2
+ 1270: 696(i8vec3) GroupNonUniformBitwiseOr 42 ExclusiveScan 1269
+ 1271: 679(ptr) AccessChain 34(data) 1266 46 38
+ 1272: 19(int8_t) CompositeExtract 1270 0
+ Store 1271 1272
+ 1273: 679(ptr) AccessChain 34(data) 1266 46 55
+ 1274: 19(int8_t) CompositeExtract 1270 1
+ Store 1273 1274
+ 1275: 679(ptr) AccessChain 34(data) 1266 46 69
+ 1276: 19(int8_t) CompositeExtract 1270 2
+ Store 1275 1276
+ 1277: 6(int) Load 8(invocation)
+ 1278: 686(ptr) AccessChain 34(data) 73 46
+ 1279: 20(i8vec4) Load 1278
+ 1280: 20(i8vec4) GroupNonUniformBitwiseOr 42 ExclusiveScan 1279
+ 1281: 686(ptr) AccessChain 34(data) 1277 46
+ Store 1281 1280
+ 1282: 6(int) Load 8(invocation)
+ 1283: 679(ptr) AccessChain 34(data) 37 46 38
+ 1284: 19(int8_t) Load 1283
+ 1285: 19(int8_t) GroupNonUniformBitwiseXor 42 ExclusiveScan 1284
+ 1286: 679(ptr) AccessChain 34(data) 1282 46 38
+ Store 1286 1285
+ 1287: 6(int) Load 8(invocation)
+ 1288: 686(ptr) AccessChain 34(data) 46 46
+ 1289: 20(i8vec4) Load 1288
+ 1290: 685(i8vec2) VectorShuffle 1289 1289 0 1
+ 1291: 685(i8vec2) GroupNonUniformBitwiseXor 42 ExclusiveScan 1290
+ 1292: 679(ptr) AccessChain 34(data) 1287 46 38
+ 1293: 19(int8_t) CompositeExtract 1291 0
+ Store 1292 1293
+ 1294: 679(ptr) AccessChain 34(data) 1287 46 55
+ 1295: 19(int8_t) CompositeExtract 1291 1
+ Store 1294 1295
+ 1296: 6(int) Load 8(invocation)
+ 1297: 686(ptr) AccessChain 34(data) 59 46
+ 1298: 20(i8vec4) Load 1297
+ 1299: 696(i8vec3) VectorShuffle 1298 1298 0 1 2
+ 1300: 696(i8vec3) GroupNonUniformBitwiseXor 42 ExclusiveScan 1299
+ 1301: 679(ptr) AccessChain 34(data) 1296 46 38
+ 1302: 19(int8_t) CompositeExtract 1300 0
+ Store 1301 1302
+ 1303: 679(ptr) AccessChain 34(data) 1296 46 55
+ 1304: 19(int8_t) CompositeExtract 1300 1
+ Store 1303 1304
+ 1305: 679(ptr) AccessChain 34(data) 1296 46 69
+ 1306: 19(int8_t) CompositeExtract 1300 2
+ Store 1305 1306
1307: 6(int) Load 8(invocation)
- 1308: 1150(ptr) AccessChain 34(data) 46 57
- 1309: 22(i16vec4) Load 1308
- 1310:1149(i16vec2) VectorShuffle 1309 1309 0 1
- 1311:1149(i16vec2) GroupNonUniformBitwiseXor 42 Reduce 1310
- 1312: 1150(ptr) AccessChain 34(data) 1307 57
- 1313: 22(i16vec4) Load 1312
- 1314: 22(i16vec4) VectorShuffle 1313 1311 4 5 2 3
- Store 1312 1314
- 1315: 6(int) Load 8(invocation)
- 1316: 1150(ptr) AccessChain 34(data) 57 57
- 1317: 22(i16vec4) Load 1316
- 1318:1159(i16vec3) VectorShuffle 1317 1317 0 1 2
- 1319:1159(i16vec3) GroupNonUniformBitwiseXor 42 Reduce 1318
- 1320: 1150(ptr) AccessChain 34(data) 1315 57
- 1321: 22(i16vec4) Load 1320
- 1322: 22(i16vec4) VectorShuffle 1321 1319 4 5 6 3
- Store 1320 1322
- 1323: 6(int) Load 8(invocation)
- 1324: 1150(ptr) AccessChain 34(data) 67 57
- 1325: 22(i16vec4) Load 1324
- 1326: 22(i16vec4) GroupNonUniformBitwiseXor 42 Reduce 1325
- 1327: 1150(ptr) AccessChain 34(data) 1323 57
- Store 1327 1326
- 1328: 6(int) Load 8(invocation)
- 1329: 1143(ptr) AccessChain 34(data) 37 57 38
- 1330: 21(int16_t) Load 1329
- 1331: 21(int16_t) GroupNonUniformIAdd 42 InclusiveScan 1330
- 1332: 1143(ptr) AccessChain 34(data) 1328 57 38
- Store 1332 1331
- 1333: 6(int) Load 8(invocation)
- 1334: 1150(ptr) AccessChain 34(data) 46 57
- 1335: 22(i16vec4) Load 1334
- 1336:1149(i16vec2) VectorShuffle 1335 1335 0 1
- 1337:1149(i16vec2) GroupNonUniformIAdd 42 InclusiveScan 1336
- 1338: 1150(ptr) AccessChain 34(data) 1333 57
- 1339: 22(i16vec4) Load 1338
- 1340: 22(i16vec4) VectorShuffle 1339 1337 4 5 2 3
- Store 1338 1340
+ 1308: 686(ptr) AccessChain 34(data) 73 46
+ 1309: 20(i8vec4) Load 1308
+ 1310: 20(i8vec4) GroupNonUniformBitwiseXor 42 ExclusiveScan 1309
+ 1311: 686(ptr) AccessChain 34(data) 1307 46
+ Store 1311 1310
+ 1312: 6(int) Load 8(invocation)
+ 1314: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1315: 21(int16_t) Load 1314
+ 1316: 21(int16_t) GroupNonUniformIAdd 42 Reduce 1315
+ 1317: 1313(ptr) AccessChain 34(data) 1312 59 38
+ Store 1317 1316
+ 1318: 6(int) Load 8(invocation)
+ 1321: 1320(ptr) AccessChain 34(data) 46 59
+ 1322: 22(i16vec4) Load 1321
+ 1323:1319(i16vec2) VectorShuffle 1322 1322 0 1
+ 1324:1319(i16vec2) GroupNonUniformIAdd 42 Reduce 1323
+ 1325: 1313(ptr) AccessChain 34(data) 1318 59 38
+ 1326: 21(int16_t) CompositeExtract 1324 0
+ Store 1325 1326
+ 1327: 1313(ptr) AccessChain 34(data) 1318 59 55
+ 1328: 21(int16_t) CompositeExtract 1324 1
+ Store 1327 1328
+ 1329: 6(int) Load 8(invocation)
+ 1331: 1320(ptr) AccessChain 34(data) 59 59
+ 1332: 22(i16vec4) Load 1331
+ 1333:1330(i16vec3) VectorShuffle 1332 1332 0 1 2
+ 1334:1330(i16vec3) GroupNonUniformIAdd 42 Reduce 1333
+ 1335: 1313(ptr) AccessChain 34(data) 1329 59 38
+ 1336: 21(int16_t) CompositeExtract 1334 0
+ Store 1335 1336
+ 1337: 1313(ptr) AccessChain 34(data) 1329 59 55
+ 1338: 21(int16_t) CompositeExtract 1334 1
+ Store 1337 1338
+ 1339: 1313(ptr) AccessChain 34(data) 1329 59 69
+ 1340: 21(int16_t) CompositeExtract 1334 2
+ Store 1339 1340
1341: 6(int) Load 8(invocation)
- 1342: 1150(ptr) AccessChain 34(data) 57 57
+ 1342: 1320(ptr) AccessChain 34(data) 73 59
1343: 22(i16vec4) Load 1342
- 1344:1159(i16vec3) VectorShuffle 1343 1343 0 1 2
- 1345:1159(i16vec3) GroupNonUniformIAdd 42 InclusiveScan 1344
- 1346: 1150(ptr) AccessChain 34(data) 1341 57
- 1347: 22(i16vec4) Load 1346
- 1348: 22(i16vec4) VectorShuffle 1347 1345 4 5 6 3
- Store 1346 1348
- 1349: 6(int) Load 8(invocation)
- 1350: 1150(ptr) AccessChain 34(data) 67 57
- 1351: 22(i16vec4) Load 1350
- 1352: 22(i16vec4) GroupNonUniformIAdd 42 InclusiveScan 1351
- 1353: 1150(ptr) AccessChain 34(data) 1349 57
- Store 1353 1352
- 1354: 6(int) Load 8(invocation)
- 1355: 1143(ptr) AccessChain 34(data) 37 57 38
- 1356: 21(int16_t) Load 1355
- 1357: 21(int16_t) GroupNonUniformIMul 42 InclusiveScan 1356
- 1358: 1143(ptr) AccessChain 34(data) 1354 57 38
- Store 1358 1357
- 1359: 6(int) Load 8(invocation)
- 1360: 1150(ptr) AccessChain 34(data) 46 57
- 1361: 22(i16vec4) Load 1360
- 1362:1149(i16vec2) VectorShuffle 1361 1361 0 1
- 1363:1149(i16vec2) GroupNonUniformIMul 42 InclusiveScan 1362
- 1364: 1150(ptr) AccessChain 34(data) 1359 57
- 1365: 22(i16vec4) Load 1364
- 1366: 22(i16vec4) VectorShuffle 1365 1363 4 5 2 3
- Store 1364 1366
- 1367: 6(int) Load 8(invocation)
- 1368: 1150(ptr) AccessChain 34(data) 57 57
- 1369: 22(i16vec4) Load 1368
- 1370:1159(i16vec3) VectorShuffle 1369 1369 0 1 2
- 1371:1159(i16vec3) GroupNonUniformIMul 42 InclusiveScan 1370
- 1372: 1150(ptr) AccessChain 34(data) 1367 57
+ 1344: 22(i16vec4) GroupNonUniformIAdd 42 Reduce 1343
+ 1345: 1320(ptr) AccessChain 34(data) 1341 59
+ Store 1345 1344
+ 1346: 6(int) Load 8(invocation)
+ 1347: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1348: 21(int16_t) Load 1347
+ 1349: 21(int16_t) GroupNonUniformIMul 42 Reduce 1348
+ 1350: 1313(ptr) AccessChain 34(data) 1346 59 38
+ Store 1350 1349
+ 1351: 6(int) Load 8(invocation)
+ 1352: 1320(ptr) AccessChain 34(data) 46 59
+ 1353: 22(i16vec4) Load 1352
+ 1354:1319(i16vec2) VectorShuffle 1353 1353 0 1
+ 1355:1319(i16vec2) GroupNonUniformIMul 42 Reduce 1354
+ 1356: 1313(ptr) AccessChain 34(data) 1351 59 38
+ 1357: 21(int16_t) CompositeExtract 1355 0
+ Store 1356 1357
+ 1358: 1313(ptr) AccessChain 34(data) 1351 59 55
+ 1359: 21(int16_t) CompositeExtract 1355 1
+ Store 1358 1359
+ 1360: 6(int) Load 8(invocation)
+ 1361: 1320(ptr) AccessChain 34(data) 59 59
+ 1362: 22(i16vec4) Load 1361
+ 1363:1330(i16vec3) VectorShuffle 1362 1362 0 1 2
+ 1364:1330(i16vec3) GroupNonUniformIMul 42 Reduce 1363
+ 1365: 1313(ptr) AccessChain 34(data) 1360 59 38
+ 1366: 21(int16_t) CompositeExtract 1364 0
+ Store 1365 1366
+ 1367: 1313(ptr) AccessChain 34(data) 1360 59 55
+ 1368: 21(int16_t) CompositeExtract 1364 1
+ Store 1367 1368
+ 1369: 1313(ptr) AccessChain 34(data) 1360 59 69
+ 1370: 21(int16_t) CompositeExtract 1364 2
+ Store 1369 1370
+ 1371: 6(int) Load 8(invocation)
+ 1372: 1320(ptr) AccessChain 34(data) 73 59
1373: 22(i16vec4) Load 1372
- 1374: 22(i16vec4) VectorShuffle 1373 1371 4 5 6 3
- Store 1372 1374
- 1375: 6(int) Load 8(invocation)
- 1376: 1150(ptr) AccessChain 34(data) 67 57
- 1377: 22(i16vec4) Load 1376
- 1378: 22(i16vec4) GroupNonUniformIMul 42 InclusiveScan 1377
- 1379: 1150(ptr) AccessChain 34(data) 1375 57
- Store 1379 1378
- 1380: 6(int) Load 8(invocation)
- 1381: 1143(ptr) AccessChain 34(data) 37 57 38
- 1382: 21(int16_t) Load 1381
- 1383: 21(int16_t) GroupNonUniformSMin 42 InclusiveScan 1382
- 1384: 1143(ptr) AccessChain 34(data) 1380 57 38
- Store 1384 1383
- 1385: 6(int) Load 8(invocation)
- 1386: 1150(ptr) AccessChain 34(data) 46 57
- 1387: 22(i16vec4) Load 1386
- 1388:1149(i16vec2) VectorShuffle 1387 1387 0 1
- 1389:1149(i16vec2) GroupNonUniformSMin 42 InclusiveScan 1388
- 1390: 1150(ptr) AccessChain 34(data) 1385 57
- 1391: 22(i16vec4) Load 1390
- 1392: 22(i16vec4) VectorShuffle 1391 1389 4 5 2 3
- Store 1390 1392
- 1393: 6(int) Load 8(invocation)
- 1394: 1150(ptr) AccessChain 34(data) 57 57
- 1395: 22(i16vec4) Load 1394
- 1396:1159(i16vec3) VectorShuffle 1395 1395 0 1 2
- 1397:1159(i16vec3) GroupNonUniformSMin 42 InclusiveScan 1396
- 1398: 1150(ptr) AccessChain 34(data) 1393 57
- 1399: 22(i16vec4) Load 1398
- 1400: 22(i16vec4) VectorShuffle 1399 1397 4 5 6 3
- Store 1398 1400
+ 1374: 22(i16vec4) GroupNonUniformIMul 42 Reduce 1373
+ 1375: 1320(ptr) AccessChain 34(data) 1371 59
+ Store 1375 1374
+ 1376: 6(int) Load 8(invocation)
+ 1377: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1378: 21(int16_t) Load 1377
+ 1379: 21(int16_t) GroupNonUniformSMin 42 Reduce 1378
+ 1380: 1313(ptr) AccessChain 34(data) 1376 59 38
+ Store 1380 1379
+ 1381: 6(int) Load 8(invocation)
+ 1382: 1320(ptr) AccessChain 34(data) 46 59
+ 1383: 22(i16vec4) Load 1382
+ 1384:1319(i16vec2) VectorShuffle 1383 1383 0 1
+ 1385:1319(i16vec2) GroupNonUniformSMin 42 Reduce 1384
+ 1386: 1313(ptr) AccessChain 34(data) 1381 59 38
+ 1387: 21(int16_t) CompositeExtract 1385 0
+ Store 1386 1387
+ 1388: 1313(ptr) AccessChain 34(data) 1381 59 55
+ 1389: 21(int16_t) CompositeExtract 1385 1
+ Store 1388 1389
+ 1390: 6(int) Load 8(invocation)
+ 1391: 1320(ptr) AccessChain 34(data) 59 59
+ 1392: 22(i16vec4) Load 1391
+ 1393:1330(i16vec3) VectorShuffle 1392 1392 0 1 2
+ 1394:1330(i16vec3) GroupNonUniformSMin 42 Reduce 1393
+ 1395: 1313(ptr) AccessChain 34(data) 1390 59 38
+ 1396: 21(int16_t) CompositeExtract 1394 0
+ Store 1395 1396
+ 1397: 1313(ptr) AccessChain 34(data) 1390 59 55
+ 1398: 21(int16_t) CompositeExtract 1394 1
+ Store 1397 1398
+ 1399: 1313(ptr) AccessChain 34(data) 1390 59 69
+ 1400: 21(int16_t) CompositeExtract 1394 2
+ Store 1399 1400
1401: 6(int) Load 8(invocation)
- 1402: 1150(ptr) AccessChain 34(data) 67 57
+ 1402: 1320(ptr) AccessChain 34(data) 73 59
1403: 22(i16vec4) Load 1402
- 1404: 22(i16vec4) GroupNonUniformSMin 42 InclusiveScan 1403
- 1405: 1150(ptr) AccessChain 34(data) 1401 57
+ 1404: 22(i16vec4) GroupNonUniformSMin 42 Reduce 1403
+ 1405: 1320(ptr) AccessChain 34(data) 1401 59
Store 1405 1404
1406: 6(int) Load 8(invocation)
- 1407: 1143(ptr) AccessChain 34(data) 37 57 38
+ 1407: 1313(ptr) AccessChain 34(data) 37 59 38
1408: 21(int16_t) Load 1407
- 1409: 21(int16_t) GroupNonUniformSMax 42 InclusiveScan 1408
- 1410: 1143(ptr) AccessChain 34(data) 1406 57 38
+ 1409: 21(int16_t) GroupNonUniformSMax 42 Reduce 1408
+ 1410: 1313(ptr) AccessChain 34(data) 1406 59 38
Store 1410 1409
1411: 6(int) Load 8(invocation)
- 1412: 1150(ptr) AccessChain 34(data) 46 57
+ 1412: 1320(ptr) AccessChain 34(data) 46 59
1413: 22(i16vec4) Load 1412
- 1414:1149(i16vec2) VectorShuffle 1413 1413 0 1
- 1415:1149(i16vec2) GroupNonUniformSMax 42 InclusiveScan 1414
- 1416: 1150(ptr) AccessChain 34(data) 1411 57
- 1417: 22(i16vec4) Load 1416
- 1418: 22(i16vec4) VectorShuffle 1417 1415 4 5 2 3
- Store 1416 1418
- 1419: 6(int) Load 8(invocation)
- 1420: 1150(ptr) AccessChain 34(data) 57 57
- 1421: 22(i16vec4) Load 1420
- 1422:1159(i16vec3) VectorShuffle 1421 1421 0 1 2
- 1423:1159(i16vec3) GroupNonUniformSMax 42 InclusiveScan 1422
- 1424: 1150(ptr) AccessChain 34(data) 1419 57
- 1425: 22(i16vec4) Load 1424
- 1426: 22(i16vec4) VectorShuffle 1425 1423 4 5 6 3
- Store 1424 1426
- 1427: 6(int) Load 8(invocation)
- 1428: 1150(ptr) AccessChain 34(data) 67 57
- 1429: 22(i16vec4) Load 1428
- 1430: 22(i16vec4) GroupNonUniformSMax 42 InclusiveScan 1429
- 1431: 1150(ptr) AccessChain 34(data) 1427 57
- Store 1431 1430
- 1432: 6(int) Load 8(invocation)
- 1433: 1143(ptr) AccessChain 34(data) 37 57 38
- 1434: 21(int16_t) Load 1433
- 1435: 21(int16_t) GroupNonUniformBitwiseAnd 42 InclusiveScan 1434
- 1436: 1143(ptr) AccessChain 34(data) 1432 57 38
- Store 1436 1435
- 1437: 6(int) Load 8(invocation)
- 1438: 1150(ptr) AccessChain 34(data) 46 57
- 1439: 22(i16vec4) Load 1438
- 1440:1149(i16vec2) VectorShuffle 1439 1439 0 1
- 1441:1149(i16vec2) GroupNonUniformBitwiseAnd 42 InclusiveScan 1440
- 1442: 1150(ptr) AccessChain 34(data) 1437 57
+ 1414:1319(i16vec2) VectorShuffle 1413 1413 0 1
+ 1415:1319(i16vec2) GroupNonUniformSMax 42 Reduce 1414
+ 1416: 1313(ptr) AccessChain 34(data) 1411 59 38
+ 1417: 21(int16_t) CompositeExtract 1415 0
+ Store 1416 1417
+ 1418: 1313(ptr) AccessChain 34(data) 1411 59 55
+ 1419: 21(int16_t) CompositeExtract 1415 1
+ Store 1418 1419
+ 1420: 6(int) Load 8(invocation)
+ 1421: 1320(ptr) AccessChain 34(data) 59 59
+ 1422: 22(i16vec4) Load 1421
+ 1423:1330(i16vec3) VectorShuffle 1422 1422 0 1 2
+ 1424:1330(i16vec3) GroupNonUniformSMax 42 Reduce 1423
+ 1425: 1313(ptr) AccessChain 34(data) 1420 59 38
+ 1426: 21(int16_t) CompositeExtract 1424 0
+ Store 1425 1426
+ 1427: 1313(ptr) AccessChain 34(data) 1420 59 55
+ 1428: 21(int16_t) CompositeExtract 1424 1
+ Store 1427 1428
+ 1429: 1313(ptr) AccessChain 34(data) 1420 59 69
+ 1430: 21(int16_t) CompositeExtract 1424 2
+ Store 1429 1430
+ 1431: 6(int) Load 8(invocation)
+ 1432: 1320(ptr) AccessChain 34(data) 73 59
+ 1433: 22(i16vec4) Load 1432
+ 1434: 22(i16vec4) GroupNonUniformSMax 42 Reduce 1433
+ 1435: 1320(ptr) AccessChain 34(data) 1431 59
+ Store 1435 1434
+ 1436: 6(int) Load 8(invocation)
+ 1437: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1438: 21(int16_t) Load 1437
+ 1439: 21(int16_t) GroupNonUniformBitwiseAnd 42 Reduce 1438
+ 1440: 1313(ptr) AccessChain 34(data) 1436 59 38
+ Store 1440 1439
+ 1441: 6(int) Load 8(invocation)
+ 1442: 1320(ptr) AccessChain 34(data) 46 59
1443: 22(i16vec4) Load 1442
- 1444: 22(i16vec4) VectorShuffle 1443 1441 4 5 2 3
- Store 1442 1444
- 1445: 6(int) Load 8(invocation)
- 1446: 1150(ptr) AccessChain 34(data) 57 57
- 1447: 22(i16vec4) Load 1446
- 1448:1159(i16vec3) VectorShuffle 1447 1447 0 1 2
- 1449:1159(i16vec3) GroupNonUniformBitwiseAnd 42 InclusiveScan 1448
- 1450: 1150(ptr) AccessChain 34(data) 1445 57
- 1451: 22(i16vec4) Load 1450
- 1452: 22(i16vec4) VectorShuffle 1451 1449 4 5 6 3
- Store 1450 1452
- 1453: 6(int) Load 8(invocation)
- 1454: 1150(ptr) AccessChain 34(data) 67 57
- 1455: 22(i16vec4) Load 1454
- 1456: 22(i16vec4) GroupNonUniformBitwiseAnd 42 InclusiveScan 1455
- 1457: 1150(ptr) AccessChain 34(data) 1453 57
- Store 1457 1456
- 1458: 6(int) Load 8(invocation)
- 1459: 1143(ptr) AccessChain 34(data) 37 57 38
- 1460: 21(int16_t) Load 1459
- 1461: 21(int16_t) GroupNonUniformBitwiseOr 42 InclusiveScan 1460
- 1462: 1143(ptr) AccessChain 34(data) 1458 57 38
- Store 1462 1461
- 1463: 6(int) Load 8(invocation)
- 1464: 1150(ptr) AccessChain 34(data) 46 57
- 1465: 22(i16vec4) Load 1464
- 1466:1149(i16vec2) VectorShuffle 1465 1465 0 1
- 1467:1149(i16vec2) GroupNonUniformBitwiseOr 42 InclusiveScan 1466
- 1468: 1150(ptr) AccessChain 34(data) 1463 57
- 1469: 22(i16vec4) Load 1468
- 1470: 22(i16vec4) VectorShuffle 1469 1467 4 5 2 3
- Store 1468 1470
+ 1444:1319(i16vec2) VectorShuffle 1443 1443 0 1
+ 1445:1319(i16vec2) GroupNonUniformBitwiseAnd 42 Reduce 1444
+ 1446: 1313(ptr) AccessChain 34(data) 1441 59 38
+ 1447: 21(int16_t) CompositeExtract 1445 0
+ Store 1446 1447
+ 1448: 1313(ptr) AccessChain 34(data) 1441 59 55
+ 1449: 21(int16_t) CompositeExtract 1445 1
+ Store 1448 1449
+ 1450: 6(int) Load 8(invocation)
+ 1451: 1320(ptr) AccessChain 34(data) 59 59
+ 1452: 22(i16vec4) Load 1451
+ 1453:1330(i16vec3) VectorShuffle 1452 1452 0 1 2
+ 1454:1330(i16vec3) GroupNonUniformBitwiseAnd 42 Reduce 1453
+ 1455: 1313(ptr) AccessChain 34(data) 1450 59 38
+ 1456: 21(int16_t) CompositeExtract 1454 0
+ Store 1455 1456
+ 1457: 1313(ptr) AccessChain 34(data) 1450 59 55
+ 1458: 21(int16_t) CompositeExtract 1454 1
+ Store 1457 1458
+ 1459: 1313(ptr) AccessChain 34(data) 1450 59 69
+ 1460: 21(int16_t) CompositeExtract 1454 2
+ Store 1459 1460
+ 1461: 6(int) Load 8(invocation)
+ 1462: 1320(ptr) AccessChain 34(data) 73 59
+ 1463: 22(i16vec4) Load 1462
+ 1464: 22(i16vec4) GroupNonUniformBitwiseAnd 42 Reduce 1463
+ 1465: 1320(ptr) AccessChain 34(data) 1461 59
+ Store 1465 1464
+ 1466: 6(int) Load 8(invocation)
+ 1467: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1468: 21(int16_t) Load 1467
+ 1469: 21(int16_t) GroupNonUniformBitwiseOr 42 Reduce 1468
+ 1470: 1313(ptr) AccessChain 34(data) 1466 59 38
+ Store 1470 1469
1471: 6(int) Load 8(invocation)
- 1472: 1150(ptr) AccessChain 34(data) 57 57
+ 1472: 1320(ptr) AccessChain 34(data) 46 59
1473: 22(i16vec4) Load 1472
- 1474:1159(i16vec3) VectorShuffle 1473 1473 0 1 2
- 1475:1159(i16vec3) GroupNonUniformBitwiseOr 42 InclusiveScan 1474
- 1476: 1150(ptr) AccessChain 34(data) 1471 57
- 1477: 22(i16vec4) Load 1476
- 1478: 22(i16vec4) VectorShuffle 1477 1475 4 5 6 3
- Store 1476 1478
- 1479: 6(int) Load 8(invocation)
- 1480: 1150(ptr) AccessChain 34(data) 67 57
- 1481: 22(i16vec4) Load 1480
- 1482: 22(i16vec4) GroupNonUniformBitwiseOr 42 InclusiveScan 1481
- 1483: 1150(ptr) AccessChain 34(data) 1479 57
- Store 1483 1482
- 1484: 6(int) Load 8(invocation)
- 1485: 1143(ptr) AccessChain 34(data) 37 57 38
- 1486: 21(int16_t) Load 1485
- 1487: 21(int16_t) GroupNonUniformBitwiseXor 42 InclusiveScan 1486
- 1488: 1143(ptr) AccessChain 34(data) 1484 57 38
- Store 1488 1487
- 1489: 6(int) Load 8(invocation)
- 1490: 1150(ptr) AccessChain 34(data) 46 57
- 1491: 22(i16vec4) Load 1490
- 1492:1149(i16vec2) VectorShuffle 1491 1491 0 1
- 1493:1149(i16vec2) GroupNonUniformBitwiseXor 42 InclusiveScan 1492
- 1494: 1150(ptr) AccessChain 34(data) 1489 57
- 1495: 22(i16vec4) Load 1494
- 1496: 22(i16vec4) VectorShuffle 1495 1493 4 5 2 3
- Store 1494 1496
- 1497: 6(int) Load 8(invocation)
- 1498: 1150(ptr) AccessChain 34(data) 57 57
- 1499: 22(i16vec4) Load 1498
- 1500:1159(i16vec3) VectorShuffle 1499 1499 0 1 2
- 1501:1159(i16vec3) GroupNonUniformBitwiseXor 42 InclusiveScan 1500
- 1502: 1150(ptr) AccessChain 34(data) 1497 57
+ 1474:1319(i16vec2) VectorShuffle 1473 1473 0 1
+ 1475:1319(i16vec2) GroupNonUniformBitwiseOr 42 Reduce 1474
+ 1476: 1313(ptr) AccessChain 34(data) 1471 59 38
+ 1477: 21(int16_t) CompositeExtract 1475 0
+ Store 1476 1477
+ 1478: 1313(ptr) AccessChain 34(data) 1471 59 55
+ 1479: 21(int16_t) CompositeExtract 1475 1
+ Store 1478 1479
+ 1480: 6(int) Load 8(invocation)
+ 1481: 1320(ptr) AccessChain 34(data) 59 59
+ 1482: 22(i16vec4) Load 1481
+ 1483:1330(i16vec3) VectorShuffle 1482 1482 0 1 2
+ 1484:1330(i16vec3) GroupNonUniformBitwiseOr 42 Reduce 1483
+ 1485: 1313(ptr) AccessChain 34(data) 1480 59 38
+ 1486: 21(int16_t) CompositeExtract 1484 0
+ Store 1485 1486
+ 1487: 1313(ptr) AccessChain 34(data) 1480 59 55
+ 1488: 21(int16_t) CompositeExtract 1484 1
+ Store 1487 1488
+ 1489: 1313(ptr) AccessChain 34(data) 1480 59 69
+ 1490: 21(int16_t) CompositeExtract 1484 2
+ Store 1489 1490
+ 1491: 6(int) Load 8(invocation)
+ 1492: 1320(ptr) AccessChain 34(data) 73 59
+ 1493: 22(i16vec4) Load 1492
+ 1494: 22(i16vec4) GroupNonUniformBitwiseOr 42 Reduce 1493
+ 1495: 1320(ptr) AccessChain 34(data) 1491 59
+ Store 1495 1494
+ 1496: 6(int) Load 8(invocation)
+ 1497: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1498: 21(int16_t) Load 1497
+ 1499: 21(int16_t) GroupNonUniformBitwiseXor 42 Reduce 1498
+ 1500: 1313(ptr) AccessChain 34(data) 1496 59 38
+ Store 1500 1499
+ 1501: 6(int) Load 8(invocation)
+ 1502: 1320(ptr) AccessChain 34(data) 46 59
1503: 22(i16vec4) Load 1502
- 1504: 22(i16vec4) VectorShuffle 1503 1501 4 5 6 3
- Store 1502 1504
- 1505: 6(int) Load 8(invocation)
- 1506: 1150(ptr) AccessChain 34(data) 67 57
- 1507: 22(i16vec4) Load 1506
- 1508: 22(i16vec4) GroupNonUniformBitwiseXor 42 InclusiveScan 1507
- 1509: 1150(ptr) AccessChain 34(data) 1505 57
- Store 1509 1508
+ 1504:1319(i16vec2) VectorShuffle 1503 1503 0 1
+ 1505:1319(i16vec2) GroupNonUniformBitwiseXor 42 Reduce 1504
+ 1506: 1313(ptr) AccessChain 34(data) 1501 59 38
+ 1507: 21(int16_t) CompositeExtract 1505 0
+ Store 1506 1507
+ 1508: 1313(ptr) AccessChain 34(data) 1501 59 55
+ 1509: 21(int16_t) CompositeExtract 1505 1
+ Store 1508 1509
1510: 6(int) Load 8(invocation)
- 1511: 1143(ptr) AccessChain 34(data) 37 57 38
- 1512: 21(int16_t) Load 1511
- 1513: 21(int16_t) GroupNonUniformIAdd 42 ExclusiveScan 1512
- 1514: 1143(ptr) AccessChain 34(data) 1510 57 38
- Store 1514 1513
- 1515: 6(int) Load 8(invocation)
- 1516: 1150(ptr) AccessChain 34(data) 46 57
- 1517: 22(i16vec4) Load 1516
- 1518:1149(i16vec2) VectorShuffle 1517 1517 0 1
- 1519:1149(i16vec2) GroupNonUniformIAdd 42 ExclusiveScan 1518
- 1520: 1150(ptr) AccessChain 34(data) 1515 57
- 1521: 22(i16vec4) Load 1520
- 1522: 22(i16vec4) VectorShuffle 1521 1519 4 5 2 3
- Store 1520 1522
- 1523: 6(int) Load 8(invocation)
- 1524: 1150(ptr) AccessChain 34(data) 57 57
- 1525: 22(i16vec4) Load 1524
- 1526:1159(i16vec3) VectorShuffle 1525 1525 0 1 2
- 1527:1159(i16vec3) GroupNonUniformIAdd 42 ExclusiveScan 1526
- 1528: 1150(ptr) AccessChain 34(data) 1523 57
- 1529: 22(i16vec4) Load 1528
- 1530: 22(i16vec4) VectorShuffle 1529 1527 4 5 6 3
- Store 1528 1530
+ 1511: 1320(ptr) AccessChain 34(data) 59 59
+ 1512: 22(i16vec4) Load 1511
+ 1513:1330(i16vec3) VectorShuffle 1512 1512 0 1 2
+ 1514:1330(i16vec3) GroupNonUniformBitwiseXor 42 Reduce 1513
+ 1515: 1313(ptr) AccessChain 34(data) 1510 59 38
+ 1516: 21(int16_t) CompositeExtract 1514 0
+ Store 1515 1516
+ 1517: 1313(ptr) AccessChain 34(data) 1510 59 55
+ 1518: 21(int16_t) CompositeExtract 1514 1
+ Store 1517 1518
+ 1519: 1313(ptr) AccessChain 34(data) 1510 59 69
+ 1520: 21(int16_t) CompositeExtract 1514 2
+ Store 1519 1520
+ 1521: 6(int) Load 8(invocation)
+ 1522: 1320(ptr) AccessChain 34(data) 73 59
+ 1523: 22(i16vec4) Load 1522
+ 1524: 22(i16vec4) GroupNonUniformBitwiseXor 42 Reduce 1523
+ 1525: 1320(ptr) AccessChain 34(data) 1521 59
+ Store 1525 1524
+ 1526: 6(int) Load 8(invocation)
+ 1527: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1528: 21(int16_t) Load 1527
+ 1529: 21(int16_t) GroupNonUniformIAdd 42 InclusiveScan 1528
+ 1530: 1313(ptr) AccessChain 34(data) 1526 59 38
+ Store 1530 1529
1531: 6(int) Load 8(invocation)
- 1532: 1150(ptr) AccessChain 34(data) 67 57
+ 1532: 1320(ptr) AccessChain 34(data) 46 59
1533: 22(i16vec4) Load 1532
- 1534: 22(i16vec4) GroupNonUniformIAdd 42 ExclusiveScan 1533
- 1535: 1150(ptr) AccessChain 34(data) 1531 57
- Store 1535 1534
- 1536: 6(int) Load 8(invocation)
- 1537: 1143(ptr) AccessChain 34(data) 37 57 38
- 1538: 21(int16_t) Load 1537
- 1539: 21(int16_t) GroupNonUniformIMul 42 ExclusiveScan 1538
- 1540: 1143(ptr) AccessChain 34(data) 1536 57 38
- Store 1540 1539
- 1541: 6(int) Load 8(invocation)
- 1542: 1150(ptr) AccessChain 34(data) 46 57
- 1543: 22(i16vec4) Load 1542
- 1544:1149(i16vec2) VectorShuffle 1543 1543 0 1
- 1545:1149(i16vec2) GroupNonUniformIMul 42 ExclusiveScan 1544
- 1546: 1150(ptr) AccessChain 34(data) 1541 57
- 1547: 22(i16vec4) Load 1546
- 1548: 22(i16vec4) VectorShuffle 1547 1545 4 5 2 3
- Store 1546 1548
- 1549: 6(int) Load 8(invocation)
- 1550: 1150(ptr) AccessChain 34(data) 57 57
- 1551: 22(i16vec4) Load 1550
- 1552:1159(i16vec3) VectorShuffle 1551 1551 0 1 2
- 1553:1159(i16vec3) GroupNonUniformIMul 42 ExclusiveScan 1552
- 1554: 1150(ptr) AccessChain 34(data) 1549 57
- 1555: 22(i16vec4) Load 1554
- 1556: 22(i16vec4) VectorShuffle 1555 1553 4 5 6 3
- Store 1554 1556
- 1557: 6(int) Load 8(invocation)
- 1558: 1150(ptr) AccessChain 34(data) 67 57
- 1559: 22(i16vec4) Load 1558
- 1560: 22(i16vec4) GroupNonUniformIMul 42 ExclusiveScan 1559
- 1561: 1150(ptr) AccessChain 34(data) 1557 57
- Store 1561 1560
- 1562: 6(int) Load 8(invocation)
- 1563: 1143(ptr) AccessChain 34(data) 37 57 38
- 1564: 21(int16_t) Load 1563
- 1565: 21(int16_t) GroupNonUniformSMin 42 ExclusiveScan 1564
- 1566: 1143(ptr) AccessChain 34(data) 1562 57 38
- Store 1566 1565
- 1567: 6(int) Load 8(invocation)
- 1568: 1150(ptr) AccessChain 34(data) 46 57
- 1569: 22(i16vec4) Load 1568
- 1570:1149(i16vec2) VectorShuffle 1569 1569 0 1
- 1571:1149(i16vec2) GroupNonUniformSMin 42 ExclusiveScan 1570
- 1572: 1150(ptr) AccessChain 34(data) 1567 57
- 1573: 22(i16vec4) Load 1572
- 1574: 22(i16vec4) VectorShuffle 1573 1571 4 5 2 3
- Store 1572 1574
- 1575: 6(int) Load 8(invocation)
- 1576: 1150(ptr) AccessChain 34(data) 57 57
- 1577: 22(i16vec4) Load 1576
- 1578:1159(i16vec3) VectorShuffle 1577 1577 0 1 2
- 1579:1159(i16vec3) GroupNonUniformSMin 42 ExclusiveScan 1578
- 1580: 1150(ptr) AccessChain 34(data) 1575 57
- 1581: 22(i16vec4) Load 1580
- 1582: 22(i16vec4) VectorShuffle 1581 1579 4 5 6 3
- Store 1580 1582
- 1583: 6(int) Load 8(invocation)
- 1584: 1150(ptr) AccessChain 34(data) 67 57
- 1585: 22(i16vec4) Load 1584
- 1586: 22(i16vec4) GroupNonUniformSMin 42 ExclusiveScan 1585
- 1587: 1150(ptr) AccessChain 34(data) 1583 57
- Store 1587 1586
- 1588: 6(int) Load 8(invocation)
- 1589: 1143(ptr) AccessChain 34(data) 37 57 38
- 1590: 21(int16_t) Load 1589
- 1591: 21(int16_t) GroupNonUniformSMax 42 ExclusiveScan 1590
- 1592: 1143(ptr) AccessChain 34(data) 1588 57 38
- Store 1592 1591
- 1593: 6(int) Load 8(invocation)
- 1594: 1150(ptr) AccessChain 34(data) 46 57
- 1595: 22(i16vec4) Load 1594
- 1596:1149(i16vec2) VectorShuffle 1595 1595 0 1
- 1597:1149(i16vec2) GroupNonUniformSMax 42 ExclusiveScan 1596
- 1598: 1150(ptr) AccessChain 34(data) 1593 57
- 1599: 22(i16vec4) Load 1598
- 1600: 22(i16vec4) VectorShuffle 1599 1597 4 5 2 3
- Store 1598 1600
- 1601: 6(int) Load 8(invocation)
- 1602: 1150(ptr) AccessChain 34(data) 57 57
- 1603: 22(i16vec4) Load 1602
- 1604:1159(i16vec3) VectorShuffle 1603 1603 0 1 2
- 1605:1159(i16vec3) GroupNonUniformSMax 42 ExclusiveScan 1604
- 1606: 1150(ptr) AccessChain 34(data) 1601 57
- 1607: 22(i16vec4) Load 1606
- 1608: 22(i16vec4) VectorShuffle 1607 1605 4 5 6 3
- Store 1606 1608
- 1609: 6(int) Load 8(invocation)
- 1610: 1150(ptr) AccessChain 34(data) 67 57
- 1611: 22(i16vec4) Load 1610
- 1612: 22(i16vec4) GroupNonUniformSMax 42 ExclusiveScan 1611
- 1613: 1150(ptr) AccessChain 34(data) 1609 57
- Store 1613 1612
- 1614: 6(int) Load 8(invocation)
- 1615: 1143(ptr) AccessChain 34(data) 37 57 38
- 1616: 21(int16_t) Load 1615
- 1617: 21(int16_t) GroupNonUniformBitwiseAnd 42 ExclusiveScan 1616
- 1618: 1143(ptr) AccessChain 34(data) 1614 57 38
- Store 1618 1617
- 1619: 6(int) Load 8(invocation)
- 1620: 1150(ptr) AccessChain 34(data) 46 57
- 1621: 22(i16vec4) Load 1620
- 1622:1149(i16vec2) VectorShuffle 1621 1621 0 1
- 1623:1149(i16vec2) GroupNonUniformBitwiseAnd 42 ExclusiveScan 1622
- 1624: 1150(ptr) AccessChain 34(data) 1619 57
- 1625: 22(i16vec4) Load 1624
- 1626: 22(i16vec4) VectorShuffle 1625 1623 4 5 2 3
- Store 1624 1626
- 1627: 6(int) Load 8(invocation)
- 1628: 1150(ptr) AccessChain 34(data) 57 57
- 1629: 22(i16vec4) Load 1628
- 1630:1159(i16vec3) VectorShuffle 1629 1629 0 1 2
- 1631:1159(i16vec3) GroupNonUniformBitwiseAnd 42 ExclusiveScan 1630
- 1632: 1150(ptr) AccessChain 34(data) 1627 57
- 1633: 22(i16vec4) Load 1632
- 1634: 22(i16vec4) VectorShuffle 1633 1631 4 5 6 3
- Store 1632 1634
- 1635: 6(int) Load 8(invocation)
- 1636: 1150(ptr) AccessChain 34(data) 67 57
- 1637: 22(i16vec4) Load 1636
- 1638: 22(i16vec4) GroupNonUniformBitwiseAnd 42 ExclusiveScan 1637
- 1639: 1150(ptr) AccessChain 34(data) 1635 57
- Store 1639 1638
- 1640: 6(int) Load 8(invocation)
- 1641: 1143(ptr) AccessChain 34(data) 37 57 38
- 1642: 21(int16_t) Load 1641
- 1643: 21(int16_t) GroupNonUniformBitwiseOr 42 ExclusiveScan 1642
- 1644: 1143(ptr) AccessChain 34(data) 1640 57 38
- Store 1644 1643
- 1645: 6(int) Load 8(invocation)
- 1646: 1150(ptr) AccessChain 34(data) 46 57
- 1647: 22(i16vec4) Load 1646
- 1648:1149(i16vec2) VectorShuffle 1647 1647 0 1
- 1649:1149(i16vec2) GroupNonUniformBitwiseOr 42 ExclusiveScan 1648
- 1650: 1150(ptr) AccessChain 34(data) 1645 57
- 1651: 22(i16vec4) Load 1650
- 1652: 22(i16vec4) VectorShuffle 1651 1649 4 5 2 3
- Store 1650 1652
- 1653: 6(int) Load 8(invocation)
- 1654: 1150(ptr) AccessChain 34(data) 57 57
- 1655: 22(i16vec4) Load 1654
- 1656:1159(i16vec3) VectorShuffle 1655 1655 0 1 2
- 1657:1159(i16vec3) GroupNonUniformBitwiseOr 42 ExclusiveScan 1656
- 1658: 1150(ptr) AccessChain 34(data) 1653 57
- 1659: 22(i16vec4) Load 1658
- 1660: 22(i16vec4) VectorShuffle 1659 1657 4 5 6 3
- Store 1658 1660
- 1661: 6(int) Load 8(invocation)
- 1662: 1150(ptr) AccessChain 34(data) 67 57
- 1663: 22(i16vec4) Load 1662
- 1664: 22(i16vec4) GroupNonUniformBitwiseOr 42 ExclusiveScan 1663
- 1665: 1150(ptr) AccessChain 34(data) 1661 57
- Store 1665 1664
- 1666: 6(int) Load 8(invocation)
- 1667: 1143(ptr) AccessChain 34(data) 37 57 38
- 1668: 21(int16_t) Load 1667
- 1669: 21(int16_t) GroupNonUniformBitwiseXor 42 ExclusiveScan 1668
- 1670: 1143(ptr) AccessChain 34(data) 1666 57 38
- Store 1670 1669
+ 1534:1319(i16vec2) VectorShuffle 1533 1533 0 1
+ 1535:1319(i16vec2) GroupNonUniformIAdd 42 InclusiveScan 1534
+ 1536: 1313(ptr) AccessChain 34(data) 1531 59 38
+ 1537: 21(int16_t) CompositeExtract 1535 0
+ Store 1536 1537
+ 1538: 1313(ptr) AccessChain 34(data) 1531 59 55
+ 1539: 21(int16_t) CompositeExtract 1535 1
+ Store 1538 1539
+ 1540: 6(int) Load 8(invocation)
+ 1541: 1320(ptr) AccessChain 34(data) 59 59
+ 1542: 22(i16vec4) Load 1541
+ 1543:1330(i16vec3) VectorShuffle 1542 1542 0 1 2
+ 1544:1330(i16vec3) GroupNonUniformIAdd 42 InclusiveScan 1543
+ 1545: 1313(ptr) AccessChain 34(data) 1540 59 38
+ 1546: 21(int16_t) CompositeExtract 1544 0
+ Store 1545 1546
+ 1547: 1313(ptr) AccessChain 34(data) 1540 59 55
+ 1548: 21(int16_t) CompositeExtract 1544 1
+ Store 1547 1548
+ 1549: 1313(ptr) AccessChain 34(data) 1540 59 69
+ 1550: 21(int16_t) CompositeExtract 1544 2
+ Store 1549 1550
+ 1551: 6(int) Load 8(invocation)
+ 1552: 1320(ptr) AccessChain 34(data) 73 59
+ 1553: 22(i16vec4) Load 1552
+ 1554: 22(i16vec4) GroupNonUniformIAdd 42 InclusiveScan 1553
+ 1555: 1320(ptr) AccessChain 34(data) 1551 59
+ Store 1555 1554
+ 1556: 6(int) Load 8(invocation)
+ 1557: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1558: 21(int16_t) Load 1557
+ 1559: 21(int16_t) GroupNonUniformIMul 42 InclusiveScan 1558
+ 1560: 1313(ptr) AccessChain 34(data) 1556 59 38
+ Store 1560 1559
+ 1561: 6(int) Load 8(invocation)
+ 1562: 1320(ptr) AccessChain 34(data) 46 59
+ 1563: 22(i16vec4) Load 1562
+ 1564:1319(i16vec2) VectorShuffle 1563 1563 0 1
+ 1565:1319(i16vec2) GroupNonUniformIMul 42 InclusiveScan 1564
+ 1566: 1313(ptr) AccessChain 34(data) 1561 59 38
+ 1567: 21(int16_t) CompositeExtract 1565 0
+ Store 1566 1567
+ 1568: 1313(ptr) AccessChain 34(data) 1561 59 55
+ 1569: 21(int16_t) CompositeExtract 1565 1
+ Store 1568 1569
+ 1570: 6(int) Load 8(invocation)
+ 1571: 1320(ptr) AccessChain 34(data) 59 59
+ 1572: 22(i16vec4) Load 1571
+ 1573:1330(i16vec3) VectorShuffle 1572 1572 0 1 2
+ 1574:1330(i16vec3) GroupNonUniformIMul 42 InclusiveScan 1573
+ 1575: 1313(ptr) AccessChain 34(data) 1570 59 38
+ 1576: 21(int16_t) CompositeExtract 1574 0
+ Store 1575 1576
+ 1577: 1313(ptr) AccessChain 34(data) 1570 59 55
+ 1578: 21(int16_t) CompositeExtract 1574 1
+ Store 1577 1578
+ 1579: 1313(ptr) AccessChain 34(data) 1570 59 69
+ 1580: 21(int16_t) CompositeExtract 1574 2
+ Store 1579 1580
+ 1581: 6(int) Load 8(invocation)
+ 1582: 1320(ptr) AccessChain 34(data) 73 59
+ 1583: 22(i16vec4) Load 1582
+ 1584: 22(i16vec4) GroupNonUniformIMul 42 InclusiveScan 1583
+ 1585: 1320(ptr) AccessChain 34(data) 1581 59
+ Store 1585 1584
+ 1586: 6(int) Load 8(invocation)
+ 1587: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1588: 21(int16_t) Load 1587
+ 1589: 21(int16_t) GroupNonUniformSMin 42 InclusiveScan 1588
+ 1590: 1313(ptr) AccessChain 34(data) 1586 59 38
+ Store 1590 1589
+ 1591: 6(int) Load 8(invocation)
+ 1592: 1320(ptr) AccessChain 34(data) 46 59
+ 1593: 22(i16vec4) Load 1592
+ 1594:1319(i16vec2) VectorShuffle 1593 1593 0 1
+ 1595:1319(i16vec2) GroupNonUniformSMin 42 InclusiveScan 1594
+ 1596: 1313(ptr) AccessChain 34(data) 1591 59 38
+ 1597: 21(int16_t) CompositeExtract 1595 0
+ Store 1596 1597
+ 1598: 1313(ptr) AccessChain 34(data) 1591 59 55
+ 1599: 21(int16_t) CompositeExtract 1595 1
+ Store 1598 1599
+ 1600: 6(int) Load 8(invocation)
+ 1601: 1320(ptr) AccessChain 34(data) 59 59
+ 1602: 22(i16vec4) Load 1601
+ 1603:1330(i16vec3) VectorShuffle 1602 1602 0 1 2
+ 1604:1330(i16vec3) GroupNonUniformSMin 42 InclusiveScan 1603
+ 1605: 1313(ptr) AccessChain 34(data) 1600 59 38
+ 1606: 21(int16_t) CompositeExtract 1604 0
+ Store 1605 1606
+ 1607: 1313(ptr) AccessChain 34(data) 1600 59 55
+ 1608: 21(int16_t) CompositeExtract 1604 1
+ Store 1607 1608
+ 1609: 1313(ptr) AccessChain 34(data) 1600 59 69
+ 1610: 21(int16_t) CompositeExtract 1604 2
+ Store 1609 1610
+ 1611: 6(int) Load 8(invocation)
+ 1612: 1320(ptr) AccessChain 34(data) 73 59
+ 1613: 22(i16vec4) Load 1612
+ 1614: 22(i16vec4) GroupNonUniformSMin 42 InclusiveScan 1613
+ 1615: 1320(ptr) AccessChain 34(data) 1611 59
+ Store 1615 1614
+ 1616: 6(int) Load 8(invocation)
+ 1617: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1618: 21(int16_t) Load 1617
+ 1619: 21(int16_t) GroupNonUniformSMax 42 InclusiveScan 1618
+ 1620: 1313(ptr) AccessChain 34(data) 1616 59 38
+ Store 1620 1619
+ 1621: 6(int) Load 8(invocation)
+ 1622: 1320(ptr) AccessChain 34(data) 46 59
+ 1623: 22(i16vec4) Load 1622
+ 1624:1319(i16vec2) VectorShuffle 1623 1623 0 1
+ 1625:1319(i16vec2) GroupNonUniformSMax 42 InclusiveScan 1624
+ 1626: 1313(ptr) AccessChain 34(data) 1621 59 38
+ 1627: 21(int16_t) CompositeExtract 1625 0
+ Store 1626 1627
+ 1628: 1313(ptr) AccessChain 34(data) 1621 59 55
+ 1629: 21(int16_t) CompositeExtract 1625 1
+ Store 1628 1629
+ 1630: 6(int) Load 8(invocation)
+ 1631: 1320(ptr) AccessChain 34(data) 59 59
+ 1632: 22(i16vec4) Load 1631
+ 1633:1330(i16vec3) VectorShuffle 1632 1632 0 1 2
+ 1634:1330(i16vec3) GroupNonUniformSMax 42 InclusiveScan 1633
+ 1635: 1313(ptr) AccessChain 34(data) 1630 59 38
+ 1636: 21(int16_t) CompositeExtract 1634 0
+ Store 1635 1636
+ 1637: 1313(ptr) AccessChain 34(data) 1630 59 55
+ 1638: 21(int16_t) CompositeExtract 1634 1
+ Store 1637 1638
+ 1639: 1313(ptr) AccessChain 34(data) 1630 59 69
+ 1640: 21(int16_t) CompositeExtract 1634 2
+ Store 1639 1640
+ 1641: 6(int) Load 8(invocation)
+ 1642: 1320(ptr) AccessChain 34(data) 73 59
+ 1643: 22(i16vec4) Load 1642
+ 1644: 22(i16vec4) GroupNonUniformSMax 42 InclusiveScan 1643
+ 1645: 1320(ptr) AccessChain 34(data) 1641 59
+ Store 1645 1644
+ 1646: 6(int) Load 8(invocation)
+ 1647: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1648: 21(int16_t) Load 1647
+ 1649: 21(int16_t) GroupNonUniformBitwiseAnd 42 InclusiveScan 1648
+ 1650: 1313(ptr) AccessChain 34(data) 1646 59 38
+ Store 1650 1649
+ 1651: 6(int) Load 8(invocation)
+ 1652: 1320(ptr) AccessChain 34(data) 46 59
+ 1653: 22(i16vec4) Load 1652
+ 1654:1319(i16vec2) VectorShuffle 1653 1653 0 1
+ 1655:1319(i16vec2) GroupNonUniformBitwiseAnd 42 InclusiveScan 1654
+ 1656: 1313(ptr) AccessChain 34(data) 1651 59 38
+ 1657: 21(int16_t) CompositeExtract 1655 0
+ Store 1656 1657
+ 1658: 1313(ptr) AccessChain 34(data) 1651 59 55
+ 1659: 21(int16_t) CompositeExtract 1655 1
+ Store 1658 1659
+ 1660: 6(int) Load 8(invocation)
+ 1661: 1320(ptr) AccessChain 34(data) 59 59
+ 1662: 22(i16vec4) Load 1661
+ 1663:1330(i16vec3) VectorShuffle 1662 1662 0 1 2
+ 1664:1330(i16vec3) GroupNonUniformBitwiseAnd 42 InclusiveScan 1663
+ 1665: 1313(ptr) AccessChain 34(data) 1660 59 38
+ 1666: 21(int16_t) CompositeExtract 1664 0
+ Store 1665 1666
+ 1667: 1313(ptr) AccessChain 34(data) 1660 59 55
+ 1668: 21(int16_t) CompositeExtract 1664 1
+ Store 1667 1668
+ 1669: 1313(ptr) AccessChain 34(data) 1660 59 69
+ 1670: 21(int16_t) CompositeExtract 1664 2
+ Store 1669 1670
1671: 6(int) Load 8(invocation)
- 1672: 1150(ptr) AccessChain 34(data) 46 57
+ 1672: 1320(ptr) AccessChain 34(data) 73 59
1673: 22(i16vec4) Load 1672
- 1674:1149(i16vec2) VectorShuffle 1673 1673 0 1
- 1675:1149(i16vec2) GroupNonUniformBitwiseXor 42 ExclusiveScan 1674
- 1676: 1150(ptr) AccessChain 34(data) 1671 57
- 1677: 22(i16vec4) Load 1676
- 1678: 22(i16vec4) VectorShuffle 1677 1675 4 5 2 3
- Store 1676 1678
- 1679: 6(int) Load 8(invocation)
- 1680: 1150(ptr) AccessChain 34(data) 57 57
- 1681: 22(i16vec4) Load 1680
- 1682:1159(i16vec3) VectorShuffle 1681 1681 0 1 2
- 1683:1159(i16vec3) GroupNonUniformBitwiseXor 42 ExclusiveScan 1682
- 1684: 1150(ptr) AccessChain 34(data) 1679 57
- 1685: 22(i16vec4) Load 1684
- 1686: 22(i16vec4) VectorShuffle 1685 1683 4 5 6 3
- Store 1684 1686
- 1687: 6(int) Load 8(invocation)
- 1688: 1150(ptr) AccessChain 34(data) 67 57
- 1689: 22(i16vec4) Load 1688
- 1690: 22(i16vec4) GroupNonUniformBitwiseXor 42 ExclusiveScan 1689
- 1691: 1150(ptr) AccessChain 34(data) 1687 57
- Store 1691 1690
- 1692: 6(int) Load 8(invocation)
- 1694: 1693(ptr) AccessChain 34(data) 37 67 38
- 1695: 23(int16_t) Load 1694
- 1696: 23(int16_t) GroupNonUniformIAdd 42 Reduce 1695
- 1697: 1693(ptr) AccessChain 34(data) 1692 67 38
- Store 1697 1696
- 1698: 6(int) Load 8(invocation)
- 1701: 1700(ptr) AccessChain 34(data) 46 67
- 1702: 24(i16vec4) Load 1701
- 1703:1699(i16vec2) VectorShuffle 1702 1702 0 1
- 1704:1699(i16vec2) GroupNonUniformIAdd 42 Reduce 1703
- 1705: 1700(ptr) AccessChain 34(data) 1698 67
- 1706: 24(i16vec4) Load 1705
- 1707: 24(i16vec4) VectorShuffle 1706 1704 4 5 2 3
- Store 1705 1707
- 1708: 6(int) Load 8(invocation)
- 1710: 1700(ptr) AccessChain 34(data) 57 67
- 1711: 24(i16vec4) Load 1710
- 1712:1709(i16vec3) VectorShuffle 1711 1711 0 1 2
- 1713:1709(i16vec3) GroupNonUniformIAdd 42 Reduce 1712
- 1714: 1700(ptr) AccessChain 34(data) 1708 67
- 1715: 24(i16vec4) Load 1714
- 1716: 24(i16vec4) VectorShuffle 1715 1713 4 5 6 3
- Store 1714 1716
- 1717: 6(int) Load 8(invocation)
- 1718: 1700(ptr) AccessChain 34(data) 67 67
- 1719: 24(i16vec4) Load 1718
- 1720: 24(i16vec4) GroupNonUniformIAdd 42 Reduce 1719
- 1721: 1700(ptr) AccessChain 34(data) 1717 67
- Store 1721 1720
- 1722: 6(int) Load 8(invocation)
- 1723: 1693(ptr) AccessChain 34(data) 37 67 38
- 1724: 23(int16_t) Load 1723
- 1725: 23(int16_t) GroupNonUniformIMul 42 Reduce 1724
- 1726: 1693(ptr) AccessChain 34(data) 1722 67 38
- Store 1726 1725
- 1727: 6(int) Load 8(invocation)
- 1728: 1700(ptr) AccessChain 34(data) 46 67
- 1729: 24(i16vec4) Load 1728
- 1730:1699(i16vec2) VectorShuffle 1729 1729 0 1
- 1731:1699(i16vec2) GroupNonUniformIMul 42 Reduce 1730
- 1732: 1700(ptr) AccessChain 34(data) 1727 67
- 1733: 24(i16vec4) Load 1732
- 1734: 24(i16vec4) VectorShuffle 1733 1731 4 5 2 3
- Store 1732 1734
- 1735: 6(int) Load 8(invocation)
- 1736: 1700(ptr) AccessChain 34(data) 57 67
- 1737: 24(i16vec4) Load 1736
- 1738:1709(i16vec3) VectorShuffle 1737 1737 0 1 2
- 1739:1709(i16vec3) GroupNonUniformIMul 42 Reduce 1738
- 1740: 1700(ptr) AccessChain 34(data) 1735 67
- 1741: 24(i16vec4) Load 1740
- 1742: 24(i16vec4) VectorShuffle 1741 1739 4 5 6 3
- Store 1740 1742
- 1743: 6(int) Load 8(invocation)
- 1744: 1700(ptr) AccessChain 34(data) 67 67
- 1745: 24(i16vec4) Load 1744
- 1746: 24(i16vec4) GroupNonUniformIMul 42 Reduce 1745
- 1747: 1700(ptr) AccessChain 34(data) 1743 67
- Store 1747 1746
- 1748: 6(int) Load 8(invocation)
- 1749: 1693(ptr) AccessChain 34(data) 37 67 38
- 1750: 23(int16_t) Load 1749
- 1751: 23(int16_t) GroupNonUniformUMin 42 Reduce 1750
- 1752: 1693(ptr) AccessChain 34(data) 1748 67 38
- Store 1752 1751
- 1753: 6(int) Load 8(invocation)
- 1754: 1700(ptr) AccessChain 34(data) 46 67
- 1755: 24(i16vec4) Load 1754
- 1756:1699(i16vec2) VectorShuffle 1755 1755 0 1
- 1757:1699(i16vec2) GroupNonUniformUMin 42 Reduce 1756
- 1758: 1700(ptr) AccessChain 34(data) 1753 67
- 1759: 24(i16vec4) Load 1758
- 1760: 24(i16vec4) VectorShuffle 1759 1757 4 5 2 3
- Store 1758 1760
+ 1674: 22(i16vec4) GroupNonUniformBitwiseAnd 42 InclusiveScan 1673
+ 1675: 1320(ptr) AccessChain 34(data) 1671 59
+ Store 1675 1674
+ 1676: 6(int) Load 8(invocation)
+ 1677: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1678: 21(int16_t) Load 1677
+ 1679: 21(int16_t) GroupNonUniformBitwiseOr 42 InclusiveScan 1678
+ 1680: 1313(ptr) AccessChain 34(data) 1676 59 38
+ Store 1680 1679
+ 1681: 6(int) Load 8(invocation)
+ 1682: 1320(ptr) AccessChain 34(data) 46 59
+ 1683: 22(i16vec4) Load 1682
+ 1684:1319(i16vec2) VectorShuffle 1683 1683 0 1
+ 1685:1319(i16vec2) GroupNonUniformBitwiseOr 42 InclusiveScan 1684
+ 1686: 1313(ptr) AccessChain 34(data) 1681 59 38
+ 1687: 21(int16_t) CompositeExtract 1685 0
+ Store 1686 1687
+ 1688: 1313(ptr) AccessChain 34(data) 1681 59 55
+ 1689: 21(int16_t) CompositeExtract 1685 1
+ Store 1688 1689
+ 1690: 6(int) Load 8(invocation)
+ 1691: 1320(ptr) AccessChain 34(data) 59 59
+ 1692: 22(i16vec4) Load 1691
+ 1693:1330(i16vec3) VectorShuffle 1692 1692 0 1 2
+ 1694:1330(i16vec3) GroupNonUniformBitwiseOr 42 InclusiveScan 1693
+ 1695: 1313(ptr) AccessChain 34(data) 1690 59 38
+ 1696: 21(int16_t) CompositeExtract 1694 0
+ Store 1695 1696
+ 1697: 1313(ptr) AccessChain 34(data) 1690 59 55
+ 1698: 21(int16_t) CompositeExtract 1694 1
+ Store 1697 1698
+ 1699: 1313(ptr) AccessChain 34(data) 1690 59 69
+ 1700: 21(int16_t) CompositeExtract 1694 2
+ Store 1699 1700
+ 1701: 6(int) Load 8(invocation)
+ 1702: 1320(ptr) AccessChain 34(data) 73 59
+ 1703: 22(i16vec4) Load 1702
+ 1704: 22(i16vec4) GroupNonUniformBitwiseOr 42 InclusiveScan 1703
+ 1705: 1320(ptr) AccessChain 34(data) 1701 59
+ Store 1705 1704
+ 1706: 6(int) Load 8(invocation)
+ 1707: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1708: 21(int16_t) Load 1707
+ 1709: 21(int16_t) GroupNonUniformBitwiseXor 42 InclusiveScan 1708
+ 1710: 1313(ptr) AccessChain 34(data) 1706 59 38
+ Store 1710 1709
+ 1711: 6(int) Load 8(invocation)
+ 1712: 1320(ptr) AccessChain 34(data) 46 59
+ 1713: 22(i16vec4) Load 1712
+ 1714:1319(i16vec2) VectorShuffle 1713 1713 0 1
+ 1715:1319(i16vec2) GroupNonUniformBitwiseXor 42 InclusiveScan 1714
+ 1716: 1313(ptr) AccessChain 34(data) 1711 59 38
+ 1717: 21(int16_t) CompositeExtract 1715 0
+ Store 1716 1717
+ 1718: 1313(ptr) AccessChain 34(data) 1711 59 55
+ 1719: 21(int16_t) CompositeExtract 1715 1
+ Store 1718 1719
+ 1720: 6(int) Load 8(invocation)
+ 1721: 1320(ptr) AccessChain 34(data) 59 59
+ 1722: 22(i16vec4) Load 1721
+ 1723:1330(i16vec3) VectorShuffle 1722 1722 0 1 2
+ 1724:1330(i16vec3) GroupNonUniformBitwiseXor 42 InclusiveScan 1723
+ 1725: 1313(ptr) AccessChain 34(data) 1720 59 38
+ 1726: 21(int16_t) CompositeExtract 1724 0
+ Store 1725 1726
+ 1727: 1313(ptr) AccessChain 34(data) 1720 59 55
+ 1728: 21(int16_t) CompositeExtract 1724 1
+ Store 1727 1728
+ 1729: 1313(ptr) AccessChain 34(data) 1720 59 69
+ 1730: 21(int16_t) CompositeExtract 1724 2
+ Store 1729 1730
+ 1731: 6(int) Load 8(invocation)
+ 1732: 1320(ptr) AccessChain 34(data) 73 59
+ 1733: 22(i16vec4) Load 1732
+ 1734: 22(i16vec4) GroupNonUniformBitwiseXor 42 InclusiveScan 1733
+ 1735: 1320(ptr) AccessChain 34(data) 1731 59
+ Store 1735 1734
+ 1736: 6(int) Load 8(invocation)
+ 1737: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1738: 21(int16_t) Load 1737
+ 1739: 21(int16_t) GroupNonUniformIAdd 42 ExclusiveScan 1738
+ 1740: 1313(ptr) AccessChain 34(data) 1736 59 38
+ Store 1740 1739
+ 1741: 6(int) Load 8(invocation)
+ 1742: 1320(ptr) AccessChain 34(data) 46 59
+ 1743: 22(i16vec4) Load 1742
+ 1744:1319(i16vec2) VectorShuffle 1743 1743 0 1
+ 1745:1319(i16vec2) GroupNonUniformIAdd 42 ExclusiveScan 1744
+ 1746: 1313(ptr) AccessChain 34(data) 1741 59 38
+ 1747: 21(int16_t) CompositeExtract 1745 0
+ Store 1746 1747
+ 1748: 1313(ptr) AccessChain 34(data) 1741 59 55
+ 1749: 21(int16_t) CompositeExtract 1745 1
+ Store 1748 1749
+ 1750: 6(int) Load 8(invocation)
+ 1751: 1320(ptr) AccessChain 34(data) 59 59
+ 1752: 22(i16vec4) Load 1751
+ 1753:1330(i16vec3) VectorShuffle 1752 1752 0 1 2
+ 1754:1330(i16vec3) GroupNonUniformIAdd 42 ExclusiveScan 1753
+ 1755: 1313(ptr) AccessChain 34(data) 1750 59 38
+ 1756: 21(int16_t) CompositeExtract 1754 0
+ Store 1755 1756
+ 1757: 1313(ptr) AccessChain 34(data) 1750 59 55
+ 1758: 21(int16_t) CompositeExtract 1754 1
+ Store 1757 1758
+ 1759: 1313(ptr) AccessChain 34(data) 1750 59 69
+ 1760: 21(int16_t) CompositeExtract 1754 2
+ Store 1759 1760
1761: 6(int) Load 8(invocation)
- 1762: 1700(ptr) AccessChain 34(data) 57 67
- 1763: 24(i16vec4) Load 1762
- 1764:1709(i16vec3) VectorShuffle 1763 1763 0 1 2
- 1765:1709(i16vec3) GroupNonUniformUMin 42 Reduce 1764
- 1766: 1700(ptr) AccessChain 34(data) 1761 67
- 1767: 24(i16vec4) Load 1766
- 1768: 24(i16vec4) VectorShuffle 1767 1765 4 5 6 3
- Store 1766 1768
- 1769: 6(int) Load 8(invocation)
- 1770: 1700(ptr) AccessChain 34(data) 67 67
- 1771: 24(i16vec4) Load 1770
- 1772: 24(i16vec4) GroupNonUniformUMin 42 Reduce 1771
- 1773: 1700(ptr) AccessChain 34(data) 1769 67
- Store 1773 1772
- 1774: 6(int) Load 8(invocation)
- 1775: 1693(ptr) AccessChain 34(data) 37 67 38
- 1776: 23(int16_t) Load 1775
- 1777: 23(int16_t) GroupNonUniformUMax 42 Reduce 1776
- 1778: 1693(ptr) AccessChain 34(data) 1774 67 38
- Store 1778 1777
- 1779: 6(int) Load 8(invocation)
- 1780: 1700(ptr) AccessChain 34(data) 46 67
- 1781: 24(i16vec4) Load 1780
- 1782:1699(i16vec2) VectorShuffle 1781 1781 0 1
- 1783:1699(i16vec2) GroupNonUniformUMax 42 Reduce 1782
- 1784: 1700(ptr) AccessChain 34(data) 1779 67
- 1785: 24(i16vec4) Load 1784
- 1786: 24(i16vec4) VectorShuffle 1785 1783 4 5 2 3
- Store 1784 1786
- 1787: 6(int) Load 8(invocation)
- 1788: 1700(ptr) AccessChain 34(data) 57 67
- 1789: 24(i16vec4) Load 1788
- 1790:1709(i16vec3) VectorShuffle 1789 1789 0 1 2
- 1791:1709(i16vec3) GroupNonUniformUMax 42 Reduce 1790
- 1792: 1700(ptr) AccessChain 34(data) 1787 67
- 1793: 24(i16vec4) Load 1792
- 1794: 24(i16vec4) VectorShuffle 1793 1791 4 5 6 3
- Store 1792 1794
- 1795: 6(int) Load 8(invocation)
- 1796: 1700(ptr) AccessChain 34(data) 67 67
- 1797: 24(i16vec4) Load 1796
- 1798: 24(i16vec4) GroupNonUniformUMax 42 Reduce 1797
- 1799: 1700(ptr) AccessChain 34(data) 1795 67
- Store 1799 1798
- 1800: 6(int) Load 8(invocation)
- 1801: 1693(ptr) AccessChain 34(data) 37 67 38
- 1802: 23(int16_t) Load 1801
- 1803: 23(int16_t) GroupNonUniformBitwiseAnd 42 Reduce 1802
- 1804: 1693(ptr) AccessChain 34(data) 1800 67 38
- Store 1804 1803
- 1805: 6(int) Load 8(invocation)
- 1806: 1700(ptr) AccessChain 34(data) 46 67
- 1807: 24(i16vec4) Load 1806
- 1808:1699(i16vec2) VectorShuffle 1807 1807 0 1
- 1809:1699(i16vec2) GroupNonUniformBitwiseAnd 42 Reduce 1808
- 1810: 1700(ptr) AccessChain 34(data) 1805 67
- 1811: 24(i16vec4) Load 1810
- 1812: 24(i16vec4) VectorShuffle 1811 1809 4 5 2 3
- Store 1810 1812
- 1813: 6(int) Load 8(invocation)
- 1814: 1700(ptr) AccessChain 34(data) 57 67
- 1815: 24(i16vec4) Load 1814
- 1816:1709(i16vec3) VectorShuffle 1815 1815 0 1 2
- 1817:1709(i16vec3) GroupNonUniformBitwiseAnd 42 Reduce 1816
- 1818: 1700(ptr) AccessChain 34(data) 1813 67
- 1819: 24(i16vec4) Load 1818
- 1820: 24(i16vec4) VectorShuffle 1819 1817 4 5 6 3
- Store 1818 1820
+ 1762: 1320(ptr) AccessChain 34(data) 73 59
+ 1763: 22(i16vec4) Load 1762
+ 1764: 22(i16vec4) GroupNonUniformIAdd 42 ExclusiveScan 1763
+ 1765: 1320(ptr) AccessChain 34(data) 1761 59
+ Store 1765 1764
+ 1766: 6(int) Load 8(invocation)
+ 1767: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1768: 21(int16_t) Load 1767
+ 1769: 21(int16_t) GroupNonUniformIMul 42 ExclusiveScan 1768
+ 1770: 1313(ptr) AccessChain 34(data) 1766 59 38
+ Store 1770 1769
+ 1771: 6(int) Load 8(invocation)
+ 1772: 1320(ptr) AccessChain 34(data) 46 59
+ 1773: 22(i16vec4) Load 1772
+ 1774:1319(i16vec2) VectorShuffle 1773 1773 0 1
+ 1775:1319(i16vec2) GroupNonUniformIMul 42 ExclusiveScan 1774
+ 1776: 1313(ptr) AccessChain 34(data) 1771 59 38
+ 1777: 21(int16_t) CompositeExtract 1775 0
+ Store 1776 1777
+ 1778: 1313(ptr) AccessChain 34(data) 1771 59 55
+ 1779: 21(int16_t) CompositeExtract 1775 1
+ Store 1778 1779
+ 1780: 6(int) Load 8(invocation)
+ 1781: 1320(ptr) AccessChain 34(data) 59 59
+ 1782: 22(i16vec4) Load 1781
+ 1783:1330(i16vec3) VectorShuffle 1782 1782 0 1 2
+ 1784:1330(i16vec3) GroupNonUniformIMul 42 ExclusiveScan 1783
+ 1785: 1313(ptr) AccessChain 34(data) 1780 59 38
+ 1786: 21(int16_t) CompositeExtract 1784 0
+ Store 1785 1786
+ 1787: 1313(ptr) AccessChain 34(data) 1780 59 55
+ 1788: 21(int16_t) CompositeExtract 1784 1
+ Store 1787 1788
+ 1789: 1313(ptr) AccessChain 34(data) 1780 59 69
+ 1790: 21(int16_t) CompositeExtract 1784 2
+ Store 1789 1790
+ 1791: 6(int) Load 8(invocation)
+ 1792: 1320(ptr) AccessChain 34(data) 73 59
+ 1793: 22(i16vec4) Load 1792
+ 1794: 22(i16vec4) GroupNonUniformIMul 42 ExclusiveScan 1793
+ 1795: 1320(ptr) AccessChain 34(data) 1791 59
+ Store 1795 1794
+ 1796: 6(int) Load 8(invocation)
+ 1797: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1798: 21(int16_t) Load 1797
+ 1799: 21(int16_t) GroupNonUniformSMin 42 ExclusiveScan 1798
+ 1800: 1313(ptr) AccessChain 34(data) 1796 59 38
+ Store 1800 1799
+ 1801: 6(int) Load 8(invocation)
+ 1802: 1320(ptr) AccessChain 34(data) 46 59
+ 1803: 22(i16vec4) Load 1802
+ 1804:1319(i16vec2) VectorShuffle 1803 1803 0 1
+ 1805:1319(i16vec2) GroupNonUniformSMin 42 ExclusiveScan 1804
+ 1806: 1313(ptr) AccessChain 34(data) 1801 59 38
+ 1807: 21(int16_t) CompositeExtract 1805 0
+ Store 1806 1807
+ 1808: 1313(ptr) AccessChain 34(data) 1801 59 55
+ 1809: 21(int16_t) CompositeExtract 1805 1
+ Store 1808 1809
+ 1810: 6(int) Load 8(invocation)
+ 1811: 1320(ptr) AccessChain 34(data) 59 59
+ 1812: 22(i16vec4) Load 1811
+ 1813:1330(i16vec3) VectorShuffle 1812 1812 0 1 2
+ 1814:1330(i16vec3) GroupNonUniformSMin 42 ExclusiveScan 1813
+ 1815: 1313(ptr) AccessChain 34(data) 1810 59 38
+ 1816: 21(int16_t) CompositeExtract 1814 0
+ Store 1815 1816
+ 1817: 1313(ptr) AccessChain 34(data) 1810 59 55
+ 1818: 21(int16_t) CompositeExtract 1814 1
+ Store 1817 1818
+ 1819: 1313(ptr) AccessChain 34(data) 1810 59 69
+ 1820: 21(int16_t) CompositeExtract 1814 2
+ Store 1819 1820
1821: 6(int) Load 8(invocation)
- 1822: 1700(ptr) AccessChain 34(data) 67 67
- 1823: 24(i16vec4) Load 1822
- 1824: 24(i16vec4) GroupNonUniformBitwiseAnd 42 Reduce 1823
- 1825: 1700(ptr) AccessChain 34(data) 1821 67
+ 1822: 1320(ptr) AccessChain 34(data) 73 59
+ 1823: 22(i16vec4) Load 1822
+ 1824: 22(i16vec4) GroupNonUniformSMin 42 ExclusiveScan 1823
+ 1825: 1320(ptr) AccessChain 34(data) 1821 59
Store 1825 1824
1826: 6(int) Load 8(invocation)
- 1827: 1693(ptr) AccessChain 34(data) 37 67 38
- 1828: 23(int16_t) Load 1827
- 1829: 23(int16_t) GroupNonUniformBitwiseOr 42 Reduce 1828
- 1830: 1693(ptr) AccessChain 34(data) 1826 67 38
+ 1827: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1828: 21(int16_t) Load 1827
+ 1829: 21(int16_t) GroupNonUniformSMax 42 ExclusiveScan 1828
+ 1830: 1313(ptr) AccessChain 34(data) 1826 59 38
Store 1830 1829
1831: 6(int) Load 8(invocation)
- 1832: 1700(ptr) AccessChain 34(data) 46 67
- 1833: 24(i16vec4) Load 1832
- 1834:1699(i16vec2) VectorShuffle 1833 1833 0 1
- 1835:1699(i16vec2) GroupNonUniformBitwiseOr 42 Reduce 1834
- 1836: 1700(ptr) AccessChain 34(data) 1831 67
- 1837: 24(i16vec4) Load 1836
- 1838: 24(i16vec4) VectorShuffle 1837 1835 4 5 2 3
- Store 1836 1838
- 1839: 6(int) Load 8(invocation)
- 1840: 1700(ptr) AccessChain 34(data) 57 67
- 1841: 24(i16vec4) Load 1840
- 1842:1709(i16vec3) VectorShuffle 1841 1841 0 1 2
- 1843:1709(i16vec3) GroupNonUniformBitwiseOr 42 Reduce 1842
- 1844: 1700(ptr) AccessChain 34(data) 1839 67
- 1845: 24(i16vec4) Load 1844
- 1846: 24(i16vec4) VectorShuffle 1845 1843 4 5 6 3
- Store 1844 1846
- 1847: 6(int) Load 8(invocation)
- 1848: 1700(ptr) AccessChain 34(data) 67 67
- 1849: 24(i16vec4) Load 1848
- 1850: 24(i16vec4) GroupNonUniformBitwiseOr 42 Reduce 1849
- 1851: 1700(ptr) AccessChain 34(data) 1847 67
- Store 1851 1850
- 1852: 6(int) Load 8(invocation)
- 1853: 1693(ptr) AccessChain 34(data) 37 67 38
- 1854: 23(int16_t) Load 1853
- 1855: 23(int16_t) GroupNonUniformBitwiseXor 42 Reduce 1854
- 1856: 1693(ptr) AccessChain 34(data) 1852 67 38
- Store 1856 1855
- 1857: 6(int) Load 8(invocation)
- 1858: 1700(ptr) AccessChain 34(data) 46 67
- 1859: 24(i16vec4) Load 1858
- 1860:1699(i16vec2) VectorShuffle 1859 1859 0 1
- 1861:1699(i16vec2) GroupNonUniformBitwiseXor 42 Reduce 1860
- 1862: 1700(ptr) AccessChain 34(data) 1857 67
- 1863: 24(i16vec4) Load 1862
- 1864: 24(i16vec4) VectorShuffle 1863 1861 4 5 2 3
- Store 1862 1864
- 1865: 6(int) Load 8(invocation)
- 1866: 1700(ptr) AccessChain 34(data) 57 67
- 1867: 24(i16vec4) Load 1866
- 1868:1709(i16vec3) VectorShuffle 1867 1867 0 1 2
- 1869:1709(i16vec3) GroupNonUniformBitwiseXor 42 Reduce 1868
- 1870: 1700(ptr) AccessChain 34(data) 1865 67
- 1871: 24(i16vec4) Load 1870
- 1872: 24(i16vec4) VectorShuffle 1871 1869 4 5 6 3
- Store 1870 1872
- 1873: 6(int) Load 8(invocation)
- 1874: 1700(ptr) AccessChain 34(data) 67 67
- 1875: 24(i16vec4) Load 1874
- 1876: 24(i16vec4) GroupNonUniformBitwiseXor 42 Reduce 1875
- 1877: 1700(ptr) AccessChain 34(data) 1873 67
- Store 1877 1876
- 1878: 6(int) Load 8(invocation)
- 1879: 1693(ptr) AccessChain 34(data) 37 67 38
- 1880: 23(int16_t) Load 1879
- 1881: 23(int16_t) GroupNonUniformIAdd 42 InclusiveScan 1880
- 1882: 1693(ptr) AccessChain 34(data) 1878 67 38
- Store 1882 1881
- 1883: 6(int) Load 8(invocation)
- 1884: 1700(ptr) AccessChain 34(data) 46 67
- 1885: 24(i16vec4) Load 1884
- 1886:1699(i16vec2) VectorShuffle 1885 1885 0 1
- 1887:1699(i16vec2) GroupNonUniformIAdd 42 InclusiveScan 1886
- 1888: 1700(ptr) AccessChain 34(data) 1883 67
- 1889: 24(i16vec4) Load 1888
- 1890: 24(i16vec4) VectorShuffle 1889 1887 4 5 2 3
- Store 1888 1890
+ 1832: 1320(ptr) AccessChain 34(data) 46 59
+ 1833: 22(i16vec4) Load 1832
+ 1834:1319(i16vec2) VectorShuffle 1833 1833 0 1
+ 1835:1319(i16vec2) GroupNonUniformSMax 42 ExclusiveScan 1834
+ 1836: 1313(ptr) AccessChain 34(data) 1831 59 38
+ 1837: 21(int16_t) CompositeExtract 1835 0
+ Store 1836 1837
+ 1838: 1313(ptr) AccessChain 34(data) 1831 59 55
+ 1839: 21(int16_t) CompositeExtract 1835 1
+ Store 1838 1839
+ 1840: 6(int) Load 8(invocation)
+ 1841: 1320(ptr) AccessChain 34(data) 59 59
+ 1842: 22(i16vec4) Load 1841
+ 1843:1330(i16vec3) VectorShuffle 1842 1842 0 1 2
+ 1844:1330(i16vec3) GroupNonUniformSMax 42 ExclusiveScan 1843
+ 1845: 1313(ptr) AccessChain 34(data) 1840 59 38
+ 1846: 21(int16_t) CompositeExtract 1844 0
+ Store 1845 1846
+ 1847: 1313(ptr) AccessChain 34(data) 1840 59 55
+ 1848: 21(int16_t) CompositeExtract 1844 1
+ Store 1847 1848
+ 1849: 1313(ptr) AccessChain 34(data) 1840 59 69
+ 1850: 21(int16_t) CompositeExtract 1844 2
+ Store 1849 1850
+ 1851: 6(int) Load 8(invocation)
+ 1852: 1320(ptr) AccessChain 34(data) 73 59
+ 1853: 22(i16vec4) Load 1852
+ 1854: 22(i16vec4) GroupNonUniformSMax 42 ExclusiveScan 1853
+ 1855: 1320(ptr) AccessChain 34(data) 1851 59
+ Store 1855 1854
+ 1856: 6(int) Load 8(invocation)
+ 1857: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1858: 21(int16_t) Load 1857
+ 1859: 21(int16_t) GroupNonUniformBitwiseAnd 42 ExclusiveScan 1858
+ 1860: 1313(ptr) AccessChain 34(data) 1856 59 38
+ Store 1860 1859
+ 1861: 6(int) Load 8(invocation)
+ 1862: 1320(ptr) AccessChain 34(data) 46 59
+ 1863: 22(i16vec4) Load 1862
+ 1864:1319(i16vec2) VectorShuffle 1863 1863 0 1
+ 1865:1319(i16vec2) GroupNonUniformBitwiseAnd 42 ExclusiveScan 1864
+ 1866: 1313(ptr) AccessChain 34(data) 1861 59 38
+ 1867: 21(int16_t) CompositeExtract 1865 0
+ Store 1866 1867
+ 1868: 1313(ptr) AccessChain 34(data) 1861 59 55
+ 1869: 21(int16_t) CompositeExtract 1865 1
+ Store 1868 1869
+ 1870: 6(int) Load 8(invocation)
+ 1871: 1320(ptr) AccessChain 34(data) 59 59
+ 1872: 22(i16vec4) Load 1871
+ 1873:1330(i16vec3) VectorShuffle 1872 1872 0 1 2
+ 1874:1330(i16vec3) GroupNonUniformBitwiseAnd 42 ExclusiveScan 1873
+ 1875: 1313(ptr) AccessChain 34(data) 1870 59 38
+ 1876: 21(int16_t) CompositeExtract 1874 0
+ Store 1875 1876
+ 1877: 1313(ptr) AccessChain 34(data) 1870 59 55
+ 1878: 21(int16_t) CompositeExtract 1874 1
+ Store 1877 1878
+ 1879: 1313(ptr) AccessChain 34(data) 1870 59 69
+ 1880: 21(int16_t) CompositeExtract 1874 2
+ Store 1879 1880
+ 1881: 6(int) Load 8(invocation)
+ 1882: 1320(ptr) AccessChain 34(data) 73 59
+ 1883: 22(i16vec4) Load 1882
+ 1884: 22(i16vec4) GroupNonUniformBitwiseAnd 42 ExclusiveScan 1883
+ 1885: 1320(ptr) AccessChain 34(data) 1881 59
+ Store 1885 1884
+ 1886: 6(int) Load 8(invocation)
+ 1887: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1888: 21(int16_t) Load 1887
+ 1889: 21(int16_t) GroupNonUniformBitwiseOr 42 ExclusiveScan 1888
+ 1890: 1313(ptr) AccessChain 34(data) 1886 59 38
+ Store 1890 1889
1891: 6(int) Load 8(invocation)
- 1892: 1700(ptr) AccessChain 34(data) 57 67
- 1893: 24(i16vec4) Load 1892
- 1894:1709(i16vec3) VectorShuffle 1893 1893 0 1 2
- 1895:1709(i16vec3) GroupNonUniformIAdd 42 InclusiveScan 1894
- 1896: 1700(ptr) AccessChain 34(data) 1891 67
- 1897: 24(i16vec4) Load 1896
- 1898: 24(i16vec4) VectorShuffle 1897 1895 4 5 6 3
- Store 1896 1898
- 1899: 6(int) Load 8(invocation)
- 1900: 1700(ptr) AccessChain 34(data) 67 67
- 1901: 24(i16vec4) Load 1900
- 1902: 24(i16vec4) GroupNonUniformIAdd 42 InclusiveScan 1901
- 1903: 1700(ptr) AccessChain 34(data) 1899 67
- Store 1903 1902
- 1904: 6(int) Load 8(invocation)
- 1905: 1693(ptr) AccessChain 34(data) 37 67 38
- 1906: 23(int16_t) Load 1905
- 1907: 23(int16_t) GroupNonUniformIMul 42 InclusiveScan 1906
- 1908: 1693(ptr) AccessChain 34(data) 1904 67 38
- Store 1908 1907
- 1909: 6(int) Load 8(invocation)
- 1910: 1700(ptr) AccessChain 34(data) 46 67
- 1911: 24(i16vec4) Load 1910
- 1912:1699(i16vec2) VectorShuffle 1911 1911 0 1
- 1913:1699(i16vec2) GroupNonUniformIMul 42 InclusiveScan 1912
- 1914: 1700(ptr) AccessChain 34(data) 1909 67
- 1915: 24(i16vec4) Load 1914
- 1916: 24(i16vec4) VectorShuffle 1915 1913 4 5 2 3
- Store 1914 1916
- 1917: 6(int) Load 8(invocation)
- 1918: 1700(ptr) AccessChain 34(data) 57 67
- 1919: 24(i16vec4) Load 1918
- 1920:1709(i16vec3) VectorShuffle 1919 1919 0 1 2
- 1921:1709(i16vec3) GroupNonUniformIMul 42 InclusiveScan 1920
- 1922: 1700(ptr) AccessChain 34(data) 1917 67
- 1923: 24(i16vec4) Load 1922
- 1924: 24(i16vec4) VectorShuffle 1923 1921 4 5 6 3
- Store 1922 1924
- 1925: 6(int) Load 8(invocation)
- 1926: 1700(ptr) AccessChain 34(data) 67 67
- 1927: 24(i16vec4) Load 1926
- 1928: 24(i16vec4) GroupNonUniformIMul 42 InclusiveScan 1927
- 1929: 1700(ptr) AccessChain 34(data) 1925 67
- Store 1929 1928
+ 1892: 1320(ptr) AccessChain 34(data) 46 59
+ 1893: 22(i16vec4) Load 1892
+ 1894:1319(i16vec2) VectorShuffle 1893 1893 0 1
+ 1895:1319(i16vec2) GroupNonUniformBitwiseOr 42 ExclusiveScan 1894
+ 1896: 1313(ptr) AccessChain 34(data) 1891 59 38
+ 1897: 21(int16_t) CompositeExtract 1895 0
+ Store 1896 1897
+ 1898: 1313(ptr) AccessChain 34(data) 1891 59 55
+ 1899: 21(int16_t) CompositeExtract 1895 1
+ Store 1898 1899
+ 1900: 6(int) Load 8(invocation)
+ 1901: 1320(ptr) AccessChain 34(data) 59 59
+ 1902: 22(i16vec4) Load 1901
+ 1903:1330(i16vec3) VectorShuffle 1902 1902 0 1 2
+ 1904:1330(i16vec3) GroupNonUniformBitwiseOr 42 ExclusiveScan 1903
+ 1905: 1313(ptr) AccessChain 34(data) 1900 59 38
+ 1906: 21(int16_t) CompositeExtract 1904 0
+ Store 1905 1906
+ 1907: 1313(ptr) AccessChain 34(data) 1900 59 55
+ 1908: 21(int16_t) CompositeExtract 1904 1
+ Store 1907 1908
+ 1909: 1313(ptr) AccessChain 34(data) 1900 59 69
+ 1910: 21(int16_t) CompositeExtract 1904 2
+ Store 1909 1910
+ 1911: 6(int) Load 8(invocation)
+ 1912: 1320(ptr) AccessChain 34(data) 73 59
+ 1913: 22(i16vec4) Load 1912
+ 1914: 22(i16vec4) GroupNonUniformBitwiseOr 42 ExclusiveScan 1913
+ 1915: 1320(ptr) AccessChain 34(data) 1911 59
+ Store 1915 1914
+ 1916: 6(int) Load 8(invocation)
+ 1917: 1313(ptr) AccessChain 34(data) 37 59 38
+ 1918: 21(int16_t) Load 1917
+ 1919: 21(int16_t) GroupNonUniformBitwiseXor 42 ExclusiveScan 1918
+ 1920: 1313(ptr) AccessChain 34(data) 1916 59 38
+ Store 1920 1919
+ 1921: 6(int) Load 8(invocation)
+ 1922: 1320(ptr) AccessChain 34(data) 46 59
+ 1923: 22(i16vec4) Load 1922
+ 1924:1319(i16vec2) VectorShuffle 1923 1923 0 1
+ 1925:1319(i16vec2) GroupNonUniformBitwiseXor 42 ExclusiveScan 1924
+ 1926: 1313(ptr) AccessChain 34(data) 1921 59 38
+ 1927: 21(int16_t) CompositeExtract 1925 0
+ Store 1926 1927
+ 1928: 1313(ptr) AccessChain 34(data) 1921 59 55
+ 1929: 21(int16_t) CompositeExtract 1925 1
+ Store 1928 1929
1930: 6(int) Load 8(invocation)
- 1931: 1693(ptr) AccessChain 34(data) 37 67 38
- 1932: 23(int16_t) Load 1931
- 1933: 23(int16_t) GroupNonUniformUMin 42 InclusiveScan 1932
- 1934: 1693(ptr) AccessChain 34(data) 1930 67 38
- Store 1934 1933
- 1935: 6(int) Load 8(invocation)
- 1936: 1700(ptr) AccessChain 34(data) 46 67
- 1937: 24(i16vec4) Load 1936
- 1938:1699(i16vec2) VectorShuffle 1937 1937 0 1
- 1939:1699(i16vec2) GroupNonUniformUMin 42 InclusiveScan 1938
- 1940: 1700(ptr) AccessChain 34(data) 1935 67
- 1941: 24(i16vec4) Load 1940
- 1942: 24(i16vec4) VectorShuffle 1941 1939 4 5 2 3
- Store 1940 1942
- 1943: 6(int) Load 8(invocation)
- 1944: 1700(ptr) AccessChain 34(data) 57 67
- 1945: 24(i16vec4) Load 1944
- 1946:1709(i16vec3) VectorShuffle 1945 1945 0 1 2
- 1947:1709(i16vec3) GroupNonUniformUMin 42 InclusiveScan 1946
- 1948: 1700(ptr) AccessChain 34(data) 1943 67
- 1949: 24(i16vec4) Load 1948
- 1950: 24(i16vec4) VectorShuffle 1949 1947 4 5 6 3
- Store 1948 1950
- 1951: 6(int) Load 8(invocation)
- 1952: 1700(ptr) AccessChain 34(data) 67 67
- 1953: 24(i16vec4) Load 1952
- 1954: 24(i16vec4) GroupNonUniformUMin 42 InclusiveScan 1953
- 1955: 1700(ptr) AccessChain 34(data) 1951 67
- Store 1955 1954
- 1956: 6(int) Load 8(invocation)
- 1957: 1693(ptr) AccessChain 34(data) 37 67 38
- 1958: 23(int16_t) Load 1957
- 1959: 23(int16_t) GroupNonUniformUMax 42 InclusiveScan 1958
- 1960: 1693(ptr) AccessChain 34(data) 1956 67 38
- Store 1960 1959
- 1961: 6(int) Load 8(invocation)
- 1962: 1700(ptr) AccessChain 34(data) 46 67
- 1963: 24(i16vec4) Load 1962
- 1964:1699(i16vec2) VectorShuffle 1963 1963 0 1
- 1965:1699(i16vec2) GroupNonUniformUMax 42 InclusiveScan 1964
- 1966: 1700(ptr) AccessChain 34(data) 1961 67
- 1967: 24(i16vec4) Load 1966
- 1968: 24(i16vec4) VectorShuffle 1967 1965 4 5 2 3
- Store 1966 1968
- 1969: 6(int) Load 8(invocation)
- 1970: 1700(ptr) AccessChain 34(data) 57 67
- 1971: 24(i16vec4) Load 1970
- 1972:1709(i16vec3) VectorShuffle 1971 1971 0 1 2
- 1973:1709(i16vec3) GroupNonUniformUMax 42 InclusiveScan 1972
- 1974: 1700(ptr) AccessChain 34(data) 1969 67
- 1975: 24(i16vec4) Load 1974
- 1976: 24(i16vec4) VectorShuffle 1975 1973 4 5 6 3
- Store 1974 1976
- 1977: 6(int) Load 8(invocation)
- 1978: 1700(ptr) AccessChain 34(data) 67 67
- 1979: 24(i16vec4) Load 1978
- 1980: 24(i16vec4) GroupNonUniformUMax 42 InclusiveScan 1979
- 1981: 1700(ptr) AccessChain 34(data) 1977 67
- Store 1981 1980
- 1982: 6(int) Load 8(invocation)
- 1983: 1693(ptr) AccessChain 34(data) 37 67 38
- 1984: 23(int16_t) Load 1983
- 1985: 23(int16_t) GroupNonUniformBitwiseAnd 42 InclusiveScan 1984
- 1986: 1693(ptr) AccessChain 34(data) 1982 67 38
- Store 1986 1985
- 1987: 6(int) Load 8(invocation)
- 1988: 1700(ptr) AccessChain 34(data) 46 67
- 1989: 24(i16vec4) Load 1988
- 1990:1699(i16vec2) VectorShuffle 1989 1989 0 1
- 1991:1699(i16vec2) GroupNonUniformBitwiseAnd 42 InclusiveScan 1990
- 1992: 1700(ptr) AccessChain 34(data) 1987 67
- 1993: 24(i16vec4) Load 1992
- 1994: 24(i16vec4) VectorShuffle 1993 1991 4 5 2 3
- Store 1992 1994
- 1995: 6(int) Load 8(invocation)
- 1996: 1700(ptr) AccessChain 34(data) 57 67
- 1997: 24(i16vec4) Load 1996
- 1998:1709(i16vec3) VectorShuffle 1997 1997 0 1 2
- 1999:1709(i16vec3) GroupNonUniformBitwiseAnd 42 InclusiveScan 1998
- 2000: 1700(ptr) AccessChain 34(data) 1995 67
- 2001: 24(i16vec4) Load 2000
- 2002: 24(i16vec4) VectorShuffle 2001 1999 4 5 6 3
- Store 2000 2002
- 2003: 6(int) Load 8(invocation)
- 2004: 1700(ptr) AccessChain 34(data) 67 67
- 2005: 24(i16vec4) Load 2004
- 2006: 24(i16vec4) GroupNonUniformBitwiseAnd 42 InclusiveScan 2005
- 2007: 1700(ptr) AccessChain 34(data) 2003 67
- Store 2007 2006
- 2008: 6(int) Load 8(invocation)
- 2009: 1693(ptr) AccessChain 34(data) 37 67 38
- 2010: 23(int16_t) Load 2009
- 2011: 23(int16_t) GroupNonUniformBitwiseOr 42 InclusiveScan 2010
- 2012: 1693(ptr) AccessChain 34(data) 2008 67 38
- Store 2012 2011
- 2013: 6(int) Load 8(invocation)
- 2014: 1700(ptr) AccessChain 34(data) 46 67
- 2015: 24(i16vec4) Load 2014
- 2016:1699(i16vec2) VectorShuffle 2015 2015 0 1
- 2017:1699(i16vec2) GroupNonUniformBitwiseOr 42 InclusiveScan 2016
- 2018: 1700(ptr) AccessChain 34(data) 2013 67
- 2019: 24(i16vec4) Load 2018
- 2020: 24(i16vec4) VectorShuffle 2019 2017 4 5 2 3
- Store 2018 2020
- 2021: 6(int) Load 8(invocation)
- 2022: 1700(ptr) AccessChain 34(data) 57 67
- 2023: 24(i16vec4) Load 2022
- 2024:1709(i16vec3) VectorShuffle 2023 2023 0 1 2
- 2025:1709(i16vec3) GroupNonUniformBitwiseOr 42 InclusiveScan 2024
- 2026: 1700(ptr) AccessChain 34(data) 2021 67
- 2027: 24(i16vec4) Load 2026
- 2028: 24(i16vec4) VectorShuffle 2027 2025 4 5 6 3
- Store 2026 2028
- 2029: 6(int) Load 8(invocation)
- 2030: 1700(ptr) AccessChain 34(data) 67 67
- 2031: 24(i16vec4) Load 2030
- 2032: 24(i16vec4) GroupNonUniformBitwiseOr 42 InclusiveScan 2031
- 2033: 1700(ptr) AccessChain 34(data) 2029 67
- Store 2033 2032
- 2034: 6(int) Load 8(invocation)
- 2035: 1693(ptr) AccessChain 34(data) 37 67 38
- 2036: 23(int16_t) Load 2035
- 2037: 23(int16_t) GroupNonUniformBitwiseXor 42 InclusiveScan 2036
- 2038: 1693(ptr) AccessChain 34(data) 2034 67 38
- Store 2038 2037
- 2039: 6(int) Load 8(invocation)
- 2040: 1700(ptr) AccessChain 34(data) 46 67
- 2041: 24(i16vec4) Load 2040
- 2042:1699(i16vec2) VectorShuffle 2041 2041 0 1
- 2043:1699(i16vec2) GroupNonUniformBitwiseXor 42 InclusiveScan 2042
- 2044: 1700(ptr) AccessChain 34(data) 2039 67
- 2045: 24(i16vec4) Load 2044
- 2046: 24(i16vec4) VectorShuffle 2045 2043 4 5 2 3
- Store 2044 2046
- 2047: 6(int) Load 8(invocation)
- 2048: 1700(ptr) AccessChain 34(data) 57 67
- 2049: 24(i16vec4) Load 2048
- 2050:1709(i16vec3) VectorShuffle 2049 2049 0 1 2
- 2051:1709(i16vec3) GroupNonUniformBitwiseXor 42 InclusiveScan 2050
- 2052: 1700(ptr) AccessChain 34(data) 2047 67
- 2053: 24(i16vec4) Load 2052
- 2054: 24(i16vec4) VectorShuffle 2053 2051 4 5 6 3
- Store 2052 2054
- 2055: 6(int) Load 8(invocation)
- 2056: 1700(ptr) AccessChain 34(data) 67 67
- 2057: 24(i16vec4) Load 2056
- 2058: 24(i16vec4) GroupNonUniformBitwiseXor 42 InclusiveScan 2057
- 2059: 1700(ptr) AccessChain 34(data) 2055 67
- Store 2059 2058
- 2060: 6(int) Load 8(invocation)
- 2061: 1693(ptr) AccessChain 34(data) 37 67 38
- 2062: 23(int16_t) Load 2061
- 2063: 23(int16_t) GroupNonUniformIAdd 42 ExclusiveScan 2062
- 2064: 1693(ptr) AccessChain 34(data) 2060 67 38
- Store 2064 2063
+ 1931: 1320(ptr) AccessChain 34(data) 59 59
+ 1932: 22(i16vec4) Load 1931
+ 1933:1330(i16vec3) VectorShuffle 1932 1932 0 1 2
+ 1934:1330(i16vec3) GroupNonUniformBitwiseXor 42 ExclusiveScan 1933
+ 1935: 1313(ptr) AccessChain 34(data) 1930 59 38
+ 1936: 21(int16_t) CompositeExtract 1934 0
+ Store 1935 1936
+ 1937: 1313(ptr) AccessChain 34(data) 1930 59 55
+ 1938: 21(int16_t) CompositeExtract 1934 1
+ Store 1937 1938
+ 1939: 1313(ptr) AccessChain 34(data) 1930 59 69
+ 1940: 21(int16_t) CompositeExtract 1934 2
+ Store 1939 1940
+ 1941: 6(int) Load 8(invocation)
+ 1942: 1320(ptr) AccessChain 34(data) 73 59
+ 1943: 22(i16vec4) Load 1942
+ 1944: 22(i16vec4) GroupNonUniformBitwiseXor 42 ExclusiveScan 1943
+ 1945: 1320(ptr) AccessChain 34(data) 1941 59
+ Store 1945 1944
+ 1946: 6(int) Load 8(invocation)
+ 1948: 1947(ptr) AccessChain 34(data) 37 73 38
+ 1949: 23(int16_t) Load 1948
+ 1950: 23(int16_t) GroupNonUniformIAdd 42 Reduce 1949
+ 1951: 1947(ptr) AccessChain 34(data) 1946 73 38
+ Store 1951 1950
+ 1952: 6(int) Load 8(invocation)
+ 1955: 1954(ptr) AccessChain 34(data) 46 73
+ 1956: 24(i16vec4) Load 1955
+ 1957:1953(i16vec2) VectorShuffle 1956 1956 0 1
+ 1958:1953(i16vec2) GroupNonUniformIAdd 42 Reduce 1957
+ 1959: 1947(ptr) AccessChain 34(data) 1952 73 38
+ 1960: 23(int16_t) CompositeExtract 1958 0
+ Store 1959 1960
+ 1961: 1947(ptr) AccessChain 34(data) 1952 73 55
+ 1962: 23(int16_t) CompositeExtract 1958 1
+ Store 1961 1962
+ 1963: 6(int) Load 8(invocation)
+ 1965: 1954(ptr) AccessChain 34(data) 59 73
+ 1966: 24(i16vec4) Load 1965
+ 1967:1964(i16vec3) VectorShuffle 1966 1966 0 1 2
+ 1968:1964(i16vec3) GroupNonUniformIAdd 42 Reduce 1967
+ 1969: 1947(ptr) AccessChain 34(data) 1963 73 38
+ 1970: 23(int16_t) CompositeExtract 1968 0
+ Store 1969 1970
+ 1971: 1947(ptr) AccessChain 34(data) 1963 73 55
+ 1972: 23(int16_t) CompositeExtract 1968 1
+ Store 1971 1972
+ 1973: 1947(ptr) AccessChain 34(data) 1963 73 69
+ 1974: 23(int16_t) CompositeExtract 1968 2
+ Store 1973 1974
+ 1975: 6(int) Load 8(invocation)
+ 1976: 1954(ptr) AccessChain 34(data) 73 73
+ 1977: 24(i16vec4) Load 1976
+ 1978: 24(i16vec4) GroupNonUniformIAdd 42 Reduce 1977
+ 1979: 1954(ptr) AccessChain 34(data) 1975 73
+ Store 1979 1978
+ 1980: 6(int) Load 8(invocation)
+ 1981: 1947(ptr) AccessChain 34(data) 37 73 38
+ 1982: 23(int16_t) Load 1981
+ 1983: 23(int16_t) GroupNonUniformIMul 42 Reduce 1982
+ 1984: 1947(ptr) AccessChain 34(data) 1980 73 38
+ Store 1984 1983
+ 1985: 6(int) Load 8(invocation)
+ 1986: 1954(ptr) AccessChain 34(data) 46 73
+ 1987: 24(i16vec4) Load 1986
+ 1988:1953(i16vec2) VectorShuffle 1987 1987 0 1
+ 1989:1953(i16vec2) GroupNonUniformIMul 42 Reduce 1988
+ 1990: 1947(ptr) AccessChain 34(data) 1985 73 38
+ 1991: 23(int16_t) CompositeExtract 1989 0
+ Store 1990 1991
+ 1992: 1947(ptr) AccessChain 34(data) 1985 73 55
+ 1993: 23(int16_t) CompositeExtract 1989 1
+ Store 1992 1993
+ 1994: 6(int) Load 8(invocation)
+ 1995: 1954(ptr) AccessChain 34(data) 59 73
+ 1996: 24(i16vec4) Load 1995
+ 1997:1964(i16vec3) VectorShuffle 1996 1996 0 1 2
+ 1998:1964(i16vec3) GroupNonUniformIMul 42 Reduce 1997
+ 1999: 1947(ptr) AccessChain 34(data) 1994 73 38
+ 2000: 23(int16_t) CompositeExtract 1998 0
+ Store 1999 2000
+ 2001: 1947(ptr) AccessChain 34(data) 1994 73 55
+ 2002: 23(int16_t) CompositeExtract 1998 1
+ Store 2001 2002
+ 2003: 1947(ptr) AccessChain 34(data) 1994 73 69
+ 2004: 23(int16_t) CompositeExtract 1998 2
+ Store 2003 2004
+ 2005: 6(int) Load 8(invocation)
+ 2006: 1954(ptr) AccessChain 34(data) 73 73
+ 2007: 24(i16vec4) Load 2006
+ 2008: 24(i16vec4) GroupNonUniformIMul 42 Reduce 2007
+ 2009: 1954(ptr) AccessChain 34(data) 2005 73
+ Store 2009 2008
+ 2010: 6(int) Load 8(invocation)
+ 2011: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2012: 23(int16_t) Load 2011
+ 2013: 23(int16_t) GroupNonUniformUMin 42 Reduce 2012
+ 2014: 1947(ptr) AccessChain 34(data) 2010 73 38
+ Store 2014 2013
+ 2015: 6(int) Load 8(invocation)
+ 2016: 1954(ptr) AccessChain 34(data) 46 73
+ 2017: 24(i16vec4) Load 2016
+ 2018:1953(i16vec2) VectorShuffle 2017 2017 0 1
+ 2019:1953(i16vec2) GroupNonUniformUMin 42 Reduce 2018
+ 2020: 1947(ptr) AccessChain 34(data) 2015 73 38
+ 2021: 23(int16_t) CompositeExtract 2019 0
+ Store 2020 2021
+ 2022: 1947(ptr) AccessChain 34(data) 2015 73 55
+ 2023: 23(int16_t) CompositeExtract 2019 1
+ Store 2022 2023
+ 2024: 6(int) Load 8(invocation)
+ 2025: 1954(ptr) AccessChain 34(data) 59 73
+ 2026: 24(i16vec4) Load 2025
+ 2027:1964(i16vec3) VectorShuffle 2026 2026 0 1 2
+ 2028:1964(i16vec3) GroupNonUniformUMin 42 Reduce 2027
+ 2029: 1947(ptr) AccessChain 34(data) 2024 73 38
+ 2030: 23(int16_t) CompositeExtract 2028 0
+ Store 2029 2030
+ 2031: 1947(ptr) AccessChain 34(data) 2024 73 55
+ 2032: 23(int16_t) CompositeExtract 2028 1
+ Store 2031 2032
+ 2033: 1947(ptr) AccessChain 34(data) 2024 73 69
+ 2034: 23(int16_t) CompositeExtract 2028 2
+ Store 2033 2034
+ 2035: 6(int) Load 8(invocation)
+ 2036: 1954(ptr) AccessChain 34(data) 73 73
+ 2037: 24(i16vec4) Load 2036
+ 2038: 24(i16vec4) GroupNonUniformUMin 42 Reduce 2037
+ 2039: 1954(ptr) AccessChain 34(data) 2035 73
+ Store 2039 2038
+ 2040: 6(int) Load 8(invocation)
+ 2041: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2042: 23(int16_t) Load 2041
+ 2043: 23(int16_t) GroupNonUniformUMax 42 Reduce 2042
+ 2044: 1947(ptr) AccessChain 34(data) 2040 73 38
+ Store 2044 2043
+ 2045: 6(int) Load 8(invocation)
+ 2046: 1954(ptr) AccessChain 34(data) 46 73
+ 2047: 24(i16vec4) Load 2046
+ 2048:1953(i16vec2) VectorShuffle 2047 2047 0 1
+ 2049:1953(i16vec2) GroupNonUniformUMax 42 Reduce 2048
+ 2050: 1947(ptr) AccessChain 34(data) 2045 73 38
+ 2051: 23(int16_t) CompositeExtract 2049 0
+ Store 2050 2051
+ 2052: 1947(ptr) AccessChain 34(data) 2045 73 55
+ 2053: 23(int16_t) CompositeExtract 2049 1
+ Store 2052 2053
+ 2054: 6(int) Load 8(invocation)
+ 2055: 1954(ptr) AccessChain 34(data) 59 73
+ 2056: 24(i16vec4) Load 2055
+ 2057:1964(i16vec3) VectorShuffle 2056 2056 0 1 2
+ 2058:1964(i16vec3) GroupNonUniformUMax 42 Reduce 2057
+ 2059: 1947(ptr) AccessChain 34(data) 2054 73 38
+ 2060: 23(int16_t) CompositeExtract 2058 0
+ Store 2059 2060
+ 2061: 1947(ptr) AccessChain 34(data) 2054 73 55
+ 2062: 23(int16_t) CompositeExtract 2058 1
+ Store 2061 2062
+ 2063: 1947(ptr) AccessChain 34(data) 2054 73 69
+ 2064: 23(int16_t) CompositeExtract 2058 2
+ Store 2063 2064
2065: 6(int) Load 8(invocation)
- 2066: 1700(ptr) AccessChain 34(data) 46 67
+ 2066: 1954(ptr) AccessChain 34(data) 73 73
2067: 24(i16vec4) Load 2066
- 2068:1699(i16vec2) VectorShuffle 2067 2067 0 1
- 2069:1699(i16vec2) GroupNonUniformIAdd 42 ExclusiveScan 2068
- 2070: 1700(ptr) AccessChain 34(data) 2065 67
- 2071: 24(i16vec4) Load 2070
- 2072: 24(i16vec4) VectorShuffle 2071 2069 4 5 2 3
- Store 2070 2072
- 2073: 6(int) Load 8(invocation)
- 2074: 1700(ptr) AccessChain 34(data) 57 67
- 2075: 24(i16vec4) Load 2074
- 2076:1709(i16vec3) VectorShuffle 2075 2075 0 1 2
- 2077:1709(i16vec3) GroupNonUniformIAdd 42 ExclusiveScan 2076
- 2078: 1700(ptr) AccessChain 34(data) 2073 67
- 2079: 24(i16vec4) Load 2078
- 2080: 24(i16vec4) VectorShuffle 2079 2077 4 5 6 3
- Store 2078 2080
- 2081: 6(int) Load 8(invocation)
- 2082: 1700(ptr) AccessChain 34(data) 67 67
- 2083: 24(i16vec4) Load 2082
- 2084: 24(i16vec4) GroupNonUniformIAdd 42 ExclusiveScan 2083
- 2085: 1700(ptr) AccessChain 34(data) 2081 67
- Store 2085 2084
- 2086: 6(int) Load 8(invocation)
- 2087: 1693(ptr) AccessChain 34(data) 37 67 38
- 2088: 23(int16_t) Load 2087
- 2089: 23(int16_t) GroupNonUniformIMul 42 ExclusiveScan 2088
- 2090: 1693(ptr) AccessChain 34(data) 2086 67 38
- Store 2090 2089
- 2091: 6(int) Load 8(invocation)
- 2092: 1700(ptr) AccessChain 34(data) 46 67
- 2093: 24(i16vec4) Load 2092
- 2094:1699(i16vec2) VectorShuffle 2093 2093 0 1
- 2095:1699(i16vec2) GroupNonUniformIMul 42 ExclusiveScan 2094
- 2096: 1700(ptr) AccessChain 34(data) 2091 67
+ 2068: 24(i16vec4) GroupNonUniformUMax 42 Reduce 2067
+ 2069: 1954(ptr) AccessChain 34(data) 2065 73
+ Store 2069 2068
+ 2070: 6(int) Load 8(invocation)
+ 2071: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2072: 23(int16_t) Load 2071
+ 2073: 23(int16_t) GroupNonUniformBitwiseAnd 42 Reduce 2072
+ 2074: 1947(ptr) AccessChain 34(data) 2070 73 38
+ Store 2074 2073
+ 2075: 6(int) Load 8(invocation)
+ 2076: 1954(ptr) AccessChain 34(data) 46 73
+ 2077: 24(i16vec4) Load 2076
+ 2078:1953(i16vec2) VectorShuffle 2077 2077 0 1
+ 2079:1953(i16vec2) GroupNonUniformBitwiseAnd 42 Reduce 2078
+ 2080: 1947(ptr) AccessChain 34(data) 2075 73 38
+ 2081: 23(int16_t) CompositeExtract 2079 0
+ Store 2080 2081
+ 2082: 1947(ptr) AccessChain 34(data) 2075 73 55
+ 2083: 23(int16_t) CompositeExtract 2079 1
+ Store 2082 2083
+ 2084: 6(int) Load 8(invocation)
+ 2085: 1954(ptr) AccessChain 34(data) 59 73
+ 2086: 24(i16vec4) Load 2085
+ 2087:1964(i16vec3) VectorShuffle 2086 2086 0 1 2
+ 2088:1964(i16vec3) GroupNonUniformBitwiseAnd 42 Reduce 2087
+ 2089: 1947(ptr) AccessChain 34(data) 2084 73 38
+ 2090: 23(int16_t) CompositeExtract 2088 0
+ Store 2089 2090
+ 2091: 1947(ptr) AccessChain 34(data) 2084 73 55
+ 2092: 23(int16_t) CompositeExtract 2088 1
+ Store 2091 2092
+ 2093: 1947(ptr) AccessChain 34(data) 2084 73 69
+ 2094: 23(int16_t) CompositeExtract 2088 2
+ Store 2093 2094
+ 2095: 6(int) Load 8(invocation)
+ 2096: 1954(ptr) AccessChain 34(data) 73 73
2097: 24(i16vec4) Load 2096
- 2098: 24(i16vec4) VectorShuffle 2097 2095 4 5 2 3
- Store 2096 2098
- 2099: 6(int) Load 8(invocation)
- 2100: 1700(ptr) AccessChain 34(data) 57 67
- 2101: 24(i16vec4) Load 2100
- 2102:1709(i16vec3) VectorShuffle 2101 2101 0 1 2
- 2103:1709(i16vec3) GroupNonUniformIMul 42 ExclusiveScan 2102
- 2104: 1700(ptr) AccessChain 34(data) 2099 67
- 2105: 24(i16vec4) Load 2104
- 2106: 24(i16vec4) VectorShuffle 2105 2103 4 5 6 3
- Store 2104 2106
- 2107: 6(int) Load 8(invocation)
- 2108: 1700(ptr) AccessChain 34(data) 67 67
- 2109: 24(i16vec4) Load 2108
- 2110: 24(i16vec4) GroupNonUniformIMul 42 ExclusiveScan 2109
- 2111: 1700(ptr) AccessChain 34(data) 2107 67
- Store 2111 2110
- 2112: 6(int) Load 8(invocation)
- 2113: 1693(ptr) AccessChain 34(data) 37 67 38
- 2114: 23(int16_t) Load 2113
- 2115: 23(int16_t) GroupNonUniformUMin 42 ExclusiveScan 2114
- 2116: 1693(ptr) AccessChain 34(data) 2112 67 38
- Store 2116 2115
- 2117: 6(int) Load 8(invocation)
- 2118: 1700(ptr) AccessChain 34(data) 46 67
- 2119: 24(i16vec4) Load 2118
- 2120:1699(i16vec2) VectorShuffle 2119 2119 0 1
- 2121:1699(i16vec2) GroupNonUniformUMin 42 ExclusiveScan 2120
- 2122: 1700(ptr) AccessChain 34(data) 2117 67
- 2123: 24(i16vec4) Load 2122
- 2124: 24(i16vec4) VectorShuffle 2123 2121 4 5 2 3
- Store 2122 2124
+ 2098: 24(i16vec4) GroupNonUniformBitwiseAnd 42 Reduce 2097
+ 2099: 1954(ptr) AccessChain 34(data) 2095 73
+ Store 2099 2098
+ 2100: 6(int) Load 8(invocation)
+ 2101: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2102: 23(int16_t) Load 2101
+ 2103: 23(int16_t) GroupNonUniformBitwiseOr 42 Reduce 2102
+ 2104: 1947(ptr) AccessChain 34(data) 2100 73 38
+ Store 2104 2103
+ 2105: 6(int) Load 8(invocation)
+ 2106: 1954(ptr) AccessChain 34(data) 46 73
+ 2107: 24(i16vec4) Load 2106
+ 2108:1953(i16vec2) VectorShuffle 2107 2107 0 1
+ 2109:1953(i16vec2) GroupNonUniformBitwiseOr 42 Reduce 2108
+ 2110: 1947(ptr) AccessChain 34(data) 2105 73 38
+ 2111: 23(int16_t) CompositeExtract 2109 0
+ Store 2110 2111
+ 2112: 1947(ptr) AccessChain 34(data) 2105 73 55
+ 2113: 23(int16_t) CompositeExtract 2109 1
+ Store 2112 2113
+ 2114: 6(int) Load 8(invocation)
+ 2115: 1954(ptr) AccessChain 34(data) 59 73
+ 2116: 24(i16vec4) Load 2115
+ 2117:1964(i16vec3) VectorShuffle 2116 2116 0 1 2
+ 2118:1964(i16vec3) GroupNonUniformBitwiseOr 42 Reduce 2117
+ 2119: 1947(ptr) AccessChain 34(data) 2114 73 38
+ 2120: 23(int16_t) CompositeExtract 2118 0
+ Store 2119 2120
+ 2121: 1947(ptr) AccessChain 34(data) 2114 73 55
+ 2122: 23(int16_t) CompositeExtract 2118 1
+ Store 2121 2122
+ 2123: 1947(ptr) AccessChain 34(data) 2114 73 69
+ 2124: 23(int16_t) CompositeExtract 2118 2
+ Store 2123 2124
2125: 6(int) Load 8(invocation)
- 2126: 1700(ptr) AccessChain 34(data) 57 67
+ 2126: 1954(ptr) AccessChain 34(data) 73 73
2127: 24(i16vec4) Load 2126
- 2128:1709(i16vec3) VectorShuffle 2127 2127 0 1 2
- 2129:1709(i16vec3) GroupNonUniformUMin 42 ExclusiveScan 2128
- 2130: 1700(ptr) AccessChain 34(data) 2125 67
- 2131: 24(i16vec4) Load 2130
- 2132: 24(i16vec4) VectorShuffle 2131 2129 4 5 6 3
- Store 2130 2132
- 2133: 6(int) Load 8(invocation)
- 2134: 1700(ptr) AccessChain 34(data) 67 67
- 2135: 24(i16vec4) Load 2134
- 2136: 24(i16vec4) GroupNonUniformUMin 42 ExclusiveScan 2135
- 2137: 1700(ptr) AccessChain 34(data) 2133 67
- Store 2137 2136
- 2138: 6(int) Load 8(invocation)
- 2139: 1693(ptr) AccessChain 34(data) 37 67 38
- 2140: 23(int16_t) Load 2139
- 2141: 23(int16_t) GroupNonUniformUMax 42 ExclusiveScan 2140
- 2142: 1693(ptr) AccessChain 34(data) 2138 67 38
- Store 2142 2141
- 2143: 6(int) Load 8(invocation)
- 2144: 1700(ptr) AccessChain 34(data) 46 67
- 2145: 24(i16vec4) Load 2144
- 2146:1699(i16vec2) VectorShuffle 2145 2145 0 1
- 2147:1699(i16vec2) GroupNonUniformUMax 42 ExclusiveScan 2146
- 2148: 1700(ptr) AccessChain 34(data) 2143 67
- 2149: 24(i16vec4) Load 2148
- 2150: 24(i16vec4) VectorShuffle 2149 2147 4 5 2 3
- Store 2148 2150
- 2151: 6(int) Load 8(invocation)
- 2152: 1700(ptr) AccessChain 34(data) 57 67
- 2153: 24(i16vec4) Load 2152
- 2154:1709(i16vec3) VectorShuffle 2153 2153 0 1 2
- 2155:1709(i16vec3) GroupNonUniformUMax 42 ExclusiveScan 2154
- 2156: 1700(ptr) AccessChain 34(data) 2151 67
+ 2128: 24(i16vec4) GroupNonUniformBitwiseOr 42 Reduce 2127
+ 2129: 1954(ptr) AccessChain 34(data) 2125 73
+ Store 2129 2128
+ 2130: 6(int) Load 8(invocation)
+ 2131: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2132: 23(int16_t) Load 2131
+ 2133: 23(int16_t) GroupNonUniformBitwiseXor 42 Reduce 2132
+ 2134: 1947(ptr) AccessChain 34(data) 2130 73 38
+ Store 2134 2133
+ 2135: 6(int) Load 8(invocation)
+ 2136: 1954(ptr) AccessChain 34(data) 46 73
+ 2137: 24(i16vec4) Load 2136
+ 2138:1953(i16vec2) VectorShuffle 2137 2137 0 1
+ 2139:1953(i16vec2) GroupNonUniformBitwiseXor 42 Reduce 2138
+ 2140: 1947(ptr) AccessChain 34(data) 2135 73 38
+ 2141: 23(int16_t) CompositeExtract 2139 0
+ Store 2140 2141
+ 2142: 1947(ptr) AccessChain 34(data) 2135 73 55
+ 2143: 23(int16_t) CompositeExtract 2139 1
+ Store 2142 2143
+ 2144: 6(int) Load 8(invocation)
+ 2145: 1954(ptr) AccessChain 34(data) 59 73
+ 2146: 24(i16vec4) Load 2145
+ 2147:1964(i16vec3) VectorShuffle 2146 2146 0 1 2
+ 2148:1964(i16vec3) GroupNonUniformBitwiseXor 42 Reduce 2147
+ 2149: 1947(ptr) AccessChain 34(data) 2144 73 38
+ 2150: 23(int16_t) CompositeExtract 2148 0
+ Store 2149 2150
+ 2151: 1947(ptr) AccessChain 34(data) 2144 73 55
+ 2152: 23(int16_t) CompositeExtract 2148 1
+ Store 2151 2152
+ 2153: 1947(ptr) AccessChain 34(data) 2144 73 69
+ 2154: 23(int16_t) CompositeExtract 2148 2
+ Store 2153 2154
+ 2155: 6(int) Load 8(invocation)
+ 2156: 1954(ptr) AccessChain 34(data) 73 73
2157: 24(i16vec4) Load 2156
- 2158: 24(i16vec4) VectorShuffle 2157 2155 4 5 6 3
- Store 2156 2158
- 2159: 6(int) Load 8(invocation)
- 2160: 1700(ptr) AccessChain 34(data) 67 67
- 2161: 24(i16vec4) Load 2160
- 2162: 24(i16vec4) GroupNonUniformUMax 42 ExclusiveScan 2161
- 2163: 1700(ptr) AccessChain 34(data) 2159 67
- Store 2163 2162
- 2164: 6(int) Load 8(invocation)
- 2165: 1693(ptr) AccessChain 34(data) 37 67 38
- 2166: 23(int16_t) Load 2165
- 2167: 23(int16_t) GroupNonUniformBitwiseAnd 42 ExclusiveScan 2166
- 2168: 1693(ptr) AccessChain 34(data) 2164 67 38
- Store 2168 2167
- 2169: 6(int) Load 8(invocation)
- 2170: 1700(ptr) AccessChain 34(data) 46 67
- 2171: 24(i16vec4) Load 2170
- 2172:1699(i16vec2) VectorShuffle 2171 2171 0 1
- 2173:1699(i16vec2) GroupNonUniformBitwiseAnd 42 ExclusiveScan 2172
- 2174: 1700(ptr) AccessChain 34(data) 2169 67
- 2175: 24(i16vec4) Load 2174
- 2176: 24(i16vec4) VectorShuffle 2175 2173 4 5 2 3
- Store 2174 2176
- 2177: 6(int) Load 8(invocation)
- 2178: 1700(ptr) AccessChain 34(data) 57 67
- 2179: 24(i16vec4) Load 2178
- 2180:1709(i16vec3) VectorShuffle 2179 2179 0 1 2
- 2181:1709(i16vec3) GroupNonUniformBitwiseAnd 42 ExclusiveScan 2180
- 2182: 1700(ptr) AccessChain 34(data) 2177 67
- 2183: 24(i16vec4) Load 2182
- 2184: 24(i16vec4) VectorShuffle 2183 2181 4 5 6 3
- Store 2182 2184
+ 2158: 24(i16vec4) GroupNonUniformBitwiseXor 42 Reduce 2157
+ 2159: 1954(ptr) AccessChain 34(data) 2155 73
+ Store 2159 2158
+ 2160: 6(int) Load 8(invocation)
+ 2161: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2162: 23(int16_t) Load 2161
+ 2163: 23(int16_t) GroupNonUniformIAdd 42 InclusiveScan 2162
+ 2164: 1947(ptr) AccessChain 34(data) 2160 73 38
+ Store 2164 2163
+ 2165: 6(int) Load 8(invocation)
+ 2166: 1954(ptr) AccessChain 34(data) 46 73
+ 2167: 24(i16vec4) Load 2166
+ 2168:1953(i16vec2) VectorShuffle 2167 2167 0 1
+ 2169:1953(i16vec2) GroupNonUniformIAdd 42 InclusiveScan 2168
+ 2170: 1947(ptr) AccessChain 34(data) 2165 73 38
+ 2171: 23(int16_t) CompositeExtract 2169 0
+ Store 2170 2171
+ 2172: 1947(ptr) AccessChain 34(data) 2165 73 55
+ 2173: 23(int16_t) CompositeExtract 2169 1
+ Store 2172 2173
+ 2174: 6(int) Load 8(invocation)
+ 2175: 1954(ptr) AccessChain 34(data) 59 73
+ 2176: 24(i16vec4) Load 2175
+ 2177:1964(i16vec3) VectorShuffle 2176 2176 0 1 2
+ 2178:1964(i16vec3) GroupNonUniformIAdd 42 InclusiveScan 2177
+ 2179: 1947(ptr) AccessChain 34(data) 2174 73 38
+ 2180: 23(int16_t) CompositeExtract 2178 0
+ Store 2179 2180
+ 2181: 1947(ptr) AccessChain 34(data) 2174 73 55
+ 2182: 23(int16_t) CompositeExtract 2178 1
+ Store 2181 2182
+ 2183: 1947(ptr) AccessChain 34(data) 2174 73 69
+ 2184: 23(int16_t) CompositeExtract 2178 2
+ Store 2183 2184
2185: 6(int) Load 8(invocation)
- 2186: 1700(ptr) AccessChain 34(data) 67 67
+ 2186: 1954(ptr) AccessChain 34(data) 73 73
2187: 24(i16vec4) Load 2186
- 2188: 24(i16vec4) GroupNonUniformBitwiseAnd 42 ExclusiveScan 2187
- 2189: 1700(ptr) AccessChain 34(data) 2185 67
+ 2188: 24(i16vec4) GroupNonUniformIAdd 42 InclusiveScan 2187
+ 2189: 1954(ptr) AccessChain 34(data) 2185 73
Store 2189 2188
2190: 6(int) Load 8(invocation)
- 2191: 1693(ptr) AccessChain 34(data) 37 67 38
+ 2191: 1947(ptr) AccessChain 34(data) 37 73 38
2192: 23(int16_t) Load 2191
- 2193: 23(int16_t) GroupNonUniformBitwiseOr 42 ExclusiveScan 2192
- 2194: 1693(ptr) AccessChain 34(data) 2190 67 38
+ 2193: 23(int16_t) GroupNonUniformIMul 42 InclusiveScan 2192
+ 2194: 1947(ptr) AccessChain 34(data) 2190 73 38
Store 2194 2193
2195: 6(int) Load 8(invocation)
- 2196: 1700(ptr) AccessChain 34(data) 46 67
+ 2196: 1954(ptr) AccessChain 34(data) 46 73
2197: 24(i16vec4) Load 2196
- 2198:1699(i16vec2) VectorShuffle 2197 2197 0 1
- 2199:1699(i16vec2) GroupNonUniformBitwiseOr 42 ExclusiveScan 2198
- 2200: 1700(ptr) AccessChain 34(data) 2195 67
- 2201: 24(i16vec4) Load 2200
- 2202: 24(i16vec4) VectorShuffle 2201 2199 4 5 2 3
- Store 2200 2202
- 2203: 6(int) Load 8(invocation)
- 2204: 1700(ptr) AccessChain 34(data) 57 67
- 2205: 24(i16vec4) Load 2204
- 2206:1709(i16vec3) VectorShuffle 2205 2205 0 1 2
- 2207:1709(i16vec3) GroupNonUniformBitwiseOr 42 ExclusiveScan 2206
- 2208: 1700(ptr) AccessChain 34(data) 2203 67
- 2209: 24(i16vec4) Load 2208
- 2210: 24(i16vec4) VectorShuffle 2209 2207 4 5 6 3
- Store 2208 2210
- 2211: 6(int) Load 8(invocation)
- 2212: 1700(ptr) AccessChain 34(data) 67 67
- 2213: 24(i16vec4) Load 2212
- 2214: 24(i16vec4) GroupNonUniformBitwiseOr 42 ExclusiveScan 2213
- 2215: 1700(ptr) AccessChain 34(data) 2211 67
- Store 2215 2214
- 2216: 6(int) Load 8(invocation)
- 2217: 1693(ptr) AccessChain 34(data) 37 67 38
- 2218: 23(int16_t) Load 2217
- 2219: 23(int16_t) GroupNonUniformBitwiseXor 42 ExclusiveScan 2218
- 2220: 1693(ptr) AccessChain 34(data) 2216 67 38
- Store 2220 2219
- 2221: 6(int) Load 8(invocation)
- 2222: 1700(ptr) AccessChain 34(data) 46 67
- 2223: 24(i16vec4) Load 2222
- 2224:1699(i16vec2) VectorShuffle 2223 2223 0 1
- 2225:1699(i16vec2) GroupNonUniformBitwiseXor 42 ExclusiveScan 2224
- 2226: 1700(ptr) AccessChain 34(data) 2221 67
+ 2198:1953(i16vec2) VectorShuffle 2197 2197 0 1
+ 2199:1953(i16vec2) GroupNonUniformIMul 42 InclusiveScan 2198
+ 2200: 1947(ptr) AccessChain 34(data) 2195 73 38
+ 2201: 23(int16_t) CompositeExtract 2199 0
+ Store 2200 2201
+ 2202: 1947(ptr) AccessChain 34(data) 2195 73 55
+ 2203: 23(int16_t) CompositeExtract 2199 1
+ Store 2202 2203
+ 2204: 6(int) Load 8(invocation)
+ 2205: 1954(ptr) AccessChain 34(data) 59 73
+ 2206: 24(i16vec4) Load 2205
+ 2207:1964(i16vec3) VectorShuffle 2206 2206 0 1 2
+ 2208:1964(i16vec3) GroupNonUniformIMul 42 InclusiveScan 2207
+ 2209: 1947(ptr) AccessChain 34(data) 2204 73 38
+ 2210: 23(int16_t) CompositeExtract 2208 0
+ Store 2209 2210
+ 2211: 1947(ptr) AccessChain 34(data) 2204 73 55
+ 2212: 23(int16_t) CompositeExtract 2208 1
+ Store 2211 2212
+ 2213: 1947(ptr) AccessChain 34(data) 2204 73 69
+ 2214: 23(int16_t) CompositeExtract 2208 2
+ Store 2213 2214
+ 2215: 6(int) Load 8(invocation)
+ 2216: 1954(ptr) AccessChain 34(data) 73 73
+ 2217: 24(i16vec4) Load 2216
+ 2218: 24(i16vec4) GroupNonUniformIMul 42 InclusiveScan 2217
+ 2219: 1954(ptr) AccessChain 34(data) 2215 73
+ Store 2219 2218
+ 2220: 6(int) Load 8(invocation)
+ 2221: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2222: 23(int16_t) Load 2221
+ 2223: 23(int16_t) GroupNonUniformUMin 42 InclusiveScan 2222
+ 2224: 1947(ptr) AccessChain 34(data) 2220 73 38
+ Store 2224 2223
+ 2225: 6(int) Load 8(invocation)
+ 2226: 1954(ptr) AccessChain 34(data) 46 73
2227: 24(i16vec4) Load 2226
- 2228: 24(i16vec4) VectorShuffle 2227 2225 4 5 2 3
- Store 2226 2228
- 2229: 6(int) Load 8(invocation)
- 2230: 1700(ptr) AccessChain 34(data) 57 67
- 2231: 24(i16vec4) Load 2230
- 2232:1709(i16vec3) VectorShuffle 2231 2231 0 1 2
- 2233:1709(i16vec3) GroupNonUniformBitwiseXor 42 ExclusiveScan 2232
- 2234: 1700(ptr) AccessChain 34(data) 2229 67
- 2235: 24(i16vec4) Load 2234
- 2236: 24(i16vec4) VectorShuffle 2235 2233 4 5 6 3
- Store 2234 2236
- 2237: 6(int) Load 8(invocation)
- 2238: 1700(ptr) AccessChain 34(data) 67 67
- 2239: 24(i16vec4) Load 2238
- 2240: 24(i16vec4) GroupNonUniformBitwiseXor 42 ExclusiveScan 2239
- 2241: 1700(ptr) AccessChain 34(data) 2237 67
- Store 2241 2240
- 2242: 6(int) Load 8(invocation)
- 2245: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2246: 25(int64_t) Load 2245
- 2247: 25(int64_t) GroupNonUniformIAdd 42 Reduce 2246
- 2248: 2244(ptr) AccessChain 34(data) 2242 2243 38
- Store 2248 2247
- 2249: 6(int) Load 8(invocation)
- 2252: 2251(ptr) AccessChain 34(data) 46 2243
- 2253: 26(i64vec4) Load 2252
- 2254:2250(i64vec2) VectorShuffle 2253 2253 0 1
- 2255:2250(i64vec2) GroupNonUniformIAdd 42 Reduce 2254
- 2256: 2251(ptr) AccessChain 34(data) 2249 2243
- 2257: 26(i64vec4) Load 2256
- 2258: 26(i64vec4) VectorShuffle 2257 2255 4 5 2 3
- Store 2256 2258
- 2259: 6(int) Load 8(invocation)
- 2261: 2251(ptr) AccessChain 34(data) 57 2243
- 2262: 26(i64vec4) Load 2261
- 2263:2260(i64vec3) VectorShuffle 2262 2262 0 1 2
- 2264:2260(i64vec3) GroupNonUniformIAdd 42 Reduce 2263
- 2265: 2251(ptr) AccessChain 34(data) 2259 2243
- 2266: 26(i64vec4) Load 2265
- 2267: 26(i64vec4) VectorShuffle 2266 2264 4 5 6 3
- Store 2265 2267
- 2268: 6(int) Load 8(invocation)
- 2269: 2251(ptr) AccessChain 34(data) 67 2243
- 2270: 26(i64vec4) Load 2269
- 2271: 26(i64vec4) GroupNonUniformIAdd 42 Reduce 2270
- 2272: 2251(ptr) AccessChain 34(data) 2268 2243
- Store 2272 2271
- 2273: 6(int) Load 8(invocation)
- 2274: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2275: 25(int64_t) Load 2274
- 2276: 25(int64_t) GroupNonUniformIMul 42 Reduce 2275
- 2277: 2244(ptr) AccessChain 34(data) 2273 2243 38
- Store 2277 2276
- 2278: 6(int) Load 8(invocation)
- 2279: 2251(ptr) AccessChain 34(data) 46 2243
- 2280: 26(i64vec4) Load 2279
- 2281:2250(i64vec2) VectorShuffle 2280 2280 0 1
- 2282:2250(i64vec2) GroupNonUniformIMul 42 Reduce 2281
- 2283: 2251(ptr) AccessChain 34(data) 2278 2243
- 2284: 26(i64vec4) Load 2283
- 2285: 26(i64vec4) VectorShuffle 2284 2282 4 5 2 3
- Store 2283 2285
- 2286: 6(int) Load 8(invocation)
- 2287: 2251(ptr) AccessChain 34(data) 57 2243
- 2288: 26(i64vec4) Load 2287
- 2289:2260(i64vec3) VectorShuffle 2288 2288 0 1 2
- 2290:2260(i64vec3) GroupNonUniformIMul 42 Reduce 2289
- 2291: 2251(ptr) AccessChain 34(data) 2286 2243
- 2292: 26(i64vec4) Load 2291
- 2293: 26(i64vec4) VectorShuffle 2292 2290 4 5 6 3
- Store 2291 2293
+ 2228:1953(i16vec2) VectorShuffle 2227 2227 0 1
+ 2229:1953(i16vec2) GroupNonUniformUMin 42 InclusiveScan 2228
+ 2230: 1947(ptr) AccessChain 34(data) 2225 73 38
+ 2231: 23(int16_t) CompositeExtract 2229 0
+ Store 2230 2231
+ 2232: 1947(ptr) AccessChain 34(data) 2225 73 55
+ 2233: 23(int16_t) CompositeExtract 2229 1
+ Store 2232 2233
+ 2234: 6(int) Load 8(invocation)
+ 2235: 1954(ptr) AccessChain 34(data) 59 73
+ 2236: 24(i16vec4) Load 2235
+ 2237:1964(i16vec3) VectorShuffle 2236 2236 0 1 2
+ 2238:1964(i16vec3) GroupNonUniformUMin 42 InclusiveScan 2237
+ 2239: 1947(ptr) AccessChain 34(data) 2234 73 38
+ 2240: 23(int16_t) CompositeExtract 2238 0
+ Store 2239 2240
+ 2241: 1947(ptr) AccessChain 34(data) 2234 73 55
+ 2242: 23(int16_t) CompositeExtract 2238 1
+ Store 2241 2242
+ 2243: 1947(ptr) AccessChain 34(data) 2234 73 69
+ 2244: 23(int16_t) CompositeExtract 2238 2
+ Store 2243 2244
+ 2245: 6(int) Load 8(invocation)
+ 2246: 1954(ptr) AccessChain 34(data) 73 73
+ 2247: 24(i16vec4) Load 2246
+ 2248: 24(i16vec4) GroupNonUniformUMin 42 InclusiveScan 2247
+ 2249: 1954(ptr) AccessChain 34(data) 2245 73
+ Store 2249 2248
+ 2250: 6(int) Load 8(invocation)
+ 2251: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2252: 23(int16_t) Load 2251
+ 2253: 23(int16_t) GroupNonUniformUMax 42 InclusiveScan 2252
+ 2254: 1947(ptr) AccessChain 34(data) 2250 73 38
+ Store 2254 2253
+ 2255: 6(int) Load 8(invocation)
+ 2256: 1954(ptr) AccessChain 34(data) 46 73
+ 2257: 24(i16vec4) Load 2256
+ 2258:1953(i16vec2) VectorShuffle 2257 2257 0 1
+ 2259:1953(i16vec2) GroupNonUniformUMax 42 InclusiveScan 2258
+ 2260: 1947(ptr) AccessChain 34(data) 2255 73 38
+ 2261: 23(int16_t) CompositeExtract 2259 0
+ Store 2260 2261
+ 2262: 1947(ptr) AccessChain 34(data) 2255 73 55
+ 2263: 23(int16_t) CompositeExtract 2259 1
+ Store 2262 2263
+ 2264: 6(int) Load 8(invocation)
+ 2265: 1954(ptr) AccessChain 34(data) 59 73
+ 2266: 24(i16vec4) Load 2265
+ 2267:1964(i16vec3) VectorShuffle 2266 2266 0 1 2
+ 2268:1964(i16vec3) GroupNonUniformUMax 42 InclusiveScan 2267
+ 2269: 1947(ptr) AccessChain 34(data) 2264 73 38
+ 2270: 23(int16_t) CompositeExtract 2268 0
+ Store 2269 2270
+ 2271: 1947(ptr) AccessChain 34(data) 2264 73 55
+ 2272: 23(int16_t) CompositeExtract 2268 1
+ Store 2271 2272
+ 2273: 1947(ptr) AccessChain 34(data) 2264 73 69
+ 2274: 23(int16_t) CompositeExtract 2268 2
+ Store 2273 2274
+ 2275: 6(int) Load 8(invocation)
+ 2276: 1954(ptr) AccessChain 34(data) 73 73
+ 2277: 24(i16vec4) Load 2276
+ 2278: 24(i16vec4) GroupNonUniformUMax 42 InclusiveScan 2277
+ 2279: 1954(ptr) AccessChain 34(data) 2275 73
+ Store 2279 2278
+ 2280: 6(int) Load 8(invocation)
+ 2281: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2282: 23(int16_t) Load 2281
+ 2283: 23(int16_t) GroupNonUniformBitwiseAnd 42 InclusiveScan 2282
+ 2284: 1947(ptr) AccessChain 34(data) 2280 73 38
+ Store 2284 2283
+ 2285: 6(int) Load 8(invocation)
+ 2286: 1954(ptr) AccessChain 34(data) 46 73
+ 2287: 24(i16vec4) Load 2286
+ 2288:1953(i16vec2) VectorShuffle 2287 2287 0 1
+ 2289:1953(i16vec2) GroupNonUniformBitwiseAnd 42 InclusiveScan 2288
+ 2290: 1947(ptr) AccessChain 34(data) 2285 73 38
+ 2291: 23(int16_t) CompositeExtract 2289 0
+ Store 2290 2291
+ 2292: 1947(ptr) AccessChain 34(data) 2285 73 55
+ 2293: 23(int16_t) CompositeExtract 2289 1
+ Store 2292 2293
2294: 6(int) Load 8(invocation)
- 2295: 2251(ptr) AccessChain 34(data) 67 2243
- 2296: 26(i64vec4) Load 2295
- 2297: 26(i64vec4) GroupNonUniformIMul 42 Reduce 2296
- 2298: 2251(ptr) AccessChain 34(data) 2294 2243
- Store 2298 2297
- 2299: 6(int) Load 8(invocation)
- 2300: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2301: 25(int64_t) Load 2300
- 2302: 25(int64_t) GroupNonUniformSMin 42 Reduce 2301
- 2303: 2244(ptr) AccessChain 34(data) 2299 2243 38
- Store 2303 2302
- 2304: 6(int) Load 8(invocation)
- 2305: 2251(ptr) AccessChain 34(data) 46 2243
- 2306: 26(i64vec4) Load 2305
- 2307:2250(i64vec2) VectorShuffle 2306 2306 0 1
- 2308:2250(i64vec2) GroupNonUniformSMin 42 Reduce 2307
- 2309: 2251(ptr) AccessChain 34(data) 2304 2243
- 2310: 26(i64vec4) Load 2309
- 2311: 26(i64vec4) VectorShuffle 2310 2308 4 5 2 3
- Store 2309 2311
- 2312: 6(int) Load 8(invocation)
- 2313: 2251(ptr) AccessChain 34(data) 57 2243
- 2314: 26(i64vec4) Load 2313
- 2315:2260(i64vec3) VectorShuffle 2314 2314 0 1 2
- 2316:2260(i64vec3) GroupNonUniformSMin 42 Reduce 2315
- 2317: 2251(ptr) AccessChain 34(data) 2312 2243
- 2318: 26(i64vec4) Load 2317
- 2319: 26(i64vec4) VectorShuffle 2318 2316 4 5 6 3
- Store 2317 2319
- 2320: 6(int) Load 8(invocation)
- 2321: 2251(ptr) AccessChain 34(data) 67 2243
- 2322: 26(i64vec4) Load 2321
- 2323: 26(i64vec4) GroupNonUniformSMin 42 Reduce 2322
- 2324: 2251(ptr) AccessChain 34(data) 2320 2243
- Store 2324 2323
- 2325: 6(int) Load 8(invocation)
- 2326: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2327: 25(int64_t) Load 2326
- 2328: 25(int64_t) GroupNonUniformSMax 42 Reduce 2327
- 2329: 2244(ptr) AccessChain 34(data) 2325 2243 38
- Store 2329 2328
- 2330: 6(int) Load 8(invocation)
- 2331: 2251(ptr) AccessChain 34(data) 46 2243
- 2332: 26(i64vec4) Load 2331
- 2333:2250(i64vec2) VectorShuffle 2332 2332 0 1
- 2334:2250(i64vec2) GroupNonUniformSMax 42 Reduce 2333
- 2335: 2251(ptr) AccessChain 34(data) 2330 2243
- 2336: 26(i64vec4) Load 2335
- 2337: 26(i64vec4) VectorShuffle 2336 2334 4 5 2 3
- Store 2335 2337
- 2338: 6(int) Load 8(invocation)
- 2339: 2251(ptr) AccessChain 34(data) 57 2243
- 2340: 26(i64vec4) Load 2339
- 2341:2260(i64vec3) VectorShuffle 2340 2340 0 1 2
- 2342:2260(i64vec3) GroupNonUniformSMax 42 Reduce 2341
- 2343: 2251(ptr) AccessChain 34(data) 2338 2243
- 2344: 26(i64vec4) Load 2343
- 2345: 26(i64vec4) VectorShuffle 2344 2342 4 5 6 3
- Store 2343 2345
- 2346: 6(int) Load 8(invocation)
- 2347: 2251(ptr) AccessChain 34(data) 67 2243
- 2348: 26(i64vec4) Load 2347
- 2349: 26(i64vec4) GroupNonUniformSMax 42 Reduce 2348
- 2350: 2251(ptr) AccessChain 34(data) 2346 2243
- Store 2350 2349
- 2351: 6(int) Load 8(invocation)
- 2352: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2353: 25(int64_t) Load 2352
- 2354: 25(int64_t) GroupNonUniformBitwiseAnd 42 Reduce 2353
- 2355: 2244(ptr) AccessChain 34(data) 2351 2243 38
- Store 2355 2354
- 2356: 6(int) Load 8(invocation)
- 2357: 2251(ptr) AccessChain 34(data) 46 2243
- 2358: 26(i64vec4) Load 2357
- 2359:2250(i64vec2) VectorShuffle 2358 2358 0 1
- 2360:2250(i64vec2) GroupNonUniformBitwiseAnd 42 Reduce 2359
- 2361: 2251(ptr) AccessChain 34(data) 2356 2243
- 2362: 26(i64vec4) Load 2361
- 2363: 26(i64vec4) VectorShuffle 2362 2360 4 5 2 3
- Store 2361 2363
- 2364: 6(int) Load 8(invocation)
- 2365: 2251(ptr) AccessChain 34(data) 57 2243
- 2366: 26(i64vec4) Load 2365
- 2367:2260(i64vec3) VectorShuffle 2366 2366 0 1 2
- 2368:2260(i64vec3) GroupNonUniformBitwiseAnd 42 Reduce 2367
- 2369: 2251(ptr) AccessChain 34(data) 2364 2243
- 2370: 26(i64vec4) Load 2369
- 2371: 26(i64vec4) VectorShuffle 2370 2368 4 5 6 3
- Store 2369 2371
- 2372: 6(int) Load 8(invocation)
- 2373: 2251(ptr) AccessChain 34(data) 67 2243
- 2374: 26(i64vec4) Load 2373
- 2375: 26(i64vec4) GroupNonUniformBitwiseAnd 42 Reduce 2374
- 2376: 2251(ptr) AccessChain 34(data) 2372 2243
- Store 2376 2375
- 2377: 6(int) Load 8(invocation)
- 2378: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2379: 25(int64_t) Load 2378
- 2380: 25(int64_t) GroupNonUniformBitwiseOr 42 Reduce 2379
- 2381: 2244(ptr) AccessChain 34(data) 2377 2243 38
- Store 2381 2380
- 2382: 6(int) Load 8(invocation)
- 2383: 2251(ptr) AccessChain 34(data) 46 2243
- 2384: 26(i64vec4) Load 2383
- 2385:2250(i64vec2) VectorShuffle 2384 2384 0 1
- 2386:2250(i64vec2) GroupNonUniformBitwiseOr 42 Reduce 2385
- 2387: 2251(ptr) AccessChain 34(data) 2382 2243
- 2388: 26(i64vec4) Load 2387
- 2389: 26(i64vec4) VectorShuffle 2388 2386 4 5 2 3
- Store 2387 2389
- 2390: 6(int) Load 8(invocation)
- 2391: 2251(ptr) AccessChain 34(data) 57 2243
- 2392: 26(i64vec4) Load 2391
- 2393:2260(i64vec3) VectorShuffle 2392 2392 0 1 2
- 2394:2260(i64vec3) GroupNonUniformBitwiseOr 42 Reduce 2393
- 2395: 2251(ptr) AccessChain 34(data) 2390 2243
- 2396: 26(i64vec4) Load 2395
- 2397: 26(i64vec4) VectorShuffle 2396 2394 4 5 6 3
- Store 2395 2397
- 2398: 6(int) Load 8(invocation)
- 2399: 2251(ptr) AccessChain 34(data) 67 2243
- 2400: 26(i64vec4) Load 2399
- 2401: 26(i64vec4) GroupNonUniformBitwiseOr 42 Reduce 2400
- 2402: 2251(ptr) AccessChain 34(data) 2398 2243
- Store 2402 2401
- 2403: 6(int) Load 8(invocation)
- 2404: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2405: 25(int64_t) Load 2404
- 2406: 25(int64_t) GroupNonUniformBitwiseXor 42 Reduce 2405
- 2407: 2244(ptr) AccessChain 34(data) 2403 2243 38
- Store 2407 2406
- 2408: 6(int) Load 8(invocation)
- 2409: 2251(ptr) AccessChain 34(data) 46 2243
- 2410: 26(i64vec4) Load 2409
- 2411:2250(i64vec2) VectorShuffle 2410 2410 0 1
- 2412:2250(i64vec2) GroupNonUniformBitwiseXor 42 Reduce 2411
- 2413: 2251(ptr) AccessChain 34(data) 2408 2243
- 2414: 26(i64vec4) Load 2413
- 2415: 26(i64vec4) VectorShuffle 2414 2412 4 5 2 3
- Store 2413 2415
- 2416: 6(int) Load 8(invocation)
- 2417: 2251(ptr) AccessChain 34(data) 57 2243
- 2418: 26(i64vec4) Load 2417
- 2419:2260(i64vec3) VectorShuffle 2418 2418 0 1 2
- 2420:2260(i64vec3) GroupNonUniformBitwiseXor 42 Reduce 2419
- 2421: 2251(ptr) AccessChain 34(data) 2416 2243
- 2422: 26(i64vec4) Load 2421
- 2423: 26(i64vec4) VectorShuffle 2422 2420 4 5 6 3
- Store 2421 2423
- 2424: 6(int) Load 8(invocation)
- 2425: 2251(ptr) AccessChain 34(data) 67 2243
- 2426: 26(i64vec4) Load 2425
- 2427: 26(i64vec4) GroupNonUniformBitwiseXor 42 Reduce 2426
- 2428: 2251(ptr) AccessChain 34(data) 2424 2243
- Store 2428 2427
- 2429: 6(int) Load 8(invocation)
- 2430: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2431: 25(int64_t) Load 2430
- 2432: 25(int64_t) GroupNonUniformIAdd 42 InclusiveScan 2431
- 2433: 2244(ptr) AccessChain 34(data) 2429 2243 38
- Store 2433 2432
- 2434: 6(int) Load 8(invocation)
- 2435: 2251(ptr) AccessChain 34(data) 46 2243
- 2436: 26(i64vec4) Load 2435
- 2437:2250(i64vec2) VectorShuffle 2436 2436 0 1
- 2438:2250(i64vec2) GroupNonUniformIAdd 42 InclusiveScan 2437
- 2439: 2251(ptr) AccessChain 34(data) 2434 2243
- 2440: 26(i64vec4) Load 2439
- 2441: 26(i64vec4) VectorShuffle 2440 2438 4 5 2 3
- Store 2439 2441
- 2442: 6(int) Load 8(invocation)
- 2443: 2251(ptr) AccessChain 34(data) 57 2243
- 2444: 26(i64vec4) Load 2443
- 2445:2260(i64vec3) VectorShuffle 2444 2444 0 1 2
- 2446:2260(i64vec3) GroupNonUniformIAdd 42 InclusiveScan 2445
- 2447: 2251(ptr) AccessChain 34(data) 2442 2243
- 2448: 26(i64vec4) Load 2447
- 2449: 26(i64vec4) VectorShuffle 2448 2446 4 5 6 3
- Store 2447 2449
- 2450: 6(int) Load 8(invocation)
- 2451: 2251(ptr) AccessChain 34(data) 67 2243
- 2452: 26(i64vec4) Load 2451
- 2453: 26(i64vec4) GroupNonUniformIAdd 42 InclusiveScan 2452
- 2454: 2251(ptr) AccessChain 34(data) 2450 2243
- Store 2454 2453
+ 2295: 1954(ptr) AccessChain 34(data) 59 73
+ 2296: 24(i16vec4) Load 2295
+ 2297:1964(i16vec3) VectorShuffle 2296 2296 0 1 2
+ 2298:1964(i16vec3) GroupNonUniformBitwiseAnd 42 InclusiveScan 2297
+ 2299: 1947(ptr) AccessChain 34(data) 2294 73 38
+ 2300: 23(int16_t) CompositeExtract 2298 0
+ Store 2299 2300
+ 2301: 1947(ptr) AccessChain 34(data) 2294 73 55
+ 2302: 23(int16_t) CompositeExtract 2298 1
+ Store 2301 2302
+ 2303: 1947(ptr) AccessChain 34(data) 2294 73 69
+ 2304: 23(int16_t) CompositeExtract 2298 2
+ Store 2303 2304
+ 2305: 6(int) Load 8(invocation)
+ 2306: 1954(ptr) AccessChain 34(data) 73 73
+ 2307: 24(i16vec4) Load 2306
+ 2308: 24(i16vec4) GroupNonUniformBitwiseAnd 42 InclusiveScan 2307
+ 2309: 1954(ptr) AccessChain 34(data) 2305 73
+ Store 2309 2308
+ 2310: 6(int) Load 8(invocation)
+ 2311: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2312: 23(int16_t) Load 2311
+ 2313: 23(int16_t) GroupNonUniformBitwiseOr 42 InclusiveScan 2312
+ 2314: 1947(ptr) AccessChain 34(data) 2310 73 38
+ Store 2314 2313
+ 2315: 6(int) Load 8(invocation)
+ 2316: 1954(ptr) AccessChain 34(data) 46 73
+ 2317: 24(i16vec4) Load 2316
+ 2318:1953(i16vec2) VectorShuffle 2317 2317 0 1
+ 2319:1953(i16vec2) GroupNonUniformBitwiseOr 42 InclusiveScan 2318
+ 2320: 1947(ptr) AccessChain 34(data) 2315 73 38
+ 2321: 23(int16_t) CompositeExtract 2319 0
+ Store 2320 2321
+ 2322: 1947(ptr) AccessChain 34(data) 2315 73 55
+ 2323: 23(int16_t) CompositeExtract 2319 1
+ Store 2322 2323
+ 2324: 6(int) Load 8(invocation)
+ 2325: 1954(ptr) AccessChain 34(data) 59 73
+ 2326: 24(i16vec4) Load 2325
+ 2327:1964(i16vec3) VectorShuffle 2326 2326 0 1 2
+ 2328:1964(i16vec3) GroupNonUniformBitwiseOr 42 InclusiveScan 2327
+ 2329: 1947(ptr) AccessChain 34(data) 2324 73 38
+ 2330: 23(int16_t) CompositeExtract 2328 0
+ Store 2329 2330
+ 2331: 1947(ptr) AccessChain 34(data) 2324 73 55
+ 2332: 23(int16_t) CompositeExtract 2328 1
+ Store 2331 2332
+ 2333: 1947(ptr) AccessChain 34(data) 2324 73 69
+ 2334: 23(int16_t) CompositeExtract 2328 2
+ Store 2333 2334
+ 2335: 6(int) Load 8(invocation)
+ 2336: 1954(ptr) AccessChain 34(data) 73 73
+ 2337: 24(i16vec4) Load 2336
+ 2338: 24(i16vec4) GroupNonUniformBitwiseOr 42 InclusiveScan 2337
+ 2339: 1954(ptr) AccessChain 34(data) 2335 73
+ Store 2339 2338
+ 2340: 6(int) Load 8(invocation)
+ 2341: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2342: 23(int16_t) Load 2341
+ 2343: 23(int16_t) GroupNonUniformBitwiseXor 42 InclusiveScan 2342
+ 2344: 1947(ptr) AccessChain 34(data) 2340 73 38
+ Store 2344 2343
+ 2345: 6(int) Load 8(invocation)
+ 2346: 1954(ptr) AccessChain 34(data) 46 73
+ 2347: 24(i16vec4) Load 2346
+ 2348:1953(i16vec2) VectorShuffle 2347 2347 0 1
+ 2349:1953(i16vec2) GroupNonUniformBitwiseXor 42 InclusiveScan 2348
+ 2350: 1947(ptr) AccessChain 34(data) 2345 73 38
+ 2351: 23(int16_t) CompositeExtract 2349 0
+ Store 2350 2351
+ 2352: 1947(ptr) AccessChain 34(data) 2345 73 55
+ 2353: 23(int16_t) CompositeExtract 2349 1
+ Store 2352 2353
+ 2354: 6(int) Load 8(invocation)
+ 2355: 1954(ptr) AccessChain 34(data) 59 73
+ 2356: 24(i16vec4) Load 2355
+ 2357:1964(i16vec3) VectorShuffle 2356 2356 0 1 2
+ 2358:1964(i16vec3) GroupNonUniformBitwiseXor 42 InclusiveScan 2357
+ 2359: 1947(ptr) AccessChain 34(data) 2354 73 38
+ 2360: 23(int16_t) CompositeExtract 2358 0
+ Store 2359 2360
+ 2361: 1947(ptr) AccessChain 34(data) 2354 73 55
+ 2362: 23(int16_t) CompositeExtract 2358 1
+ Store 2361 2362
+ 2363: 1947(ptr) AccessChain 34(data) 2354 73 69
+ 2364: 23(int16_t) CompositeExtract 2358 2
+ Store 2363 2364
+ 2365: 6(int) Load 8(invocation)
+ 2366: 1954(ptr) AccessChain 34(data) 73 73
+ 2367: 24(i16vec4) Load 2366
+ 2368: 24(i16vec4) GroupNonUniformBitwiseXor 42 InclusiveScan 2367
+ 2369: 1954(ptr) AccessChain 34(data) 2365 73
+ Store 2369 2368
+ 2370: 6(int) Load 8(invocation)
+ 2371: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2372: 23(int16_t) Load 2371
+ 2373: 23(int16_t) GroupNonUniformIAdd 42 ExclusiveScan 2372
+ 2374: 1947(ptr) AccessChain 34(data) 2370 73 38
+ Store 2374 2373
+ 2375: 6(int) Load 8(invocation)
+ 2376: 1954(ptr) AccessChain 34(data) 46 73
+ 2377: 24(i16vec4) Load 2376
+ 2378:1953(i16vec2) VectorShuffle 2377 2377 0 1
+ 2379:1953(i16vec2) GroupNonUniformIAdd 42 ExclusiveScan 2378
+ 2380: 1947(ptr) AccessChain 34(data) 2375 73 38
+ 2381: 23(int16_t) CompositeExtract 2379 0
+ Store 2380 2381
+ 2382: 1947(ptr) AccessChain 34(data) 2375 73 55
+ 2383: 23(int16_t) CompositeExtract 2379 1
+ Store 2382 2383
+ 2384: 6(int) Load 8(invocation)
+ 2385: 1954(ptr) AccessChain 34(data) 59 73
+ 2386: 24(i16vec4) Load 2385
+ 2387:1964(i16vec3) VectorShuffle 2386 2386 0 1 2
+ 2388:1964(i16vec3) GroupNonUniformIAdd 42 ExclusiveScan 2387
+ 2389: 1947(ptr) AccessChain 34(data) 2384 73 38
+ 2390: 23(int16_t) CompositeExtract 2388 0
+ Store 2389 2390
+ 2391: 1947(ptr) AccessChain 34(data) 2384 73 55
+ 2392: 23(int16_t) CompositeExtract 2388 1
+ Store 2391 2392
+ 2393: 1947(ptr) AccessChain 34(data) 2384 73 69
+ 2394: 23(int16_t) CompositeExtract 2388 2
+ Store 2393 2394
+ 2395: 6(int) Load 8(invocation)
+ 2396: 1954(ptr) AccessChain 34(data) 73 73
+ 2397: 24(i16vec4) Load 2396
+ 2398: 24(i16vec4) GroupNonUniformIAdd 42 ExclusiveScan 2397
+ 2399: 1954(ptr) AccessChain 34(data) 2395 73
+ Store 2399 2398
+ 2400: 6(int) Load 8(invocation)
+ 2401: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2402: 23(int16_t) Load 2401
+ 2403: 23(int16_t) GroupNonUniformIMul 42 ExclusiveScan 2402
+ 2404: 1947(ptr) AccessChain 34(data) 2400 73 38
+ Store 2404 2403
+ 2405: 6(int) Load 8(invocation)
+ 2406: 1954(ptr) AccessChain 34(data) 46 73
+ 2407: 24(i16vec4) Load 2406
+ 2408:1953(i16vec2) VectorShuffle 2407 2407 0 1
+ 2409:1953(i16vec2) GroupNonUniformIMul 42 ExclusiveScan 2408
+ 2410: 1947(ptr) AccessChain 34(data) 2405 73 38
+ 2411: 23(int16_t) CompositeExtract 2409 0
+ Store 2410 2411
+ 2412: 1947(ptr) AccessChain 34(data) 2405 73 55
+ 2413: 23(int16_t) CompositeExtract 2409 1
+ Store 2412 2413
+ 2414: 6(int) Load 8(invocation)
+ 2415: 1954(ptr) AccessChain 34(data) 59 73
+ 2416: 24(i16vec4) Load 2415
+ 2417:1964(i16vec3) VectorShuffle 2416 2416 0 1 2
+ 2418:1964(i16vec3) GroupNonUniformIMul 42 ExclusiveScan 2417
+ 2419: 1947(ptr) AccessChain 34(data) 2414 73 38
+ 2420: 23(int16_t) CompositeExtract 2418 0
+ Store 2419 2420
+ 2421: 1947(ptr) AccessChain 34(data) 2414 73 55
+ 2422: 23(int16_t) CompositeExtract 2418 1
+ Store 2421 2422
+ 2423: 1947(ptr) AccessChain 34(data) 2414 73 69
+ 2424: 23(int16_t) CompositeExtract 2418 2
+ Store 2423 2424
+ 2425: 6(int) Load 8(invocation)
+ 2426: 1954(ptr) AccessChain 34(data) 73 73
+ 2427: 24(i16vec4) Load 2426
+ 2428: 24(i16vec4) GroupNonUniformIMul 42 ExclusiveScan 2427
+ 2429: 1954(ptr) AccessChain 34(data) 2425 73
+ Store 2429 2428
+ 2430: 6(int) Load 8(invocation)
+ 2431: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2432: 23(int16_t) Load 2431
+ 2433: 23(int16_t) GroupNonUniformUMin 42 ExclusiveScan 2432
+ 2434: 1947(ptr) AccessChain 34(data) 2430 73 38
+ Store 2434 2433
+ 2435: 6(int) Load 8(invocation)
+ 2436: 1954(ptr) AccessChain 34(data) 46 73
+ 2437: 24(i16vec4) Load 2436
+ 2438:1953(i16vec2) VectorShuffle 2437 2437 0 1
+ 2439:1953(i16vec2) GroupNonUniformUMin 42 ExclusiveScan 2438
+ 2440: 1947(ptr) AccessChain 34(data) 2435 73 38
+ 2441: 23(int16_t) CompositeExtract 2439 0
+ Store 2440 2441
+ 2442: 1947(ptr) AccessChain 34(data) 2435 73 55
+ 2443: 23(int16_t) CompositeExtract 2439 1
+ Store 2442 2443
+ 2444: 6(int) Load 8(invocation)
+ 2445: 1954(ptr) AccessChain 34(data) 59 73
+ 2446: 24(i16vec4) Load 2445
+ 2447:1964(i16vec3) VectorShuffle 2446 2446 0 1 2
+ 2448:1964(i16vec3) GroupNonUniformUMin 42 ExclusiveScan 2447
+ 2449: 1947(ptr) AccessChain 34(data) 2444 73 38
+ 2450: 23(int16_t) CompositeExtract 2448 0
+ Store 2449 2450
+ 2451: 1947(ptr) AccessChain 34(data) 2444 73 55
+ 2452: 23(int16_t) CompositeExtract 2448 1
+ Store 2451 2452
+ 2453: 1947(ptr) AccessChain 34(data) 2444 73 69
+ 2454: 23(int16_t) CompositeExtract 2448 2
+ Store 2453 2454
2455: 6(int) Load 8(invocation)
- 2456: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2457: 25(int64_t) Load 2456
- 2458: 25(int64_t) GroupNonUniformIMul 42 InclusiveScan 2457
- 2459: 2244(ptr) AccessChain 34(data) 2455 2243 38
+ 2456: 1954(ptr) AccessChain 34(data) 73 73
+ 2457: 24(i16vec4) Load 2456
+ 2458: 24(i16vec4) GroupNonUniformUMin 42 ExclusiveScan 2457
+ 2459: 1954(ptr) AccessChain 34(data) 2455 73
Store 2459 2458
2460: 6(int) Load 8(invocation)
- 2461: 2251(ptr) AccessChain 34(data) 46 2243
- 2462: 26(i64vec4) Load 2461
- 2463:2250(i64vec2) VectorShuffle 2462 2462 0 1
- 2464:2250(i64vec2) GroupNonUniformIMul 42 InclusiveScan 2463
- 2465: 2251(ptr) AccessChain 34(data) 2460 2243
- 2466: 26(i64vec4) Load 2465
- 2467: 26(i64vec4) VectorShuffle 2466 2464 4 5 2 3
- Store 2465 2467
- 2468: 6(int) Load 8(invocation)
- 2469: 2251(ptr) AccessChain 34(data) 57 2243
- 2470: 26(i64vec4) Load 2469
- 2471:2260(i64vec3) VectorShuffle 2470 2470 0 1 2
- 2472:2260(i64vec3) GroupNonUniformIMul 42 InclusiveScan 2471
- 2473: 2251(ptr) AccessChain 34(data) 2468 2243
- 2474: 26(i64vec4) Load 2473
- 2475: 26(i64vec4) VectorShuffle 2474 2472 4 5 6 3
- Store 2473 2475
- 2476: 6(int) Load 8(invocation)
- 2477: 2251(ptr) AccessChain 34(data) 67 2243
- 2478: 26(i64vec4) Load 2477
- 2479: 26(i64vec4) GroupNonUniformIMul 42 InclusiveScan 2478
- 2480: 2251(ptr) AccessChain 34(data) 2476 2243
- Store 2480 2479
- 2481: 6(int) Load 8(invocation)
- 2482: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2483: 25(int64_t) Load 2482
- 2484: 25(int64_t) GroupNonUniformSMin 42 InclusiveScan 2483
- 2485: 2244(ptr) AccessChain 34(data) 2481 2243 38
- Store 2485 2484
- 2486: 6(int) Load 8(invocation)
- 2487: 2251(ptr) AccessChain 34(data) 46 2243
- 2488: 26(i64vec4) Load 2487
- 2489:2250(i64vec2) VectorShuffle 2488 2488 0 1
- 2490:2250(i64vec2) GroupNonUniformSMin 42 InclusiveScan 2489
- 2491: 2251(ptr) AccessChain 34(data) 2486 2243
- 2492: 26(i64vec4) Load 2491
- 2493: 26(i64vec4) VectorShuffle 2492 2490 4 5 2 3
- Store 2491 2493
- 2494: 6(int) Load 8(invocation)
- 2495: 2251(ptr) AccessChain 34(data) 57 2243
- 2496: 26(i64vec4) Load 2495
- 2497:2260(i64vec3) VectorShuffle 2496 2496 0 1 2
- 2498:2260(i64vec3) GroupNonUniformSMin 42 InclusiveScan 2497
- 2499: 2251(ptr) AccessChain 34(data) 2494 2243
- 2500: 26(i64vec4) Load 2499
- 2501: 26(i64vec4) VectorShuffle 2500 2498 4 5 6 3
- Store 2499 2501
- 2502: 6(int) Load 8(invocation)
- 2503: 2251(ptr) AccessChain 34(data) 67 2243
- 2504: 26(i64vec4) Load 2503
- 2505: 26(i64vec4) GroupNonUniformSMin 42 InclusiveScan 2504
- 2506: 2251(ptr) AccessChain 34(data) 2502 2243
- Store 2506 2505
- 2507: 6(int) Load 8(invocation)
- 2508: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2509: 25(int64_t) Load 2508
- 2510: 25(int64_t) GroupNonUniformSMax 42 InclusiveScan 2509
- 2511: 2244(ptr) AccessChain 34(data) 2507 2243 38
- Store 2511 2510
- 2512: 6(int) Load 8(invocation)
- 2513: 2251(ptr) AccessChain 34(data) 46 2243
- 2514: 26(i64vec4) Load 2513
- 2515:2250(i64vec2) VectorShuffle 2514 2514 0 1
- 2516:2250(i64vec2) GroupNonUniformSMax 42 InclusiveScan 2515
- 2517: 2251(ptr) AccessChain 34(data) 2512 2243
- 2518: 26(i64vec4) Load 2517
- 2519: 26(i64vec4) VectorShuffle 2518 2516 4 5 2 3
- Store 2517 2519
+ 2461: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2462: 23(int16_t) Load 2461
+ 2463: 23(int16_t) GroupNonUniformUMax 42 ExclusiveScan 2462
+ 2464: 1947(ptr) AccessChain 34(data) 2460 73 38
+ Store 2464 2463
+ 2465: 6(int) Load 8(invocation)
+ 2466: 1954(ptr) AccessChain 34(data) 46 73
+ 2467: 24(i16vec4) Load 2466
+ 2468:1953(i16vec2) VectorShuffle 2467 2467 0 1
+ 2469:1953(i16vec2) GroupNonUniformUMax 42 ExclusiveScan 2468
+ 2470: 1947(ptr) AccessChain 34(data) 2465 73 38
+ 2471: 23(int16_t) CompositeExtract 2469 0
+ Store 2470 2471
+ 2472: 1947(ptr) AccessChain 34(data) 2465 73 55
+ 2473: 23(int16_t) CompositeExtract 2469 1
+ Store 2472 2473
+ 2474: 6(int) Load 8(invocation)
+ 2475: 1954(ptr) AccessChain 34(data) 59 73
+ 2476: 24(i16vec4) Load 2475
+ 2477:1964(i16vec3) VectorShuffle 2476 2476 0 1 2
+ 2478:1964(i16vec3) GroupNonUniformUMax 42 ExclusiveScan 2477
+ 2479: 1947(ptr) AccessChain 34(data) 2474 73 38
+ 2480: 23(int16_t) CompositeExtract 2478 0
+ Store 2479 2480
+ 2481: 1947(ptr) AccessChain 34(data) 2474 73 55
+ 2482: 23(int16_t) CompositeExtract 2478 1
+ Store 2481 2482
+ 2483: 1947(ptr) AccessChain 34(data) 2474 73 69
+ 2484: 23(int16_t) CompositeExtract 2478 2
+ Store 2483 2484
+ 2485: 6(int) Load 8(invocation)
+ 2486: 1954(ptr) AccessChain 34(data) 73 73
+ 2487: 24(i16vec4) Load 2486
+ 2488: 24(i16vec4) GroupNonUniformUMax 42 ExclusiveScan 2487
+ 2489: 1954(ptr) AccessChain 34(data) 2485 73
+ Store 2489 2488
+ 2490: 6(int) Load 8(invocation)
+ 2491: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2492: 23(int16_t) Load 2491
+ 2493: 23(int16_t) GroupNonUniformBitwiseAnd 42 ExclusiveScan 2492
+ 2494: 1947(ptr) AccessChain 34(data) 2490 73 38
+ Store 2494 2493
+ 2495: 6(int) Load 8(invocation)
+ 2496: 1954(ptr) AccessChain 34(data) 46 73
+ 2497: 24(i16vec4) Load 2496
+ 2498:1953(i16vec2) VectorShuffle 2497 2497 0 1
+ 2499:1953(i16vec2) GroupNonUniformBitwiseAnd 42 ExclusiveScan 2498
+ 2500: 1947(ptr) AccessChain 34(data) 2495 73 38
+ 2501: 23(int16_t) CompositeExtract 2499 0
+ Store 2500 2501
+ 2502: 1947(ptr) AccessChain 34(data) 2495 73 55
+ 2503: 23(int16_t) CompositeExtract 2499 1
+ Store 2502 2503
+ 2504: 6(int) Load 8(invocation)
+ 2505: 1954(ptr) AccessChain 34(data) 59 73
+ 2506: 24(i16vec4) Load 2505
+ 2507:1964(i16vec3) VectorShuffle 2506 2506 0 1 2
+ 2508:1964(i16vec3) GroupNonUniformBitwiseAnd 42 ExclusiveScan 2507
+ 2509: 1947(ptr) AccessChain 34(data) 2504 73 38
+ 2510: 23(int16_t) CompositeExtract 2508 0
+ Store 2509 2510
+ 2511: 1947(ptr) AccessChain 34(data) 2504 73 55
+ 2512: 23(int16_t) CompositeExtract 2508 1
+ Store 2511 2512
+ 2513: 1947(ptr) AccessChain 34(data) 2504 73 69
+ 2514: 23(int16_t) CompositeExtract 2508 2
+ Store 2513 2514
+ 2515: 6(int) Load 8(invocation)
+ 2516: 1954(ptr) AccessChain 34(data) 73 73
+ 2517: 24(i16vec4) Load 2516
+ 2518: 24(i16vec4) GroupNonUniformBitwiseAnd 42 ExclusiveScan 2517
+ 2519: 1954(ptr) AccessChain 34(data) 2515 73
+ Store 2519 2518
2520: 6(int) Load 8(invocation)
- 2521: 2251(ptr) AccessChain 34(data) 57 2243
- 2522: 26(i64vec4) Load 2521
- 2523:2260(i64vec3) VectorShuffle 2522 2522 0 1 2
- 2524:2260(i64vec3) GroupNonUniformSMax 42 InclusiveScan 2523
- 2525: 2251(ptr) AccessChain 34(data) 2520 2243
- 2526: 26(i64vec4) Load 2525
- 2527: 26(i64vec4) VectorShuffle 2526 2524 4 5 6 3
- Store 2525 2527
- 2528: 6(int) Load 8(invocation)
- 2529: 2251(ptr) AccessChain 34(data) 67 2243
- 2530: 26(i64vec4) Load 2529
- 2531: 26(i64vec4) GroupNonUniformSMax 42 InclusiveScan 2530
- 2532: 2251(ptr) AccessChain 34(data) 2528 2243
- Store 2532 2531
- 2533: 6(int) Load 8(invocation)
- 2534: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2535: 25(int64_t) Load 2534
- 2536: 25(int64_t) GroupNonUniformBitwiseAnd 42 InclusiveScan 2535
- 2537: 2244(ptr) AccessChain 34(data) 2533 2243 38
- Store 2537 2536
- 2538: 6(int) Load 8(invocation)
- 2539: 2251(ptr) AccessChain 34(data) 46 2243
- 2540: 26(i64vec4) Load 2539
- 2541:2250(i64vec2) VectorShuffle 2540 2540 0 1
- 2542:2250(i64vec2) GroupNonUniformBitwiseAnd 42 InclusiveScan 2541
- 2543: 2251(ptr) AccessChain 34(data) 2538 2243
- 2544: 26(i64vec4) Load 2543
- 2545: 26(i64vec4) VectorShuffle 2544 2542 4 5 2 3
- Store 2543 2545
- 2546: 6(int) Load 8(invocation)
- 2547: 2251(ptr) AccessChain 34(data) 57 2243
- 2548: 26(i64vec4) Load 2547
- 2549:2260(i64vec3) VectorShuffle 2548 2548 0 1 2
- 2550:2260(i64vec3) GroupNonUniformBitwiseAnd 42 InclusiveScan 2549
- 2551: 2251(ptr) AccessChain 34(data) 2546 2243
- 2552: 26(i64vec4) Load 2551
- 2553: 26(i64vec4) VectorShuffle 2552 2550 4 5 6 3
- Store 2551 2553
- 2554: 6(int) Load 8(invocation)
- 2555: 2251(ptr) AccessChain 34(data) 67 2243
- 2556: 26(i64vec4) Load 2555
- 2557: 26(i64vec4) GroupNonUniformBitwiseAnd 42 InclusiveScan 2556
- 2558: 2251(ptr) AccessChain 34(data) 2554 2243
- Store 2558 2557
- 2559: 6(int) Load 8(invocation)
- 2560: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2561: 25(int64_t) Load 2560
- 2562: 25(int64_t) GroupNonUniformBitwiseOr 42 InclusiveScan 2561
- 2563: 2244(ptr) AccessChain 34(data) 2559 2243 38
- Store 2563 2562
+ 2521: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2522: 23(int16_t) Load 2521
+ 2523: 23(int16_t) GroupNonUniformBitwiseOr 42 ExclusiveScan 2522
+ 2524: 1947(ptr) AccessChain 34(data) 2520 73 38
+ Store 2524 2523
+ 2525: 6(int) Load 8(invocation)
+ 2526: 1954(ptr) AccessChain 34(data) 46 73
+ 2527: 24(i16vec4) Load 2526
+ 2528:1953(i16vec2) VectorShuffle 2527 2527 0 1
+ 2529:1953(i16vec2) GroupNonUniformBitwiseOr 42 ExclusiveScan 2528
+ 2530: 1947(ptr) AccessChain 34(data) 2525 73 38
+ 2531: 23(int16_t) CompositeExtract 2529 0
+ Store 2530 2531
+ 2532: 1947(ptr) AccessChain 34(data) 2525 73 55
+ 2533: 23(int16_t) CompositeExtract 2529 1
+ Store 2532 2533
+ 2534: 6(int) Load 8(invocation)
+ 2535: 1954(ptr) AccessChain 34(data) 59 73
+ 2536: 24(i16vec4) Load 2535
+ 2537:1964(i16vec3) VectorShuffle 2536 2536 0 1 2
+ 2538:1964(i16vec3) GroupNonUniformBitwiseOr 42 ExclusiveScan 2537
+ 2539: 1947(ptr) AccessChain 34(data) 2534 73 38
+ 2540: 23(int16_t) CompositeExtract 2538 0
+ Store 2539 2540
+ 2541: 1947(ptr) AccessChain 34(data) 2534 73 55
+ 2542: 23(int16_t) CompositeExtract 2538 1
+ Store 2541 2542
+ 2543: 1947(ptr) AccessChain 34(data) 2534 73 69
+ 2544: 23(int16_t) CompositeExtract 2538 2
+ Store 2543 2544
+ 2545: 6(int) Load 8(invocation)
+ 2546: 1954(ptr) AccessChain 34(data) 73 73
+ 2547: 24(i16vec4) Load 2546
+ 2548: 24(i16vec4) GroupNonUniformBitwiseOr 42 ExclusiveScan 2547
+ 2549: 1954(ptr) AccessChain 34(data) 2545 73
+ Store 2549 2548
+ 2550: 6(int) Load 8(invocation)
+ 2551: 1947(ptr) AccessChain 34(data) 37 73 38
+ 2552: 23(int16_t) Load 2551
+ 2553: 23(int16_t) GroupNonUniformBitwiseXor 42 ExclusiveScan 2552
+ 2554: 1947(ptr) AccessChain 34(data) 2550 73 38
+ Store 2554 2553
+ 2555: 6(int) Load 8(invocation)
+ 2556: 1954(ptr) AccessChain 34(data) 46 73
+ 2557: 24(i16vec4) Load 2556
+ 2558:1953(i16vec2) VectorShuffle 2557 2557 0 1
+ 2559:1953(i16vec2) GroupNonUniformBitwiseXor 42 ExclusiveScan 2558
+ 2560: 1947(ptr) AccessChain 34(data) 2555 73 38
+ 2561: 23(int16_t) CompositeExtract 2559 0
+ Store 2560 2561
+ 2562: 1947(ptr) AccessChain 34(data) 2555 73 55
+ 2563: 23(int16_t) CompositeExtract 2559 1
+ Store 2562 2563
2564: 6(int) Load 8(invocation)
- 2565: 2251(ptr) AccessChain 34(data) 46 2243
- 2566: 26(i64vec4) Load 2565
- 2567:2250(i64vec2) VectorShuffle 2566 2566 0 1
- 2568:2250(i64vec2) GroupNonUniformBitwiseOr 42 InclusiveScan 2567
- 2569: 2251(ptr) AccessChain 34(data) 2564 2243
- 2570: 26(i64vec4) Load 2569
- 2571: 26(i64vec4) VectorShuffle 2570 2568 4 5 2 3
- Store 2569 2571
- 2572: 6(int) Load 8(invocation)
- 2573: 2251(ptr) AccessChain 34(data) 57 2243
- 2574: 26(i64vec4) Load 2573
- 2575:2260(i64vec3) VectorShuffle 2574 2574 0 1 2
- 2576:2260(i64vec3) GroupNonUniformBitwiseOr 42 InclusiveScan 2575
- 2577: 2251(ptr) AccessChain 34(data) 2572 2243
- 2578: 26(i64vec4) Load 2577
- 2579: 26(i64vec4) VectorShuffle 2578 2576 4 5 6 3
- Store 2577 2579
+ 2565: 1954(ptr) AccessChain 34(data) 59 73
+ 2566: 24(i16vec4) Load 2565
+ 2567:1964(i16vec3) VectorShuffle 2566 2566 0 1 2
+ 2568:1964(i16vec3) GroupNonUniformBitwiseXor 42 ExclusiveScan 2567
+ 2569: 1947(ptr) AccessChain 34(data) 2564 73 38
+ 2570: 23(int16_t) CompositeExtract 2568 0
+ Store 2569 2570
+ 2571: 1947(ptr) AccessChain 34(data) 2564 73 55
+ 2572: 23(int16_t) CompositeExtract 2568 1
+ Store 2571 2572
+ 2573: 1947(ptr) AccessChain 34(data) 2564 73 69
+ 2574: 23(int16_t) CompositeExtract 2568 2
+ Store 2573 2574
+ 2575: 6(int) Load 8(invocation)
+ 2576: 1954(ptr) AccessChain 34(data) 73 73
+ 2577: 24(i16vec4) Load 2576
+ 2578: 24(i16vec4) GroupNonUniformBitwiseXor 42 ExclusiveScan 2577
+ 2579: 1954(ptr) AccessChain 34(data) 2575 73
+ Store 2579 2578
2580: 6(int) Load 8(invocation)
- 2581: 2251(ptr) AccessChain 34(data) 67 2243
- 2582: 26(i64vec4) Load 2581
- 2583: 26(i64vec4) GroupNonUniformBitwiseOr 42 InclusiveScan 2582
- 2584: 2251(ptr) AccessChain 34(data) 2580 2243
- Store 2584 2583
- 2585: 6(int) Load 8(invocation)
- 2586: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2587: 25(int64_t) Load 2586
- 2588: 25(int64_t) GroupNonUniformBitwiseXor 42 InclusiveScan 2587
- 2589: 2244(ptr) AccessChain 34(data) 2585 2243 38
- Store 2589 2588
- 2590: 6(int) Load 8(invocation)
- 2591: 2251(ptr) AccessChain 34(data) 46 2243
- 2592: 26(i64vec4) Load 2591
- 2593:2250(i64vec2) VectorShuffle 2592 2592 0 1
- 2594:2250(i64vec2) GroupNonUniformBitwiseXor 42 InclusiveScan 2593
- 2595: 2251(ptr) AccessChain 34(data) 2590 2243
- 2596: 26(i64vec4) Load 2595
- 2597: 26(i64vec4) VectorShuffle 2596 2594 4 5 2 3
- Store 2595 2597
+ 2583: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 2584: 25(int64_t) Load 2583
+ 2585: 25(int64_t) GroupNonUniformIAdd 42 Reduce 2584
+ 2586: 2582(ptr) AccessChain 34(data) 2580 2581 38
+ Store 2586 2585
+ 2587: 6(int) Load 8(invocation)
+ 2590: 2589(ptr) AccessChain 34(data) 46 2581
+ 2591: 26(i64vec4) Load 2590
+ 2592:2588(i64vec2) VectorShuffle 2591 2591 0 1
+ 2593:2588(i64vec2) GroupNonUniformIAdd 42 Reduce 2592
+ 2594: 2582(ptr) AccessChain 34(data) 2587 2581 38
+ 2595: 25(int64_t) CompositeExtract 2593 0
+ Store 2594 2595
+ 2596: 2582(ptr) AccessChain 34(data) 2587 2581 55
+ 2597: 25(int64_t) CompositeExtract 2593 1
+ Store 2596 2597
2598: 6(int) Load 8(invocation)
- 2599: 2251(ptr) AccessChain 34(data) 57 2243
- 2600: 26(i64vec4) Load 2599
- 2601:2260(i64vec3) VectorShuffle 2600 2600 0 1 2
- 2602:2260(i64vec3) GroupNonUniformBitwiseXor 42 InclusiveScan 2601
- 2603: 2251(ptr) AccessChain 34(data) 2598 2243
- 2604: 26(i64vec4) Load 2603
- 2605: 26(i64vec4) VectorShuffle 2604 2602 4 5 6 3
- Store 2603 2605
- 2606: 6(int) Load 8(invocation)
- 2607: 2251(ptr) AccessChain 34(data) 67 2243
- 2608: 26(i64vec4) Load 2607
- 2609: 26(i64vec4) GroupNonUniformBitwiseXor 42 InclusiveScan 2608
- 2610: 2251(ptr) AccessChain 34(data) 2606 2243
- Store 2610 2609
- 2611: 6(int) Load 8(invocation)
- 2612: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2613: 25(int64_t) Load 2612
- 2614: 25(int64_t) GroupNonUniformIAdd 42 ExclusiveScan 2613
- 2615: 2244(ptr) AccessChain 34(data) 2611 2243 38
- Store 2615 2614
- 2616: 6(int) Load 8(invocation)
- 2617: 2251(ptr) AccessChain 34(data) 46 2243
- 2618: 26(i64vec4) Load 2617
- 2619:2250(i64vec2) VectorShuffle 2618 2618 0 1
- 2620:2250(i64vec2) GroupNonUniformIAdd 42 ExclusiveScan 2619
- 2621: 2251(ptr) AccessChain 34(data) 2616 2243
+ 2600: 2589(ptr) AccessChain 34(data) 59 2581
+ 2601: 26(i64vec4) Load 2600
+ 2602:2599(i64vec3) VectorShuffle 2601 2601 0 1 2
+ 2603:2599(i64vec3) GroupNonUniformIAdd 42 Reduce 2602
+ 2604: 2582(ptr) AccessChain 34(data) 2598 2581 38
+ 2605: 25(int64_t) CompositeExtract 2603 0
+ Store 2604 2605
+ 2606: 2582(ptr) AccessChain 34(data) 2598 2581 55
+ 2607: 25(int64_t) CompositeExtract 2603 1
+ Store 2606 2607
+ 2608: 2582(ptr) AccessChain 34(data) 2598 2581 69
+ 2609: 25(int64_t) CompositeExtract 2603 2
+ Store 2608 2609
+ 2610: 6(int) Load 8(invocation)
+ 2611: 2589(ptr) AccessChain 34(data) 73 2581
+ 2612: 26(i64vec4) Load 2611
+ 2613: 26(i64vec4) GroupNonUniformIAdd 42 Reduce 2612
+ 2614: 2589(ptr) AccessChain 34(data) 2610 2581
+ Store 2614 2613
+ 2615: 6(int) Load 8(invocation)
+ 2616: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 2617: 25(int64_t) Load 2616
+ 2618: 25(int64_t) GroupNonUniformIMul 42 Reduce 2617
+ 2619: 2582(ptr) AccessChain 34(data) 2615 2581 38
+ Store 2619 2618
+ 2620: 6(int) Load 8(invocation)
+ 2621: 2589(ptr) AccessChain 34(data) 46 2581
2622: 26(i64vec4) Load 2621
- 2623: 26(i64vec4) VectorShuffle 2622 2620 4 5 2 3
- Store 2621 2623
- 2624: 6(int) Load 8(invocation)
- 2625: 2251(ptr) AccessChain 34(data) 57 2243
- 2626: 26(i64vec4) Load 2625
- 2627:2260(i64vec3) VectorShuffle 2626 2626 0 1 2
- 2628:2260(i64vec3) GroupNonUniformIAdd 42 ExclusiveScan 2627
- 2629: 2251(ptr) AccessChain 34(data) 2624 2243
- 2630: 26(i64vec4) Load 2629
- 2631: 26(i64vec4) VectorShuffle 2630 2628 4 5 6 3
- Store 2629 2631
- 2632: 6(int) Load 8(invocation)
- 2633: 2251(ptr) AccessChain 34(data) 67 2243
- 2634: 26(i64vec4) Load 2633
- 2635: 26(i64vec4) GroupNonUniformIAdd 42 ExclusiveScan 2634
- 2636: 2251(ptr) AccessChain 34(data) 2632 2243
- Store 2636 2635
- 2637: 6(int) Load 8(invocation)
- 2638: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2639: 25(int64_t) Load 2638
- 2640: 25(int64_t) GroupNonUniformIMul 42 ExclusiveScan 2639
- 2641: 2244(ptr) AccessChain 34(data) 2637 2243 38
- Store 2641 2640
- 2642: 6(int) Load 8(invocation)
- 2643: 2251(ptr) AccessChain 34(data) 46 2243
- 2644: 26(i64vec4) Load 2643
- 2645:2250(i64vec2) VectorShuffle 2644 2644 0 1
- 2646:2250(i64vec2) GroupNonUniformIMul 42 ExclusiveScan 2645
- 2647: 2251(ptr) AccessChain 34(data) 2642 2243
- 2648: 26(i64vec4) Load 2647
- 2649: 26(i64vec4) VectorShuffle 2648 2646 4 5 2 3
- Store 2647 2649
+ 2623:2588(i64vec2) VectorShuffle 2622 2622 0 1
+ 2624:2588(i64vec2) GroupNonUniformIMul 42 Reduce 2623
+ 2625: 2582(ptr) AccessChain 34(data) 2620 2581 38
+ 2626: 25(int64_t) CompositeExtract 2624 0
+ Store 2625 2626
+ 2627: 2582(ptr) AccessChain 34(data) 2620 2581 55
+ 2628: 25(int64_t) CompositeExtract 2624 1
+ Store 2627 2628
+ 2629: 6(int) Load 8(invocation)
+ 2630: 2589(ptr) AccessChain 34(data) 59 2581
+ 2631: 26(i64vec4) Load 2630
+ 2632:2599(i64vec3) VectorShuffle 2631 2631 0 1 2
+ 2633:2599(i64vec3) GroupNonUniformIMul 42 Reduce 2632
+ 2634: 2582(ptr) AccessChain 34(data) 2629 2581 38
+ 2635: 25(int64_t) CompositeExtract 2633 0
+ Store 2634 2635
+ 2636: 2582(ptr) AccessChain 34(data) 2629 2581 55
+ 2637: 25(int64_t) CompositeExtract 2633 1
+ Store 2636 2637
+ 2638: 2582(ptr) AccessChain 34(data) 2629 2581 69
+ 2639: 25(int64_t) CompositeExtract 2633 2
+ Store 2638 2639
+ 2640: 6(int) Load 8(invocation)
+ 2641: 2589(ptr) AccessChain 34(data) 73 2581
+ 2642: 26(i64vec4) Load 2641
+ 2643: 26(i64vec4) GroupNonUniformIMul 42 Reduce 2642
+ 2644: 2589(ptr) AccessChain 34(data) 2640 2581
+ Store 2644 2643
+ 2645: 6(int) Load 8(invocation)
+ 2646: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 2647: 25(int64_t) Load 2646
+ 2648: 25(int64_t) GroupNonUniformSMin 42 Reduce 2647
+ 2649: 2582(ptr) AccessChain 34(data) 2645 2581 38
+ Store 2649 2648
2650: 6(int) Load 8(invocation)
- 2651: 2251(ptr) AccessChain 34(data) 57 2243
+ 2651: 2589(ptr) AccessChain 34(data) 46 2581
2652: 26(i64vec4) Load 2651
- 2653:2260(i64vec3) VectorShuffle 2652 2652 0 1 2
- 2654:2260(i64vec3) GroupNonUniformIMul 42 ExclusiveScan 2653
- 2655: 2251(ptr) AccessChain 34(data) 2650 2243
- 2656: 26(i64vec4) Load 2655
- 2657: 26(i64vec4) VectorShuffle 2656 2654 4 5 6 3
- Store 2655 2657
- 2658: 6(int) Load 8(invocation)
- 2659: 2251(ptr) AccessChain 34(data) 67 2243
- 2660: 26(i64vec4) Load 2659
- 2661: 26(i64vec4) GroupNonUniformIMul 42 ExclusiveScan 2660
- 2662: 2251(ptr) AccessChain 34(data) 2658 2243
- Store 2662 2661
- 2663: 6(int) Load 8(invocation)
- 2664: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2665: 25(int64_t) Load 2664
- 2666: 25(int64_t) GroupNonUniformSMin 42 ExclusiveScan 2665
- 2667: 2244(ptr) AccessChain 34(data) 2663 2243 38
- Store 2667 2666
- 2668: 6(int) Load 8(invocation)
- 2669: 2251(ptr) AccessChain 34(data) 46 2243
- 2670: 26(i64vec4) Load 2669
- 2671:2250(i64vec2) VectorShuffle 2670 2670 0 1
- 2672:2250(i64vec2) GroupNonUniformSMin 42 ExclusiveScan 2671
- 2673: 2251(ptr) AccessChain 34(data) 2668 2243
- 2674: 26(i64vec4) Load 2673
- 2675: 26(i64vec4) VectorShuffle 2674 2672 4 5 2 3
- Store 2673 2675
- 2676: 6(int) Load 8(invocation)
- 2677: 2251(ptr) AccessChain 34(data) 57 2243
- 2678: 26(i64vec4) Load 2677
- 2679:2260(i64vec3) VectorShuffle 2678 2678 0 1 2
- 2680:2260(i64vec3) GroupNonUniformSMin 42 ExclusiveScan 2679
- 2681: 2251(ptr) AccessChain 34(data) 2676 2243
+ 2653:2588(i64vec2) VectorShuffle 2652 2652 0 1
+ 2654:2588(i64vec2) GroupNonUniformSMin 42 Reduce 2653
+ 2655: 2582(ptr) AccessChain 34(data) 2650 2581 38
+ 2656: 25(int64_t) CompositeExtract 2654 0
+ Store 2655 2656
+ 2657: 2582(ptr) AccessChain 34(data) 2650 2581 55
+ 2658: 25(int64_t) CompositeExtract 2654 1
+ Store 2657 2658
+ 2659: 6(int) Load 8(invocation)
+ 2660: 2589(ptr) AccessChain 34(data) 59 2581
+ 2661: 26(i64vec4) Load 2660
+ 2662:2599(i64vec3) VectorShuffle 2661 2661 0 1 2
+ 2663:2599(i64vec3) GroupNonUniformSMin 42 Reduce 2662
+ 2664: 2582(ptr) AccessChain 34(data) 2659 2581 38
+ 2665: 25(int64_t) CompositeExtract 2663 0
+ Store 2664 2665
+ 2666: 2582(ptr) AccessChain 34(data) 2659 2581 55
+ 2667: 25(int64_t) CompositeExtract 2663 1
+ Store 2666 2667
+ 2668: 2582(ptr) AccessChain 34(data) 2659 2581 69
+ 2669: 25(int64_t) CompositeExtract 2663 2
+ Store 2668 2669
+ 2670: 6(int) Load 8(invocation)
+ 2671: 2589(ptr) AccessChain 34(data) 73 2581
+ 2672: 26(i64vec4) Load 2671
+ 2673: 26(i64vec4) GroupNonUniformSMin 42 Reduce 2672
+ 2674: 2589(ptr) AccessChain 34(data) 2670 2581
+ Store 2674 2673
+ 2675: 6(int) Load 8(invocation)
+ 2676: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 2677: 25(int64_t) Load 2676
+ 2678: 25(int64_t) GroupNonUniformSMax 42 Reduce 2677
+ 2679: 2582(ptr) AccessChain 34(data) 2675 2581 38
+ Store 2679 2678
+ 2680: 6(int) Load 8(invocation)
+ 2681: 2589(ptr) AccessChain 34(data) 46 2581
2682: 26(i64vec4) Load 2681
- 2683: 26(i64vec4) VectorShuffle 2682 2680 4 5 6 3
- Store 2681 2683
- 2684: 6(int) Load 8(invocation)
- 2685: 2251(ptr) AccessChain 34(data) 67 2243
- 2686: 26(i64vec4) Load 2685
- 2687: 26(i64vec4) GroupNonUniformSMin 42 ExclusiveScan 2686
- 2688: 2251(ptr) AccessChain 34(data) 2684 2243
- Store 2688 2687
+ 2683:2588(i64vec2) VectorShuffle 2682 2682 0 1
+ 2684:2588(i64vec2) GroupNonUniformSMax 42 Reduce 2683
+ 2685: 2582(ptr) AccessChain 34(data) 2680 2581 38
+ 2686: 25(int64_t) CompositeExtract 2684 0
+ Store 2685 2686
+ 2687: 2582(ptr) AccessChain 34(data) 2680 2581 55
+ 2688: 25(int64_t) CompositeExtract 2684 1
+ Store 2687 2688
2689: 6(int) Load 8(invocation)
- 2690: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2691: 25(int64_t) Load 2690
- 2692: 25(int64_t) GroupNonUniformSMax 42 ExclusiveScan 2691
- 2693: 2244(ptr) AccessChain 34(data) 2689 2243 38
- Store 2693 2692
- 2694: 6(int) Load 8(invocation)
- 2695: 2251(ptr) AccessChain 34(data) 46 2243
- 2696: 26(i64vec4) Load 2695
- 2697:2250(i64vec2) VectorShuffle 2696 2696 0 1
- 2698:2250(i64vec2) GroupNonUniformSMax 42 ExclusiveScan 2697
- 2699: 2251(ptr) AccessChain 34(data) 2694 2243
- 2700: 26(i64vec4) Load 2699
- 2701: 26(i64vec4) VectorShuffle 2700 2698 4 5 2 3
- Store 2699 2701
- 2702: 6(int) Load 8(invocation)
- 2703: 2251(ptr) AccessChain 34(data) 57 2243
- 2704: 26(i64vec4) Load 2703
- 2705:2260(i64vec3) VectorShuffle 2704 2704 0 1 2
- 2706:2260(i64vec3) GroupNonUniformSMax 42 ExclusiveScan 2705
- 2707: 2251(ptr) AccessChain 34(data) 2702 2243
- 2708: 26(i64vec4) Load 2707
- 2709: 26(i64vec4) VectorShuffle 2708 2706 4 5 6 3
- Store 2707 2709
+ 2690: 2589(ptr) AccessChain 34(data) 59 2581
+ 2691: 26(i64vec4) Load 2690
+ 2692:2599(i64vec3) VectorShuffle 2691 2691 0 1 2
+ 2693:2599(i64vec3) GroupNonUniformSMax 42 Reduce 2692
+ 2694: 2582(ptr) AccessChain 34(data) 2689 2581 38
+ 2695: 25(int64_t) CompositeExtract 2693 0
+ Store 2694 2695
+ 2696: 2582(ptr) AccessChain 34(data) 2689 2581 55
+ 2697: 25(int64_t) CompositeExtract 2693 1
+ Store 2696 2697
+ 2698: 2582(ptr) AccessChain 34(data) 2689 2581 69
+ 2699: 25(int64_t) CompositeExtract 2693 2
+ Store 2698 2699
+ 2700: 6(int) Load 8(invocation)
+ 2701: 2589(ptr) AccessChain 34(data) 73 2581
+ 2702: 26(i64vec4) Load 2701
+ 2703: 26(i64vec4) GroupNonUniformSMax 42 Reduce 2702
+ 2704: 2589(ptr) AccessChain 34(data) 2700 2581
+ Store 2704 2703
+ 2705: 6(int) Load 8(invocation)
+ 2706: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 2707: 25(int64_t) Load 2706
+ 2708: 25(int64_t) GroupNonUniformBitwiseAnd 42 Reduce 2707
+ 2709: 2582(ptr) AccessChain 34(data) 2705 2581 38
+ Store 2709 2708
2710: 6(int) Load 8(invocation)
- 2711: 2251(ptr) AccessChain 34(data) 67 2243
+ 2711: 2589(ptr) AccessChain 34(data) 46 2581
2712: 26(i64vec4) Load 2711
- 2713: 26(i64vec4) GroupNonUniformSMax 42 ExclusiveScan 2712
- 2714: 2251(ptr) AccessChain 34(data) 2710 2243
- Store 2714 2713
- 2715: 6(int) Load 8(invocation)
- 2716: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2717: 25(int64_t) Load 2716
- 2718: 25(int64_t) GroupNonUniformBitwiseAnd 42 ExclusiveScan 2717
- 2719: 2244(ptr) AccessChain 34(data) 2715 2243 38
- Store 2719 2718
- 2720: 6(int) Load 8(invocation)
- 2721: 2251(ptr) AccessChain 34(data) 46 2243
- 2722: 26(i64vec4) Load 2721
- 2723:2250(i64vec2) VectorShuffle 2722 2722 0 1
- 2724:2250(i64vec2) GroupNonUniformBitwiseAnd 42 ExclusiveScan 2723
- 2725: 2251(ptr) AccessChain 34(data) 2720 2243
- 2726: 26(i64vec4) Load 2725
- 2727: 26(i64vec4) VectorShuffle 2726 2724 4 5 2 3
- Store 2725 2727
- 2728: 6(int) Load 8(invocation)
- 2729: 2251(ptr) AccessChain 34(data) 57 2243
- 2730: 26(i64vec4) Load 2729
- 2731:2260(i64vec3) VectorShuffle 2730 2730 0 1 2
- 2732:2260(i64vec3) GroupNonUniformBitwiseAnd 42 ExclusiveScan 2731
- 2733: 2251(ptr) AccessChain 34(data) 2728 2243
- 2734: 26(i64vec4) Load 2733
- 2735: 26(i64vec4) VectorShuffle 2734 2732 4 5 6 3
- Store 2733 2735
- 2736: 6(int) Load 8(invocation)
- 2737: 2251(ptr) AccessChain 34(data) 67 2243
- 2738: 26(i64vec4) Load 2737
- 2739: 26(i64vec4) GroupNonUniformBitwiseAnd 42 ExclusiveScan 2738
- 2740: 2251(ptr) AccessChain 34(data) 2736 2243
- Store 2740 2739
- 2741: 6(int) Load 8(invocation)
- 2742: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2743: 25(int64_t) Load 2742
- 2744: 25(int64_t) GroupNonUniformBitwiseOr 42 ExclusiveScan 2743
- 2745: 2244(ptr) AccessChain 34(data) 2741 2243 38
- Store 2745 2744
- 2746: 6(int) Load 8(invocation)
- 2747: 2251(ptr) AccessChain 34(data) 46 2243
- 2748: 26(i64vec4) Load 2747
- 2749:2250(i64vec2) VectorShuffle 2748 2748 0 1
- 2750:2250(i64vec2) GroupNonUniformBitwiseOr 42 ExclusiveScan 2749
- 2751: 2251(ptr) AccessChain 34(data) 2746 2243
- 2752: 26(i64vec4) Load 2751
- 2753: 26(i64vec4) VectorShuffle 2752 2750 4 5 2 3
- Store 2751 2753
- 2754: 6(int) Load 8(invocation)
- 2755: 2251(ptr) AccessChain 34(data) 57 2243
- 2756: 26(i64vec4) Load 2755
- 2757:2260(i64vec3) VectorShuffle 2756 2756 0 1 2
- 2758:2260(i64vec3) GroupNonUniformBitwiseOr 42 ExclusiveScan 2757
- 2759: 2251(ptr) AccessChain 34(data) 2754 2243
- 2760: 26(i64vec4) Load 2759
- 2761: 26(i64vec4) VectorShuffle 2760 2758 4 5 6 3
- Store 2759 2761
- 2762: 6(int) Load 8(invocation)
- 2763: 2251(ptr) AccessChain 34(data) 67 2243
- 2764: 26(i64vec4) Load 2763
- 2765: 26(i64vec4) GroupNonUniformBitwiseOr 42 ExclusiveScan 2764
- 2766: 2251(ptr) AccessChain 34(data) 2762 2243
- Store 2766 2765
- 2767: 6(int) Load 8(invocation)
- 2768: 2244(ptr) AccessChain 34(data) 37 2243 38
- 2769: 25(int64_t) Load 2768
- 2770: 25(int64_t) GroupNonUniformBitwiseXor 42 ExclusiveScan 2769
- 2771: 2244(ptr) AccessChain 34(data) 2767 2243 38
- Store 2771 2770
- 2772: 6(int) Load 8(invocation)
- 2773: 2251(ptr) AccessChain 34(data) 46 2243
- 2774: 26(i64vec4) Load 2773
- 2775:2250(i64vec2) VectorShuffle 2774 2774 0 1
- 2776:2250(i64vec2) GroupNonUniformBitwiseXor 42 ExclusiveScan 2775
- 2777: 2251(ptr) AccessChain 34(data) 2772 2243
- 2778: 26(i64vec4) Load 2777
- 2779: 26(i64vec4) VectorShuffle 2778 2776 4 5 2 3
- Store 2777 2779
- 2780: 6(int) Load 8(invocation)
- 2781: 2251(ptr) AccessChain 34(data) 57 2243
- 2782: 26(i64vec4) Load 2781
- 2783:2260(i64vec3) VectorShuffle 2782 2782 0 1 2
- 2784:2260(i64vec3) GroupNonUniformBitwiseXor 42 ExclusiveScan 2783
- 2785: 2251(ptr) AccessChain 34(data) 2780 2243
- 2786: 26(i64vec4) Load 2785
- 2787: 26(i64vec4) VectorShuffle 2786 2784 4 5 6 3
- Store 2785 2787
- 2788: 6(int) Load 8(invocation)
- 2789: 2251(ptr) AccessChain 34(data) 67 2243
- 2790: 26(i64vec4) Load 2789
- 2791: 26(i64vec4) GroupNonUniformBitwiseXor 42 ExclusiveScan 2790
- 2792: 2251(ptr) AccessChain 34(data) 2788 2243
- Store 2792 2791
- 2793: 6(int) Load 8(invocation)
- 2796: 2795(ptr) AccessChain 34(data) 37 2794 38
- 2797: 27(int64_t) Load 2796
- 2798: 27(int64_t) GroupNonUniformIAdd 42 Reduce 2797
- 2799: 2795(ptr) AccessChain 34(data) 2793 2794 38
+ 2713:2588(i64vec2) VectorShuffle 2712 2712 0 1
+ 2714:2588(i64vec2) GroupNonUniformBitwiseAnd 42 Reduce 2713
+ 2715: 2582(ptr) AccessChain 34(data) 2710 2581 38
+ 2716: 25(int64_t) CompositeExtract 2714 0
+ Store 2715 2716
+ 2717: 2582(ptr) AccessChain 34(data) 2710 2581 55
+ 2718: 25(int64_t) CompositeExtract 2714 1
+ Store 2717 2718
+ 2719: 6(int) Load 8(invocation)
+ 2720: 2589(ptr) AccessChain 34(data) 59 2581
+ 2721: 26(i64vec4) Load 2720
+ 2722:2599(i64vec3) VectorShuffle 2721 2721 0 1 2
+ 2723:2599(i64vec3) GroupNonUniformBitwiseAnd 42 Reduce 2722
+ 2724: 2582(ptr) AccessChain 34(data) 2719 2581 38
+ 2725: 25(int64_t) CompositeExtract 2723 0
+ Store 2724 2725
+ 2726: 2582(ptr) AccessChain 34(data) 2719 2581 55
+ 2727: 25(int64_t) CompositeExtract 2723 1
+ Store 2726 2727
+ 2728: 2582(ptr) AccessChain 34(data) 2719 2581 69
+ 2729: 25(int64_t) CompositeExtract 2723 2
+ Store 2728 2729
+ 2730: 6(int) Load 8(invocation)
+ 2731: 2589(ptr) AccessChain 34(data) 73 2581
+ 2732: 26(i64vec4) Load 2731
+ 2733: 26(i64vec4) GroupNonUniformBitwiseAnd 42 Reduce 2732
+ 2734: 2589(ptr) AccessChain 34(data) 2730 2581
+ Store 2734 2733
+ 2735: 6(int) Load 8(invocation)
+ 2736: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 2737: 25(int64_t) Load 2736
+ 2738: 25(int64_t) GroupNonUniformBitwiseOr 42 Reduce 2737
+ 2739: 2582(ptr) AccessChain 34(data) 2735 2581 38
+ Store 2739 2738
+ 2740: 6(int) Load 8(invocation)
+ 2741: 2589(ptr) AccessChain 34(data) 46 2581
+ 2742: 26(i64vec4) Load 2741
+ 2743:2588(i64vec2) VectorShuffle 2742 2742 0 1
+ 2744:2588(i64vec2) GroupNonUniformBitwiseOr 42 Reduce 2743
+ 2745: 2582(ptr) AccessChain 34(data) 2740 2581 38
+ 2746: 25(int64_t) CompositeExtract 2744 0
+ Store 2745 2746
+ 2747: 2582(ptr) AccessChain 34(data) 2740 2581 55
+ 2748: 25(int64_t) CompositeExtract 2744 1
+ Store 2747 2748
+ 2749: 6(int) Load 8(invocation)
+ 2750: 2589(ptr) AccessChain 34(data) 59 2581
+ 2751: 26(i64vec4) Load 2750
+ 2752:2599(i64vec3) VectorShuffle 2751 2751 0 1 2
+ 2753:2599(i64vec3) GroupNonUniformBitwiseOr 42 Reduce 2752
+ 2754: 2582(ptr) AccessChain 34(data) 2749 2581 38
+ 2755: 25(int64_t) CompositeExtract 2753 0
+ Store 2754 2755
+ 2756: 2582(ptr) AccessChain 34(data) 2749 2581 55
+ 2757: 25(int64_t) CompositeExtract 2753 1
+ Store 2756 2757
+ 2758: 2582(ptr) AccessChain 34(data) 2749 2581 69
+ 2759: 25(int64_t) CompositeExtract 2753 2
+ Store 2758 2759
+ 2760: 6(int) Load 8(invocation)
+ 2761: 2589(ptr) AccessChain 34(data) 73 2581
+ 2762: 26(i64vec4) Load 2761
+ 2763: 26(i64vec4) GroupNonUniformBitwiseOr 42 Reduce 2762
+ 2764: 2589(ptr) AccessChain 34(data) 2760 2581
+ Store 2764 2763
+ 2765: 6(int) Load 8(invocation)
+ 2766: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 2767: 25(int64_t) Load 2766
+ 2768: 25(int64_t) GroupNonUniformBitwiseXor 42 Reduce 2767
+ 2769: 2582(ptr) AccessChain 34(data) 2765 2581 38
+ Store 2769 2768
+ 2770: 6(int) Load 8(invocation)
+ 2771: 2589(ptr) AccessChain 34(data) 46 2581
+ 2772: 26(i64vec4) Load 2771
+ 2773:2588(i64vec2) VectorShuffle 2772 2772 0 1
+ 2774:2588(i64vec2) GroupNonUniformBitwiseXor 42 Reduce 2773
+ 2775: 2582(ptr) AccessChain 34(data) 2770 2581 38
+ 2776: 25(int64_t) CompositeExtract 2774 0
+ Store 2775 2776
+ 2777: 2582(ptr) AccessChain 34(data) 2770 2581 55
+ 2778: 25(int64_t) CompositeExtract 2774 1
+ Store 2777 2778
+ 2779: 6(int) Load 8(invocation)
+ 2780: 2589(ptr) AccessChain 34(data) 59 2581
+ 2781: 26(i64vec4) Load 2780
+ 2782:2599(i64vec3) VectorShuffle 2781 2781 0 1 2
+ 2783:2599(i64vec3) GroupNonUniformBitwiseXor 42 Reduce 2782
+ 2784: 2582(ptr) AccessChain 34(data) 2779 2581 38
+ 2785: 25(int64_t) CompositeExtract 2783 0
+ Store 2784 2785
+ 2786: 2582(ptr) AccessChain 34(data) 2779 2581 55
+ 2787: 25(int64_t) CompositeExtract 2783 1
+ Store 2786 2787
+ 2788: 2582(ptr) AccessChain 34(data) 2779 2581 69
+ 2789: 25(int64_t) CompositeExtract 2783 2
+ Store 2788 2789
+ 2790: 6(int) Load 8(invocation)
+ 2791: 2589(ptr) AccessChain 34(data) 73 2581
+ 2792: 26(i64vec4) Load 2791
+ 2793: 26(i64vec4) GroupNonUniformBitwiseXor 42 Reduce 2792
+ 2794: 2589(ptr) AccessChain 34(data) 2790 2581
+ Store 2794 2793
+ 2795: 6(int) Load 8(invocation)
+ 2796: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 2797: 25(int64_t) Load 2796
+ 2798: 25(int64_t) GroupNonUniformIAdd 42 InclusiveScan 2797
+ 2799: 2582(ptr) AccessChain 34(data) 2795 2581 38
Store 2799 2798
2800: 6(int) Load 8(invocation)
- 2803: 2802(ptr) AccessChain 34(data) 46 2794
- 2804: 28(i64vec4) Load 2803
- 2805:2801(i64vec2) VectorShuffle 2804 2804 0 1
- 2806:2801(i64vec2) GroupNonUniformIAdd 42 Reduce 2805
- 2807: 2802(ptr) AccessChain 34(data) 2800 2794
- 2808: 28(i64vec4) Load 2807
- 2809: 28(i64vec4) VectorShuffle 2808 2806 4 5 2 3
- Store 2807 2809
- 2810: 6(int) Load 8(invocation)
- 2812: 2802(ptr) AccessChain 34(data) 57 2794
- 2813: 28(i64vec4) Load 2812
- 2814:2811(i64vec3) VectorShuffle 2813 2813 0 1 2
- 2815:2811(i64vec3) GroupNonUniformIAdd 42 Reduce 2814
- 2816: 2802(ptr) AccessChain 34(data) 2810 2794
- 2817: 28(i64vec4) Load 2816
- 2818: 28(i64vec4) VectorShuffle 2817 2815 4 5 6 3
- Store 2816 2818
- 2819: 6(int) Load 8(invocation)
- 2820: 2802(ptr) AccessChain 34(data) 67 2794
- 2821: 28(i64vec4) Load 2820
- 2822: 28(i64vec4) GroupNonUniformIAdd 42 Reduce 2821
- 2823: 2802(ptr) AccessChain 34(data) 2819 2794
- Store 2823 2822
- 2824: 6(int) Load 8(invocation)
- 2825: 2795(ptr) AccessChain 34(data) 37 2794 38
- 2826: 27(int64_t) Load 2825
- 2827: 27(int64_t) GroupNonUniformIMul 42 Reduce 2826
- 2828: 2795(ptr) AccessChain 34(data) 2824 2794 38
- Store 2828 2827
- 2829: 6(int) Load 8(invocation)
- 2830: 2802(ptr) AccessChain 34(data) 46 2794
- 2831: 28(i64vec4) Load 2830
- 2832:2801(i64vec2) VectorShuffle 2831 2831 0 1
- 2833:2801(i64vec2) GroupNonUniformIMul 42 Reduce 2832
- 2834: 2802(ptr) AccessChain 34(data) 2829 2794
- 2835: 28(i64vec4) Load 2834
- 2836: 28(i64vec4) VectorShuffle 2835 2833 4 5 2 3
- Store 2834 2836
- 2837: 6(int) Load 8(invocation)
- 2838: 2802(ptr) AccessChain 34(data) 57 2794
- 2839: 28(i64vec4) Load 2838
- 2840:2811(i64vec3) VectorShuffle 2839 2839 0 1 2
- 2841:2811(i64vec3) GroupNonUniformIMul 42 Reduce 2840
- 2842: 2802(ptr) AccessChain 34(data) 2837 2794
- 2843: 28(i64vec4) Load 2842
- 2844: 28(i64vec4) VectorShuffle 2843 2841 4 5 6 3
- Store 2842 2844
- 2845: 6(int) Load 8(invocation)
- 2846: 2802(ptr) AccessChain 34(data) 67 2794
- 2847: 28(i64vec4) Load 2846
- 2848: 28(i64vec4) GroupNonUniformIMul 42 Reduce 2847
- 2849: 2802(ptr) AccessChain 34(data) 2845 2794
- Store 2849 2848
+ 2801: 2589(ptr) AccessChain 34(data) 46 2581
+ 2802: 26(i64vec4) Load 2801
+ 2803:2588(i64vec2) VectorShuffle 2802 2802 0 1
+ 2804:2588(i64vec2) GroupNonUniformIAdd 42 InclusiveScan 2803
+ 2805: 2582(ptr) AccessChain 34(data) 2800 2581 38
+ 2806: 25(int64_t) CompositeExtract 2804 0
+ Store 2805 2806
+ 2807: 2582(ptr) AccessChain 34(data) 2800 2581 55
+ 2808: 25(int64_t) CompositeExtract 2804 1
+ Store 2807 2808
+ 2809: 6(int) Load 8(invocation)
+ 2810: 2589(ptr) AccessChain 34(data) 59 2581
+ 2811: 26(i64vec4) Load 2810
+ 2812:2599(i64vec3) VectorShuffle 2811 2811 0 1 2
+ 2813:2599(i64vec3) GroupNonUniformIAdd 42 InclusiveScan 2812
+ 2814: 2582(ptr) AccessChain 34(data) 2809 2581 38
+ 2815: 25(int64_t) CompositeExtract 2813 0
+ Store 2814 2815
+ 2816: 2582(ptr) AccessChain 34(data) 2809 2581 55
+ 2817: 25(int64_t) CompositeExtract 2813 1
+ Store 2816 2817
+ 2818: 2582(ptr) AccessChain 34(data) 2809 2581 69
+ 2819: 25(int64_t) CompositeExtract 2813 2
+ Store 2818 2819
+ 2820: 6(int) Load 8(invocation)
+ 2821: 2589(ptr) AccessChain 34(data) 73 2581
+ 2822: 26(i64vec4) Load 2821
+ 2823: 26(i64vec4) GroupNonUniformIAdd 42 InclusiveScan 2822
+ 2824: 2589(ptr) AccessChain 34(data) 2820 2581
+ Store 2824 2823
+ 2825: 6(int) Load 8(invocation)
+ 2826: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 2827: 25(int64_t) Load 2826
+ 2828: 25(int64_t) GroupNonUniformIMul 42 InclusiveScan 2827
+ 2829: 2582(ptr) AccessChain 34(data) 2825 2581 38
+ Store 2829 2828
+ 2830: 6(int) Load 8(invocation)
+ 2831: 2589(ptr) AccessChain 34(data) 46 2581
+ 2832: 26(i64vec4) Load 2831
+ 2833:2588(i64vec2) VectorShuffle 2832 2832 0 1
+ 2834:2588(i64vec2) GroupNonUniformIMul 42 InclusiveScan 2833
+ 2835: 2582(ptr) AccessChain 34(data) 2830 2581 38
+ 2836: 25(int64_t) CompositeExtract 2834 0
+ Store 2835 2836
+ 2837: 2582(ptr) AccessChain 34(data) 2830 2581 55
+ 2838: 25(int64_t) CompositeExtract 2834 1
+ Store 2837 2838
+ 2839: 6(int) Load 8(invocation)
+ 2840: 2589(ptr) AccessChain 34(data) 59 2581
+ 2841: 26(i64vec4) Load 2840
+ 2842:2599(i64vec3) VectorShuffle 2841 2841 0 1 2
+ 2843:2599(i64vec3) GroupNonUniformIMul 42 InclusiveScan 2842
+ 2844: 2582(ptr) AccessChain 34(data) 2839 2581 38
+ 2845: 25(int64_t) CompositeExtract 2843 0
+ Store 2844 2845
+ 2846: 2582(ptr) AccessChain 34(data) 2839 2581 55
+ 2847: 25(int64_t) CompositeExtract 2843 1
+ Store 2846 2847
+ 2848: 2582(ptr) AccessChain 34(data) 2839 2581 69
+ 2849: 25(int64_t) CompositeExtract 2843 2
+ Store 2848 2849
2850: 6(int) Load 8(invocation)
- 2851: 2795(ptr) AccessChain 34(data) 37 2794 38
- 2852: 27(int64_t) Load 2851
- 2853: 27(int64_t) GroupNonUniformUMin 42 Reduce 2852
- 2854: 2795(ptr) AccessChain 34(data) 2850 2794 38
+ 2851: 2589(ptr) AccessChain 34(data) 73 2581
+ 2852: 26(i64vec4) Load 2851
+ 2853: 26(i64vec4) GroupNonUniformIMul 42 InclusiveScan 2852
+ 2854: 2589(ptr) AccessChain 34(data) 2850 2581
Store 2854 2853
2855: 6(int) Load 8(invocation)
- 2856: 2802(ptr) AccessChain 34(data) 46 2794
- 2857: 28(i64vec4) Load 2856
- 2858:2801(i64vec2) VectorShuffle 2857 2857 0 1
- 2859:2801(i64vec2) GroupNonUniformUMin 42 Reduce 2858
- 2860: 2802(ptr) AccessChain 34(data) 2855 2794
- 2861: 28(i64vec4) Load 2860
- 2862: 28(i64vec4) VectorShuffle 2861 2859 4 5 2 3
- Store 2860 2862
- 2863: 6(int) Load 8(invocation)
- 2864: 2802(ptr) AccessChain 34(data) 57 2794
- 2865: 28(i64vec4) Load 2864
- 2866:2811(i64vec3) VectorShuffle 2865 2865 0 1 2
- 2867:2811(i64vec3) GroupNonUniformUMin 42 Reduce 2866
- 2868: 2802(ptr) AccessChain 34(data) 2863 2794
- 2869: 28(i64vec4) Load 2868
- 2870: 28(i64vec4) VectorShuffle 2869 2867 4 5 6 3
- Store 2868 2870
- 2871: 6(int) Load 8(invocation)
- 2872: 2802(ptr) AccessChain 34(data) 67 2794
- 2873: 28(i64vec4) Load 2872
- 2874: 28(i64vec4) GroupNonUniformUMin 42 Reduce 2873
- 2875: 2802(ptr) AccessChain 34(data) 2871 2794
- Store 2875 2874
- 2876: 6(int) Load 8(invocation)
- 2877: 2795(ptr) AccessChain 34(data) 37 2794 38
- 2878: 27(int64_t) Load 2877
- 2879: 27(int64_t) GroupNonUniformUMax 42 Reduce 2878
- 2880: 2795(ptr) AccessChain 34(data) 2876 2794 38
- Store 2880 2879
- 2881: 6(int) Load 8(invocation)
- 2882: 2802(ptr) AccessChain 34(data) 46 2794
- 2883: 28(i64vec4) Load 2882
- 2884:2801(i64vec2) VectorShuffle 2883 2883 0 1
- 2885:2801(i64vec2) GroupNonUniformUMax 42 Reduce 2884
- 2886: 2802(ptr) AccessChain 34(data) 2881 2794
- 2887: 28(i64vec4) Load 2886
- 2888: 28(i64vec4) VectorShuffle 2887 2885 4 5 2 3
- Store 2886 2888
- 2889: 6(int) Load 8(invocation)
- 2890: 2802(ptr) AccessChain 34(data) 57 2794
- 2891: 28(i64vec4) Load 2890
- 2892:2811(i64vec3) VectorShuffle 2891 2891 0 1 2
- 2893:2811(i64vec3) GroupNonUniformUMax 42 Reduce 2892
- 2894: 2802(ptr) AccessChain 34(data) 2889 2794
- 2895: 28(i64vec4) Load 2894
- 2896: 28(i64vec4) VectorShuffle 2895 2893 4 5 6 3
- Store 2894 2896
- 2897: 6(int) Load 8(invocation)
- 2898: 2802(ptr) AccessChain 34(data) 67 2794
- 2899: 28(i64vec4) Load 2898
- 2900: 28(i64vec4) GroupNonUniformUMax 42 Reduce 2899
- 2901: 2802(ptr) AccessChain 34(data) 2897 2794
- Store 2901 2900
- 2902: 6(int) Load 8(invocation)
- 2903: 2795(ptr) AccessChain 34(data) 37 2794 38
- 2904: 27(int64_t) Load 2903
- 2905: 27(int64_t) GroupNonUniformBitwiseAnd 42 Reduce 2904
- 2906: 2795(ptr) AccessChain 34(data) 2902 2794 38
- Store 2906 2905
- 2907: 6(int) Load 8(invocation)
- 2908: 2802(ptr) AccessChain 34(data) 46 2794
- 2909: 28(i64vec4) Load 2908
- 2910:2801(i64vec2) VectorShuffle 2909 2909 0 1
- 2911:2801(i64vec2) GroupNonUniformBitwiseAnd 42 Reduce 2910
- 2912: 2802(ptr) AccessChain 34(data) 2907 2794
- 2913: 28(i64vec4) Load 2912
- 2914: 28(i64vec4) VectorShuffle 2913 2911 4 5 2 3
- Store 2912 2914
+ 2856: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 2857: 25(int64_t) Load 2856
+ 2858: 25(int64_t) GroupNonUniformSMin 42 InclusiveScan 2857
+ 2859: 2582(ptr) AccessChain 34(data) 2855 2581 38
+ Store 2859 2858
+ 2860: 6(int) Load 8(invocation)
+ 2861: 2589(ptr) AccessChain 34(data) 46 2581
+ 2862: 26(i64vec4) Load 2861
+ 2863:2588(i64vec2) VectorShuffle 2862 2862 0 1
+ 2864:2588(i64vec2) GroupNonUniformSMin 42 InclusiveScan 2863
+ 2865: 2582(ptr) AccessChain 34(data) 2860 2581 38
+ 2866: 25(int64_t) CompositeExtract 2864 0
+ Store 2865 2866
+ 2867: 2582(ptr) AccessChain 34(data) 2860 2581 55
+ 2868: 25(int64_t) CompositeExtract 2864 1
+ Store 2867 2868
+ 2869: 6(int) Load 8(invocation)
+ 2870: 2589(ptr) AccessChain 34(data) 59 2581
+ 2871: 26(i64vec4) Load 2870
+ 2872:2599(i64vec3) VectorShuffle 2871 2871 0 1 2
+ 2873:2599(i64vec3) GroupNonUniformSMin 42 InclusiveScan 2872
+ 2874: 2582(ptr) AccessChain 34(data) 2869 2581 38
+ 2875: 25(int64_t) CompositeExtract 2873 0
+ Store 2874 2875
+ 2876: 2582(ptr) AccessChain 34(data) 2869 2581 55
+ 2877: 25(int64_t) CompositeExtract 2873 1
+ Store 2876 2877
+ 2878: 2582(ptr) AccessChain 34(data) 2869 2581 69
+ 2879: 25(int64_t) CompositeExtract 2873 2
+ Store 2878 2879
+ 2880: 6(int) Load 8(invocation)
+ 2881: 2589(ptr) AccessChain 34(data) 73 2581
+ 2882: 26(i64vec4) Load 2881
+ 2883: 26(i64vec4) GroupNonUniformSMin 42 InclusiveScan 2882
+ 2884: 2589(ptr) AccessChain 34(data) 2880 2581
+ Store 2884 2883
+ 2885: 6(int) Load 8(invocation)
+ 2886: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 2887: 25(int64_t) Load 2886
+ 2888: 25(int64_t) GroupNonUniformSMax 42 InclusiveScan 2887
+ 2889: 2582(ptr) AccessChain 34(data) 2885 2581 38
+ Store 2889 2888
+ 2890: 6(int) Load 8(invocation)
+ 2891: 2589(ptr) AccessChain 34(data) 46 2581
+ 2892: 26(i64vec4) Load 2891
+ 2893:2588(i64vec2) VectorShuffle 2892 2892 0 1
+ 2894:2588(i64vec2) GroupNonUniformSMax 42 InclusiveScan 2893
+ 2895: 2582(ptr) AccessChain 34(data) 2890 2581 38
+ 2896: 25(int64_t) CompositeExtract 2894 0
+ Store 2895 2896
+ 2897: 2582(ptr) AccessChain 34(data) 2890 2581 55
+ 2898: 25(int64_t) CompositeExtract 2894 1
+ Store 2897 2898
+ 2899: 6(int) Load 8(invocation)
+ 2900: 2589(ptr) AccessChain 34(data) 59 2581
+ 2901: 26(i64vec4) Load 2900
+ 2902:2599(i64vec3) VectorShuffle 2901 2901 0 1 2
+ 2903:2599(i64vec3) GroupNonUniformSMax 42 InclusiveScan 2902
+ 2904: 2582(ptr) AccessChain 34(data) 2899 2581 38
+ 2905: 25(int64_t) CompositeExtract 2903 0
+ Store 2904 2905
+ 2906: 2582(ptr) AccessChain 34(data) 2899 2581 55
+ 2907: 25(int64_t) CompositeExtract 2903 1
+ Store 2906 2907
+ 2908: 2582(ptr) AccessChain 34(data) 2899 2581 69
+ 2909: 25(int64_t) CompositeExtract 2903 2
+ Store 2908 2909
+ 2910: 6(int) Load 8(invocation)
+ 2911: 2589(ptr) AccessChain 34(data) 73 2581
+ 2912: 26(i64vec4) Load 2911
+ 2913: 26(i64vec4) GroupNonUniformSMax 42 InclusiveScan 2912
+ 2914: 2589(ptr) AccessChain 34(data) 2910 2581
+ Store 2914 2913
2915: 6(int) Load 8(invocation)
- 2916: 2802(ptr) AccessChain 34(data) 57 2794
- 2917: 28(i64vec4) Load 2916
- 2918:2811(i64vec3) VectorShuffle 2917 2917 0 1 2
- 2919:2811(i64vec3) GroupNonUniformBitwiseAnd 42 Reduce 2918
- 2920: 2802(ptr) AccessChain 34(data) 2915 2794
- 2921: 28(i64vec4) Load 2920
- 2922: 28(i64vec4) VectorShuffle 2921 2919 4 5 6 3
- Store 2920 2922
- 2923: 6(int) Load 8(invocation)
- 2924: 2802(ptr) AccessChain 34(data) 67 2794
- 2925: 28(i64vec4) Load 2924
- 2926: 28(i64vec4) GroupNonUniformBitwiseAnd 42 Reduce 2925
- 2927: 2802(ptr) AccessChain 34(data) 2923 2794
- Store 2927 2926
- 2928: 6(int) Load 8(invocation)
- 2929: 2795(ptr) AccessChain 34(data) 37 2794 38
- 2930: 27(int64_t) Load 2929
- 2931: 27(int64_t) GroupNonUniformBitwiseOr 42 Reduce 2930
- 2932: 2795(ptr) AccessChain 34(data) 2928 2794 38
- Store 2932 2931
- 2933: 6(int) Load 8(invocation)
- 2934: 2802(ptr) AccessChain 34(data) 46 2794
- 2935: 28(i64vec4) Load 2934
- 2936:2801(i64vec2) VectorShuffle 2935 2935 0 1
- 2937:2801(i64vec2) GroupNonUniformBitwiseOr 42 Reduce 2936
- 2938: 2802(ptr) AccessChain 34(data) 2933 2794
- 2939: 28(i64vec4) Load 2938
- 2940: 28(i64vec4) VectorShuffle 2939 2937 4 5 2 3
- Store 2938 2940
- 2941: 6(int) Load 8(invocation)
- 2942: 2802(ptr) AccessChain 34(data) 57 2794
- 2943: 28(i64vec4) Load 2942
- 2944:2811(i64vec3) VectorShuffle 2943 2943 0 1 2
- 2945:2811(i64vec3) GroupNonUniformBitwiseOr 42 Reduce 2944
- 2946: 2802(ptr) AccessChain 34(data) 2941 2794
- 2947: 28(i64vec4) Load 2946
- 2948: 28(i64vec4) VectorShuffle 2947 2945 4 5 6 3
- Store 2946 2948
- 2949: 6(int) Load 8(invocation)
- 2950: 2802(ptr) AccessChain 34(data) 67 2794
- 2951: 28(i64vec4) Load 2950
- 2952: 28(i64vec4) GroupNonUniformBitwiseOr 42 Reduce 2951
- 2953: 2802(ptr) AccessChain 34(data) 2949 2794
- Store 2953 2952
- 2954: 6(int) Load 8(invocation)
- 2955: 2795(ptr) AccessChain 34(data) 37 2794 38
- 2956: 27(int64_t) Load 2955
- 2957: 27(int64_t) GroupNonUniformBitwiseXor 42 Reduce 2956
- 2958: 2795(ptr) AccessChain 34(data) 2954 2794 38
- Store 2958 2957
+ 2916: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 2917: 25(int64_t) Load 2916
+ 2918: 25(int64_t) GroupNonUniformBitwiseAnd 42 InclusiveScan 2917
+ 2919: 2582(ptr) AccessChain 34(data) 2915 2581 38
+ Store 2919 2918
+ 2920: 6(int) Load 8(invocation)
+ 2921: 2589(ptr) AccessChain 34(data) 46 2581
+ 2922: 26(i64vec4) Load 2921
+ 2923:2588(i64vec2) VectorShuffle 2922 2922 0 1
+ 2924:2588(i64vec2) GroupNonUniformBitwiseAnd 42 InclusiveScan 2923
+ 2925: 2582(ptr) AccessChain 34(data) 2920 2581 38
+ 2926: 25(int64_t) CompositeExtract 2924 0
+ Store 2925 2926
+ 2927: 2582(ptr) AccessChain 34(data) 2920 2581 55
+ 2928: 25(int64_t) CompositeExtract 2924 1
+ Store 2927 2928
+ 2929: 6(int) Load 8(invocation)
+ 2930: 2589(ptr) AccessChain 34(data) 59 2581
+ 2931: 26(i64vec4) Load 2930
+ 2932:2599(i64vec3) VectorShuffle 2931 2931 0 1 2
+ 2933:2599(i64vec3) GroupNonUniformBitwiseAnd 42 InclusiveScan 2932
+ 2934: 2582(ptr) AccessChain 34(data) 2929 2581 38
+ 2935: 25(int64_t) CompositeExtract 2933 0
+ Store 2934 2935
+ 2936: 2582(ptr) AccessChain 34(data) 2929 2581 55
+ 2937: 25(int64_t) CompositeExtract 2933 1
+ Store 2936 2937
+ 2938: 2582(ptr) AccessChain 34(data) 2929 2581 69
+ 2939: 25(int64_t) CompositeExtract 2933 2
+ Store 2938 2939
+ 2940: 6(int) Load 8(invocation)
+ 2941: 2589(ptr) AccessChain 34(data) 73 2581
+ 2942: 26(i64vec4) Load 2941
+ 2943: 26(i64vec4) GroupNonUniformBitwiseAnd 42 InclusiveScan 2942
+ 2944: 2589(ptr) AccessChain 34(data) 2940 2581
+ Store 2944 2943
+ 2945: 6(int) Load 8(invocation)
+ 2946: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 2947: 25(int64_t) Load 2946
+ 2948: 25(int64_t) GroupNonUniformBitwiseOr 42 InclusiveScan 2947
+ 2949: 2582(ptr) AccessChain 34(data) 2945 2581 38
+ Store 2949 2948
+ 2950: 6(int) Load 8(invocation)
+ 2951: 2589(ptr) AccessChain 34(data) 46 2581
+ 2952: 26(i64vec4) Load 2951
+ 2953:2588(i64vec2) VectorShuffle 2952 2952 0 1
+ 2954:2588(i64vec2) GroupNonUniformBitwiseOr 42 InclusiveScan 2953
+ 2955: 2582(ptr) AccessChain 34(data) 2950 2581 38
+ 2956: 25(int64_t) CompositeExtract 2954 0
+ Store 2955 2956
+ 2957: 2582(ptr) AccessChain 34(data) 2950 2581 55
+ 2958: 25(int64_t) CompositeExtract 2954 1
+ Store 2957 2958
2959: 6(int) Load 8(invocation)
- 2960: 2802(ptr) AccessChain 34(data) 46 2794
- 2961: 28(i64vec4) Load 2960
- 2962:2801(i64vec2) VectorShuffle 2961 2961 0 1
- 2963:2801(i64vec2) GroupNonUniformBitwiseXor 42 Reduce 2962
- 2964: 2802(ptr) AccessChain 34(data) 2959 2794
- 2965: 28(i64vec4) Load 2964
- 2966: 28(i64vec4) VectorShuffle 2965 2963 4 5 2 3
- Store 2964 2966
- 2967: 6(int) Load 8(invocation)
- 2968: 2802(ptr) AccessChain 34(data) 57 2794
- 2969: 28(i64vec4) Load 2968
- 2970:2811(i64vec3) VectorShuffle 2969 2969 0 1 2
- 2971:2811(i64vec3) GroupNonUniformBitwiseXor 42 Reduce 2970
- 2972: 2802(ptr) AccessChain 34(data) 2967 2794
- 2973: 28(i64vec4) Load 2972
- 2974: 28(i64vec4) VectorShuffle 2973 2971 4 5 6 3
- Store 2972 2974
+ 2960: 2589(ptr) AccessChain 34(data) 59 2581
+ 2961: 26(i64vec4) Load 2960
+ 2962:2599(i64vec3) VectorShuffle 2961 2961 0 1 2
+ 2963:2599(i64vec3) GroupNonUniformBitwiseOr 42 InclusiveScan 2962
+ 2964: 2582(ptr) AccessChain 34(data) 2959 2581 38
+ 2965: 25(int64_t) CompositeExtract 2963 0
+ Store 2964 2965
+ 2966: 2582(ptr) AccessChain 34(data) 2959 2581 55
+ 2967: 25(int64_t) CompositeExtract 2963 1
+ Store 2966 2967
+ 2968: 2582(ptr) AccessChain 34(data) 2959 2581 69
+ 2969: 25(int64_t) CompositeExtract 2963 2
+ Store 2968 2969
+ 2970: 6(int) Load 8(invocation)
+ 2971: 2589(ptr) AccessChain 34(data) 73 2581
+ 2972: 26(i64vec4) Load 2971
+ 2973: 26(i64vec4) GroupNonUniformBitwiseOr 42 InclusiveScan 2972
+ 2974: 2589(ptr) AccessChain 34(data) 2970 2581
+ Store 2974 2973
2975: 6(int) Load 8(invocation)
- 2976: 2802(ptr) AccessChain 34(data) 67 2794
- 2977: 28(i64vec4) Load 2976
- 2978: 28(i64vec4) GroupNonUniformBitwiseXor 42 Reduce 2977
- 2979: 2802(ptr) AccessChain 34(data) 2975 2794
+ 2976: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 2977: 25(int64_t) Load 2976
+ 2978: 25(int64_t) GroupNonUniformBitwiseXor 42 InclusiveScan 2977
+ 2979: 2582(ptr) AccessChain 34(data) 2975 2581 38
Store 2979 2978
2980: 6(int) Load 8(invocation)
- 2981: 2795(ptr) AccessChain 34(data) 37 2794 38
- 2982: 27(int64_t) Load 2981
- 2983: 27(int64_t) GroupNonUniformIAdd 42 InclusiveScan 2982
- 2984: 2795(ptr) AccessChain 34(data) 2980 2794 38
- Store 2984 2983
- 2985: 6(int) Load 8(invocation)
- 2986: 2802(ptr) AccessChain 34(data) 46 2794
- 2987: 28(i64vec4) Load 2986
- 2988:2801(i64vec2) VectorShuffle 2987 2987 0 1
- 2989:2801(i64vec2) GroupNonUniformIAdd 42 InclusiveScan 2988
- 2990: 2802(ptr) AccessChain 34(data) 2985 2794
- 2991: 28(i64vec4) Load 2990
- 2992: 28(i64vec4) VectorShuffle 2991 2989 4 5 2 3
- Store 2990 2992
- 2993: 6(int) Load 8(invocation)
- 2994: 2802(ptr) AccessChain 34(data) 57 2794
- 2995: 28(i64vec4) Load 2994
- 2996:2811(i64vec3) VectorShuffle 2995 2995 0 1 2
- 2997:2811(i64vec3) GroupNonUniformIAdd 42 InclusiveScan 2996
- 2998: 2802(ptr) AccessChain 34(data) 2993 2794
- 2999: 28(i64vec4) Load 2998
- 3000: 28(i64vec4) VectorShuffle 2999 2997 4 5 6 3
- Store 2998 3000
- 3001: 6(int) Load 8(invocation)
- 3002: 2802(ptr) AccessChain 34(data) 67 2794
- 3003: 28(i64vec4) Load 3002
- 3004: 28(i64vec4) GroupNonUniformIAdd 42 InclusiveScan 3003
- 3005: 2802(ptr) AccessChain 34(data) 3001 2794
- Store 3005 3004
- 3006: 6(int) Load 8(invocation)
- 3007: 2795(ptr) AccessChain 34(data) 37 2794 38
- 3008: 27(int64_t) Load 3007
- 3009: 27(int64_t) GroupNonUniformIMul 42 InclusiveScan 3008
- 3010: 2795(ptr) AccessChain 34(data) 3006 2794 38
- Store 3010 3009
- 3011: 6(int) Load 8(invocation)
- 3012: 2802(ptr) AccessChain 34(data) 46 2794
- 3013: 28(i64vec4) Load 3012
- 3014:2801(i64vec2) VectorShuffle 3013 3013 0 1
- 3015:2801(i64vec2) GroupNonUniformIMul 42 InclusiveScan 3014
- 3016: 2802(ptr) AccessChain 34(data) 3011 2794
- 3017: 28(i64vec4) Load 3016
- 3018: 28(i64vec4) VectorShuffle 3017 3015 4 5 2 3
- Store 3016 3018
+ 2981: 2589(ptr) AccessChain 34(data) 46 2581
+ 2982: 26(i64vec4) Load 2981
+ 2983:2588(i64vec2) VectorShuffle 2982 2982 0 1
+ 2984:2588(i64vec2) GroupNonUniformBitwiseXor 42 InclusiveScan 2983
+ 2985: 2582(ptr) AccessChain 34(data) 2980 2581 38
+ 2986: 25(int64_t) CompositeExtract 2984 0
+ Store 2985 2986
+ 2987: 2582(ptr) AccessChain 34(data) 2980 2581 55
+ 2988: 25(int64_t) CompositeExtract 2984 1
+ Store 2987 2988
+ 2989: 6(int) Load 8(invocation)
+ 2990: 2589(ptr) AccessChain 34(data) 59 2581
+ 2991: 26(i64vec4) Load 2990
+ 2992:2599(i64vec3) VectorShuffle 2991 2991 0 1 2
+ 2993:2599(i64vec3) GroupNonUniformBitwiseXor 42 InclusiveScan 2992
+ 2994: 2582(ptr) AccessChain 34(data) 2989 2581 38
+ 2995: 25(int64_t) CompositeExtract 2993 0
+ Store 2994 2995
+ 2996: 2582(ptr) AccessChain 34(data) 2989 2581 55
+ 2997: 25(int64_t) CompositeExtract 2993 1
+ Store 2996 2997
+ 2998: 2582(ptr) AccessChain 34(data) 2989 2581 69
+ 2999: 25(int64_t) CompositeExtract 2993 2
+ Store 2998 2999
+ 3000: 6(int) Load 8(invocation)
+ 3001: 2589(ptr) AccessChain 34(data) 73 2581
+ 3002: 26(i64vec4) Load 3001
+ 3003: 26(i64vec4) GroupNonUniformBitwiseXor 42 InclusiveScan 3002
+ 3004: 2589(ptr) AccessChain 34(data) 3000 2581
+ Store 3004 3003
+ 3005: 6(int) Load 8(invocation)
+ 3006: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 3007: 25(int64_t) Load 3006
+ 3008: 25(int64_t) GroupNonUniformIAdd 42 ExclusiveScan 3007
+ 3009: 2582(ptr) AccessChain 34(data) 3005 2581 38
+ Store 3009 3008
+ 3010: 6(int) Load 8(invocation)
+ 3011: 2589(ptr) AccessChain 34(data) 46 2581
+ 3012: 26(i64vec4) Load 3011
+ 3013:2588(i64vec2) VectorShuffle 3012 3012 0 1
+ 3014:2588(i64vec2) GroupNonUniformIAdd 42 ExclusiveScan 3013
+ 3015: 2582(ptr) AccessChain 34(data) 3010 2581 38
+ 3016: 25(int64_t) CompositeExtract 3014 0
+ Store 3015 3016
+ 3017: 2582(ptr) AccessChain 34(data) 3010 2581 55
+ 3018: 25(int64_t) CompositeExtract 3014 1
+ Store 3017 3018
3019: 6(int) Load 8(invocation)
- 3020: 2802(ptr) AccessChain 34(data) 57 2794
- 3021: 28(i64vec4) Load 3020
- 3022:2811(i64vec3) VectorShuffle 3021 3021 0 1 2
- 3023:2811(i64vec3) GroupNonUniformIMul 42 InclusiveScan 3022
- 3024: 2802(ptr) AccessChain 34(data) 3019 2794
- 3025: 28(i64vec4) Load 3024
- 3026: 28(i64vec4) VectorShuffle 3025 3023 4 5 6 3
- Store 3024 3026
- 3027: 6(int) Load 8(invocation)
- 3028: 2802(ptr) AccessChain 34(data) 67 2794
- 3029: 28(i64vec4) Load 3028
- 3030: 28(i64vec4) GroupNonUniformIMul 42 InclusiveScan 3029
- 3031: 2802(ptr) AccessChain 34(data) 3027 2794
- Store 3031 3030
- 3032: 6(int) Load 8(invocation)
- 3033: 2795(ptr) AccessChain 34(data) 37 2794 38
- 3034: 27(int64_t) Load 3033
- 3035: 27(int64_t) GroupNonUniformUMin 42 InclusiveScan 3034
- 3036: 2795(ptr) AccessChain 34(data) 3032 2794 38
- Store 3036 3035
- 3037: 6(int) Load 8(invocation)
- 3038: 2802(ptr) AccessChain 34(data) 46 2794
- 3039: 28(i64vec4) Load 3038
- 3040:2801(i64vec2) VectorShuffle 3039 3039 0 1
- 3041:2801(i64vec2) GroupNonUniformUMin 42 InclusiveScan 3040
- 3042: 2802(ptr) AccessChain 34(data) 3037 2794
- 3043: 28(i64vec4) Load 3042
- 3044: 28(i64vec4) VectorShuffle 3043 3041 4 5 2 3
- Store 3042 3044
- 3045: 6(int) Load 8(invocation)
- 3046: 2802(ptr) AccessChain 34(data) 57 2794
- 3047: 28(i64vec4) Load 3046
- 3048:2811(i64vec3) VectorShuffle 3047 3047 0 1 2
- 3049:2811(i64vec3) GroupNonUniformUMin 42 InclusiveScan 3048
- 3050: 2802(ptr) AccessChain 34(data) 3045 2794
- 3051: 28(i64vec4) Load 3050
- 3052: 28(i64vec4) VectorShuffle 3051 3049 4 5 6 3
- Store 3050 3052
- 3053: 6(int) Load 8(invocation)
- 3054: 2802(ptr) AccessChain 34(data) 67 2794
- 3055: 28(i64vec4) Load 3054
- 3056: 28(i64vec4) GroupNonUniformUMin 42 InclusiveScan 3055
- 3057: 2802(ptr) AccessChain 34(data) 3053 2794
- Store 3057 3056
- 3058: 6(int) Load 8(invocation)
- 3059: 2795(ptr) AccessChain 34(data) 37 2794 38
- 3060: 27(int64_t) Load 3059
- 3061: 27(int64_t) GroupNonUniformUMax 42 InclusiveScan 3060
- 3062: 2795(ptr) AccessChain 34(data) 3058 2794 38
- Store 3062 3061
- 3063: 6(int) Load 8(invocation)
- 3064: 2802(ptr) AccessChain 34(data) 46 2794
- 3065: 28(i64vec4) Load 3064
- 3066:2801(i64vec2) VectorShuffle 3065 3065 0 1
- 3067:2801(i64vec2) GroupNonUniformUMax 42 InclusiveScan 3066
- 3068: 2802(ptr) AccessChain 34(data) 3063 2794
- 3069: 28(i64vec4) Load 3068
- 3070: 28(i64vec4) VectorShuffle 3069 3067 4 5 2 3
- Store 3068 3070
- 3071: 6(int) Load 8(invocation)
- 3072: 2802(ptr) AccessChain 34(data) 57 2794
- 3073: 28(i64vec4) Load 3072
- 3074:2811(i64vec3) VectorShuffle 3073 3073 0 1 2
- 3075:2811(i64vec3) GroupNonUniformUMax 42 InclusiveScan 3074
- 3076: 2802(ptr) AccessChain 34(data) 3071 2794
- 3077: 28(i64vec4) Load 3076
- 3078: 28(i64vec4) VectorShuffle 3077 3075 4 5 6 3
- Store 3076 3078
+ 3020: 2589(ptr) AccessChain 34(data) 59 2581
+ 3021: 26(i64vec4) Load 3020
+ 3022:2599(i64vec3) VectorShuffle 3021 3021 0 1 2
+ 3023:2599(i64vec3) GroupNonUniformIAdd 42 ExclusiveScan 3022
+ 3024: 2582(ptr) AccessChain 34(data) 3019 2581 38
+ 3025: 25(int64_t) CompositeExtract 3023 0
+ Store 3024 3025
+ 3026: 2582(ptr) AccessChain 34(data) 3019 2581 55
+ 3027: 25(int64_t) CompositeExtract 3023 1
+ Store 3026 3027
+ 3028: 2582(ptr) AccessChain 34(data) 3019 2581 69
+ 3029: 25(int64_t) CompositeExtract 3023 2
+ Store 3028 3029
+ 3030: 6(int) Load 8(invocation)
+ 3031: 2589(ptr) AccessChain 34(data) 73 2581
+ 3032: 26(i64vec4) Load 3031
+ 3033: 26(i64vec4) GroupNonUniformIAdd 42 ExclusiveScan 3032
+ 3034: 2589(ptr) AccessChain 34(data) 3030 2581
+ Store 3034 3033
+ 3035: 6(int) Load 8(invocation)
+ 3036: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 3037: 25(int64_t) Load 3036
+ 3038: 25(int64_t) GroupNonUniformIMul 42 ExclusiveScan 3037
+ 3039: 2582(ptr) AccessChain 34(data) 3035 2581 38
+ Store 3039 3038
+ 3040: 6(int) Load 8(invocation)
+ 3041: 2589(ptr) AccessChain 34(data) 46 2581
+ 3042: 26(i64vec4) Load 3041
+ 3043:2588(i64vec2) VectorShuffle 3042 3042 0 1
+ 3044:2588(i64vec2) GroupNonUniformIMul 42 ExclusiveScan 3043
+ 3045: 2582(ptr) AccessChain 34(data) 3040 2581 38
+ 3046: 25(int64_t) CompositeExtract 3044 0
+ Store 3045 3046
+ 3047: 2582(ptr) AccessChain 34(data) 3040 2581 55
+ 3048: 25(int64_t) CompositeExtract 3044 1
+ Store 3047 3048
+ 3049: 6(int) Load 8(invocation)
+ 3050: 2589(ptr) AccessChain 34(data) 59 2581
+ 3051: 26(i64vec4) Load 3050
+ 3052:2599(i64vec3) VectorShuffle 3051 3051 0 1 2
+ 3053:2599(i64vec3) GroupNonUniformIMul 42 ExclusiveScan 3052
+ 3054: 2582(ptr) AccessChain 34(data) 3049 2581 38
+ 3055: 25(int64_t) CompositeExtract 3053 0
+ Store 3054 3055
+ 3056: 2582(ptr) AccessChain 34(data) 3049 2581 55
+ 3057: 25(int64_t) CompositeExtract 3053 1
+ Store 3056 3057
+ 3058: 2582(ptr) AccessChain 34(data) 3049 2581 69
+ 3059: 25(int64_t) CompositeExtract 3053 2
+ Store 3058 3059
+ 3060: 6(int) Load 8(invocation)
+ 3061: 2589(ptr) AccessChain 34(data) 73 2581
+ 3062: 26(i64vec4) Load 3061
+ 3063: 26(i64vec4) GroupNonUniformIMul 42 ExclusiveScan 3062
+ 3064: 2589(ptr) AccessChain 34(data) 3060 2581
+ Store 3064 3063
+ 3065: 6(int) Load 8(invocation)
+ 3066: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 3067: 25(int64_t) Load 3066
+ 3068: 25(int64_t) GroupNonUniformSMin 42 ExclusiveScan 3067
+ 3069: 2582(ptr) AccessChain 34(data) 3065 2581 38
+ Store 3069 3068
+ 3070: 6(int) Load 8(invocation)
+ 3071: 2589(ptr) AccessChain 34(data) 46 2581
+ 3072: 26(i64vec4) Load 3071
+ 3073:2588(i64vec2) VectorShuffle 3072 3072 0 1
+ 3074:2588(i64vec2) GroupNonUniformSMin 42 ExclusiveScan 3073
+ 3075: 2582(ptr) AccessChain 34(data) 3070 2581 38
+ 3076: 25(int64_t) CompositeExtract 3074 0
+ Store 3075 3076
+ 3077: 2582(ptr) AccessChain 34(data) 3070 2581 55
+ 3078: 25(int64_t) CompositeExtract 3074 1
+ Store 3077 3078
3079: 6(int) Load 8(invocation)
- 3080: 2802(ptr) AccessChain 34(data) 67 2794
- 3081: 28(i64vec4) Load 3080
- 3082: 28(i64vec4) GroupNonUniformUMax 42 InclusiveScan 3081
- 3083: 2802(ptr) AccessChain 34(data) 3079 2794
- Store 3083 3082
- 3084: 6(int) Load 8(invocation)
- 3085: 2795(ptr) AccessChain 34(data) 37 2794 38
- 3086: 27(int64_t) Load 3085
- 3087: 27(int64_t) GroupNonUniformBitwiseAnd 42 InclusiveScan 3086
- 3088: 2795(ptr) AccessChain 34(data) 3084 2794 38
- Store 3088 3087
- 3089: 6(int) Load 8(invocation)
- 3090: 2802(ptr) AccessChain 34(data) 46 2794
- 3091: 28(i64vec4) Load 3090
- 3092:2801(i64vec2) VectorShuffle 3091 3091 0 1
- 3093:2801(i64vec2) GroupNonUniformBitwiseAnd 42 InclusiveScan 3092
- 3094: 2802(ptr) AccessChain 34(data) 3089 2794
- 3095: 28(i64vec4) Load 3094
- 3096: 28(i64vec4) VectorShuffle 3095 3093 4 5 2 3
- Store 3094 3096
- 3097: 6(int) Load 8(invocation)
- 3098: 2802(ptr) AccessChain 34(data) 57 2794
- 3099: 28(i64vec4) Load 3098
- 3100:2811(i64vec3) VectorShuffle 3099 3099 0 1 2
- 3101:2811(i64vec3) GroupNonUniformBitwiseAnd 42 InclusiveScan 3100
- 3102: 2802(ptr) AccessChain 34(data) 3097 2794
- 3103: 28(i64vec4) Load 3102
- 3104: 28(i64vec4) VectorShuffle 3103 3101 4 5 6 3
- Store 3102 3104
- 3105: 6(int) Load 8(invocation)
- 3106: 2802(ptr) AccessChain 34(data) 67 2794
- 3107: 28(i64vec4) Load 3106
- 3108: 28(i64vec4) GroupNonUniformBitwiseAnd 42 InclusiveScan 3107
- 3109: 2802(ptr) AccessChain 34(data) 3105 2794
- Store 3109 3108
- 3110: 6(int) Load 8(invocation)
- 3111: 2795(ptr) AccessChain 34(data) 37 2794 38
- 3112: 27(int64_t) Load 3111
- 3113: 27(int64_t) GroupNonUniformBitwiseOr 42 InclusiveScan 3112
- 3114: 2795(ptr) AccessChain 34(data) 3110 2794 38
- Store 3114 3113
- 3115: 6(int) Load 8(invocation)
- 3116: 2802(ptr) AccessChain 34(data) 46 2794
- 3117: 28(i64vec4) Load 3116
- 3118:2801(i64vec2) VectorShuffle 3117 3117 0 1
- 3119:2801(i64vec2) GroupNonUniformBitwiseOr 42 InclusiveScan 3118
- 3120: 2802(ptr) AccessChain 34(data) 3115 2794
- 3121: 28(i64vec4) Load 3120
- 3122: 28(i64vec4) VectorShuffle 3121 3119 4 5 2 3
- Store 3120 3122
- 3123: 6(int) Load 8(invocation)
- 3124: 2802(ptr) AccessChain 34(data) 57 2794
- 3125: 28(i64vec4) Load 3124
- 3126:2811(i64vec3) VectorShuffle 3125 3125 0 1 2
- 3127:2811(i64vec3) GroupNonUniformBitwiseOr 42 InclusiveScan 3126
- 3128: 2802(ptr) AccessChain 34(data) 3123 2794
- 3129: 28(i64vec4) Load 3128
- 3130: 28(i64vec4) VectorShuffle 3129 3127 4 5 6 3
- Store 3128 3130
- 3131: 6(int) Load 8(invocation)
- 3132: 2802(ptr) AccessChain 34(data) 67 2794
- 3133: 28(i64vec4) Load 3132
- 3134: 28(i64vec4) GroupNonUniformBitwiseOr 42 InclusiveScan 3133
- 3135: 2802(ptr) AccessChain 34(data) 3131 2794
- Store 3135 3134
- 3136: 6(int) Load 8(invocation)
- 3137: 2795(ptr) AccessChain 34(data) 37 2794 38
- 3138: 27(int64_t) Load 3137
- 3139: 27(int64_t) GroupNonUniformBitwiseXor 42 InclusiveScan 3138
- 3140: 2795(ptr) AccessChain 34(data) 3136 2794 38
- Store 3140 3139
- 3141: 6(int) Load 8(invocation)
- 3142: 2802(ptr) AccessChain 34(data) 46 2794
- 3143: 28(i64vec4) Load 3142
- 3144:2801(i64vec2) VectorShuffle 3143 3143 0 1
- 3145:2801(i64vec2) GroupNonUniformBitwiseXor 42 InclusiveScan 3144
- 3146: 2802(ptr) AccessChain 34(data) 3141 2794
- 3147: 28(i64vec4) Load 3146
- 3148: 28(i64vec4) VectorShuffle 3147 3145 4 5 2 3
- Store 3146 3148
- 3149: 6(int) Load 8(invocation)
- 3150: 2802(ptr) AccessChain 34(data) 57 2794
- 3151: 28(i64vec4) Load 3150
- 3152:2811(i64vec3) VectorShuffle 3151 3151 0 1 2
- 3153:2811(i64vec3) GroupNonUniformBitwiseXor 42 InclusiveScan 3152
- 3154: 2802(ptr) AccessChain 34(data) 3149 2794
- 3155: 28(i64vec4) Load 3154
- 3156: 28(i64vec4) VectorShuffle 3155 3153 4 5 6 3
- Store 3154 3156
- 3157: 6(int) Load 8(invocation)
- 3158: 2802(ptr) AccessChain 34(data) 67 2794
- 3159: 28(i64vec4) Load 3158
- 3160: 28(i64vec4) GroupNonUniformBitwiseXor 42 InclusiveScan 3159
- 3161: 2802(ptr) AccessChain 34(data) 3157 2794
- Store 3161 3160
- 3162: 6(int) Load 8(invocation)
- 3163: 2795(ptr) AccessChain 34(data) 37 2794 38
- 3164: 27(int64_t) Load 3163
- 3165: 27(int64_t) GroupNonUniformIAdd 42 ExclusiveScan 3164
- 3166: 2795(ptr) AccessChain 34(data) 3162 2794 38
- Store 3166 3165
- 3167: 6(int) Load 8(invocation)
- 3168: 2802(ptr) AccessChain 34(data) 46 2794
- 3169: 28(i64vec4) Load 3168
- 3170:2801(i64vec2) VectorShuffle 3169 3169 0 1
- 3171:2801(i64vec2) GroupNonUniformIAdd 42 ExclusiveScan 3170
- 3172: 2802(ptr) AccessChain 34(data) 3167 2794
- 3173: 28(i64vec4) Load 3172
- 3174: 28(i64vec4) VectorShuffle 3173 3171 4 5 2 3
- Store 3172 3174
- 3175: 6(int) Load 8(invocation)
- 3176: 2802(ptr) AccessChain 34(data) 57 2794
- 3177: 28(i64vec4) Load 3176
- 3178:2811(i64vec3) VectorShuffle 3177 3177 0 1 2
- 3179:2811(i64vec3) GroupNonUniformIAdd 42 ExclusiveScan 3178
- 3180: 2802(ptr) AccessChain 34(data) 3175 2794
- 3181: 28(i64vec4) Load 3180
- 3182: 28(i64vec4) VectorShuffle 3181 3179 4 5 6 3
- Store 3180 3182
- 3183: 6(int) Load 8(invocation)
- 3184: 2802(ptr) AccessChain 34(data) 67 2794
- 3185: 28(i64vec4) Load 3184
- 3186: 28(i64vec4) GroupNonUniformIAdd 42 ExclusiveScan 3185
- 3187: 2802(ptr) AccessChain 34(data) 3183 2794
- Store 3187 3186
- 3188: 6(int) Load 8(invocation)
- 3189: 2795(ptr) AccessChain 34(data) 37 2794 38
- 3190: 27(int64_t) Load 3189
- 3191: 27(int64_t) GroupNonUniformIMul 42 ExclusiveScan 3190
- 3192: 2795(ptr) AccessChain 34(data) 3188 2794 38
- Store 3192 3191
- 3193: 6(int) Load 8(invocation)
- 3194: 2802(ptr) AccessChain 34(data) 46 2794
- 3195: 28(i64vec4) Load 3194
- 3196:2801(i64vec2) VectorShuffle 3195 3195 0 1
- 3197:2801(i64vec2) GroupNonUniformIMul 42 ExclusiveScan 3196
- 3198: 2802(ptr) AccessChain 34(data) 3193 2794
- 3199: 28(i64vec4) Load 3198
- 3200: 28(i64vec4) VectorShuffle 3199 3197 4 5 2 3
- Store 3198 3200
- 3201: 6(int) Load 8(invocation)
- 3202: 2802(ptr) AccessChain 34(data) 57 2794
- 3203: 28(i64vec4) Load 3202
- 3204:2811(i64vec3) VectorShuffle 3203 3203 0 1 2
- 3205:2811(i64vec3) GroupNonUniformIMul 42 ExclusiveScan 3204
- 3206: 2802(ptr) AccessChain 34(data) 3201 2794
- 3207: 28(i64vec4) Load 3206
- 3208: 28(i64vec4) VectorShuffle 3207 3205 4 5 6 3
- Store 3206 3208
- 3209: 6(int) Load 8(invocation)
- 3210: 2802(ptr) AccessChain 34(data) 67 2794
- 3211: 28(i64vec4) Load 3210
- 3212: 28(i64vec4) GroupNonUniformIMul 42 ExclusiveScan 3211
- 3213: 2802(ptr) AccessChain 34(data) 3209 2794
- Store 3213 3212
- 3214: 6(int) Load 8(invocation)
- 3215: 2795(ptr) AccessChain 34(data) 37 2794 38
- 3216: 27(int64_t) Load 3215
- 3217: 27(int64_t) GroupNonUniformUMin 42 ExclusiveScan 3216
- 3218: 2795(ptr) AccessChain 34(data) 3214 2794 38
- Store 3218 3217
- 3219: 6(int) Load 8(invocation)
- 3220: 2802(ptr) AccessChain 34(data) 46 2794
- 3221: 28(i64vec4) Load 3220
- 3222:2801(i64vec2) VectorShuffle 3221 3221 0 1
- 3223:2801(i64vec2) GroupNonUniformUMin 42 ExclusiveScan 3222
- 3224: 2802(ptr) AccessChain 34(data) 3219 2794
- 3225: 28(i64vec4) Load 3224
- 3226: 28(i64vec4) VectorShuffle 3225 3223 4 5 2 3
- Store 3224 3226
- 3227: 6(int) Load 8(invocation)
- 3228: 2802(ptr) AccessChain 34(data) 57 2794
- 3229: 28(i64vec4) Load 3228
- 3230:2811(i64vec3) VectorShuffle 3229 3229 0 1 2
- 3231:2811(i64vec3) GroupNonUniformUMin 42 ExclusiveScan 3230
- 3232: 2802(ptr) AccessChain 34(data) 3227 2794
- 3233: 28(i64vec4) Load 3232
- 3234: 28(i64vec4) VectorShuffle 3233 3231 4 5 6 3
- Store 3232 3234
- 3235: 6(int) Load 8(invocation)
- 3236: 2802(ptr) AccessChain 34(data) 67 2794
- 3237: 28(i64vec4) Load 3236
- 3238: 28(i64vec4) GroupNonUniformUMin 42 ExclusiveScan 3237
- 3239: 2802(ptr) AccessChain 34(data) 3235 2794
- Store 3239 3238
- 3240: 6(int) Load 8(invocation)
- 3241: 2795(ptr) AccessChain 34(data) 37 2794 38
- 3242: 27(int64_t) Load 3241
- 3243: 27(int64_t) GroupNonUniformUMax 42 ExclusiveScan 3242
- 3244: 2795(ptr) AccessChain 34(data) 3240 2794 38
- Store 3244 3243
+ 3080: 2589(ptr) AccessChain 34(data) 59 2581
+ 3081: 26(i64vec4) Load 3080
+ 3082:2599(i64vec3) VectorShuffle 3081 3081 0 1 2
+ 3083:2599(i64vec3) GroupNonUniformSMin 42 ExclusiveScan 3082
+ 3084: 2582(ptr) AccessChain 34(data) 3079 2581 38
+ 3085: 25(int64_t) CompositeExtract 3083 0
+ Store 3084 3085
+ 3086: 2582(ptr) AccessChain 34(data) 3079 2581 55
+ 3087: 25(int64_t) CompositeExtract 3083 1
+ Store 3086 3087
+ 3088: 2582(ptr) AccessChain 34(data) 3079 2581 69
+ 3089: 25(int64_t) CompositeExtract 3083 2
+ Store 3088 3089
+ 3090: 6(int) Load 8(invocation)
+ 3091: 2589(ptr) AccessChain 34(data) 73 2581
+ 3092: 26(i64vec4) Load 3091
+ 3093: 26(i64vec4) GroupNonUniformSMin 42 ExclusiveScan 3092
+ 3094: 2589(ptr) AccessChain 34(data) 3090 2581
+ Store 3094 3093
+ 3095: 6(int) Load 8(invocation)
+ 3096: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 3097: 25(int64_t) Load 3096
+ 3098: 25(int64_t) GroupNonUniformSMax 42 ExclusiveScan 3097
+ 3099: 2582(ptr) AccessChain 34(data) 3095 2581 38
+ Store 3099 3098
+ 3100: 6(int) Load 8(invocation)
+ 3101: 2589(ptr) AccessChain 34(data) 46 2581
+ 3102: 26(i64vec4) Load 3101
+ 3103:2588(i64vec2) VectorShuffle 3102 3102 0 1
+ 3104:2588(i64vec2) GroupNonUniformSMax 42 ExclusiveScan 3103
+ 3105: 2582(ptr) AccessChain 34(data) 3100 2581 38
+ 3106: 25(int64_t) CompositeExtract 3104 0
+ Store 3105 3106
+ 3107: 2582(ptr) AccessChain 34(data) 3100 2581 55
+ 3108: 25(int64_t) CompositeExtract 3104 1
+ Store 3107 3108
+ 3109: 6(int) Load 8(invocation)
+ 3110: 2589(ptr) AccessChain 34(data) 59 2581
+ 3111: 26(i64vec4) Load 3110
+ 3112:2599(i64vec3) VectorShuffle 3111 3111 0 1 2
+ 3113:2599(i64vec3) GroupNonUniformSMax 42 ExclusiveScan 3112
+ 3114: 2582(ptr) AccessChain 34(data) 3109 2581 38
+ 3115: 25(int64_t) CompositeExtract 3113 0
+ Store 3114 3115
+ 3116: 2582(ptr) AccessChain 34(data) 3109 2581 55
+ 3117: 25(int64_t) CompositeExtract 3113 1
+ Store 3116 3117
+ 3118: 2582(ptr) AccessChain 34(data) 3109 2581 69
+ 3119: 25(int64_t) CompositeExtract 3113 2
+ Store 3118 3119
+ 3120: 6(int) Load 8(invocation)
+ 3121: 2589(ptr) AccessChain 34(data) 73 2581
+ 3122: 26(i64vec4) Load 3121
+ 3123: 26(i64vec4) GroupNonUniformSMax 42 ExclusiveScan 3122
+ 3124: 2589(ptr) AccessChain 34(data) 3120 2581
+ Store 3124 3123
+ 3125: 6(int) Load 8(invocation)
+ 3126: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 3127: 25(int64_t) Load 3126
+ 3128: 25(int64_t) GroupNonUniformBitwiseAnd 42 ExclusiveScan 3127
+ 3129: 2582(ptr) AccessChain 34(data) 3125 2581 38
+ Store 3129 3128
+ 3130: 6(int) Load 8(invocation)
+ 3131: 2589(ptr) AccessChain 34(data) 46 2581
+ 3132: 26(i64vec4) Load 3131
+ 3133:2588(i64vec2) VectorShuffle 3132 3132 0 1
+ 3134:2588(i64vec2) GroupNonUniformBitwiseAnd 42 ExclusiveScan 3133
+ 3135: 2582(ptr) AccessChain 34(data) 3130 2581 38
+ 3136: 25(int64_t) CompositeExtract 3134 0
+ Store 3135 3136
+ 3137: 2582(ptr) AccessChain 34(data) 3130 2581 55
+ 3138: 25(int64_t) CompositeExtract 3134 1
+ Store 3137 3138
+ 3139: 6(int) Load 8(invocation)
+ 3140: 2589(ptr) AccessChain 34(data) 59 2581
+ 3141: 26(i64vec4) Load 3140
+ 3142:2599(i64vec3) VectorShuffle 3141 3141 0 1 2
+ 3143:2599(i64vec3) GroupNonUniformBitwiseAnd 42 ExclusiveScan 3142
+ 3144: 2582(ptr) AccessChain 34(data) 3139 2581 38
+ 3145: 25(int64_t) CompositeExtract 3143 0
+ Store 3144 3145
+ 3146: 2582(ptr) AccessChain 34(data) 3139 2581 55
+ 3147: 25(int64_t) CompositeExtract 3143 1
+ Store 3146 3147
+ 3148: 2582(ptr) AccessChain 34(data) 3139 2581 69
+ 3149: 25(int64_t) CompositeExtract 3143 2
+ Store 3148 3149
+ 3150: 6(int) Load 8(invocation)
+ 3151: 2589(ptr) AccessChain 34(data) 73 2581
+ 3152: 26(i64vec4) Load 3151
+ 3153: 26(i64vec4) GroupNonUniformBitwiseAnd 42 ExclusiveScan 3152
+ 3154: 2589(ptr) AccessChain 34(data) 3150 2581
+ Store 3154 3153
+ 3155: 6(int) Load 8(invocation)
+ 3156: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 3157: 25(int64_t) Load 3156
+ 3158: 25(int64_t) GroupNonUniformBitwiseOr 42 ExclusiveScan 3157
+ 3159: 2582(ptr) AccessChain 34(data) 3155 2581 38
+ Store 3159 3158
+ 3160: 6(int) Load 8(invocation)
+ 3161: 2589(ptr) AccessChain 34(data) 46 2581
+ 3162: 26(i64vec4) Load 3161
+ 3163:2588(i64vec2) VectorShuffle 3162 3162 0 1
+ 3164:2588(i64vec2) GroupNonUniformBitwiseOr 42 ExclusiveScan 3163
+ 3165: 2582(ptr) AccessChain 34(data) 3160 2581 38
+ 3166: 25(int64_t) CompositeExtract 3164 0
+ Store 3165 3166
+ 3167: 2582(ptr) AccessChain 34(data) 3160 2581 55
+ 3168: 25(int64_t) CompositeExtract 3164 1
+ Store 3167 3168
+ 3169: 6(int) Load 8(invocation)
+ 3170: 2589(ptr) AccessChain 34(data) 59 2581
+ 3171: 26(i64vec4) Load 3170
+ 3172:2599(i64vec3) VectorShuffle 3171 3171 0 1 2
+ 3173:2599(i64vec3) GroupNonUniformBitwiseOr 42 ExclusiveScan 3172
+ 3174: 2582(ptr) AccessChain 34(data) 3169 2581 38
+ 3175: 25(int64_t) CompositeExtract 3173 0
+ Store 3174 3175
+ 3176: 2582(ptr) AccessChain 34(data) 3169 2581 55
+ 3177: 25(int64_t) CompositeExtract 3173 1
+ Store 3176 3177
+ 3178: 2582(ptr) AccessChain 34(data) 3169 2581 69
+ 3179: 25(int64_t) CompositeExtract 3173 2
+ Store 3178 3179
+ 3180: 6(int) Load 8(invocation)
+ 3181: 2589(ptr) AccessChain 34(data) 73 2581
+ 3182: 26(i64vec4) Load 3181
+ 3183: 26(i64vec4) GroupNonUniformBitwiseOr 42 ExclusiveScan 3182
+ 3184: 2589(ptr) AccessChain 34(data) 3180 2581
+ Store 3184 3183
+ 3185: 6(int) Load 8(invocation)
+ 3186: 2582(ptr) AccessChain 34(data) 37 2581 38
+ 3187: 25(int64_t) Load 3186
+ 3188: 25(int64_t) GroupNonUniformBitwiseXor 42 ExclusiveScan 3187
+ 3189: 2582(ptr) AccessChain 34(data) 3185 2581 38
+ Store 3189 3188
+ 3190: 6(int) Load 8(invocation)
+ 3191: 2589(ptr) AccessChain 34(data) 46 2581
+ 3192: 26(i64vec4) Load 3191
+ 3193:2588(i64vec2) VectorShuffle 3192 3192 0 1
+ 3194:2588(i64vec2) GroupNonUniformBitwiseXor 42 ExclusiveScan 3193
+ 3195: 2582(ptr) AccessChain 34(data) 3190 2581 38
+ 3196: 25(int64_t) CompositeExtract 3194 0
+ Store 3195 3196
+ 3197: 2582(ptr) AccessChain 34(data) 3190 2581 55
+ 3198: 25(int64_t) CompositeExtract 3194 1
+ Store 3197 3198
+ 3199: 6(int) Load 8(invocation)
+ 3200: 2589(ptr) AccessChain 34(data) 59 2581
+ 3201: 26(i64vec4) Load 3200
+ 3202:2599(i64vec3) VectorShuffle 3201 3201 0 1 2
+ 3203:2599(i64vec3) GroupNonUniformBitwiseXor 42 ExclusiveScan 3202
+ 3204: 2582(ptr) AccessChain 34(data) 3199 2581 38
+ 3205: 25(int64_t) CompositeExtract 3203 0
+ Store 3204 3205
+ 3206: 2582(ptr) AccessChain 34(data) 3199 2581 55
+ 3207: 25(int64_t) CompositeExtract 3203 1
+ Store 3206 3207
+ 3208: 2582(ptr) AccessChain 34(data) 3199 2581 69
+ 3209: 25(int64_t) CompositeExtract 3203 2
+ Store 3208 3209
+ 3210: 6(int) Load 8(invocation)
+ 3211: 2589(ptr) AccessChain 34(data) 73 2581
+ 3212: 26(i64vec4) Load 3211
+ 3213: 26(i64vec4) GroupNonUniformBitwiseXor 42 ExclusiveScan 3212
+ 3214: 2589(ptr) AccessChain 34(data) 3210 2581
+ Store 3214 3213
+ 3215: 6(int) Load 8(invocation)
+ 3218: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3219: 27(int64_t) Load 3218
+ 3220: 27(int64_t) GroupNonUniformIAdd 42 Reduce 3219
+ 3221: 3217(ptr) AccessChain 34(data) 3215 3216 38
+ Store 3221 3220
+ 3222: 6(int) Load 8(invocation)
+ 3225: 3224(ptr) AccessChain 34(data) 46 3216
+ 3226: 28(i64vec4) Load 3225
+ 3227:3223(i64vec2) VectorShuffle 3226 3226 0 1
+ 3228:3223(i64vec2) GroupNonUniformIAdd 42 Reduce 3227
+ 3229: 3217(ptr) AccessChain 34(data) 3222 3216 38
+ 3230: 27(int64_t) CompositeExtract 3228 0
+ Store 3229 3230
+ 3231: 3217(ptr) AccessChain 34(data) 3222 3216 55
+ 3232: 27(int64_t) CompositeExtract 3228 1
+ Store 3231 3232
+ 3233: 6(int) Load 8(invocation)
+ 3235: 3224(ptr) AccessChain 34(data) 59 3216
+ 3236: 28(i64vec4) Load 3235
+ 3237:3234(i64vec3) VectorShuffle 3236 3236 0 1 2
+ 3238:3234(i64vec3) GroupNonUniformIAdd 42 Reduce 3237
+ 3239: 3217(ptr) AccessChain 34(data) 3233 3216 38
+ 3240: 27(int64_t) CompositeExtract 3238 0
+ Store 3239 3240
+ 3241: 3217(ptr) AccessChain 34(data) 3233 3216 55
+ 3242: 27(int64_t) CompositeExtract 3238 1
+ Store 3241 3242
+ 3243: 3217(ptr) AccessChain 34(data) 3233 3216 69
+ 3244: 27(int64_t) CompositeExtract 3238 2
+ Store 3243 3244
3245: 6(int) Load 8(invocation)
- 3246: 2802(ptr) AccessChain 34(data) 46 2794
+ 3246: 3224(ptr) AccessChain 34(data) 73 3216
3247: 28(i64vec4) Load 3246
- 3248:2801(i64vec2) VectorShuffle 3247 3247 0 1
- 3249:2801(i64vec2) GroupNonUniformUMax 42 ExclusiveScan 3248
- 3250: 2802(ptr) AccessChain 34(data) 3245 2794
- 3251: 28(i64vec4) Load 3250
- 3252: 28(i64vec4) VectorShuffle 3251 3249 4 5 2 3
- Store 3250 3252
- 3253: 6(int) Load 8(invocation)
- 3254: 2802(ptr) AccessChain 34(data) 57 2794
- 3255: 28(i64vec4) Load 3254
- 3256:2811(i64vec3) VectorShuffle 3255 3255 0 1 2
- 3257:2811(i64vec3) GroupNonUniformUMax 42 ExclusiveScan 3256
- 3258: 2802(ptr) AccessChain 34(data) 3253 2794
- 3259: 28(i64vec4) Load 3258
- 3260: 28(i64vec4) VectorShuffle 3259 3257 4 5 6 3
- Store 3258 3260
- 3261: 6(int) Load 8(invocation)
- 3262: 2802(ptr) AccessChain 34(data) 67 2794
- 3263: 28(i64vec4) Load 3262
- 3264: 28(i64vec4) GroupNonUniformUMax 42 ExclusiveScan 3263
- 3265: 2802(ptr) AccessChain 34(data) 3261 2794
- Store 3265 3264
- 3266: 6(int) Load 8(invocation)
- 3267: 2795(ptr) AccessChain 34(data) 37 2794 38
- 3268: 27(int64_t) Load 3267
- 3269: 27(int64_t) GroupNonUniformBitwiseAnd 42 ExclusiveScan 3268
- 3270: 2795(ptr) AccessChain 34(data) 3266 2794 38
- Store 3270 3269
- 3271: 6(int) Load 8(invocation)
- 3272: 2802(ptr) AccessChain 34(data) 46 2794
- 3273: 28(i64vec4) Load 3272
- 3274:2801(i64vec2) VectorShuffle 3273 3273 0 1
- 3275:2801(i64vec2) GroupNonUniformBitwiseAnd 42 ExclusiveScan 3274
- 3276: 2802(ptr) AccessChain 34(data) 3271 2794
+ 3248: 28(i64vec4) GroupNonUniformIAdd 42 Reduce 3247
+ 3249: 3224(ptr) AccessChain 34(data) 3245 3216
+ Store 3249 3248
+ 3250: 6(int) Load 8(invocation)
+ 3251: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3252: 27(int64_t) Load 3251
+ 3253: 27(int64_t) GroupNonUniformIMul 42 Reduce 3252
+ 3254: 3217(ptr) AccessChain 34(data) 3250 3216 38
+ Store 3254 3253
+ 3255: 6(int) Load 8(invocation)
+ 3256: 3224(ptr) AccessChain 34(data) 46 3216
+ 3257: 28(i64vec4) Load 3256
+ 3258:3223(i64vec2) VectorShuffle 3257 3257 0 1
+ 3259:3223(i64vec2) GroupNonUniformIMul 42 Reduce 3258
+ 3260: 3217(ptr) AccessChain 34(data) 3255 3216 38
+ 3261: 27(int64_t) CompositeExtract 3259 0
+ Store 3260 3261
+ 3262: 3217(ptr) AccessChain 34(data) 3255 3216 55
+ 3263: 27(int64_t) CompositeExtract 3259 1
+ Store 3262 3263
+ 3264: 6(int) Load 8(invocation)
+ 3265: 3224(ptr) AccessChain 34(data) 59 3216
+ 3266: 28(i64vec4) Load 3265
+ 3267:3234(i64vec3) VectorShuffle 3266 3266 0 1 2
+ 3268:3234(i64vec3) GroupNonUniformIMul 42 Reduce 3267
+ 3269: 3217(ptr) AccessChain 34(data) 3264 3216 38
+ 3270: 27(int64_t) CompositeExtract 3268 0
+ Store 3269 3270
+ 3271: 3217(ptr) AccessChain 34(data) 3264 3216 55
+ 3272: 27(int64_t) CompositeExtract 3268 1
+ Store 3271 3272
+ 3273: 3217(ptr) AccessChain 34(data) 3264 3216 69
+ 3274: 27(int64_t) CompositeExtract 3268 2
+ Store 3273 3274
+ 3275: 6(int) Load 8(invocation)
+ 3276: 3224(ptr) AccessChain 34(data) 73 3216
3277: 28(i64vec4) Load 3276
- 3278: 28(i64vec4) VectorShuffle 3277 3275 4 5 2 3
- Store 3276 3278
- 3279: 6(int) Load 8(invocation)
- 3280: 2802(ptr) AccessChain 34(data) 57 2794
- 3281: 28(i64vec4) Load 3280
- 3282:2811(i64vec3) VectorShuffle 3281 3281 0 1 2
- 3283:2811(i64vec3) GroupNonUniformBitwiseAnd 42 ExclusiveScan 3282
- 3284: 2802(ptr) AccessChain 34(data) 3279 2794
- 3285: 28(i64vec4) Load 3284
- 3286: 28(i64vec4) VectorShuffle 3285 3283 4 5 6 3
- Store 3284 3286
- 3287: 6(int) Load 8(invocation)
- 3288: 2802(ptr) AccessChain 34(data) 67 2794
- 3289: 28(i64vec4) Load 3288
- 3290: 28(i64vec4) GroupNonUniformBitwiseAnd 42 ExclusiveScan 3289
- 3291: 2802(ptr) AccessChain 34(data) 3287 2794
- Store 3291 3290
- 3292: 6(int) Load 8(invocation)
- 3293: 2795(ptr) AccessChain 34(data) 37 2794 38
- 3294: 27(int64_t) Load 3293
- 3295: 27(int64_t) GroupNonUniformBitwiseOr 42 ExclusiveScan 3294
- 3296: 2795(ptr) AccessChain 34(data) 3292 2794 38
- Store 3296 3295
- 3297: 6(int) Load 8(invocation)
- 3298: 2802(ptr) AccessChain 34(data) 46 2794
- 3299: 28(i64vec4) Load 3298
- 3300:2801(i64vec2) VectorShuffle 3299 3299 0 1
- 3301:2801(i64vec2) GroupNonUniformBitwiseOr 42 ExclusiveScan 3300
- 3302: 2802(ptr) AccessChain 34(data) 3297 2794
- 3303: 28(i64vec4) Load 3302
- 3304: 28(i64vec4) VectorShuffle 3303 3301 4 5 2 3
- Store 3302 3304
+ 3278: 28(i64vec4) GroupNonUniformIMul 42 Reduce 3277
+ 3279: 3224(ptr) AccessChain 34(data) 3275 3216
+ Store 3279 3278
+ 3280: 6(int) Load 8(invocation)
+ 3281: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3282: 27(int64_t) Load 3281
+ 3283: 27(int64_t) GroupNonUniformUMin 42 Reduce 3282
+ 3284: 3217(ptr) AccessChain 34(data) 3280 3216 38
+ Store 3284 3283
+ 3285: 6(int) Load 8(invocation)
+ 3286: 3224(ptr) AccessChain 34(data) 46 3216
+ 3287: 28(i64vec4) Load 3286
+ 3288:3223(i64vec2) VectorShuffle 3287 3287 0 1
+ 3289:3223(i64vec2) GroupNonUniformUMin 42 Reduce 3288
+ 3290: 3217(ptr) AccessChain 34(data) 3285 3216 38
+ 3291: 27(int64_t) CompositeExtract 3289 0
+ Store 3290 3291
+ 3292: 3217(ptr) AccessChain 34(data) 3285 3216 55
+ 3293: 27(int64_t) CompositeExtract 3289 1
+ Store 3292 3293
+ 3294: 6(int) Load 8(invocation)
+ 3295: 3224(ptr) AccessChain 34(data) 59 3216
+ 3296: 28(i64vec4) Load 3295
+ 3297:3234(i64vec3) VectorShuffle 3296 3296 0 1 2
+ 3298:3234(i64vec3) GroupNonUniformUMin 42 Reduce 3297
+ 3299: 3217(ptr) AccessChain 34(data) 3294 3216 38
+ 3300: 27(int64_t) CompositeExtract 3298 0
+ Store 3299 3300
+ 3301: 3217(ptr) AccessChain 34(data) 3294 3216 55
+ 3302: 27(int64_t) CompositeExtract 3298 1
+ Store 3301 3302
+ 3303: 3217(ptr) AccessChain 34(data) 3294 3216 69
+ 3304: 27(int64_t) CompositeExtract 3298 2
+ Store 3303 3304
3305: 6(int) Load 8(invocation)
- 3306: 2802(ptr) AccessChain 34(data) 57 2794
+ 3306: 3224(ptr) AccessChain 34(data) 73 3216
3307: 28(i64vec4) Load 3306
- 3308:2811(i64vec3) VectorShuffle 3307 3307 0 1 2
- 3309:2811(i64vec3) GroupNonUniformBitwiseOr 42 ExclusiveScan 3308
- 3310: 2802(ptr) AccessChain 34(data) 3305 2794
- 3311: 28(i64vec4) Load 3310
- 3312: 28(i64vec4) VectorShuffle 3311 3309 4 5 6 3
- Store 3310 3312
- 3313: 6(int) Load 8(invocation)
- 3314: 2802(ptr) AccessChain 34(data) 67 2794
- 3315: 28(i64vec4) Load 3314
- 3316: 28(i64vec4) GroupNonUniformBitwiseOr 42 ExclusiveScan 3315
- 3317: 2802(ptr) AccessChain 34(data) 3313 2794
- Store 3317 3316
- 3318: 6(int) Load 8(invocation)
- 3319: 2795(ptr) AccessChain 34(data) 37 2794 38
- 3320: 27(int64_t) Load 3319
- 3321: 27(int64_t) GroupNonUniformBitwiseXor 42 ExclusiveScan 3320
- 3322: 2795(ptr) AccessChain 34(data) 3318 2794 38
- Store 3322 3321
- 3323: 6(int) Load 8(invocation)
- 3324: 2802(ptr) AccessChain 34(data) 46 2794
- 3325: 28(i64vec4) Load 3324
- 3326:2801(i64vec2) VectorShuffle 3325 3325 0 1
- 3327:2801(i64vec2) GroupNonUniformBitwiseXor 42 ExclusiveScan 3326
- 3328: 2802(ptr) AccessChain 34(data) 3323 2794
- 3329: 28(i64vec4) Load 3328
- 3330: 28(i64vec4) VectorShuffle 3329 3327 4 5 2 3
- Store 3328 3330
- 3331: 6(int) Load 8(invocation)
- 3332: 2802(ptr) AccessChain 34(data) 57 2794
- 3333: 28(i64vec4) Load 3332
- 3334:2811(i64vec3) VectorShuffle 3333 3333 0 1 2
- 3335:2811(i64vec3) GroupNonUniformBitwiseXor 42 ExclusiveScan 3334
- 3336: 2802(ptr) AccessChain 34(data) 3331 2794
+ 3308: 28(i64vec4) GroupNonUniformUMin 42 Reduce 3307
+ 3309: 3224(ptr) AccessChain 34(data) 3305 3216
+ Store 3309 3308
+ 3310: 6(int) Load 8(invocation)
+ 3311: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3312: 27(int64_t) Load 3311
+ 3313: 27(int64_t) GroupNonUniformUMax 42 Reduce 3312
+ 3314: 3217(ptr) AccessChain 34(data) 3310 3216 38
+ Store 3314 3313
+ 3315: 6(int) Load 8(invocation)
+ 3316: 3224(ptr) AccessChain 34(data) 46 3216
+ 3317: 28(i64vec4) Load 3316
+ 3318:3223(i64vec2) VectorShuffle 3317 3317 0 1
+ 3319:3223(i64vec2) GroupNonUniformUMax 42 Reduce 3318
+ 3320: 3217(ptr) AccessChain 34(data) 3315 3216 38
+ 3321: 27(int64_t) CompositeExtract 3319 0
+ Store 3320 3321
+ 3322: 3217(ptr) AccessChain 34(data) 3315 3216 55
+ 3323: 27(int64_t) CompositeExtract 3319 1
+ Store 3322 3323
+ 3324: 6(int) Load 8(invocation)
+ 3325: 3224(ptr) AccessChain 34(data) 59 3216
+ 3326: 28(i64vec4) Load 3325
+ 3327:3234(i64vec3) VectorShuffle 3326 3326 0 1 2
+ 3328:3234(i64vec3) GroupNonUniformUMax 42 Reduce 3327
+ 3329: 3217(ptr) AccessChain 34(data) 3324 3216 38
+ 3330: 27(int64_t) CompositeExtract 3328 0
+ Store 3329 3330
+ 3331: 3217(ptr) AccessChain 34(data) 3324 3216 55
+ 3332: 27(int64_t) CompositeExtract 3328 1
+ Store 3331 3332
+ 3333: 3217(ptr) AccessChain 34(data) 3324 3216 69
+ 3334: 27(int64_t) CompositeExtract 3328 2
+ Store 3333 3334
+ 3335: 6(int) Load 8(invocation)
+ 3336: 3224(ptr) AccessChain 34(data) 73 3216
3337: 28(i64vec4) Load 3336
- 3338: 28(i64vec4) VectorShuffle 3337 3335 4 5 6 3
- Store 3336 3338
- 3339: 6(int) Load 8(invocation)
- 3340: 2802(ptr) AccessChain 34(data) 67 2794
- 3341: 28(i64vec4) Load 3340
- 3342: 28(i64vec4) GroupNonUniformBitwiseXor 42 ExclusiveScan 3341
- 3343: 2802(ptr) AccessChain 34(data) 3339 2794
- Store 3343 3342
- 3344: 6(int) Load 8(invocation)
- 3347: 3346(ptr) AccessChain 34(data) 37 3345 38
- 3348:29(float16_t) Load 3347
- 3349:29(float16_t) GroupNonUniformFAdd 42 Reduce 3348
- 3350: 3346(ptr) AccessChain 34(data) 3344 3345 38
- Store 3350 3349
- 3351: 6(int) Load 8(invocation)
- 3354: 3353(ptr) AccessChain 34(data) 46 3345
- 3355: 30(f16vec4) Load 3354
- 3356:3352(f16vec2) VectorShuffle 3355 3355 0 1
- 3357:3352(f16vec2) GroupNonUniformFAdd 42 Reduce 3356
- 3358: 3353(ptr) AccessChain 34(data) 3351 3345
- 3359: 30(f16vec4) Load 3358
- 3360: 30(f16vec4) VectorShuffle 3359 3357 4 5 2 3
- Store 3358 3360
- 3361: 6(int) Load 8(invocation)
- 3363: 3353(ptr) AccessChain 34(data) 57 3345
- 3364: 30(f16vec4) Load 3363
- 3365:3362(f16vec3) VectorShuffle 3364 3364 0 1 2
- 3366:3362(f16vec3) GroupNonUniformFAdd 42 Reduce 3365
- 3367: 3353(ptr) AccessChain 34(data) 3361 3345
- 3368: 30(f16vec4) Load 3367
- 3369: 30(f16vec4) VectorShuffle 3368 3366 4 5 6 3
- Store 3367 3369
+ 3338: 28(i64vec4) GroupNonUniformUMax 42 Reduce 3337
+ 3339: 3224(ptr) AccessChain 34(data) 3335 3216
+ Store 3339 3338
+ 3340: 6(int) Load 8(invocation)
+ 3341: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3342: 27(int64_t) Load 3341
+ 3343: 27(int64_t) GroupNonUniformBitwiseAnd 42 Reduce 3342
+ 3344: 3217(ptr) AccessChain 34(data) 3340 3216 38
+ Store 3344 3343
+ 3345: 6(int) Load 8(invocation)
+ 3346: 3224(ptr) AccessChain 34(data) 46 3216
+ 3347: 28(i64vec4) Load 3346
+ 3348:3223(i64vec2) VectorShuffle 3347 3347 0 1
+ 3349:3223(i64vec2) GroupNonUniformBitwiseAnd 42 Reduce 3348
+ 3350: 3217(ptr) AccessChain 34(data) 3345 3216 38
+ 3351: 27(int64_t) CompositeExtract 3349 0
+ Store 3350 3351
+ 3352: 3217(ptr) AccessChain 34(data) 3345 3216 55
+ 3353: 27(int64_t) CompositeExtract 3349 1
+ Store 3352 3353
+ 3354: 6(int) Load 8(invocation)
+ 3355: 3224(ptr) AccessChain 34(data) 59 3216
+ 3356: 28(i64vec4) Load 3355
+ 3357:3234(i64vec3) VectorShuffle 3356 3356 0 1 2
+ 3358:3234(i64vec3) GroupNonUniformBitwiseAnd 42 Reduce 3357
+ 3359: 3217(ptr) AccessChain 34(data) 3354 3216 38
+ 3360: 27(int64_t) CompositeExtract 3358 0
+ Store 3359 3360
+ 3361: 3217(ptr) AccessChain 34(data) 3354 3216 55
+ 3362: 27(int64_t) CompositeExtract 3358 1
+ Store 3361 3362
+ 3363: 3217(ptr) AccessChain 34(data) 3354 3216 69
+ 3364: 27(int64_t) CompositeExtract 3358 2
+ Store 3363 3364
+ 3365: 6(int) Load 8(invocation)
+ 3366: 3224(ptr) AccessChain 34(data) 73 3216
+ 3367: 28(i64vec4) Load 3366
+ 3368: 28(i64vec4) GroupNonUniformBitwiseAnd 42 Reduce 3367
+ 3369: 3224(ptr) AccessChain 34(data) 3365 3216
+ Store 3369 3368
3370: 6(int) Load 8(invocation)
- 3371: 3353(ptr) AccessChain 34(data) 67 3345
- 3372: 30(f16vec4) Load 3371
- 3373: 30(f16vec4) GroupNonUniformFAdd 42 Reduce 3372
- 3374: 3353(ptr) AccessChain 34(data) 3370 3345
+ 3371: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3372: 27(int64_t) Load 3371
+ 3373: 27(int64_t) GroupNonUniformBitwiseOr 42 Reduce 3372
+ 3374: 3217(ptr) AccessChain 34(data) 3370 3216 38
Store 3374 3373
3375: 6(int) Load 8(invocation)
- 3376: 3346(ptr) AccessChain 34(data) 37 3345 38
- 3377:29(float16_t) Load 3376
- 3378:29(float16_t) GroupNonUniformFMul 42 Reduce 3377
- 3379: 3346(ptr) AccessChain 34(data) 3375 3345 38
- Store 3379 3378
- 3380: 6(int) Load 8(invocation)
- 3381: 3353(ptr) AccessChain 34(data) 46 3345
- 3382: 30(f16vec4) Load 3381
- 3383:3352(f16vec2) VectorShuffle 3382 3382 0 1
- 3384:3352(f16vec2) GroupNonUniformFMul 42 Reduce 3383
- 3385: 3353(ptr) AccessChain 34(data) 3380 3345
- 3386: 30(f16vec4) Load 3385
- 3387: 30(f16vec4) VectorShuffle 3386 3384 4 5 2 3
- Store 3385 3387
- 3388: 6(int) Load 8(invocation)
- 3389: 3353(ptr) AccessChain 34(data) 57 3345
- 3390: 30(f16vec4) Load 3389
- 3391:3362(f16vec3) VectorShuffle 3390 3390 0 1 2
- 3392:3362(f16vec3) GroupNonUniformFMul 42 Reduce 3391
- 3393: 3353(ptr) AccessChain 34(data) 3388 3345
- 3394: 30(f16vec4) Load 3393
- 3395: 30(f16vec4) VectorShuffle 3394 3392 4 5 6 3
- Store 3393 3395
- 3396: 6(int) Load 8(invocation)
- 3397: 3353(ptr) AccessChain 34(data) 67 3345
- 3398: 30(f16vec4) Load 3397
- 3399: 30(f16vec4) GroupNonUniformFMul 42 Reduce 3398
- 3400: 3353(ptr) AccessChain 34(data) 3396 3345
- Store 3400 3399
- 3401: 6(int) Load 8(invocation)
- 3402: 3346(ptr) AccessChain 34(data) 37 3345 38
- 3403:29(float16_t) Load 3402
- 3404:29(float16_t) GroupNonUniformFMin 42 Reduce 3403
- 3405: 3346(ptr) AccessChain 34(data) 3401 3345 38
- Store 3405 3404
- 3406: 6(int) Load 8(invocation)
- 3407: 3353(ptr) AccessChain 34(data) 46 3345
- 3408: 30(f16vec4) Load 3407
- 3409:3352(f16vec2) VectorShuffle 3408 3408 0 1
- 3410:3352(f16vec2) GroupNonUniformFMin 42 Reduce 3409
- 3411: 3353(ptr) AccessChain 34(data) 3406 3345
- 3412: 30(f16vec4) Load 3411
- 3413: 30(f16vec4) VectorShuffle 3412 3410 4 5 2 3
- Store 3411 3413
+ 3376: 3224(ptr) AccessChain 34(data) 46 3216
+ 3377: 28(i64vec4) Load 3376
+ 3378:3223(i64vec2) VectorShuffle 3377 3377 0 1
+ 3379:3223(i64vec2) GroupNonUniformBitwiseOr 42 Reduce 3378
+ 3380: 3217(ptr) AccessChain 34(data) 3375 3216 38
+ 3381: 27(int64_t) CompositeExtract 3379 0
+ Store 3380 3381
+ 3382: 3217(ptr) AccessChain 34(data) 3375 3216 55
+ 3383: 27(int64_t) CompositeExtract 3379 1
+ Store 3382 3383
+ 3384: 6(int) Load 8(invocation)
+ 3385: 3224(ptr) AccessChain 34(data) 59 3216
+ 3386: 28(i64vec4) Load 3385
+ 3387:3234(i64vec3) VectorShuffle 3386 3386 0 1 2
+ 3388:3234(i64vec3) GroupNonUniformBitwiseOr 42 Reduce 3387
+ 3389: 3217(ptr) AccessChain 34(data) 3384 3216 38
+ 3390: 27(int64_t) CompositeExtract 3388 0
+ Store 3389 3390
+ 3391: 3217(ptr) AccessChain 34(data) 3384 3216 55
+ 3392: 27(int64_t) CompositeExtract 3388 1
+ Store 3391 3392
+ 3393: 3217(ptr) AccessChain 34(data) 3384 3216 69
+ 3394: 27(int64_t) CompositeExtract 3388 2
+ Store 3393 3394
+ 3395: 6(int) Load 8(invocation)
+ 3396: 3224(ptr) AccessChain 34(data) 73 3216
+ 3397: 28(i64vec4) Load 3396
+ 3398: 28(i64vec4) GroupNonUniformBitwiseOr 42 Reduce 3397
+ 3399: 3224(ptr) AccessChain 34(data) 3395 3216
+ Store 3399 3398
+ 3400: 6(int) Load 8(invocation)
+ 3401: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3402: 27(int64_t) Load 3401
+ 3403: 27(int64_t) GroupNonUniformBitwiseXor 42 Reduce 3402
+ 3404: 3217(ptr) AccessChain 34(data) 3400 3216 38
+ Store 3404 3403
+ 3405: 6(int) Load 8(invocation)
+ 3406: 3224(ptr) AccessChain 34(data) 46 3216
+ 3407: 28(i64vec4) Load 3406
+ 3408:3223(i64vec2) VectorShuffle 3407 3407 0 1
+ 3409:3223(i64vec2) GroupNonUniformBitwiseXor 42 Reduce 3408
+ 3410: 3217(ptr) AccessChain 34(data) 3405 3216 38
+ 3411: 27(int64_t) CompositeExtract 3409 0
+ Store 3410 3411
+ 3412: 3217(ptr) AccessChain 34(data) 3405 3216 55
+ 3413: 27(int64_t) CompositeExtract 3409 1
+ Store 3412 3413
3414: 6(int) Load 8(invocation)
- 3415: 3353(ptr) AccessChain 34(data) 57 3345
- 3416: 30(f16vec4) Load 3415
- 3417:3362(f16vec3) VectorShuffle 3416 3416 0 1 2
- 3418:3362(f16vec3) GroupNonUniformFMin 42 Reduce 3417
- 3419: 3353(ptr) AccessChain 34(data) 3414 3345
- 3420: 30(f16vec4) Load 3419
- 3421: 30(f16vec4) VectorShuffle 3420 3418 4 5 6 3
- Store 3419 3421
- 3422: 6(int) Load 8(invocation)
- 3423: 3353(ptr) AccessChain 34(data) 67 3345
- 3424: 30(f16vec4) Load 3423
- 3425: 30(f16vec4) GroupNonUniformFMin 42 Reduce 3424
- 3426: 3353(ptr) AccessChain 34(data) 3422 3345
- Store 3426 3425
- 3427: 6(int) Load 8(invocation)
- 3428: 3346(ptr) AccessChain 34(data) 37 3345 38
- 3429:29(float16_t) Load 3428
- 3430:29(float16_t) GroupNonUniformFMax 42 Reduce 3429
- 3431: 3346(ptr) AccessChain 34(data) 3427 3345 38
- Store 3431 3430
- 3432: 6(int) Load 8(invocation)
- 3433: 3353(ptr) AccessChain 34(data) 46 3345
- 3434: 30(f16vec4) Load 3433
- 3435:3352(f16vec2) VectorShuffle 3434 3434 0 1
- 3436:3352(f16vec2) GroupNonUniformFMax 42 Reduce 3435
- 3437: 3353(ptr) AccessChain 34(data) 3432 3345
- 3438: 30(f16vec4) Load 3437
- 3439: 30(f16vec4) VectorShuffle 3438 3436 4 5 2 3
- Store 3437 3439
- 3440: 6(int) Load 8(invocation)
- 3441: 3353(ptr) AccessChain 34(data) 57 3345
- 3442: 30(f16vec4) Load 3441
- 3443:3362(f16vec3) VectorShuffle 3442 3442 0 1 2
- 3444:3362(f16vec3) GroupNonUniformFMax 42 Reduce 3443
- 3445: 3353(ptr) AccessChain 34(data) 3440 3345
- 3446: 30(f16vec4) Load 3445
- 3447: 30(f16vec4) VectorShuffle 3446 3444 4 5 6 3
- Store 3445 3447
- 3448: 6(int) Load 8(invocation)
- 3449: 3353(ptr) AccessChain 34(data) 67 3345
- 3450: 30(f16vec4) Load 3449
- 3451: 30(f16vec4) GroupNonUniformFMax 42 Reduce 3450
- 3452: 3353(ptr) AccessChain 34(data) 3448 3345
- Store 3452 3451
- 3453: 6(int) Load 8(invocation)
- 3454: 3346(ptr) AccessChain 34(data) 37 3345 38
- 3455:29(float16_t) Load 3454
- 3456:29(float16_t) GroupNonUniformFAdd 42 InclusiveScan 3455
- 3457: 3346(ptr) AccessChain 34(data) 3453 3345 38
- Store 3457 3456
- 3458: 6(int) Load 8(invocation)
- 3459: 3353(ptr) AccessChain 34(data) 46 3345
- 3460: 30(f16vec4) Load 3459
- 3461:3352(f16vec2) VectorShuffle 3460 3460 0 1
- 3462:3352(f16vec2) GroupNonUniformFAdd 42 InclusiveScan 3461
- 3463: 3353(ptr) AccessChain 34(data) 3458 3345
- 3464: 30(f16vec4) Load 3463
- 3465: 30(f16vec4) VectorShuffle 3464 3462 4 5 2 3
- Store 3463 3465
- 3466: 6(int) Load 8(invocation)
- 3467: 3353(ptr) AccessChain 34(data) 57 3345
- 3468: 30(f16vec4) Load 3467
- 3469:3362(f16vec3) VectorShuffle 3468 3468 0 1 2
- 3470:3362(f16vec3) GroupNonUniformFAdd 42 InclusiveScan 3469
- 3471: 3353(ptr) AccessChain 34(data) 3466 3345
- 3472: 30(f16vec4) Load 3471
- 3473: 30(f16vec4) VectorShuffle 3472 3470 4 5 6 3
- Store 3471 3473
+ 3415: 3224(ptr) AccessChain 34(data) 59 3216
+ 3416: 28(i64vec4) Load 3415
+ 3417:3234(i64vec3) VectorShuffle 3416 3416 0 1 2
+ 3418:3234(i64vec3) GroupNonUniformBitwiseXor 42 Reduce 3417
+ 3419: 3217(ptr) AccessChain 34(data) 3414 3216 38
+ 3420: 27(int64_t) CompositeExtract 3418 0
+ Store 3419 3420
+ 3421: 3217(ptr) AccessChain 34(data) 3414 3216 55
+ 3422: 27(int64_t) CompositeExtract 3418 1
+ Store 3421 3422
+ 3423: 3217(ptr) AccessChain 34(data) 3414 3216 69
+ 3424: 27(int64_t) CompositeExtract 3418 2
+ Store 3423 3424
+ 3425: 6(int) Load 8(invocation)
+ 3426: 3224(ptr) AccessChain 34(data) 73 3216
+ 3427: 28(i64vec4) Load 3426
+ 3428: 28(i64vec4) GroupNonUniformBitwiseXor 42 Reduce 3427
+ 3429: 3224(ptr) AccessChain 34(data) 3425 3216
+ Store 3429 3428
+ 3430: 6(int) Load 8(invocation)
+ 3431: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3432: 27(int64_t) Load 3431
+ 3433: 27(int64_t) GroupNonUniformIAdd 42 InclusiveScan 3432
+ 3434: 3217(ptr) AccessChain 34(data) 3430 3216 38
+ Store 3434 3433
+ 3435: 6(int) Load 8(invocation)
+ 3436: 3224(ptr) AccessChain 34(data) 46 3216
+ 3437: 28(i64vec4) Load 3436
+ 3438:3223(i64vec2) VectorShuffle 3437 3437 0 1
+ 3439:3223(i64vec2) GroupNonUniformIAdd 42 InclusiveScan 3438
+ 3440: 3217(ptr) AccessChain 34(data) 3435 3216 38
+ 3441: 27(int64_t) CompositeExtract 3439 0
+ Store 3440 3441
+ 3442: 3217(ptr) AccessChain 34(data) 3435 3216 55
+ 3443: 27(int64_t) CompositeExtract 3439 1
+ Store 3442 3443
+ 3444: 6(int) Load 8(invocation)
+ 3445: 3224(ptr) AccessChain 34(data) 59 3216
+ 3446: 28(i64vec4) Load 3445
+ 3447:3234(i64vec3) VectorShuffle 3446 3446 0 1 2
+ 3448:3234(i64vec3) GroupNonUniformIAdd 42 InclusiveScan 3447
+ 3449: 3217(ptr) AccessChain 34(data) 3444 3216 38
+ 3450: 27(int64_t) CompositeExtract 3448 0
+ Store 3449 3450
+ 3451: 3217(ptr) AccessChain 34(data) 3444 3216 55
+ 3452: 27(int64_t) CompositeExtract 3448 1
+ Store 3451 3452
+ 3453: 3217(ptr) AccessChain 34(data) 3444 3216 69
+ 3454: 27(int64_t) CompositeExtract 3448 2
+ Store 3453 3454
+ 3455: 6(int) Load 8(invocation)
+ 3456: 3224(ptr) AccessChain 34(data) 73 3216
+ 3457: 28(i64vec4) Load 3456
+ 3458: 28(i64vec4) GroupNonUniformIAdd 42 InclusiveScan 3457
+ 3459: 3224(ptr) AccessChain 34(data) 3455 3216
+ Store 3459 3458
+ 3460: 6(int) Load 8(invocation)
+ 3461: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3462: 27(int64_t) Load 3461
+ 3463: 27(int64_t) GroupNonUniformIMul 42 InclusiveScan 3462
+ 3464: 3217(ptr) AccessChain 34(data) 3460 3216 38
+ Store 3464 3463
+ 3465: 6(int) Load 8(invocation)
+ 3466: 3224(ptr) AccessChain 34(data) 46 3216
+ 3467: 28(i64vec4) Load 3466
+ 3468:3223(i64vec2) VectorShuffle 3467 3467 0 1
+ 3469:3223(i64vec2) GroupNonUniformIMul 42 InclusiveScan 3468
+ 3470: 3217(ptr) AccessChain 34(data) 3465 3216 38
+ 3471: 27(int64_t) CompositeExtract 3469 0
+ Store 3470 3471
+ 3472: 3217(ptr) AccessChain 34(data) 3465 3216 55
+ 3473: 27(int64_t) CompositeExtract 3469 1
+ Store 3472 3473
3474: 6(int) Load 8(invocation)
- 3475: 3353(ptr) AccessChain 34(data) 67 3345
- 3476: 30(f16vec4) Load 3475
- 3477: 30(f16vec4) GroupNonUniformFAdd 42 InclusiveScan 3476
- 3478: 3353(ptr) AccessChain 34(data) 3474 3345
- Store 3478 3477
- 3479: 6(int) Load 8(invocation)
- 3480: 3346(ptr) AccessChain 34(data) 37 3345 38
- 3481:29(float16_t) Load 3480
- 3482:29(float16_t) GroupNonUniformFMul 42 InclusiveScan 3481
- 3483: 3346(ptr) AccessChain 34(data) 3479 3345 38
- Store 3483 3482
- 3484: 6(int) Load 8(invocation)
- 3485: 3353(ptr) AccessChain 34(data) 46 3345
- 3486: 30(f16vec4) Load 3485
- 3487:3352(f16vec2) VectorShuffle 3486 3486 0 1
- 3488:3352(f16vec2) GroupNonUniformFMul 42 InclusiveScan 3487
- 3489: 3353(ptr) AccessChain 34(data) 3484 3345
- 3490: 30(f16vec4) Load 3489
- 3491: 30(f16vec4) VectorShuffle 3490 3488 4 5 2 3
- Store 3489 3491
- 3492: 6(int) Load 8(invocation)
- 3493: 3353(ptr) AccessChain 34(data) 57 3345
- 3494: 30(f16vec4) Load 3493
- 3495:3362(f16vec3) VectorShuffle 3494 3494 0 1 2
- 3496:3362(f16vec3) GroupNonUniformFMul 42 InclusiveScan 3495
- 3497: 3353(ptr) AccessChain 34(data) 3492 3345
- 3498: 30(f16vec4) Load 3497
- 3499: 30(f16vec4) VectorShuffle 3498 3496 4 5 6 3
- Store 3497 3499
- 3500: 6(int) Load 8(invocation)
- 3501: 3353(ptr) AccessChain 34(data) 67 3345
- 3502: 30(f16vec4) Load 3501
- 3503: 30(f16vec4) GroupNonUniformFMul 42 InclusiveScan 3502
- 3504: 3353(ptr) AccessChain 34(data) 3500 3345
- Store 3504 3503
- 3505: 6(int) Load 8(invocation)
- 3506: 3346(ptr) AccessChain 34(data) 37 3345 38
- 3507:29(float16_t) Load 3506
- 3508:29(float16_t) GroupNonUniformFMin 42 InclusiveScan 3507
- 3509: 3346(ptr) AccessChain 34(data) 3505 3345 38
- Store 3509 3508
- 3510: 6(int) Load 8(invocation)
- 3511: 3353(ptr) AccessChain 34(data) 46 3345
- 3512: 30(f16vec4) Load 3511
- 3513:3352(f16vec2) VectorShuffle 3512 3512 0 1
- 3514:3352(f16vec2) GroupNonUniformFMin 42 InclusiveScan 3513
- 3515: 3353(ptr) AccessChain 34(data) 3510 3345
- 3516: 30(f16vec4) Load 3515
- 3517: 30(f16vec4) VectorShuffle 3516 3514 4 5 2 3
- Store 3515 3517
- 3518: 6(int) Load 8(invocation)
- 3519: 3353(ptr) AccessChain 34(data) 57 3345
- 3520: 30(f16vec4) Load 3519
- 3521:3362(f16vec3) VectorShuffle 3520 3520 0 1 2
- 3522:3362(f16vec3) GroupNonUniformFMin 42 InclusiveScan 3521
- 3523: 3353(ptr) AccessChain 34(data) 3518 3345
- 3524: 30(f16vec4) Load 3523
- 3525: 30(f16vec4) VectorShuffle 3524 3522 4 5 6 3
- Store 3523 3525
- 3526: 6(int) Load 8(invocation)
- 3527: 3353(ptr) AccessChain 34(data) 67 3345
- 3528: 30(f16vec4) Load 3527
- 3529: 30(f16vec4) GroupNonUniformFMin 42 InclusiveScan 3528
- 3530: 3353(ptr) AccessChain 34(data) 3526 3345
- Store 3530 3529
- 3531: 6(int) Load 8(invocation)
- 3532: 3346(ptr) AccessChain 34(data) 37 3345 38
- 3533:29(float16_t) Load 3532
- 3534:29(float16_t) GroupNonUniformFMax 42 InclusiveScan 3533
- 3535: 3346(ptr) AccessChain 34(data) 3531 3345 38
- Store 3535 3534
- 3536: 6(int) Load 8(invocation)
- 3537: 3353(ptr) AccessChain 34(data) 46 3345
- 3538: 30(f16vec4) Load 3537
- 3539:3352(f16vec2) VectorShuffle 3538 3538 0 1
- 3540:3352(f16vec2) GroupNonUniformFMax 42 InclusiveScan 3539
- 3541: 3353(ptr) AccessChain 34(data) 3536 3345
- 3542: 30(f16vec4) Load 3541
- 3543: 30(f16vec4) VectorShuffle 3542 3540 4 5 2 3
- Store 3541 3543
- 3544: 6(int) Load 8(invocation)
- 3545: 3353(ptr) AccessChain 34(data) 57 3345
- 3546: 30(f16vec4) Load 3545
- 3547:3362(f16vec3) VectorShuffle 3546 3546 0 1 2
- 3548:3362(f16vec3) GroupNonUniformFMax 42 InclusiveScan 3547
- 3549: 3353(ptr) AccessChain 34(data) 3544 3345
- 3550: 30(f16vec4) Load 3549
- 3551: 30(f16vec4) VectorShuffle 3550 3548 4 5 6 3
- Store 3549 3551
- 3552: 6(int) Load 8(invocation)
- 3553: 3353(ptr) AccessChain 34(data) 67 3345
- 3554: 30(f16vec4) Load 3553
- 3555: 30(f16vec4) GroupNonUniformFMax 42 InclusiveScan 3554
- 3556: 3353(ptr) AccessChain 34(data) 3552 3345
- Store 3556 3555
- 3557: 6(int) Load 8(invocation)
- 3558: 3346(ptr) AccessChain 34(data) 37 3345 38
- 3559:29(float16_t) Load 3558
- 3560:29(float16_t) GroupNonUniformFAdd 42 ExclusiveScan 3559
- 3561: 3346(ptr) AccessChain 34(data) 3557 3345 38
- Store 3561 3560
- 3562: 6(int) Load 8(invocation)
- 3563: 3353(ptr) AccessChain 34(data) 46 3345
- 3564: 30(f16vec4) Load 3563
- 3565:3352(f16vec2) VectorShuffle 3564 3564 0 1
- 3566:3352(f16vec2) GroupNonUniformFAdd 42 ExclusiveScan 3565
- 3567: 3353(ptr) AccessChain 34(data) 3562 3345
- 3568: 30(f16vec4) Load 3567
- 3569: 30(f16vec4) VectorShuffle 3568 3566 4 5 2 3
- Store 3567 3569
- 3570: 6(int) Load 8(invocation)
- 3571: 3353(ptr) AccessChain 34(data) 57 3345
- 3572: 30(f16vec4) Load 3571
- 3573:3362(f16vec3) VectorShuffle 3572 3572 0 1 2
- 3574:3362(f16vec3) GroupNonUniformFAdd 42 ExclusiveScan 3573
- 3575: 3353(ptr) AccessChain 34(data) 3570 3345
- 3576: 30(f16vec4) Load 3575
- 3577: 30(f16vec4) VectorShuffle 3576 3574 4 5 6 3
- Store 3575 3577
- 3578: 6(int) Load 8(invocation)
- 3579: 3353(ptr) AccessChain 34(data) 67 3345
- 3580: 30(f16vec4) Load 3579
- 3581: 30(f16vec4) GroupNonUniformFAdd 42 ExclusiveScan 3580
- 3582: 3353(ptr) AccessChain 34(data) 3578 3345
- Store 3582 3581
- 3583: 6(int) Load 8(invocation)
- 3584: 3346(ptr) AccessChain 34(data) 37 3345 38
- 3585:29(float16_t) Load 3584
- 3586:29(float16_t) GroupNonUniformFMul 42 ExclusiveScan 3585
- 3587: 3346(ptr) AccessChain 34(data) 3583 3345 38
- Store 3587 3586
- 3588: 6(int) Load 8(invocation)
- 3589: 3353(ptr) AccessChain 34(data) 46 3345
- 3590: 30(f16vec4) Load 3589
- 3591:3352(f16vec2) VectorShuffle 3590 3590 0 1
- 3592:3352(f16vec2) GroupNonUniformFMul 42 ExclusiveScan 3591
- 3593: 3353(ptr) AccessChain 34(data) 3588 3345
- 3594: 30(f16vec4) Load 3593
- 3595: 30(f16vec4) VectorShuffle 3594 3592 4 5 2 3
- Store 3593 3595
- 3596: 6(int) Load 8(invocation)
- 3597: 3353(ptr) AccessChain 34(data) 57 3345
- 3598: 30(f16vec4) Load 3597
- 3599:3362(f16vec3) VectorShuffle 3598 3598 0 1 2
- 3600:3362(f16vec3) GroupNonUniformFMul 42 ExclusiveScan 3599
- 3601: 3353(ptr) AccessChain 34(data) 3596 3345
- 3602: 30(f16vec4) Load 3601
- 3603: 30(f16vec4) VectorShuffle 3602 3600 4 5 6 3
- Store 3601 3603
- 3604: 6(int) Load 8(invocation)
- 3605: 3353(ptr) AccessChain 34(data) 67 3345
- 3606: 30(f16vec4) Load 3605
- 3607: 30(f16vec4) GroupNonUniformFMul 42 ExclusiveScan 3606
- 3608: 3353(ptr) AccessChain 34(data) 3604 3345
- Store 3608 3607
- 3609: 6(int) Load 8(invocation)
- 3610: 3346(ptr) AccessChain 34(data) 37 3345 38
- 3611:29(float16_t) Load 3610
- 3612:29(float16_t) GroupNonUniformFMin 42 ExclusiveScan 3611
- 3613: 3346(ptr) AccessChain 34(data) 3609 3345 38
- Store 3613 3612
- 3614: 6(int) Load 8(invocation)
- 3615: 3353(ptr) AccessChain 34(data) 46 3345
- 3616: 30(f16vec4) Load 3615
- 3617:3352(f16vec2) VectorShuffle 3616 3616 0 1
- 3618:3352(f16vec2) GroupNonUniformFMin 42 ExclusiveScan 3617
- 3619: 3353(ptr) AccessChain 34(data) 3614 3345
- 3620: 30(f16vec4) Load 3619
- 3621: 30(f16vec4) VectorShuffle 3620 3618 4 5 2 3
- Store 3619 3621
- 3622: 6(int) Load 8(invocation)
- 3623: 3353(ptr) AccessChain 34(data) 57 3345
- 3624: 30(f16vec4) Load 3623
- 3625:3362(f16vec3) VectorShuffle 3624 3624 0 1 2
- 3626:3362(f16vec3) GroupNonUniformFMin 42 ExclusiveScan 3625
- 3627: 3353(ptr) AccessChain 34(data) 3622 3345
- 3628: 30(f16vec4) Load 3627
- 3629: 30(f16vec4) VectorShuffle 3628 3626 4 5 6 3
- Store 3627 3629
- 3630: 6(int) Load 8(invocation)
- 3631: 3353(ptr) AccessChain 34(data) 67 3345
- 3632: 30(f16vec4) Load 3631
- 3633: 30(f16vec4) GroupNonUniformFMin 42 ExclusiveScan 3632
- 3634: 3353(ptr) AccessChain 34(data) 3630 3345
- Store 3634 3633
+ 3475: 3224(ptr) AccessChain 34(data) 59 3216
+ 3476: 28(i64vec4) Load 3475
+ 3477:3234(i64vec3) VectorShuffle 3476 3476 0 1 2
+ 3478:3234(i64vec3) GroupNonUniformIMul 42 InclusiveScan 3477
+ 3479: 3217(ptr) AccessChain 34(data) 3474 3216 38
+ 3480: 27(int64_t) CompositeExtract 3478 0
+ Store 3479 3480
+ 3481: 3217(ptr) AccessChain 34(data) 3474 3216 55
+ 3482: 27(int64_t) CompositeExtract 3478 1
+ Store 3481 3482
+ 3483: 3217(ptr) AccessChain 34(data) 3474 3216 69
+ 3484: 27(int64_t) CompositeExtract 3478 2
+ Store 3483 3484
+ 3485: 6(int) Load 8(invocation)
+ 3486: 3224(ptr) AccessChain 34(data) 73 3216
+ 3487: 28(i64vec4) Load 3486
+ 3488: 28(i64vec4) GroupNonUniformIMul 42 InclusiveScan 3487
+ 3489: 3224(ptr) AccessChain 34(data) 3485 3216
+ Store 3489 3488
+ 3490: 6(int) Load 8(invocation)
+ 3491: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3492: 27(int64_t) Load 3491
+ 3493: 27(int64_t) GroupNonUniformUMin 42 InclusiveScan 3492
+ 3494: 3217(ptr) AccessChain 34(data) 3490 3216 38
+ Store 3494 3493
+ 3495: 6(int) Load 8(invocation)
+ 3496: 3224(ptr) AccessChain 34(data) 46 3216
+ 3497: 28(i64vec4) Load 3496
+ 3498:3223(i64vec2) VectorShuffle 3497 3497 0 1
+ 3499:3223(i64vec2) GroupNonUniformUMin 42 InclusiveScan 3498
+ 3500: 3217(ptr) AccessChain 34(data) 3495 3216 38
+ 3501: 27(int64_t) CompositeExtract 3499 0
+ Store 3500 3501
+ 3502: 3217(ptr) AccessChain 34(data) 3495 3216 55
+ 3503: 27(int64_t) CompositeExtract 3499 1
+ Store 3502 3503
+ 3504: 6(int) Load 8(invocation)
+ 3505: 3224(ptr) AccessChain 34(data) 59 3216
+ 3506: 28(i64vec4) Load 3505
+ 3507:3234(i64vec3) VectorShuffle 3506 3506 0 1 2
+ 3508:3234(i64vec3) GroupNonUniformUMin 42 InclusiveScan 3507
+ 3509: 3217(ptr) AccessChain 34(data) 3504 3216 38
+ 3510: 27(int64_t) CompositeExtract 3508 0
+ Store 3509 3510
+ 3511: 3217(ptr) AccessChain 34(data) 3504 3216 55
+ 3512: 27(int64_t) CompositeExtract 3508 1
+ Store 3511 3512
+ 3513: 3217(ptr) AccessChain 34(data) 3504 3216 69
+ 3514: 27(int64_t) CompositeExtract 3508 2
+ Store 3513 3514
+ 3515: 6(int) Load 8(invocation)
+ 3516: 3224(ptr) AccessChain 34(data) 73 3216
+ 3517: 28(i64vec4) Load 3516
+ 3518: 28(i64vec4) GroupNonUniformUMin 42 InclusiveScan 3517
+ 3519: 3224(ptr) AccessChain 34(data) 3515 3216
+ Store 3519 3518
+ 3520: 6(int) Load 8(invocation)
+ 3521: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3522: 27(int64_t) Load 3521
+ 3523: 27(int64_t) GroupNonUniformUMax 42 InclusiveScan 3522
+ 3524: 3217(ptr) AccessChain 34(data) 3520 3216 38
+ Store 3524 3523
+ 3525: 6(int) Load 8(invocation)
+ 3526: 3224(ptr) AccessChain 34(data) 46 3216
+ 3527: 28(i64vec4) Load 3526
+ 3528:3223(i64vec2) VectorShuffle 3527 3527 0 1
+ 3529:3223(i64vec2) GroupNonUniformUMax 42 InclusiveScan 3528
+ 3530: 3217(ptr) AccessChain 34(data) 3525 3216 38
+ 3531: 27(int64_t) CompositeExtract 3529 0
+ Store 3530 3531
+ 3532: 3217(ptr) AccessChain 34(data) 3525 3216 55
+ 3533: 27(int64_t) CompositeExtract 3529 1
+ Store 3532 3533
+ 3534: 6(int) Load 8(invocation)
+ 3535: 3224(ptr) AccessChain 34(data) 59 3216
+ 3536: 28(i64vec4) Load 3535
+ 3537:3234(i64vec3) VectorShuffle 3536 3536 0 1 2
+ 3538:3234(i64vec3) GroupNonUniformUMax 42 InclusiveScan 3537
+ 3539: 3217(ptr) AccessChain 34(data) 3534 3216 38
+ 3540: 27(int64_t) CompositeExtract 3538 0
+ Store 3539 3540
+ 3541: 3217(ptr) AccessChain 34(data) 3534 3216 55
+ 3542: 27(int64_t) CompositeExtract 3538 1
+ Store 3541 3542
+ 3543: 3217(ptr) AccessChain 34(data) 3534 3216 69
+ 3544: 27(int64_t) CompositeExtract 3538 2
+ Store 3543 3544
+ 3545: 6(int) Load 8(invocation)
+ 3546: 3224(ptr) AccessChain 34(data) 73 3216
+ 3547: 28(i64vec4) Load 3546
+ 3548: 28(i64vec4) GroupNonUniformUMax 42 InclusiveScan 3547
+ 3549: 3224(ptr) AccessChain 34(data) 3545 3216
+ Store 3549 3548
+ 3550: 6(int) Load 8(invocation)
+ 3551: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3552: 27(int64_t) Load 3551
+ 3553: 27(int64_t) GroupNonUniformBitwiseAnd 42 InclusiveScan 3552
+ 3554: 3217(ptr) AccessChain 34(data) 3550 3216 38
+ Store 3554 3553
+ 3555: 6(int) Load 8(invocation)
+ 3556: 3224(ptr) AccessChain 34(data) 46 3216
+ 3557: 28(i64vec4) Load 3556
+ 3558:3223(i64vec2) VectorShuffle 3557 3557 0 1
+ 3559:3223(i64vec2) GroupNonUniformBitwiseAnd 42 InclusiveScan 3558
+ 3560: 3217(ptr) AccessChain 34(data) 3555 3216 38
+ 3561: 27(int64_t) CompositeExtract 3559 0
+ Store 3560 3561
+ 3562: 3217(ptr) AccessChain 34(data) 3555 3216 55
+ 3563: 27(int64_t) CompositeExtract 3559 1
+ Store 3562 3563
+ 3564: 6(int) Load 8(invocation)
+ 3565: 3224(ptr) AccessChain 34(data) 59 3216
+ 3566: 28(i64vec4) Load 3565
+ 3567:3234(i64vec3) VectorShuffle 3566 3566 0 1 2
+ 3568:3234(i64vec3) GroupNonUniformBitwiseAnd 42 InclusiveScan 3567
+ 3569: 3217(ptr) AccessChain 34(data) 3564 3216 38
+ 3570: 27(int64_t) CompositeExtract 3568 0
+ Store 3569 3570
+ 3571: 3217(ptr) AccessChain 34(data) 3564 3216 55
+ 3572: 27(int64_t) CompositeExtract 3568 1
+ Store 3571 3572
+ 3573: 3217(ptr) AccessChain 34(data) 3564 3216 69
+ 3574: 27(int64_t) CompositeExtract 3568 2
+ Store 3573 3574
+ 3575: 6(int) Load 8(invocation)
+ 3576: 3224(ptr) AccessChain 34(data) 73 3216
+ 3577: 28(i64vec4) Load 3576
+ 3578: 28(i64vec4) GroupNonUniformBitwiseAnd 42 InclusiveScan 3577
+ 3579: 3224(ptr) AccessChain 34(data) 3575 3216
+ Store 3579 3578
+ 3580: 6(int) Load 8(invocation)
+ 3581: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3582: 27(int64_t) Load 3581
+ 3583: 27(int64_t) GroupNonUniformBitwiseOr 42 InclusiveScan 3582
+ 3584: 3217(ptr) AccessChain 34(data) 3580 3216 38
+ Store 3584 3583
+ 3585: 6(int) Load 8(invocation)
+ 3586: 3224(ptr) AccessChain 34(data) 46 3216
+ 3587: 28(i64vec4) Load 3586
+ 3588:3223(i64vec2) VectorShuffle 3587 3587 0 1
+ 3589:3223(i64vec2) GroupNonUniformBitwiseOr 42 InclusiveScan 3588
+ 3590: 3217(ptr) AccessChain 34(data) 3585 3216 38
+ 3591: 27(int64_t) CompositeExtract 3589 0
+ Store 3590 3591
+ 3592: 3217(ptr) AccessChain 34(data) 3585 3216 55
+ 3593: 27(int64_t) CompositeExtract 3589 1
+ Store 3592 3593
+ 3594: 6(int) Load 8(invocation)
+ 3595: 3224(ptr) AccessChain 34(data) 59 3216
+ 3596: 28(i64vec4) Load 3595
+ 3597:3234(i64vec3) VectorShuffle 3596 3596 0 1 2
+ 3598:3234(i64vec3) GroupNonUniformBitwiseOr 42 InclusiveScan 3597
+ 3599: 3217(ptr) AccessChain 34(data) 3594 3216 38
+ 3600: 27(int64_t) CompositeExtract 3598 0
+ Store 3599 3600
+ 3601: 3217(ptr) AccessChain 34(data) 3594 3216 55
+ 3602: 27(int64_t) CompositeExtract 3598 1
+ Store 3601 3602
+ 3603: 3217(ptr) AccessChain 34(data) 3594 3216 69
+ 3604: 27(int64_t) CompositeExtract 3598 2
+ Store 3603 3604
+ 3605: 6(int) Load 8(invocation)
+ 3606: 3224(ptr) AccessChain 34(data) 73 3216
+ 3607: 28(i64vec4) Load 3606
+ 3608: 28(i64vec4) GroupNonUniformBitwiseOr 42 InclusiveScan 3607
+ 3609: 3224(ptr) AccessChain 34(data) 3605 3216
+ Store 3609 3608
+ 3610: 6(int) Load 8(invocation)
+ 3611: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3612: 27(int64_t) Load 3611
+ 3613: 27(int64_t) GroupNonUniformBitwiseXor 42 InclusiveScan 3612
+ 3614: 3217(ptr) AccessChain 34(data) 3610 3216 38
+ Store 3614 3613
+ 3615: 6(int) Load 8(invocation)
+ 3616: 3224(ptr) AccessChain 34(data) 46 3216
+ 3617: 28(i64vec4) Load 3616
+ 3618:3223(i64vec2) VectorShuffle 3617 3617 0 1
+ 3619:3223(i64vec2) GroupNonUniformBitwiseXor 42 InclusiveScan 3618
+ 3620: 3217(ptr) AccessChain 34(data) 3615 3216 38
+ 3621: 27(int64_t) CompositeExtract 3619 0
+ Store 3620 3621
+ 3622: 3217(ptr) AccessChain 34(data) 3615 3216 55
+ 3623: 27(int64_t) CompositeExtract 3619 1
+ Store 3622 3623
+ 3624: 6(int) Load 8(invocation)
+ 3625: 3224(ptr) AccessChain 34(data) 59 3216
+ 3626: 28(i64vec4) Load 3625
+ 3627:3234(i64vec3) VectorShuffle 3626 3626 0 1 2
+ 3628:3234(i64vec3) GroupNonUniformBitwiseXor 42 InclusiveScan 3627
+ 3629: 3217(ptr) AccessChain 34(data) 3624 3216 38
+ 3630: 27(int64_t) CompositeExtract 3628 0
+ Store 3629 3630
+ 3631: 3217(ptr) AccessChain 34(data) 3624 3216 55
+ 3632: 27(int64_t) CompositeExtract 3628 1
+ Store 3631 3632
+ 3633: 3217(ptr) AccessChain 34(data) 3624 3216 69
+ 3634: 27(int64_t) CompositeExtract 3628 2
+ Store 3633 3634
3635: 6(int) Load 8(invocation)
- 3636: 3346(ptr) AccessChain 34(data) 37 3345 38
- 3637:29(float16_t) Load 3636
- 3638:29(float16_t) GroupNonUniformFMax 42 ExclusiveScan 3637
- 3639: 3346(ptr) AccessChain 34(data) 3635 3345 38
+ 3636: 3224(ptr) AccessChain 34(data) 73 3216
+ 3637: 28(i64vec4) Load 3636
+ 3638: 28(i64vec4) GroupNonUniformBitwiseXor 42 InclusiveScan 3637
+ 3639: 3224(ptr) AccessChain 34(data) 3635 3216
Store 3639 3638
3640: 6(int) Load 8(invocation)
- 3641: 3353(ptr) AccessChain 34(data) 46 3345
- 3642: 30(f16vec4) Load 3641
- 3643:3352(f16vec2) VectorShuffle 3642 3642 0 1
- 3644:3352(f16vec2) GroupNonUniformFMax 42 ExclusiveScan 3643
- 3645: 3353(ptr) AccessChain 34(data) 3640 3345
- 3646: 30(f16vec4) Load 3645
- 3647: 30(f16vec4) VectorShuffle 3646 3644 4 5 2 3
- Store 3645 3647
- 3648: 6(int) Load 8(invocation)
- 3649: 3353(ptr) AccessChain 34(data) 57 3345
- 3650: 30(f16vec4) Load 3649
- 3651:3362(f16vec3) VectorShuffle 3650 3650 0 1 2
- 3652:3362(f16vec3) GroupNonUniformFMax 42 ExclusiveScan 3651
- 3653: 3353(ptr) AccessChain 34(data) 3648 3345
- 3654: 30(f16vec4) Load 3653
- 3655: 30(f16vec4) VectorShuffle 3654 3652 4 5 6 3
- Store 3653 3655
- 3656: 6(int) Load 8(invocation)
- 3657: 3353(ptr) AccessChain 34(data) 67 3345
- 3658: 30(f16vec4) Load 3657
- 3659: 30(f16vec4) GroupNonUniformFMax 42 ExclusiveScan 3658
- 3660: 3353(ptr) AccessChain 34(data) 3656 3345
- Store 3660 3659
+ 3641: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3642: 27(int64_t) Load 3641
+ 3643: 27(int64_t) GroupNonUniformIAdd 42 ExclusiveScan 3642
+ 3644: 3217(ptr) AccessChain 34(data) 3640 3216 38
+ Store 3644 3643
+ 3645: 6(int) Load 8(invocation)
+ 3646: 3224(ptr) AccessChain 34(data) 46 3216
+ 3647: 28(i64vec4) Load 3646
+ 3648:3223(i64vec2) VectorShuffle 3647 3647 0 1
+ 3649:3223(i64vec2) GroupNonUniformIAdd 42 ExclusiveScan 3648
+ 3650: 3217(ptr) AccessChain 34(data) 3645 3216 38
+ 3651: 27(int64_t) CompositeExtract 3649 0
+ Store 3650 3651
+ 3652: 3217(ptr) AccessChain 34(data) 3645 3216 55
+ 3653: 27(int64_t) CompositeExtract 3649 1
+ Store 3652 3653
+ 3654: 6(int) Load 8(invocation)
+ 3655: 3224(ptr) AccessChain 34(data) 59 3216
+ 3656: 28(i64vec4) Load 3655
+ 3657:3234(i64vec3) VectorShuffle 3656 3656 0 1 2
+ 3658:3234(i64vec3) GroupNonUniformIAdd 42 ExclusiveScan 3657
+ 3659: 3217(ptr) AccessChain 34(data) 3654 3216 38
+ 3660: 27(int64_t) CompositeExtract 3658 0
+ Store 3659 3660
+ 3661: 3217(ptr) AccessChain 34(data) 3654 3216 55
+ 3662: 27(int64_t) CompositeExtract 3658 1
+ Store 3661 3662
+ 3663: 3217(ptr) AccessChain 34(data) 3654 3216 69
+ 3664: 27(int64_t) CompositeExtract 3658 2
+ Store 3663 3664
+ 3665: 6(int) Load 8(invocation)
+ 3666: 3224(ptr) AccessChain 34(data) 73 3216
+ 3667: 28(i64vec4) Load 3666
+ 3668: 28(i64vec4) GroupNonUniformIAdd 42 ExclusiveScan 3667
+ 3669: 3224(ptr) AccessChain 34(data) 3665 3216
+ Store 3669 3668
+ 3670: 6(int) Load 8(invocation)
+ 3671: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3672: 27(int64_t) Load 3671
+ 3673: 27(int64_t) GroupNonUniformIMul 42 ExclusiveScan 3672
+ 3674: 3217(ptr) AccessChain 34(data) 3670 3216 38
+ Store 3674 3673
+ 3675: 6(int) Load 8(invocation)
+ 3676: 3224(ptr) AccessChain 34(data) 46 3216
+ 3677: 28(i64vec4) Load 3676
+ 3678:3223(i64vec2) VectorShuffle 3677 3677 0 1
+ 3679:3223(i64vec2) GroupNonUniformIMul 42 ExclusiveScan 3678
+ 3680: 3217(ptr) AccessChain 34(data) 3675 3216 38
+ 3681: 27(int64_t) CompositeExtract 3679 0
+ Store 3680 3681
+ 3682: 3217(ptr) AccessChain 34(data) 3675 3216 55
+ 3683: 27(int64_t) CompositeExtract 3679 1
+ Store 3682 3683
+ 3684: 6(int) Load 8(invocation)
+ 3685: 3224(ptr) AccessChain 34(data) 59 3216
+ 3686: 28(i64vec4) Load 3685
+ 3687:3234(i64vec3) VectorShuffle 3686 3686 0 1 2
+ 3688:3234(i64vec3) GroupNonUniformIMul 42 ExclusiveScan 3687
+ 3689: 3217(ptr) AccessChain 34(data) 3684 3216 38
+ 3690: 27(int64_t) CompositeExtract 3688 0
+ Store 3689 3690
+ 3691: 3217(ptr) AccessChain 34(data) 3684 3216 55
+ 3692: 27(int64_t) CompositeExtract 3688 1
+ Store 3691 3692
+ 3693: 3217(ptr) AccessChain 34(data) 3684 3216 69
+ 3694: 27(int64_t) CompositeExtract 3688 2
+ Store 3693 3694
+ 3695: 6(int) Load 8(invocation)
+ 3696: 3224(ptr) AccessChain 34(data) 73 3216
+ 3697: 28(i64vec4) Load 3696
+ 3698: 28(i64vec4) GroupNonUniformIMul 42 ExclusiveScan 3697
+ 3699: 3224(ptr) AccessChain 34(data) 3695 3216
+ Store 3699 3698
+ 3700: 6(int) Load 8(invocation)
+ 3701: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3702: 27(int64_t) Load 3701
+ 3703: 27(int64_t) GroupNonUniformUMin 42 ExclusiveScan 3702
+ 3704: 3217(ptr) AccessChain 34(data) 3700 3216 38
+ Store 3704 3703
+ 3705: 6(int) Load 8(invocation)
+ 3706: 3224(ptr) AccessChain 34(data) 46 3216
+ 3707: 28(i64vec4) Load 3706
+ 3708:3223(i64vec2) VectorShuffle 3707 3707 0 1
+ 3709:3223(i64vec2) GroupNonUniformUMin 42 ExclusiveScan 3708
+ 3710: 3217(ptr) AccessChain 34(data) 3705 3216 38
+ 3711: 27(int64_t) CompositeExtract 3709 0
+ Store 3710 3711
+ 3712: 3217(ptr) AccessChain 34(data) 3705 3216 55
+ 3713: 27(int64_t) CompositeExtract 3709 1
+ Store 3712 3713
+ 3714: 6(int) Load 8(invocation)
+ 3715: 3224(ptr) AccessChain 34(data) 59 3216
+ 3716: 28(i64vec4) Load 3715
+ 3717:3234(i64vec3) VectorShuffle 3716 3716 0 1 2
+ 3718:3234(i64vec3) GroupNonUniformUMin 42 ExclusiveScan 3717
+ 3719: 3217(ptr) AccessChain 34(data) 3714 3216 38
+ 3720: 27(int64_t) CompositeExtract 3718 0
+ Store 3719 3720
+ 3721: 3217(ptr) AccessChain 34(data) 3714 3216 55
+ 3722: 27(int64_t) CompositeExtract 3718 1
+ Store 3721 3722
+ 3723: 3217(ptr) AccessChain 34(data) 3714 3216 69
+ 3724: 27(int64_t) CompositeExtract 3718 2
+ Store 3723 3724
+ 3725: 6(int) Load 8(invocation)
+ 3726: 3224(ptr) AccessChain 34(data) 73 3216
+ 3727: 28(i64vec4) Load 3726
+ 3728: 28(i64vec4) GroupNonUniformUMin 42 ExclusiveScan 3727
+ 3729: 3224(ptr) AccessChain 34(data) 3725 3216
+ Store 3729 3728
+ 3730: 6(int) Load 8(invocation)
+ 3731: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3732: 27(int64_t) Load 3731
+ 3733: 27(int64_t) GroupNonUniformUMax 42 ExclusiveScan 3732
+ 3734: 3217(ptr) AccessChain 34(data) 3730 3216 38
+ Store 3734 3733
+ 3735: 6(int) Load 8(invocation)
+ 3736: 3224(ptr) AccessChain 34(data) 46 3216
+ 3737: 28(i64vec4) Load 3736
+ 3738:3223(i64vec2) VectorShuffle 3737 3737 0 1
+ 3739:3223(i64vec2) GroupNonUniformUMax 42 ExclusiveScan 3738
+ 3740: 3217(ptr) AccessChain 34(data) 3735 3216 38
+ 3741: 27(int64_t) CompositeExtract 3739 0
+ Store 3740 3741
+ 3742: 3217(ptr) AccessChain 34(data) 3735 3216 55
+ 3743: 27(int64_t) CompositeExtract 3739 1
+ Store 3742 3743
+ 3744: 6(int) Load 8(invocation)
+ 3745: 3224(ptr) AccessChain 34(data) 59 3216
+ 3746: 28(i64vec4) Load 3745
+ 3747:3234(i64vec3) VectorShuffle 3746 3746 0 1 2
+ 3748:3234(i64vec3) GroupNonUniformUMax 42 ExclusiveScan 3747
+ 3749: 3217(ptr) AccessChain 34(data) 3744 3216 38
+ 3750: 27(int64_t) CompositeExtract 3748 0
+ Store 3749 3750
+ 3751: 3217(ptr) AccessChain 34(data) 3744 3216 55
+ 3752: 27(int64_t) CompositeExtract 3748 1
+ Store 3751 3752
+ 3753: 3217(ptr) AccessChain 34(data) 3744 3216 69
+ 3754: 27(int64_t) CompositeExtract 3748 2
+ Store 3753 3754
+ 3755: 6(int) Load 8(invocation)
+ 3756: 3224(ptr) AccessChain 34(data) 73 3216
+ 3757: 28(i64vec4) Load 3756
+ 3758: 28(i64vec4) GroupNonUniformUMax 42 ExclusiveScan 3757
+ 3759: 3224(ptr) AccessChain 34(data) 3755 3216
+ Store 3759 3758
+ 3760: 6(int) Load 8(invocation)
+ 3761: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3762: 27(int64_t) Load 3761
+ 3763: 27(int64_t) GroupNonUniformBitwiseAnd 42 ExclusiveScan 3762
+ 3764: 3217(ptr) AccessChain 34(data) 3760 3216 38
+ Store 3764 3763
+ 3765: 6(int) Load 8(invocation)
+ 3766: 3224(ptr) AccessChain 34(data) 46 3216
+ 3767: 28(i64vec4) Load 3766
+ 3768:3223(i64vec2) VectorShuffle 3767 3767 0 1
+ 3769:3223(i64vec2) GroupNonUniformBitwiseAnd 42 ExclusiveScan 3768
+ 3770: 3217(ptr) AccessChain 34(data) 3765 3216 38
+ 3771: 27(int64_t) CompositeExtract 3769 0
+ Store 3770 3771
+ 3772: 3217(ptr) AccessChain 34(data) 3765 3216 55
+ 3773: 27(int64_t) CompositeExtract 3769 1
+ Store 3772 3773
+ 3774: 6(int) Load 8(invocation)
+ 3775: 3224(ptr) AccessChain 34(data) 59 3216
+ 3776: 28(i64vec4) Load 3775
+ 3777:3234(i64vec3) VectorShuffle 3776 3776 0 1 2
+ 3778:3234(i64vec3) GroupNonUniformBitwiseAnd 42 ExclusiveScan 3777
+ 3779: 3217(ptr) AccessChain 34(data) 3774 3216 38
+ 3780: 27(int64_t) CompositeExtract 3778 0
+ Store 3779 3780
+ 3781: 3217(ptr) AccessChain 34(data) 3774 3216 55
+ 3782: 27(int64_t) CompositeExtract 3778 1
+ Store 3781 3782
+ 3783: 3217(ptr) AccessChain 34(data) 3774 3216 69
+ 3784: 27(int64_t) CompositeExtract 3778 2
+ Store 3783 3784
+ 3785: 6(int) Load 8(invocation)
+ 3786: 3224(ptr) AccessChain 34(data) 73 3216
+ 3787: 28(i64vec4) Load 3786
+ 3788: 28(i64vec4) GroupNonUniformBitwiseAnd 42 ExclusiveScan 3787
+ 3789: 3224(ptr) AccessChain 34(data) 3785 3216
+ Store 3789 3788
+ 3790: 6(int) Load 8(invocation)
+ 3791: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3792: 27(int64_t) Load 3791
+ 3793: 27(int64_t) GroupNonUniformBitwiseOr 42 ExclusiveScan 3792
+ 3794: 3217(ptr) AccessChain 34(data) 3790 3216 38
+ Store 3794 3793
+ 3795: 6(int) Load 8(invocation)
+ 3796: 3224(ptr) AccessChain 34(data) 46 3216
+ 3797: 28(i64vec4) Load 3796
+ 3798:3223(i64vec2) VectorShuffle 3797 3797 0 1
+ 3799:3223(i64vec2) GroupNonUniformBitwiseOr 42 ExclusiveScan 3798
+ 3800: 3217(ptr) AccessChain 34(data) 3795 3216 38
+ 3801: 27(int64_t) CompositeExtract 3799 0
+ Store 3800 3801
+ 3802: 3217(ptr) AccessChain 34(data) 3795 3216 55
+ 3803: 27(int64_t) CompositeExtract 3799 1
+ Store 3802 3803
+ 3804: 6(int) Load 8(invocation)
+ 3805: 3224(ptr) AccessChain 34(data) 59 3216
+ 3806: 28(i64vec4) Load 3805
+ 3807:3234(i64vec3) VectorShuffle 3806 3806 0 1 2
+ 3808:3234(i64vec3) GroupNonUniformBitwiseOr 42 ExclusiveScan 3807
+ 3809: 3217(ptr) AccessChain 34(data) 3804 3216 38
+ 3810: 27(int64_t) CompositeExtract 3808 0
+ Store 3809 3810
+ 3811: 3217(ptr) AccessChain 34(data) 3804 3216 55
+ 3812: 27(int64_t) CompositeExtract 3808 1
+ Store 3811 3812
+ 3813: 3217(ptr) AccessChain 34(data) 3804 3216 69
+ 3814: 27(int64_t) CompositeExtract 3808 2
+ Store 3813 3814
+ 3815: 6(int) Load 8(invocation)
+ 3816: 3224(ptr) AccessChain 34(data) 73 3216
+ 3817: 28(i64vec4) Load 3816
+ 3818: 28(i64vec4) GroupNonUniformBitwiseOr 42 ExclusiveScan 3817
+ 3819: 3224(ptr) AccessChain 34(data) 3815 3216
+ Store 3819 3818
+ 3820: 6(int) Load 8(invocation)
+ 3821: 3217(ptr) AccessChain 34(data) 37 3216 38
+ 3822: 27(int64_t) Load 3821
+ 3823: 27(int64_t) GroupNonUniformBitwiseXor 42 ExclusiveScan 3822
+ 3824: 3217(ptr) AccessChain 34(data) 3820 3216 38
+ Store 3824 3823
+ 3825: 6(int) Load 8(invocation)
+ 3826: 3224(ptr) AccessChain 34(data) 46 3216
+ 3827: 28(i64vec4) Load 3826
+ 3828:3223(i64vec2) VectorShuffle 3827 3827 0 1
+ 3829:3223(i64vec2) GroupNonUniformBitwiseXor 42 ExclusiveScan 3828
+ 3830: 3217(ptr) AccessChain 34(data) 3825 3216 38
+ 3831: 27(int64_t) CompositeExtract 3829 0
+ Store 3830 3831
+ 3832: 3217(ptr) AccessChain 34(data) 3825 3216 55
+ 3833: 27(int64_t) CompositeExtract 3829 1
+ Store 3832 3833
+ 3834: 6(int) Load 8(invocation)
+ 3835: 3224(ptr) AccessChain 34(data) 59 3216
+ 3836: 28(i64vec4) Load 3835
+ 3837:3234(i64vec3) VectorShuffle 3836 3836 0 1 2
+ 3838:3234(i64vec3) GroupNonUniformBitwiseXor 42 ExclusiveScan 3837
+ 3839: 3217(ptr) AccessChain 34(data) 3834 3216 38
+ 3840: 27(int64_t) CompositeExtract 3838 0
+ Store 3839 3840
+ 3841: 3217(ptr) AccessChain 34(data) 3834 3216 55
+ 3842: 27(int64_t) CompositeExtract 3838 1
+ Store 3841 3842
+ 3843: 3217(ptr) AccessChain 34(data) 3834 3216 69
+ 3844: 27(int64_t) CompositeExtract 3838 2
+ Store 3843 3844
+ 3845: 6(int) Load 8(invocation)
+ 3846: 3224(ptr) AccessChain 34(data) 73 3216
+ 3847: 28(i64vec4) Load 3846
+ 3848: 28(i64vec4) GroupNonUniformBitwiseXor 42 ExclusiveScan 3847
+ 3849: 3224(ptr) AccessChain 34(data) 3845 3216
+ Store 3849 3848
+ 3850: 6(int) Load 8(invocation)
+ 3853: 3852(ptr) AccessChain 34(data) 37 3851 38
+ 3854:29(float16_t) Load 3853
+ 3855:29(float16_t) GroupNonUniformFAdd 42 Reduce 3854
+ 3856: 3852(ptr) AccessChain 34(data) 3850 3851 38
+ Store 3856 3855
+ 3857: 6(int) Load 8(invocation)
+ 3860: 3859(ptr) AccessChain 34(data) 46 3851
+ 3861: 30(f16vec4) Load 3860
+ 3862:3858(f16vec2) VectorShuffle 3861 3861 0 1
+ 3863:3858(f16vec2) GroupNonUniformFAdd 42 Reduce 3862
+ 3864: 3852(ptr) AccessChain 34(data) 3857 3851 38
+ 3865:29(float16_t) CompositeExtract 3863 0
+ Store 3864 3865
+ 3866: 3852(ptr) AccessChain 34(data) 3857 3851 55
+ 3867:29(float16_t) CompositeExtract 3863 1
+ Store 3866 3867
+ 3868: 6(int) Load 8(invocation)
+ 3870: 3859(ptr) AccessChain 34(data) 59 3851
+ 3871: 30(f16vec4) Load 3870
+ 3872:3869(f16vec3) VectorShuffle 3871 3871 0 1 2
+ 3873:3869(f16vec3) GroupNonUniformFAdd 42 Reduce 3872
+ 3874: 3852(ptr) AccessChain 34(data) 3868 3851 38
+ 3875:29(float16_t) CompositeExtract 3873 0
+ Store 3874 3875
+ 3876: 3852(ptr) AccessChain 34(data) 3868 3851 55
+ 3877:29(float16_t) CompositeExtract 3873 1
+ Store 3876 3877
+ 3878: 3852(ptr) AccessChain 34(data) 3868 3851 69
+ 3879:29(float16_t) CompositeExtract 3873 2
+ Store 3878 3879
+ 3880: 6(int) Load 8(invocation)
+ 3881: 3859(ptr) AccessChain 34(data) 73 3851
+ 3882: 30(f16vec4) Load 3881
+ 3883: 30(f16vec4) GroupNonUniformFAdd 42 Reduce 3882
+ 3884: 3859(ptr) AccessChain 34(data) 3880 3851
+ Store 3884 3883
+ 3885: 6(int) Load 8(invocation)
+ 3886: 3852(ptr) AccessChain 34(data) 37 3851 38
+ 3887:29(float16_t) Load 3886
+ 3888:29(float16_t) GroupNonUniformFMul 42 Reduce 3887
+ 3889: 3852(ptr) AccessChain 34(data) 3885 3851 38
+ Store 3889 3888
+ 3890: 6(int) Load 8(invocation)
+ 3891: 3859(ptr) AccessChain 34(data) 46 3851
+ 3892: 30(f16vec4) Load 3891
+ 3893:3858(f16vec2) VectorShuffle 3892 3892 0 1
+ 3894:3858(f16vec2) GroupNonUniformFMul 42 Reduce 3893
+ 3895: 3852(ptr) AccessChain 34(data) 3890 3851 38
+ 3896:29(float16_t) CompositeExtract 3894 0
+ Store 3895 3896
+ 3897: 3852(ptr) AccessChain 34(data) 3890 3851 55
+ 3898:29(float16_t) CompositeExtract 3894 1
+ Store 3897 3898
+ 3899: 6(int) Load 8(invocation)
+ 3900: 3859(ptr) AccessChain 34(data) 59 3851
+ 3901: 30(f16vec4) Load 3900
+ 3902:3869(f16vec3) VectorShuffle 3901 3901 0 1 2
+ 3903:3869(f16vec3) GroupNonUniformFMul 42 Reduce 3902
+ 3904: 3852(ptr) AccessChain 34(data) 3899 3851 38
+ 3905:29(float16_t) CompositeExtract 3903 0
+ Store 3904 3905
+ 3906: 3852(ptr) AccessChain 34(data) 3899 3851 55
+ 3907:29(float16_t) CompositeExtract 3903 1
+ Store 3906 3907
+ 3908: 3852(ptr) AccessChain 34(data) 3899 3851 69
+ 3909:29(float16_t) CompositeExtract 3903 2
+ Store 3908 3909
+ 3910: 6(int) Load 8(invocation)
+ 3911: 3859(ptr) AccessChain 34(data) 73 3851
+ 3912: 30(f16vec4) Load 3911
+ 3913: 30(f16vec4) GroupNonUniformFMul 42 Reduce 3912
+ 3914: 3859(ptr) AccessChain 34(data) 3910 3851
+ Store 3914 3913
+ 3915: 6(int) Load 8(invocation)
+ 3916: 3852(ptr) AccessChain 34(data) 37 3851 38
+ 3917:29(float16_t) Load 3916
+ 3918:29(float16_t) GroupNonUniformFMin 42 Reduce 3917
+ 3919: 3852(ptr) AccessChain 34(data) 3915 3851 38
+ Store 3919 3918
+ 3920: 6(int) Load 8(invocation)
+ 3921: 3859(ptr) AccessChain 34(data) 46 3851
+ 3922: 30(f16vec4) Load 3921
+ 3923:3858(f16vec2) VectorShuffle 3922 3922 0 1
+ 3924:3858(f16vec2) GroupNonUniformFMin 42 Reduce 3923
+ 3925: 3852(ptr) AccessChain 34(data) 3920 3851 38
+ 3926:29(float16_t) CompositeExtract 3924 0
+ Store 3925 3926
+ 3927: 3852(ptr) AccessChain 34(data) 3920 3851 55
+ 3928:29(float16_t) CompositeExtract 3924 1
+ Store 3927 3928
+ 3929: 6(int) Load 8(invocation)
+ 3930: 3859(ptr) AccessChain 34(data) 59 3851
+ 3931: 30(f16vec4) Load 3930
+ 3932:3869(f16vec3) VectorShuffle 3931 3931 0 1 2
+ 3933:3869(f16vec3) GroupNonUniformFMin 42 Reduce 3932
+ 3934: 3852(ptr) AccessChain 34(data) 3929 3851 38
+ 3935:29(float16_t) CompositeExtract 3933 0
+ Store 3934 3935
+ 3936: 3852(ptr) AccessChain 34(data) 3929 3851 55
+ 3937:29(float16_t) CompositeExtract 3933 1
+ Store 3936 3937
+ 3938: 3852(ptr) AccessChain 34(data) 3929 3851 69
+ 3939:29(float16_t) CompositeExtract 3933 2
+ Store 3938 3939
+ 3940: 6(int) Load 8(invocation)
+ 3941: 3859(ptr) AccessChain 34(data) 73 3851
+ 3942: 30(f16vec4) Load 3941
+ 3943: 30(f16vec4) GroupNonUniformFMin 42 Reduce 3942
+ 3944: 3859(ptr) AccessChain 34(data) 3940 3851
+ Store 3944 3943
+ 3945: 6(int) Load 8(invocation)
+ 3946: 3852(ptr) AccessChain 34(data) 37 3851 38
+ 3947:29(float16_t) Load 3946
+ 3948:29(float16_t) GroupNonUniformFMax 42 Reduce 3947
+ 3949: 3852(ptr) AccessChain 34(data) 3945 3851 38
+ Store 3949 3948
+ 3950: 6(int) Load 8(invocation)
+ 3951: 3859(ptr) AccessChain 34(data) 46 3851
+ 3952: 30(f16vec4) Load 3951
+ 3953:3858(f16vec2) VectorShuffle 3952 3952 0 1
+ 3954:3858(f16vec2) GroupNonUniformFMax 42 Reduce 3953
+ 3955: 3852(ptr) AccessChain 34(data) 3950 3851 38
+ 3956:29(float16_t) CompositeExtract 3954 0
+ Store 3955 3956
+ 3957: 3852(ptr) AccessChain 34(data) 3950 3851 55
+ 3958:29(float16_t) CompositeExtract 3954 1
+ Store 3957 3958
+ 3959: 6(int) Load 8(invocation)
+ 3960: 3859(ptr) AccessChain 34(data) 59 3851
+ 3961: 30(f16vec4) Load 3960
+ 3962:3869(f16vec3) VectorShuffle 3961 3961 0 1 2
+ 3963:3869(f16vec3) GroupNonUniformFMax 42 Reduce 3962
+ 3964: 3852(ptr) AccessChain 34(data) 3959 3851 38
+ 3965:29(float16_t) CompositeExtract 3963 0
+ Store 3964 3965
+ 3966: 3852(ptr) AccessChain 34(data) 3959 3851 55
+ 3967:29(float16_t) CompositeExtract 3963 1
+ Store 3966 3967
+ 3968: 3852(ptr) AccessChain 34(data) 3959 3851 69
+ 3969:29(float16_t) CompositeExtract 3963 2
+ Store 3968 3969
+ 3970: 6(int) Load 8(invocation)
+ 3971: 3859(ptr) AccessChain 34(data) 73 3851
+ 3972: 30(f16vec4) Load 3971
+ 3973: 30(f16vec4) GroupNonUniformFMax 42 Reduce 3972
+ 3974: 3859(ptr) AccessChain 34(data) 3970 3851
+ Store 3974 3973
+ 3975: 6(int) Load 8(invocation)
+ 3976: 3852(ptr) AccessChain 34(data) 37 3851 38
+ 3977:29(float16_t) Load 3976
+ 3978:29(float16_t) GroupNonUniformFAdd 42 InclusiveScan 3977
+ 3979: 3852(ptr) AccessChain 34(data) 3975 3851 38
+ Store 3979 3978
+ 3980: 6(int) Load 8(invocation)
+ 3981: 3859(ptr) AccessChain 34(data) 46 3851
+ 3982: 30(f16vec4) Load 3981
+ 3983:3858(f16vec2) VectorShuffle 3982 3982 0 1
+ 3984:3858(f16vec2) GroupNonUniformFAdd 42 InclusiveScan 3983
+ 3985: 3852(ptr) AccessChain 34(data) 3980 3851 38
+ 3986:29(float16_t) CompositeExtract 3984 0
+ Store 3985 3986
+ 3987: 3852(ptr) AccessChain 34(data) 3980 3851 55
+ 3988:29(float16_t) CompositeExtract 3984 1
+ Store 3987 3988
+ 3989: 6(int) Load 8(invocation)
+ 3990: 3859(ptr) AccessChain 34(data) 59 3851
+ 3991: 30(f16vec4) Load 3990
+ 3992:3869(f16vec3) VectorShuffle 3991 3991 0 1 2
+ 3993:3869(f16vec3) GroupNonUniformFAdd 42 InclusiveScan 3992
+ 3994: 3852(ptr) AccessChain 34(data) 3989 3851 38
+ 3995:29(float16_t) CompositeExtract 3993 0
+ Store 3994 3995
+ 3996: 3852(ptr) AccessChain 34(data) 3989 3851 55
+ 3997:29(float16_t) CompositeExtract 3993 1
+ Store 3996 3997
+ 3998: 3852(ptr) AccessChain 34(data) 3989 3851 69
+ 3999:29(float16_t) CompositeExtract 3993 2
+ Store 3998 3999
+ 4000: 6(int) Load 8(invocation)
+ 4001: 3859(ptr) AccessChain 34(data) 73 3851
+ 4002: 30(f16vec4) Load 4001
+ 4003: 30(f16vec4) GroupNonUniformFAdd 42 InclusiveScan 4002
+ 4004: 3859(ptr) AccessChain 34(data) 4000 3851
+ Store 4004 4003
+ 4005: 6(int) Load 8(invocation)
+ 4006: 3852(ptr) AccessChain 34(data) 37 3851 38
+ 4007:29(float16_t) Load 4006
+ 4008:29(float16_t) GroupNonUniformFMul 42 InclusiveScan 4007
+ 4009: 3852(ptr) AccessChain 34(data) 4005 3851 38
+ Store 4009 4008
+ 4010: 6(int) Load 8(invocation)
+ 4011: 3859(ptr) AccessChain 34(data) 46 3851
+ 4012: 30(f16vec4) Load 4011
+ 4013:3858(f16vec2) VectorShuffle 4012 4012 0 1
+ 4014:3858(f16vec2) GroupNonUniformFMul 42 InclusiveScan 4013
+ 4015: 3852(ptr) AccessChain 34(data) 4010 3851 38
+ 4016:29(float16_t) CompositeExtract 4014 0
+ Store 4015 4016
+ 4017: 3852(ptr) AccessChain 34(data) 4010 3851 55
+ 4018:29(float16_t) CompositeExtract 4014 1
+ Store 4017 4018
+ 4019: 6(int) Load 8(invocation)
+ 4020: 3859(ptr) AccessChain 34(data) 59 3851
+ 4021: 30(f16vec4) Load 4020
+ 4022:3869(f16vec3) VectorShuffle 4021 4021 0 1 2
+ 4023:3869(f16vec3) GroupNonUniformFMul 42 InclusiveScan 4022
+ 4024: 3852(ptr) AccessChain 34(data) 4019 3851 38
+ 4025:29(float16_t) CompositeExtract 4023 0
+ Store 4024 4025
+ 4026: 3852(ptr) AccessChain 34(data) 4019 3851 55
+ 4027:29(float16_t) CompositeExtract 4023 1
+ Store 4026 4027
+ 4028: 3852(ptr) AccessChain 34(data) 4019 3851 69
+ 4029:29(float16_t) CompositeExtract 4023 2
+ Store 4028 4029
+ 4030: 6(int) Load 8(invocation)
+ 4031: 3859(ptr) AccessChain 34(data) 73 3851
+ 4032: 30(f16vec4) Load 4031
+ 4033: 30(f16vec4) GroupNonUniformFMul 42 InclusiveScan 4032
+ 4034: 3859(ptr) AccessChain 34(data) 4030 3851
+ Store 4034 4033
+ 4035: 6(int) Load 8(invocation)
+ 4036: 3852(ptr) AccessChain 34(data) 37 3851 38
+ 4037:29(float16_t) Load 4036
+ 4038:29(float16_t) GroupNonUniformFMin 42 InclusiveScan 4037
+ 4039: 3852(ptr) AccessChain 34(data) 4035 3851 38
+ Store 4039 4038
+ 4040: 6(int) Load 8(invocation)
+ 4041: 3859(ptr) AccessChain 34(data) 46 3851
+ 4042: 30(f16vec4) Load 4041
+ 4043:3858(f16vec2) VectorShuffle 4042 4042 0 1
+ 4044:3858(f16vec2) GroupNonUniformFMin 42 InclusiveScan 4043
+ 4045: 3852(ptr) AccessChain 34(data) 4040 3851 38
+ 4046:29(float16_t) CompositeExtract 4044 0
+ Store 4045 4046
+ 4047: 3852(ptr) AccessChain 34(data) 4040 3851 55
+ 4048:29(float16_t) CompositeExtract 4044 1
+ Store 4047 4048
+ 4049: 6(int) Load 8(invocation)
+ 4050: 3859(ptr) AccessChain 34(data) 59 3851
+ 4051: 30(f16vec4) Load 4050
+ 4052:3869(f16vec3) VectorShuffle 4051 4051 0 1 2
+ 4053:3869(f16vec3) GroupNonUniformFMin 42 InclusiveScan 4052
+ 4054: 3852(ptr) AccessChain 34(data) 4049 3851 38
+ 4055:29(float16_t) CompositeExtract 4053 0
+ Store 4054 4055
+ 4056: 3852(ptr) AccessChain 34(data) 4049 3851 55
+ 4057:29(float16_t) CompositeExtract 4053 1
+ Store 4056 4057
+ 4058: 3852(ptr) AccessChain 34(data) 4049 3851 69
+ 4059:29(float16_t) CompositeExtract 4053 2
+ Store 4058 4059
+ 4060: 6(int) Load 8(invocation)
+ 4061: 3859(ptr) AccessChain 34(data) 73 3851
+ 4062: 30(f16vec4) Load 4061
+ 4063: 30(f16vec4) GroupNonUniformFMin 42 InclusiveScan 4062
+ 4064: 3859(ptr) AccessChain 34(data) 4060 3851
+ Store 4064 4063
+ 4065: 6(int) Load 8(invocation)
+ 4066: 3852(ptr) AccessChain 34(data) 37 3851 38
+ 4067:29(float16_t) Load 4066
+ 4068:29(float16_t) GroupNonUniformFMax 42 InclusiveScan 4067
+ 4069: 3852(ptr) AccessChain 34(data) 4065 3851 38
+ Store 4069 4068
+ 4070: 6(int) Load 8(invocation)
+ 4071: 3859(ptr) AccessChain 34(data) 46 3851
+ 4072: 30(f16vec4) Load 4071
+ 4073:3858(f16vec2) VectorShuffle 4072 4072 0 1
+ 4074:3858(f16vec2) GroupNonUniformFMax 42 InclusiveScan 4073
+ 4075: 3852(ptr) AccessChain 34(data) 4070 3851 38
+ 4076:29(float16_t) CompositeExtract 4074 0
+ Store 4075 4076
+ 4077: 3852(ptr) AccessChain 34(data) 4070 3851 55
+ 4078:29(float16_t) CompositeExtract 4074 1
+ Store 4077 4078
+ 4079: 6(int) Load 8(invocation)
+ 4080: 3859(ptr) AccessChain 34(data) 59 3851
+ 4081: 30(f16vec4) Load 4080
+ 4082:3869(f16vec3) VectorShuffle 4081 4081 0 1 2
+ 4083:3869(f16vec3) GroupNonUniformFMax 42 InclusiveScan 4082
+ 4084: 3852(ptr) AccessChain 34(data) 4079 3851 38
+ 4085:29(float16_t) CompositeExtract 4083 0
+ Store 4084 4085
+ 4086: 3852(ptr) AccessChain 34(data) 4079 3851 55
+ 4087:29(float16_t) CompositeExtract 4083 1
+ Store 4086 4087
+ 4088: 3852(ptr) AccessChain 34(data) 4079 3851 69
+ 4089:29(float16_t) CompositeExtract 4083 2
+ Store 4088 4089
+ 4090: 6(int) Load 8(invocation)
+ 4091: 3859(ptr) AccessChain 34(data) 73 3851
+ 4092: 30(f16vec4) Load 4091
+ 4093: 30(f16vec4) GroupNonUniformFMax 42 InclusiveScan 4092
+ 4094: 3859(ptr) AccessChain 34(data) 4090 3851
+ Store 4094 4093
+ 4095: 6(int) Load 8(invocation)
+ 4096: 3852(ptr) AccessChain 34(data) 37 3851 38
+ 4097:29(float16_t) Load 4096
+ 4098:29(float16_t) GroupNonUniformFAdd 42 ExclusiveScan 4097
+ 4099: 3852(ptr) AccessChain 34(data) 4095 3851 38
+ Store 4099 4098
+ 4100: 6(int) Load 8(invocation)
+ 4101: 3859(ptr) AccessChain 34(data) 46 3851
+ 4102: 30(f16vec4) Load 4101
+ 4103:3858(f16vec2) VectorShuffle 4102 4102 0 1
+ 4104:3858(f16vec2) GroupNonUniformFAdd 42 ExclusiveScan 4103
+ 4105: 3852(ptr) AccessChain 34(data) 4100 3851 38
+ 4106:29(float16_t) CompositeExtract 4104 0
+ Store 4105 4106
+ 4107: 3852(ptr) AccessChain 34(data) 4100 3851 55
+ 4108:29(float16_t) CompositeExtract 4104 1
+ Store 4107 4108
+ 4109: 6(int) Load 8(invocation)
+ 4110: 3859(ptr) AccessChain 34(data) 59 3851
+ 4111: 30(f16vec4) Load 4110
+ 4112:3869(f16vec3) VectorShuffle 4111 4111 0 1 2
+ 4113:3869(f16vec3) GroupNonUniformFAdd 42 ExclusiveScan 4112
+ 4114: 3852(ptr) AccessChain 34(data) 4109 3851 38
+ 4115:29(float16_t) CompositeExtract 4113 0
+ Store 4114 4115
+ 4116: 3852(ptr) AccessChain 34(data) 4109 3851 55
+ 4117:29(float16_t) CompositeExtract 4113 1
+ Store 4116 4117
+ 4118: 3852(ptr) AccessChain 34(data) 4109 3851 69
+ 4119:29(float16_t) CompositeExtract 4113 2
+ Store 4118 4119
+ 4120: 6(int) Load 8(invocation)
+ 4121: 3859(ptr) AccessChain 34(data) 73 3851
+ 4122: 30(f16vec4) Load 4121
+ 4123: 30(f16vec4) GroupNonUniformFAdd 42 ExclusiveScan 4122
+ 4124: 3859(ptr) AccessChain 34(data) 4120 3851
+ Store 4124 4123
+ 4125: 6(int) Load 8(invocation)
+ 4126: 3852(ptr) AccessChain 34(data) 37 3851 38
+ 4127:29(float16_t) Load 4126
+ 4128:29(float16_t) GroupNonUniformFMul 42 ExclusiveScan 4127
+ 4129: 3852(ptr) AccessChain 34(data) 4125 3851 38
+ Store 4129 4128
+ 4130: 6(int) Load 8(invocation)
+ 4131: 3859(ptr) AccessChain 34(data) 46 3851
+ 4132: 30(f16vec4) Load 4131
+ 4133:3858(f16vec2) VectorShuffle 4132 4132 0 1
+ 4134:3858(f16vec2) GroupNonUniformFMul 42 ExclusiveScan 4133
+ 4135: 3852(ptr) AccessChain 34(data) 4130 3851 38
+ 4136:29(float16_t) CompositeExtract 4134 0
+ Store 4135 4136
+ 4137: 3852(ptr) AccessChain 34(data) 4130 3851 55
+ 4138:29(float16_t) CompositeExtract 4134 1
+ Store 4137 4138
+ 4139: 6(int) Load 8(invocation)
+ 4140: 3859(ptr) AccessChain 34(data) 59 3851
+ 4141: 30(f16vec4) Load 4140
+ 4142:3869(f16vec3) VectorShuffle 4141 4141 0 1 2
+ 4143:3869(f16vec3) GroupNonUniformFMul 42 ExclusiveScan 4142
+ 4144: 3852(ptr) AccessChain 34(data) 4139 3851 38
+ 4145:29(float16_t) CompositeExtract 4143 0
+ Store 4144 4145
+ 4146: 3852(ptr) AccessChain 34(data) 4139 3851 55
+ 4147:29(float16_t) CompositeExtract 4143 1
+ Store 4146 4147
+ 4148: 3852(ptr) AccessChain 34(data) 4139 3851 69
+ 4149:29(float16_t) CompositeExtract 4143 2
+ Store 4148 4149
+ 4150: 6(int) Load 8(invocation)
+ 4151: 3859(ptr) AccessChain 34(data) 73 3851
+ 4152: 30(f16vec4) Load 4151
+ 4153: 30(f16vec4) GroupNonUniformFMul 42 ExclusiveScan 4152
+ 4154: 3859(ptr) AccessChain 34(data) 4150 3851
+ Store 4154 4153
+ 4155: 6(int) Load 8(invocation)
+ 4156: 3852(ptr) AccessChain 34(data) 37 3851 38
+ 4157:29(float16_t) Load 4156
+ 4158:29(float16_t) GroupNonUniformFMin 42 ExclusiveScan 4157
+ 4159: 3852(ptr) AccessChain 34(data) 4155 3851 38
+ Store 4159 4158
+ 4160: 6(int) Load 8(invocation)
+ 4161: 3859(ptr) AccessChain 34(data) 46 3851
+ 4162: 30(f16vec4) Load 4161
+ 4163:3858(f16vec2) VectorShuffle 4162 4162 0 1
+ 4164:3858(f16vec2) GroupNonUniformFMin 42 ExclusiveScan 4163
+ 4165: 3852(ptr) AccessChain 34(data) 4160 3851 38
+ 4166:29(float16_t) CompositeExtract 4164 0
+ Store 4165 4166
+ 4167: 3852(ptr) AccessChain 34(data) 4160 3851 55
+ 4168:29(float16_t) CompositeExtract 4164 1
+ Store 4167 4168
+ 4169: 6(int) Load 8(invocation)
+ 4170: 3859(ptr) AccessChain 34(data) 59 3851
+ 4171: 30(f16vec4) Load 4170
+ 4172:3869(f16vec3) VectorShuffle 4171 4171 0 1 2
+ 4173:3869(f16vec3) GroupNonUniformFMin 42 ExclusiveScan 4172
+ 4174: 3852(ptr) AccessChain 34(data) 4169 3851 38
+ 4175:29(float16_t) CompositeExtract 4173 0
+ Store 4174 4175
+ 4176: 3852(ptr) AccessChain 34(data) 4169 3851 55
+ 4177:29(float16_t) CompositeExtract 4173 1
+ Store 4176 4177
+ 4178: 3852(ptr) AccessChain 34(data) 4169 3851 69
+ 4179:29(float16_t) CompositeExtract 4173 2
+ Store 4178 4179
+ 4180: 6(int) Load 8(invocation)
+ 4181: 3859(ptr) AccessChain 34(data) 73 3851
+ 4182: 30(f16vec4) Load 4181
+ 4183: 30(f16vec4) GroupNonUniformFMin 42 ExclusiveScan 4182
+ 4184: 3859(ptr) AccessChain 34(data) 4180 3851
+ Store 4184 4183
+ 4185: 6(int) Load 8(invocation)
+ 4186: 3852(ptr) AccessChain 34(data) 37 3851 38
+ 4187:29(float16_t) Load 4186
+ 4188:29(float16_t) GroupNonUniformFMax 42 ExclusiveScan 4187
+ 4189: 3852(ptr) AccessChain 34(data) 4185 3851 38
+ Store 4189 4188
+ 4190: 6(int) Load 8(invocation)
+ 4191: 3859(ptr) AccessChain 34(data) 46 3851
+ 4192: 30(f16vec4) Load 4191
+ 4193:3858(f16vec2) VectorShuffle 4192 4192 0 1
+ 4194:3858(f16vec2) GroupNonUniformFMax 42 ExclusiveScan 4193
+ 4195: 3852(ptr) AccessChain 34(data) 4190 3851 38
+ 4196:29(float16_t) CompositeExtract 4194 0
+ Store 4195 4196
+ 4197: 3852(ptr) AccessChain 34(data) 4190 3851 55
+ 4198:29(float16_t) CompositeExtract 4194 1
+ Store 4197 4198
+ 4199: 6(int) Load 8(invocation)
+ 4200: 3859(ptr) AccessChain 34(data) 59 3851
+ 4201: 30(f16vec4) Load 4200
+ 4202:3869(f16vec3) VectorShuffle 4201 4201 0 1 2
+ 4203:3869(f16vec3) GroupNonUniformFMax 42 ExclusiveScan 4202
+ 4204: 3852(ptr) AccessChain 34(data) 4199 3851 38
+ 4205:29(float16_t) CompositeExtract 4203 0
+ Store 4204 4205
+ 4206: 3852(ptr) AccessChain 34(data) 4199 3851 55
+ 4207:29(float16_t) CompositeExtract 4203 1
+ Store 4206 4207
+ 4208: 3852(ptr) AccessChain 34(data) 4199 3851 69
+ 4209:29(float16_t) CompositeExtract 4203 2
+ Store 4208 4209
+ 4210: 6(int) Load 8(invocation)
+ 4211: 3859(ptr) AccessChain 34(data) 73 3851
+ 4212: 30(f16vec4) Load 4211
+ 4213: 30(f16vec4) GroupNonUniformFMax 42 ExclusiveScan 4212
+ 4214: 3859(ptr) AccessChain 34(data) 4210 3851
+ Store 4214 4213
Return
FunctionEnd
diff --git a/Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out b/Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out
index f503f8c..60f01bc 100644
--- a/Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out
+++ b/Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out
@@ -1,7 +1,7 @@
spv.subgroupExtendedTypesBallot.comp
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 441
+// Id's are bound by 498
Capability Shader
Capability Float16
@@ -59,7 +59,7 @@
Decorate 31(Buffers) Block
Decorate 34(data) DescriptorSet 0
Decorate 34(data) Binding 0
- Decorate 440 BuiltIn WorkgroupSize
+ Decorate 497 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -94,40 +94,41 @@
46: 36(int) Constant 1
47: TypeVector 17(int8_t) 2
48: TypePointer StorageBuffer 18(i8vec4)
- 57: 36(int) Constant 2
- 58: TypeVector 17(int8_t) 3
- 67: 36(int) Constant 3
- 99: TypePointer StorageBuffer 19(int8_t)
- 105: TypeVector 19(int8_t) 2
- 106: TypePointer StorageBuffer 20(i8vec4)
- 115: TypeVector 19(int8_t) 3
- 155: TypePointer StorageBuffer 21(int16_t)
- 161: TypeVector 21(int16_t) 2
- 162: TypePointer StorageBuffer 22(i16vec4)
- 171: TypeVector 21(int16_t) 3
- 211: TypePointer StorageBuffer 23(int16_t)
- 217: TypeVector 23(int16_t) 2
- 218: TypePointer StorageBuffer 24(i16vec4)
- 227: TypeVector 23(int16_t) 3
- 267: 36(int) Constant 4
- 268: TypePointer StorageBuffer 25(int64_t)
- 274: TypeVector 25(int64_t) 2
- 275: TypePointer StorageBuffer 26(i64vec4)
- 284: TypeVector 25(int64_t) 3
- 324: 36(int) Constant 5
- 325: TypePointer StorageBuffer 27(int64_t)
- 331: TypeVector 27(int64_t) 2
- 332: TypePointer StorageBuffer 28(i64vec4)
- 341: TypeVector 27(int64_t) 3
- 381: 36(int) Constant 6
- 382: TypePointer StorageBuffer 29(float16_t)
- 388: TypeVector 29(float16_t) 2
- 389: TypePointer StorageBuffer 30(f16vec4)
- 398: TypeVector 29(float16_t) 3
- 437: TypeVector 6(int) 3
- 438: 6(int) Constant 8
- 439: 6(int) Constant 1
- 440: 437(ivec3) ConstantComposite 438 439 439
+ 55: 6(int) Constant 1
+ 59: 36(int) Constant 2
+ 60: TypeVector 17(int8_t) 3
+ 69: 6(int) Constant 2
+ 73: 36(int) Constant 3
+ 109: TypePointer StorageBuffer 19(int8_t)
+ 115: TypeVector 19(int8_t) 2
+ 116: TypePointer StorageBuffer 20(i8vec4)
+ 126: TypeVector 19(int8_t) 3
+ 173: TypePointer StorageBuffer 21(int16_t)
+ 179: TypeVector 21(int16_t) 2
+ 180: TypePointer StorageBuffer 22(i16vec4)
+ 190: TypeVector 21(int16_t) 3
+ 237: TypePointer StorageBuffer 23(int16_t)
+ 243: TypeVector 23(int16_t) 2
+ 244: TypePointer StorageBuffer 24(i16vec4)
+ 254: TypeVector 23(int16_t) 3
+ 301: 36(int) Constant 4
+ 302: TypePointer StorageBuffer 25(int64_t)
+ 308: TypeVector 25(int64_t) 2
+ 309: TypePointer StorageBuffer 26(i64vec4)
+ 319: TypeVector 25(int64_t) 3
+ 366: 36(int) Constant 5
+ 367: TypePointer StorageBuffer 27(int64_t)
+ 373: TypeVector 27(int64_t) 2
+ 374: TypePointer StorageBuffer 28(i64vec4)
+ 384: TypeVector 27(int64_t) 3
+ 431: 36(int) Constant 6
+ 432: TypePointer StorageBuffer 29(float16_t)
+ 438: TypeVector 29(float16_t) 2
+ 439: TypePointer StorageBuffer 30(f16vec4)
+ 449: TypeVector 29(float16_t) 3
+ 495: TypeVector 6(int) 3
+ 496: 6(int) Constant 8
+ 497: 495(ivec3) ConstantComposite 496 55 55
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@@ -147,414 +148,512 @@
50: 18(i8vec4) Load 49
51: 47(i8vec2) VectorShuffle 50 50 0 1
52: 47(i8vec2) GroupNonUniformBroadcast 42 51 42
- 53: 48(ptr) AccessChain 34(data) 45 37
- 54: 18(i8vec4) Load 53
- 55: 18(i8vec4) VectorShuffle 54 52 4 5 2 3
- Store 53 55
- 56: 6(int) Load 8(invocation)
- 59: 48(ptr) AccessChain 34(data) 57 37
- 60: 18(i8vec4) Load 59
- 61: 58(i8vec3) VectorShuffle 60 60 0 1 2
- 62: 58(i8vec3) GroupNonUniformBroadcast 42 61 42
- 63: 48(ptr) AccessChain 34(data) 56 37
- 64: 18(i8vec4) Load 63
- 65: 18(i8vec4) VectorShuffle 64 62 4 5 6 3
- Store 63 65
- 66: 6(int) Load 8(invocation)
- 68: 48(ptr) AccessChain 34(data) 67 37
- 69: 18(i8vec4) Load 68
- 70: 18(i8vec4) GroupNonUniformBroadcast 42 69 42
- 71: 48(ptr) AccessChain 34(data) 66 37
- Store 71 70
+ 53: 39(ptr) AccessChain 34(data) 45 37 38
+ 54: 17(int8_t) CompositeExtract 52 0
+ Store 53 54
+ 56: 39(ptr) AccessChain 34(data) 45 37 55
+ 57: 17(int8_t) CompositeExtract 52 1
+ Store 56 57
+ 58: 6(int) Load 8(invocation)
+ 61: 48(ptr) AccessChain 34(data) 59 37
+ 62: 18(i8vec4) Load 61
+ 63: 60(i8vec3) VectorShuffle 62 62 0 1 2
+ 64: 60(i8vec3) GroupNonUniformBroadcast 42 63 42
+ 65: 39(ptr) AccessChain 34(data) 58 37 38
+ 66: 17(int8_t) CompositeExtract 64 0
+ Store 65 66
+ 67: 39(ptr) AccessChain 34(data) 58 37 55
+ 68: 17(int8_t) CompositeExtract 64 1
+ Store 67 68
+ 70: 39(ptr) AccessChain 34(data) 58 37 69
+ 71: 17(int8_t) CompositeExtract 64 2
+ Store 70 71
72: 6(int) Load 8(invocation)
- 73: 39(ptr) AccessChain 34(data) 37 37 38
- 74: 17(int8_t) Load 73
- 75: 17(int8_t) GroupNonUniformBroadcastFirst 42 74
- 76: 39(ptr) AccessChain 34(data) 72 37 38
- Store 76 75
- 77: 6(int) Load 8(invocation)
- 78: 48(ptr) AccessChain 34(data) 46 37
- 79: 18(i8vec4) Load 78
- 80: 47(i8vec2) VectorShuffle 79 79 0 1
- 81: 47(i8vec2) GroupNonUniformBroadcastFirst 42 80
- 82: 48(ptr) AccessChain 34(data) 77 37
- 83: 18(i8vec4) Load 82
- 84: 18(i8vec4) VectorShuffle 83 81 4 5 2 3
- Store 82 84
- 85: 6(int) Load 8(invocation)
- 86: 48(ptr) AccessChain 34(data) 57 37
- 87: 18(i8vec4) Load 86
- 88: 58(i8vec3) VectorShuffle 87 87 0 1 2
- 89: 58(i8vec3) GroupNonUniformBroadcastFirst 42 88
- 90: 48(ptr) AccessChain 34(data) 85 37
- 91: 18(i8vec4) Load 90
- 92: 18(i8vec4) VectorShuffle 91 89 4 5 6 3
- Store 90 92
- 93: 6(int) Load 8(invocation)
- 94: 48(ptr) AccessChain 34(data) 67 37
- 95: 18(i8vec4) Load 94
- 96: 18(i8vec4) GroupNonUniformBroadcastFirst 42 95
- 97: 48(ptr) AccessChain 34(data) 93 37
- Store 97 96
- 98: 6(int) Load 8(invocation)
- 100: 99(ptr) AccessChain 34(data) 37 46 38
- 101: 19(int8_t) Load 100
- 102: 19(int8_t) GroupNonUniformBroadcast 42 101 42
- 103: 99(ptr) AccessChain 34(data) 98 46 38
- Store 103 102
- 104: 6(int) Load 8(invocation)
- 107: 106(ptr) AccessChain 34(data) 46 46
- 108: 20(i8vec4) Load 107
- 109: 105(i8vec2) VectorShuffle 108 108 0 1
- 110: 105(i8vec2) GroupNonUniformBroadcast 42 109 42
- 111: 106(ptr) AccessChain 34(data) 104 46
- 112: 20(i8vec4) Load 111
- 113: 20(i8vec4) VectorShuffle 112 110 4 5 2 3
- Store 111 113
+ 74: 48(ptr) AccessChain 34(data) 73 37
+ 75: 18(i8vec4) Load 74
+ 76: 18(i8vec4) GroupNonUniformBroadcast 42 75 42
+ 77: 48(ptr) AccessChain 34(data) 72 37
+ Store 77 76
+ 78: 6(int) Load 8(invocation)
+ 79: 39(ptr) AccessChain 34(data) 37 37 38
+ 80: 17(int8_t) Load 79
+ 81: 17(int8_t) GroupNonUniformBroadcastFirst 42 80
+ 82: 39(ptr) AccessChain 34(data) 78 37 38
+ Store 82 81
+ 83: 6(int) Load 8(invocation)
+ 84: 48(ptr) AccessChain 34(data) 46 37
+ 85: 18(i8vec4) Load 84
+ 86: 47(i8vec2) VectorShuffle 85 85 0 1
+ 87: 47(i8vec2) GroupNonUniformBroadcastFirst 42 86
+ 88: 39(ptr) AccessChain 34(data) 83 37 38
+ 89: 17(int8_t) CompositeExtract 87 0
+ Store 88 89
+ 90: 39(ptr) AccessChain 34(data) 83 37 55
+ 91: 17(int8_t) CompositeExtract 87 1
+ Store 90 91
+ 92: 6(int) Load 8(invocation)
+ 93: 48(ptr) AccessChain 34(data) 59 37
+ 94: 18(i8vec4) Load 93
+ 95: 60(i8vec3) VectorShuffle 94 94 0 1 2
+ 96: 60(i8vec3) GroupNonUniformBroadcastFirst 42 95
+ 97: 39(ptr) AccessChain 34(data) 92 37 38
+ 98: 17(int8_t) CompositeExtract 96 0
+ Store 97 98
+ 99: 39(ptr) AccessChain 34(data) 92 37 55
+ 100: 17(int8_t) CompositeExtract 96 1
+ Store 99 100
+ 101: 39(ptr) AccessChain 34(data) 92 37 69
+ 102: 17(int8_t) CompositeExtract 96 2
+ Store 101 102
+ 103: 6(int) Load 8(invocation)
+ 104: 48(ptr) AccessChain 34(data) 73 37
+ 105: 18(i8vec4) Load 104
+ 106: 18(i8vec4) GroupNonUniformBroadcastFirst 42 105
+ 107: 48(ptr) AccessChain 34(data) 103 37
+ Store 107 106
+ 108: 6(int) Load 8(invocation)
+ 110: 109(ptr) AccessChain 34(data) 37 46 38
+ 111: 19(int8_t) Load 110
+ 112: 19(int8_t) GroupNonUniformBroadcast 42 111 42
+ 113: 109(ptr) AccessChain 34(data) 108 46 38
+ Store 113 112
114: 6(int) Load 8(invocation)
- 116: 106(ptr) AccessChain 34(data) 57 46
- 117: 20(i8vec4) Load 116
- 118: 115(i8vec3) VectorShuffle 117 117 0 1 2
- 119: 115(i8vec3) GroupNonUniformBroadcast 42 118 42
- 120: 106(ptr) AccessChain 34(data) 114 46
- 121: 20(i8vec4) Load 120
- 122: 20(i8vec4) VectorShuffle 121 119 4 5 6 3
- Store 120 122
- 123: 6(int) Load 8(invocation)
- 124: 106(ptr) AccessChain 34(data) 67 46
- 125: 20(i8vec4) Load 124
- 126: 20(i8vec4) GroupNonUniformBroadcast 42 125 42
- 127: 106(ptr) AccessChain 34(data) 123 46
- Store 127 126
- 128: 6(int) Load 8(invocation)
- 129: 99(ptr) AccessChain 34(data) 37 46 38
- 130: 19(int8_t) Load 129
- 131: 19(int8_t) GroupNonUniformBroadcastFirst 42 130
- 132: 99(ptr) AccessChain 34(data) 128 46 38
- Store 132 131
- 133: 6(int) Load 8(invocation)
- 134: 106(ptr) AccessChain 34(data) 46 46
- 135: 20(i8vec4) Load 134
- 136: 105(i8vec2) VectorShuffle 135 135 0 1
- 137: 105(i8vec2) GroupNonUniformBroadcastFirst 42 136
- 138: 106(ptr) AccessChain 34(data) 133 46
+ 117: 116(ptr) AccessChain 34(data) 46 46
+ 118: 20(i8vec4) Load 117
+ 119: 115(i8vec2) VectorShuffle 118 118 0 1
+ 120: 115(i8vec2) GroupNonUniformBroadcast 42 119 42
+ 121: 109(ptr) AccessChain 34(data) 114 46 38
+ 122: 19(int8_t) CompositeExtract 120 0
+ Store 121 122
+ 123: 109(ptr) AccessChain 34(data) 114 46 55
+ 124: 19(int8_t) CompositeExtract 120 1
+ Store 123 124
+ 125: 6(int) Load 8(invocation)
+ 127: 116(ptr) AccessChain 34(data) 59 46
+ 128: 20(i8vec4) Load 127
+ 129: 126(i8vec3) VectorShuffle 128 128 0 1 2
+ 130: 126(i8vec3) GroupNonUniformBroadcast 42 129 42
+ 131: 109(ptr) AccessChain 34(data) 125 46 38
+ 132: 19(int8_t) CompositeExtract 130 0
+ Store 131 132
+ 133: 109(ptr) AccessChain 34(data) 125 46 55
+ 134: 19(int8_t) CompositeExtract 130 1
+ Store 133 134
+ 135: 109(ptr) AccessChain 34(data) 125 46 69
+ 136: 19(int8_t) CompositeExtract 130 2
+ Store 135 136
+ 137: 6(int) Load 8(invocation)
+ 138: 116(ptr) AccessChain 34(data) 73 46
139: 20(i8vec4) Load 138
- 140: 20(i8vec4) VectorShuffle 139 137 4 5 2 3
- Store 138 140
- 141: 6(int) Load 8(invocation)
- 142: 106(ptr) AccessChain 34(data) 57 46
- 143: 20(i8vec4) Load 142
- 144: 115(i8vec3) VectorShuffle 143 143 0 1 2
- 145: 115(i8vec3) GroupNonUniformBroadcastFirst 42 144
- 146: 106(ptr) AccessChain 34(data) 141 46
- 147: 20(i8vec4) Load 146
- 148: 20(i8vec4) VectorShuffle 147 145 4 5 6 3
- Store 146 148
- 149: 6(int) Load 8(invocation)
- 150: 106(ptr) AccessChain 34(data) 67 46
- 151: 20(i8vec4) Load 150
- 152: 20(i8vec4) GroupNonUniformBroadcastFirst 42 151
- 153: 106(ptr) AccessChain 34(data) 149 46
- Store 153 152
- 154: 6(int) Load 8(invocation)
- 156: 155(ptr) AccessChain 34(data) 37 57 38
- 157: 21(int16_t) Load 156
- 158: 21(int16_t) GroupNonUniformBroadcast 42 157 42
- 159: 155(ptr) AccessChain 34(data) 154 57 38
- Store 159 158
- 160: 6(int) Load 8(invocation)
- 163: 162(ptr) AccessChain 34(data) 46 57
- 164: 22(i16vec4) Load 163
- 165:161(i16vec2) VectorShuffle 164 164 0 1
- 166:161(i16vec2) GroupNonUniformBroadcast 42 165 42
- 167: 162(ptr) AccessChain 34(data) 160 57
- 168: 22(i16vec4) Load 167
- 169: 22(i16vec4) VectorShuffle 168 166 4 5 2 3
- Store 167 169
- 170: 6(int) Load 8(invocation)
- 172: 162(ptr) AccessChain 34(data) 57 57
- 173: 22(i16vec4) Load 172
- 174:171(i16vec3) VectorShuffle 173 173 0 1 2
- 175:171(i16vec3) GroupNonUniformBroadcast 42 174 42
- 176: 162(ptr) AccessChain 34(data) 170 57
- 177: 22(i16vec4) Load 176
- 178: 22(i16vec4) VectorShuffle 177 175 4 5 6 3
- Store 176 178
- 179: 6(int) Load 8(invocation)
- 180: 162(ptr) AccessChain 34(data) 67 57
- 181: 22(i16vec4) Load 180
- 182: 22(i16vec4) GroupNonUniformBroadcast 42 181 42
- 183: 162(ptr) AccessChain 34(data) 179 57
- Store 183 182
- 184: 6(int) Load 8(invocation)
- 185: 155(ptr) AccessChain 34(data) 37 57 38
- 186: 21(int16_t) Load 185
- 187: 21(int16_t) GroupNonUniformBroadcastFirst 42 186
- 188: 155(ptr) AccessChain 34(data) 184 57 38
- Store 188 187
+ 140: 20(i8vec4) GroupNonUniformBroadcast 42 139 42
+ 141: 116(ptr) AccessChain 34(data) 137 46
+ Store 141 140
+ 142: 6(int) Load 8(invocation)
+ 143: 109(ptr) AccessChain 34(data) 37 46 38
+ 144: 19(int8_t) Load 143
+ 145: 19(int8_t) GroupNonUniformBroadcastFirst 42 144
+ 146: 109(ptr) AccessChain 34(data) 142 46 38
+ Store 146 145
+ 147: 6(int) Load 8(invocation)
+ 148: 116(ptr) AccessChain 34(data) 46 46
+ 149: 20(i8vec4) Load 148
+ 150: 115(i8vec2) VectorShuffle 149 149 0 1
+ 151: 115(i8vec2) GroupNonUniformBroadcastFirst 42 150
+ 152: 109(ptr) AccessChain 34(data) 147 46 38
+ 153: 19(int8_t) CompositeExtract 151 0
+ Store 152 153
+ 154: 109(ptr) AccessChain 34(data) 147 46 55
+ 155: 19(int8_t) CompositeExtract 151 1
+ Store 154 155
+ 156: 6(int) Load 8(invocation)
+ 157: 116(ptr) AccessChain 34(data) 59 46
+ 158: 20(i8vec4) Load 157
+ 159: 126(i8vec3) VectorShuffle 158 158 0 1 2
+ 160: 126(i8vec3) GroupNonUniformBroadcastFirst 42 159
+ 161: 109(ptr) AccessChain 34(data) 156 46 38
+ 162: 19(int8_t) CompositeExtract 160 0
+ Store 161 162
+ 163: 109(ptr) AccessChain 34(data) 156 46 55
+ 164: 19(int8_t) CompositeExtract 160 1
+ Store 163 164
+ 165: 109(ptr) AccessChain 34(data) 156 46 69
+ 166: 19(int8_t) CompositeExtract 160 2
+ Store 165 166
+ 167: 6(int) Load 8(invocation)
+ 168: 116(ptr) AccessChain 34(data) 73 46
+ 169: 20(i8vec4) Load 168
+ 170: 20(i8vec4) GroupNonUniformBroadcastFirst 42 169
+ 171: 116(ptr) AccessChain 34(data) 167 46
+ Store 171 170
+ 172: 6(int) Load 8(invocation)
+ 174: 173(ptr) AccessChain 34(data) 37 59 38
+ 175: 21(int16_t) Load 174
+ 176: 21(int16_t) GroupNonUniformBroadcast 42 175 42
+ 177: 173(ptr) AccessChain 34(data) 172 59 38
+ Store 177 176
+ 178: 6(int) Load 8(invocation)
+ 181: 180(ptr) AccessChain 34(data) 46 59
+ 182: 22(i16vec4) Load 181
+ 183:179(i16vec2) VectorShuffle 182 182 0 1
+ 184:179(i16vec2) GroupNonUniformBroadcast 42 183 42
+ 185: 173(ptr) AccessChain 34(data) 178 59 38
+ 186: 21(int16_t) CompositeExtract 184 0
+ Store 185 186
+ 187: 173(ptr) AccessChain 34(data) 178 59 55
+ 188: 21(int16_t) CompositeExtract 184 1
+ Store 187 188
189: 6(int) Load 8(invocation)
- 190: 162(ptr) AccessChain 34(data) 46 57
- 191: 22(i16vec4) Load 190
- 192:161(i16vec2) VectorShuffle 191 191 0 1
- 193:161(i16vec2) GroupNonUniformBroadcastFirst 42 192
- 194: 162(ptr) AccessChain 34(data) 189 57
- 195: 22(i16vec4) Load 194
- 196: 22(i16vec4) VectorShuffle 195 193 4 5 2 3
- Store 194 196
- 197: 6(int) Load 8(invocation)
- 198: 162(ptr) AccessChain 34(data) 57 57
- 199: 22(i16vec4) Load 198
- 200:171(i16vec3) VectorShuffle 199 199 0 1 2
- 201:171(i16vec3) GroupNonUniformBroadcastFirst 42 200
- 202: 162(ptr) AccessChain 34(data) 197 57
+ 191: 180(ptr) AccessChain 34(data) 59 59
+ 192: 22(i16vec4) Load 191
+ 193:190(i16vec3) VectorShuffle 192 192 0 1 2
+ 194:190(i16vec3) GroupNonUniformBroadcast 42 193 42
+ 195: 173(ptr) AccessChain 34(data) 189 59 38
+ 196: 21(int16_t) CompositeExtract 194 0
+ Store 195 196
+ 197: 173(ptr) AccessChain 34(data) 189 59 55
+ 198: 21(int16_t) CompositeExtract 194 1
+ Store 197 198
+ 199: 173(ptr) AccessChain 34(data) 189 59 69
+ 200: 21(int16_t) CompositeExtract 194 2
+ Store 199 200
+ 201: 6(int) Load 8(invocation)
+ 202: 180(ptr) AccessChain 34(data) 73 59
203: 22(i16vec4) Load 202
- 204: 22(i16vec4) VectorShuffle 203 201 4 5 6 3
- Store 202 204
- 205: 6(int) Load 8(invocation)
- 206: 162(ptr) AccessChain 34(data) 67 57
- 207: 22(i16vec4) Load 206
- 208: 22(i16vec4) GroupNonUniformBroadcastFirst 42 207
- 209: 162(ptr) AccessChain 34(data) 205 57
- Store 209 208
- 210: 6(int) Load 8(invocation)
- 212: 211(ptr) AccessChain 34(data) 37 67 38
- 213: 23(int16_t) Load 212
- 214: 23(int16_t) GroupNonUniformBroadcast 42 213 42
- 215: 211(ptr) AccessChain 34(data) 210 67 38
- Store 215 214
- 216: 6(int) Load 8(invocation)
- 219: 218(ptr) AccessChain 34(data) 46 67
- 220: 24(i16vec4) Load 219
- 221:217(i16vec2) VectorShuffle 220 220 0 1
- 222:217(i16vec2) GroupNonUniformBroadcast 42 221 42
- 223: 218(ptr) AccessChain 34(data) 216 67
- 224: 24(i16vec4) Load 223
- 225: 24(i16vec4) VectorShuffle 224 222 4 5 2 3
- Store 223 225
- 226: 6(int) Load 8(invocation)
- 228: 218(ptr) AccessChain 34(data) 57 67
- 229: 24(i16vec4) Load 228
- 230:227(i16vec3) VectorShuffle 229 229 0 1 2
- 231:227(i16vec3) GroupNonUniformBroadcast 42 230 42
- 232: 218(ptr) AccessChain 34(data) 226 67
- 233: 24(i16vec4) Load 232
- 234: 24(i16vec4) VectorShuffle 233 231 4 5 6 3
- Store 232 234
- 235: 6(int) Load 8(invocation)
- 236: 218(ptr) AccessChain 34(data) 67 67
- 237: 24(i16vec4) Load 236
- 238: 24(i16vec4) GroupNonUniformBroadcast 42 237 42
- 239: 218(ptr) AccessChain 34(data) 235 67
- Store 239 238
- 240: 6(int) Load 8(invocation)
- 241: 211(ptr) AccessChain 34(data) 37 67 38
- 242: 23(int16_t) Load 241
- 243: 23(int16_t) GroupNonUniformBroadcastFirst 42 242
- 244: 211(ptr) AccessChain 34(data) 240 67 38
- Store 244 243
- 245: 6(int) Load 8(invocation)
- 246: 218(ptr) AccessChain 34(data) 46 67
- 247: 24(i16vec4) Load 246
- 248:217(i16vec2) VectorShuffle 247 247 0 1
- 249:217(i16vec2) GroupNonUniformBroadcastFirst 42 248
- 250: 218(ptr) AccessChain 34(data) 245 67
- 251: 24(i16vec4) Load 250
- 252: 24(i16vec4) VectorShuffle 251 249 4 5 2 3
- Store 250 252
+ 204: 22(i16vec4) GroupNonUniformBroadcast 42 203 42
+ 205: 180(ptr) AccessChain 34(data) 201 59
+ Store 205 204
+ 206: 6(int) Load 8(invocation)
+ 207: 173(ptr) AccessChain 34(data) 37 59 38
+ 208: 21(int16_t) Load 207
+ 209: 21(int16_t) GroupNonUniformBroadcastFirst 42 208
+ 210: 173(ptr) AccessChain 34(data) 206 59 38
+ Store 210 209
+ 211: 6(int) Load 8(invocation)
+ 212: 180(ptr) AccessChain 34(data) 46 59
+ 213: 22(i16vec4) Load 212
+ 214:179(i16vec2) VectorShuffle 213 213 0 1
+ 215:179(i16vec2) GroupNonUniformBroadcastFirst 42 214
+ 216: 173(ptr) AccessChain 34(data) 211 59 38
+ 217: 21(int16_t) CompositeExtract 215 0
+ Store 216 217
+ 218: 173(ptr) AccessChain 34(data) 211 59 55
+ 219: 21(int16_t) CompositeExtract 215 1
+ Store 218 219
+ 220: 6(int) Load 8(invocation)
+ 221: 180(ptr) AccessChain 34(data) 59 59
+ 222: 22(i16vec4) Load 221
+ 223:190(i16vec3) VectorShuffle 222 222 0 1 2
+ 224:190(i16vec3) GroupNonUniformBroadcastFirst 42 223
+ 225: 173(ptr) AccessChain 34(data) 220 59 38
+ 226: 21(int16_t) CompositeExtract 224 0
+ Store 225 226
+ 227: 173(ptr) AccessChain 34(data) 220 59 55
+ 228: 21(int16_t) CompositeExtract 224 1
+ Store 227 228
+ 229: 173(ptr) AccessChain 34(data) 220 59 69
+ 230: 21(int16_t) CompositeExtract 224 2
+ Store 229 230
+ 231: 6(int) Load 8(invocation)
+ 232: 180(ptr) AccessChain 34(data) 73 59
+ 233: 22(i16vec4) Load 232
+ 234: 22(i16vec4) GroupNonUniformBroadcastFirst 42 233
+ 235: 180(ptr) AccessChain 34(data) 231 59
+ Store 235 234
+ 236: 6(int) Load 8(invocation)
+ 238: 237(ptr) AccessChain 34(data) 37 73 38
+ 239: 23(int16_t) Load 238
+ 240: 23(int16_t) GroupNonUniformBroadcast 42 239 42
+ 241: 237(ptr) AccessChain 34(data) 236 73 38
+ Store 241 240
+ 242: 6(int) Load 8(invocation)
+ 245: 244(ptr) AccessChain 34(data) 46 73
+ 246: 24(i16vec4) Load 245
+ 247:243(i16vec2) VectorShuffle 246 246 0 1
+ 248:243(i16vec2) GroupNonUniformBroadcast 42 247 42
+ 249: 237(ptr) AccessChain 34(data) 242 73 38
+ 250: 23(int16_t) CompositeExtract 248 0
+ Store 249 250
+ 251: 237(ptr) AccessChain 34(data) 242 73 55
+ 252: 23(int16_t) CompositeExtract 248 1
+ Store 251 252
253: 6(int) Load 8(invocation)
- 254: 218(ptr) AccessChain 34(data) 57 67
- 255: 24(i16vec4) Load 254
- 256:227(i16vec3) VectorShuffle 255 255 0 1 2
- 257:227(i16vec3) GroupNonUniformBroadcastFirst 42 256
- 258: 218(ptr) AccessChain 34(data) 253 67
- 259: 24(i16vec4) Load 258
- 260: 24(i16vec4) VectorShuffle 259 257 4 5 6 3
- Store 258 260
- 261: 6(int) Load 8(invocation)
- 262: 218(ptr) AccessChain 34(data) 67 67
- 263: 24(i16vec4) Load 262
- 264: 24(i16vec4) GroupNonUniformBroadcastFirst 42 263
- 265: 218(ptr) AccessChain 34(data) 261 67
- Store 265 264
- 266: 6(int) Load 8(invocation)
- 269: 268(ptr) AccessChain 34(data) 37 267 38
- 270: 25(int64_t) Load 269
- 271: 25(int64_t) GroupNonUniformBroadcast 42 270 42
- 272: 268(ptr) AccessChain 34(data) 266 267 38
- Store 272 271
- 273: 6(int) Load 8(invocation)
- 276: 275(ptr) AccessChain 34(data) 46 267
- 277: 26(i64vec4) Load 276
- 278:274(i64vec2) VectorShuffle 277 277 0 1
- 279:274(i64vec2) GroupNonUniformBroadcast 42 278 42
- 280: 275(ptr) AccessChain 34(data) 273 267
- 281: 26(i64vec4) Load 280
- 282: 26(i64vec4) VectorShuffle 281 279 4 5 2 3
- Store 280 282
- 283: 6(int) Load 8(invocation)
- 285: 275(ptr) AccessChain 34(data) 57 267
- 286: 26(i64vec4) Load 285
- 287:284(i64vec3) VectorShuffle 286 286 0 1 2
- 288:284(i64vec3) GroupNonUniformBroadcast 42 287 42
- 289: 275(ptr) AccessChain 34(data) 283 267
- 290: 26(i64vec4) Load 289
- 291: 26(i64vec4) VectorShuffle 290 288 4 5 6 3
- Store 289 291
- 292: 6(int) Load 8(invocation)
- 293: 275(ptr) AccessChain 34(data) 67 267
- 294: 26(i64vec4) Load 293
- 295: 26(i64vec4) GroupNonUniformBroadcast 42 294 42
- 296: 275(ptr) AccessChain 34(data) 292 267
- Store 296 295
- 297: 6(int) Load 8(invocation)
- 298: 268(ptr) AccessChain 34(data) 37 267 38
- 299: 25(int64_t) Load 298
- 300: 25(int64_t) GroupNonUniformBroadcastFirst 42 299
- 301: 268(ptr) AccessChain 34(data) 297 267 38
- Store 301 300
- 302: 6(int) Load 8(invocation)
- 303: 275(ptr) AccessChain 34(data) 46 267
- 304: 26(i64vec4) Load 303
- 305:274(i64vec2) VectorShuffle 304 304 0 1
- 306:274(i64vec2) GroupNonUniformBroadcastFirst 42 305
- 307: 275(ptr) AccessChain 34(data) 302 267
- 308: 26(i64vec4) Load 307
- 309: 26(i64vec4) VectorShuffle 308 306 4 5 2 3
- Store 307 309
- 310: 6(int) Load 8(invocation)
- 311: 275(ptr) AccessChain 34(data) 57 267
- 312: 26(i64vec4) Load 311
- 313:284(i64vec3) VectorShuffle 312 312 0 1 2
- 314:284(i64vec3) GroupNonUniformBroadcastFirst 42 313
- 315: 275(ptr) AccessChain 34(data) 310 267
- 316: 26(i64vec4) Load 315
- 317: 26(i64vec4) VectorShuffle 316 314 4 5 6 3
- Store 315 317
+ 255: 244(ptr) AccessChain 34(data) 59 73
+ 256: 24(i16vec4) Load 255
+ 257:254(i16vec3) VectorShuffle 256 256 0 1 2
+ 258:254(i16vec3) GroupNonUniformBroadcast 42 257 42
+ 259: 237(ptr) AccessChain 34(data) 253 73 38
+ 260: 23(int16_t) CompositeExtract 258 0
+ Store 259 260
+ 261: 237(ptr) AccessChain 34(data) 253 73 55
+ 262: 23(int16_t) CompositeExtract 258 1
+ Store 261 262
+ 263: 237(ptr) AccessChain 34(data) 253 73 69
+ 264: 23(int16_t) CompositeExtract 258 2
+ Store 263 264
+ 265: 6(int) Load 8(invocation)
+ 266: 244(ptr) AccessChain 34(data) 73 73
+ 267: 24(i16vec4) Load 266
+ 268: 24(i16vec4) GroupNonUniformBroadcast 42 267 42
+ 269: 244(ptr) AccessChain 34(data) 265 73
+ Store 269 268
+ 270: 6(int) Load 8(invocation)
+ 271: 237(ptr) AccessChain 34(data) 37 73 38
+ 272: 23(int16_t) Load 271
+ 273: 23(int16_t) GroupNonUniformBroadcastFirst 42 272
+ 274: 237(ptr) AccessChain 34(data) 270 73 38
+ Store 274 273
+ 275: 6(int) Load 8(invocation)
+ 276: 244(ptr) AccessChain 34(data) 46 73
+ 277: 24(i16vec4) Load 276
+ 278:243(i16vec2) VectorShuffle 277 277 0 1
+ 279:243(i16vec2) GroupNonUniformBroadcastFirst 42 278
+ 280: 237(ptr) AccessChain 34(data) 275 73 38
+ 281: 23(int16_t) CompositeExtract 279 0
+ Store 280 281
+ 282: 237(ptr) AccessChain 34(data) 275 73 55
+ 283: 23(int16_t) CompositeExtract 279 1
+ Store 282 283
+ 284: 6(int) Load 8(invocation)
+ 285: 244(ptr) AccessChain 34(data) 59 73
+ 286: 24(i16vec4) Load 285
+ 287:254(i16vec3) VectorShuffle 286 286 0 1 2
+ 288:254(i16vec3) GroupNonUniformBroadcastFirst 42 287
+ 289: 237(ptr) AccessChain 34(data) 284 73 38
+ 290: 23(int16_t) CompositeExtract 288 0
+ Store 289 290
+ 291: 237(ptr) AccessChain 34(data) 284 73 55
+ 292: 23(int16_t) CompositeExtract 288 1
+ Store 291 292
+ 293: 237(ptr) AccessChain 34(data) 284 73 69
+ 294: 23(int16_t) CompositeExtract 288 2
+ Store 293 294
+ 295: 6(int) Load 8(invocation)
+ 296: 244(ptr) AccessChain 34(data) 73 73
+ 297: 24(i16vec4) Load 296
+ 298: 24(i16vec4) GroupNonUniformBroadcastFirst 42 297
+ 299: 244(ptr) AccessChain 34(data) 295 73
+ Store 299 298
+ 300: 6(int) Load 8(invocation)
+ 303: 302(ptr) AccessChain 34(data) 37 301 38
+ 304: 25(int64_t) Load 303
+ 305: 25(int64_t) GroupNonUniformBroadcast 42 304 42
+ 306: 302(ptr) AccessChain 34(data) 300 301 38
+ Store 306 305
+ 307: 6(int) Load 8(invocation)
+ 310: 309(ptr) AccessChain 34(data) 46 301
+ 311: 26(i64vec4) Load 310
+ 312:308(i64vec2) VectorShuffle 311 311 0 1
+ 313:308(i64vec2) GroupNonUniformBroadcast 42 312 42
+ 314: 302(ptr) AccessChain 34(data) 307 301 38
+ 315: 25(int64_t) CompositeExtract 313 0
+ Store 314 315
+ 316: 302(ptr) AccessChain 34(data) 307 301 55
+ 317: 25(int64_t) CompositeExtract 313 1
+ Store 316 317
318: 6(int) Load 8(invocation)
- 319: 275(ptr) AccessChain 34(data) 67 267
- 320: 26(i64vec4) Load 319
- 321: 26(i64vec4) GroupNonUniformBroadcastFirst 42 320
- 322: 275(ptr) AccessChain 34(data) 318 267
- Store 322 321
- 323: 6(int) Load 8(invocation)
- 326: 325(ptr) AccessChain 34(data) 37 324 38
- 327: 27(int64_t) Load 326
- 328: 27(int64_t) GroupNonUniformBroadcast 42 327 42
- 329: 325(ptr) AccessChain 34(data) 323 324 38
- Store 329 328
+ 320: 309(ptr) AccessChain 34(data) 59 301
+ 321: 26(i64vec4) Load 320
+ 322:319(i64vec3) VectorShuffle 321 321 0 1 2
+ 323:319(i64vec3) GroupNonUniformBroadcast 42 322 42
+ 324: 302(ptr) AccessChain 34(data) 318 301 38
+ 325: 25(int64_t) CompositeExtract 323 0
+ Store 324 325
+ 326: 302(ptr) AccessChain 34(data) 318 301 55
+ 327: 25(int64_t) CompositeExtract 323 1
+ Store 326 327
+ 328: 302(ptr) AccessChain 34(data) 318 301 69
+ 329: 25(int64_t) CompositeExtract 323 2
+ Store 328 329
330: 6(int) Load 8(invocation)
- 333: 332(ptr) AccessChain 34(data) 46 324
- 334: 28(i64vec4) Load 333
- 335:331(i64vec2) VectorShuffle 334 334 0 1
- 336:331(i64vec2) GroupNonUniformBroadcast 42 335 42
- 337: 332(ptr) AccessChain 34(data) 330 324
- 338: 28(i64vec4) Load 337
- 339: 28(i64vec4) VectorShuffle 338 336 4 5 2 3
- Store 337 339
+ 331: 309(ptr) AccessChain 34(data) 73 301
+ 332: 26(i64vec4) Load 331
+ 333: 26(i64vec4) GroupNonUniformBroadcast 42 332 42
+ 334: 309(ptr) AccessChain 34(data) 330 301
+ Store 334 333
+ 335: 6(int) Load 8(invocation)
+ 336: 302(ptr) AccessChain 34(data) 37 301 38
+ 337: 25(int64_t) Load 336
+ 338: 25(int64_t) GroupNonUniformBroadcastFirst 42 337
+ 339: 302(ptr) AccessChain 34(data) 335 301 38
+ Store 339 338
340: 6(int) Load 8(invocation)
- 342: 332(ptr) AccessChain 34(data) 57 324
- 343: 28(i64vec4) Load 342
- 344:341(i64vec3) VectorShuffle 343 343 0 1 2
- 345:341(i64vec3) GroupNonUniformBroadcast 42 344 42
- 346: 332(ptr) AccessChain 34(data) 340 324
- 347: 28(i64vec4) Load 346
- 348: 28(i64vec4) VectorShuffle 347 345 4 5 6 3
- Store 346 348
+ 341: 309(ptr) AccessChain 34(data) 46 301
+ 342: 26(i64vec4) Load 341
+ 343:308(i64vec2) VectorShuffle 342 342 0 1
+ 344:308(i64vec2) GroupNonUniformBroadcastFirst 42 343
+ 345: 302(ptr) AccessChain 34(data) 340 301 38
+ 346: 25(int64_t) CompositeExtract 344 0
+ Store 345 346
+ 347: 302(ptr) AccessChain 34(data) 340 301 55
+ 348: 25(int64_t) CompositeExtract 344 1
+ Store 347 348
349: 6(int) Load 8(invocation)
- 350: 332(ptr) AccessChain 34(data) 67 324
- 351: 28(i64vec4) Load 350
- 352: 28(i64vec4) GroupNonUniformBroadcast 42 351 42
- 353: 332(ptr) AccessChain 34(data) 349 324
- Store 353 352
- 354: 6(int) Load 8(invocation)
- 355: 325(ptr) AccessChain 34(data) 37 324 38
- 356: 27(int64_t) Load 355
- 357: 27(int64_t) GroupNonUniformBroadcastFirst 42 356
- 358: 325(ptr) AccessChain 34(data) 354 324 38
- Store 358 357
- 359: 6(int) Load 8(invocation)
- 360: 332(ptr) AccessChain 34(data) 46 324
- 361: 28(i64vec4) Load 360
- 362:331(i64vec2) VectorShuffle 361 361 0 1
- 363:331(i64vec2) GroupNonUniformBroadcastFirst 42 362
- 364: 332(ptr) AccessChain 34(data) 359 324
- 365: 28(i64vec4) Load 364
- 366: 28(i64vec4) VectorShuffle 365 363 4 5 2 3
- Store 364 366
- 367: 6(int) Load 8(invocation)
- 368: 332(ptr) AccessChain 34(data) 57 324
- 369: 28(i64vec4) Load 368
- 370:341(i64vec3) VectorShuffle 369 369 0 1 2
- 371:341(i64vec3) GroupNonUniformBroadcastFirst 42 370
- 372: 332(ptr) AccessChain 34(data) 367 324
- 373: 28(i64vec4) Load 372
- 374: 28(i64vec4) VectorShuffle 373 371 4 5 6 3
- Store 372 374
- 375: 6(int) Load 8(invocation)
- 376: 332(ptr) AccessChain 34(data) 67 324
- 377: 28(i64vec4) Load 376
- 378: 28(i64vec4) GroupNonUniformBroadcastFirst 42 377
- 379: 332(ptr) AccessChain 34(data) 375 324
- Store 379 378
- 380: 6(int) Load 8(invocation)
- 383: 382(ptr) AccessChain 34(data) 37 381 38
- 384:29(float16_t) Load 383
- 385:29(float16_t) GroupNonUniformBroadcast 42 384 42
- 386: 382(ptr) AccessChain 34(data) 380 381 38
- Store 386 385
- 387: 6(int) Load 8(invocation)
- 390: 389(ptr) AccessChain 34(data) 46 381
- 391: 30(f16vec4) Load 390
- 392:388(f16vec2) VectorShuffle 391 391 0 1
- 393:388(f16vec2) GroupNonUniformBroadcast 42 392 42
- 394: 389(ptr) AccessChain 34(data) 387 381
- 395: 30(f16vec4) Load 394
- 396: 30(f16vec4) VectorShuffle 395 393 4 5 2 3
- Store 394 396
- 397: 6(int) Load 8(invocation)
- 399: 389(ptr) AccessChain 34(data) 57 381
- 400: 30(f16vec4) Load 399
- 401:398(f16vec3) VectorShuffle 400 400 0 1 2
- 402:398(f16vec3) GroupNonUniformBroadcast 42 401 42
- 403: 389(ptr) AccessChain 34(data) 397 381
- 404: 30(f16vec4) Load 403
- 405: 30(f16vec4) VectorShuffle 404 402 4 5 6 3
- Store 403 405
- 406: 6(int) Load 8(invocation)
- 407: 389(ptr) AccessChain 34(data) 67 381
- 408: 30(f16vec4) Load 407
- 409: 30(f16vec4) GroupNonUniformBroadcast 42 408 42
- 410: 389(ptr) AccessChain 34(data) 406 381
- Store 410 409
- 411: 6(int) Load 8(invocation)
- 412: 382(ptr) AccessChain 34(data) 37 381 38
- 413:29(float16_t) Load 412
- 414:29(float16_t) GroupNonUniformBroadcastFirst 42 413
- 415: 382(ptr) AccessChain 34(data) 411 381 38
- Store 415 414
- 416: 6(int) Load 8(invocation)
- 417: 389(ptr) AccessChain 34(data) 46 381
- 418: 30(f16vec4) Load 417
- 419:388(f16vec2) VectorShuffle 418 418 0 1
- 420:388(f16vec2) GroupNonUniformBroadcastFirst 42 419
- 421: 389(ptr) AccessChain 34(data) 416 381
- 422: 30(f16vec4) Load 421
- 423: 30(f16vec4) VectorShuffle 422 420 4 5 2 3
- Store 421 423
- 424: 6(int) Load 8(invocation)
- 425: 389(ptr) AccessChain 34(data) 57 381
- 426: 30(f16vec4) Load 425
- 427:398(f16vec3) VectorShuffle 426 426 0 1 2
- 428:398(f16vec3) GroupNonUniformBroadcastFirst 42 427
- 429: 389(ptr) AccessChain 34(data) 424 381
- 430: 30(f16vec4) Load 429
- 431: 30(f16vec4) VectorShuffle 430 428 4 5 6 3
- Store 429 431
- 432: 6(int) Load 8(invocation)
- 433: 389(ptr) AccessChain 34(data) 67 381
- 434: 30(f16vec4) Load 433
- 435: 30(f16vec4) GroupNonUniformBroadcastFirst 42 434
- 436: 389(ptr) AccessChain 34(data) 432 381
+ 350: 309(ptr) AccessChain 34(data) 59 301
+ 351: 26(i64vec4) Load 350
+ 352:319(i64vec3) VectorShuffle 351 351 0 1 2
+ 353:319(i64vec3) GroupNonUniformBroadcastFirst 42 352
+ 354: 302(ptr) AccessChain 34(data) 349 301 38
+ 355: 25(int64_t) CompositeExtract 353 0
+ Store 354 355
+ 356: 302(ptr) AccessChain 34(data) 349 301 55
+ 357: 25(int64_t) CompositeExtract 353 1
+ Store 356 357
+ 358: 302(ptr) AccessChain 34(data) 349 301 69
+ 359: 25(int64_t) CompositeExtract 353 2
+ Store 358 359
+ 360: 6(int) Load 8(invocation)
+ 361: 309(ptr) AccessChain 34(data) 73 301
+ 362: 26(i64vec4) Load 361
+ 363: 26(i64vec4) GroupNonUniformBroadcastFirst 42 362
+ 364: 309(ptr) AccessChain 34(data) 360 301
+ Store 364 363
+ 365: 6(int) Load 8(invocation)
+ 368: 367(ptr) AccessChain 34(data) 37 366 38
+ 369: 27(int64_t) Load 368
+ 370: 27(int64_t) GroupNonUniformBroadcast 42 369 42
+ 371: 367(ptr) AccessChain 34(data) 365 366 38
+ Store 371 370
+ 372: 6(int) Load 8(invocation)
+ 375: 374(ptr) AccessChain 34(data) 46 366
+ 376: 28(i64vec4) Load 375
+ 377:373(i64vec2) VectorShuffle 376 376 0 1
+ 378:373(i64vec2) GroupNonUniformBroadcast 42 377 42
+ 379: 367(ptr) AccessChain 34(data) 372 366 38
+ 380: 27(int64_t) CompositeExtract 378 0
+ Store 379 380
+ 381: 367(ptr) AccessChain 34(data) 372 366 55
+ 382: 27(int64_t) CompositeExtract 378 1
+ Store 381 382
+ 383: 6(int) Load 8(invocation)
+ 385: 374(ptr) AccessChain 34(data) 59 366
+ 386: 28(i64vec4) Load 385
+ 387:384(i64vec3) VectorShuffle 386 386 0 1 2
+ 388:384(i64vec3) GroupNonUniformBroadcast 42 387 42
+ 389: 367(ptr) AccessChain 34(data) 383 366 38
+ 390: 27(int64_t) CompositeExtract 388 0
+ Store 389 390
+ 391: 367(ptr) AccessChain 34(data) 383 366 55
+ 392: 27(int64_t) CompositeExtract 388 1
+ Store 391 392
+ 393: 367(ptr) AccessChain 34(data) 383 366 69
+ 394: 27(int64_t) CompositeExtract 388 2
+ Store 393 394
+ 395: 6(int) Load 8(invocation)
+ 396: 374(ptr) AccessChain 34(data) 73 366
+ 397: 28(i64vec4) Load 396
+ 398: 28(i64vec4) GroupNonUniformBroadcast 42 397 42
+ 399: 374(ptr) AccessChain 34(data) 395 366
+ Store 399 398
+ 400: 6(int) Load 8(invocation)
+ 401: 367(ptr) AccessChain 34(data) 37 366 38
+ 402: 27(int64_t) Load 401
+ 403: 27(int64_t) GroupNonUniformBroadcastFirst 42 402
+ 404: 367(ptr) AccessChain 34(data) 400 366 38
+ Store 404 403
+ 405: 6(int) Load 8(invocation)
+ 406: 374(ptr) AccessChain 34(data) 46 366
+ 407: 28(i64vec4) Load 406
+ 408:373(i64vec2) VectorShuffle 407 407 0 1
+ 409:373(i64vec2) GroupNonUniformBroadcastFirst 42 408
+ 410: 367(ptr) AccessChain 34(data) 405 366 38
+ 411: 27(int64_t) CompositeExtract 409 0
+ Store 410 411
+ 412: 367(ptr) AccessChain 34(data) 405 366 55
+ 413: 27(int64_t) CompositeExtract 409 1
+ Store 412 413
+ 414: 6(int) Load 8(invocation)
+ 415: 374(ptr) AccessChain 34(data) 59 366
+ 416: 28(i64vec4) Load 415
+ 417:384(i64vec3) VectorShuffle 416 416 0 1 2
+ 418:384(i64vec3) GroupNonUniformBroadcastFirst 42 417
+ 419: 367(ptr) AccessChain 34(data) 414 366 38
+ 420: 27(int64_t) CompositeExtract 418 0
+ Store 419 420
+ 421: 367(ptr) AccessChain 34(data) 414 366 55
+ 422: 27(int64_t) CompositeExtract 418 1
+ Store 421 422
+ 423: 367(ptr) AccessChain 34(data) 414 366 69
+ 424: 27(int64_t) CompositeExtract 418 2
+ Store 423 424
+ 425: 6(int) Load 8(invocation)
+ 426: 374(ptr) AccessChain 34(data) 73 366
+ 427: 28(i64vec4) Load 426
+ 428: 28(i64vec4) GroupNonUniformBroadcastFirst 42 427
+ 429: 374(ptr) AccessChain 34(data) 425 366
+ Store 429 428
+ 430: 6(int) Load 8(invocation)
+ 433: 432(ptr) AccessChain 34(data) 37 431 38
+ 434:29(float16_t) Load 433
+ 435:29(float16_t) GroupNonUniformBroadcast 42 434 42
+ 436: 432(ptr) AccessChain 34(data) 430 431 38
Store 436 435
+ 437: 6(int) Load 8(invocation)
+ 440: 439(ptr) AccessChain 34(data) 46 431
+ 441: 30(f16vec4) Load 440
+ 442:438(f16vec2) VectorShuffle 441 441 0 1
+ 443:438(f16vec2) GroupNonUniformBroadcast 42 442 42
+ 444: 432(ptr) AccessChain 34(data) 437 431 38
+ 445:29(float16_t) CompositeExtract 443 0
+ Store 444 445
+ 446: 432(ptr) AccessChain 34(data) 437 431 55
+ 447:29(float16_t) CompositeExtract 443 1
+ Store 446 447
+ 448: 6(int) Load 8(invocation)
+ 450: 439(ptr) AccessChain 34(data) 59 431
+ 451: 30(f16vec4) Load 450
+ 452:449(f16vec3) VectorShuffle 451 451 0 1 2
+ 453:449(f16vec3) GroupNonUniformBroadcast 42 452 42
+ 454: 432(ptr) AccessChain 34(data) 448 431 38
+ 455:29(float16_t) CompositeExtract 453 0
+ Store 454 455
+ 456: 432(ptr) AccessChain 34(data) 448 431 55
+ 457:29(float16_t) CompositeExtract 453 1
+ Store 456 457
+ 458: 432(ptr) AccessChain 34(data) 448 431 69
+ 459:29(float16_t) CompositeExtract 453 2
+ Store 458 459
+ 460: 6(int) Load 8(invocation)
+ 461: 439(ptr) AccessChain 34(data) 73 431
+ 462: 30(f16vec4) Load 461
+ 463: 30(f16vec4) GroupNonUniformBroadcast 42 462 42
+ 464: 439(ptr) AccessChain 34(data) 460 431
+ Store 464 463
+ 465: 6(int) Load 8(invocation)
+ 466: 432(ptr) AccessChain 34(data) 37 431 38
+ 467:29(float16_t) Load 466
+ 468:29(float16_t) GroupNonUniformBroadcastFirst 42 467
+ 469: 432(ptr) AccessChain 34(data) 465 431 38
+ Store 469 468
+ 470: 6(int) Load 8(invocation)
+ 471: 439(ptr) AccessChain 34(data) 46 431
+ 472: 30(f16vec4) Load 471
+ 473:438(f16vec2) VectorShuffle 472 472 0 1
+ 474:438(f16vec2) GroupNonUniformBroadcastFirst 42 473
+ 475: 432(ptr) AccessChain 34(data) 470 431 38
+ 476:29(float16_t) CompositeExtract 474 0
+ Store 475 476
+ 477: 432(ptr) AccessChain 34(data) 470 431 55
+ 478:29(float16_t) CompositeExtract 474 1
+ Store 477 478
+ 479: 6(int) Load 8(invocation)
+ 480: 439(ptr) AccessChain 34(data) 59 431
+ 481: 30(f16vec4) Load 480
+ 482:449(f16vec3) VectorShuffle 481 481 0 1 2
+ 483:449(f16vec3) GroupNonUniformBroadcastFirst 42 482
+ 484: 432(ptr) AccessChain 34(data) 479 431 38
+ 485:29(float16_t) CompositeExtract 483 0
+ Store 484 485
+ 486: 432(ptr) AccessChain 34(data) 479 431 55
+ 487:29(float16_t) CompositeExtract 483 1
+ Store 486 487
+ 488: 432(ptr) AccessChain 34(data) 479 431 69
+ 489:29(float16_t) CompositeExtract 483 2
+ Store 488 489
+ 490: 6(int) Load 8(invocation)
+ 491: 439(ptr) AccessChain 34(data) 73 431
+ 492: 30(f16vec4) Load 491
+ 493: 30(f16vec4) GroupNonUniformBroadcastFirst 42 492
+ 494: 439(ptr) AccessChain 34(data) 490 431
+ Store 494 493
Return
FunctionEnd
diff --git a/Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out b/Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out
index 2f4393a..98a7a89 100644
--- a/Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out
+++ b/Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out
@@ -1,7 +1,7 @@
spv.subgroupExtendedTypesClustered.comp
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 1273
+// Id's are bound by 1458
Capability Shader
Capability Float16
@@ -59,7 +59,7 @@
Decorate 31(Buffers) Block
Decorate 34(data) DescriptorSet 0
Decorate 34(data) Binding 0
- Decorate 1272 BuiltIn WorkgroupSize
+ Decorate 1457 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -95,39 +95,40 @@
47: 36(int) Constant 1
48: TypeVector 17(int8_t) 2
49: TypePointer StorageBuffer 18(i8vec4)
- 58: 36(int) Constant 2
- 59: TypeVector 17(int8_t) 3
- 68: 36(int) Constant 3
- 230: TypePointer StorageBuffer 19(int8_t)
- 236: TypeVector 19(int8_t) 2
- 237: TypePointer StorageBuffer 20(i8vec4)
- 246: TypeVector 19(int8_t) 3
- 416: TypePointer StorageBuffer 21(int16_t)
- 422: TypeVector 21(int16_t) 2
- 423: TypePointer StorageBuffer 22(i16vec4)
- 432: TypeVector 21(int16_t) 3
- 602: TypePointer StorageBuffer 23(int16_t)
- 608: TypeVector 23(int16_t) 2
- 609: TypePointer StorageBuffer 24(i16vec4)
- 618: TypeVector 23(int16_t) 3
- 788: 36(int) Constant 4
- 789: TypePointer StorageBuffer 25(int64_t)
- 795: TypeVector 25(int64_t) 2
- 796: TypePointer StorageBuffer 26(i64vec4)
- 805: TypeVector 25(int64_t) 3
- 975: 36(int) Constant 5
- 976: TypePointer StorageBuffer 27(int64_t)
- 982: TypeVector 27(int64_t) 2
- 983: TypePointer StorageBuffer 28(i64vec4)
- 992: TypeVector 27(int64_t) 3
- 1162: 36(int) Constant 6
- 1163: TypePointer StorageBuffer 29(float16_t)
- 1169: TypeVector 29(float16_t) 2
- 1170: TypePointer StorageBuffer 30(f16vec4)
- 1179: TypeVector 29(float16_t) 3
- 1270: TypeVector 6(int) 3
- 1271: 6(int) Constant 8
- 1272: 1270(ivec3) ConstantComposite 1271 42 42
+ 59: 36(int) Constant 2
+ 60: TypeVector 17(int8_t) 3
+ 69: 6(int) Constant 2
+ 73: 36(int) Constant 3
+ 259: TypePointer StorageBuffer 19(int8_t)
+ 265: TypeVector 19(int8_t) 2
+ 266: TypePointer StorageBuffer 20(i8vec4)
+ 276: TypeVector 19(int8_t) 3
+ 473: TypePointer StorageBuffer 21(int16_t)
+ 479: TypeVector 21(int16_t) 2
+ 480: TypePointer StorageBuffer 22(i16vec4)
+ 490: TypeVector 21(int16_t) 3
+ 687: TypePointer StorageBuffer 23(int16_t)
+ 693: TypeVector 23(int16_t) 2
+ 694: TypePointer StorageBuffer 24(i16vec4)
+ 704: TypeVector 23(int16_t) 3
+ 901: 36(int) Constant 4
+ 902: TypePointer StorageBuffer 25(int64_t)
+ 908: TypeVector 25(int64_t) 2
+ 909: TypePointer StorageBuffer 26(i64vec4)
+ 919: TypeVector 25(int64_t) 3
+ 1116: 36(int) Constant 5
+ 1117: TypePointer StorageBuffer 27(int64_t)
+ 1123: TypeVector 27(int64_t) 2
+ 1124: TypePointer StorageBuffer 28(i64vec4)
+ 1134: TypeVector 27(int64_t) 3
+ 1331: 36(int) Constant 6
+ 1332: TypePointer StorageBuffer 29(float16_t)
+ 1338: TypeVector 29(float16_t) 2
+ 1339: TypePointer StorageBuffer 30(f16vec4)
+ 1349: TypeVector 29(float16_t) 3
+ 1455: TypeVector 6(int) 3
+ 1456: 6(int) Constant 8
+ 1457: 1455(ivec3) ConstantComposite 1456 42 42
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@@ -147,1374 +148,1696 @@
51: 18(i8vec4) Load 50
52: 48(i8vec2) VectorShuffle 51 51 0 1
53: 48(i8vec2) GroupNonUniformIAdd 43 ClusteredReduce 52 42
- 54: 49(ptr) AccessChain 34(data) 46 37
- 55: 18(i8vec4) Load 54
- 56: 18(i8vec4) VectorShuffle 55 53 4 5 2 3
- Store 54 56
- 57: 6(int) Load 8(invocation)
- 60: 49(ptr) AccessChain 34(data) 58 37
- 61: 18(i8vec4) Load 60
- 62: 59(i8vec3) VectorShuffle 61 61 0 1 2
- 63: 59(i8vec3) GroupNonUniformIAdd 43 ClusteredReduce 62 42
- 64: 49(ptr) AccessChain 34(data) 57 37
- 65: 18(i8vec4) Load 64
- 66: 18(i8vec4) VectorShuffle 65 63 4 5 6 3
- Store 64 66
- 67: 6(int) Load 8(invocation)
- 69: 49(ptr) AccessChain 34(data) 68 37
- 70: 18(i8vec4) Load 69
- 71: 18(i8vec4) GroupNonUniformIAdd 43 ClusteredReduce 70 42
- 72: 49(ptr) AccessChain 34(data) 67 37
- Store 72 71
- 73: 6(int) Load 8(invocation)
- 74: 39(ptr) AccessChain 34(data) 37 37 38
- 75: 17(int8_t) Load 74
- 76: 17(int8_t) GroupNonUniformIMul 43 ClusteredReduce 75 42
- 77: 39(ptr) AccessChain 34(data) 73 37 38
+ 54: 39(ptr) AccessChain 34(data) 46 37 38
+ 55: 17(int8_t) CompositeExtract 53 0
+ Store 54 55
+ 56: 39(ptr) AccessChain 34(data) 46 37 42
+ 57: 17(int8_t) CompositeExtract 53 1
+ Store 56 57
+ 58: 6(int) Load 8(invocation)
+ 61: 49(ptr) AccessChain 34(data) 59 37
+ 62: 18(i8vec4) Load 61
+ 63: 60(i8vec3) VectorShuffle 62 62 0 1 2
+ 64: 60(i8vec3) GroupNonUniformIAdd 43 ClusteredReduce 63 42
+ 65: 39(ptr) AccessChain 34(data) 58 37 38
+ 66: 17(int8_t) CompositeExtract 64 0
+ Store 65 66
+ 67: 39(ptr) AccessChain 34(data) 58 37 42
+ 68: 17(int8_t) CompositeExtract 64 1
+ Store 67 68
+ 70: 39(ptr) AccessChain 34(data) 58 37 69
+ 71: 17(int8_t) CompositeExtract 64 2
+ Store 70 71
+ 72: 6(int) Load 8(invocation)
+ 74: 49(ptr) AccessChain 34(data) 73 37
+ 75: 18(i8vec4) Load 74
+ 76: 18(i8vec4) GroupNonUniformIAdd 43 ClusteredReduce 75 42
+ 77: 49(ptr) AccessChain 34(data) 72 37
Store 77 76
78: 6(int) Load 8(invocation)
- 79: 49(ptr) AccessChain 34(data) 47 37
- 80: 18(i8vec4) Load 79
- 81: 48(i8vec2) VectorShuffle 80 80 0 1
- 82: 48(i8vec2) GroupNonUniformIMul 43 ClusteredReduce 81 42
- 83: 49(ptr) AccessChain 34(data) 78 37
- 84: 18(i8vec4) Load 83
- 85: 18(i8vec4) VectorShuffle 84 82 4 5 2 3
- Store 83 85
- 86: 6(int) Load 8(invocation)
- 87: 49(ptr) AccessChain 34(data) 58 37
- 88: 18(i8vec4) Load 87
- 89: 59(i8vec3) VectorShuffle 88 88 0 1 2
- 90: 59(i8vec3) GroupNonUniformIMul 43 ClusteredReduce 89 42
- 91: 49(ptr) AccessChain 34(data) 86 37
- 92: 18(i8vec4) Load 91
- 93: 18(i8vec4) VectorShuffle 92 90 4 5 6 3
- Store 91 93
- 94: 6(int) Load 8(invocation)
- 95: 49(ptr) AccessChain 34(data) 68 37
- 96: 18(i8vec4) Load 95
- 97: 18(i8vec4) GroupNonUniformIMul 43 ClusteredReduce 96 42
- 98: 49(ptr) AccessChain 34(data) 94 37
- Store 98 97
- 99: 6(int) Load 8(invocation)
- 100: 39(ptr) AccessChain 34(data) 37 37 38
- 101: 17(int8_t) Load 100
- 102: 17(int8_t) GroupNonUniformSMin 43 ClusteredReduce 101 42
- 103: 39(ptr) AccessChain 34(data) 99 37 38
- Store 103 102
- 104: 6(int) Load 8(invocation)
- 105: 49(ptr) AccessChain 34(data) 47 37
- 106: 18(i8vec4) Load 105
- 107: 48(i8vec2) VectorShuffle 106 106 0 1
- 108: 48(i8vec2) GroupNonUniformSMin 43 ClusteredReduce 107 42
- 109: 49(ptr) AccessChain 34(data) 104 37
- 110: 18(i8vec4) Load 109
- 111: 18(i8vec4) VectorShuffle 110 108 4 5 2 3
- Store 109 111
- 112: 6(int) Load 8(invocation)
- 113: 49(ptr) AccessChain 34(data) 58 37
- 114: 18(i8vec4) Load 113
- 115: 59(i8vec3) VectorShuffle 114 114 0 1 2
- 116: 59(i8vec3) GroupNonUniformSMin 43 ClusteredReduce 115 42
- 117: 49(ptr) AccessChain 34(data) 112 37
- 118: 18(i8vec4) Load 117
- 119: 18(i8vec4) VectorShuffle 118 116 4 5 6 3
- Store 117 119
- 120: 6(int) Load 8(invocation)
- 121: 49(ptr) AccessChain 34(data) 68 37
- 122: 18(i8vec4) Load 121
- 123: 18(i8vec4) GroupNonUniformSMin 43 ClusteredReduce 122 42
- 124: 49(ptr) AccessChain 34(data) 120 37
- Store 124 123
- 125: 6(int) Load 8(invocation)
- 126: 39(ptr) AccessChain 34(data) 37 37 38
- 127: 17(int8_t) Load 126
- 128: 17(int8_t) GroupNonUniformSMax 43 ClusteredReduce 127 42
- 129: 39(ptr) AccessChain 34(data) 125 37 38
- Store 129 128
- 130: 6(int) Load 8(invocation)
- 131: 49(ptr) AccessChain 34(data) 47 37
- 132: 18(i8vec4) Load 131
- 133: 48(i8vec2) VectorShuffle 132 132 0 1
- 134: 48(i8vec2) GroupNonUniformSMax 43 ClusteredReduce 133 42
- 135: 49(ptr) AccessChain 34(data) 130 37
- 136: 18(i8vec4) Load 135
- 137: 18(i8vec4) VectorShuffle 136 134 4 5 2 3
- Store 135 137
+ 79: 39(ptr) AccessChain 34(data) 37 37 38
+ 80: 17(int8_t) Load 79
+ 81: 17(int8_t) GroupNonUniformIMul 43 ClusteredReduce 80 42
+ 82: 39(ptr) AccessChain 34(data) 78 37 38
+ Store 82 81
+ 83: 6(int) Load 8(invocation)
+ 84: 49(ptr) AccessChain 34(data) 47 37
+ 85: 18(i8vec4) Load 84
+ 86: 48(i8vec2) VectorShuffle 85 85 0 1
+ 87: 48(i8vec2) GroupNonUniformIMul 43 ClusteredReduce 86 42
+ 88: 39(ptr) AccessChain 34(data) 83 37 38
+ 89: 17(int8_t) CompositeExtract 87 0
+ Store 88 89
+ 90: 39(ptr) AccessChain 34(data) 83 37 42
+ 91: 17(int8_t) CompositeExtract 87 1
+ Store 90 91
+ 92: 6(int) Load 8(invocation)
+ 93: 49(ptr) AccessChain 34(data) 59 37
+ 94: 18(i8vec4) Load 93
+ 95: 60(i8vec3) VectorShuffle 94 94 0 1 2
+ 96: 60(i8vec3) GroupNonUniformIMul 43 ClusteredReduce 95 42
+ 97: 39(ptr) AccessChain 34(data) 92 37 38
+ 98: 17(int8_t) CompositeExtract 96 0
+ Store 97 98
+ 99: 39(ptr) AccessChain 34(data) 92 37 42
+ 100: 17(int8_t) CompositeExtract 96 1
+ Store 99 100
+ 101: 39(ptr) AccessChain 34(data) 92 37 69
+ 102: 17(int8_t) CompositeExtract 96 2
+ Store 101 102
+ 103: 6(int) Load 8(invocation)
+ 104: 49(ptr) AccessChain 34(data) 73 37
+ 105: 18(i8vec4) Load 104
+ 106: 18(i8vec4) GroupNonUniformIMul 43 ClusteredReduce 105 42
+ 107: 49(ptr) AccessChain 34(data) 103 37
+ Store 107 106
+ 108: 6(int) Load 8(invocation)
+ 109: 39(ptr) AccessChain 34(data) 37 37 38
+ 110: 17(int8_t) Load 109
+ 111: 17(int8_t) GroupNonUniformSMin 43 ClusteredReduce 110 42
+ 112: 39(ptr) AccessChain 34(data) 108 37 38
+ Store 112 111
+ 113: 6(int) Load 8(invocation)
+ 114: 49(ptr) AccessChain 34(data) 47 37
+ 115: 18(i8vec4) Load 114
+ 116: 48(i8vec2) VectorShuffle 115 115 0 1
+ 117: 48(i8vec2) GroupNonUniformSMin 43 ClusteredReduce 116 42
+ 118: 39(ptr) AccessChain 34(data) 113 37 38
+ 119: 17(int8_t) CompositeExtract 117 0
+ Store 118 119
+ 120: 39(ptr) AccessChain 34(data) 113 37 42
+ 121: 17(int8_t) CompositeExtract 117 1
+ Store 120 121
+ 122: 6(int) Load 8(invocation)
+ 123: 49(ptr) AccessChain 34(data) 59 37
+ 124: 18(i8vec4) Load 123
+ 125: 60(i8vec3) VectorShuffle 124 124 0 1 2
+ 126: 60(i8vec3) GroupNonUniformSMin 43 ClusteredReduce 125 42
+ 127: 39(ptr) AccessChain 34(data) 122 37 38
+ 128: 17(int8_t) CompositeExtract 126 0
+ Store 127 128
+ 129: 39(ptr) AccessChain 34(data) 122 37 42
+ 130: 17(int8_t) CompositeExtract 126 1
+ Store 129 130
+ 131: 39(ptr) AccessChain 34(data) 122 37 69
+ 132: 17(int8_t) CompositeExtract 126 2
+ Store 131 132
+ 133: 6(int) Load 8(invocation)
+ 134: 49(ptr) AccessChain 34(data) 73 37
+ 135: 18(i8vec4) Load 134
+ 136: 18(i8vec4) GroupNonUniformSMin 43 ClusteredReduce 135 42
+ 137: 49(ptr) AccessChain 34(data) 133 37
+ Store 137 136
138: 6(int) Load 8(invocation)
- 139: 49(ptr) AccessChain 34(data) 58 37
- 140: 18(i8vec4) Load 139
- 141: 59(i8vec3) VectorShuffle 140 140 0 1 2
- 142: 59(i8vec3) GroupNonUniformSMax 43 ClusteredReduce 141 42
- 143: 49(ptr) AccessChain 34(data) 138 37
- 144: 18(i8vec4) Load 143
- 145: 18(i8vec4) VectorShuffle 144 142 4 5 6 3
- Store 143 145
- 146: 6(int) Load 8(invocation)
- 147: 49(ptr) AccessChain 34(data) 68 37
- 148: 18(i8vec4) Load 147
- 149: 18(i8vec4) GroupNonUniformSMax 43 ClusteredReduce 148 42
- 150: 49(ptr) AccessChain 34(data) 146 37
- Store 150 149
- 151: 6(int) Load 8(invocation)
- 152: 39(ptr) AccessChain 34(data) 37 37 38
- 153: 17(int8_t) Load 152
- 154: 17(int8_t) GroupNonUniformBitwiseAnd 43 ClusteredReduce 153 42
- 155: 39(ptr) AccessChain 34(data) 151 37 38
- Store 155 154
- 156: 6(int) Load 8(invocation)
- 157: 49(ptr) AccessChain 34(data) 47 37
- 158: 18(i8vec4) Load 157
- 159: 48(i8vec2) VectorShuffle 158 158 0 1
- 160: 48(i8vec2) GroupNonUniformBitwiseAnd 43 ClusteredReduce 159 42
- 161: 49(ptr) AccessChain 34(data) 156 37
- 162: 18(i8vec4) Load 161
- 163: 18(i8vec4) VectorShuffle 162 160 4 5 2 3
- Store 161 163
- 164: 6(int) Load 8(invocation)
- 165: 49(ptr) AccessChain 34(data) 58 37
- 166: 18(i8vec4) Load 165
- 167: 59(i8vec3) VectorShuffle 166 166 0 1 2
- 168: 59(i8vec3) GroupNonUniformBitwiseAnd 43 ClusteredReduce 167 42
- 169: 49(ptr) AccessChain 34(data) 164 37
- 170: 18(i8vec4) Load 169
- 171: 18(i8vec4) VectorShuffle 170 168 4 5 6 3
- Store 169 171
- 172: 6(int) Load 8(invocation)
- 173: 49(ptr) AccessChain 34(data) 68 37
- 174: 18(i8vec4) Load 173
- 175: 18(i8vec4) GroupNonUniformBitwiseAnd 43 ClusteredReduce 174 42
- 176: 49(ptr) AccessChain 34(data) 172 37
- Store 176 175
- 177: 6(int) Load 8(invocation)
- 178: 39(ptr) AccessChain 34(data) 37 37 38
- 179: 17(int8_t) Load 178
- 180: 17(int8_t) GroupNonUniformBitwiseOr 43 ClusteredReduce 179 42
- 181: 39(ptr) AccessChain 34(data) 177 37 38
- Store 181 180
+ 139: 39(ptr) AccessChain 34(data) 37 37 38
+ 140: 17(int8_t) Load 139
+ 141: 17(int8_t) GroupNonUniformSMax 43 ClusteredReduce 140 42
+ 142: 39(ptr) AccessChain 34(data) 138 37 38
+ Store 142 141
+ 143: 6(int) Load 8(invocation)
+ 144: 49(ptr) AccessChain 34(data) 47 37
+ 145: 18(i8vec4) Load 144
+ 146: 48(i8vec2) VectorShuffle 145 145 0 1
+ 147: 48(i8vec2) GroupNonUniformSMax 43 ClusteredReduce 146 42
+ 148: 39(ptr) AccessChain 34(data) 143 37 38
+ 149: 17(int8_t) CompositeExtract 147 0
+ Store 148 149
+ 150: 39(ptr) AccessChain 34(data) 143 37 42
+ 151: 17(int8_t) CompositeExtract 147 1
+ Store 150 151
+ 152: 6(int) Load 8(invocation)
+ 153: 49(ptr) AccessChain 34(data) 59 37
+ 154: 18(i8vec4) Load 153
+ 155: 60(i8vec3) VectorShuffle 154 154 0 1 2
+ 156: 60(i8vec3) GroupNonUniformSMax 43 ClusteredReduce 155 42
+ 157: 39(ptr) AccessChain 34(data) 152 37 38
+ 158: 17(int8_t) CompositeExtract 156 0
+ Store 157 158
+ 159: 39(ptr) AccessChain 34(data) 152 37 42
+ 160: 17(int8_t) CompositeExtract 156 1
+ Store 159 160
+ 161: 39(ptr) AccessChain 34(data) 152 37 69
+ 162: 17(int8_t) CompositeExtract 156 2
+ Store 161 162
+ 163: 6(int) Load 8(invocation)
+ 164: 49(ptr) AccessChain 34(data) 73 37
+ 165: 18(i8vec4) Load 164
+ 166: 18(i8vec4) GroupNonUniformSMax 43 ClusteredReduce 165 42
+ 167: 49(ptr) AccessChain 34(data) 163 37
+ Store 167 166
+ 168: 6(int) Load 8(invocation)
+ 169: 39(ptr) AccessChain 34(data) 37 37 38
+ 170: 17(int8_t) Load 169
+ 171: 17(int8_t) GroupNonUniformBitwiseAnd 43 ClusteredReduce 170 42
+ 172: 39(ptr) AccessChain 34(data) 168 37 38
+ Store 172 171
+ 173: 6(int) Load 8(invocation)
+ 174: 49(ptr) AccessChain 34(data) 47 37
+ 175: 18(i8vec4) Load 174
+ 176: 48(i8vec2) VectorShuffle 175 175 0 1
+ 177: 48(i8vec2) GroupNonUniformBitwiseAnd 43 ClusteredReduce 176 42
+ 178: 39(ptr) AccessChain 34(data) 173 37 38
+ 179: 17(int8_t) CompositeExtract 177 0
+ Store 178 179
+ 180: 39(ptr) AccessChain 34(data) 173 37 42
+ 181: 17(int8_t) CompositeExtract 177 1
+ Store 180 181
182: 6(int) Load 8(invocation)
- 183: 49(ptr) AccessChain 34(data) 47 37
+ 183: 49(ptr) AccessChain 34(data) 59 37
184: 18(i8vec4) Load 183
- 185: 48(i8vec2) VectorShuffle 184 184 0 1
- 186: 48(i8vec2) GroupNonUniformBitwiseOr 43 ClusteredReduce 185 42
- 187: 49(ptr) AccessChain 34(data) 182 37
- 188: 18(i8vec4) Load 187
- 189: 18(i8vec4) VectorShuffle 188 186 4 5 2 3
- Store 187 189
- 190: 6(int) Load 8(invocation)
- 191: 49(ptr) AccessChain 34(data) 58 37
- 192: 18(i8vec4) Load 191
- 193: 59(i8vec3) VectorShuffle 192 192 0 1 2
- 194: 59(i8vec3) GroupNonUniformBitwiseOr 43 ClusteredReduce 193 42
- 195: 49(ptr) AccessChain 34(data) 190 37
- 196: 18(i8vec4) Load 195
- 197: 18(i8vec4) VectorShuffle 196 194 4 5 6 3
- Store 195 197
+ 185: 60(i8vec3) VectorShuffle 184 184 0 1 2
+ 186: 60(i8vec3) GroupNonUniformBitwiseAnd 43 ClusteredReduce 185 42
+ 187: 39(ptr) AccessChain 34(data) 182 37 38
+ 188: 17(int8_t) CompositeExtract 186 0
+ Store 187 188
+ 189: 39(ptr) AccessChain 34(data) 182 37 42
+ 190: 17(int8_t) CompositeExtract 186 1
+ Store 189 190
+ 191: 39(ptr) AccessChain 34(data) 182 37 69
+ 192: 17(int8_t) CompositeExtract 186 2
+ Store 191 192
+ 193: 6(int) Load 8(invocation)
+ 194: 49(ptr) AccessChain 34(data) 73 37
+ 195: 18(i8vec4) Load 194
+ 196: 18(i8vec4) GroupNonUniformBitwiseAnd 43 ClusteredReduce 195 42
+ 197: 49(ptr) AccessChain 34(data) 193 37
+ Store 197 196
198: 6(int) Load 8(invocation)
- 199: 49(ptr) AccessChain 34(data) 68 37
- 200: 18(i8vec4) Load 199
- 201: 18(i8vec4) GroupNonUniformBitwiseOr 43 ClusteredReduce 200 42
- 202: 49(ptr) AccessChain 34(data) 198 37
+ 199: 39(ptr) AccessChain 34(data) 37 37 38
+ 200: 17(int8_t) Load 199
+ 201: 17(int8_t) GroupNonUniformBitwiseOr 43 ClusteredReduce 200 42
+ 202: 39(ptr) AccessChain 34(data) 198 37 38
Store 202 201
203: 6(int) Load 8(invocation)
- 204: 39(ptr) AccessChain 34(data) 37 37 38
- 205: 17(int8_t) Load 204
- 206: 17(int8_t) GroupNonUniformBitwiseXor 43 ClusteredReduce 205 42
- 207: 39(ptr) AccessChain 34(data) 203 37 38
- Store 207 206
- 208: 6(int) Load 8(invocation)
- 209: 49(ptr) AccessChain 34(data) 47 37
- 210: 18(i8vec4) Load 209
- 211: 48(i8vec2) VectorShuffle 210 210 0 1
- 212: 48(i8vec2) GroupNonUniformBitwiseXor 43 ClusteredReduce 211 42
- 213: 49(ptr) AccessChain 34(data) 208 37
+ 204: 49(ptr) AccessChain 34(data) 47 37
+ 205: 18(i8vec4) Load 204
+ 206: 48(i8vec2) VectorShuffle 205 205 0 1
+ 207: 48(i8vec2) GroupNonUniformBitwiseOr 43 ClusteredReduce 206 42
+ 208: 39(ptr) AccessChain 34(data) 203 37 38
+ 209: 17(int8_t) CompositeExtract 207 0
+ Store 208 209
+ 210: 39(ptr) AccessChain 34(data) 203 37 42
+ 211: 17(int8_t) CompositeExtract 207 1
+ Store 210 211
+ 212: 6(int) Load 8(invocation)
+ 213: 49(ptr) AccessChain 34(data) 59 37
214: 18(i8vec4) Load 213
- 215: 18(i8vec4) VectorShuffle 214 212 4 5 2 3
- Store 213 215
- 216: 6(int) Load 8(invocation)
- 217: 49(ptr) AccessChain 34(data) 58 37
- 218: 18(i8vec4) Load 217
- 219: 59(i8vec3) VectorShuffle 218 218 0 1 2
- 220: 59(i8vec3) GroupNonUniformBitwiseXor 43 ClusteredReduce 219 42
- 221: 49(ptr) AccessChain 34(data) 216 37
- 222: 18(i8vec4) Load 221
- 223: 18(i8vec4) VectorShuffle 222 220 4 5 6 3
- Store 221 223
- 224: 6(int) Load 8(invocation)
- 225: 49(ptr) AccessChain 34(data) 68 37
- 226: 18(i8vec4) Load 225
- 227: 18(i8vec4) GroupNonUniformBitwiseXor 43 ClusteredReduce 226 42
- 228: 49(ptr) AccessChain 34(data) 224 37
- Store 228 227
- 229: 6(int) Load 8(invocation)
- 231: 230(ptr) AccessChain 34(data) 37 47 38
- 232: 19(int8_t) Load 231
- 233: 19(int8_t) GroupNonUniformIAdd 43 ClusteredReduce 232 42
- 234: 230(ptr) AccessChain 34(data) 229 47 38
- Store 234 233
- 235: 6(int) Load 8(invocation)
- 238: 237(ptr) AccessChain 34(data) 47 47
- 239: 20(i8vec4) Load 238
- 240: 236(i8vec2) VectorShuffle 239 239 0 1
- 241: 236(i8vec2) GroupNonUniformIAdd 43 ClusteredReduce 240 42
- 242: 237(ptr) AccessChain 34(data) 235 47
- 243: 20(i8vec4) Load 242
- 244: 20(i8vec4) VectorShuffle 243 241 4 5 2 3
- Store 242 244
- 245: 6(int) Load 8(invocation)
- 247: 237(ptr) AccessChain 34(data) 58 47
- 248: 20(i8vec4) Load 247
- 249: 246(i8vec3) VectorShuffle 248 248 0 1 2
- 250: 246(i8vec3) GroupNonUniformIAdd 43 ClusteredReduce 249 42
- 251: 237(ptr) AccessChain 34(data) 245 47
- 252: 20(i8vec4) Load 251
- 253: 20(i8vec4) VectorShuffle 252 250 4 5 6 3
- Store 251 253
- 254: 6(int) Load 8(invocation)
- 255: 237(ptr) AccessChain 34(data) 68 47
- 256: 20(i8vec4) Load 255
- 257: 20(i8vec4) GroupNonUniformIAdd 43 ClusteredReduce 256 42
- 258: 237(ptr) AccessChain 34(data) 254 47
- Store 258 257
- 259: 6(int) Load 8(invocation)
- 260: 230(ptr) AccessChain 34(data) 37 47 38
+ 215: 60(i8vec3) VectorShuffle 214 214 0 1 2
+ 216: 60(i8vec3) GroupNonUniformBitwiseOr 43 ClusteredReduce 215 42
+ 217: 39(ptr) AccessChain 34(data) 212 37 38
+ 218: 17(int8_t) CompositeExtract 216 0
+ Store 217 218
+ 219: 39(ptr) AccessChain 34(data) 212 37 42
+ 220: 17(int8_t) CompositeExtract 216 1
+ Store 219 220
+ 221: 39(ptr) AccessChain 34(data) 212 37 69
+ 222: 17(int8_t) CompositeExtract 216 2
+ Store 221 222
+ 223: 6(int) Load 8(invocation)
+ 224: 49(ptr) AccessChain 34(data) 73 37
+ 225: 18(i8vec4) Load 224
+ 226: 18(i8vec4) GroupNonUniformBitwiseOr 43 ClusteredReduce 225 42
+ 227: 49(ptr) AccessChain 34(data) 223 37
+ Store 227 226
+ 228: 6(int) Load 8(invocation)
+ 229: 39(ptr) AccessChain 34(data) 37 37 38
+ 230: 17(int8_t) Load 229
+ 231: 17(int8_t) GroupNonUniformBitwiseXor 43 ClusteredReduce 230 42
+ 232: 39(ptr) AccessChain 34(data) 228 37 38
+ Store 232 231
+ 233: 6(int) Load 8(invocation)
+ 234: 49(ptr) AccessChain 34(data) 47 37
+ 235: 18(i8vec4) Load 234
+ 236: 48(i8vec2) VectorShuffle 235 235 0 1
+ 237: 48(i8vec2) GroupNonUniformBitwiseXor 43 ClusteredReduce 236 42
+ 238: 39(ptr) AccessChain 34(data) 233 37 38
+ 239: 17(int8_t) CompositeExtract 237 0
+ Store 238 239
+ 240: 39(ptr) AccessChain 34(data) 233 37 42
+ 241: 17(int8_t) CompositeExtract 237 1
+ Store 240 241
+ 242: 6(int) Load 8(invocation)
+ 243: 49(ptr) AccessChain 34(data) 59 37
+ 244: 18(i8vec4) Load 243
+ 245: 60(i8vec3) VectorShuffle 244 244 0 1 2
+ 246: 60(i8vec3) GroupNonUniformBitwiseXor 43 ClusteredReduce 245 42
+ 247: 39(ptr) AccessChain 34(data) 242 37 38
+ 248: 17(int8_t) CompositeExtract 246 0
+ Store 247 248
+ 249: 39(ptr) AccessChain 34(data) 242 37 42
+ 250: 17(int8_t) CompositeExtract 246 1
+ Store 249 250
+ 251: 39(ptr) AccessChain 34(data) 242 37 69
+ 252: 17(int8_t) CompositeExtract 246 2
+ Store 251 252
+ 253: 6(int) Load 8(invocation)
+ 254: 49(ptr) AccessChain 34(data) 73 37
+ 255: 18(i8vec4) Load 254
+ 256: 18(i8vec4) GroupNonUniformBitwiseXor 43 ClusteredReduce 255 42
+ 257: 49(ptr) AccessChain 34(data) 253 37
+ Store 257 256
+ 258: 6(int) Load 8(invocation)
+ 260: 259(ptr) AccessChain 34(data) 37 47 38
261: 19(int8_t) Load 260
- 262: 19(int8_t) GroupNonUniformIMul 43 ClusteredReduce 261 42
- 263: 230(ptr) AccessChain 34(data) 259 47 38
+ 262: 19(int8_t) GroupNonUniformIAdd 43 ClusteredReduce 261 42
+ 263: 259(ptr) AccessChain 34(data) 258 47 38
Store 263 262
264: 6(int) Load 8(invocation)
- 265: 237(ptr) AccessChain 34(data) 47 47
- 266: 20(i8vec4) Load 265
- 267: 236(i8vec2) VectorShuffle 266 266 0 1
- 268: 236(i8vec2) GroupNonUniformIMul 43 ClusteredReduce 267 42
- 269: 237(ptr) AccessChain 34(data) 264 47
- 270: 20(i8vec4) Load 269
- 271: 20(i8vec4) VectorShuffle 270 268 4 5 2 3
- Store 269 271
- 272: 6(int) Load 8(invocation)
- 273: 237(ptr) AccessChain 34(data) 58 47
- 274: 20(i8vec4) Load 273
- 275: 246(i8vec3) VectorShuffle 274 274 0 1 2
- 276: 246(i8vec3) GroupNonUniformIMul 43 ClusteredReduce 275 42
- 277: 237(ptr) AccessChain 34(data) 272 47
+ 267: 266(ptr) AccessChain 34(data) 47 47
+ 268: 20(i8vec4) Load 267
+ 269: 265(i8vec2) VectorShuffle 268 268 0 1
+ 270: 265(i8vec2) GroupNonUniformIAdd 43 ClusteredReduce 269 42
+ 271: 259(ptr) AccessChain 34(data) 264 47 38
+ 272: 19(int8_t) CompositeExtract 270 0
+ Store 271 272
+ 273: 259(ptr) AccessChain 34(data) 264 47 42
+ 274: 19(int8_t) CompositeExtract 270 1
+ Store 273 274
+ 275: 6(int) Load 8(invocation)
+ 277: 266(ptr) AccessChain 34(data) 59 47
278: 20(i8vec4) Load 277
- 279: 20(i8vec4) VectorShuffle 278 276 4 5 6 3
- Store 277 279
- 280: 6(int) Load 8(invocation)
- 281: 237(ptr) AccessChain 34(data) 68 47
- 282: 20(i8vec4) Load 281
- 283: 20(i8vec4) GroupNonUniformIMul 43 ClusteredReduce 282 42
- 284: 237(ptr) AccessChain 34(data) 280 47
- Store 284 283
- 285: 6(int) Load 8(invocation)
- 286: 230(ptr) AccessChain 34(data) 37 47 38
- 287: 19(int8_t) Load 286
- 288: 19(int8_t) GroupNonUniformUMin 43 ClusteredReduce 287 42
- 289: 230(ptr) AccessChain 34(data) 285 47 38
- Store 289 288
- 290: 6(int) Load 8(invocation)
- 291: 237(ptr) AccessChain 34(data) 47 47
- 292: 20(i8vec4) Load 291
- 293: 236(i8vec2) VectorShuffle 292 292 0 1
- 294: 236(i8vec2) GroupNonUniformUMin 43 ClusteredReduce 293 42
- 295: 237(ptr) AccessChain 34(data) 290 47
- 296: 20(i8vec4) Load 295
- 297: 20(i8vec4) VectorShuffle 296 294 4 5 2 3
- Store 295 297
- 298: 6(int) Load 8(invocation)
- 299: 237(ptr) AccessChain 34(data) 58 47
- 300: 20(i8vec4) Load 299
- 301: 246(i8vec3) VectorShuffle 300 300 0 1 2
- 302: 246(i8vec3) GroupNonUniformUMin 43 ClusteredReduce 301 42
- 303: 237(ptr) AccessChain 34(data) 298 47
- 304: 20(i8vec4) Load 303
- 305: 20(i8vec4) VectorShuffle 304 302 4 5 6 3
- Store 303 305
+ 279: 276(i8vec3) VectorShuffle 278 278 0 1 2
+ 280: 276(i8vec3) GroupNonUniformIAdd 43 ClusteredReduce 279 42
+ 281: 259(ptr) AccessChain 34(data) 275 47 38
+ 282: 19(int8_t) CompositeExtract 280 0
+ Store 281 282
+ 283: 259(ptr) AccessChain 34(data) 275 47 42
+ 284: 19(int8_t) CompositeExtract 280 1
+ Store 283 284
+ 285: 259(ptr) AccessChain 34(data) 275 47 69
+ 286: 19(int8_t) CompositeExtract 280 2
+ Store 285 286
+ 287: 6(int) Load 8(invocation)
+ 288: 266(ptr) AccessChain 34(data) 73 47
+ 289: 20(i8vec4) Load 288
+ 290: 20(i8vec4) GroupNonUniformIAdd 43 ClusteredReduce 289 42
+ 291: 266(ptr) AccessChain 34(data) 287 47
+ Store 291 290
+ 292: 6(int) Load 8(invocation)
+ 293: 259(ptr) AccessChain 34(data) 37 47 38
+ 294: 19(int8_t) Load 293
+ 295: 19(int8_t) GroupNonUniformIMul 43 ClusteredReduce 294 42
+ 296: 259(ptr) AccessChain 34(data) 292 47 38
+ Store 296 295
+ 297: 6(int) Load 8(invocation)
+ 298: 266(ptr) AccessChain 34(data) 47 47
+ 299: 20(i8vec4) Load 298
+ 300: 265(i8vec2) VectorShuffle 299 299 0 1
+ 301: 265(i8vec2) GroupNonUniformIMul 43 ClusteredReduce 300 42
+ 302: 259(ptr) AccessChain 34(data) 297 47 38
+ 303: 19(int8_t) CompositeExtract 301 0
+ Store 302 303
+ 304: 259(ptr) AccessChain 34(data) 297 47 42
+ 305: 19(int8_t) CompositeExtract 301 1
+ Store 304 305
306: 6(int) Load 8(invocation)
- 307: 237(ptr) AccessChain 34(data) 68 47
+ 307: 266(ptr) AccessChain 34(data) 59 47
308: 20(i8vec4) Load 307
- 309: 20(i8vec4) GroupNonUniformUMin 43 ClusteredReduce 308 42
- 310: 237(ptr) AccessChain 34(data) 306 47
- Store 310 309
- 311: 6(int) Load 8(invocation)
- 312: 230(ptr) AccessChain 34(data) 37 47 38
- 313: 19(int8_t) Load 312
- 314: 19(int8_t) GroupNonUniformUMax 43 ClusteredReduce 313 42
- 315: 230(ptr) AccessChain 34(data) 311 47 38
- Store 315 314
- 316: 6(int) Load 8(invocation)
- 317: 237(ptr) AccessChain 34(data) 47 47
- 318: 20(i8vec4) Load 317
- 319: 236(i8vec2) VectorShuffle 318 318 0 1
- 320: 236(i8vec2) GroupNonUniformUMax 43 ClusteredReduce 319 42
- 321: 237(ptr) AccessChain 34(data) 316 47
- 322: 20(i8vec4) Load 321
- 323: 20(i8vec4) VectorShuffle 322 320 4 5 2 3
- Store 321 323
- 324: 6(int) Load 8(invocation)
- 325: 237(ptr) AccessChain 34(data) 58 47
- 326: 20(i8vec4) Load 325
- 327: 246(i8vec3) VectorShuffle 326 326 0 1 2
- 328: 246(i8vec3) GroupNonUniformUMax 43 ClusteredReduce 327 42
- 329: 237(ptr) AccessChain 34(data) 324 47
- 330: 20(i8vec4) Load 329
- 331: 20(i8vec4) VectorShuffle 330 328 4 5 6 3
- Store 329 331
- 332: 6(int) Load 8(invocation)
- 333: 237(ptr) AccessChain 34(data) 68 47
- 334: 20(i8vec4) Load 333
- 335: 20(i8vec4) GroupNonUniformUMax 43 ClusteredReduce 334 42
- 336: 237(ptr) AccessChain 34(data) 332 47
- Store 336 335
- 337: 6(int) Load 8(invocation)
- 338: 230(ptr) AccessChain 34(data) 37 47 38
- 339: 19(int8_t) Load 338
- 340: 19(int8_t) GroupNonUniformBitwiseAnd 43 ClusteredReduce 339 42
- 341: 230(ptr) AccessChain 34(data) 337 47 38
- Store 341 340
- 342: 6(int) Load 8(invocation)
- 343: 237(ptr) AccessChain 34(data) 47 47
- 344: 20(i8vec4) Load 343
- 345: 236(i8vec2) VectorShuffle 344 344 0 1
- 346: 236(i8vec2) GroupNonUniformBitwiseAnd 43 ClusteredReduce 345 42
- 347: 237(ptr) AccessChain 34(data) 342 47
- 348: 20(i8vec4) Load 347
- 349: 20(i8vec4) VectorShuffle 348 346 4 5 2 3
- Store 347 349
- 350: 6(int) Load 8(invocation)
- 351: 237(ptr) AccessChain 34(data) 58 47
- 352: 20(i8vec4) Load 351
- 353: 246(i8vec3) VectorShuffle 352 352 0 1 2
- 354: 246(i8vec3) GroupNonUniformBitwiseAnd 43 ClusteredReduce 353 42
- 355: 237(ptr) AccessChain 34(data) 350 47
- 356: 20(i8vec4) Load 355
- 357: 20(i8vec4) VectorShuffle 356 354 4 5 6 3
- Store 355 357
- 358: 6(int) Load 8(invocation)
- 359: 237(ptr) AccessChain 34(data) 68 47
- 360: 20(i8vec4) Load 359
- 361: 20(i8vec4) GroupNonUniformBitwiseAnd 43 ClusteredReduce 360 42
- 362: 237(ptr) AccessChain 34(data) 358 47
- Store 362 361
- 363: 6(int) Load 8(invocation)
- 364: 230(ptr) AccessChain 34(data) 37 47 38
- 365: 19(int8_t) Load 364
- 366: 19(int8_t) GroupNonUniformBitwiseOr 43 ClusteredReduce 365 42
- 367: 230(ptr) AccessChain 34(data) 363 47 38
- Store 367 366
- 368: 6(int) Load 8(invocation)
- 369: 237(ptr) AccessChain 34(data) 47 47
- 370: 20(i8vec4) Load 369
- 371: 236(i8vec2) VectorShuffle 370 370 0 1
- 372: 236(i8vec2) GroupNonUniformBitwiseOr 43 ClusteredReduce 371 42
- 373: 237(ptr) AccessChain 34(data) 368 47
- 374: 20(i8vec4) Load 373
- 375: 20(i8vec4) VectorShuffle 374 372 4 5 2 3
- Store 373 375
- 376: 6(int) Load 8(invocation)
- 377: 237(ptr) AccessChain 34(data) 58 47
- 378: 20(i8vec4) Load 377
- 379: 246(i8vec3) VectorShuffle 378 378 0 1 2
- 380: 246(i8vec3) GroupNonUniformBitwiseOr 43 ClusteredReduce 379 42
- 381: 237(ptr) AccessChain 34(data) 376 47
- 382: 20(i8vec4) Load 381
- 383: 20(i8vec4) VectorShuffle 382 380 4 5 6 3
- Store 381 383
- 384: 6(int) Load 8(invocation)
- 385: 237(ptr) AccessChain 34(data) 68 47
- 386: 20(i8vec4) Load 385
- 387: 20(i8vec4) GroupNonUniformBitwiseOr 43 ClusteredReduce 386 42
- 388: 237(ptr) AccessChain 34(data) 384 47
- Store 388 387
- 389: 6(int) Load 8(invocation)
- 390: 230(ptr) AccessChain 34(data) 37 47 38
- 391: 19(int8_t) Load 390
- 392: 19(int8_t) GroupNonUniformBitwiseXor 43 ClusteredReduce 391 42
- 393: 230(ptr) AccessChain 34(data) 389 47 38
- Store 393 392
- 394: 6(int) Load 8(invocation)
- 395: 237(ptr) AccessChain 34(data) 47 47
- 396: 20(i8vec4) Load 395
- 397: 236(i8vec2) VectorShuffle 396 396 0 1
- 398: 236(i8vec2) GroupNonUniformBitwiseXor 43 ClusteredReduce 397 42
- 399: 237(ptr) AccessChain 34(data) 394 47
- 400: 20(i8vec4) Load 399
- 401: 20(i8vec4) VectorShuffle 400 398 4 5 2 3
- Store 399 401
- 402: 6(int) Load 8(invocation)
- 403: 237(ptr) AccessChain 34(data) 58 47
- 404: 20(i8vec4) Load 403
- 405: 246(i8vec3) VectorShuffle 404 404 0 1 2
- 406: 246(i8vec3) GroupNonUniformBitwiseXor 43 ClusteredReduce 405 42
- 407: 237(ptr) AccessChain 34(data) 402 47
- 408: 20(i8vec4) Load 407
- 409: 20(i8vec4) VectorShuffle 408 406 4 5 6 3
- Store 407 409
- 410: 6(int) Load 8(invocation)
- 411: 237(ptr) AccessChain 34(data) 68 47
- 412: 20(i8vec4) Load 411
- 413: 20(i8vec4) GroupNonUniformBitwiseXor 43 ClusteredReduce 412 42
- 414: 237(ptr) AccessChain 34(data) 410 47
- Store 414 413
- 415: 6(int) Load 8(invocation)
- 417: 416(ptr) AccessChain 34(data) 37 58 38
- 418: 21(int16_t) Load 417
- 419: 21(int16_t) GroupNonUniformIAdd 43 ClusteredReduce 418 42
- 420: 416(ptr) AccessChain 34(data) 415 58 38
- Store 420 419
- 421: 6(int) Load 8(invocation)
- 424: 423(ptr) AccessChain 34(data) 47 58
- 425: 22(i16vec4) Load 424
- 426:422(i16vec2) VectorShuffle 425 425 0 1
- 427:422(i16vec2) GroupNonUniformIAdd 43 ClusteredReduce 426 42
- 428: 423(ptr) AccessChain 34(data) 421 58
- 429: 22(i16vec4) Load 428
- 430: 22(i16vec4) VectorShuffle 429 427 4 5 2 3
- Store 428 430
- 431: 6(int) Load 8(invocation)
- 433: 423(ptr) AccessChain 34(data) 58 58
- 434: 22(i16vec4) Load 433
- 435:432(i16vec3) VectorShuffle 434 434 0 1 2
- 436:432(i16vec3) GroupNonUniformIAdd 43 ClusteredReduce 435 42
- 437: 423(ptr) AccessChain 34(data) 431 58
- 438: 22(i16vec4) Load 437
- 439: 22(i16vec4) VectorShuffle 438 436 4 5 6 3
- Store 437 439
- 440: 6(int) Load 8(invocation)
- 441: 423(ptr) AccessChain 34(data) 68 58
- 442: 22(i16vec4) Load 441
- 443: 22(i16vec4) GroupNonUniformIAdd 43 ClusteredReduce 442 42
- 444: 423(ptr) AccessChain 34(data) 440 58
- Store 444 443
- 445: 6(int) Load 8(invocation)
- 446: 416(ptr) AccessChain 34(data) 37 58 38
- 447: 21(int16_t) Load 446
- 448: 21(int16_t) GroupNonUniformIMul 43 ClusteredReduce 447 42
- 449: 416(ptr) AccessChain 34(data) 445 58 38
- Store 449 448
- 450: 6(int) Load 8(invocation)
- 451: 423(ptr) AccessChain 34(data) 47 58
- 452: 22(i16vec4) Load 451
- 453:422(i16vec2) VectorShuffle 452 452 0 1
- 454:422(i16vec2) GroupNonUniformIMul 43 ClusteredReduce 453 42
- 455: 423(ptr) AccessChain 34(data) 450 58
- 456: 22(i16vec4) Load 455
- 457: 22(i16vec4) VectorShuffle 456 454 4 5 2 3
- Store 455 457
- 458: 6(int) Load 8(invocation)
- 459: 423(ptr) AccessChain 34(data) 58 58
- 460: 22(i16vec4) Load 459
- 461:432(i16vec3) VectorShuffle 460 460 0 1 2
- 462:432(i16vec3) GroupNonUniformIMul 43 ClusteredReduce 461 42
- 463: 423(ptr) AccessChain 34(data) 458 58
- 464: 22(i16vec4) Load 463
- 465: 22(i16vec4) VectorShuffle 464 462 4 5 6 3
- Store 463 465
- 466: 6(int) Load 8(invocation)
- 467: 423(ptr) AccessChain 34(data) 68 58
- 468: 22(i16vec4) Load 467
- 469: 22(i16vec4) GroupNonUniformIMul 43 ClusteredReduce 468 42
- 470: 423(ptr) AccessChain 34(data) 466 58
- Store 470 469
- 471: 6(int) Load 8(invocation)
- 472: 416(ptr) AccessChain 34(data) 37 58 38
- 473: 21(int16_t) Load 472
- 474: 21(int16_t) GroupNonUniformSMin 43 ClusteredReduce 473 42
- 475: 416(ptr) AccessChain 34(data) 471 58 38
- Store 475 474
- 476: 6(int) Load 8(invocation)
- 477: 423(ptr) AccessChain 34(data) 47 58
- 478: 22(i16vec4) Load 477
- 479:422(i16vec2) VectorShuffle 478 478 0 1
- 480:422(i16vec2) GroupNonUniformSMin 43 ClusteredReduce 479 42
- 481: 423(ptr) AccessChain 34(data) 476 58
+ 309: 276(i8vec3) VectorShuffle 308 308 0 1 2
+ 310: 276(i8vec3) GroupNonUniformIMul 43 ClusteredReduce 309 42
+ 311: 259(ptr) AccessChain 34(data) 306 47 38
+ 312: 19(int8_t) CompositeExtract 310 0
+ Store 311 312
+ 313: 259(ptr) AccessChain 34(data) 306 47 42
+ 314: 19(int8_t) CompositeExtract 310 1
+ Store 313 314
+ 315: 259(ptr) AccessChain 34(data) 306 47 69
+ 316: 19(int8_t) CompositeExtract 310 2
+ Store 315 316
+ 317: 6(int) Load 8(invocation)
+ 318: 266(ptr) AccessChain 34(data) 73 47
+ 319: 20(i8vec4) Load 318
+ 320: 20(i8vec4) GroupNonUniformIMul 43 ClusteredReduce 319 42
+ 321: 266(ptr) AccessChain 34(data) 317 47
+ Store 321 320
+ 322: 6(int) Load 8(invocation)
+ 323: 259(ptr) AccessChain 34(data) 37 47 38
+ 324: 19(int8_t) Load 323
+ 325: 19(int8_t) GroupNonUniformUMin 43 ClusteredReduce 324 42
+ 326: 259(ptr) AccessChain 34(data) 322 47 38
+ Store 326 325
+ 327: 6(int) Load 8(invocation)
+ 328: 266(ptr) AccessChain 34(data) 47 47
+ 329: 20(i8vec4) Load 328
+ 330: 265(i8vec2) VectorShuffle 329 329 0 1
+ 331: 265(i8vec2) GroupNonUniformUMin 43 ClusteredReduce 330 42
+ 332: 259(ptr) AccessChain 34(data) 327 47 38
+ 333: 19(int8_t) CompositeExtract 331 0
+ Store 332 333
+ 334: 259(ptr) AccessChain 34(data) 327 47 42
+ 335: 19(int8_t) CompositeExtract 331 1
+ Store 334 335
+ 336: 6(int) Load 8(invocation)
+ 337: 266(ptr) AccessChain 34(data) 59 47
+ 338: 20(i8vec4) Load 337
+ 339: 276(i8vec3) VectorShuffle 338 338 0 1 2
+ 340: 276(i8vec3) GroupNonUniformUMin 43 ClusteredReduce 339 42
+ 341: 259(ptr) AccessChain 34(data) 336 47 38
+ 342: 19(int8_t) CompositeExtract 340 0
+ Store 341 342
+ 343: 259(ptr) AccessChain 34(data) 336 47 42
+ 344: 19(int8_t) CompositeExtract 340 1
+ Store 343 344
+ 345: 259(ptr) AccessChain 34(data) 336 47 69
+ 346: 19(int8_t) CompositeExtract 340 2
+ Store 345 346
+ 347: 6(int) Load 8(invocation)
+ 348: 266(ptr) AccessChain 34(data) 73 47
+ 349: 20(i8vec4) Load 348
+ 350: 20(i8vec4) GroupNonUniformUMin 43 ClusteredReduce 349 42
+ 351: 266(ptr) AccessChain 34(data) 347 47
+ Store 351 350
+ 352: 6(int) Load 8(invocation)
+ 353: 259(ptr) AccessChain 34(data) 37 47 38
+ 354: 19(int8_t) Load 353
+ 355: 19(int8_t) GroupNonUniformUMax 43 ClusteredReduce 354 42
+ 356: 259(ptr) AccessChain 34(data) 352 47 38
+ Store 356 355
+ 357: 6(int) Load 8(invocation)
+ 358: 266(ptr) AccessChain 34(data) 47 47
+ 359: 20(i8vec4) Load 358
+ 360: 265(i8vec2) VectorShuffle 359 359 0 1
+ 361: 265(i8vec2) GroupNonUniformUMax 43 ClusteredReduce 360 42
+ 362: 259(ptr) AccessChain 34(data) 357 47 38
+ 363: 19(int8_t) CompositeExtract 361 0
+ Store 362 363
+ 364: 259(ptr) AccessChain 34(data) 357 47 42
+ 365: 19(int8_t) CompositeExtract 361 1
+ Store 364 365
+ 366: 6(int) Load 8(invocation)
+ 367: 266(ptr) AccessChain 34(data) 59 47
+ 368: 20(i8vec4) Load 367
+ 369: 276(i8vec3) VectorShuffle 368 368 0 1 2
+ 370: 276(i8vec3) GroupNonUniformUMax 43 ClusteredReduce 369 42
+ 371: 259(ptr) AccessChain 34(data) 366 47 38
+ 372: 19(int8_t) CompositeExtract 370 0
+ Store 371 372
+ 373: 259(ptr) AccessChain 34(data) 366 47 42
+ 374: 19(int8_t) CompositeExtract 370 1
+ Store 373 374
+ 375: 259(ptr) AccessChain 34(data) 366 47 69
+ 376: 19(int8_t) CompositeExtract 370 2
+ Store 375 376
+ 377: 6(int) Load 8(invocation)
+ 378: 266(ptr) AccessChain 34(data) 73 47
+ 379: 20(i8vec4) Load 378
+ 380: 20(i8vec4) GroupNonUniformUMax 43 ClusteredReduce 379 42
+ 381: 266(ptr) AccessChain 34(data) 377 47
+ Store 381 380
+ 382: 6(int) Load 8(invocation)
+ 383: 259(ptr) AccessChain 34(data) 37 47 38
+ 384: 19(int8_t) Load 383
+ 385: 19(int8_t) GroupNonUniformBitwiseAnd 43 ClusteredReduce 384 42
+ 386: 259(ptr) AccessChain 34(data) 382 47 38
+ Store 386 385
+ 387: 6(int) Load 8(invocation)
+ 388: 266(ptr) AccessChain 34(data) 47 47
+ 389: 20(i8vec4) Load 388
+ 390: 265(i8vec2) VectorShuffle 389 389 0 1
+ 391: 265(i8vec2) GroupNonUniformBitwiseAnd 43 ClusteredReduce 390 42
+ 392: 259(ptr) AccessChain 34(data) 387 47 38
+ 393: 19(int8_t) CompositeExtract 391 0
+ Store 392 393
+ 394: 259(ptr) AccessChain 34(data) 387 47 42
+ 395: 19(int8_t) CompositeExtract 391 1
+ Store 394 395
+ 396: 6(int) Load 8(invocation)
+ 397: 266(ptr) AccessChain 34(data) 59 47
+ 398: 20(i8vec4) Load 397
+ 399: 276(i8vec3) VectorShuffle 398 398 0 1 2
+ 400: 276(i8vec3) GroupNonUniformBitwiseAnd 43 ClusteredReduce 399 42
+ 401: 259(ptr) AccessChain 34(data) 396 47 38
+ 402: 19(int8_t) CompositeExtract 400 0
+ Store 401 402
+ 403: 259(ptr) AccessChain 34(data) 396 47 42
+ 404: 19(int8_t) CompositeExtract 400 1
+ Store 403 404
+ 405: 259(ptr) AccessChain 34(data) 396 47 69
+ 406: 19(int8_t) CompositeExtract 400 2
+ Store 405 406
+ 407: 6(int) Load 8(invocation)
+ 408: 266(ptr) AccessChain 34(data) 73 47
+ 409: 20(i8vec4) Load 408
+ 410: 20(i8vec4) GroupNonUniformBitwiseAnd 43 ClusteredReduce 409 42
+ 411: 266(ptr) AccessChain 34(data) 407 47
+ Store 411 410
+ 412: 6(int) Load 8(invocation)
+ 413: 259(ptr) AccessChain 34(data) 37 47 38
+ 414: 19(int8_t) Load 413
+ 415: 19(int8_t) GroupNonUniformBitwiseOr 43 ClusteredReduce 414 42
+ 416: 259(ptr) AccessChain 34(data) 412 47 38
+ Store 416 415
+ 417: 6(int) Load 8(invocation)
+ 418: 266(ptr) AccessChain 34(data) 47 47
+ 419: 20(i8vec4) Load 418
+ 420: 265(i8vec2) VectorShuffle 419 419 0 1
+ 421: 265(i8vec2) GroupNonUniformBitwiseOr 43 ClusteredReduce 420 42
+ 422: 259(ptr) AccessChain 34(data) 417 47 38
+ 423: 19(int8_t) CompositeExtract 421 0
+ Store 422 423
+ 424: 259(ptr) AccessChain 34(data) 417 47 42
+ 425: 19(int8_t) CompositeExtract 421 1
+ Store 424 425
+ 426: 6(int) Load 8(invocation)
+ 427: 266(ptr) AccessChain 34(data) 59 47
+ 428: 20(i8vec4) Load 427
+ 429: 276(i8vec3) VectorShuffle 428 428 0 1 2
+ 430: 276(i8vec3) GroupNonUniformBitwiseOr 43 ClusteredReduce 429 42
+ 431: 259(ptr) AccessChain 34(data) 426 47 38
+ 432: 19(int8_t) CompositeExtract 430 0
+ Store 431 432
+ 433: 259(ptr) AccessChain 34(data) 426 47 42
+ 434: 19(int8_t) CompositeExtract 430 1
+ Store 433 434
+ 435: 259(ptr) AccessChain 34(data) 426 47 69
+ 436: 19(int8_t) CompositeExtract 430 2
+ Store 435 436
+ 437: 6(int) Load 8(invocation)
+ 438: 266(ptr) AccessChain 34(data) 73 47
+ 439: 20(i8vec4) Load 438
+ 440: 20(i8vec4) GroupNonUniformBitwiseOr 43 ClusteredReduce 439 42
+ 441: 266(ptr) AccessChain 34(data) 437 47
+ Store 441 440
+ 442: 6(int) Load 8(invocation)
+ 443: 259(ptr) AccessChain 34(data) 37 47 38
+ 444: 19(int8_t) Load 443
+ 445: 19(int8_t) GroupNonUniformBitwiseXor 43 ClusteredReduce 444 42
+ 446: 259(ptr) AccessChain 34(data) 442 47 38
+ Store 446 445
+ 447: 6(int) Load 8(invocation)
+ 448: 266(ptr) AccessChain 34(data) 47 47
+ 449: 20(i8vec4) Load 448
+ 450: 265(i8vec2) VectorShuffle 449 449 0 1
+ 451: 265(i8vec2) GroupNonUniformBitwiseXor 43 ClusteredReduce 450 42
+ 452: 259(ptr) AccessChain 34(data) 447 47 38
+ 453: 19(int8_t) CompositeExtract 451 0
+ Store 452 453
+ 454: 259(ptr) AccessChain 34(data) 447 47 42
+ 455: 19(int8_t) CompositeExtract 451 1
+ Store 454 455
+ 456: 6(int) Load 8(invocation)
+ 457: 266(ptr) AccessChain 34(data) 59 47
+ 458: 20(i8vec4) Load 457
+ 459: 276(i8vec3) VectorShuffle 458 458 0 1 2
+ 460: 276(i8vec3) GroupNonUniformBitwiseXor 43 ClusteredReduce 459 42
+ 461: 259(ptr) AccessChain 34(data) 456 47 38
+ 462: 19(int8_t) CompositeExtract 460 0
+ Store 461 462
+ 463: 259(ptr) AccessChain 34(data) 456 47 42
+ 464: 19(int8_t) CompositeExtract 460 1
+ Store 463 464
+ 465: 259(ptr) AccessChain 34(data) 456 47 69
+ 466: 19(int8_t) CompositeExtract 460 2
+ Store 465 466
+ 467: 6(int) Load 8(invocation)
+ 468: 266(ptr) AccessChain 34(data) 73 47
+ 469: 20(i8vec4) Load 468
+ 470: 20(i8vec4) GroupNonUniformBitwiseXor 43 ClusteredReduce 469 42
+ 471: 266(ptr) AccessChain 34(data) 467 47
+ Store 471 470
+ 472: 6(int) Load 8(invocation)
+ 474: 473(ptr) AccessChain 34(data) 37 59 38
+ 475: 21(int16_t) Load 474
+ 476: 21(int16_t) GroupNonUniformIAdd 43 ClusteredReduce 475 42
+ 477: 473(ptr) AccessChain 34(data) 472 59 38
+ Store 477 476
+ 478: 6(int) Load 8(invocation)
+ 481: 480(ptr) AccessChain 34(data) 47 59
482: 22(i16vec4) Load 481
- 483: 22(i16vec4) VectorShuffle 482 480 4 5 2 3
- Store 481 483
- 484: 6(int) Load 8(invocation)
- 485: 423(ptr) AccessChain 34(data) 58 58
- 486: 22(i16vec4) Load 485
- 487:432(i16vec3) VectorShuffle 486 486 0 1 2
- 488:432(i16vec3) GroupNonUniformSMin 43 ClusteredReduce 487 42
- 489: 423(ptr) AccessChain 34(data) 484 58
- 490: 22(i16vec4) Load 489
- 491: 22(i16vec4) VectorShuffle 490 488 4 5 6 3
- Store 489 491
- 492: 6(int) Load 8(invocation)
- 493: 423(ptr) AccessChain 34(data) 68 58
- 494: 22(i16vec4) Load 493
- 495: 22(i16vec4) GroupNonUniformSMin 43 ClusteredReduce 494 42
- 496: 423(ptr) AccessChain 34(data) 492 58
- Store 496 495
- 497: 6(int) Load 8(invocation)
- 498: 416(ptr) AccessChain 34(data) 37 58 38
- 499: 21(int16_t) Load 498
- 500: 21(int16_t) GroupNonUniformSMax 43 ClusteredReduce 499 42
- 501: 416(ptr) AccessChain 34(data) 497 58 38
- Store 501 500
- 502: 6(int) Load 8(invocation)
- 503: 423(ptr) AccessChain 34(data) 47 58
- 504: 22(i16vec4) Load 503
- 505:422(i16vec2) VectorShuffle 504 504 0 1
- 506:422(i16vec2) GroupNonUniformSMax 43 ClusteredReduce 505 42
- 507: 423(ptr) AccessChain 34(data) 502 58
- 508: 22(i16vec4) Load 507
- 509: 22(i16vec4) VectorShuffle 508 506 4 5 2 3
- Store 507 509
- 510: 6(int) Load 8(invocation)
- 511: 423(ptr) AccessChain 34(data) 58 58
- 512: 22(i16vec4) Load 511
- 513:432(i16vec3) VectorShuffle 512 512 0 1 2
- 514:432(i16vec3) GroupNonUniformSMax 43 ClusteredReduce 513 42
- 515: 423(ptr) AccessChain 34(data) 510 58
- 516: 22(i16vec4) Load 515
- 517: 22(i16vec4) VectorShuffle 516 514 4 5 6 3
- Store 515 517
- 518: 6(int) Load 8(invocation)
- 519: 423(ptr) AccessChain 34(data) 68 58
- 520: 22(i16vec4) Load 519
- 521: 22(i16vec4) GroupNonUniformSMax 43 ClusteredReduce 520 42
- 522: 423(ptr) AccessChain 34(data) 518 58
- Store 522 521
- 523: 6(int) Load 8(invocation)
- 524: 416(ptr) AccessChain 34(data) 37 58 38
- 525: 21(int16_t) Load 524
- 526: 21(int16_t) GroupNonUniformBitwiseAnd 43 ClusteredReduce 525 42
- 527: 416(ptr) AccessChain 34(data) 523 58 38
- Store 527 526
- 528: 6(int) Load 8(invocation)
- 529: 423(ptr) AccessChain 34(data) 47 58
- 530: 22(i16vec4) Load 529
- 531:422(i16vec2) VectorShuffle 530 530 0 1
- 532:422(i16vec2) GroupNonUniformBitwiseAnd 43 ClusteredReduce 531 42
- 533: 423(ptr) AccessChain 34(data) 528 58
- 534: 22(i16vec4) Load 533
- 535: 22(i16vec4) VectorShuffle 534 532 4 5 2 3
- Store 533 535
+ 483:479(i16vec2) VectorShuffle 482 482 0 1
+ 484:479(i16vec2) GroupNonUniformIAdd 43 ClusteredReduce 483 42
+ 485: 473(ptr) AccessChain 34(data) 478 59 38
+ 486: 21(int16_t) CompositeExtract 484 0
+ Store 485 486
+ 487: 473(ptr) AccessChain 34(data) 478 59 42
+ 488: 21(int16_t) CompositeExtract 484 1
+ Store 487 488
+ 489: 6(int) Load 8(invocation)
+ 491: 480(ptr) AccessChain 34(data) 59 59
+ 492: 22(i16vec4) Load 491
+ 493:490(i16vec3) VectorShuffle 492 492 0 1 2
+ 494:490(i16vec3) GroupNonUniformIAdd 43 ClusteredReduce 493 42
+ 495: 473(ptr) AccessChain 34(data) 489 59 38
+ 496: 21(int16_t) CompositeExtract 494 0
+ Store 495 496
+ 497: 473(ptr) AccessChain 34(data) 489 59 42
+ 498: 21(int16_t) CompositeExtract 494 1
+ Store 497 498
+ 499: 473(ptr) AccessChain 34(data) 489 59 69
+ 500: 21(int16_t) CompositeExtract 494 2
+ Store 499 500
+ 501: 6(int) Load 8(invocation)
+ 502: 480(ptr) AccessChain 34(data) 73 59
+ 503: 22(i16vec4) Load 502
+ 504: 22(i16vec4) GroupNonUniformIAdd 43 ClusteredReduce 503 42
+ 505: 480(ptr) AccessChain 34(data) 501 59
+ Store 505 504
+ 506: 6(int) Load 8(invocation)
+ 507: 473(ptr) AccessChain 34(data) 37 59 38
+ 508: 21(int16_t) Load 507
+ 509: 21(int16_t) GroupNonUniformIMul 43 ClusteredReduce 508 42
+ 510: 473(ptr) AccessChain 34(data) 506 59 38
+ Store 510 509
+ 511: 6(int) Load 8(invocation)
+ 512: 480(ptr) AccessChain 34(data) 47 59
+ 513: 22(i16vec4) Load 512
+ 514:479(i16vec2) VectorShuffle 513 513 0 1
+ 515:479(i16vec2) GroupNonUniformIMul 43 ClusteredReduce 514 42
+ 516: 473(ptr) AccessChain 34(data) 511 59 38
+ 517: 21(int16_t) CompositeExtract 515 0
+ Store 516 517
+ 518: 473(ptr) AccessChain 34(data) 511 59 42
+ 519: 21(int16_t) CompositeExtract 515 1
+ Store 518 519
+ 520: 6(int) Load 8(invocation)
+ 521: 480(ptr) AccessChain 34(data) 59 59
+ 522: 22(i16vec4) Load 521
+ 523:490(i16vec3) VectorShuffle 522 522 0 1 2
+ 524:490(i16vec3) GroupNonUniformIMul 43 ClusteredReduce 523 42
+ 525: 473(ptr) AccessChain 34(data) 520 59 38
+ 526: 21(int16_t) CompositeExtract 524 0
+ Store 525 526
+ 527: 473(ptr) AccessChain 34(data) 520 59 42
+ 528: 21(int16_t) CompositeExtract 524 1
+ Store 527 528
+ 529: 473(ptr) AccessChain 34(data) 520 59 69
+ 530: 21(int16_t) CompositeExtract 524 2
+ Store 529 530
+ 531: 6(int) Load 8(invocation)
+ 532: 480(ptr) AccessChain 34(data) 73 59
+ 533: 22(i16vec4) Load 532
+ 534: 22(i16vec4) GroupNonUniformIMul 43 ClusteredReduce 533 42
+ 535: 480(ptr) AccessChain 34(data) 531 59
+ Store 535 534
536: 6(int) Load 8(invocation)
- 537: 423(ptr) AccessChain 34(data) 58 58
- 538: 22(i16vec4) Load 537
- 539:432(i16vec3) VectorShuffle 538 538 0 1 2
- 540:432(i16vec3) GroupNonUniformBitwiseAnd 43 ClusteredReduce 539 42
- 541: 423(ptr) AccessChain 34(data) 536 58
- 542: 22(i16vec4) Load 541
- 543: 22(i16vec4) VectorShuffle 542 540 4 5 6 3
- Store 541 543
- 544: 6(int) Load 8(invocation)
- 545: 423(ptr) AccessChain 34(data) 68 58
- 546: 22(i16vec4) Load 545
- 547: 22(i16vec4) GroupNonUniformBitwiseAnd 43 ClusteredReduce 546 42
- 548: 423(ptr) AccessChain 34(data) 544 58
- Store 548 547
- 549: 6(int) Load 8(invocation)
- 550: 416(ptr) AccessChain 34(data) 37 58 38
- 551: 21(int16_t) Load 550
- 552: 21(int16_t) GroupNonUniformBitwiseOr 43 ClusteredReduce 551 42
- 553: 416(ptr) AccessChain 34(data) 549 58 38
- Store 553 552
- 554: 6(int) Load 8(invocation)
- 555: 423(ptr) AccessChain 34(data) 47 58
- 556: 22(i16vec4) Load 555
- 557:422(i16vec2) VectorShuffle 556 556 0 1
- 558:422(i16vec2) GroupNonUniformBitwiseOr 43 ClusteredReduce 557 42
- 559: 423(ptr) AccessChain 34(data) 554 58
- 560: 22(i16vec4) Load 559
- 561: 22(i16vec4) VectorShuffle 560 558 4 5 2 3
- Store 559 561
- 562: 6(int) Load 8(invocation)
- 563: 423(ptr) AccessChain 34(data) 58 58
- 564: 22(i16vec4) Load 563
- 565:432(i16vec3) VectorShuffle 564 564 0 1 2
- 566:432(i16vec3) GroupNonUniformBitwiseOr 43 ClusteredReduce 565 42
- 567: 423(ptr) AccessChain 34(data) 562 58
- 568: 22(i16vec4) Load 567
- 569: 22(i16vec4) VectorShuffle 568 566 4 5 6 3
- Store 567 569
- 570: 6(int) Load 8(invocation)
- 571: 423(ptr) AccessChain 34(data) 68 58
- 572: 22(i16vec4) Load 571
- 573: 22(i16vec4) GroupNonUniformBitwiseOr 43 ClusteredReduce 572 42
- 574: 423(ptr) AccessChain 34(data) 570 58
- Store 574 573
- 575: 6(int) Load 8(invocation)
- 576: 416(ptr) AccessChain 34(data) 37 58 38
- 577: 21(int16_t) Load 576
- 578: 21(int16_t) GroupNonUniformBitwiseXor 43 ClusteredReduce 577 42
- 579: 416(ptr) AccessChain 34(data) 575 58 38
- Store 579 578
+ 537: 473(ptr) AccessChain 34(data) 37 59 38
+ 538: 21(int16_t) Load 537
+ 539: 21(int16_t) GroupNonUniformSMin 43 ClusteredReduce 538 42
+ 540: 473(ptr) AccessChain 34(data) 536 59 38
+ Store 540 539
+ 541: 6(int) Load 8(invocation)
+ 542: 480(ptr) AccessChain 34(data) 47 59
+ 543: 22(i16vec4) Load 542
+ 544:479(i16vec2) VectorShuffle 543 543 0 1
+ 545:479(i16vec2) GroupNonUniformSMin 43 ClusteredReduce 544 42
+ 546: 473(ptr) AccessChain 34(data) 541 59 38
+ 547: 21(int16_t) CompositeExtract 545 0
+ Store 546 547
+ 548: 473(ptr) AccessChain 34(data) 541 59 42
+ 549: 21(int16_t) CompositeExtract 545 1
+ Store 548 549
+ 550: 6(int) Load 8(invocation)
+ 551: 480(ptr) AccessChain 34(data) 59 59
+ 552: 22(i16vec4) Load 551
+ 553:490(i16vec3) VectorShuffle 552 552 0 1 2
+ 554:490(i16vec3) GroupNonUniformSMin 43 ClusteredReduce 553 42
+ 555: 473(ptr) AccessChain 34(data) 550 59 38
+ 556: 21(int16_t) CompositeExtract 554 0
+ Store 555 556
+ 557: 473(ptr) AccessChain 34(data) 550 59 42
+ 558: 21(int16_t) CompositeExtract 554 1
+ Store 557 558
+ 559: 473(ptr) AccessChain 34(data) 550 59 69
+ 560: 21(int16_t) CompositeExtract 554 2
+ Store 559 560
+ 561: 6(int) Load 8(invocation)
+ 562: 480(ptr) AccessChain 34(data) 73 59
+ 563: 22(i16vec4) Load 562
+ 564: 22(i16vec4) GroupNonUniformSMin 43 ClusteredReduce 563 42
+ 565: 480(ptr) AccessChain 34(data) 561 59
+ Store 565 564
+ 566: 6(int) Load 8(invocation)
+ 567: 473(ptr) AccessChain 34(data) 37 59 38
+ 568: 21(int16_t) Load 567
+ 569: 21(int16_t) GroupNonUniformSMax 43 ClusteredReduce 568 42
+ 570: 473(ptr) AccessChain 34(data) 566 59 38
+ Store 570 569
+ 571: 6(int) Load 8(invocation)
+ 572: 480(ptr) AccessChain 34(data) 47 59
+ 573: 22(i16vec4) Load 572
+ 574:479(i16vec2) VectorShuffle 573 573 0 1
+ 575:479(i16vec2) GroupNonUniformSMax 43 ClusteredReduce 574 42
+ 576: 473(ptr) AccessChain 34(data) 571 59 38
+ 577: 21(int16_t) CompositeExtract 575 0
+ Store 576 577
+ 578: 473(ptr) AccessChain 34(data) 571 59 42
+ 579: 21(int16_t) CompositeExtract 575 1
+ Store 578 579
580: 6(int) Load 8(invocation)
- 581: 423(ptr) AccessChain 34(data) 47 58
+ 581: 480(ptr) AccessChain 34(data) 59 59
582: 22(i16vec4) Load 581
- 583:422(i16vec2) VectorShuffle 582 582 0 1
- 584:422(i16vec2) GroupNonUniformBitwiseXor 43 ClusteredReduce 583 42
- 585: 423(ptr) AccessChain 34(data) 580 58
- 586: 22(i16vec4) Load 585
- 587: 22(i16vec4) VectorShuffle 586 584 4 5 2 3
- Store 585 587
- 588: 6(int) Load 8(invocation)
- 589: 423(ptr) AccessChain 34(data) 58 58
- 590: 22(i16vec4) Load 589
- 591:432(i16vec3) VectorShuffle 590 590 0 1 2
- 592:432(i16vec3) GroupNonUniformBitwiseXor 43 ClusteredReduce 591 42
- 593: 423(ptr) AccessChain 34(data) 588 58
- 594: 22(i16vec4) Load 593
- 595: 22(i16vec4) VectorShuffle 594 592 4 5 6 3
- Store 593 595
+ 583:490(i16vec3) VectorShuffle 582 582 0 1 2
+ 584:490(i16vec3) GroupNonUniformSMax 43 ClusteredReduce 583 42
+ 585: 473(ptr) AccessChain 34(data) 580 59 38
+ 586: 21(int16_t) CompositeExtract 584 0
+ Store 585 586
+ 587: 473(ptr) AccessChain 34(data) 580 59 42
+ 588: 21(int16_t) CompositeExtract 584 1
+ Store 587 588
+ 589: 473(ptr) AccessChain 34(data) 580 59 69
+ 590: 21(int16_t) CompositeExtract 584 2
+ Store 589 590
+ 591: 6(int) Load 8(invocation)
+ 592: 480(ptr) AccessChain 34(data) 73 59
+ 593: 22(i16vec4) Load 592
+ 594: 22(i16vec4) GroupNonUniformSMax 43 ClusteredReduce 593 42
+ 595: 480(ptr) AccessChain 34(data) 591 59
+ Store 595 594
596: 6(int) Load 8(invocation)
- 597: 423(ptr) AccessChain 34(data) 68 58
- 598: 22(i16vec4) Load 597
- 599: 22(i16vec4) GroupNonUniformBitwiseXor 43 ClusteredReduce 598 42
- 600: 423(ptr) AccessChain 34(data) 596 58
+ 597: 473(ptr) AccessChain 34(data) 37 59 38
+ 598: 21(int16_t) Load 597
+ 599: 21(int16_t) GroupNonUniformBitwiseAnd 43 ClusteredReduce 598 42
+ 600: 473(ptr) AccessChain 34(data) 596 59 38
Store 600 599
601: 6(int) Load 8(invocation)
- 603: 602(ptr) AccessChain 34(data) 37 68 38
- 604: 23(int16_t) Load 603
- 605: 23(int16_t) GroupNonUniformIAdd 43 ClusteredReduce 604 42
- 606: 602(ptr) AccessChain 34(data) 601 68 38
- Store 606 605
- 607: 6(int) Load 8(invocation)
- 610: 609(ptr) AccessChain 34(data) 47 68
- 611: 24(i16vec4) Load 610
- 612:608(i16vec2) VectorShuffle 611 611 0 1
- 613:608(i16vec2) GroupNonUniformIAdd 43 ClusteredReduce 612 42
- 614: 609(ptr) AccessChain 34(data) 607 68
- 615: 24(i16vec4) Load 614
- 616: 24(i16vec4) VectorShuffle 615 613 4 5 2 3
- Store 614 616
- 617: 6(int) Load 8(invocation)
- 619: 609(ptr) AccessChain 34(data) 58 68
- 620: 24(i16vec4) Load 619
- 621:618(i16vec3) VectorShuffle 620 620 0 1 2
- 622:618(i16vec3) GroupNonUniformIAdd 43 ClusteredReduce 621 42
- 623: 609(ptr) AccessChain 34(data) 617 68
- 624: 24(i16vec4) Load 623
- 625: 24(i16vec4) VectorShuffle 624 622 4 5 6 3
- Store 623 625
+ 602: 480(ptr) AccessChain 34(data) 47 59
+ 603: 22(i16vec4) Load 602
+ 604:479(i16vec2) VectorShuffle 603 603 0 1
+ 605:479(i16vec2) GroupNonUniformBitwiseAnd 43 ClusteredReduce 604 42
+ 606: 473(ptr) AccessChain 34(data) 601 59 38
+ 607: 21(int16_t) CompositeExtract 605 0
+ Store 606 607
+ 608: 473(ptr) AccessChain 34(data) 601 59 42
+ 609: 21(int16_t) CompositeExtract 605 1
+ Store 608 609
+ 610: 6(int) Load 8(invocation)
+ 611: 480(ptr) AccessChain 34(data) 59 59
+ 612: 22(i16vec4) Load 611
+ 613:490(i16vec3) VectorShuffle 612 612 0 1 2
+ 614:490(i16vec3) GroupNonUniformBitwiseAnd 43 ClusteredReduce 613 42
+ 615: 473(ptr) AccessChain 34(data) 610 59 38
+ 616: 21(int16_t) CompositeExtract 614 0
+ Store 615 616
+ 617: 473(ptr) AccessChain 34(data) 610 59 42
+ 618: 21(int16_t) CompositeExtract 614 1
+ Store 617 618
+ 619: 473(ptr) AccessChain 34(data) 610 59 69
+ 620: 21(int16_t) CompositeExtract 614 2
+ Store 619 620
+ 621: 6(int) Load 8(invocation)
+ 622: 480(ptr) AccessChain 34(data) 73 59
+ 623: 22(i16vec4) Load 622
+ 624: 22(i16vec4) GroupNonUniformBitwiseAnd 43 ClusteredReduce 623 42
+ 625: 480(ptr) AccessChain 34(data) 621 59
+ Store 625 624
626: 6(int) Load 8(invocation)
- 627: 609(ptr) AccessChain 34(data) 68 68
- 628: 24(i16vec4) Load 627
- 629: 24(i16vec4) GroupNonUniformIAdd 43 ClusteredReduce 628 42
- 630: 609(ptr) AccessChain 34(data) 626 68
+ 627: 473(ptr) AccessChain 34(data) 37 59 38
+ 628: 21(int16_t) Load 627
+ 629: 21(int16_t) GroupNonUniformBitwiseOr 43 ClusteredReduce 628 42
+ 630: 473(ptr) AccessChain 34(data) 626 59 38
Store 630 629
631: 6(int) Load 8(invocation)
- 632: 602(ptr) AccessChain 34(data) 37 68 38
- 633: 23(int16_t) Load 632
- 634: 23(int16_t) GroupNonUniformIMul 43 ClusteredReduce 633 42
- 635: 602(ptr) AccessChain 34(data) 631 68 38
- Store 635 634
- 636: 6(int) Load 8(invocation)
- 637: 609(ptr) AccessChain 34(data) 47 68
- 638: 24(i16vec4) Load 637
- 639:608(i16vec2) VectorShuffle 638 638 0 1
- 640:608(i16vec2) GroupNonUniformIMul 43 ClusteredReduce 639 42
- 641: 609(ptr) AccessChain 34(data) 636 68
- 642: 24(i16vec4) Load 641
- 643: 24(i16vec4) VectorShuffle 642 640 4 5 2 3
- Store 641 643
- 644: 6(int) Load 8(invocation)
- 645: 609(ptr) AccessChain 34(data) 58 68
- 646: 24(i16vec4) Load 645
- 647:618(i16vec3) VectorShuffle 646 646 0 1 2
- 648:618(i16vec3) GroupNonUniformIMul 43 ClusteredReduce 647 42
- 649: 609(ptr) AccessChain 34(data) 644 68
- 650: 24(i16vec4) Load 649
- 651: 24(i16vec4) VectorShuffle 650 648 4 5 6 3
- Store 649 651
- 652: 6(int) Load 8(invocation)
- 653: 609(ptr) AccessChain 34(data) 68 68
- 654: 24(i16vec4) Load 653
- 655: 24(i16vec4) GroupNonUniformIMul 43 ClusteredReduce 654 42
- 656: 609(ptr) AccessChain 34(data) 652 68
- Store 656 655
- 657: 6(int) Load 8(invocation)
- 658: 602(ptr) AccessChain 34(data) 37 68 38
- 659: 23(int16_t) Load 658
- 660: 23(int16_t) GroupNonUniformUMin 43 ClusteredReduce 659 42
- 661: 602(ptr) AccessChain 34(data) 657 68 38
- Store 661 660
- 662: 6(int) Load 8(invocation)
- 663: 609(ptr) AccessChain 34(data) 47 68
- 664: 24(i16vec4) Load 663
- 665:608(i16vec2) VectorShuffle 664 664 0 1
- 666:608(i16vec2) GroupNonUniformUMin 43 ClusteredReduce 665 42
- 667: 609(ptr) AccessChain 34(data) 662 68
- 668: 24(i16vec4) Load 667
- 669: 24(i16vec4) VectorShuffle 668 666 4 5 2 3
- Store 667 669
+ 632: 480(ptr) AccessChain 34(data) 47 59
+ 633: 22(i16vec4) Load 632
+ 634:479(i16vec2) VectorShuffle 633 633 0 1
+ 635:479(i16vec2) GroupNonUniformBitwiseOr 43 ClusteredReduce 634 42
+ 636: 473(ptr) AccessChain 34(data) 631 59 38
+ 637: 21(int16_t) CompositeExtract 635 0
+ Store 636 637
+ 638: 473(ptr) AccessChain 34(data) 631 59 42
+ 639: 21(int16_t) CompositeExtract 635 1
+ Store 638 639
+ 640: 6(int) Load 8(invocation)
+ 641: 480(ptr) AccessChain 34(data) 59 59
+ 642: 22(i16vec4) Load 641
+ 643:490(i16vec3) VectorShuffle 642 642 0 1 2
+ 644:490(i16vec3) GroupNonUniformBitwiseOr 43 ClusteredReduce 643 42
+ 645: 473(ptr) AccessChain 34(data) 640 59 38
+ 646: 21(int16_t) CompositeExtract 644 0
+ Store 645 646
+ 647: 473(ptr) AccessChain 34(data) 640 59 42
+ 648: 21(int16_t) CompositeExtract 644 1
+ Store 647 648
+ 649: 473(ptr) AccessChain 34(data) 640 59 69
+ 650: 21(int16_t) CompositeExtract 644 2
+ Store 649 650
+ 651: 6(int) Load 8(invocation)
+ 652: 480(ptr) AccessChain 34(data) 73 59
+ 653: 22(i16vec4) Load 652
+ 654: 22(i16vec4) GroupNonUniformBitwiseOr 43 ClusteredReduce 653 42
+ 655: 480(ptr) AccessChain 34(data) 651 59
+ Store 655 654
+ 656: 6(int) Load 8(invocation)
+ 657: 473(ptr) AccessChain 34(data) 37 59 38
+ 658: 21(int16_t) Load 657
+ 659: 21(int16_t) GroupNonUniformBitwiseXor 43 ClusteredReduce 658 42
+ 660: 473(ptr) AccessChain 34(data) 656 59 38
+ Store 660 659
+ 661: 6(int) Load 8(invocation)
+ 662: 480(ptr) AccessChain 34(data) 47 59
+ 663: 22(i16vec4) Load 662
+ 664:479(i16vec2) VectorShuffle 663 663 0 1
+ 665:479(i16vec2) GroupNonUniformBitwiseXor 43 ClusteredReduce 664 42
+ 666: 473(ptr) AccessChain 34(data) 661 59 38
+ 667: 21(int16_t) CompositeExtract 665 0
+ Store 666 667
+ 668: 473(ptr) AccessChain 34(data) 661 59 42
+ 669: 21(int16_t) CompositeExtract 665 1
+ Store 668 669
670: 6(int) Load 8(invocation)
- 671: 609(ptr) AccessChain 34(data) 58 68
- 672: 24(i16vec4) Load 671
- 673:618(i16vec3) VectorShuffle 672 672 0 1 2
- 674:618(i16vec3) GroupNonUniformUMin 43 ClusteredReduce 673 42
- 675: 609(ptr) AccessChain 34(data) 670 68
- 676: 24(i16vec4) Load 675
- 677: 24(i16vec4) VectorShuffle 676 674 4 5 6 3
- Store 675 677
- 678: 6(int) Load 8(invocation)
- 679: 609(ptr) AccessChain 34(data) 68 68
- 680: 24(i16vec4) Load 679
- 681: 24(i16vec4) GroupNonUniformUMin 43 ClusteredReduce 680 42
- 682: 609(ptr) AccessChain 34(data) 678 68
- Store 682 681
- 683: 6(int) Load 8(invocation)
- 684: 602(ptr) AccessChain 34(data) 37 68 38
- 685: 23(int16_t) Load 684
- 686: 23(int16_t) GroupNonUniformUMax 43 ClusteredReduce 685 42
- 687: 602(ptr) AccessChain 34(data) 683 68 38
- Store 687 686
- 688: 6(int) Load 8(invocation)
- 689: 609(ptr) AccessChain 34(data) 47 68
- 690: 24(i16vec4) Load 689
- 691:608(i16vec2) VectorShuffle 690 690 0 1
- 692:608(i16vec2) GroupNonUniformUMax 43 ClusteredReduce 691 42
- 693: 609(ptr) AccessChain 34(data) 688 68
- 694: 24(i16vec4) Load 693
- 695: 24(i16vec4) VectorShuffle 694 692 4 5 2 3
- Store 693 695
- 696: 6(int) Load 8(invocation)
- 697: 609(ptr) AccessChain 34(data) 58 68
- 698: 24(i16vec4) Load 697
- 699:618(i16vec3) VectorShuffle 698 698 0 1 2
- 700:618(i16vec3) GroupNonUniformUMax 43 ClusteredReduce 699 42
- 701: 609(ptr) AccessChain 34(data) 696 68
- 702: 24(i16vec4) Load 701
- 703: 24(i16vec4) VectorShuffle 702 700 4 5 6 3
- Store 701 703
- 704: 6(int) Load 8(invocation)
- 705: 609(ptr) AccessChain 34(data) 68 68
+ 671: 480(ptr) AccessChain 34(data) 59 59
+ 672: 22(i16vec4) Load 671
+ 673:490(i16vec3) VectorShuffle 672 672 0 1 2
+ 674:490(i16vec3) GroupNonUniformBitwiseXor 43 ClusteredReduce 673 42
+ 675: 473(ptr) AccessChain 34(data) 670 59 38
+ 676: 21(int16_t) CompositeExtract 674 0
+ Store 675 676
+ 677: 473(ptr) AccessChain 34(data) 670 59 42
+ 678: 21(int16_t) CompositeExtract 674 1
+ Store 677 678
+ 679: 473(ptr) AccessChain 34(data) 670 59 69
+ 680: 21(int16_t) CompositeExtract 674 2
+ Store 679 680
+ 681: 6(int) Load 8(invocation)
+ 682: 480(ptr) AccessChain 34(data) 73 59
+ 683: 22(i16vec4) Load 682
+ 684: 22(i16vec4) GroupNonUniformBitwiseXor 43 ClusteredReduce 683 42
+ 685: 480(ptr) AccessChain 34(data) 681 59
+ Store 685 684
+ 686: 6(int) Load 8(invocation)
+ 688: 687(ptr) AccessChain 34(data) 37 73 38
+ 689: 23(int16_t) Load 688
+ 690: 23(int16_t) GroupNonUniformIAdd 43 ClusteredReduce 689 42
+ 691: 687(ptr) AccessChain 34(data) 686 73 38
+ Store 691 690
+ 692: 6(int) Load 8(invocation)
+ 695: 694(ptr) AccessChain 34(data) 47 73
+ 696: 24(i16vec4) Load 695
+ 697:693(i16vec2) VectorShuffle 696 696 0 1
+ 698:693(i16vec2) GroupNonUniformIAdd 43 ClusteredReduce 697 42
+ 699: 687(ptr) AccessChain 34(data) 692 73 38
+ 700: 23(int16_t) CompositeExtract 698 0
+ Store 699 700
+ 701: 687(ptr) AccessChain 34(data) 692 73 42
+ 702: 23(int16_t) CompositeExtract 698 1
+ Store 701 702
+ 703: 6(int) Load 8(invocation)
+ 705: 694(ptr) AccessChain 34(data) 59 73
706: 24(i16vec4) Load 705
- 707: 24(i16vec4) GroupNonUniformUMax 43 ClusteredReduce 706 42
- 708: 609(ptr) AccessChain 34(data) 704 68
- Store 708 707
- 709: 6(int) Load 8(invocation)
- 710: 602(ptr) AccessChain 34(data) 37 68 38
- 711: 23(int16_t) Load 710
- 712: 23(int16_t) GroupNonUniformBitwiseAnd 43 ClusteredReduce 711 42
- 713: 602(ptr) AccessChain 34(data) 709 68 38
- Store 713 712
- 714: 6(int) Load 8(invocation)
- 715: 609(ptr) AccessChain 34(data) 47 68
- 716: 24(i16vec4) Load 715
- 717:608(i16vec2) VectorShuffle 716 716 0 1
- 718:608(i16vec2) GroupNonUniformBitwiseAnd 43 ClusteredReduce 717 42
- 719: 609(ptr) AccessChain 34(data) 714 68
- 720: 24(i16vec4) Load 719
- 721: 24(i16vec4) VectorShuffle 720 718 4 5 2 3
- Store 719 721
- 722: 6(int) Load 8(invocation)
- 723: 609(ptr) AccessChain 34(data) 58 68
- 724: 24(i16vec4) Load 723
- 725:618(i16vec3) VectorShuffle 724 724 0 1 2
- 726:618(i16vec3) GroupNonUniformBitwiseAnd 43 ClusteredReduce 725 42
- 727: 609(ptr) AccessChain 34(data) 722 68
- 728: 24(i16vec4) Load 727
- 729: 24(i16vec4) VectorShuffle 728 726 4 5 6 3
- Store 727 729
- 730: 6(int) Load 8(invocation)
- 731: 609(ptr) AccessChain 34(data) 68 68
- 732: 24(i16vec4) Load 731
- 733: 24(i16vec4) GroupNonUniformBitwiseAnd 43 ClusteredReduce 732 42
- 734: 609(ptr) AccessChain 34(data) 730 68
- Store 734 733
- 735: 6(int) Load 8(invocation)
- 736: 602(ptr) AccessChain 34(data) 37 68 38
- 737: 23(int16_t) Load 736
- 738: 23(int16_t) GroupNonUniformBitwiseOr 43 ClusteredReduce 737 42
- 739: 602(ptr) AccessChain 34(data) 735 68 38
- Store 739 738
- 740: 6(int) Load 8(invocation)
- 741: 609(ptr) AccessChain 34(data) 47 68
- 742: 24(i16vec4) Load 741
- 743:608(i16vec2) VectorShuffle 742 742 0 1
- 744:608(i16vec2) GroupNonUniformBitwiseOr 43 ClusteredReduce 743 42
- 745: 609(ptr) AccessChain 34(data) 740 68
- 746: 24(i16vec4) Load 745
- 747: 24(i16vec4) VectorShuffle 746 744 4 5 2 3
- Store 745 747
- 748: 6(int) Load 8(invocation)
- 749: 609(ptr) AccessChain 34(data) 58 68
- 750: 24(i16vec4) Load 749
- 751:618(i16vec3) VectorShuffle 750 750 0 1 2
- 752:618(i16vec3) GroupNonUniformBitwiseOr 43 ClusteredReduce 751 42
- 753: 609(ptr) AccessChain 34(data) 748 68
- 754: 24(i16vec4) Load 753
- 755: 24(i16vec4) VectorShuffle 754 752 4 5 6 3
- Store 753 755
- 756: 6(int) Load 8(invocation)
- 757: 609(ptr) AccessChain 34(data) 68 68
- 758: 24(i16vec4) Load 757
- 759: 24(i16vec4) GroupNonUniformBitwiseOr 43 ClusteredReduce 758 42
- 760: 609(ptr) AccessChain 34(data) 756 68
- Store 760 759
- 761: 6(int) Load 8(invocation)
- 762: 602(ptr) AccessChain 34(data) 37 68 38
- 763: 23(int16_t) Load 762
- 764: 23(int16_t) GroupNonUniformBitwiseXor 43 ClusteredReduce 763 42
- 765: 602(ptr) AccessChain 34(data) 761 68 38
- Store 765 764
- 766: 6(int) Load 8(invocation)
- 767: 609(ptr) AccessChain 34(data) 47 68
- 768: 24(i16vec4) Load 767
- 769:608(i16vec2) VectorShuffle 768 768 0 1
- 770:608(i16vec2) GroupNonUniformBitwiseXor 43 ClusteredReduce 769 42
- 771: 609(ptr) AccessChain 34(data) 766 68
- 772: 24(i16vec4) Load 771
- 773: 24(i16vec4) VectorShuffle 772 770 4 5 2 3
- Store 771 773
- 774: 6(int) Load 8(invocation)
- 775: 609(ptr) AccessChain 34(data) 58 68
- 776: 24(i16vec4) Load 775
- 777:618(i16vec3) VectorShuffle 776 776 0 1 2
- 778:618(i16vec3) GroupNonUniformBitwiseXor 43 ClusteredReduce 777 42
- 779: 609(ptr) AccessChain 34(data) 774 68
- 780: 24(i16vec4) Load 779
- 781: 24(i16vec4) VectorShuffle 780 778 4 5 6 3
- Store 779 781
- 782: 6(int) Load 8(invocation)
- 783: 609(ptr) AccessChain 34(data) 68 68
- 784: 24(i16vec4) Load 783
- 785: 24(i16vec4) GroupNonUniformBitwiseXor 43 ClusteredReduce 784 42
- 786: 609(ptr) AccessChain 34(data) 782 68
- Store 786 785
- 787: 6(int) Load 8(invocation)
- 790: 789(ptr) AccessChain 34(data) 37 788 38
- 791: 25(int64_t) Load 790
- 792: 25(int64_t) GroupNonUniformIAdd 43 ClusteredReduce 791 42
- 793: 789(ptr) AccessChain 34(data) 787 788 38
- Store 793 792
+ 707:704(i16vec3) VectorShuffle 706 706 0 1 2
+ 708:704(i16vec3) GroupNonUniformIAdd 43 ClusteredReduce 707 42
+ 709: 687(ptr) AccessChain 34(data) 703 73 38
+ 710: 23(int16_t) CompositeExtract 708 0
+ Store 709 710
+ 711: 687(ptr) AccessChain 34(data) 703 73 42
+ 712: 23(int16_t) CompositeExtract 708 1
+ Store 711 712
+ 713: 687(ptr) AccessChain 34(data) 703 73 69
+ 714: 23(int16_t) CompositeExtract 708 2
+ Store 713 714
+ 715: 6(int) Load 8(invocation)
+ 716: 694(ptr) AccessChain 34(data) 73 73
+ 717: 24(i16vec4) Load 716
+ 718: 24(i16vec4) GroupNonUniformIAdd 43 ClusteredReduce 717 42
+ 719: 694(ptr) AccessChain 34(data) 715 73
+ Store 719 718
+ 720: 6(int) Load 8(invocation)
+ 721: 687(ptr) AccessChain 34(data) 37 73 38
+ 722: 23(int16_t) Load 721
+ 723: 23(int16_t) GroupNonUniformIMul 43 ClusteredReduce 722 42
+ 724: 687(ptr) AccessChain 34(data) 720 73 38
+ Store 724 723
+ 725: 6(int) Load 8(invocation)
+ 726: 694(ptr) AccessChain 34(data) 47 73
+ 727: 24(i16vec4) Load 726
+ 728:693(i16vec2) VectorShuffle 727 727 0 1
+ 729:693(i16vec2) GroupNonUniformIMul 43 ClusteredReduce 728 42
+ 730: 687(ptr) AccessChain 34(data) 725 73 38
+ 731: 23(int16_t) CompositeExtract 729 0
+ Store 730 731
+ 732: 687(ptr) AccessChain 34(data) 725 73 42
+ 733: 23(int16_t) CompositeExtract 729 1
+ Store 732 733
+ 734: 6(int) Load 8(invocation)
+ 735: 694(ptr) AccessChain 34(data) 59 73
+ 736: 24(i16vec4) Load 735
+ 737:704(i16vec3) VectorShuffle 736 736 0 1 2
+ 738:704(i16vec3) GroupNonUniformIMul 43 ClusteredReduce 737 42
+ 739: 687(ptr) AccessChain 34(data) 734 73 38
+ 740: 23(int16_t) CompositeExtract 738 0
+ Store 739 740
+ 741: 687(ptr) AccessChain 34(data) 734 73 42
+ 742: 23(int16_t) CompositeExtract 738 1
+ Store 741 742
+ 743: 687(ptr) AccessChain 34(data) 734 73 69
+ 744: 23(int16_t) CompositeExtract 738 2
+ Store 743 744
+ 745: 6(int) Load 8(invocation)
+ 746: 694(ptr) AccessChain 34(data) 73 73
+ 747: 24(i16vec4) Load 746
+ 748: 24(i16vec4) GroupNonUniformIMul 43 ClusteredReduce 747 42
+ 749: 694(ptr) AccessChain 34(data) 745 73
+ Store 749 748
+ 750: 6(int) Load 8(invocation)
+ 751: 687(ptr) AccessChain 34(data) 37 73 38
+ 752: 23(int16_t) Load 751
+ 753: 23(int16_t) GroupNonUniformUMin 43 ClusteredReduce 752 42
+ 754: 687(ptr) AccessChain 34(data) 750 73 38
+ Store 754 753
+ 755: 6(int) Load 8(invocation)
+ 756: 694(ptr) AccessChain 34(data) 47 73
+ 757: 24(i16vec4) Load 756
+ 758:693(i16vec2) VectorShuffle 757 757 0 1
+ 759:693(i16vec2) GroupNonUniformUMin 43 ClusteredReduce 758 42
+ 760: 687(ptr) AccessChain 34(data) 755 73 38
+ 761: 23(int16_t) CompositeExtract 759 0
+ Store 760 761
+ 762: 687(ptr) AccessChain 34(data) 755 73 42
+ 763: 23(int16_t) CompositeExtract 759 1
+ Store 762 763
+ 764: 6(int) Load 8(invocation)
+ 765: 694(ptr) AccessChain 34(data) 59 73
+ 766: 24(i16vec4) Load 765
+ 767:704(i16vec3) VectorShuffle 766 766 0 1 2
+ 768:704(i16vec3) GroupNonUniformUMin 43 ClusteredReduce 767 42
+ 769: 687(ptr) AccessChain 34(data) 764 73 38
+ 770: 23(int16_t) CompositeExtract 768 0
+ Store 769 770
+ 771: 687(ptr) AccessChain 34(data) 764 73 42
+ 772: 23(int16_t) CompositeExtract 768 1
+ Store 771 772
+ 773: 687(ptr) AccessChain 34(data) 764 73 69
+ 774: 23(int16_t) CompositeExtract 768 2
+ Store 773 774
+ 775: 6(int) Load 8(invocation)
+ 776: 694(ptr) AccessChain 34(data) 73 73
+ 777: 24(i16vec4) Load 776
+ 778: 24(i16vec4) GroupNonUniformUMin 43 ClusteredReduce 777 42
+ 779: 694(ptr) AccessChain 34(data) 775 73
+ Store 779 778
+ 780: 6(int) Load 8(invocation)
+ 781: 687(ptr) AccessChain 34(data) 37 73 38
+ 782: 23(int16_t) Load 781
+ 783: 23(int16_t) GroupNonUniformUMax 43 ClusteredReduce 782 42
+ 784: 687(ptr) AccessChain 34(data) 780 73 38
+ Store 784 783
+ 785: 6(int) Load 8(invocation)
+ 786: 694(ptr) AccessChain 34(data) 47 73
+ 787: 24(i16vec4) Load 786
+ 788:693(i16vec2) VectorShuffle 787 787 0 1
+ 789:693(i16vec2) GroupNonUniformUMax 43 ClusteredReduce 788 42
+ 790: 687(ptr) AccessChain 34(data) 785 73 38
+ 791: 23(int16_t) CompositeExtract 789 0
+ Store 790 791
+ 792: 687(ptr) AccessChain 34(data) 785 73 42
+ 793: 23(int16_t) CompositeExtract 789 1
+ Store 792 793
794: 6(int) Load 8(invocation)
- 797: 796(ptr) AccessChain 34(data) 47 788
- 798: 26(i64vec4) Load 797
- 799:795(i64vec2) VectorShuffle 798 798 0 1
- 800:795(i64vec2) GroupNonUniformIAdd 43 ClusteredReduce 799 42
- 801: 796(ptr) AccessChain 34(data) 794 788
- 802: 26(i64vec4) Load 801
- 803: 26(i64vec4) VectorShuffle 802 800 4 5 2 3
- Store 801 803
- 804: 6(int) Load 8(invocation)
- 806: 796(ptr) AccessChain 34(data) 58 788
- 807: 26(i64vec4) Load 806
- 808:805(i64vec3) VectorShuffle 807 807 0 1 2
- 809:805(i64vec3) GroupNonUniformIAdd 43 ClusteredReduce 808 42
- 810: 796(ptr) AccessChain 34(data) 804 788
- 811: 26(i64vec4) Load 810
- 812: 26(i64vec4) VectorShuffle 811 809 4 5 6 3
- Store 810 812
- 813: 6(int) Load 8(invocation)
- 814: 796(ptr) AccessChain 34(data) 68 788
- 815: 26(i64vec4) Load 814
- 816: 26(i64vec4) GroupNonUniformIAdd 43 ClusteredReduce 815 42
- 817: 796(ptr) AccessChain 34(data) 813 788
- Store 817 816
- 818: 6(int) Load 8(invocation)
- 819: 789(ptr) AccessChain 34(data) 37 788 38
- 820: 25(int64_t) Load 819
- 821: 25(int64_t) GroupNonUniformIMul 43 ClusteredReduce 820 42
- 822: 789(ptr) AccessChain 34(data) 818 788 38
- Store 822 821
- 823: 6(int) Load 8(invocation)
- 824: 796(ptr) AccessChain 34(data) 47 788
- 825: 26(i64vec4) Load 824
- 826:795(i64vec2) VectorShuffle 825 825 0 1
- 827:795(i64vec2) GroupNonUniformIMul 43 ClusteredReduce 826 42
- 828: 796(ptr) AccessChain 34(data) 823 788
- 829: 26(i64vec4) Load 828
- 830: 26(i64vec4) VectorShuffle 829 827 4 5 2 3
- Store 828 830
- 831: 6(int) Load 8(invocation)
- 832: 796(ptr) AccessChain 34(data) 58 788
- 833: 26(i64vec4) Load 832
- 834:805(i64vec3) VectorShuffle 833 833 0 1 2
- 835:805(i64vec3) GroupNonUniformIMul 43 ClusteredReduce 834 42
- 836: 796(ptr) AccessChain 34(data) 831 788
- 837: 26(i64vec4) Load 836
- 838: 26(i64vec4) VectorShuffle 837 835 4 5 6 3
- Store 836 838
- 839: 6(int) Load 8(invocation)
- 840: 796(ptr) AccessChain 34(data) 68 788
- 841: 26(i64vec4) Load 840
- 842: 26(i64vec4) GroupNonUniformIMul 43 ClusteredReduce 841 42
- 843: 796(ptr) AccessChain 34(data) 839 788
- Store 843 842
- 844: 6(int) Load 8(invocation)
- 845: 789(ptr) AccessChain 34(data) 37 788 38
- 846: 25(int64_t) Load 845
- 847: 25(int64_t) GroupNonUniformSMin 43 ClusteredReduce 846 42
- 848: 789(ptr) AccessChain 34(data) 844 788 38
- Store 848 847
- 849: 6(int) Load 8(invocation)
- 850: 796(ptr) AccessChain 34(data) 47 788
- 851: 26(i64vec4) Load 850
- 852:795(i64vec2) VectorShuffle 851 851 0 1
- 853:795(i64vec2) GroupNonUniformSMin 43 ClusteredReduce 852 42
- 854: 796(ptr) AccessChain 34(data) 849 788
- 855: 26(i64vec4) Load 854
- 856: 26(i64vec4) VectorShuffle 855 853 4 5 2 3
- Store 854 856
- 857: 6(int) Load 8(invocation)
- 858: 796(ptr) AccessChain 34(data) 58 788
- 859: 26(i64vec4) Load 858
- 860:805(i64vec3) VectorShuffle 859 859 0 1 2
- 861:805(i64vec3) GroupNonUniformSMin 43 ClusteredReduce 860 42
- 862: 796(ptr) AccessChain 34(data) 857 788
- 863: 26(i64vec4) Load 862
- 864: 26(i64vec4) VectorShuffle 863 861 4 5 6 3
- Store 862 864
+ 795: 694(ptr) AccessChain 34(data) 59 73
+ 796: 24(i16vec4) Load 795
+ 797:704(i16vec3) VectorShuffle 796 796 0 1 2
+ 798:704(i16vec3) GroupNonUniformUMax 43 ClusteredReduce 797 42
+ 799: 687(ptr) AccessChain 34(data) 794 73 38
+ 800: 23(int16_t) CompositeExtract 798 0
+ Store 799 800
+ 801: 687(ptr) AccessChain 34(data) 794 73 42
+ 802: 23(int16_t) CompositeExtract 798 1
+ Store 801 802
+ 803: 687(ptr) AccessChain 34(data) 794 73 69
+ 804: 23(int16_t) CompositeExtract 798 2
+ Store 803 804
+ 805: 6(int) Load 8(invocation)
+ 806: 694(ptr) AccessChain 34(data) 73 73
+ 807: 24(i16vec4) Load 806
+ 808: 24(i16vec4) GroupNonUniformUMax 43 ClusteredReduce 807 42
+ 809: 694(ptr) AccessChain 34(data) 805 73
+ Store 809 808
+ 810: 6(int) Load 8(invocation)
+ 811: 687(ptr) AccessChain 34(data) 37 73 38
+ 812: 23(int16_t) Load 811
+ 813: 23(int16_t) GroupNonUniformBitwiseAnd 43 ClusteredReduce 812 42
+ 814: 687(ptr) AccessChain 34(data) 810 73 38
+ Store 814 813
+ 815: 6(int) Load 8(invocation)
+ 816: 694(ptr) AccessChain 34(data) 47 73
+ 817: 24(i16vec4) Load 816
+ 818:693(i16vec2) VectorShuffle 817 817 0 1
+ 819:693(i16vec2) GroupNonUniformBitwiseAnd 43 ClusteredReduce 818 42
+ 820: 687(ptr) AccessChain 34(data) 815 73 38
+ 821: 23(int16_t) CompositeExtract 819 0
+ Store 820 821
+ 822: 687(ptr) AccessChain 34(data) 815 73 42
+ 823: 23(int16_t) CompositeExtract 819 1
+ Store 822 823
+ 824: 6(int) Load 8(invocation)
+ 825: 694(ptr) AccessChain 34(data) 59 73
+ 826: 24(i16vec4) Load 825
+ 827:704(i16vec3) VectorShuffle 826 826 0 1 2
+ 828:704(i16vec3) GroupNonUniformBitwiseAnd 43 ClusteredReduce 827 42
+ 829: 687(ptr) AccessChain 34(data) 824 73 38
+ 830: 23(int16_t) CompositeExtract 828 0
+ Store 829 830
+ 831: 687(ptr) AccessChain 34(data) 824 73 42
+ 832: 23(int16_t) CompositeExtract 828 1
+ Store 831 832
+ 833: 687(ptr) AccessChain 34(data) 824 73 69
+ 834: 23(int16_t) CompositeExtract 828 2
+ Store 833 834
+ 835: 6(int) Load 8(invocation)
+ 836: 694(ptr) AccessChain 34(data) 73 73
+ 837: 24(i16vec4) Load 836
+ 838: 24(i16vec4) GroupNonUniformBitwiseAnd 43 ClusteredReduce 837 42
+ 839: 694(ptr) AccessChain 34(data) 835 73
+ Store 839 838
+ 840: 6(int) Load 8(invocation)
+ 841: 687(ptr) AccessChain 34(data) 37 73 38
+ 842: 23(int16_t) Load 841
+ 843: 23(int16_t) GroupNonUniformBitwiseOr 43 ClusteredReduce 842 42
+ 844: 687(ptr) AccessChain 34(data) 840 73 38
+ Store 844 843
+ 845: 6(int) Load 8(invocation)
+ 846: 694(ptr) AccessChain 34(data) 47 73
+ 847: 24(i16vec4) Load 846
+ 848:693(i16vec2) VectorShuffle 847 847 0 1
+ 849:693(i16vec2) GroupNonUniformBitwiseOr 43 ClusteredReduce 848 42
+ 850: 687(ptr) AccessChain 34(data) 845 73 38
+ 851: 23(int16_t) CompositeExtract 849 0
+ Store 850 851
+ 852: 687(ptr) AccessChain 34(data) 845 73 42
+ 853: 23(int16_t) CompositeExtract 849 1
+ Store 852 853
+ 854: 6(int) Load 8(invocation)
+ 855: 694(ptr) AccessChain 34(data) 59 73
+ 856: 24(i16vec4) Load 855
+ 857:704(i16vec3) VectorShuffle 856 856 0 1 2
+ 858:704(i16vec3) GroupNonUniformBitwiseOr 43 ClusteredReduce 857 42
+ 859: 687(ptr) AccessChain 34(data) 854 73 38
+ 860: 23(int16_t) CompositeExtract 858 0
+ Store 859 860
+ 861: 687(ptr) AccessChain 34(data) 854 73 42
+ 862: 23(int16_t) CompositeExtract 858 1
+ Store 861 862
+ 863: 687(ptr) AccessChain 34(data) 854 73 69
+ 864: 23(int16_t) CompositeExtract 858 2
+ Store 863 864
865: 6(int) Load 8(invocation)
- 866: 796(ptr) AccessChain 34(data) 68 788
- 867: 26(i64vec4) Load 866
- 868: 26(i64vec4) GroupNonUniformSMin 43 ClusteredReduce 867 42
- 869: 796(ptr) AccessChain 34(data) 865 788
+ 866: 694(ptr) AccessChain 34(data) 73 73
+ 867: 24(i16vec4) Load 866
+ 868: 24(i16vec4) GroupNonUniformBitwiseOr 43 ClusteredReduce 867 42
+ 869: 694(ptr) AccessChain 34(data) 865 73
Store 869 868
870: 6(int) Load 8(invocation)
- 871: 789(ptr) AccessChain 34(data) 37 788 38
- 872: 25(int64_t) Load 871
- 873: 25(int64_t) GroupNonUniformSMax 43 ClusteredReduce 872 42
- 874: 789(ptr) AccessChain 34(data) 870 788 38
+ 871: 687(ptr) AccessChain 34(data) 37 73 38
+ 872: 23(int16_t) Load 871
+ 873: 23(int16_t) GroupNonUniformBitwiseXor 43 ClusteredReduce 872 42
+ 874: 687(ptr) AccessChain 34(data) 870 73 38
Store 874 873
875: 6(int) Load 8(invocation)
- 876: 796(ptr) AccessChain 34(data) 47 788
- 877: 26(i64vec4) Load 876
- 878:795(i64vec2) VectorShuffle 877 877 0 1
- 879:795(i64vec2) GroupNonUniformSMax 43 ClusteredReduce 878 42
- 880: 796(ptr) AccessChain 34(data) 875 788
- 881: 26(i64vec4) Load 880
- 882: 26(i64vec4) VectorShuffle 881 879 4 5 2 3
- Store 880 882
- 883: 6(int) Load 8(invocation)
- 884: 796(ptr) AccessChain 34(data) 58 788
- 885: 26(i64vec4) Load 884
- 886:805(i64vec3) VectorShuffle 885 885 0 1 2
- 887:805(i64vec3) GroupNonUniformSMax 43 ClusteredReduce 886 42
- 888: 796(ptr) AccessChain 34(data) 883 788
- 889: 26(i64vec4) Load 888
- 890: 26(i64vec4) VectorShuffle 889 887 4 5 6 3
- Store 888 890
- 891: 6(int) Load 8(invocation)
- 892: 796(ptr) AccessChain 34(data) 68 788
- 893: 26(i64vec4) Load 892
- 894: 26(i64vec4) GroupNonUniformSMax 43 ClusteredReduce 893 42
- 895: 796(ptr) AccessChain 34(data) 891 788
- Store 895 894
- 896: 6(int) Load 8(invocation)
- 897: 789(ptr) AccessChain 34(data) 37 788 38
- 898: 25(int64_t) Load 897
- 899: 25(int64_t) GroupNonUniformBitwiseAnd 43 ClusteredReduce 898 42
- 900: 789(ptr) AccessChain 34(data) 896 788 38
- Store 900 899
- 901: 6(int) Load 8(invocation)
- 902: 796(ptr) AccessChain 34(data) 47 788
- 903: 26(i64vec4) Load 902
- 904:795(i64vec2) VectorShuffle 903 903 0 1
- 905:795(i64vec2) GroupNonUniformBitwiseAnd 43 ClusteredReduce 904 42
- 906: 796(ptr) AccessChain 34(data) 901 788
- 907: 26(i64vec4) Load 906
- 908: 26(i64vec4) VectorShuffle 907 905 4 5 2 3
- Store 906 908
- 909: 6(int) Load 8(invocation)
- 910: 796(ptr) AccessChain 34(data) 58 788
+ 876: 694(ptr) AccessChain 34(data) 47 73
+ 877: 24(i16vec4) Load 876
+ 878:693(i16vec2) VectorShuffle 877 877 0 1
+ 879:693(i16vec2) GroupNonUniformBitwiseXor 43 ClusteredReduce 878 42
+ 880: 687(ptr) AccessChain 34(data) 875 73 38
+ 881: 23(int16_t) CompositeExtract 879 0
+ Store 880 881
+ 882: 687(ptr) AccessChain 34(data) 875 73 42
+ 883: 23(int16_t) CompositeExtract 879 1
+ Store 882 883
+ 884: 6(int) Load 8(invocation)
+ 885: 694(ptr) AccessChain 34(data) 59 73
+ 886: 24(i16vec4) Load 885
+ 887:704(i16vec3) VectorShuffle 886 886 0 1 2
+ 888:704(i16vec3) GroupNonUniformBitwiseXor 43 ClusteredReduce 887 42
+ 889: 687(ptr) AccessChain 34(data) 884 73 38
+ 890: 23(int16_t) CompositeExtract 888 0
+ Store 889 890
+ 891: 687(ptr) AccessChain 34(data) 884 73 42
+ 892: 23(int16_t) CompositeExtract 888 1
+ Store 891 892
+ 893: 687(ptr) AccessChain 34(data) 884 73 69
+ 894: 23(int16_t) CompositeExtract 888 2
+ Store 893 894
+ 895: 6(int) Load 8(invocation)
+ 896: 694(ptr) AccessChain 34(data) 73 73
+ 897: 24(i16vec4) Load 896
+ 898: 24(i16vec4) GroupNonUniformBitwiseXor 43 ClusteredReduce 897 42
+ 899: 694(ptr) AccessChain 34(data) 895 73
+ Store 899 898
+ 900: 6(int) Load 8(invocation)
+ 903: 902(ptr) AccessChain 34(data) 37 901 38
+ 904: 25(int64_t) Load 903
+ 905: 25(int64_t) GroupNonUniformIAdd 43 ClusteredReduce 904 42
+ 906: 902(ptr) AccessChain 34(data) 900 901 38
+ Store 906 905
+ 907: 6(int) Load 8(invocation)
+ 910: 909(ptr) AccessChain 34(data) 47 901
911: 26(i64vec4) Load 910
- 912:805(i64vec3) VectorShuffle 911 911 0 1 2
- 913:805(i64vec3) GroupNonUniformBitwiseAnd 43 ClusteredReduce 912 42
- 914: 796(ptr) AccessChain 34(data) 909 788
- 915: 26(i64vec4) Load 914
- 916: 26(i64vec4) VectorShuffle 915 913 4 5 6 3
- Store 914 916
- 917: 6(int) Load 8(invocation)
- 918: 796(ptr) AccessChain 34(data) 68 788
- 919: 26(i64vec4) Load 918
- 920: 26(i64vec4) GroupNonUniformBitwiseAnd 43 ClusteredReduce 919 42
- 921: 796(ptr) AccessChain 34(data) 917 788
- Store 921 920
- 922: 6(int) Load 8(invocation)
- 923: 789(ptr) AccessChain 34(data) 37 788 38
- 924: 25(int64_t) Load 923
- 925: 25(int64_t) GroupNonUniformBitwiseOr 43 ClusteredReduce 924 42
- 926: 789(ptr) AccessChain 34(data) 922 788 38
- Store 926 925
- 927: 6(int) Load 8(invocation)
- 928: 796(ptr) AccessChain 34(data) 47 788
- 929: 26(i64vec4) Load 928
- 930:795(i64vec2) VectorShuffle 929 929 0 1
- 931:795(i64vec2) GroupNonUniformBitwiseOr 43 ClusteredReduce 930 42
- 932: 796(ptr) AccessChain 34(data) 927 788
- 933: 26(i64vec4) Load 932
- 934: 26(i64vec4) VectorShuffle 933 931 4 5 2 3
- Store 932 934
+ 912:908(i64vec2) VectorShuffle 911 911 0 1
+ 913:908(i64vec2) GroupNonUniformIAdd 43 ClusteredReduce 912 42
+ 914: 902(ptr) AccessChain 34(data) 907 901 38
+ 915: 25(int64_t) CompositeExtract 913 0
+ Store 914 915
+ 916: 902(ptr) AccessChain 34(data) 907 901 42
+ 917: 25(int64_t) CompositeExtract 913 1
+ Store 916 917
+ 918: 6(int) Load 8(invocation)
+ 920: 909(ptr) AccessChain 34(data) 59 901
+ 921: 26(i64vec4) Load 920
+ 922:919(i64vec3) VectorShuffle 921 921 0 1 2
+ 923:919(i64vec3) GroupNonUniformIAdd 43 ClusteredReduce 922 42
+ 924: 902(ptr) AccessChain 34(data) 918 901 38
+ 925: 25(int64_t) CompositeExtract 923 0
+ Store 924 925
+ 926: 902(ptr) AccessChain 34(data) 918 901 42
+ 927: 25(int64_t) CompositeExtract 923 1
+ Store 926 927
+ 928: 902(ptr) AccessChain 34(data) 918 901 69
+ 929: 25(int64_t) CompositeExtract 923 2
+ Store 928 929
+ 930: 6(int) Load 8(invocation)
+ 931: 909(ptr) AccessChain 34(data) 73 901
+ 932: 26(i64vec4) Load 931
+ 933: 26(i64vec4) GroupNonUniformIAdd 43 ClusteredReduce 932 42
+ 934: 909(ptr) AccessChain 34(data) 930 901
+ Store 934 933
935: 6(int) Load 8(invocation)
- 936: 796(ptr) AccessChain 34(data) 58 788
- 937: 26(i64vec4) Load 936
- 938:805(i64vec3) VectorShuffle 937 937 0 1 2
- 939:805(i64vec3) GroupNonUniformBitwiseOr 43 ClusteredReduce 938 42
- 940: 796(ptr) AccessChain 34(data) 935 788
- 941: 26(i64vec4) Load 940
- 942: 26(i64vec4) VectorShuffle 941 939 4 5 6 3
- Store 940 942
- 943: 6(int) Load 8(invocation)
- 944: 796(ptr) AccessChain 34(data) 68 788
- 945: 26(i64vec4) Load 944
- 946: 26(i64vec4) GroupNonUniformBitwiseOr 43 ClusteredReduce 945 42
- 947: 796(ptr) AccessChain 34(data) 943 788
- Store 947 946
- 948: 6(int) Load 8(invocation)
- 949: 789(ptr) AccessChain 34(data) 37 788 38
- 950: 25(int64_t) Load 949
- 951: 25(int64_t) GroupNonUniformBitwiseXor 43 ClusteredReduce 950 42
- 952: 789(ptr) AccessChain 34(data) 948 788 38
- Store 952 951
- 953: 6(int) Load 8(invocation)
- 954: 796(ptr) AccessChain 34(data) 47 788
- 955: 26(i64vec4) Load 954
- 956:795(i64vec2) VectorShuffle 955 955 0 1
- 957:795(i64vec2) GroupNonUniformBitwiseXor 43 ClusteredReduce 956 42
- 958: 796(ptr) AccessChain 34(data) 953 788
- 959: 26(i64vec4) Load 958
- 960: 26(i64vec4) VectorShuffle 959 957 4 5 2 3
- Store 958 960
- 961: 6(int) Load 8(invocation)
- 962: 796(ptr) AccessChain 34(data) 58 788
- 963: 26(i64vec4) Load 962
- 964:805(i64vec3) VectorShuffle 963 963 0 1 2
- 965:805(i64vec3) GroupNonUniformBitwiseXor 43 ClusteredReduce 964 42
- 966: 796(ptr) AccessChain 34(data) 961 788
- 967: 26(i64vec4) Load 966
- 968: 26(i64vec4) VectorShuffle 967 965 4 5 6 3
- Store 966 968
- 969: 6(int) Load 8(invocation)
- 970: 796(ptr) AccessChain 34(data) 68 788
- 971: 26(i64vec4) Load 970
- 972: 26(i64vec4) GroupNonUniformBitwiseXor 43 ClusteredReduce 971 42
- 973: 796(ptr) AccessChain 34(data) 969 788
- Store 973 972
- 974: 6(int) Load 8(invocation)
- 977: 976(ptr) AccessChain 34(data) 37 975 38
- 978: 27(int64_t) Load 977
- 979: 27(int64_t) GroupNonUniformIAdd 43 ClusteredReduce 978 42
- 980: 976(ptr) AccessChain 34(data) 974 975 38
- Store 980 979
- 981: 6(int) Load 8(invocation)
- 984: 983(ptr) AccessChain 34(data) 47 975
- 985: 28(i64vec4) Load 984
- 986:982(i64vec2) VectorShuffle 985 985 0 1
- 987:982(i64vec2) GroupNonUniformIAdd 43 ClusteredReduce 986 42
- 988: 983(ptr) AccessChain 34(data) 981 975
- 989: 28(i64vec4) Load 988
- 990: 28(i64vec4) VectorShuffle 989 987 4 5 2 3
- Store 988 990
- 991: 6(int) Load 8(invocation)
- 993: 983(ptr) AccessChain 34(data) 58 975
- 994: 28(i64vec4) Load 993
- 995:992(i64vec3) VectorShuffle 994 994 0 1 2
- 996:992(i64vec3) GroupNonUniformIAdd 43 ClusteredReduce 995 42
- 997: 983(ptr) AccessChain 34(data) 991 975
- 998: 28(i64vec4) Load 997
- 999: 28(i64vec4) VectorShuffle 998 996 4 5 6 3
- Store 997 999
+ 936: 902(ptr) AccessChain 34(data) 37 901 38
+ 937: 25(int64_t) Load 936
+ 938: 25(int64_t) GroupNonUniformIMul 43 ClusteredReduce 937 42
+ 939: 902(ptr) AccessChain 34(data) 935 901 38
+ Store 939 938
+ 940: 6(int) Load 8(invocation)
+ 941: 909(ptr) AccessChain 34(data) 47 901
+ 942: 26(i64vec4) Load 941
+ 943:908(i64vec2) VectorShuffle 942 942 0 1
+ 944:908(i64vec2) GroupNonUniformIMul 43 ClusteredReduce 943 42
+ 945: 902(ptr) AccessChain 34(data) 940 901 38
+ 946: 25(int64_t) CompositeExtract 944 0
+ Store 945 946
+ 947: 902(ptr) AccessChain 34(data) 940 901 42
+ 948: 25(int64_t) CompositeExtract 944 1
+ Store 947 948
+ 949: 6(int) Load 8(invocation)
+ 950: 909(ptr) AccessChain 34(data) 59 901
+ 951: 26(i64vec4) Load 950
+ 952:919(i64vec3) VectorShuffle 951 951 0 1 2
+ 953:919(i64vec3) GroupNonUniformIMul 43 ClusteredReduce 952 42
+ 954: 902(ptr) AccessChain 34(data) 949 901 38
+ 955: 25(int64_t) CompositeExtract 953 0
+ Store 954 955
+ 956: 902(ptr) AccessChain 34(data) 949 901 42
+ 957: 25(int64_t) CompositeExtract 953 1
+ Store 956 957
+ 958: 902(ptr) AccessChain 34(data) 949 901 69
+ 959: 25(int64_t) CompositeExtract 953 2
+ Store 958 959
+ 960: 6(int) Load 8(invocation)
+ 961: 909(ptr) AccessChain 34(data) 73 901
+ 962: 26(i64vec4) Load 961
+ 963: 26(i64vec4) GroupNonUniformIMul 43 ClusteredReduce 962 42
+ 964: 909(ptr) AccessChain 34(data) 960 901
+ Store 964 963
+ 965: 6(int) Load 8(invocation)
+ 966: 902(ptr) AccessChain 34(data) 37 901 38
+ 967: 25(int64_t) Load 966
+ 968: 25(int64_t) GroupNonUniformSMin 43 ClusteredReduce 967 42
+ 969: 902(ptr) AccessChain 34(data) 965 901 38
+ Store 969 968
+ 970: 6(int) Load 8(invocation)
+ 971: 909(ptr) AccessChain 34(data) 47 901
+ 972: 26(i64vec4) Load 971
+ 973:908(i64vec2) VectorShuffle 972 972 0 1
+ 974:908(i64vec2) GroupNonUniformSMin 43 ClusteredReduce 973 42
+ 975: 902(ptr) AccessChain 34(data) 970 901 38
+ 976: 25(int64_t) CompositeExtract 974 0
+ Store 975 976
+ 977: 902(ptr) AccessChain 34(data) 970 901 42
+ 978: 25(int64_t) CompositeExtract 974 1
+ Store 977 978
+ 979: 6(int) Load 8(invocation)
+ 980: 909(ptr) AccessChain 34(data) 59 901
+ 981: 26(i64vec4) Load 980
+ 982:919(i64vec3) VectorShuffle 981 981 0 1 2
+ 983:919(i64vec3) GroupNonUniformSMin 43 ClusteredReduce 982 42
+ 984: 902(ptr) AccessChain 34(data) 979 901 38
+ 985: 25(int64_t) CompositeExtract 983 0
+ Store 984 985
+ 986: 902(ptr) AccessChain 34(data) 979 901 42
+ 987: 25(int64_t) CompositeExtract 983 1
+ Store 986 987
+ 988: 902(ptr) AccessChain 34(data) 979 901 69
+ 989: 25(int64_t) CompositeExtract 983 2
+ Store 988 989
+ 990: 6(int) Load 8(invocation)
+ 991: 909(ptr) AccessChain 34(data) 73 901
+ 992: 26(i64vec4) Load 991
+ 993: 26(i64vec4) GroupNonUniformSMin 43 ClusteredReduce 992 42
+ 994: 909(ptr) AccessChain 34(data) 990 901
+ Store 994 993
+ 995: 6(int) Load 8(invocation)
+ 996: 902(ptr) AccessChain 34(data) 37 901 38
+ 997: 25(int64_t) Load 996
+ 998: 25(int64_t) GroupNonUniformSMax 43 ClusteredReduce 997 42
+ 999: 902(ptr) AccessChain 34(data) 995 901 38
+ Store 999 998
1000: 6(int) Load 8(invocation)
- 1001: 983(ptr) AccessChain 34(data) 68 975
- 1002: 28(i64vec4) Load 1001
- 1003: 28(i64vec4) GroupNonUniformIAdd 43 ClusteredReduce 1002 42
- 1004: 983(ptr) AccessChain 34(data) 1000 975
- Store 1004 1003
- 1005: 6(int) Load 8(invocation)
- 1006: 976(ptr) AccessChain 34(data) 37 975 38
- 1007: 27(int64_t) Load 1006
- 1008: 27(int64_t) GroupNonUniformIMul 43 ClusteredReduce 1007 42
- 1009: 976(ptr) AccessChain 34(data) 1005 975 38
- Store 1009 1008
- 1010: 6(int) Load 8(invocation)
- 1011: 983(ptr) AccessChain 34(data) 47 975
- 1012: 28(i64vec4) Load 1011
- 1013:982(i64vec2) VectorShuffle 1012 1012 0 1
- 1014:982(i64vec2) GroupNonUniformIMul 43 ClusteredReduce 1013 42
- 1015: 983(ptr) AccessChain 34(data) 1010 975
- 1016: 28(i64vec4) Load 1015
- 1017: 28(i64vec4) VectorShuffle 1016 1014 4 5 2 3
- Store 1015 1017
- 1018: 6(int) Load 8(invocation)
- 1019: 983(ptr) AccessChain 34(data) 58 975
- 1020: 28(i64vec4) Load 1019
- 1021:992(i64vec3) VectorShuffle 1020 1020 0 1 2
- 1022:992(i64vec3) GroupNonUniformIMul 43 ClusteredReduce 1021 42
- 1023: 983(ptr) AccessChain 34(data) 1018 975
- 1024: 28(i64vec4) Load 1023
- 1025: 28(i64vec4) VectorShuffle 1024 1022 4 5 6 3
- Store 1023 1025
- 1026: 6(int) Load 8(invocation)
- 1027: 983(ptr) AccessChain 34(data) 68 975
- 1028: 28(i64vec4) Load 1027
- 1029: 28(i64vec4) GroupNonUniformIMul 43 ClusteredReduce 1028 42
- 1030: 983(ptr) AccessChain 34(data) 1026 975
- Store 1030 1029
- 1031: 6(int) Load 8(invocation)
- 1032: 976(ptr) AccessChain 34(data) 37 975 38
- 1033: 27(int64_t) Load 1032
- 1034: 27(int64_t) GroupNonUniformUMin 43 ClusteredReduce 1033 42
- 1035: 976(ptr) AccessChain 34(data) 1031 975 38
- Store 1035 1034
- 1036: 6(int) Load 8(invocation)
- 1037: 983(ptr) AccessChain 34(data) 47 975
- 1038: 28(i64vec4) Load 1037
- 1039:982(i64vec2) VectorShuffle 1038 1038 0 1
- 1040:982(i64vec2) GroupNonUniformUMin 43 ClusteredReduce 1039 42
- 1041: 983(ptr) AccessChain 34(data) 1036 975
- 1042: 28(i64vec4) Load 1041
- 1043: 28(i64vec4) VectorShuffle 1042 1040 4 5 2 3
- Store 1041 1043
- 1044: 6(int) Load 8(invocation)
- 1045: 983(ptr) AccessChain 34(data) 58 975
- 1046: 28(i64vec4) Load 1045
- 1047:992(i64vec3) VectorShuffle 1046 1046 0 1 2
- 1048:992(i64vec3) GroupNonUniformUMin 43 ClusteredReduce 1047 42
- 1049: 983(ptr) AccessChain 34(data) 1044 975
- 1050: 28(i64vec4) Load 1049
- 1051: 28(i64vec4) VectorShuffle 1050 1048 4 5 6 3
- Store 1049 1051
- 1052: 6(int) Load 8(invocation)
- 1053: 983(ptr) AccessChain 34(data) 68 975
- 1054: 28(i64vec4) Load 1053
- 1055: 28(i64vec4) GroupNonUniformUMin 43 ClusteredReduce 1054 42
- 1056: 983(ptr) AccessChain 34(data) 1052 975
- Store 1056 1055
- 1057: 6(int) Load 8(invocation)
- 1058: 976(ptr) AccessChain 34(data) 37 975 38
- 1059: 27(int64_t) Load 1058
- 1060: 27(int64_t) GroupNonUniformUMax 43 ClusteredReduce 1059 42
- 1061: 976(ptr) AccessChain 34(data) 1057 975 38
- Store 1061 1060
- 1062: 6(int) Load 8(invocation)
- 1063: 983(ptr) AccessChain 34(data) 47 975
- 1064: 28(i64vec4) Load 1063
- 1065:982(i64vec2) VectorShuffle 1064 1064 0 1
- 1066:982(i64vec2) GroupNonUniformUMax 43 ClusteredReduce 1065 42
- 1067: 983(ptr) AccessChain 34(data) 1062 975
- 1068: 28(i64vec4) Load 1067
- 1069: 28(i64vec4) VectorShuffle 1068 1066 4 5 2 3
- Store 1067 1069
- 1070: 6(int) Load 8(invocation)
- 1071: 983(ptr) AccessChain 34(data) 58 975
- 1072: 28(i64vec4) Load 1071
- 1073:992(i64vec3) VectorShuffle 1072 1072 0 1 2
- 1074:992(i64vec3) GroupNonUniformUMax 43 ClusteredReduce 1073 42
- 1075: 983(ptr) AccessChain 34(data) 1070 975
- 1076: 28(i64vec4) Load 1075
- 1077: 28(i64vec4) VectorShuffle 1076 1074 4 5 6 3
- Store 1075 1077
- 1078: 6(int) Load 8(invocation)
- 1079: 983(ptr) AccessChain 34(data) 68 975
- 1080: 28(i64vec4) Load 1079
- 1081: 28(i64vec4) GroupNonUniformUMax 43 ClusteredReduce 1080 42
- 1082: 983(ptr) AccessChain 34(data) 1078 975
- Store 1082 1081
- 1083: 6(int) Load 8(invocation)
- 1084: 976(ptr) AccessChain 34(data) 37 975 38
- 1085: 27(int64_t) Load 1084
- 1086: 27(int64_t) GroupNonUniformBitwiseAnd 43 ClusteredReduce 1085 42
- 1087: 976(ptr) AccessChain 34(data) 1083 975 38
- Store 1087 1086
- 1088: 6(int) Load 8(invocation)
- 1089: 983(ptr) AccessChain 34(data) 47 975
- 1090: 28(i64vec4) Load 1089
- 1091:982(i64vec2) VectorShuffle 1090 1090 0 1
- 1092:982(i64vec2) GroupNonUniformBitwiseAnd 43 ClusteredReduce 1091 42
- 1093: 983(ptr) AccessChain 34(data) 1088 975
- 1094: 28(i64vec4) Load 1093
- 1095: 28(i64vec4) VectorShuffle 1094 1092 4 5 2 3
- Store 1093 1095
- 1096: 6(int) Load 8(invocation)
- 1097: 983(ptr) AccessChain 34(data) 58 975
- 1098: 28(i64vec4) Load 1097
- 1099:992(i64vec3) VectorShuffle 1098 1098 0 1 2
- 1100:992(i64vec3) GroupNonUniformBitwiseAnd 43 ClusteredReduce 1099 42
- 1101: 983(ptr) AccessChain 34(data) 1096 975
- 1102: 28(i64vec4) Load 1101
- 1103: 28(i64vec4) VectorShuffle 1102 1100 4 5 6 3
- Store 1101 1103
- 1104: 6(int) Load 8(invocation)
- 1105: 983(ptr) AccessChain 34(data) 68 975
- 1106: 28(i64vec4) Load 1105
- 1107: 28(i64vec4) GroupNonUniformBitwiseAnd 43 ClusteredReduce 1106 42
- 1108: 983(ptr) AccessChain 34(data) 1104 975
- Store 1108 1107
- 1109: 6(int) Load 8(invocation)
- 1110: 976(ptr) AccessChain 34(data) 37 975 38
- 1111: 27(int64_t) Load 1110
- 1112: 27(int64_t) GroupNonUniformBitwiseOr 43 ClusteredReduce 1111 42
- 1113: 976(ptr) AccessChain 34(data) 1109 975 38
- Store 1113 1112
- 1114: 6(int) Load 8(invocation)
- 1115: 983(ptr) AccessChain 34(data) 47 975
- 1116: 28(i64vec4) Load 1115
- 1117:982(i64vec2) VectorShuffle 1116 1116 0 1
- 1118:982(i64vec2) GroupNonUniformBitwiseOr 43 ClusteredReduce 1117 42
- 1119: 983(ptr) AccessChain 34(data) 1114 975
- 1120: 28(i64vec4) Load 1119
- 1121: 28(i64vec4) VectorShuffle 1120 1118 4 5 2 3
- Store 1119 1121
+ 1001: 909(ptr) AccessChain 34(data) 47 901
+ 1002: 26(i64vec4) Load 1001
+ 1003:908(i64vec2) VectorShuffle 1002 1002 0 1
+ 1004:908(i64vec2) GroupNonUniformSMax 43 ClusteredReduce 1003 42
+ 1005: 902(ptr) AccessChain 34(data) 1000 901 38
+ 1006: 25(int64_t) CompositeExtract 1004 0
+ Store 1005 1006
+ 1007: 902(ptr) AccessChain 34(data) 1000 901 42
+ 1008: 25(int64_t) CompositeExtract 1004 1
+ Store 1007 1008
+ 1009: 6(int) Load 8(invocation)
+ 1010: 909(ptr) AccessChain 34(data) 59 901
+ 1011: 26(i64vec4) Load 1010
+ 1012:919(i64vec3) VectorShuffle 1011 1011 0 1 2
+ 1013:919(i64vec3) GroupNonUniformSMax 43 ClusteredReduce 1012 42
+ 1014: 902(ptr) AccessChain 34(data) 1009 901 38
+ 1015: 25(int64_t) CompositeExtract 1013 0
+ Store 1014 1015
+ 1016: 902(ptr) AccessChain 34(data) 1009 901 42
+ 1017: 25(int64_t) CompositeExtract 1013 1
+ Store 1016 1017
+ 1018: 902(ptr) AccessChain 34(data) 1009 901 69
+ 1019: 25(int64_t) CompositeExtract 1013 2
+ Store 1018 1019
+ 1020: 6(int) Load 8(invocation)
+ 1021: 909(ptr) AccessChain 34(data) 73 901
+ 1022: 26(i64vec4) Load 1021
+ 1023: 26(i64vec4) GroupNonUniformSMax 43 ClusteredReduce 1022 42
+ 1024: 909(ptr) AccessChain 34(data) 1020 901
+ Store 1024 1023
+ 1025: 6(int) Load 8(invocation)
+ 1026: 902(ptr) AccessChain 34(data) 37 901 38
+ 1027: 25(int64_t) Load 1026
+ 1028: 25(int64_t) GroupNonUniformBitwiseAnd 43 ClusteredReduce 1027 42
+ 1029: 902(ptr) AccessChain 34(data) 1025 901 38
+ Store 1029 1028
+ 1030: 6(int) Load 8(invocation)
+ 1031: 909(ptr) AccessChain 34(data) 47 901
+ 1032: 26(i64vec4) Load 1031
+ 1033:908(i64vec2) VectorShuffle 1032 1032 0 1
+ 1034:908(i64vec2) GroupNonUniformBitwiseAnd 43 ClusteredReduce 1033 42
+ 1035: 902(ptr) AccessChain 34(data) 1030 901 38
+ 1036: 25(int64_t) CompositeExtract 1034 0
+ Store 1035 1036
+ 1037: 902(ptr) AccessChain 34(data) 1030 901 42
+ 1038: 25(int64_t) CompositeExtract 1034 1
+ Store 1037 1038
+ 1039: 6(int) Load 8(invocation)
+ 1040: 909(ptr) AccessChain 34(data) 59 901
+ 1041: 26(i64vec4) Load 1040
+ 1042:919(i64vec3) VectorShuffle 1041 1041 0 1 2
+ 1043:919(i64vec3) GroupNonUniformBitwiseAnd 43 ClusteredReduce 1042 42
+ 1044: 902(ptr) AccessChain 34(data) 1039 901 38
+ 1045: 25(int64_t) CompositeExtract 1043 0
+ Store 1044 1045
+ 1046: 902(ptr) AccessChain 34(data) 1039 901 42
+ 1047: 25(int64_t) CompositeExtract 1043 1
+ Store 1046 1047
+ 1048: 902(ptr) AccessChain 34(data) 1039 901 69
+ 1049: 25(int64_t) CompositeExtract 1043 2
+ Store 1048 1049
+ 1050: 6(int) Load 8(invocation)
+ 1051: 909(ptr) AccessChain 34(data) 73 901
+ 1052: 26(i64vec4) Load 1051
+ 1053: 26(i64vec4) GroupNonUniformBitwiseAnd 43 ClusteredReduce 1052 42
+ 1054: 909(ptr) AccessChain 34(data) 1050 901
+ Store 1054 1053
+ 1055: 6(int) Load 8(invocation)
+ 1056: 902(ptr) AccessChain 34(data) 37 901 38
+ 1057: 25(int64_t) Load 1056
+ 1058: 25(int64_t) GroupNonUniformBitwiseOr 43 ClusteredReduce 1057 42
+ 1059: 902(ptr) AccessChain 34(data) 1055 901 38
+ Store 1059 1058
+ 1060: 6(int) Load 8(invocation)
+ 1061: 909(ptr) AccessChain 34(data) 47 901
+ 1062: 26(i64vec4) Load 1061
+ 1063:908(i64vec2) VectorShuffle 1062 1062 0 1
+ 1064:908(i64vec2) GroupNonUniformBitwiseOr 43 ClusteredReduce 1063 42
+ 1065: 902(ptr) AccessChain 34(data) 1060 901 38
+ 1066: 25(int64_t) CompositeExtract 1064 0
+ Store 1065 1066
+ 1067: 902(ptr) AccessChain 34(data) 1060 901 42
+ 1068: 25(int64_t) CompositeExtract 1064 1
+ Store 1067 1068
+ 1069: 6(int) Load 8(invocation)
+ 1070: 909(ptr) AccessChain 34(data) 59 901
+ 1071: 26(i64vec4) Load 1070
+ 1072:919(i64vec3) VectorShuffle 1071 1071 0 1 2
+ 1073:919(i64vec3) GroupNonUniformBitwiseOr 43 ClusteredReduce 1072 42
+ 1074: 902(ptr) AccessChain 34(data) 1069 901 38
+ 1075: 25(int64_t) CompositeExtract 1073 0
+ Store 1074 1075
+ 1076: 902(ptr) AccessChain 34(data) 1069 901 42
+ 1077: 25(int64_t) CompositeExtract 1073 1
+ Store 1076 1077
+ 1078: 902(ptr) AccessChain 34(data) 1069 901 69
+ 1079: 25(int64_t) CompositeExtract 1073 2
+ Store 1078 1079
+ 1080: 6(int) Load 8(invocation)
+ 1081: 909(ptr) AccessChain 34(data) 73 901
+ 1082: 26(i64vec4) Load 1081
+ 1083: 26(i64vec4) GroupNonUniformBitwiseOr 43 ClusteredReduce 1082 42
+ 1084: 909(ptr) AccessChain 34(data) 1080 901
+ Store 1084 1083
+ 1085: 6(int) Load 8(invocation)
+ 1086: 902(ptr) AccessChain 34(data) 37 901 38
+ 1087: 25(int64_t) Load 1086
+ 1088: 25(int64_t) GroupNonUniformBitwiseXor 43 ClusteredReduce 1087 42
+ 1089: 902(ptr) AccessChain 34(data) 1085 901 38
+ Store 1089 1088
+ 1090: 6(int) Load 8(invocation)
+ 1091: 909(ptr) AccessChain 34(data) 47 901
+ 1092: 26(i64vec4) Load 1091
+ 1093:908(i64vec2) VectorShuffle 1092 1092 0 1
+ 1094:908(i64vec2) GroupNonUniformBitwiseXor 43 ClusteredReduce 1093 42
+ 1095: 902(ptr) AccessChain 34(data) 1090 901 38
+ 1096: 25(int64_t) CompositeExtract 1094 0
+ Store 1095 1096
+ 1097: 902(ptr) AccessChain 34(data) 1090 901 42
+ 1098: 25(int64_t) CompositeExtract 1094 1
+ Store 1097 1098
+ 1099: 6(int) Load 8(invocation)
+ 1100: 909(ptr) AccessChain 34(data) 59 901
+ 1101: 26(i64vec4) Load 1100
+ 1102:919(i64vec3) VectorShuffle 1101 1101 0 1 2
+ 1103:919(i64vec3) GroupNonUniformBitwiseXor 43 ClusteredReduce 1102 42
+ 1104: 902(ptr) AccessChain 34(data) 1099 901 38
+ 1105: 25(int64_t) CompositeExtract 1103 0
+ Store 1104 1105
+ 1106: 902(ptr) AccessChain 34(data) 1099 901 42
+ 1107: 25(int64_t) CompositeExtract 1103 1
+ Store 1106 1107
+ 1108: 902(ptr) AccessChain 34(data) 1099 901 69
+ 1109: 25(int64_t) CompositeExtract 1103 2
+ Store 1108 1109
+ 1110: 6(int) Load 8(invocation)
+ 1111: 909(ptr) AccessChain 34(data) 73 901
+ 1112: 26(i64vec4) Load 1111
+ 1113: 26(i64vec4) GroupNonUniformBitwiseXor 43 ClusteredReduce 1112 42
+ 1114: 909(ptr) AccessChain 34(data) 1110 901
+ Store 1114 1113
+ 1115: 6(int) Load 8(invocation)
+ 1118: 1117(ptr) AccessChain 34(data) 37 1116 38
+ 1119: 27(int64_t) Load 1118
+ 1120: 27(int64_t) GroupNonUniformIAdd 43 ClusteredReduce 1119 42
+ 1121: 1117(ptr) AccessChain 34(data) 1115 1116 38
+ Store 1121 1120
1122: 6(int) Load 8(invocation)
- 1123: 983(ptr) AccessChain 34(data) 58 975
- 1124: 28(i64vec4) Load 1123
- 1125:992(i64vec3) VectorShuffle 1124 1124 0 1 2
- 1126:992(i64vec3) GroupNonUniformBitwiseOr 43 ClusteredReduce 1125 42
- 1127: 983(ptr) AccessChain 34(data) 1122 975
- 1128: 28(i64vec4) Load 1127
- 1129: 28(i64vec4) VectorShuffle 1128 1126 4 5 6 3
- Store 1127 1129
- 1130: 6(int) Load 8(invocation)
- 1131: 983(ptr) AccessChain 34(data) 68 975
- 1132: 28(i64vec4) Load 1131
- 1133: 28(i64vec4) GroupNonUniformBitwiseOr 43 ClusteredReduce 1132 42
- 1134: 983(ptr) AccessChain 34(data) 1130 975
- Store 1134 1133
- 1135: 6(int) Load 8(invocation)
- 1136: 976(ptr) AccessChain 34(data) 37 975 38
- 1137: 27(int64_t) Load 1136
- 1138: 27(int64_t) GroupNonUniformBitwiseXor 43 ClusteredReduce 1137 42
- 1139: 976(ptr) AccessChain 34(data) 1135 975 38
- Store 1139 1138
- 1140: 6(int) Load 8(invocation)
- 1141: 983(ptr) AccessChain 34(data) 47 975
- 1142: 28(i64vec4) Load 1141
- 1143:982(i64vec2) VectorShuffle 1142 1142 0 1
- 1144:982(i64vec2) GroupNonUniformBitwiseXor 43 ClusteredReduce 1143 42
- 1145: 983(ptr) AccessChain 34(data) 1140 975
- 1146: 28(i64vec4) Load 1145
- 1147: 28(i64vec4) VectorShuffle 1146 1144 4 5 2 3
- Store 1145 1147
- 1148: 6(int) Load 8(invocation)
- 1149: 983(ptr) AccessChain 34(data) 58 975
- 1150: 28(i64vec4) Load 1149
- 1151:992(i64vec3) VectorShuffle 1150 1150 0 1 2
- 1152:992(i64vec3) GroupNonUniformBitwiseXor 43 ClusteredReduce 1151 42
- 1153: 983(ptr) AccessChain 34(data) 1148 975
- 1154: 28(i64vec4) Load 1153
- 1155: 28(i64vec4) VectorShuffle 1154 1152 4 5 6 3
- Store 1153 1155
- 1156: 6(int) Load 8(invocation)
- 1157: 983(ptr) AccessChain 34(data) 68 975
- 1158: 28(i64vec4) Load 1157
- 1159: 28(i64vec4) GroupNonUniformBitwiseXor 43 ClusteredReduce 1158 42
- 1160: 983(ptr) AccessChain 34(data) 1156 975
- Store 1160 1159
- 1161: 6(int) Load 8(invocation)
- 1164: 1163(ptr) AccessChain 34(data) 37 1162 38
- 1165:29(float16_t) Load 1164
- 1166:29(float16_t) GroupNonUniformFAdd 43 ClusteredReduce 1165 42
- 1167: 1163(ptr) AccessChain 34(data) 1161 1162 38
- Store 1167 1166
- 1168: 6(int) Load 8(invocation)
- 1171: 1170(ptr) AccessChain 34(data) 47 1162
- 1172: 30(f16vec4) Load 1171
- 1173:1169(f16vec2) VectorShuffle 1172 1172 0 1
- 1174:1169(f16vec2) GroupNonUniformFAdd 43 ClusteredReduce 1173 42
- 1175: 1170(ptr) AccessChain 34(data) 1168 1162
- 1176: 30(f16vec4) Load 1175
- 1177: 30(f16vec4) VectorShuffle 1176 1174 4 5 2 3
- Store 1175 1177
- 1178: 6(int) Load 8(invocation)
- 1180: 1170(ptr) AccessChain 34(data) 58 1162
- 1181: 30(f16vec4) Load 1180
- 1182:1179(f16vec3) VectorShuffle 1181 1181 0 1 2
- 1183:1179(f16vec3) GroupNonUniformFAdd 43 ClusteredReduce 1182 42
- 1184: 1170(ptr) AccessChain 34(data) 1178 1162
- 1185: 30(f16vec4) Load 1184
- 1186: 30(f16vec4) VectorShuffle 1185 1183 4 5 6 3
- Store 1184 1186
- 1187: 6(int) Load 8(invocation)
- 1188: 1170(ptr) AccessChain 34(data) 68 1162
- 1189: 30(f16vec4) Load 1188
- 1190: 30(f16vec4) GroupNonUniformFAdd 43 ClusteredReduce 1189 42
- 1191: 1170(ptr) AccessChain 34(data) 1187 1162
- Store 1191 1190
- 1192: 6(int) Load 8(invocation)
- 1193: 1163(ptr) AccessChain 34(data) 37 1162 38
- 1194:29(float16_t) Load 1193
- 1195:29(float16_t) GroupNonUniformFMul 43 ClusteredReduce 1194 42
- 1196: 1163(ptr) AccessChain 34(data) 1192 1162 38
- Store 1196 1195
- 1197: 6(int) Load 8(invocation)
- 1198: 1170(ptr) AccessChain 34(data) 47 1162
- 1199: 30(f16vec4) Load 1198
- 1200:1169(f16vec2) VectorShuffle 1199 1199 0 1
- 1201:1169(f16vec2) GroupNonUniformFMul 43 ClusteredReduce 1200 42
- 1202: 1170(ptr) AccessChain 34(data) 1197 1162
- 1203: 30(f16vec4) Load 1202
- 1204: 30(f16vec4) VectorShuffle 1203 1201 4 5 2 3
- Store 1202 1204
+ 1125: 1124(ptr) AccessChain 34(data) 47 1116
+ 1126: 28(i64vec4) Load 1125
+ 1127:1123(i64vec2) VectorShuffle 1126 1126 0 1
+ 1128:1123(i64vec2) GroupNonUniformIAdd 43 ClusteredReduce 1127 42
+ 1129: 1117(ptr) AccessChain 34(data) 1122 1116 38
+ 1130: 27(int64_t) CompositeExtract 1128 0
+ Store 1129 1130
+ 1131: 1117(ptr) AccessChain 34(data) 1122 1116 42
+ 1132: 27(int64_t) CompositeExtract 1128 1
+ Store 1131 1132
+ 1133: 6(int) Load 8(invocation)
+ 1135: 1124(ptr) AccessChain 34(data) 59 1116
+ 1136: 28(i64vec4) Load 1135
+ 1137:1134(i64vec3) VectorShuffle 1136 1136 0 1 2
+ 1138:1134(i64vec3) GroupNonUniformIAdd 43 ClusteredReduce 1137 42
+ 1139: 1117(ptr) AccessChain 34(data) 1133 1116 38
+ 1140: 27(int64_t) CompositeExtract 1138 0
+ Store 1139 1140
+ 1141: 1117(ptr) AccessChain 34(data) 1133 1116 42
+ 1142: 27(int64_t) CompositeExtract 1138 1
+ Store 1141 1142
+ 1143: 1117(ptr) AccessChain 34(data) 1133 1116 69
+ 1144: 27(int64_t) CompositeExtract 1138 2
+ Store 1143 1144
+ 1145: 6(int) Load 8(invocation)
+ 1146: 1124(ptr) AccessChain 34(data) 73 1116
+ 1147: 28(i64vec4) Load 1146
+ 1148: 28(i64vec4) GroupNonUniformIAdd 43 ClusteredReduce 1147 42
+ 1149: 1124(ptr) AccessChain 34(data) 1145 1116
+ Store 1149 1148
+ 1150: 6(int) Load 8(invocation)
+ 1151: 1117(ptr) AccessChain 34(data) 37 1116 38
+ 1152: 27(int64_t) Load 1151
+ 1153: 27(int64_t) GroupNonUniformIMul 43 ClusteredReduce 1152 42
+ 1154: 1117(ptr) AccessChain 34(data) 1150 1116 38
+ Store 1154 1153
+ 1155: 6(int) Load 8(invocation)
+ 1156: 1124(ptr) AccessChain 34(data) 47 1116
+ 1157: 28(i64vec4) Load 1156
+ 1158:1123(i64vec2) VectorShuffle 1157 1157 0 1
+ 1159:1123(i64vec2) GroupNonUniformIMul 43 ClusteredReduce 1158 42
+ 1160: 1117(ptr) AccessChain 34(data) 1155 1116 38
+ 1161: 27(int64_t) CompositeExtract 1159 0
+ Store 1160 1161
+ 1162: 1117(ptr) AccessChain 34(data) 1155 1116 42
+ 1163: 27(int64_t) CompositeExtract 1159 1
+ Store 1162 1163
+ 1164: 6(int) Load 8(invocation)
+ 1165: 1124(ptr) AccessChain 34(data) 59 1116
+ 1166: 28(i64vec4) Load 1165
+ 1167:1134(i64vec3) VectorShuffle 1166 1166 0 1 2
+ 1168:1134(i64vec3) GroupNonUniformIMul 43 ClusteredReduce 1167 42
+ 1169: 1117(ptr) AccessChain 34(data) 1164 1116 38
+ 1170: 27(int64_t) CompositeExtract 1168 0
+ Store 1169 1170
+ 1171: 1117(ptr) AccessChain 34(data) 1164 1116 42
+ 1172: 27(int64_t) CompositeExtract 1168 1
+ Store 1171 1172
+ 1173: 1117(ptr) AccessChain 34(data) 1164 1116 69
+ 1174: 27(int64_t) CompositeExtract 1168 2
+ Store 1173 1174
+ 1175: 6(int) Load 8(invocation)
+ 1176: 1124(ptr) AccessChain 34(data) 73 1116
+ 1177: 28(i64vec4) Load 1176
+ 1178: 28(i64vec4) GroupNonUniformIMul 43 ClusteredReduce 1177 42
+ 1179: 1124(ptr) AccessChain 34(data) 1175 1116
+ Store 1179 1178
+ 1180: 6(int) Load 8(invocation)
+ 1181: 1117(ptr) AccessChain 34(data) 37 1116 38
+ 1182: 27(int64_t) Load 1181
+ 1183: 27(int64_t) GroupNonUniformUMin 43 ClusteredReduce 1182 42
+ 1184: 1117(ptr) AccessChain 34(data) 1180 1116 38
+ Store 1184 1183
+ 1185: 6(int) Load 8(invocation)
+ 1186: 1124(ptr) AccessChain 34(data) 47 1116
+ 1187: 28(i64vec4) Load 1186
+ 1188:1123(i64vec2) VectorShuffle 1187 1187 0 1
+ 1189:1123(i64vec2) GroupNonUniformUMin 43 ClusteredReduce 1188 42
+ 1190: 1117(ptr) AccessChain 34(data) 1185 1116 38
+ 1191: 27(int64_t) CompositeExtract 1189 0
+ Store 1190 1191
+ 1192: 1117(ptr) AccessChain 34(data) 1185 1116 42
+ 1193: 27(int64_t) CompositeExtract 1189 1
+ Store 1192 1193
+ 1194: 6(int) Load 8(invocation)
+ 1195: 1124(ptr) AccessChain 34(data) 59 1116
+ 1196: 28(i64vec4) Load 1195
+ 1197:1134(i64vec3) VectorShuffle 1196 1196 0 1 2
+ 1198:1134(i64vec3) GroupNonUniformUMin 43 ClusteredReduce 1197 42
+ 1199: 1117(ptr) AccessChain 34(data) 1194 1116 38
+ 1200: 27(int64_t) CompositeExtract 1198 0
+ Store 1199 1200
+ 1201: 1117(ptr) AccessChain 34(data) 1194 1116 42
+ 1202: 27(int64_t) CompositeExtract 1198 1
+ Store 1201 1202
+ 1203: 1117(ptr) AccessChain 34(data) 1194 1116 69
+ 1204: 27(int64_t) CompositeExtract 1198 2
+ Store 1203 1204
1205: 6(int) Load 8(invocation)
- 1206: 1170(ptr) AccessChain 34(data) 58 1162
- 1207: 30(f16vec4) Load 1206
- 1208:1179(f16vec3) VectorShuffle 1207 1207 0 1 2
- 1209:1179(f16vec3) GroupNonUniformFMul 43 ClusteredReduce 1208 42
- 1210: 1170(ptr) AccessChain 34(data) 1205 1162
- 1211: 30(f16vec4) Load 1210
- 1212: 30(f16vec4) VectorShuffle 1211 1209 4 5 6 3
- Store 1210 1212
- 1213: 6(int) Load 8(invocation)
- 1214: 1170(ptr) AccessChain 34(data) 68 1162
- 1215: 30(f16vec4) Load 1214
- 1216: 30(f16vec4) GroupNonUniformFMul 43 ClusteredReduce 1215 42
- 1217: 1170(ptr) AccessChain 34(data) 1213 1162
- Store 1217 1216
- 1218: 6(int) Load 8(invocation)
- 1219: 1163(ptr) AccessChain 34(data) 37 1162 38
- 1220:29(float16_t) Load 1219
- 1221:29(float16_t) GroupNonUniformFMin 43 ClusteredReduce 1220 42
- 1222: 1163(ptr) AccessChain 34(data) 1218 1162 38
- Store 1222 1221
- 1223: 6(int) Load 8(invocation)
- 1224: 1170(ptr) AccessChain 34(data) 47 1162
- 1225: 30(f16vec4) Load 1224
- 1226:1169(f16vec2) VectorShuffle 1225 1225 0 1
- 1227:1169(f16vec2) GroupNonUniformFMin 43 ClusteredReduce 1226 42
- 1228: 1170(ptr) AccessChain 34(data) 1223 1162
- 1229: 30(f16vec4) Load 1228
- 1230: 30(f16vec4) VectorShuffle 1229 1227 4 5 2 3
- Store 1228 1230
- 1231: 6(int) Load 8(invocation)
- 1232: 1170(ptr) AccessChain 34(data) 58 1162
- 1233: 30(f16vec4) Load 1232
- 1234:1179(f16vec3) VectorShuffle 1233 1233 0 1 2
- 1235:1179(f16vec3) GroupNonUniformFMin 43 ClusteredReduce 1234 42
- 1236: 1170(ptr) AccessChain 34(data) 1231 1162
- 1237: 30(f16vec4) Load 1236
- 1238: 30(f16vec4) VectorShuffle 1237 1235 4 5 6 3
- Store 1236 1238
- 1239: 6(int) Load 8(invocation)
- 1240: 1170(ptr) AccessChain 34(data) 68 1162
- 1241: 30(f16vec4) Load 1240
- 1242: 30(f16vec4) GroupNonUniformFMin 43 ClusteredReduce 1241 42
- 1243: 1170(ptr) AccessChain 34(data) 1239 1162
- Store 1243 1242
- 1244: 6(int) Load 8(invocation)
- 1245: 1163(ptr) AccessChain 34(data) 37 1162 38
- 1246:29(float16_t) Load 1245
- 1247:29(float16_t) GroupNonUniformFMax 43 ClusteredReduce 1246 42
- 1248: 1163(ptr) AccessChain 34(data) 1244 1162 38
- Store 1248 1247
- 1249: 6(int) Load 8(invocation)
- 1250: 1170(ptr) AccessChain 34(data) 47 1162
- 1251: 30(f16vec4) Load 1250
- 1252:1169(f16vec2) VectorShuffle 1251 1251 0 1
- 1253:1169(f16vec2) GroupNonUniformFMax 43 ClusteredReduce 1252 42
- 1254: 1170(ptr) AccessChain 34(data) 1249 1162
- 1255: 30(f16vec4) Load 1254
- 1256: 30(f16vec4) VectorShuffle 1255 1253 4 5 2 3
- Store 1254 1256
- 1257: 6(int) Load 8(invocation)
- 1258: 1170(ptr) AccessChain 34(data) 58 1162
- 1259: 30(f16vec4) Load 1258
- 1260:1179(f16vec3) VectorShuffle 1259 1259 0 1 2
- 1261:1179(f16vec3) GroupNonUniformFMax 43 ClusteredReduce 1260 42
- 1262: 1170(ptr) AccessChain 34(data) 1257 1162
- 1263: 30(f16vec4) Load 1262
- 1264: 30(f16vec4) VectorShuffle 1263 1261 4 5 6 3
- Store 1262 1264
+ 1206: 1124(ptr) AccessChain 34(data) 73 1116
+ 1207: 28(i64vec4) Load 1206
+ 1208: 28(i64vec4) GroupNonUniformUMin 43 ClusteredReduce 1207 42
+ 1209: 1124(ptr) AccessChain 34(data) 1205 1116
+ Store 1209 1208
+ 1210: 6(int) Load 8(invocation)
+ 1211: 1117(ptr) AccessChain 34(data) 37 1116 38
+ 1212: 27(int64_t) Load 1211
+ 1213: 27(int64_t) GroupNonUniformUMax 43 ClusteredReduce 1212 42
+ 1214: 1117(ptr) AccessChain 34(data) 1210 1116 38
+ Store 1214 1213
+ 1215: 6(int) Load 8(invocation)
+ 1216: 1124(ptr) AccessChain 34(data) 47 1116
+ 1217: 28(i64vec4) Load 1216
+ 1218:1123(i64vec2) VectorShuffle 1217 1217 0 1
+ 1219:1123(i64vec2) GroupNonUniformUMax 43 ClusteredReduce 1218 42
+ 1220: 1117(ptr) AccessChain 34(data) 1215 1116 38
+ 1221: 27(int64_t) CompositeExtract 1219 0
+ Store 1220 1221
+ 1222: 1117(ptr) AccessChain 34(data) 1215 1116 42
+ 1223: 27(int64_t) CompositeExtract 1219 1
+ Store 1222 1223
+ 1224: 6(int) Load 8(invocation)
+ 1225: 1124(ptr) AccessChain 34(data) 59 1116
+ 1226: 28(i64vec4) Load 1225
+ 1227:1134(i64vec3) VectorShuffle 1226 1226 0 1 2
+ 1228:1134(i64vec3) GroupNonUniformUMax 43 ClusteredReduce 1227 42
+ 1229: 1117(ptr) AccessChain 34(data) 1224 1116 38
+ 1230: 27(int64_t) CompositeExtract 1228 0
+ Store 1229 1230
+ 1231: 1117(ptr) AccessChain 34(data) 1224 1116 42
+ 1232: 27(int64_t) CompositeExtract 1228 1
+ Store 1231 1232
+ 1233: 1117(ptr) AccessChain 34(data) 1224 1116 69
+ 1234: 27(int64_t) CompositeExtract 1228 2
+ Store 1233 1234
+ 1235: 6(int) Load 8(invocation)
+ 1236: 1124(ptr) AccessChain 34(data) 73 1116
+ 1237: 28(i64vec4) Load 1236
+ 1238: 28(i64vec4) GroupNonUniformUMax 43 ClusteredReduce 1237 42
+ 1239: 1124(ptr) AccessChain 34(data) 1235 1116
+ Store 1239 1238
+ 1240: 6(int) Load 8(invocation)
+ 1241: 1117(ptr) AccessChain 34(data) 37 1116 38
+ 1242: 27(int64_t) Load 1241
+ 1243: 27(int64_t) GroupNonUniformBitwiseAnd 43 ClusteredReduce 1242 42
+ 1244: 1117(ptr) AccessChain 34(data) 1240 1116 38
+ Store 1244 1243
+ 1245: 6(int) Load 8(invocation)
+ 1246: 1124(ptr) AccessChain 34(data) 47 1116
+ 1247: 28(i64vec4) Load 1246
+ 1248:1123(i64vec2) VectorShuffle 1247 1247 0 1
+ 1249:1123(i64vec2) GroupNonUniformBitwiseAnd 43 ClusteredReduce 1248 42
+ 1250: 1117(ptr) AccessChain 34(data) 1245 1116 38
+ 1251: 27(int64_t) CompositeExtract 1249 0
+ Store 1250 1251
+ 1252: 1117(ptr) AccessChain 34(data) 1245 1116 42
+ 1253: 27(int64_t) CompositeExtract 1249 1
+ Store 1252 1253
+ 1254: 6(int) Load 8(invocation)
+ 1255: 1124(ptr) AccessChain 34(data) 59 1116
+ 1256: 28(i64vec4) Load 1255
+ 1257:1134(i64vec3) VectorShuffle 1256 1256 0 1 2
+ 1258:1134(i64vec3) GroupNonUniformBitwiseAnd 43 ClusteredReduce 1257 42
+ 1259: 1117(ptr) AccessChain 34(data) 1254 1116 38
+ 1260: 27(int64_t) CompositeExtract 1258 0
+ Store 1259 1260
+ 1261: 1117(ptr) AccessChain 34(data) 1254 1116 42
+ 1262: 27(int64_t) CompositeExtract 1258 1
+ Store 1261 1262
+ 1263: 1117(ptr) AccessChain 34(data) 1254 1116 69
+ 1264: 27(int64_t) CompositeExtract 1258 2
+ Store 1263 1264
1265: 6(int) Load 8(invocation)
- 1266: 1170(ptr) AccessChain 34(data) 68 1162
- 1267: 30(f16vec4) Load 1266
- 1268: 30(f16vec4) GroupNonUniformFMax 43 ClusteredReduce 1267 42
- 1269: 1170(ptr) AccessChain 34(data) 1265 1162
+ 1266: 1124(ptr) AccessChain 34(data) 73 1116
+ 1267: 28(i64vec4) Load 1266
+ 1268: 28(i64vec4) GroupNonUniformBitwiseAnd 43 ClusteredReduce 1267 42
+ 1269: 1124(ptr) AccessChain 34(data) 1265 1116
Store 1269 1268
+ 1270: 6(int) Load 8(invocation)
+ 1271: 1117(ptr) AccessChain 34(data) 37 1116 38
+ 1272: 27(int64_t) Load 1271
+ 1273: 27(int64_t) GroupNonUniformBitwiseOr 43 ClusteredReduce 1272 42
+ 1274: 1117(ptr) AccessChain 34(data) 1270 1116 38
+ Store 1274 1273
+ 1275: 6(int) Load 8(invocation)
+ 1276: 1124(ptr) AccessChain 34(data) 47 1116
+ 1277: 28(i64vec4) Load 1276
+ 1278:1123(i64vec2) VectorShuffle 1277 1277 0 1
+ 1279:1123(i64vec2) GroupNonUniformBitwiseOr 43 ClusteredReduce 1278 42
+ 1280: 1117(ptr) AccessChain 34(data) 1275 1116 38
+ 1281: 27(int64_t) CompositeExtract 1279 0
+ Store 1280 1281
+ 1282: 1117(ptr) AccessChain 34(data) 1275 1116 42
+ 1283: 27(int64_t) CompositeExtract 1279 1
+ Store 1282 1283
+ 1284: 6(int) Load 8(invocation)
+ 1285: 1124(ptr) AccessChain 34(data) 59 1116
+ 1286: 28(i64vec4) Load 1285
+ 1287:1134(i64vec3) VectorShuffle 1286 1286 0 1 2
+ 1288:1134(i64vec3) GroupNonUniformBitwiseOr 43 ClusteredReduce 1287 42
+ 1289: 1117(ptr) AccessChain 34(data) 1284 1116 38
+ 1290: 27(int64_t) CompositeExtract 1288 0
+ Store 1289 1290
+ 1291: 1117(ptr) AccessChain 34(data) 1284 1116 42
+ 1292: 27(int64_t) CompositeExtract 1288 1
+ Store 1291 1292
+ 1293: 1117(ptr) AccessChain 34(data) 1284 1116 69
+ 1294: 27(int64_t) CompositeExtract 1288 2
+ Store 1293 1294
+ 1295: 6(int) Load 8(invocation)
+ 1296: 1124(ptr) AccessChain 34(data) 73 1116
+ 1297: 28(i64vec4) Load 1296
+ 1298: 28(i64vec4) GroupNonUniformBitwiseOr 43 ClusteredReduce 1297 42
+ 1299: 1124(ptr) AccessChain 34(data) 1295 1116
+ Store 1299 1298
+ 1300: 6(int) Load 8(invocation)
+ 1301: 1117(ptr) AccessChain 34(data) 37 1116 38
+ 1302: 27(int64_t) Load 1301
+ 1303: 27(int64_t) GroupNonUniformBitwiseXor 43 ClusteredReduce 1302 42
+ 1304: 1117(ptr) AccessChain 34(data) 1300 1116 38
+ Store 1304 1303
+ 1305: 6(int) Load 8(invocation)
+ 1306: 1124(ptr) AccessChain 34(data) 47 1116
+ 1307: 28(i64vec4) Load 1306
+ 1308:1123(i64vec2) VectorShuffle 1307 1307 0 1
+ 1309:1123(i64vec2) GroupNonUniformBitwiseXor 43 ClusteredReduce 1308 42
+ 1310: 1117(ptr) AccessChain 34(data) 1305 1116 38
+ 1311: 27(int64_t) CompositeExtract 1309 0
+ Store 1310 1311
+ 1312: 1117(ptr) AccessChain 34(data) 1305 1116 42
+ 1313: 27(int64_t) CompositeExtract 1309 1
+ Store 1312 1313
+ 1314: 6(int) Load 8(invocation)
+ 1315: 1124(ptr) AccessChain 34(data) 59 1116
+ 1316: 28(i64vec4) Load 1315
+ 1317:1134(i64vec3) VectorShuffle 1316 1316 0 1 2
+ 1318:1134(i64vec3) GroupNonUniformBitwiseXor 43 ClusteredReduce 1317 42
+ 1319: 1117(ptr) AccessChain 34(data) 1314 1116 38
+ 1320: 27(int64_t) CompositeExtract 1318 0
+ Store 1319 1320
+ 1321: 1117(ptr) AccessChain 34(data) 1314 1116 42
+ 1322: 27(int64_t) CompositeExtract 1318 1
+ Store 1321 1322
+ 1323: 1117(ptr) AccessChain 34(data) 1314 1116 69
+ 1324: 27(int64_t) CompositeExtract 1318 2
+ Store 1323 1324
+ 1325: 6(int) Load 8(invocation)
+ 1326: 1124(ptr) AccessChain 34(data) 73 1116
+ 1327: 28(i64vec4) Load 1326
+ 1328: 28(i64vec4) GroupNonUniformBitwiseXor 43 ClusteredReduce 1327 42
+ 1329: 1124(ptr) AccessChain 34(data) 1325 1116
+ Store 1329 1328
+ 1330: 6(int) Load 8(invocation)
+ 1333: 1332(ptr) AccessChain 34(data) 37 1331 38
+ 1334:29(float16_t) Load 1333
+ 1335:29(float16_t) GroupNonUniformFAdd 43 ClusteredReduce 1334 42
+ 1336: 1332(ptr) AccessChain 34(data) 1330 1331 38
+ Store 1336 1335
+ 1337: 6(int) Load 8(invocation)
+ 1340: 1339(ptr) AccessChain 34(data) 47 1331
+ 1341: 30(f16vec4) Load 1340
+ 1342:1338(f16vec2) VectorShuffle 1341 1341 0 1
+ 1343:1338(f16vec2) GroupNonUniformFAdd 43 ClusteredReduce 1342 42
+ 1344: 1332(ptr) AccessChain 34(data) 1337 1331 38
+ 1345:29(float16_t) CompositeExtract 1343 0
+ Store 1344 1345
+ 1346: 1332(ptr) AccessChain 34(data) 1337 1331 42
+ 1347:29(float16_t) CompositeExtract 1343 1
+ Store 1346 1347
+ 1348: 6(int) Load 8(invocation)
+ 1350: 1339(ptr) AccessChain 34(data) 59 1331
+ 1351: 30(f16vec4) Load 1350
+ 1352:1349(f16vec3) VectorShuffle 1351 1351 0 1 2
+ 1353:1349(f16vec3) GroupNonUniformFAdd 43 ClusteredReduce 1352 42
+ 1354: 1332(ptr) AccessChain 34(data) 1348 1331 38
+ 1355:29(float16_t) CompositeExtract 1353 0
+ Store 1354 1355
+ 1356: 1332(ptr) AccessChain 34(data) 1348 1331 42
+ 1357:29(float16_t) CompositeExtract 1353 1
+ Store 1356 1357
+ 1358: 1332(ptr) AccessChain 34(data) 1348 1331 69
+ 1359:29(float16_t) CompositeExtract 1353 2
+ Store 1358 1359
+ 1360: 6(int) Load 8(invocation)
+ 1361: 1339(ptr) AccessChain 34(data) 73 1331
+ 1362: 30(f16vec4) Load 1361
+ 1363: 30(f16vec4) GroupNonUniformFAdd 43 ClusteredReduce 1362 42
+ 1364: 1339(ptr) AccessChain 34(data) 1360 1331
+ Store 1364 1363
+ 1365: 6(int) Load 8(invocation)
+ 1366: 1332(ptr) AccessChain 34(data) 37 1331 38
+ 1367:29(float16_t) Load 1366
+ 1368:29(float16_t) GroupNonUniformFMul 43 ClusteredReduce 1367 42
+ 1369: 1332(ptr) AccessChain 34(data) 1365 1331 38
+ Store 1369 1368
+ 1370: 6(int) Load 8(invocation)
+ 1371: 1339(ptr) AccessChain 34(data) 47 1331
+ 1372: 30(f16vec4) Load 1371
+ 1373:1338(f16vec2) VectorShuffle 1372 1372 0 1
+ 1374:1338(f16vec2) GroupNonUniformFMul 43 ClusteredReduce 1373 42
+ 1375: 1332(ptr) AccessChain 34(data) 1370 1331 38
+ 1376:29(float16_t) CompositeExtract 1374 0
+ Store 1375 1376
+ 1377: 1332(ptr) AccessChain 34(data) 1370 1331 42
+ 1378:29(float16_t) CompositeExtract 1374 1
+ Store 1377 1378
+ 1379: 6(int) Load 8(invocation)
+ 1380: 1339(ptr) AccessChain 34(data) 59 1331
+ 1381: 30(f16vec4) Load 1380
+ 1382:1349(f16vec3) VectorShuffle 1381 1381 0 1 2
+ 1383:1349(f16vec3) GroupNonUniformFMul 43 ClusteredReduce 1382 42
+ 1384: 1332(ptr) AccessChain 34(data) 1379 1331 38
+ 1385:29(float16_t) CompositeExtract 1383 0
+ Store 1384 1385
+ 1386: 1332(ptr) AccessChain 34(data) 1379 1331 42
+ 1387:29(float16_t) CompositeExtract 1383 1
+ Store 1386 1387
+ 1388: 1332(ptr) AccessChain 34(data) 1379 1331 69
+ 1389:29(float16_t) CompositeExtract 1383 2
+ Store 1388 1389
+ 1390: 6(int) Load 8(invocation)
+ 1391: 1339(ptr) AccessChain 34(data) 73 1331
+ 1392: 30(f16vec4) Load 1391
+ 1393: 30(f16vec4) GroupNonUniformFMul 43 ClusteredReduce 1392 42
+ 1394: 1339(ptr) AccessChain 34(data) 1390 1331
+ Store 1394 1393
+ 1395: 6(int) Load 8(invocation)
+ 1396: 1332(ptr) AccessChain 34(data) 37 1331 38
+ 1397:29(float16_t) Load 1396
+ 1398:29(float16_t) GroupNonUniformFMin 43 ClusteredReduce 1397 42
+ 1399: 1332(ptr) AccessChain 34(data) 1395 1331 38
+ Store 1399 1398
+ 1400: 6(int) Load 8(invocation)
+ 1401: 1339(ptr) AccessChain 34(data) 47 1331
+ 1402: 30(f16vec4) Load 1401
+ 1403:1338(f16vec2) VectorShuffle 1402 1402 0 1
+ 1404:1338(f16vec2) GroupNonUniformFMin 43 ClusteredReduce 1403 42
+ 1405: 1332(ptr) AccessChain 34(data) 1400 1331 38
+ 1406:29(float16_t) CompositeExtract 1404 0
+ Store 1405 1406
+ 1407: 1332(ptr) AccessChain 34(data) 1400 1331 42
+ 1408:29(float16_t) CompositeExtract 1404 1
+ Store 1407 1408
+ 1409: 6(int) Load 8(invocation)
+ 1410: 1339(ptr) AccessChain 34(data) 59 1331
+ 1411: 30(f16vec4) Load 1410
+ 1412:1349(f16vec3) VectorShuffle 1411 1411 0 1 2
+ 1413:1349(f16vec3) GroupNonUniformFMin 43 ClusteredReduce 1412 42
+ 1414: 1332(ptr) AccessChain 34(data) 1409 1331 38
+ 1415:29(float16_t) CompositeExtract 1413 0
+ Store 1414 1415
+ 1416: 1332(ptr) AccessChain 34(data) 1409 1331 42
+ 1417:29(float16_t) CompositeExtract 1413 1
+ Store 1416 1417
+ 1418: 1332(ptr) AccessChain 34(data) 1409 1331 69
+ 1419:29(float16_t) CompositeExtract 1413 2
+ Store 1418 1419
+ 1420: 6(int) Load 8(invocation)
+ 1421: 1339(ptr) AccessChain 34(data) 73 1331
+ 1422: 30(f16vec4) Load 1421
+ 1423: 30(f16vec4) GroupNonUniformFMin 43 ClusteredReduce 1422 42
+ 1424: 1339(ptr) AccessChain 34(data) 1420 1331
+ Store 1424 1423
+ 1425: 6(int) Load 8(invocation)
+ 1426: 1332(ptr) AccessChain 34(data) 37 1331 38
+ 1427:29(float16_t) Load 1426
+ 1428:29(float16_t) GroupNonUniformFMax 43 ClusteredReduce 1427 42
+ 1429: 1332(ptr) AccessChain 34(data) 1425 1331 38
+ Store 1429 1428
+ 1430: 6(int) Load 8(invocation)
+ 1431: 1339(ptr) AccessChain 34(data) 47 1331
+ 1432: 30(f16vec4) Load 1431
+ 1433:1338(f16vec2) VectorShuffle 1432 1432 0 1
+ 1434:1338(f16vec2) GroupNonUniformFMax 43 ClusteredReduce 1433 42
+ 1435: 1332(ptr) AccessChain 34(data) 1430 1331 38
+ 1436:29(float16_t) CompositeExtract 1434 0
+ Store 1435 1436
+ 1437: 1332(ptr) AccessChain 34(data) 1430 1331 42
+ 1438:29(float16_t) CompositeExtract 1434 1
+ Store 1437 1438
+ 1439: 6(int) Load 8(invocation)
+ 1440: 1339(ptr) AccessChain 34(data) 59 1331
+ 1441: 30(f16vec4) Load 1440
+ 1442:1349(f16vec3) VectorShuffle 1441 1441 0 1 2
+ 1443:1349(f16vec3) GroupNonUniformFMax 43 ClusteredReduce 1442 42
+ 1444: 1332(ptr) AccessChain 34(data) 1439 1331 38
+ 1445:29(float16_t) CompositeExtract 1443 0
+ Store 1444 1445
+ 1446: 1332(ptr) AccessChain 34(data) 1439 1331 42
+ 1447:29(float16_t) CompositeExtract 1443 1
+ Store 1446 1447
+ 1448: 1332(ptr) AccessChain 34(data) 1439 1331 69
+ 1449:29(float16_t) CompositeExtract 1443 2
+ Store 1448 1449
+ 1450: 6(int) Load 8(invocation)
+ 1451: 1339(ptr) AccessChain 34(data) 73 1331
+ 1452: 30(f16vec4) Load 1451
+ 1453: 30(f16vec4) GroupNonUniformFMax 43 ClusteredReduce 1452 42
+ 1454: 1339(ptr) AccessChain 34(data) 1450 1331
+ Store 1454 1453
Return
FunctionEnd
diff --git a/Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out b/Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out
index ccfbacc..47576d9 100644
--- a/Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out
+++ b/Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out
@@ -1,7 +1,7 @@
spv.subgroupExtendedTypesPartitioned.comp
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 1558
+// Id's are bound by 1743
Capability Shader
Capability Float16
@@ -61,7 +61,7 @@
Decorate 34(Buffers) Block
Decorate 37(data) DescriptorSet 0
Decorate 37(data) Binding 0
- Decorate 1557 BuiltIn WorkgroupSize
+ Decorate 1742 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -128,10 +128,11 @@
160: TypePointer StorageBuffer 33(f16vec4)
165: TypeVector 32(float16_t) 3
177: 6(int) Constant 3
- 1554: TypeVector 6(int) 3
- 1555: 6(int) Constant 8
- 1556: 6(int) Constant 1
- 1557: 1554(ivec3) ConstantComposite 1555 1556 1556
+ 188: 6(int) Constant 1
+ 201: 6(int) Constant 2
+ 1740: TypeVector 6(int) 3
+ 1741: 6(int) Constant 8
+ 1742: 1740(ivec3) ConstantComposite 1741 188 188
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@@ -280,270 +281,285 @@
183: 46(i8vec2) VectorShuffle 182 182 0 1
184: 17(ivec4) Load 19(ballot)
185: 46(i8vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 183 184
- 186: 47(ptr) AccessChain 37(data) 180 39
- 187: 21(i8vec4) Load 186
- 188: 21(i8vec4) VectorShuffle 187 185 4 5 2 3
- Store 186 188
- 189: 6(int) Load 8(invocation)
- 190: 47(ptr) AccessChain 37(data) 52 39
- 191: 21(i8vec4) Load 190
- 192: 53(i8vec3) VectorShuffle 191 191 0 1 2
- 193: 17(ivec4) Load 19(ballot)
- 194: 53(i8vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 192 193
- 195: 47(ptr) AccessChain 37(data) 189 39
- 196: 21(i8vec4) Load 195
- 197: 21(i8vec4) VectorShuffle 196 194 4 5 6 3
- Store 195 197
- 198: 6(int) Load 8(invocation)
- 199: 47(ptr) AccessChain 37(data) 58 39
- 200: 21(i8vec4) Load 199
- 201: 17(ivec4) Load 19(ballot)
- 202: 21(i8vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 200 201
- 203: 47(ptr) AccessChain 37(data) 198 39
- Store 203 202
+ 186: 41(ptr) AccessChain 37(data) 180 39 40
+ 187: 20(int8_t) CompositeExtract 185 0
+ Store 186 187
+ 189: 41(ptr) AccessChain 37(data) 180 39 188
+ 190: 20(int8_t) CompositeExtract 185 1
+ Store 189 190
+ 191: 6(int) Load 8(invocation)
+ 192: 47(ptr) AccessChain 37(data) 52 39
+ 193: 21(i8vec4) Load 192
+ 194: 53(i8vec3) VectorShuffle 193 193 0 1 2
+ 195: 17(ivec4) Load 19(ballot)
+ 196: 53(i8vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 194 195
+ 197: 41(ptr) AccessChain 37(data) 191 39 40
+ 198: 20(int8_t) CompositeExtract 196 0
+ Store 197 198
+ 199: 41(ptr) AccessChain 37(data) 191 39 188
+ 200: 20(int8_t) CompositeExtract 196 1
+ Store 199 200
+ 202: 41(ptr) AccessChain 37(data) 191 39 201
+ 203: 20(int8_t) CompositeExtract 196 2
+ Store 202 203
204: 6(int) Load 8(invocation)
- 205: 41(ptr) AccessChain 37(data) 39 39 40
- 206: 20(int8_t) Load 205
+ 205: 47(ptr) AccessChain 37(data) 58 39
+ 206: 21(i8vec4) Load 205
207: 17(ivec4) Load 19(ballot)
- 208: 20(int8_t) GroupNonUniformIMul 177 PartitionedReduceNV 206 207
- 209: 41(ptr) AccessChain 37(data) 204 39 40
+ 208: 21(i8vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 206 207
+ 209: 47(ptr) AccessChain 37(data) 204 39
Store 209 208
210: 6(int) Load 8(invocation)
- 211: 47(ptr) AccessChain 37(data) 45 39
- 212: 21(i8vec4) Load 211
- 213: 46(i8vec2) VectorShuffle 212 212 0 1
- 214: 17(ivec4) Load 19(ballot)
- 215: 46(i8vec2) GroupNonUniformIMul 177 PartitionedReduceNV 213 214
- 216: 47(ptr) AccessChain 37(data) 210 39
- 217: 21(i8vec4) Load 216
- 218: 21(i8vec4) VectorShuffle 217 215 4 5 2 3
- Store 216 218
- 219: 6(int) Load 8(invocation)
- 220: 47(ptr) AccessChain 37(data) 52 39
- 221: 21(i8vec4) Load 220
- 222: 53(i8vec3) VectorShuffle 221 221 0 1 2
- 223: 17(ivec4) Load 19(ballot)
- 224: 53(i8vec3) GroupNonUniformIMul 177 PartitionedReduceNV 222 223
- 225: 47(ptr) AccessChain 37(data) 219 39
- 226: 21(i8vec4) Load 225
- 227: 21(i8vec4) VectorShuffle 226 224 4 5 6 3
- Store 225 227
- 228: 6(int) Load 8(invocation)
- 229: 47(ptr) AccessChain 37(data) 58 39
- 230: 21(i8vec4) Load 229
- 231: 17(ivec4) Load 19(ballot)
- 232: 21(i8vec4) GroupNonUniformIMul 177 PartitionedReduceNV 230 231
- 233: 47(ptr) AccessChain 37(data) 228 39
- Store 233 232
- 234: 6(int) Load 8(invocation)
- 235: 41(ptr) AccessChain 37(data) 39 39 40
- 236: 20(int8_t) Load 235
- 237: 17(ivec4) Load 19(ballot)
- 238: 20(int8_t) GroupNonUniformSMin 177 PartitionedReduceNV 236 237
- 239: 41(ptr) AccessChain 37(data) 234 39 40
- Store 239 238
- 240: 6(int) Load 8(invocation)
- 241: 47(ptr) AccessChain 37(data) 45 39
- 242: 21(i8vec4) Load 241
- 243: 46(i8vec2) VectorShuffle 242 242 0 1
- 244: 17(ivec4) Load 19(ballot)
- 245: 46(i8vec2) GroupNonUniformSMin 177 PartitionedReduceNV 243 244
- 246: 47(ptr) AccessChain 37(data) 240 39
- 247: 21(i8vec4) Load 246
- 248: 21(i8vec4) VectorShuffle 247 245 4 5 2 3
- Store 246 248
- 249: 6(int) Load 8(invocation)
- 250: 47(ptr) AccessChain 37(data) 52 39
- 251: 21(i8vec4) Load 250
- 252: 53(i8vec3) VectorShuffle 251 251 0 1 2
- 253: 17(ivec4) Load 19(ballot)
- 254: 53(i8vec3) GroupNonUniformSMin 177 PartitionedReduceNV 252 253
- 255: 47(ptr) AccessChain 37(data) 249 39
- 256: 21(i8vec4) Load 255
- 257: 21(i8vec4) VectorShuffle 256 254 4 5 6 3
- Store 255 257
- 258: 6(int) Load 8(invocation)
- 259: 47(ptr) AccessChain 37(data) 58 39
- 260: 21(i8vec4) Load 259
- 261: 17(ivec4) Load 19(ballot)
- 262: 21(i8vec4) GroupNonUniformSMin 177 PartitionedReduceNV 260 261
- 263: 47(ptr) AccessChain 37(data) 258 39
- Store 263 262
- 264: 6(int) Load 8(invocation)
- 265: 41(ptr) AccessChain 37(data) 39 39 40
- 266: 20(int8_t) Load 265
- 267: 17(ivec4) Load 19(ballot)
- 268: 20(int8_t) GroupNonUniformSMax 177 PartitionedReduceNV 266 267
- 269: 41(ptr) AccessChain 37(data) 264 39 40
- Store 269 268
- 270: 6(int) Load 8(invocation)
- 271: 47(ptr) AccessChain 37(data) 45 39
- 272: 21(i8vec4) Load 271
- 273: 46(i8vec2) VectorShuffle 272 272 0 1
- 274: 17(ivec4) Load 19(ballot)
- 275: 46(i8vec2) GroupNonUniformSMax 177 PartitionedReduceNV 273 274
- 276: 47(ptr) AccessChain 37(data) 270 39
- 277: 21(i8vec4) Load 276
- 278: 21(i8vec4) VectorShuffle 277 275 4 5 2 3
- Store 276 278
- 279: 6(int) Load 8(invocation)
- 280: 47(ptr) AccessChain 37(data) 52 39
- 281: 21(i8vec4) Load 280
- 282: 53(i8vec3) VectorShuffle 281 281 0 1 2
- 283: 17(ivec4) Load 19(ballot)
- 284: 53(i8vec3) GroupNonUniformSMax 177 PartitionedReduceNV 282 283
- 285: 47(ptr) AccessChain 37(data) 279 39
+ 211: 41(ptr) AccessChain 37(data) 39 39 40
+ 212: 20(int8_t) Load 211
+ 213: 17(ivec4) Load 19(ballot)
+ 214: 20(int8_t) GroupNonUniformIMul 177 PartitionedReduceNV 212 213
+ 215: 41(ptr) AccessChain 37(data) 210 39 40
+ Store 215 214
+ 216: 6(int) Load 8(invocation)
+ 217: 47(ptr) AccessChain 37(data) 45 39
+ 218: 21(i8vec4) Load 217
+ 219: 46(i8vec2) VectorShuffle 218 218 0 1
+ 220: 17(ivec4) Load 19(ballot)
+ 221: 46(i8vec2) GroupNonUniformIMul 177 PartitionedReduceNV 219 220
+ 222: 41(ptr) AccessChain 37(data) 216 39 40
+ 223: 20(int8_t) CompositeExtract 221 0
+ Store 222 223
+ 224: 41(ptr) AccessChain 37(data) 216 39 188
+ 225: 20(int8_t) CompositeExtract 221 1
+ Store 224 225
+ 226: 6(int) Load 8(invocation)
+ 227: 47(ptr) AccessChain 37(data) 52 39
+ 228: 21(i8vec4) Load 227
+ 229: 53(i8vec3) VectorShuffle 228 228 0 1 2
+ 230: 17(ivec4) Load 19(ballot)
+ 231: 53(i8vec3) GroupNonUniformIMul 177 PartitionedReduceNV 229 230
+ 232: 41(ptr) AccessChain 37(data) 226 39 40
+ 233: 20(int8_t) CompositeExtract 231 0
+ Store 232 233
+ 234: 41(ptr) AccessChain 37(data) 226 39 188
+ 235: 20(int8_t) CompositeExtract 231 1
+ Store 234 235
+ 236: 41(ptr) AccessChain 37(data) 226 39 201
+ 237: 20(int8_t) CompositeExtract 231 2
+ Store 236 237
+ 238: 6(int) Load 8(invocation)
+ 239: 47(ptr) AccessChain 37(data) 58 39
+ 240: 21(i8vec4) Load 239
+ 241: 17(ivec4) Load 19(ballot)
+ 242: 21(i8vec4) GroupNonUniformIMul 177 PartitionedReduceNV 240 241
+ 243: 47(ptr) AccessChain 37(data) 238 39
+ Store 243 242
+ 244: 6(int) Load 8(invocation)
+ 245: 41(ptr) AccessChain 37(data) 39 39 40
+ 246: 20(int8_t) Load 245
+ 247: 17(ivec4) Load 19(ballot)
+ 248: 20(int8_t) GroupNonUniformSMin 177 PartitionedReduceNV 246 247
+ 249: 41(ptr) AccessChain 37(data) 244 39 40
+ Store 249 248
+ 250: 6(int) Load 8(invocation)
+ 251: 47(ptr) AccessChain 37(data) 45 39
+ 252: 21(i8vec4) Load 251
+ 253: 46(i8vec2) VectorShuffle 252 252 0 1
+ 254: 17(ivec4) Load 19(ballot)
+ 255: 46(i8vec2) GroupNonUniformSMin 177 PartitionedReduceNV 253 254
+ 256: 41(ptr) AccessChain 37(data) 250 39 40
+ 257: 20(int8_t) CompositeExtract 255 0
+ Store 256 257
+ 258: 41(ptr) AccessChain 37(data) 250 39 188
+ 259: 20(int8_t) CompositeExtract 255 1
+ Store 258 259
+ 260: 6(int) Load 8(invocation)
+ 261: 47(ptr) AccessChain 37(data) 52 39
+ 262: 21(i8vec4) Load 261
+ 263: 53(i8vec3) VectorShuffle 262 262 0 1 2
+ 264: 17(ivec4) Load 19(ballot)
+ 265: 53(i8vec3) GroupNonUniformSMin 177 PartitionedReduceNV 263 264
+ 266: 41(ptr) AccessChain 37(data) 260 39 40
+ 267: 20(int8_t) CompositeExtract 265 0
+ Store 266 267
+ 268: 41(ptr) AccessChain 37(data) 260 39 188
+ 269: 20(int8_t) CompositeExtract 265 1
+ Store 268 269
+ 270: 41(ptr) AccessChain 37(data) 260 39 201
+ 271: 20(int8_t) CompositeExtract 265 2
+ Store 270 271
+ 272: 6(int) Load 8(invocation)
+ 273: 47(ptr) AccessChain 37(data) 58 39
+ 274: 21(i8vec4) Load 273
+ 275: 17(ivec4) Load 19(ballot)
+ 276: 21(i8vec4) GroupNonUniformSMin 177 PartitionedReduceNV 274 275
+ 277: 47(ptr) AccessChain 37(data) 272 39
+ Store 277 276
+ 278: 6(int) Load 8(invocation)
+ 279: 41(ptr) AccessChain 37(data) 39 39 40
+ 280: 20(int8_t) Load 279
+ 281: 17(ivec4) Load 19(ballot)
+ 282: 20(int8_t) GroupNonUniformSMax 177 PartitionedReduceNV 280 281
+ 283: 41(ptr) AccessChain 37(data) 278 39 40
+ Store 283 282
+ 284: 6(int) Load 8(invocation)
+ 285: 47(ptr) AccessChain 37(data) 45 39
286: 21(i8vec4) Load 285
- 287: 21(i8vec4) VectorShuffle 286 284 4 5 6 3
- Store 285 287
- 288: 6(int) Load 8(invocation)
- 289: 47(ptr) AccessChain 37(data) 58 39
- 290: 21(i8vec4) Load 289
- 291: 17(ivec4) Load 19(ballot)
- 292: 21(i8vec4) GroupNonUniformSMax 177 PartitionedReduceNV 290 291
- 293: 47(ptr) AccessChain 37(data) 288 39
- Store 293 292
+ 287: 46(i8vec2) VectorShuffle 286 286 0 1
+ 288: 17(ivec4) Load 19(ballot)
+ 289: 46(i8vec2) GroupNonUniformSMax 177 PartitionedReduceNV 287 288
+ 290: 41(ptr) AccessChain 37(data) 284 39 40
+ 291: 20(int8_t) CompositeExtract 289 0
+ Store 290 291
+ 292: 41(ptr) AccessChain 37(data) 284 39 188
+ 293: 20(int8_t) CompositeExtract 289 1
+ Store 292 293
294: 6(int) Load 8(invocation)
- 295: 41(ptr) AccessChain 37(data) 39 39 40
- 296: 20(int8_t) Load 295
- 297: 17(ivec4) Load 19(ballot)
- 298: 20(int8_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 296 297
- 299: 41(ptr) AccessChain 37(data) 294 39 40
- Store 299 298
- 300: 6(int) Load 8(invocation)
- 301: 47(ptr) AccessChain 37(data) 45 39
- 302: 21(i8vec4) Load 301
- 303: 46(i8vec2) VectorShuffle 302 302 0 1
- 304: 17(ivec4) Load 19(ballot)
- 305: 46(i8vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 303 304
- 306: 47(ptr) AccessChain 37(data) 300 39
- 307: 21(i8vec4) Load 306
- 308: 21(i8vec4) VectorShuffle 307 305 4 5 2 3
- Store 306 308
- 309: 6(int) Load 8(invocation)
- 310: 47(ptr) AccessChain 37(data) 52 39
- 311: 21(i8vec4) Load 310
- 312: 53(i8vec3) VectorShuffle 311 311 0 1 2
- 313: 17(ivec4) Load 19(ballot)
- 314: 53(i8vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 312 313
- 315: 47(ptr) AccessChain 37(data) 309 39
- 316: 21(i8vec4) Load 315
- 317: 21(i8vec4) VectorShuffle 316 314 4 5 6 3
- Store 315 317
+ 295: 47(ptr) AccessChain 37(data) 52 39
+ 296: 21(i8vec4) Load 295
+ 297: 53(i8vec3) VectorShuffle 296 296 0 1 2
+ 298: 17(ivec4) Load 19(ballot)
+ 299: 53(i8vec3) GroupNonUniformSMax 177 PartitionedReduceNV 297 298
+ 300: 41(ptr) AccessChain 37(data) 294 39 40
+ 301: 20(int8_t) CompositeExtract 299 0
+ Store 300 301
+ 302: 41(ptr) AccessChain 37(data) 294 39 188
+ 303: 20(int8_t) CompositeExtract 299 1
+ Store 302 303
+ 304: 41(ptr) AccessChain 37(data) 294 39 201
+ 305: 20(int8_t) CompositeExtract 299 2
+ Store 304 305
+ 306: 6(int) Load 8(invocation)
+ 307: 47(ptr) AccessChain 37(data) 58 39
+ 308: 21(i8vec4) Load 307
+ 309: 17(ivec4) Load 19(ballot)
+ 310: 21(i8vec4) GroupNonUniformSMax 177 PartitionedReduceNV 308 309
+ 311: 47(ptr) AccessChain 37(data) 306 39
+ Store 311 310
+ 312: 6(int) Load 8(invocation)
+ 313: 41(ptr) AccessChain 37(data) 39 39 40
+ 314: 20(int8_t) Load 313
+ 315: 17(ivec4) Load 19(ballot)
+ 316: 20(int8_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 314 315
+ 317: 41(ptr) AccessChain 37(data) 312 39 40
+ Store 317 316
318: 6(int) Load 8(invocation)
- 319: 47(ptr) AccessChain 37(data) 58 39
+ 319: 47(ptr) AccessChain 37(data) 45 39
320: 21(i8vec4) Load 319
- 321: 17(ivec4) Load 19(ballot)
- 322: 21(i8vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 320 321
- 323: 47(ptr) AccessChain 37(data) 318 39
- Store 323 322
- 324: 6(int) Load 8(invocation)
- 325: 41(ptr) AccessChain 37(data) 39 39 40
- 326: 20(int8_t) Load 325
- 327: 17(ivec4) Load 19(ballot)
- 328: 20(int8_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 326 327
- 329: 41(ptr) AccessChain 37(data) 324 39 40
- Store 329 328
- 330: 6(int) Load 8(invocation)
- 331: 47(ptr) AccessChain 37(data) 45 39
- 332: 21(i8vec4) Load 331
- 333: 46(i8vec2) VectorShuffle 332 332 0 1
- 334: 17(ivec4) Load 19(ballot)
- 335: 46(i8vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 333 334
- 336: 47(ptr) AccessChain 37(data) 330 39
- 337: 21(i8vec4) Load 336
- 338: 21(i8vec4) VectorShuffle 337 335 4 5 2 3
- Store 336 338
- 339: 6(int) Load 8(invocation)
- 340: 47(ptr) AccessChain 37(data) 52 39
- 341: 21(i8vec4) Load 340
- 342: 53(i8vec3) VectorShuffle 341 341 0 1 2
+ 321: 46(i8vec2) VectorShuffle 320 320 0 1
+ 322: 17(ivec4) Load 19(ballot)
+ 323: 46(i8vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 321 322
+ 324: 41(ptr) AccessChain 37(data) 318 39 40
+ 325: 20(int8_t) CompositeExtract 323 0
+ Store 324 325
+ 326: 41(ptr) AccessChain 37(data) 318 39 188
+ 327: 20(int8_t) CompositeExtract 323 1
+ Store 326 327
+ 328: 6(int) Load 8(invocation)
+ 329: 47(ptr) AccessChain 37(data) 52 39
+ 330: 21(i8vec4) Load 329
+ 331: 53(i8vec3) VectorShuffle 330 330 0 1 2
+ 332: 17(ivec4) Load 19(ballot)
+ 333: 53(i8vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 331 332
+ 334: 41(ptr) AccessChain 37(data) 328 39 40
+ 335: 20(int8_t) CompositeExtract 333 0
+ Store 334 335
+ 336: 41(ptr) AccessChain 37(data) 328 39 188
+ 337: 20(int8_t) CompositeExtract 333 1
+ Store 336 337
+ 338: 41(ptr) AccessChain 37(data) 328 39 201
+ 339: 20(int8_t) CompositeExtract 333 2
+ Store 338 339
+ 340: 6(int) Load 8(invocation)
+ 341: 47(ptr) AccessChain 37(data) 58 39
+ 342: 21(i8vec4) Load 341
343: 17(ivec4) Load 19(ballot)
- 344: 53(i8vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 342 343
- 345: 47(ptr) AccessChain 37(data) 339 39
- 346: 21(i8vec4) Load 345
- 347: 21(i8vec4) VectorShuffle 346 344 4 5 6 3
- Store 345 347
- 348: 6(int) Load 8(invocation)
- 349: 47(ptr) AccessChain 37(data) 58 39
- 350: 21(i8vec4) Load 349
- 351: 17(ivec4) Load 19(ballot)
- 352: 21(i8vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 350 351
- 353: 47(ptr) AccessChain 37(data) 348 39
- Store 353 352
- 354: 6(int) Load 8(invocation)
- 355: 41(ptr) AccessChain 37(data) 39 39 40
- 356: 20(int8_t) Load 355
- 357: 17(ivec4) Load 19(ballot)
- 358: 20(int8_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 356 357
- 359: 41(ptr) AccessChain 37(data) 354 39 40
- Store 359 358
- 360: 6(int) Load 8(invocation)
- 361: 47(ptr) AccessChain 37(data) 45 39
- 362: 21(i8vec4) Load 361
- 363: 46(i8vec2) VectorShuffle 362 362 0 1
- 364: 17(ivec4) Load 19(ballot)
- 365: 46(i8vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 363 364
- 366: 47(ptr) AccessChain 37(data) 360 39
- 367: 21(i8vec4) Load 366
- 368: 21(i8vec4) VectorShuffle 367 365 4 5 2 3
- Store 366 368
- 369: 6(int) Load 8(invocation)
- 370: 47(ptr) AccessChain 37(data) 52 39
- 371: 21(i8vec4) Load 370
- 372: 53(i8vec3) VectorShuffle 371 371 0 1 2
- 373: 17(ivec4) Load 19(ballot)
- 374: 53(i8vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 372 373
- 375: 47(ptr) AccessChain 37(data) 369 39
+ 344: 21(i8vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 342 343
+ 345: 47(ptr) AccessChain 37(data) 340 39
+ Store 345 344
+ 346: 6(int) Load 8(invocation)
+ 347: 41(ptr) AccessChain 37(data) 39 39 40
+ 348: 20(int8_t) Load 347
+ 349: 17(ivec4) Load 19(ballot)
+ 350: 20(int8_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 348 349
+ 351: 41(ptr) AccessChain 37(data) 346 39 40
+ Store 351 350
+ 352: 6(int) Load 8(invocation)
+ 353: 47(ptr) AccessChain 37(data) 45 39
+ 354: 21(i8vec4) Load 353
+ 355: 46(i8vec2) VectorShuffle 354 354 0 1
+ 356: 17(ivec4) Load 19(ballot)
+ 357: 46(i8vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 355 356
+ 358: 41(ptr) AccessChain 37(data) 352 39 40
+ 359: 20(int8_t) CompositeExtract 357 0
+ Store 358 359
+ 360: 41(ptr) AccessChain 37(data) 352 39 188
+ 361: 20(int8_t) CompositeExtract 357 1
+ Store 360 361
+ 362: 6(int) Load 8(invocation)
+ 363: 47(ptr) AccessChain 37(data) 52 39
+ 364: 21(i8vec4) Load 363
+ 365: 53(i8vec3) VectorShuffle 364 364 0 1 2
+ 366: 17(ivec4) Load 19(ballot)
+ 367: 53(i8vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 365 366
+ 368: 41(ptr) AccessChain 37(data) 362 39 40
+ 369: 20(int8_t) CompositeExtract 367 0
+ Store 368 369
+ 370: 41(ptr) AccessChain 37(data) 362 39 188
+ 371: 20(int8_t) CompositeExtract 367 1
+ Store 370 371
+ 372: 41(ptr) AccessChain 37(data) 362 39 201
+ 373: 20(int8_t) CompositeExtract 367 2
+ Store 372 373
+ 374: 6(int) Load 8(invocation)
+ 375: 47(ptr) AccessChain 37(data) 58 39
376: 21(i8vec4) Load 375
- 377: 21(i8vec4) VectorShuffle 376 374 4 5 6 3
- Store 375 377
- 378: 6(int) Load 8(invocation)
- 379: 47(ptr) AccessChain 37(data) 58 39
- 380: 21(i8vec4) Load 379
- 381: 17(ivec4) Load 19(ballot)
- 382: 21(i8vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 380 381
- 383: 47(ptr) AccessChain 37(data) 378 39
- Store 383 382
- 384: 6(int) Load 8(invocation)
- 385: 62(ptr) AccessChain 37(data) 39 45 40
- 386: 22(int8_t) Load 385
- 387: 17(ivec4) Load 19(ballot)
- 388: 22(int8_t) GroupNonUniformIAdd 177 PartitionedReduceNV 386 387
- 389: 62(ptr) AccessChain 37(data) 384 45 40
- Store 389 388
- 390: 6(int) Load 8(invocation)
- 391: 67(ptr) AccessChain 37(data) 45 45
- 392: 23(i8vec4) Load 391
- 393: 66(i8vec2) VectorShuffle 392 392 0 1
- 394: 17(ivec4) Load 19(ballot)
- 395: 66(i8vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 393 394
- 396: 67(ptr) AccessChain 37(data) 390 45
- 397: 23(i8vec4) Load 396
- 398: 23(i8vec4) VectorShuffle 397 395 4 5 2 3
- Store 396 398
- 399: 6(int) Load 8(invocation)
- 400: 67(ptr) AccessChain 37(data) 52 45
- 401: 23(i8vec4) Load 400
- 402: 72(i8vec3) VectorShuffle 401 401 0 1 2
- 403: 17(ivec4) Load 19(ballot)
- 404: 72(i8vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 402 403
- 405: 67(ptr) AccessChain 37(data) 399 45
- 406: 23(i8vec4) Load 405
- 407: 23(i8vec4) VectorShuffle 406 404 4 5 6 3
- Store 405 407
+ 377: 17(ivec4) Load 19(ballot)
+ 378: 21(i8vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 376 377
+ 379: 47(ptr) AccessChain 37(data) 374 39
+ Store 379 378
+ 380: 6(int) Load 8(invocation)
+ 381: 41(ptr) AccessChain 37(data) 39 39 40
+ 382: 20(int8_t) Load 381
+ 383: 17(ivec4) Load 19(ballot)
+ 384: 20(int8_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 382 383
+ 385: 41(ptr) AccessChain 37(data) 380 39 40
+ Store 385 384
+ 386: 6(int) Load 8(invocation)
+ 387: 47(ptr) AccessChain 37(data) 45 39
+ 388: 21(i8vec4) Load 387
+ 389: 46(i8vec2) VectorShuffle 388 388 0 1
+ 390: 17(ivec4) Load 19(ballot)
+ 391: 46(i8vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 389 390
+ 392: 41(ptr) AccessChain 37(data) 386 39 40
+ 393: 20(int8_t) CompositeExtract 391 0
+ Store 392 393
+ 394: 41(ptr) AccessChain 37(data) 386 39 188
+ 395: 20(int8_t) CompositeExtract 391 1
+ Store 394 395
+ 396: 6(int) Load 8(invocation)
+ 397: 47(ptr) AccessChain 37(data) 52 39
+ 398: 21(i8vec4) Load 397
+ 399: 53(i8vec3) VectorShuffle 398 398 0 1 2
+ 400: 17(ivec4) Load 19(ballot)
+ 401: 53(i8vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 399 400
+ 402: 41(ptr) AccessChain 37(data) 396 39 40
+ 403: 20(int8_t) CompositeExtract 401 0
+ Store 402 403
+ 404: 41(ptr) AccessChain 37(data) 396 39 188
+ 405: 20(int8_t) CompositeExtract 401 1
+ Store 404 405
+ 406: 41(ptr) AccessChain 37(data) 396 39 201
+ 407: 20(int8_t) CompositeExtract 401 2
+ Store 406 407
408: 6(int) Load 8(invocation)
- 409: 67(ptr) AccessChain 37(data) 58 45
- 410: 23(i8vec4) Load 409
+ 409: 47(ptr) AccessChain 37(data) 58 39
+ 410: 21(i8vec4) Load 409
411: 17(ivec4) Load 19(ballot)
- 412: 23(i8vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 410 411
- 413: 67(ptr) AccessChain 37(data) 408 45
+ 412: 21(i8vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 410 411
+ 413: 47(ptr) AccessChain 37(data) 408 39
Store 413 412
414: 6(int) Load 8(invocation)
415: 62(ptr) AccessChain 37(data) 39 45 40
416: 22(int8_t) Load 415
417: 17(ivec4) Load 19(ballot)
- 418: 22(int8_t) GroupNonUniformIMul 177 PartitionedReduceNV 416 417
+ 418: 22(int8_t) GroupNonUniformIAdd 177 PartitionedReduceNV 416 417
419: 62(ptr) AccessChain 37(data) 414 45 40
Store 419 418
420: 6(int) Load 8(invocation)
@@ -551,577 +567,614 @@
422: 23(i8vec4) Load 421
423: 66(i8vec2) VectorShuffle 422 422 0 1
424: 17(ivec4) Load 19(ballot)
- 425: 66(i8vec2) GroupNonUniformIMul 177 PartitionedReduceNV 423 424
- 426: 67(ptr) AccessChain 37(data) 420 45
- 427: 23(i8vec4) Load 426
- 428: 23(i8vec4) VectorShuffle 427 425 4 5 2 3
- Store 426 428
- 429: 6(int) Load 8(invocation)
- 430: 67(ptr) AccessChain 37(data) 52 45
- 431: 23(i8vec4) Load 430
- 432: 72(i8vec3) VectorShuffle 431 431 0 1 2
- 433: 17(ivec4) Load 19(ballot)
- 434: 72(i8vec3) GroupNonUniformIMul 177 PartitionedReduceNV 432 433
- 435: 67(ptr) AccessChain 37(data) 429 45
- 436: 23(i8vec4) Load 435
- 437: 23(i8vec4) VectorShuffle 436 434 4 5 6 3
- Store 435 437
- 438: 6(int) Load 8(invocation)
- 439: 67(ptr) AccessChain 37(data) 58 45
- 440: 23(i8vec4) Load 439
- 441: 17(ivec4) Load 19(ballot)
- 442: 23(i8vec4) GroupNonUniformIMul 177 PartitionedReduceNV 440 441
- 443: 67(ptr) AccessChain 37(data) 438 45
- Store 443 442
- 444: 6(int) Load 8(invocation)
- 445: 62(ptr) AccessChain 37(data) 39 45 40
- 446: 22(int8_t) Load 445
- 447: 17(ivec4) Load 19(ballot)
- 448: 22(int8_t) GroupNonUniformUMin 177 PartitionedReduceNV 446 447
- 449: 62(ptr) AccessChain 37(data) 444 45 40
- Store 449 448
- 450: 6(int) Load 8(invocation)
- 451: 67(ptr) AccessChain 37(data) 45 45
- 452: 23(i8vec4) Load 451
- 453: 66(i8vec2) VectorShuffle 452 452 0 1
- 454: 17(ivec4) Load 19(ballot)
- 455: 66(i8vec2) GroupNonUniformUMin 177 PartitionedReduceNV 453 454
- 456: 67(ptr) AccessChain 37(data) 450 45
- 457: 23(i8vec4) Load 456
- 458: 23(i8vec4) VectorShuffle 457 455 4 5 2 3
- Store 456 458
- 459: 6(int) Load 8(invocation)
- 460: 67(ptr) AccessChain 37(data) 52 45
- 461: 23(i8vec4) Load 460
- 462: 72(i8vec3) VectorShuffle 461 461 0 1 2
- 463: 17(ivec4) Load 19(ballot)
- 464: 72(i8vec3) GroupNonUniformUMin 177 PartitionedReduceNV 462 463
- 465: 67(ptr) AccessChain 37(data) 459 45
+ 425: 66(i8vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 423 424
+ 426: 62(ptr) AccessChain 37(data) 420 45 40
+ 427: 22(int8_t) CompositeExtract 425 0
+ Store 426 427
+ 428: 62(ptr) AccessChain 37(data) 420 45 188
+ 429: 22(int8_t) CompositeExtract 425 1
+ Store 428 429
+ 430: 6(int) Load 8(invocation)
+ 431: 67(ptr) AccessChain 37(data) 52 45
+ 432: 23(i8vec4) Load 431
+ 433: 72(i8vec3) VectorShuffle 432 432 0 1 2
+ 434: 17(ivec4) Load 19(ballot)
+ 435: 72(i8vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 433 434
+ 436: 62(ptr) AccessChain 37(data) 430 45 40
+ 437: 22(int8_t) CompositeExtract 435 0
+ Store 436 437
+ 438: 62(ptr) AccessChain 37(data) 430 45 188
+ 439: 22(int8_t) CompositeExtract 435 1
+ Store 438 439
+ 440: 62(ptr) AccessChain 37(data) 430 45 201
+ 441: 22(int8_t) CompositeExtract 435 2
+ Store 440 441
+ 442: 6(int) Load 8(invocation)
+ 443: 67(ptr) AccessChain 37(data) 58 45
+ 444: 23(i8vec4) Load 443
+ 445: 17(ivec4) Load 19(ballot)
+ 446: 23(i8vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 444 445
+ 447: 67(ptr) AccessChain 37(data) 442 45
+ Store 447 446
+ 448: 6(int) Load 8(invocation)
+ 449: 62(ptr) AccessChain 37(data) 39 45 40
+ 450: 22(int8_t) Load 449
+ 451: 17(ivec4) Load 19(ballot)
+ 452: 22(int8_t) GroupNonUniformIMul 177 PartitionedReduceNV 450 451
+ 453: 62(ptr) AccessChain 37(data) 448 45 40
+ Store 453 452
+ 454: 6(int) Load 8(invocation)
+ 455: 67(ptr) AccessChain 37(data) 45 45
+ 456: 23(i8vec4) Load 455
+ 457: 66(i8vec2) VectorShuffle 456 456 0 1
+ 458: 17(ivec4) Load 19(ballot)
+ 459: 66(i8vec2) GroupNonUniformIMul 177 PartitionedReduceNV 457 458
+ 460: 62(ptr) AccessChain 37(data) 454 45 40
+ 461: 22(int8_t) CompositeExtract 459 0
+ Store 460 461
+ 462: 62(ptr) AccessChain 37(data) 454 45 188
+ 463: 22(int8_t) CompositeExtract 459 1
+ Store 462 463
+ 464: 6(int) Load 8(invocation)
+ 465: 67(ptr) AccessChain 37(data) 52 45
466: 23(i8vec4) Load 465
- 467: 23(i8vec4) VectorShuffle 466 464 4 5 6 3
- Store 465 467
- 468: 6(int) Load 8(invocation)
- 469: 67(ptr) AccessChain 37(data) 58 45
- 470: 23(i8vec4) Load 469
- 471: 17(ivec4) Load 19(ballot)
- 472: 23(i8vec4) GroupNonUniformUMin 177 PartitionedReduceNV 470 471
- 473: 67(ptr) AccessChain 37(data) 468 45
- Store 473 472
- 474: 6(int) Load 8(invocation)
- 475: 62(ptr) AccessChain 37(data) 39 45 40
- 476: 22(int8_t) Load 475
- 477: 17(ivec4) Load 19(ballot)
- 478: 22(int8_t) GroupNonUniformUMax 177 PartitionedReduceNV 476 477
- 479: 62(ptr) AccessChain 37(data) 474 45 40
- Store 479 478
- 480: 6(int) Load 8(invocation)
- 481: 67(ptr) AccessChain 37(data) 45 45
- 482: 23(i8vec4) Load 481
- 483: 66(i8vec2) VectorShuffle 482 482 0 1
- 484: 17(ivec4) Load 19(ballot)
- 485: 66(i8vec2) GroupNonUniformUMax 177 PartitionedReduceNV 483 484
- 486: 67(ptr) AccessChain 37(data) 480 45
- 487: 23(i8vec4) Load 486
- 488: 23(i8vec4) VectorShuffle 487 485 4 5 2 3
- Store 486 488
- 489: 6(int) Load 8(invocation)
- 490: 67(ptr) AccessChain 37(data) 52 45
- 491: 23(i8vec4) Load 490
- 492: 72(i8vec3) VectorShuffle 491 491 0 1 2
- 493: 17(ivec4) Load 19(ballot)
- 494: 72(i8vec3) GroupNonUniformUMax 177 PartitionedReduceNV 492 493
- 495: 67(ptr) AccessChain 37(data) 489 45
- 496: 23(i8vec4) Load 495
- 497: 23(i8vec4) VectorShuffle 496 494 4 5 6 3
- Store 495 497
+ 467: 72(i8vec3) VectorShuffle 466 466 0 1 2
+ 468: 17(ivec4) Load 19(ballot)
+ 469: 72(i8vec3) GroupNonUniformIMul 177 PartitionedReduceNV 467 468
+ 470: 62(ptr) AccessChain 37(data) 464 45 40
+ 471: 22(int8_t) CompositeExtract 469 0
+ Store 470 471
+ 472: 62(ptr) AccessChain 37(data) 464 45 188
+ 473: 22(int8_t) CompositeExtract 469 1
+ Store 472 473
+ 474: 62(ptr) AccessChain 37(data) 464 45 201
+ 475: 22(int8_t) CompositeExtract 469 2
+ Store 474 475
+ 476: 6(int) Load 8(invocation)
+ 477: 67(ptr) AccessChain 37(data) 58 45
+ 478: 23(i8vec4) Load 477
+ 479: 17(ivec4) Load 19(ballot)
+ 480: 23(i8vec4) GroupNonUniformIMul 177 PartitionedReduceNV 478 479
+ 481: 67(ptr) AccessChain 37(data) 476 45
+ Store 481 480
+ 482: 6(int) Load 8(invocation)
+ 483: 62(ptr) AccessChain 37(data) 39 45 40
+ 484: 22(int8_t) Load 483
+ 485: 17(ivec4) Load 19(ballot)
+ 486: 22(int8_t) GroupNonUniformUMin 177 PartitionedReduceNV 484 485
+ 487: 62(ptr) AccessChain 37(data) 482 45 40
+ Store 487 486
+ 488: 6(int) Load 8(invocation)
+ 489: 67(ptr) AccessChain 37(data) 45 45
+ 490: 23(i8vec4) Load 489
+ 491: 66(i8vec2) VectorShuffle 490 490 0 1
+ 492: 17(ivec4) Load 19(ballot)
+ 493: 66(i8vec2) GroupNonUniformUMin 177 PartitionedReduceNV 491 492
+ 494: 62(ptr) AccessChain 37(data) 488 45 40
+ 495: 22(int8_t) CompositeExtract 493 0
+ Store 494 495
+ 496: 62(ptr) AccessChain 37(data) 488 45 188
+ 497: 22(int8_t) CompositeExtract 493 1
+ Store 496 497
498: 6(int) Load 8(invocation)
- 499: 67(ptr) AccessChain 37(data) 58 45
+ 499: 67(ptr) AccessChain 37(data) 52 45
500: 23(i8vec4) Load 499
- 501: 17(ivec4) Load 19(ballot)
- 502: 23(i8vec4) GroupNonUniformUMax 177 PartitionedReduceNV 500 501
- 503: 67(ptr) AccessChain 37(data) 498 45
- Store 503 502
- 504: 6(int) Load 8(invocation)
- 505: 62(ptr) AccessChain 37(data) 39 45 40
- 506: 22(int8_t) Load 505
- 507: 17(ivec4) Load 19(ballot)
- 508: 22(int8_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 506 507
- 509: 62(ptr) AccessChain 37(data) 504 45 40
- Store 509 508
+ 501: 72(i8vec3) VectorShuffle 500 500 0 1 2
+ 502: 17(ivec4) Load 19(ballot)
+ 503: 72(i8vec3) GroupNonUniformUMin 177 PartitionedReduceNV 501 502
+ 504: 62(ptr) AccessChain 37(data) 498 45 40
+ 505: 22(int8_t) CompositeExtract 503 0
+ Store 504 505
+ 506: 62(ptr) AccessChain 37(data) 498 45 188
+ 507: 22(int8_t) CompositeExtract 503 1
+ Store 506 507
+ 508: 62(ptr) AccessChain 37(data) 498 45 201
+ 509: 22(int8_t) CompositeExtract 503 2
+ Store 508 509
510: 6(int) Load 8(invocation)
- 511: 67(ptr) AccessChain 37(data) 45 45
+ 511: 67(ptr) AccessChain 37(data) 58 45
512: 23(i8vec4) Load 511
- 513: 66(i8vec2) VectorShuffle 512 512 0 1
- 514: 17(ivec4) Load 19(ballot)
- 515: 66(i8vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 513 514
- 516: 67(ptr) AccessChain 37(data) 510 45
- 517: 23(i8vec4) Load 516
- 518: 23(i8vec4) VectorShuffle 517 515 4 5 2 3
- Store 516 518
- 519: 6(int) Load 8(invocation)
- 520: 67(ptr) AccessChain 37(data) 52 45
- 521: 23(i8vec4) Load 520
- 522: 72(i8vec3) VectorShuffle 521 521 0 1 2
- 523: 17(ivec4) Load 19(ballot)
- 524: 72(i8vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 522 523
- 525: 67(ptr) AccessChain 37(data) 519 45
- 526: 23(i8vec4) Load 525
- 527: 23(i8vec4) VectorShuffle 526 524 4 5 6 3
- Store 525 527
- 528: 6(int) Load 8(invocation)
- 529: 67(ptr) AccessChain 37(data) 58 45
- 530: 23(i8vec4) Load 529
- 531: 17(ivec4) Load 19(ballot)
- 532: 23(i8vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 530 531
- 533: 67(ptr) AccessChain 37(data) 528 45
- Store 533 532
- 534: 6(int) Load 8(invocation)
- 535: 62(ptr) AccessChain 37(data) 39 45 40
- 536: 22(int8_t) Load 535
- 537: 17(ivec4) Load 19(ballot)
- 538: 22(int8_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 536 537
- 539: 62(ptr) AccessChain 37(data) 534 45 40
- Store 539 538
- 540: 6(int) Load 8(invocation)
- 541: 67(ptr) AccessChain 37(data) 45 45
- 542: 23(i8vec4) Load 541
- 543: 66(i8vec2) VectorShuffle 542 542 0 1
- 544: 17(ivec4) Load 19(ballot)
- 545: 66(i8vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 543 544
- 546: 67(ptr) AccessChain 37(data) 540 45
- 547: 23(i8vec4) Load 546
- 548: 23(i8vec4) VectorShuffle 547 545 4 5 2 3
- Store 546 548
- 549: 6(int) Load 8(invocation)
- 550: 67(ptr) AccessChain 37(data) 52 45
- 551: 23(i8vec4) Load 550
- 552: 72(i8vec3) VectorShuffle 551 551 0 1 2
+ 513: 17(ivec4) Load 19(ballot)
+ 514: 23(i8vec4) GroupNonUniformUMin 177 PartitionedReduceNV 512 513
+ 515: 67(ptr) AccessChain 37(data) 510 45
+ Store 515 514
+ 516: 6(int) Load 8(invocation)
+ 517: 62(ptr) AccessChain 37(data) 39 45 40
+ 518: 22(int8_t) Load 517
+ 519: 17(ivec4) Load 19(ballot)
+ 520: 22(int8_t) GroupNonUniformUMax 177 PartitionedReduceNV 518 519
+ 521: 62(ptr) AccessChain 37(data) 516 45 40
+ Store 521 520
+ 522: 6(int) Load 8(invocation)
+ 523: 67(ptr) AccessChain 37(data) 45 45
+ 524: 23(i8vec4) Load 523
+ 525: 66(i8vec2) VectorShuffle 524 524 0 1
+ 526: 17(ivec4) Load 19(ballot)
+ 527: 66(i8vec2) GroupNonUniformUMax 177 PartitionedReduceNV 525 526
+ 528: 62(ptr) AccessChain 37(data) 522 45 40
+ 529: 22(int8_t) CompositeExtract 527 0
+ Store 528 529
+ 530: 62(ptr) AccessChain 37(data) 522 45 188
+ 531: 22(int8_t) CompositeExtract 527 1
+ Store 530 531
+ 532: 6(int) Load 8(invocation)
+ 533: 67(ptr) AccessChain 37(data) 52 45
+ 534: 23(i8vec4) Load 533
+ 535: 72(i8vec3) VectorShuffle 534 534 0 1 2
+ 536: 17(ivec4) Load 19(ballot)
+ 537: 72(i8vec3) GroupNonUniformUMax 177 PartitionedReduceNV 535 536
+ 538: 62(ptr) AccessChain 37(data) 532 45 40
+ 539: 22(int8_t) CompositeExtract 537 0
+ Store 538 539
+ 540: 62(ptr) AccessChain 37(data) 532 45 188
+ 541: 22(int8_t) CompositeExtract 537 1
+ Store 540 541
+ 542: 62(ptr) AccessChain 37(data) 532 45 201
+ 543: 22(int8_t) CompositeExtract 537 2
+ Store 542 543
+ 544: 6(int) Load 8(invocation)
+ 545: 67(ptr) AccessChain 37(data) 58 45
+ 546: 23(i8vec4) Load 545
+ 547: 17(ivec4) Load 19(ballot)
+ 548: 23(i8vec4) GroupNonUniformUMax 177 PartitionedReduceNV 546 547
+ 549: 67(ptr) AccessChain 37(data) 544 45
+ Store 549 548
+ 550: 6(int) Load 8(invocation)
+ 551: 62(ptr) AccessChain 37(data) 39 45 40
+ 552: 22(int8_t) Load 551
553: 17(ivec4) Load 19(ballot)
- 554: 72(i8vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 552 553
- 555: 67(ptr) AccessChain 37(data) 549 45
- 556: 23(i8vec4) Load 555
- 557: 23(i8vec4) VectorShuffle 556 554 4 5 6 3
- Store 555 557
- 558: 6(int) Load 8(invocation)
- 559: 67(ptr) AccessChain 37(data) 58 45
- 560: 23(i8vec4) Load 559
- 561: 17(ivec4) Load 19(ballot)
- 562: 23(i8vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 560 561
- 563: 67(ptr) AccessChain 37(data) 558 45
- Store 563 562
- 564: 6(int) Load 8(invocation)
- 565: 62(ptr) AccessChain 37(data) 39 45 40
- 566: 22(int8_t) Load 565
- 567: 17(ivec4) Load 19(ballot)
- 568: 22(int8_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 566 567
- 569: 62(ptr) AccessChain 37(data) 564 45 40
- Store 569 568
- 570: 6(int) Load 8(invocation)
- 571: 67(ptr) AccessChain 37(data) 45 45
- 572: 23(i8vec4) Load 571
- 573: 66(i8vec2) VectorShuffle 572 572 0 1
- 574: 17(ivec4) Load 19(ballot)
- 575: 66(i8vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 573 574
- 576: 67(ptr) AccessChain 37(data) 570 45
- 577: 23(i8vec4) Load 576
- 578: 23(i8vec4) VectorShuffle 577 575 4 5 2 3
- Store 576 578
- 579: 6(int) Load 8(invocation)
- 580: 67(ptr) AccessChain 37(data) 52 45
- 581: 23(i8vec4) Load 580
- 582: 72(i8vec3) VectorShuffle 581 581 0 1 2
- 583: 17(ivec4) Load 19(ballot)
- 584: 72(i8vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 582 583
- 585: 67(ptr) AccessChain 37(data) 579 45
- 586: 23(i8vec4) Load 585
- 587: 23(i8vec4) VectorShuffle 586 584 4 5 6 3
- Store 585 587
- 588: 6(int) Load 8(invocation)
- 589: 67(ptr) AccessChain 37(data) 58 45
- 590: 23(i8vec4) Load 589
- 591: 17(ivec4) Load 19(ballot)
- 592: 23(i8vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 590 591
- 593: 67(ptr) AccessChain 37(data) 588 45
- Store 593 592
- 594: 6(int) Load 8(invocation)
- 595: 80(ptr) AccessChain 37(data) 39 52 40
- 596: 24(int16_t) Load 595
- 597: 17(ivec4) Load 19(ballot)
- 598: 24(int16_t) GroupNonUniformIAdd 177 PartitionedReduceNV 596 597
- 599: 80(ptr) AccessChain 37(data) 594 52 40
- Store 599 598
+ 554: 22(int8_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 552 553
+ 555: 62(ptr) AccessChain 37(data) 550 45 40
+ Store 555 554
+ 556: 6(int) Load 8(invocation)
+ 557: 67(ptr) AccessChain 37(data) 45 45
+ 558: 23(i8vec4) Load 557
+ 559: 66(i8vec2) VectorShuffle 558 558 0 1
+ 560: 17(ivec4) Load 19(ballot)
+ 561: 66(i8vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 559 560
+ 562: 62(ptr) AccessChain 37(data) 556 45 40
+ 563: 22(int8_t) CompositeExtract 561 0
+ Store 562 563
+ 564: 62(ptr) AccessChain 37(data) 556 45 188
+ 565: 22(int8_t) CompositeExtract 561 1
+ Store 564 565
+ 566: 6(int) Load 8(invocation)
+ 567: 67(ptr) AccessChain 37(data) 52 45
+ 568: 23(i8vec4) Load 567
+ 569: 72(i8vec3) VectorShuffle 568 568 0 1 2
+ 570: 17(ivec4) Load 19(ballot)
+ 571: 72(i8vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 569 570
+ 572: 62(ptr) AccessChain 37(data) 566 45 40
+ 573: 22(int8_t) CompositeExtract 571 0
+ Store 572 573
+ 574: 62(ptr) AccessChain 37(data) 566 45 188
+ 575: 22(int8_t) CompositeExtract 571 1
+ Store 574 575
+ 576: 62(ptr) AccessChain 37(data) 566 45 201
+ 577: 22(int8_t) CompositeExtract 571 2
+ Store 576 577
+ 578: 6(int) Load 8(invocation)
+ 579: 67(ptr) AccessChain 37(data) 58 45
+ 580: 23(i8vec4) Load 579
+ 581: 17(ivec4) Load 19(ballot)
+ 582: 23(i8vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 580 581
+ 583: 67(ptr) AccessChain 37(data) 578 45
+ Store 583 582
+ 584: 6(int) Load 8(invocation)
+ 585: 62(ptr) AccessChain 37(data) 39 45 40
+ 586: 22(int8_t) Load 585
+ 587: 17(ivec4) Load 19(ballot)
+ 588: 22(int8_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 586 587
+ 589: 62(ptr) AccessChain 37(data) 584 45 40
+ Store 589 588
+ 590: 6(int) Load 8(invocation)
+ 591: 67(ptr) AccessChain 37(data) 45 45
+ 592: 23(i8vec4) Load 591
+ 593: 66(i8vec2) VectorShuffle 592 592 0 1
+ 594: 17(ivec4) Load 19(ballot)
+ 595: 66(i8vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 593 594
+ 596: 62(ptr) AccessChain 37(data) 590 45 40
+ 597: 22(int8_t) CompositeExtract 595 0
+ Store 596 597
+ 598: 62(ptr) AccessChain 37(data) 590 45 188
+ 599: 22(int8_t) CompositeExtract 595 1
+ Store 598 599
600: 6(int) Load 8(invocation)
- 601: 85(ptr) AccessChain 37(data) 45 52
- 602: 25(i16vec4) Load 601
- 603: 84(i16vec2) VectorShuffle 602 602 0 1
+ 601: 67(ptr) AccessChain 37(data) 52 45
+ 602: 23(i8vec4) Load 601
+ 603: 72(i8vec3) VectorShuffle 602 602 0 1 2
604: 17(ivec4) Load 19(ballot)
- 605: 84(i16vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 603 604
- 606: 85(ptr) AccessChain 37(data) 600 52
- 607: 25(i16vec4) Load 606
- 608: 25(i16vec4) VectorShuffle 607 605 4 5 2 3
- Store 606 608
- 609: 6(int) Load 8(invocation)
- 610: 85(ptr) AccessChain 37(data) 52 52
- 611: 25(i16vec4) Load 610
- 612: 90(i16vec3) VectorShuffle 611 611 0 1 2
- 613: 17(ivec4) Load 19(ballot)
- 614: 90(i16vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 612 613
- 615: 85(ptr) AccessChain 37(data) 609 52
- 616: 25(i16vec4) Load 615
- 617: 25(i16vec4) VectorShuffle 616 614 4 5 6 3
- Store 615 617
+ 605: 72(i8vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 603 604
+ 606: 62(ptr) AccessChain 37(data) 600 45 40
+ 607: 22(int8_t) CompositeExtract 605 0
+ Store 606 607
+ 608: 62(ptr) AccessChain 37(data) 600 45 188
+ 609: 22(int8_t) CompositeExtract 605 1
+ Store 608 609
+ 610: 62(ptr) AccessChain 37(data) 600 45 201
+ 611: 22(int8_t) CompositeExtract 605 2
+ Store 610 611
+ 612: 6(int) Load 8(invocation)
+ 613: 67(ptr) AccessChain 37(data) 58 45
+ 614: 23(i8vec4) Load 613
+ 615: 17(ivec4) Load 19(ballot)
+ 616: 23(i8vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 614 615
+ 617: 67(ptr) AccessChain 37(data) 612 45
+ Store 617 616
618: 6(int) Load 8(invocation)
- 619: 85(ptr) AccessChain 37(data) 58 52
- 620: 25(i16vec4) Load 619
+ 619: 62(ptr) AccessChain 37(data) 39 45 40
+ 620: 22(int8_t) Load 619
621: 17(ivec4) Load 19(ballot)
- 622: 25(i16vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 620 621
- 623: 85(ptr) AccessChain 37(data) 618 52
+ 622: 22(int8_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 620 621
+ 623: 62(ptr) AccessChain 37(data) 618 45 40
Store 623 622
624: 6(int) Load 8(invocation)
- 625: 80(ptr) AccessChain 37(data) 39 52 40
- 626: 24(int16_t) Load 625
- 627: 17(ivec4) Load 19(ballot)
- 628: 24(int16_t) GroupNonUniformIMul 177 PartitionedReduceNV 626 627
- 629: 80(ptr) AccessChain 37(data) 624 52 40
- Store 629 628
- 630: 6(int) Load 8(invocation)
- 631: 85(ptr) AccessChain 37(data) 45 52
- 632: 25(i16vec4) Load 631
- 633: 84(i16vec2) VectorShuffle 632 632 0 1
- 634: 17(ivec4) Load 19(ballot)
- 635: 84(i16vec2) GroupNonUniformIMul 177 PartitionedReduceNV 633 634
- 636: 85(ptr) AccessChain 37(data) 630 52
- 637: 25(i16vec4) Load 636
- 638: 25(i16vec4) VectorShuffle 637 635 4 5 2 3
- Store 636 638
- 639: 6(int) Load 8(invocation)
- 640: 85(ptr) AccessChain 37(data) 52 52
- 641: 25(i16vec4) Load 640
- 642: 90(i16vec3) VectorShuffle 641 641 0 1 2
- 643: 17(ivec4) Load 19(ballot)
- 644: 90(i16vec3) GroupNonUniformIMul 177 PartitionedReduceNV 642 643
- 645: 85(ptr) AccessChain 37(data) 639 52
- 646: 25(i16vec4) Load 645
- 647: 25(i16vec4) VectorShuffle 646 644 4 5 6 3
- Store 645 647
- 648: 6(int) Load 8(invocation)
- 649: 85(ptr) AccessChain 37(data) 58 52
- 650: 25(i16vec4) Load 649
- 651: 17(ivec4) Load 19(ballot)
- 652: 25(i16vec4) GroupNonUniformIMul 177 PartitionedReduceNV 650 651
- 653: 85(ptr) AccessChain 37(data) 648 52
- Store 653 652
- 654: 6(int) Load 8(invocation)
- 655: 80(ptr) AccessChain 37(data) 39 52 40
- 656: 24(int16_t) Load 655
- 657: 17(ivec4) Load 19(ballot)
- 658: 24(int16_t) GroupNonUniformSMin 177 PartitionedReduceNV 656 657
- 659: 80(ptr) AccessChain 37(data) 654 52 40
- Store 659 658
- 660: 6(int) Load 8(invocation)
- 661: 85(ptr) AccessChain 37(data) 45 52
- 662: 25(i16vec4) Load 661
- 663: 84(i16vec2) VectorShuffle 662 662 0 1
- 664: 17(ivec4) Load 19(ballot)
- 665: 84(i16vec2) GroupNonUniformSMin 177 PartitionedReduceNV 663 664
- 666: 85(ptr) AccessChain 37(data) 660 52
- 667: 25(i16vec4) Load 666
- 668: 25(i16vec4) VectorShuffle 667 665 4 5 2 3
- Store 666 668
- 669: 6(int) Load 8(invocation)
- 670: 85(ptr) AccessChain 37(data) 52 52
- 671: 25(i16vec4) Load 670
- 672: 90(i16vec3) VectorShuffle 671 671 0 1 2
- 673: 17(ivec4) Load 19(ballot)
- 674: 90(i16vec3) GroupNonUniformSMin 177 PartitionedReduceNV 672 673
- 675: 85(ptr) AccessChain 37(data) 669 52
- 676: 25(i16vec4) Load 675
- 677: 25(i16vec4) VectorShuffle 676 674 4 5 6 3
- Store 675 677
- 678: 6(int) Load 8(invocation)
- 679: 85(ptr) AccessChain 37(data) 58 52
- 680: 25(i16vec4) Load 679
- 681: 17(ivec4) Load 19(ballot)
- 682: 25(i16vec4) GroupNonUniformSMin 177 PartitionedReduceNV 680 681
- 683: 85(ptr) AccessChain 37(data) 678 52
- Store 683 682
- 684: 6(int) Load 8(invocation)
- 685: 80(ptr) AccessChain 37(data) 39 52 40
- 686: 24(int16_t) Load 685
- 687: 17(ivec4) Load 19(ballot)
- 688: 24(int16_t) GroupNonUniformSMax 177 PartitionedReduceNV 686 687
- 689: 80(ptr) AccessChain 37(data) 684 52 40
- Store 689 688
- 690: 6(int) Load 8(invocation)
- 691: 85(ptr) AccessChain 37(data) 45 52
- 692: 25(i16vec4) Load 691
- 693: 84(i16vec2) VectorShuffle 692 692 0 1
- 694: 17(ivec4) Load 19(ballot)
- 695: 84(i16vec2) GroupNonUniformSMax 177 PartitionedReduceNV 693 694
- 696: 85(ptr) AccessChain 37(data) 690 52
- 697: 25(i16vec4) Load 696
- 698: 25(i16vec4) VectorShuffle 697 695 4 5 2 3
- Store 696 698
- 699: 6(int) Load 8(invocation)
- 700: 85(ptr) AccessChain 37(data) 52 52
- 701: 25(i16vec4) Load 700
- 702: 90(i16vec3) VectorShuffle 701 701 0 1 2
- 703: 17(ivec4) Load 19(ballot)
- 704: 90(i16vec3) GroupNonUniformSMax 177 PartitionedReduceNV 702 703
- 705: 85(ptr) AccessChain 37(data) 699 52
- 706: 25(i16vec4) Load 705
- 707: 25(i16vec4) VectorShuffle 706 704 4 5 6 3
- Store 705 707
- 708: 6(int) Load 8(invocation)
- 709: 85(ptr) AccessChain 37(data) 58 52
- 710: 25(i16vec4) Load 709
- 711: 17(ivec4) Load 19(ballot)
- 712: 25(i16vec4) GroupNonUniformSMax 177 PartitionedReduceNV 710 711
- 713: 85(ptr) AccessChain 37(data) 708 52
- Store 713 712
+ 625: 67(ptr) AccessChain 37(data) 45 45
+ 626: 23(i8vec4) Load 625
+ 627: 66(i8vec2) VectorShuffle 626 626 0 1
+ 628: 17(ivec4) Load 19(ballot)
+ 629: 66(i8vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 627 628
+ 630: 62(ptr) AccessChain 37(data) 624 45 40
+ 631: 22(int8_t) CompositeExtract 629 0
+ Store 630 631
+ 632: 62(ptr) AccessChain 37(data) 624 45 188
+ 633: 22(int8_t) CompositeExtract 629 1
+ Store 632 633
+ 634: 6(int) Load 8(invocation)
+ 635: 67(ptr) AccessChain 37(data) 52 45
+ 636: 23(i8vec4) Load 635
+ 637: 72(i8vec3) VectorShuffle 636 636 0 1 2
+ 638: 17(ivec4) Load 19(ballot)
+ 639: 72(i8vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 637 638
+ 640: 62(ptr) AccessChain 37(data) 634 45 40
+ 641: 22(int8_t) CompositeExtract 639 0
+ Store 640 641
+ 642: 62(ptr) AccessChain 37(data) 634 45 188
+ 643: 22(int8_t) CompositeExtract 639 1
+ Store 642 643
+ 644: 62(ptr) AccessChain 37(data) 634 45 201
+ 645: 22(int8_t) CompositeExtract 639 2
+ Store 644 645
+ 646: 6(int) Load 8(invocation)
+ 647: 67(ptr) AccessChain 37(data) 58 45
+ 648: 23(i8vec4) Load 647
+ 649: 17(ivec4) Load 19(ballot)
+ 650: 23(i8vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 648 649
+ 651: 67(ptr) AccessChain 37(data) 646 45
+ Store 651 650
+ 652: 6(int) Load 8(invocation)
+ 653: 80(ptr) AccessChain 37(data) 39 52 40
+ 654: 24(int16_t) Load 653
+ 655: 17(ivec4) Load 19(ballot)
+ 656: 24(int16_t) GroupNonUniformIAdd 177 PartitionedReduceNV 654 655
+ 657: 80(ptr) AccessChain 37(data) 652 52 40
+ Store 657 656
+ 658: 6(int) Load 8(invocation)
+ 659: 85(ptr) AccessChain 37(data) 45 52
+ 660: 25(i16vec4) Load 659
+ 661: 84(i16vec2) VectorShuffle 660 660 0 1
+ 662: 17(ivec4) Load 19(ballot)
+ 663: 84(i16vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 661 662
+ 664: 80(ptr) AccessChain 37(data) 658 52 40
+ 665: 24(int16_t) CompositeExtract 663 0
+ Store 664 665
+ 666: 80(ptr) AccessChain 37(data) 658 52 188
+ 667: 24(int16_t) CompositeExtract 663 1
+ Store 666 667
+ 668: 6(int) Load 8(invocation)
+ 669: 85(ptr) AccessChain 37(data) 52 52
+ 670: 25(i16vec4) Load 669
+ 671: 90(i16vec3) VectorShuffle 670 670 0 1 2
+ 672: 17(ivec4) Load 19(ballot)
+ 673: 90(i16vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 671 672
+ 674: 80(ptr) AccessChain 37(data) 668 52 40
+ 675: 24(int16_t) CompositeExtract 673 0
+ Store 674 675
+ 676: 80(ptr) AccessChain 37(data) 668 52 188
+ 677: 24(int16_t) CompositeExtract 673 1
+ Store 676 677
+ 678: 80(ptr) AccessChain 37(data) 668 52 201
+ 679: 24(int16_t) CompositeExtract 673 2
+ Store 678 679
+ 680: 6(int) Load 8(invocation)
+ 681: 85(ptr) AccessChain 37(data) 58 52
+ 682: 25(i16vec4) Load 681
+ 683: 17(ivec4) Load 19(ballot)
+ 684: 25(i16vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 682 683
+ 685: 85(ptr) AccessChain 37(data) 680 52
+ Store 685 684
+ 686: 6(int) Load 8(invocation)
+ 687: 80(ptr) AccessChain 37(data) 39 52 40
+ 688: 24(int16_t) Load 687
+ 689: 17(ivec4) Load 19(ballot)
+ 690: 24(int16_t) GroupNonUniformIMul 177 PartitionedReduceNV 688 689
+ 691: 80(ptr) AccessChain 37(data) 686 52 40
+ Store 691 690
+ 692: 6(int) Load 8(invocation)
+ 693: 85(ptr) AccessChain 37(data) 45 52
+ 694: 25(i16vec4) Load 693
+ 695: 84(i16vec2) VectorShuffle 694 694 0 1
+ 696: 17(ivec4) Load 19(ballot)
+ 697: 84(i16vec2) GroupNonUniformIMul 177 PartitionedReduceNV 695 696
+ 698: 80(ptr) AccessChain 37(data) 692 52 40
+ 699: 24(int16_t) CompositeExtract 697 0
+ Store 698 699
+ 700: 80(ptr) AccessChain 37(data) 692 52 188
+ 701: 24(int16_t) CompositeExtract 697 1
+ Store 700 701
+ 702: 6(int) Load 8(invocation)
+ 703: 85(ptr) AccessChain 37(data) 52 52
+ 704: 25(i16vec4) Load 703
+ 705: 90(i16vec3) VectorShuffle 704 704 0 1 2
+ 706: 17(ivec4) Load 19(ballot)
+ 707: 90(i16vec3) GroupNonUniformIMul 177 PartitionedReduceNV 705 706
+ 708: 80(ptr) AccessChain 37(data) 702 52 40
+ 709: 24(int16_t) CompositeExtract 707 0
+ Store 708 709
+ 710: 80(ptr) AccessChain 37(data) 702 52 188
+ 711: 24(int16_t) CompositeExtract 707 1
+ Store 710 711
+ 712: 80(ptr) AccessChain 37(data) 702 52 201
+ 713: 24(int16_t) CompositeExtract 707 2
+ Store 712 713
714: 6(int) Load 8(invocation)
- 715: 80(ptr) AccessChain 37(data) 39 52 40
- 716: 24(int16_t) Load 715
+ 715: 85(ptr) AccessChain 37(data) 58 52
+ 716: 25(i16vec4) Load 715
717: 17(ivec4) Load 19(ballot)
- 718: 24(int16_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 716 717
- 719: 80(ptr) AccessChain 37(data) 714 52 40
+ 718: 25(i16vec4) GroupNonUniformIMul 177 PartitionedReduceNV 716 717
+ 719: 85(ptr) AccessChain 37(data) 714 52
Store 719 718
720: 6(int) Load 8(invocation)
- 721: 85(ptr) AccessChain 37(data) 45 52
- 722: 25(i16vec4) Load 721
- 723: 84(i16vec2) VectorShuffle 722 722 0 1
- 724: 17(ivec4) Load 19(ballot)
- 725: 84(i16vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 723 724
- 726: 85(ptr) AccessChain 37(data) 720 52
- 727: 25(i16vec4) Load 726
- 728: 25(i16vec4) VectorShuffle 727 725 4 5 2 3
- Store 726 728
- 729: 6(int) Load 8(invocation)
- 730: 85(ptr) AccessChain 37(data) 52 52
- 731: 25(i16vec4) Load 730
- 732: 90(i16vec3) VectorShuffle 731 731 0 1 2
- 733: 17(ivec4) Load 19(ballot)
- 734: 90(i16vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 732 733
- 735: 85(ptr) AccessChain 37(data) 729 52
- 736: 25(i16vec4) Load 735
- 737: 25(i16vec4) VectorShuffle 736 734 4 5 6 3
- Store 735 737
- 738: 6(int) Load 8(invocation)
- 739: 85(ptr) AccessChain 37(data) 58 52
- 740: 25(i16vec4) Load 739
- 741: 17(ivec4) Load 19(ballot)
- 742: 25(i16vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 740 741
- 743: 85(ptr) AccessChain 37(data) 738 52
- Store 743 742
- 744: 6(int) Load 8(invocation)
- 745: 80(ptr) AccessChain 37(data) 39 52 40
- 746: 24(int16_t) Load 745
- 747: 17(ivec4) Load 19(ballot)
- 748: 24(int16_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 746 747
- 749: 80(ptr) AccessChain 37(data) 744 52 40
- Store 749 748
- 750: 6(int) Load 8(invocation)
- 751: 85(ptr) AccessChain 37(data) 45 52
- 752: 25(i16vec4) Load 751
- 753: 84(i16vec2) VectorShuffle 752 752 0 1
- 754: 17(ivec4) Load 19(ballot)
- 755: 84(i16vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 753 754
- 756: 85(ptr) AccessChain 37(data) 750 52
- 757: 25(i16vec4) Load 756
- 758: 25(i16vec4) VectorShuffle 757 755 4 5 2 3
- Store 756 758
- 759: 6(int) Load 8(invocation)
- 760: 85(ptr) AccessChain 37(data) 52 52
- 761: 25(i16vec4) Load 760
- 762: 90(i16vec3) VectorShuffle 761 761 0 1 2
- 763: 17(ivec4) Load 19(ballot)
- 764: 90(i16vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 762 763
- 765: 85(ptr) AccessChain 37(data) 759 52
- 766: 25(i16vec4) Load 765
- 767: 25(i16vec4) VectorShuffle 766 764 4 5 6 3
- Store 765 767
- 768: 6(int) Load 8(invocation)
- 769: 85(ptr) AccessChain 37(data) 58 52
- 770: 25(i16vec4) Load 769
- 771: 17(ivec4) Load 19(ballot)
- 772: 25(i16vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 770 771
- 773: 85(ptr) AccessChain 37(data) 768 52
- Store 773 772
- 774: 6(int) Load 8(invocation)
- 775: 80(ptr) AccessChain 37(data) 39 52 40
- 776: 24(int16_t) Load 775
- 777: 17(ivec4) Load 19(ballot)
- 778: 24(int16_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 776 777
- 779: 80(ptr) AccessChain 37(data) 774 52 40
- Store 779 778
- 780: 6(int) Load 8(invocation)
- 781: 85(ptr) AccessChain 37(data) 45 52
- 782: 25(i16vec4) Load 781
- 783: 84(i16vec2) VectorShuffle 782 782 0 1
- 784: 17(ivec4) Load 19(ballot)
- 785: 84(i16vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 783 784
- 786: 85(ptr) AccessChain 37(data) 780 52
- 787: 25(i16vec4) Load 786
- 788: 25(i16vec4) VectorShuffle 787 785 4 5 2 3
- Store 786 788
- 789: 6(int) Load 8(invocation)
- 790: 85(ptr) AccessChain 37(data) 52 52
- 791: 25(i16vec4) Load 790
- 792: 90(i16vec3) VectorShuffle 791 791 0 1 2
- 793: 17(ivec4) Load 19(ballot)
- 794: 90(i16vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 792 793
- 795: 85(ptr) AccessChain 37(data) 789 52
+ 721: 80(ptr) AccessChain 37(data) 39 52 40
+ 722: 24(int16_t) Load 721
+ 723: 17(ivec4) Load 19(ballot)
+ 724: 24(int16_t) GroupNonUniformSMin 177 PartitionedReduceNV 722 723
+ 725: 80(ptr) AccessChain 37(data) 720 52 40
+ Store 725 724
+ 726: 6(int) Load 8(invocation)
+ 727: 85(ptr) AccessChain 37(data) 45 52
+ 728: 25(i16vec4) Load 727
+ 729: 84(i16vec2) VectorShuffle 728 728 0 1
+ 730: 17(ivec4) Load 19(ballot)
+ 731: 84(i16vec2) GroupNonUniformSMin 177 PartitionedReduceNV 729 730
+ 732: 80(ptr) AccessChain 37(data) 726 52 40
+ 733: 24(int16_t) CompositeExtract 731 0
+ Store 732 733
+ 734: 80(ptr) AccessChain 37(data) 726 52 188
+ 735: 24(int16_t) CompositeExtract 731 1
+ Store 734 735
+ 736: 6(int) Load 8(invocation)
+ 737: 85(ptr) AccessChain 37(data) 52 52
+ 738: 25(i16vec4) Load 737
+ 739: 90(i16vec3) VectorShuffle 738 738 0 1 2
+ 740: 17(ivec4) Load 19(ballot)
+ 741: 90(i16vec3) GroupNonUniformSMin 177 PartitionedReduceNV 739 740
+ 742: 80(ptr) AccessChain 37(data) 736 52 40
+ 743: 24(int16_t) CompositeExtract 741 0
+ Store 742 743
+ 744: 80(ptr) AccessChain 37(data) 736 52 188
+ 745: 24(int16_t) CompositeExtract 741 1
+ Store 744 745
+ 746: 80(ptr) AccessChain 37(data) 736 52 201
+ 747: 24(int16_t) CompositeExtract 741 2
+ Store 746 747
+ 748: 6(int) Load 8(invocation)
+ 749: 85(ptr) AccessChain 37(data) 58 52
+ 750: 25(i16vec4) Load 749
+ 751: 17(ivec4) Load 19(ballot)
+ 752: 25(i16vec4) GroupNonUniformSMin 177 PartitionedReduceNV 750 751
+ 753: 85(ptr) AccessChain 37(data) 748 52
+ Store 753 752
+ 754: 6(int) Load 8(invocation)
+ 755: 80(ptr) AccessChain 37(data) 39 52 40
+ 756: 24(int16_t) Load 755
+ 757: 17(ivec4) Load 19(ballot)
+ 758: 24(int16_t) GroupNonUniformSMax 177 PartitionedReduceNV 756 757
+ 759: 80(ptr) AccessChain 37(data) 754 52 40
+ Store 759 758
+ 760: 6(int) Load 8(invocation)
+ 761: 85(ptr) AccessChain 37(data) 45 52
+ 762: 25(i16vec4) Load 761
+ 763: 84(i16vec2) VectorShuffle 762 762 0 1
+ 764: 17(ivec4) Load 19(ballot)
+ 765: 84(i16vec2) GroupNonUniformSMax 177 PartitionedReduceNV 763 764
+ 766: 80(ptr) AccessChain 37(data) 760 52 40
+ 767: 24(int16_t) CompositeExtract 765 0
+ Store 766 767
+ 768: 80(ptr) AccessChain 37(data) 760 52 188
+ 769: 24(int16_t) CompositeExtract 765 1
+ Store 768 769
+ 770: 6(int) Load 8(invocation)
+ 771: 85(ptr) AccessChain 37(data) 52 52
+ 772: 25(i16vec4) Load 771
+ 773: 90(i16vec3) VectorShuffle 772 772 0 1 2
+ 774: 17(ivec4) Load 19(ballot)
+ 775: 90(i16vec3) GroupNonUniformSMax 177 PartitionedReduceNV 773 774
+ 776: 80(ptr) AccessChain 37(data) 770 52 40
+ 777: 24(int16_t) CompositeExtract 775 0
+ Store 776 777
+ 778: 80(ptr) AccessChain 37(data) 770 52 188
+ 779: 24(int16_t) CompositeExtract 775 1
+ Store 778 779
+ 780: 80(ptr) AccessChain 37(data) 770 52 201
+ 781: 24(int16_t) CompositeExtract 775 2
+ Store 780 781
+ 782: 6(int) Load 8(invocation)
+ 783: 85(ptr) AccessChain 37(data) 58 52
+ 784: 25(i16vec4) Load 783
+ 785: 17(ivec4) Load 19(ballot)
+ 786: 25(i16vec4) GroupNonUniformSMax 177 PartitionedReduceNV 784 785
+ 787: 85(ptr) AccessChain 37(data) 782 52
+ Store 787 786
+ 788: 6(int) Load 8(invocation)
+ 789: 80(ptr) AccessChain 37(data) 39 52 40
+ 790: 24(int16_t) Load 789
+ 791: 17(ivec4) Load 19(ballot)
+ 792: 24(int16_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 790 791
+ 793: 80(ptr) AccessChain 37(data) 788 52 40
+ Store 793 792
+ 794: 6(int) Load 8(invocation)
+ 795: 85(ptr) AccessChain 37(data) 45 52
796: 25(i16vec4) Load 795
- 797: 25(i16vec4) VectorShuffle 796 794 4 5 6 3
- Store 795 797
- 798: 6(int) Load 8(invocation)
- 799: 85(ptr) AccessChain 37(data) 58 52
- 800: 25(i16vec4) Load 799
- 801: 17(ivec4) Load 19(ballot)
- 802: 25(i16vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 800 801
- 803: 85(ptr) AccessChain 37(data) 798 52
- Store 803 802
+ 797: 84(i16vec2) VectorShuffle 796 796 0 1
+ 798: 17(ivec4) Load 19(ballot)
+ 799: 84(i16vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 797 798
+ 800: 80(ptr) AccessChain 37(data) 794 52 40
+ 801: 24(int16_t) CompositeExtract 799 0
+ Store 800 801
+ 802: 80(ptr) AccessChain 37(data) 794 52 188
+ 803: 24(int16_t) CompositeExtract 799 1
+ Store 802 803
804: 6(int) Load 8(invocation)
- 805: 98(ptr) AccessChain 37(data) 39 58 40
- 806: 26(int16_t) Load 805
- 807: 17(ivec4) Load 19(ballot)
- 808: 26(int16_t) GroupNonUniformIAdd 177 PartitionedReduceNV 806 807
- 809: 98(ptr) AccessChain 37(data) 804 58 40
- Store 809 808
- 810: 6(int) Load 8(invocation)
- 811: 103(ptr) AccessChain 37(data) 45 58
- 812: 27(i16vec4) Load 811
- 813:102(i16vec2) VectorShuffle 812 812 0 1
- 814: 17(ivec4) Load 19(ballot)
- 815:102(i16vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 813 814
- 816: 103(ptr) AccessChain 37(data) 810 58
- 817: 27(i16vec4) Load 816
- 818: 27(i16vec4) VectorShuffle 817 815 4 5 2 3
- Store 816 818
- 819: 6(int) Load 8(invocation)
- 820: 103(ptr) AccessChain 37(data) 52 58
- 821: 27(i16vec4) Load 820
- 822:108(i16vec3) VectorShuffle 821 821 0 1 2
- 823: 17(ivec4) Load 19(ballot)
- 824:108(i16vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 822 823
- 825: 103(ptr) AccessChain 37(data) 819 58
- 826: 27(i16vec4) Load 825
- 827: 27(i16vec4) VectorShuffle 826 824 4 5 6 3
- Store 825 827
+ 805: 85(ptr) AccessChain 37(data) 52 52
+ 806: 25(i16vec4) Load 805
+ 807: 90(i16vec3) VectorShuffle 806 806 0 1 2
+ 808: 17(ivec4) Load 19(ballot)
+ 809: 90(i16vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 807 808
+ 810: 80(ptr) AccessChain 37(data) 804 52 40
+ 811: 24(int16_t) CompositeExtract 809 0
+ Store 810 811
+ 812: 80(ptr) AccessChain 37(data) 804 52 188
+ 813: 24(int16_t) CompositeExtract 809 1
+ Store 812 813
+ 814: 80(ptr) AccessChain 37(data) 804 52 201
+ 815: 24(int16_t) CompositeExtract 809 2
+ Store 814 815
+ 816: 6(int) Load 8(invocation)
+ 817: 85(ptr) AccessChain 37(data) 58 52
+ 818: 25(i16vec4) Load 817
+ 819: 17(ivec4) Load 19(ballot)
+ 820: 25(i16vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 818 819
+ 821: 85(ptr) AccessChain 37(data) 816 52
+ Store 821 820
+ 822: 6(int) Load 8(invocation)
+ 823: 80(ptr) AccessChain 37(data) 39 52 40
+ 824: 24(int16_t) Load 823
+ 825: 17(ivec4) Load 19(ballot)
+ 826: 24(int16_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 824 825
+ 827: 80(ptr) AccessChain 37(data) 822 52 40
+ Store 827 826
828: 6(int) Load 8(invocation)
- 829: 103(ptr) AccessChain 37(data) 58 58
- 830: 27(i16vec4) Load 829
- 831: 17(ivec4) Load 19(ballot)
- 832: 27(i16vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 830 831
- 833: 103(ptr) AccessChain 37(data) 828 58
- Store 833 832
- 834: 6(int) Load 8(invocation)
- 835: 98(ptr) AccessChain 37(data) 39 58 40
- 836: 26(int16_t) Load 835
- 837: 17(ivec4) Load 19(ballot)
- 838: 26(int16_t) GroupNonUniformIMul 177 PartitionedReduceNV 836 837
- 839: 98(ptr) AccessChain 37(data) 834 58 40
- Store 839 838
- 840: 6(int) Load 8(invocation)
- 841: 103(ptr) AccessChain 37(data) 45 58
- 842: 27(i16vec4) Load 841
- 843:102(i16vec2) VectorShuffle 842 842 0 1
- 844: 17(ivec4) Load 19(ballot)
- 845:102(i16vec2) GroupNonUniformIMul 177 PartitionedReduceNV 843 844
- 846: 103(ptr) AccessChain 37(data) 840 58
- 847: 27(i16vec4) Load 846
- 848: 27(i16vec4) VectorShuffle 847 845 4 5 2 3
- Store 846 848
- 849: 6(int) Load 8(invocation)
- 850: 103(ptr) AccessChain 37(data) 52 58
- 851: 27(i16vec4) Load 850
- 852:108(i16vec3) VectorShuffle 851 851 0 1 2
+ 829: 85(ptr) AccessChain 37(data) 45 52
+ 830: 25(i16vec4) Load 829
+ 831: 84(i16vec2) VectorShuffle 830 830 0 1
+ 832: 17(ivec4) Load 19(ballot)
+ 833: 84(i16vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 831 832
+ 834: 80(ptr) AccessChain 37(data) 828 52 40
+ 835: 24(int16_t) CompositeExtract 833 0
+ Store 834 835
+ 836: 80(ptr) AccessChain 37(data) 828 52 188
+ 837: 24(int16_t) CompositeExtract 833 1
+ Store 836 837
+ 838: 6(int) Load 8(invocation)
+ 839: 85(ptr) AccessChain 37(data) 52 52
+ 840: 25(i16vec4) Load 839
+ 841: 90(i16vec3) VectorShuffle 840 840 0 1 2
+ 842: 17(ivec4) Load 19(ballot)
+ 843: 90(i16vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 841 842
+ 844: 80(ptr) AccessChain 37(data) 838 52 40
+ 845: 24(int16_t) CompositeExtract 843 0
+ Store 844 845
+ 846: 80(ptr) AccessChain 37(data) 838 52 188
+ 847: 24(int16_t) CompositeExtract 843 1
+ Store 846 847
+ 848: 80(ptr) AccessChain 37(data) 838 52 201
+ 849: 24(int16_t) CompositeExtract 843 2
+ Store 848 849
+ 850: 6(int) Load 8(invocation)
+ 851: 85(ptr) AccessChain 37(data) 58 52
+ 852: 25(i16vec4) Load 851
853: 17(ivec4) Load 19(ballot)
- 854:108(i16vec3) GroupNonUniformIMul 177 PartitionedReduceNV 852 853
- 855: 103(ptr) AccessChain 37(data) 849 58
- 856: 27(i16vec4) Load 855
- 857: 27(i16vec4) VectorShuffle 856 854 4 5 6 3
- Store 855 857
- 858: 6(int) Load 8(invocation)
- 859: 103(ptr) AccessChain 37(data) 58 58
- 860: 27(i16vec4) Load 859
- 861: 17(ivec4) Load 19(ballot)
- 862: 27(i16vec4) GroupNonUniformIMul 177 PartitionedReduceNV 860 861
- 863: 103(ptr) AccessChain 37(data) 858 58
- Store 863 862
- 864: 6(int) Load 8(invocation)
- 865: 98(ptr) AccessChain 37(data) 39 58 40
- 866: 26(int16_t) Load 865
- 867: 17(ivec4) Load 19(ballot)
- 868: 26(int16_t) GroupNonUniformUMin 177 PartitionedReduceNV 866 867
- 869: 98(ptr) AccessChain 37(data) 864 58 40
- Store 869 868
- 870: 6(int) Load 8(invocation)
- 871: 103(ptr) AccessChain 37(data) 45 58
- 872: 27(i16vec4) Load 871
- 873:102(i16vec2) VectorShuffle 872 872 0 1
- 874: 17(ivec4) Load 19(ballot)
- 875:102(i16vec2) GroupNonUniformUMin 177 PartitionedReduceNV 873 874
- 876: 103(ptr) AccessChain 37(data) 870 58
- 877: 27(i16vec4) Load 876
- 878: 27(i16vec4) VectorShuffle 877 875 4 5 2 3
- Store 876 878
- 879: 6(int) Load 8(invocation)
- 880: 103(ptr) AccessChain 37(data) 52 58
- 881: 27(i16vec4) Load 880
- 882:108(i16vec3) VectorShuffle 881 881 0 1 2
- 883: 17(ivec4) Load 19(ballot)
- 884:108(i16vec3) GroupNonUniformUMin 177 PartitionedReduceNV 882 883
- 885: 103(ptr) AccessChain 37(data) 879 58
- 886: 27(i16vec4) Load 885
- 887: 27(i16vec4) VectorShuffle 886 884 4 5 6 3
- Store 885 887
- 888: 6(int) Load 8(invocation)
- 889: 103(ptr) AccessChain 37(data) 58 58
- 890: 27(i16vec4) Load 889
- 891: 17(ivec4) Load 19(ballot)
- 892: 27(i16vec4) GroupNonUniformUMin 177 PartitionedReduceNV 890 891
- 893: 103(ptr) AccessChain 37(data) 888 58
- Store 893 892
- 894: 6(int) Load 8(invocation)
- 895: 98(ptr) AccessChain 37(data) 39 58 40
- 896: 26(int16_t) Load 895
- 897: 17(ivec4) Load 19(ballot)
- 898: 26(int16_t) GroupNonUniformUMax 177 PartitionedReduceNV 896 897
- 899: 98(ptr) AccessChain 37(data) 894 58 40
- Store 899 898
- 900: 6(int) Load 8(invocation)
- 901: 103(ptr) AccessChain 37(data) 45 58
- 902: 27(i16vec4) Load 901
- 903:102(i16vec2) VectorShuffle 902 902 0 1
- 904: 17(ivec4) Load 19(ballot)
- 905:102(i16vec2) GroupNonUniformUMax 177 PartitionedReduceNV 903 904
- 906: 103(ptr) AccessChain 37(data) 900 58
- 907: 27(i16vec4) Load 906
- 908: 27(i16vec4) VectorShuffle 907 905 4 5 2 3
- Store 906 908
- 909: 6(int) Load 8(invocation)
- 910: 103(ptr) AccessChain 37(data) 52 58
- 911: 27(i16vec4) Load 910
- 912:108(i16vec3) VectorShuffle 911 911 0 1 2
- 913: 17(ivec4) Load 19(ballot)
- 914:108(i16vec3) GroupNonUniformUMax 177 PartitionedReduceNV 912 913
- 915: 103(ptr) AccessChain 37(data) 909 58
- 916: 27(i16vec4) Load 915
- 917: 27(i16vec4) VectorShuffle 916 914 4 5 6 3
- Store 915 917
+ 854: 25(i16vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 852 853
+ 855: 85(ptr) AccessChain 37(data) 850 52
+ Store 855 854
+ 856: 6(int) Load 8(invocation)
+ 857: 80(ptr) AccessChain 37(data) 39 52 40
+ 858: 24(int16_t) Load 857
+ 859: 17(ivec4) Load 19(ballot)
+ 860: 24(int16_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 858 859
+ 861: 80(ptr) AccessChain 37(data) 856 52 40
+ Store 861 860
+ 862: 6(int) Load 8(invocation)
+ 863: 85(ptr) AccessChain 37(data) 45 52
+ 864: 25(i16vec4) Load 863
+ 865: 84(i16vec2) VectorShuffle 864 864 0 1
+ 866: 17(ivec4) Load 19(ballot)
+ 867: 84(i16vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 865 866
+ 868: 80(ptr) AccessChain 37(data) 862 52 40
+ 869: 24(int16_t) CompositeExtract 867 0
+ Store 868 869
+ 870: 80(ptr) AccessChain 37(data) 862 52 188
+ 871: 24(int16_t) CompositeExtract 867 1
+ Store 870 871
+ 872: 6(int) Load 8(invocation)
+ 873: 85(ptr) AccessChain 37(data) 52 52
+ 874: 25(i16vec4) Load 873
+ 875: 90(i16vec3) VectorShuffle 874 874 0 1 2
+ 876: 17(ivec4) Load 19(ballot)
+ 877: 90(i16vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 875 876
+ 878: 80(ptr) AccessChain 37(data) 872 52 40
+ 879: 24(int16_t) CompositeExtract 877 0
+ Store 878 879
+ 880: 80(ptr) AccessChain 37(data) 872 52 188
+ 881: 24(int16_t) CompositeExtract 877 1
+ Store 880 881
+ 882: 80(ptr) AccessChain 37(data) 872 52 201
+ 883: 24(int16_t) CompositeExtract 877 2
+ Store 882 883
+ 884: 6(int) Load 8(invocation)
+ 885: 85(ptr) AccessChain 37(data) 58 52
+ 886: 25(i16vec4) Load 885
+ 887: 17(ivec4) Load 19(ballot)
+ 888: 25(i16vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 886 887
+ 889: 85(ptr) AccessChain 37(data) 884 52
+ Store 889 888
+ 890: 6(int) Load 8(invocation)
+ 891: 98(ptr) AccessChain 37(data) 39 58 40
+ 892: 26(int16_t) Load 891
+ 893: 17(ivec4) Load 19(ballot)
+ 894: 26(int16_t) GroupNonUniformIAdd 177 PartitionedReduceNV 892 893
+ 895: 98(ptr) AccessChain 37(data) 890 58 40
+ Store 895 894
+ 896: 6(int) Load 8(invocation)
+ 897: 103(ptr) AccessChain 37(data) 45 58
+ 898: 27(i16vec4) Load 897
+ 899:102(i16vec2) VectorShuffle 898 898 0 1
+ 900: 17(ivec4) Load 19(ballot)
+ 901:102(i16vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 899 900
+ 902: 98(ptr) AccessChain 37(data) 896 58 40
+ 903: 26(int16_t) CompositeExtract 901 0
+ Store 902 903
+ 904: 98(ptr) AccessChain 37(data) 896 58 188
+ 905: 26(int16_t) CompositeExtract 901 1
+ Store 904 905
+ 906: 6(int) Load 8(invocation)
+ 907: 103(ptr) AccessChain 37(data) 52 58
+ 908: 27(i16vec4) Load 907
+ 909:108(i16vec3) VectorShuffle 908 908 0 1 2
+ 910: 17(ivec4) Load 19(ballot)
+ 911:108(i16vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 909 910
+ 912: 98(ptr) AccessChain 37(data) 906 58 40
+ 913: 26(int16_t) CompositeExtract 911 0
+ Store 912 913
+ 914: 98(ptr) AccessChain 37(data) 906 58 188
+ 915: 26(int16_t) CompositeExtract 911 1
+ Store 914 915
+ 916: 98(ptr) AccessChain 37(data) 906 58 201
+ 917: 26(int16_t) CompositeExtract 911 2
+ Store 916 917
918: 6(int) Load 8(invocation)
919: 103(ptr) AccessChain 37(data) 58 58
920: 27(i16vec4) Load 919
921: 17(ivec4) Load 19(ballot)
- 922: 27(i16vec4) GroupNonUniformUMax 177 PartitionedReduceNV 920 921
+ 922: 27(i16vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 920 921
923: 103(ptr) AccessChain 37(data) 918 58
Store 923 922
924: 6(int) Load 8(invocation)
925: 98(ptr) AccessChain 37(data) 39 58 40
926: 26(int16_t) Load 925
927: 17(ivec4) Load 19(ballot)
- 928: 26(int16_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 926 927
+ 928: 26(int16_t) GroupNonUniformIMul 177 PartitionedReduceNV 926 927
929: 98(ptr) AccessChain 37(data) 924 58 40
Store 929 928
930: 6(int) Load 8(invocation)
@@ -1129,707 +1182,977 @@
932: 27(i16vec4) Load 931
933:102(i16vec2) VectorShuffle 932 932 0 1
934: 17(ivec4) Load 19(ballot)
- 935:102(i16vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 933 934
- 936: 103(ptr) AccessChain 37(data) 930 58
- 937: 27(i16vec4) Load 936
- 938: 27(i16vec4) VectorShuffle 937 935 4 5 2 3
- Store 936 938
- 939: 6(int) Load 8(invocation)
- 940: 103(ptr) AccessChain 37(data) 52 58
- 941: 27(i16vec4) Load 940
- 942:108(i16vec3) VectorShuffle 941 941 0 1 2
- 943: 17(ivec4) Load 19(ballot)
- 944:108(i16vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 942 943
- 945: 103(ptr) AccessChain 37(data) 939 58
- 946: 27(i16vec4) Load 945
- 947: 27(i16vec4) VectorShuffle 946 944 4 5 6 3
- Store 945 947
- 948: 6(int) Load 8(invocation)
- 949: 103(ptr) AccessChain 37(data) 58 58
- 950: 27(i16vec4) Load 949
- 951: 17(ivec4) Load 19(ballot)
- 952: 27(i16vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 950 951
- 953: 103(ptr) AccessChain 37(data) 948 58
- Store 953 952
- 954: 6(int) Load 8(invocation)
- 955: 98(ptr) AccessChain 37(data) 39 58 40
- 956: 26(int16_t) Load 955
- 957: 17(ivec4) Load 19(ballot)
- 958: 26(int16_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 956 957
- 959: 98(ptr) AccessChain 37(data) 954 58 40
- Store 959 958
- 960: 6(int) Load 8(invocation)
- 961: 103(ptr) AccessChain 37(data) 45 58
- 962: 27(i16vec4) Load 961
- 963:102(i16vec2) VectorShuffle 962 962 0 1
- 964: 17(ivec4) Load 19(ballot)
- 965:102(i16vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 963 964
- 966: 103(ptr) AccessChain 37(data) 960 58
- 967: 27(i16vec4) Load 966
- 968: 27(i16vec4) VectorShuffle 967 965 4 5 2 3
- Store 966 968
- 969: 6(int) Load 8(invocation)
- 970: 103(ptr) AccessChain 37(data) 52 58
- 971: 27(i16vec4) Load 970
- 972:108(i16vec3) VectorShuffle 971 971 0 1 2
- 973: 17(ivec4) Load 19(ballot)
- 974:108(i16vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 972 973
- 975: 103(ptr) AccessChain 37(data) 969 58
+ 935:102(i16vec2) GroupNonUniformIMul 177 PartitionedReduceNV 933 934
+ 936: 98(ptr) AccessChain 37(data) 930 58 40
+ 937: 26(int16_t) CompositeExtract 935 0
+ Store 936 937
+ 938: 98(ptr) AccessChain 37(data) 930 58 188
+ 939: 26(int16_t) CompositeExtract 935 1
+ Store 938 939
+ 940: 6(int) Load 8(invocation)
+ 941: 103(ptr) AccessChain 37(data) 52 58
+ 942: 27(i16vec4) Load 941
+ 943:108(i16vec3) VectorShuffle 942 942 0 1 2
+ 944: 17(ivec4) Load 19(ballot)
+ 945:108(i16vec3) GroupNonUniformIMul 177 PartitionedReduceNV 943 944
+ 946: 98(ptr) AccessChain 37(data) 940 58 40
+ 947: 26(int16_t) CompositeExtract 945 0
+ Store 946 947
+ 948: 98(ptr) AccessChain 37(data) 940 58 188
+ 949: 26(int16_t) CompositeExtract 945 1
+ Store 948 949
+ 950: 98(ptr) AccessChain 37(data) 940 58 201
+ 951: 26(int16_t) CompositeExtract 945 2
+ Store 950 951
+ 952: 6(int) Load 8(invocation)
+ 953: 103(ptr) AccessChain 37(data) 58 58
+ 954: 27(i16vec4) Load 953
+ 955: 17(ivec4) Load 19(ballot)
+ 956: 27(i16vec4) GroupNonUniformIMul 177 PartitionedReduceNV 954 955
+ 957: 103(ptr) AccessChain 37(data) 952 58
+ Store 957 956
+ 958: 6(int) Load 8(invocation)
+ 959: 98(ptr) AccessChain 37(data) 39 58 40
+ 960: 26(int16_t) Load 959
+ 961: 17(ivec4) Load 19(ballot)
+ 962: 26(int16_t) GroupNonUniformUMin 177 PartitionedReduceNV 960 961
+ 963: 98(ptr) AccessChain 37(data) 958 58 40
+ Store 963 962
+ 964: 6(int) Load 8(invocation)
+ 965: 103(ptr) AccessChain 37(data) 45 58
+ 966: 27(i16vec4) Load 965
+ 967:102(i16vec2) VectorShuffle 966 966 0 1
+ 968: 17(ivec4) Load 19(ballot)
+ 969:102(i16vec2) GroupNonUniformUMin 177 PartitionedReduceNV 967 968
+ 970: 98(ptr) AccessChain 37(data) 964 58 40
+ 971: 26(int16_t) CompositeExtract 969 0
+ Store 970 971
+ 972: 98(ptr) AccessChain 37(data) 964 58 188
+ 973: 26(int16_t) CompositeExtract 969 1
+ Store 972 973
+ 974: 6(int) Load 8(invocation)
+ 975: 103(ptr) AccessChain 37(data) 52 58
976: 27(i16vec4) Load 975
- 977: 27(i16vec4) VectorShuffle 976 974 4 5 6 3
- Store 975 977
- 978: 6(int) Load 8(invocation)
- 979: 103(ptr) AccessChain 37(data) 58 58
- 980: 27(i16vec4) Load 979
- 981: 17(ivec4) Load 19(ballot)
- 982: 27(i16vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 980 981
- 983: 103(ptr) AccessChain 37(data) 978 58
- Store 983 982
- 984: 6(int) Load 8(invocation)
- 985: 98(ptr) AccessChain 37(data) 39 58 40
- 986: 26(int16_t) Load 985
- 987: 17(ivec4) Load 19(ballot)
- 988: 26(int16_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 986 987
- 989: 98(ptr) AccessChain 37(data) 984 58 40
- Store 989 988
- 990: 6(int) Load 8(invocation)
- 991: 103(ptr) AccessChain 37(data) 45 58
- 992: 27(i16vec4) Load 991
- 993:102(i16vec2) VectorShuffle 992 992 0 1
- 994: 17(ivec4) Load 19(ballot)
- 995:102(i16vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 993 994
- 996: 103(ptr) AccessChain 37(data) 990 58
- 997: 27(i16vec4) Load 996
- 998: 27(i16vec4) VectorShuffle 997 995 4 5 2 3
- Store 996 998
- 999: 6(int) Load 8(invocation)
- 1000: 103(ptr) AccessChain 37(data) 52 58
- 1001: 27(i16vec4) Load 1000
- 1002:108(i16vec3) VectorShuffle 1001 1001 0 1 2
- 1003: 17(ivec4) Load 19(ballot)
- 1004:108(i16vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1002 1003
- 1005: 103(ptr) AccessChain 37(data) 999 58
- 1006: 27(i16vec4) Load 1005
- 1007: 27(i16vec4) VectorShuffle 1006 1004 4 5 6 3
- Store 1005 1007
+ 977:108(i16vec3) VectorShuffle 976 976 0 1 2
+ 978: 17(ivec4) Load 19(ballot)
+ 979:108(i16vec3) GroupNonUniformUMin 177 PartitionedReduceNV 977 978
+ 980: 98(ptr) AccessChain 37(data) 974 58 40
+ 981: 26(int16_t) CompositeExtract 979 0
+ Store 980 981
+ 982: 98(ptr) AccessChain 37(data) 974 58 188
+ 983: 26(int16_t) CompositeExtract 979 1
+ Store 982 983
+ 984: 98(ptr) AccessChain 37(data) 974 58 201
+ 985: 26(int16_t) CompositeExtract 979 2
+ Store 984 985
+ 986: 6(int) Load 8(invocation)
+ 987: 103(ptr) AccessChain 37(data) 58 58
+ 988: 27(i16vec4) Load 987
+ 989: 17(ivec4) Load 19(ballot)
+ 990: 27(i16vec4) GroupNonUniformUMin 177 PartitionedReduceNV 988 989
+ 991: 103(ptr) AccessChain 37(data) 986 58
+ Store 991 990
+ 992: 6(int) Load 8(invocation)
+ 993: 98(ptr) AccessChain 37(data) 39 58 40
+ 994: 26(int16_t) Load 993
+ 995: 17(ivec4) Load 19(ballot)
+ 996: 26(int16_t) GroupNonUniformUMax 177 PartitionedReduceNV 994 995
+ 997: 98(ptr) AccessChain 37(data) 992 58 40
+ Store 997 996
+ 998: 6(int) Load 8(invocation)
+ 999: 103(ptr) AccessChain 37(data) 45 58
+ 1000: 27(i16vec4) Load 999
+ 1001:102(i16vec2) VectorShuffle 1000 1000 0 1
+ 1002: 17(ivec4) Load 19(ballot)
+ 1003:102(i16vec2) GroupNonUniformUMax 177 PartitionedReduceNV 1001 1002
+ 1004: 98(ptr) AccessChain 37(data) 998 58 40
+ 1005: 26(int16_t) CompositeExtract 1003 0
+ Store 1004 1005
+ 1006: 98(ptr) AccessChain 37(data) 998 58 188
+ 1007: 26(int16_t) CompositeExtract 1003 1
+ Store 1006 1007
1008: 6(int) Load 8(invocation)
- 1009: 103(ptr) AccessChain 37(data) 58 58
+ 1009: 103(ptr) AccessChain 37(data) 52 58
1010: 27(i16vec4) Load 1009
- 1011: 17(ivec4) Load 19(ballot)
- 1012: 27(i16vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1010 1011
- 1013: 103(ptr) AccessChain 37(data) 1008 58
- Store 1013 1012
- 1014: 6(int) Load 8(invocation)
- 1015: 117(ptr) AccessChain 37(data) 39 116 40
- 1016: 28(int64_t) Load 1015
- 1017: 17(ivec4) Load 19(ballot)
- 1018: 28(int64_t) GroupNonUniformIAdd 177 PartitionedReduceNV 1016 1017
- 1019: 117(ptr) AccessChain 37(data) 1014 116 40
- Store 1019 1018
+ 1011:108(i16vec3) VectorShuffle 1010 1010 0 1 2
+ 1012: 17(ivec4) Load 19(ballot)
+ 1013:108(i16vec3) GroupNonUniformUMax 177 PartitionedReduceNV 1011 1012
+ 1014: 98(ptr) AccessChain 37(data) 1008 58 40
+ 1015: 26(int16_t) CompositeExtract 1013 0
+ Store 1014 1015
+ 1016: 98(ptr) AccessChain 37(data) 1008 58 188
+ 1017: 26(int16_t) CompositeExtract 1013 1
+ Store 1016 1017
+ 1018: 98(ptr) AccessChain 37(data) 1008 58 201
+ 1019: 26(int16_t) CompositeExtract 1013 2
+ Store 1018 1019
1020: 6(int) Load 8(invocation)
- 1021: 122(ptr) AccessChain 37(data) 45 116
- 1022: 29(i64vec4) Load 1021
- 1023:121(i64vec2) VectorShuffle 1022 1022 0 1
- 1024: 17(ivec4) Load 19(ballot)
- 1025:121(i64vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 1023 1024
- 1026: 122(ptr) AccessChain 37(data) 1020 116
- 1027: 29(i64vec4) Load 1026
- 1028: 29(i64vec4) VectorShuffle 1027 1025 4 5 2 3
- Store 1026 1028
- 1029: 6(int) Load 8(invocation)
- 1030: 122(ptr) AccessChain 37(data) 52 116
- 1031: 29(i64vec4) Load 1030
- 1032:127(i64vec3) VectorShuffle 1031 1031 0 1 2
- 1033: 17(ivec4) Load 19(ballot)
- 1034:127(i64vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 1032 1033
- 1035: 122(ptr) AccessChain 37(data) 1029 116
- 1036: 29(i64vec4) Load 1035
- 1037: 29(i64vec4) VectorShuffle 1036 1034 4 5 6 3
- Store 1035 1037
- 1038: 6(int) Load 8(invocation)
- 1039: 122(ptr) AccessChain 37(data) 58 116
- 1040: 29(i64vec4) Load 1039
- 1041: 17(ivec4) Load 19(ballot)
- 1042: 29(i64vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 1040 1041
- 1043: 122(ptr) AccessChain 37(data) 1038 116
- Store 1043 1042
- 1044: 6(int) Load 8(invocation)
- 1045: 117(ptr) AccessChain 37(data) 39 116 40
- 1046: 28(int64_t) Load 1045
- 1047: 17(ivec4) Load 19(ballot)
- 1048: 28(int64_t) GroupNonUniformIMul 177 PartitionedReduceNV 1046 1047
- 1049: 117(ptr) AccessChain 37(data) 1044 116 40
- Store 1049 1048
- 1050: 6(int) Load 8(invocation)
- 1051: 122(ptr) AccessChain 37(data) 45 116
- 1052: 29(i64vec4) Load 1051
- 1053:121(i64vec2) VectorShuffle 1052 1052 0 1
- 1054: 17(ivec4) Load 19(ballot)
- 1055:121(i64vec2) GroupNonUniformIMul 177 PartitionedReduceNV 1053 1054
- 1056: 122(ptr) AccessChain 37(data) 1050 116
- 1057: 29(i64vec4) Load 1056
- 1058: 29(i64vec4) VectorShuffle 1057 1055 4 5 2 3
- Store 1056 1058
- 1059: 6(int) Load 8(invocation)
- 1060: 122(ptr) AccessChain 37(data) 52 116
- 1061: 29(i64vec4) Load 1060
- 1062:127(i64vec3) VectorShuffle 1061 1061 0 1 2
+ 1021: 103(ptr) AccessChain 37(data) 58 58
+ 1022: 27(i16vec4) Load 1021
+ 1023: 17(ivec4) Load 19(ballot)
+ 1024: 27(i16vec4) GroupNonUniformUMax 177 PartitionedReduceNV 1022 1023
+ 1025: 103(ptr) AccessChain 37(data) 1020 58
+ Store 1025 1024
+ 1026: 6(int) Load 8(invocation)
+ 1027: 98(ptr) AccessChain 37(data) 39 58 40
+ 1028: 26(int16_t) Load 1027
+ 1029: 17(ivec4) Load 19(ballot)
+ 1030: 26(int16_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1028 1029
+ 1031: 98(ptr) AccessChain 37(data) 1026 58 40
+ Store 1031 1030
+ 1032: 6(int) Load 8(invocation)
+ 1033: 103(ptr) AccessChain 37(data) 45 58
+ 1034: 27(i16vec4) Load 1033
+ 1035:102(i16vec2) VectorShuffle 1034 1034 0 1
+ 1036: 17(ivec4) Load 19(ballot)
+ 1037:102(i16vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1035 1036
+ 1038: 98(ptr) AccessChain 37(data) 1032 58 40
+ 1039: 26(int16_t) CompositeExtract 1037 0
+ Store 1038 1039
+ 1040: 98(ptr) AccessChain 37(data) 1032 58 188
+ 1041: 26(int16_t) CompositeExtract 1037 1
+ Store 1040 1041
+ 1042: 6(int) Load 8(invocation)
+ 1043: 103(ptr) AccessChain 37(data) 52 58
+ 1044: 27(i16vec4) Load 1043
+ 1045:108(i16vec3) VectorShuffle 1044 1044 0 1 2
+ 1046: 17(ivec4) Load 19(ballot)
+ 1047:108(i16vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1045 1046
+ 1048: 98(ptr) AccessChain 37(data) 1042 58 40
+ 1049: 26(int16_t) CompositeExtract 1047 0
+ Store 1048 1049
+ 1050: 98(ptr) AccessChain 37(data) 1042 58 188
+ 1051: 26(int16_t) CompositeExtract 1047 1
+ Store 1050 1051
+ 1052: 98(ptr) AccessChain 37(data) 1042 58 201
+ 1053: 26(int16_t) CompositeExtract 1047 2
+ Store 1052 1053
+ 1054: 6(int) Load 8(invocation)
+ 1055: 103(ptr) AccessChain 37(data) 58 58
+ 1056: 27(i16vec4) Load 1055
+ 1057: 17(ivec4) Load 19(ballot)
+ 1058: 27(i16vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1056 1057
+ 1059: 103(ptr) AccessChain 37(data) 1054 58
+ Store 1059 1058
+ 1060: 6(int) Load 8(invocation)
+ 1061: 98(ptr) AccessChain 37(data) 39 58 40
+ 1062: 26(int16_t) Load 1061
1063: 17(ivec4) Load 19(ballot)
- 1064:127(i64vec3) GroupNonUniformIMul 177 PartitionedReduceNV 1062 1063
- 1065: 122(ptr) AccessChain 37(data) 1059 116
- 1066: 29(i64vec4) Load 1065
- 1067: 29(i64vec4) VectorShuffle 1066 1064 4 5 6 3
- Store 1065 1067
- 1068: 6(int) Load 8(invocation)
- 1069: 122(ptr) AccessChain 37(data) 58 116
- 1070: 29(i64vec4) Load 1069
- 1071: 17(ivec4) Load 19(ballot)
- 1072: 29(i64vec4) GroupNonUniformIMul 177 PartitionedReduceNV 1070 1071
- 1073: 122(ptr) AccessChain 37(data) 1068 116
- Store 1073 1072
- 1074: 6(int) Load 8(invocation)
- 1075: 117(ptr) AccessChain 37(data) 39 116 40
- 1076: 28(int64_t) Load 1075
- 1077: 17(ivec4) Load 19(ballot)
- 1078: 28(int64_t) GroupNonUniformSMin 177 PartitionedReduceNV 1076 1077
- 1079: 117(ptr) AccessChain 37(data) 1074 116 40
- Store 1079 1078
- 1080: 6(int) Load 8(invocation)
- 1081: 122(ptr) AccessChain 37(data) 45 116
- 1082: 29(i64vec4) Load 1081
- 1083:121(i64vec2) VectorShuffle 1082 1082 0 1
- 1084: 17(ivec4) Load 19(ballot)
- 1085:121(i64vec2) GroupNonUniformSMin 177 PartitionedReduceNV 1083 1084
- 1086: 122(ptr) AccessChain 37(data) 1080 116
- 1087: 29(i64vec4) Load 1086
- 1088: 29(i64vec4) VectorShuffle 1087 1085 4 5 2 3
- Store 1086 1088
- 1089: 6(int) Load 8(invocation)
- 1090: 122(ptr) AccessChain 37(data) 52 116
- 1091: 29(i64vec4) Load 1090
- 1092:127(i64vec3) VectorShuffle 1091 1091 0 1 2
- 1093: 17(ivec4) Load 19(ballot)
- 1094:127(i64vec3) GroupNonUniformSMin 177 PartitionedReduceNV 1092 1093
- 1095: 122(ptr) AccessChain 37(data) 1089 116
- 1096: 29(i64vec4) Load 1095
- 1097: 29(i64vec4) VectorShuffle 1096 1094 4 5 6 3
- Store 1095 1097
- 1098: 6(int) Load 8(invocation)
- 1099: 122(ptr) AccessChain 37(data) 58 116
- 1100: 29(i64vec4) Load 1099
- 1101: 17(ivec4) Load 19(ballot)
- 1102: 29(i64vec4) GroupNonUniformSMin 177 PartitionedReduceNV 1100 1101
- 1103: 122(ptr) AccessChain 37(data) 1098 116
- Store 1103 1102
- 1104: 6(int) Load 8(invocation)
- 1105: 117(ptr) AccessChain 37(data) 39 116 40
- 1106: 28(int64_t) Load 1105
- 1107: 17(ivec4) Load 19(ballot)
- 1108: 28(int64_t) GroupNonUniformSMax 177 PartitionedReduceNV 1106 1107
- 1109: 117(ptr) AccessChain 37(data) 1104 116 40
- Store 1109 1108
+ 1064: 26(int16_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1062 1063
+ 1065: 98(ptr) AccessChain 37(data) 1060 58 40
+ Store 1065 1064
+ 1066: 6(int) Load 8(invocation)
+ 1067: 103(ptr) AccessChain 37(data) 45 58
+ 1068: 27(i16vec4) Load 1067
+ 1069:102(i16vec2) VectorShuffle 1068 1068 0 1
+ 1070: 17(ivec4) Load 19(ballot)
+ 1071:102(i16vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1069 1070
+ 1072: 98(ptr) AccessChain 37(data) 1066 58 40
+ 1073: 26(int16_t) CompositeExtract 1071 0
+ Store 1072 1073
+ 1074: 98(ptr) AccessChain 37(data) 1066 58 188
+ 1075: 26(int16_t) CompositeExtract 1071 1
+ Store 1074 1075
+ 1076: 6(int) Load 8(invocation)
+ 1077: 103(ptr) AccessChain 37(data) 52 58
+ 1078: 27(i16vec4) Load 1077
+ 1079:108(i16vec3) VectorShuffle 1078 1078 0 1 2
+ 1080: 17(ivec4) Load 19(ballot)
+ 1081:108(i16vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1079 1080
+ 1082: 98(ptr) AccessChain 37(data) 1076 58 40
+ 1083: 26(int16_t) CompositeExtract 1081 0
+ Store 1082 1083
+ 1084: 98(ptr) AccessChain 37(data) 1076 58 188
+ 1085: 26(int16_t) CompositeExtract 1081 1
+ Store 1084 1085
+ 1086: 98(ptr) AccessChain 37(data) 1076 58 201
+ 1087: 26(int16_t) CompositeExtract 1081 2
+ Store 1086 1087
+ 1088: 6(int) Load 8(invocation)
+ 1089: 103(ptr) AccessChain 37(data) 58 58
+ 1090: 27(i16vec4) Load 1089
+ 1091: 17(ivec4) Load 19(ballot)
+ 1092: 27(i16vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1090 1091
+ 1093: 103(ptr) AccessChain 37(data) 1088 58
+ Store 1093 1092
+ 1094: 6(int) Load 8(invocation)
+ 1095: 98(ptr) AccessChain 37(data) 39 58 40
+ 1096: 26(int16_t) Load 1095
+ 1097: 17(ivec4) Load 19(ballot)
+ 1098: 26(int16_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1096 1097
+ 1099: 98(ptr) AccessChain 37(data) 1094 58 40
+ Store 1099 1098
+ 1100: 6(int) Load 8(invocation)
+ 1101: 103(ptr) AccessChain 37(data) 45 58
+ 1102: 27(i16vec4) Load 1101
+ 1103:102(i16vec2) VectorShuffle 1102 1102 0 1
+ 1104: 17(ivec4) Load 19(ballot)
+ 1105:102(i16vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1103 1104
+ 1106: 98(ptr) AccessChain 37(data) 1100 58 40
+ 1107: 26(int16_t) CompositeExtract 1105 0
+ Store 1106 1107
+ 1108: 98(ptr) AccessChain 37(data) 1100 58 188
+ 1109: 26(int16_t) CompositeExtract 1105 1
+ Store 1108 1109
1110: 6(int) Load 8(invocation)
- 1111: 122(ptr) AccessChain 37(data) 45 116
- 1112: 29(i64vec4) Load 1111
- 1113:121(i64vec2) VectorShuffle 1112 1112 0 1
+ 1111: 103(ptr) AccessChain 37(data) 52 58
+ 1112: 27(i16vec4) Load 1111
+ 1113:108(i16vec3) VectorShuffle 1112 1112 0 1 2
1114: 17(ivec4) Load 19(ballot)
- 1115:121(i64vec2) GroupNonUniformSMax 177 PartitionedReduceNV 1113 1114
- 1116: 122(ptr) AccessChain 37(data) 1110 116
- 1117: 29(i64vec4) Load 1116
- 1118: 29(i64vec4) VectorShuffle 1117 1115 4 5 2 3
- Store 1116 1118
- 1119: 6(int) Load 8(invocation)
- 1120: 122(ptr) AccessChain 37(data) 52 116
- 1121: 29(i64vec4) Load 1120
- 1122:127(i64vec3) VectorShuffle 1121 1121 0 1 2
- 1123: 17(ivec4) Load 19(ballot)
- 1124:127(i64vec3) GroupNonUniformSMax 177 PartitionedReduceNV 1122 1123
- 1125: 122(ptr) AccessChain 37(data) 1119 116
- 1126: 29(i64vec4) Load 1125
- 1127: 29(i64vec4) VectorShuffle 1126 1124 4 5 6 3
- Store 1125 1127
+ 1115:108(i16vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1113 1114
+ 1116: 98(ptr) AccessChain 37(data) 1110 58 40
+ 1117: 26(int16_t) CompositeExtract 1115 0
+ Store 1116 1117
+ 1118: 98(ptr) AccessChain 37(data) 1110 58 188
+ 1119: 26(int16_t) CompositeExtract 1115 1
+ Store 1118 1119
+ 1120: 98(ptr) AccessChain 37(data) 1110 58 201
+ 1121: 26(int16_t) CompositeExtract 1115 2
+ Store 1120 1121
+ 1122: 6(int) Load 8(invocation)
+ 1123: 103(ptr) AccessChain 37(data) 58 58
+ 1124: 27(i16vec4) Load 1123
+ 1125: 17(ivec4) Load 19(ballot)
+ 1126: 27(i16vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1124 1125
+ 1127: 103(ptr) AccessChain 37(data) 1122 58
+ Store 1127 1126
1128: 6(int) Load 8(invocation)
- 1129: 122(ptr) AccessChain 37(data) 58 116
- 1130: 29(i64vec4) Load 1129
+ 1129: 117(ptr) AccessChain 37(data) 39 116 40
+ 1130: 28(int64_t) Load 1129
1131: 17(ivec4) Load 19(ballot)
- 1132: 29(i64vec4) GroupNonUniformSMax 177 PartitionedReduceNV 1130 1131
- 1133: 122(ptr) AccessChain 37(data) 1128 116
+ 1132: 28(int64_t) GroupNonUniformIAdd 177 PartitionedReduceNV 1130 1131
+ 1133: 117(ptr) AccessChain 37(data) 1128 116 40
Store 1133 1132
1134: 6(int) Load 8(invocation)
- 1135: 117(ptr) AccessChain 37(data) 39 116 40
- 1136: 28(int64_t) Load 1135
- 1137: 17(ivec4) Load 19(ballot)
- 1138: 28(int64_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1136 1137
- 1139: 117(ptr) AccessChain 37(data) 1134 116 40
- Store 1139 1138
- 1140: 6(int) Load 8(invocation)
- 1141: 122(ptr) AccessChain 37(data) 45 116
- 1142: 29(i64vec4) Load 1141
- 1143:121(i64vec2) VectorShuffle 1142 1142 0 1
- 1144: 17(ivec4) Load 19(ballot)
- 1145:121(i64vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1143 1144
- 1146: 122(ptr) AccessChain 37(data) 1140 116
- 1147: 29(i64vec4) Load 1146
- 1148: 29(i64vec4) VectorShuffle 1147 1145 4 5 2 3
- Store 1146 1148
- 1149: 6(int) Load 8(invocation)
- 1150: 122(ptr) AccessChain 37(data) 52 116
- 1151: 29(i64vec4) Load 1150
- 1152:127(i64vec3) VectorShuffle 1151 1151 0 1 2
- 1153: 17(ivec4) Load 19(ballot)
- 1154:127(i64vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1152 1153
- 1155: 122(ptr) AccessChain 37(data) 1149 116
- 1156: 29(i64vec4) Load 1155
- 1157: 29(i64vec4) VectorShuffle 1156 1154 4 5 6 3
- Store 1155 1157
- 1158: 6(int) Load 8(invocation)
- 1159: 122(ptr) AccessChain 37(data) 58 116
- 1160: 29(i64vec4) Load 1159
- 1161: 17(ivec4) Load 19(ballot)
- 1162: 29(i64vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1160 1161
- 1163: 122(ptr) AccessChain 37(data) 1158 116
- Store 1163 1162
- 1164: 6(int) Load 8(invocation)
- 1165: 117(ptr) AccessChain 37(data) 39 116 40
- 1166: 28(int64_t) Load 1165
- 1167: 17(ivec4) Load 19(ballot)
- 1168: 28(int64_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1166 1167
- 1169: 117(ptr) AccessChain 37(data) 1164 116 40
- Store 1169 1168
- 1170: 6(int) Load 8(invocation)
- 1171: 122(ptr) AccessChain 37(data) 45 116
- 1172: 29(i64vec4) Load 1171
- 1173:121(i64vec2) VectorShuffle 1172 1172 0 1
- 1174: 17(ivec4) Load 19(ballot)
- 1175:121(i64vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1173 1174
- 1176: 122(ptr) AccessChain 37(data) 1170 116
- 1177: 29(i64vec4) Load 1176
- 1178: 29(i64vec4) VectorShuffle 1177 1175 4 5 2 3
- Store 1176 1178
- 1179: 6(int) Load 8(invocation)
- 1180: 122(ptr) AccessChain 37(data) 52 116
- 1181: 29(i64vec4) Load 1180
- 1182:127(i64vec3) VectorShuffle 1181 1181 0 1 2
- 1183: 17(ivec4) Load 19(ballot)
- 1184:127(i64vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1182 1183
- 1185: 122(ptr) AccessChain 37(data) 1179 116
- 1186: 29(i64vec4) Load 1185
- 1187: 29(i64vec4) VectorShuffle 1186 1184 4 5 6 3
- Store 1185 1187
- 1188: 6(int) Load 8(invocation)
- 1189: 122(ptr) AccessChain 37(data) 58 116
- 1190: 29(i64vec4) Load 1189
- 1191: 17(ivec4) Load 19(ballot)
- 1192: 29(i64vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1190 1191
- 1193: 122(ptr) AccessChain 37(data) 1188 116
- Store 1193 1192
- 1194: 6(int) Load 8(invocation)
- 1195: 117(ptr) AccessChain 37(data) 39 116 40
- 1196: 28(int64_t) Load 1195
- 1197: 17(ivec4) Load 19(ballot)
- 1198: 28(int64_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1196 1197
- 1199: 117(ptr) AccessChain 37(data) 1194 116 40
- Store 1199 1198
- 1200: 6(int) Load 8(invocation)
- 1201: 122(ptr) AccessChain 37(data) 45 116
- 1202: 29(i64vec4) Load 1201
- 1203:121(i64vec2) VectorShuffle 1202 1202 0 1
- 1204: 17(ivec4) Load 19(ballot)
- 1205:121(i64vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1203 1204
- 1206: 122(ptr) AccessChain 37(data) 1200 116
- 1207: 29(i64vec4) Load 1206
- 1208: 29(i64vec4) VectorShuffle 1207 1205 4 5 2 3
- Store 1206 1208
- 1209: 6(int) Load 8(invocation)
- 1210: 122(ptr) AccessChain 37(data) 52 116
- 1211: 29(i64vec4) Load 1210
- 1212:127(i64vec3) VectorShuffle 1211 1211 0 1 2
- 1213: 17(ivec4) Load 19(ballot)
- 1214:127(i64vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1212 1213
- 1215: 122(ptr) AccessChain 37(data) 1209 116
- 1216: 29(i64vec4) Load 1215
- 1217: 29(i64vec4) VectorShuffle 1216 1214 4 5 6 3
- Store 1215 1217
- 1218: 6(int) Load 8(invocation)
- 1219: 122(ptr) AccessChain 37(data) 58 116
- 1220: 29(i64vec4) Load 1219
- 1221: 17(ivec4) Load 19(ballot)
- 1222: 29(i64vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1220 1221
- 1223: 122(ptr) AccessChain 37(data) 1218 116
- Store 1223 1222
+ 1135: 122(ptr) AccessChain 37(data) 45 116
+ 1136: 29(i64vec4) Load 1135
+ 1137:121(i64vec2) VectorShuffle 1136 1136 0 1
+ 1138: 17(ivec4) Load 19(ballot)
+ 1139:121(i64vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 1137 1138
+ 1140: 117(ptr) AccessChain 37(data) 1134 116 40
+ 1141: 28(int64_t) CompositeExtract 1139 0
+ Store 1140 1141
+ 1142: 117(ptr) AccessChain 37(data) 1134 116 188
+ 1143: 28(int64_t) CompositeExtract 1139 1
+ Store 1142 1143
+ 1144: 6(int) Load 8(invocation)
+ 1145: 122(ptr) AccessChain 37(data) 52 116
+ 1146: 29(i64vec4) Load 1145
+ 1147:127(i64vec3) VectorShuffle 1146 1146 0 1 2
+ 1148: 17(ivec4) Load 19(ballot)
+ 1149:127(i64vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 1147 1148
+ 1150: 117(ptr) AccessChain 37(data) 1144 116 40
+ 1151: 28(int64_t) CompositeExtract 1149 0
+ Store 1150 1151
+ 1152: 117(ptr) AccessChain 37(data) 1144 116 188
+ 1153: 28(int64_t) CompositeExtract 1149 1
+ Store 1152 1153
+ 1154: 117(ptr) AccessChain 37(data) 1144 116 201
+ 1155: 28(int64_t) CompositeExtract 1149 2
+ Store 1154 1155
+ 1156: 6(int) Load 8(invocation)
+ 1157: 122(ptr) AccessChain 37(data) 58 116
+ 1158: 29(i64vec4) Load 1157
+ 1159: 17(ivec4) Load 19(ballot)
+ 1160: 29(i64vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 1158 1159
+ 1161: 122(ptr) AccessChain 37(data) 1156 116
+ Store 1161 1160
+ 1162: 6(int) Load 8(invocation)
+ 1163: 117(ptr) AccessChain 37(data) 39 116 40
+ 1164: 28(int64_t) Load 1163
+ 1165: 17(ivec4) Load 19(ballot)
+ 1166: 28(int64_t) GroupNonUniformIMul 177 PartitionedReduceNV 1164 1165
+ 1167: 117(ptr) AccessChain 37(data) 1162 116 40
+ Store 1167 1166
+ 1168: 6(int) Load 8(invocation)
+ 1169: 122(ptr) AccessChain 37(data) 45 116
+ 1170: 29(i64vec4) Load 1169
+ 1171:121(i64vec2) VectorShuffle 1170 1170 0 1
+ 1172: 17(ivec4) Load 19(ballot)
+ 1173:121(i64vec2) GroupNonUniformIMul 177 PartitionedReduceNV 1171 1172
+ 1174: 117(ptr) AccessChain 37(data) 1168 116 40
+ 1175: 28(int64_t) CompositeExtract 1173 0
+ Store 1174 1175
+ 1176: 117(ptr) AccessChain 37(data) 1168 116 188
+ 1177: 28(int64_t) CompositeExtract 1173 1
+ Store 1176 1177
+ 1178: 6(int) Load 8(invocation)
+ 1179: 122(ptr) AccessChain 37(data) 52 116
+ 1180: 29(i64vec4) Load 1179
+ 1181:127(i64vec3) VectorShuffle 1180 1180 0 1 2
+ 1182: 17(ivec4) Load 19(ballot)
+ 1183:127(i64vec3) GroupNonUniformIMul 177 PartitionedReduceNV 1181 1182
+ 1184: 117(ptr) AccessChain 37(data) 1178 116 40
+ 1185: 28(int64_t) CompositeExtract 1183 0
+ Store 1184 1185
+ 1186: 117(ptr) AccessChain 37(data) 1178 116 188
+ 1187: 28(int64_t) CompositeExtract 1183 1
+ Store 1186 1187
+ 1188: 117(ptr) AccessChain 37(data) 1178 116 201
+ 1189: 28(int64_t) CompositeExtract 1183 2
+ Store 1188 1189
+ 1190: 6(int) Load 8(invocation)
+ 1191: 122(ptr) AccessChain 37(data) 58 116
+ 1192: 29(i64vec4) Load 1191
+ 1193: 17(ivec4) Load 19(ballot)
+ 1194: 29(i64vec4) GroupNonUniformIMul 177 PartitionedReduceNV 1192 1193
+ 1195: 122(ptr) AccessChain 37(data) 1190 116
+ Store 1195 1194
+ 1196: 6(int) Load 8(invocation)
+ 1197: 117(ptr) AccessChain 37(data) 39 116 40
+ 1198: 28(int64_t) Load 1197
+ 1199: 17(ivec4) Load 19(ballot)
+ 1200: 28(int64_t) GroupNonUniformSMin 177 PartitionedReduceNV 1198 1199
+ 1201: 117(ptr) AccessChain 37(data) 1196 116 40
+ Store 1201 1200
+ 1202: 6(int) Load 8(invocation)
+ 1203: 122(ptr) AccessChain 37(data) 45 116
+ 1204: 29(i64vec4) Load 1203
+ 1205:121(i64vec2) VectorShuffle 1204 1204 0 1
+ 1206: 17(ivec4) Load 19(ballot)
+ 1207:121(i64vec2) GroupNonUniformSMin 177 PartitionedReduceNV 1205 1206
+ 1208: 117(ptr) AccessChain 37(data) 1202 116 40
+ 1209: 28(int64_t) CompositeExtract 1207 0
+ Store 1208 1209
+ 1210: 117(ptr) AccessChain 37(data) 1202 116 188
+ 1211: 28(int64_t) CompositeExtract 1207 1
+ Store 1210 1211
+ 1212: 6(int) Load 8(invocation)
+ 1213: 122(ptr) AccessChain 37(data) 52 116
+ 1214: 29(i64vec4) Load 1213
+ 1215:127(i64vec3) VectorShuffle 1214 1214 0 1 2
+ 1216: 17(ivec4) Load 19(ballot)
+ 1217:127(i64vec3) GroupNonUniformSMin 177 PartitionedReduceNV 1215 1216
+ 1218: 117(ptr) AccessChain 37(data) 1212 116 40
+ 1219: 28(int64_t) CompositeExtract 1217 0
+ Store 1218 1219
+ 1220: 117(ptr) AccessChain 37(data) 1212 116 188
+ 1221: 28(int64_t) CompositeExtract 1217 1
+ Store 1220 1221
+ 1222: 117(ptr) AccessChain 37(data) 1212 116 201
+ 1223: 28(int64_t) CompositeExtract 1217 2
+ Store 1222 1223
1224: 6(int) Load 8(invocation)
- 1225: 136(ptr) AccessChain 37(data) 39 135 40
- 1226: 30(int64_t) Load 1225
+ 1225: 122(ptr) AccessChain 37(data) 58 116
+ 1226: 29(i64vec4) Load 1225
1227: 17(ivec4) Load 19(ballot)
- 1228: 30(int64_t) GroupNonUniformIAdd 177 PartitionedReduceNV 1226 1227
- 1229: 136(ptr) AccessChain 37(data) 1224 135 40
+ 1228: 29(i64vec4) GroupNonUniformSMin 177 PartitionedReduceNV 1226 1227
+ 1229: 122(ptr) AccessChain 37(data) 1224 116
Store 1229 1228
1230: 6(int) Load 8(invocation)
- 1231: 141(ptr) AccessChain 37(data) 45 135
- 1232: 31(i64vec4) Load 1231
- 1233:140(i64vec2) VectorShuffle 1232 1232 0 1
- 1234: 17(ivec4) Load 19(ballot)
- 1235:140(i64vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 1233 1234
- 1236: 141(ptr) AccessChain 37(data) 1230 135
- 1237: 31(i64vec4) Load 1236
- 1238: 31(i64vec4) VectorShuffle 1237 1235 4 5 2 3
- Store 1236 1238
- 1239: 6(int) Load 8(invocation)
- 1240: 141(ptr) AccessChain 37(data) 52 135
- 1241: 31(i64vec4) Load 1240
- 1242:146(i64vec3) VectorShuffle 1241 1241 0 1 2
- 1243: 17(ivec4) Load 19(ballot)
- 1244:146(i64vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 1242 1243
- 1245: 141(ptr) AccessChain 37(data) 1239 135
- 1246: 31(i64vec4) Load 1245
- 1247: 31(i64vec4) VectorShuffle 1246 1244 4 5 6 3
- Store 1245 1247
- 1248: 6(int) Load 8(invocation)
- 1249: 141(ptr) AccessChain 37(data) 58 135
- 1250: 31(i64vec4) Load 1249
- 1251: 17(ivec4) Load 19(ballot)
- 1252: 31(i64vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 1250 1251
- 1253: 141(ptr) AccessChain 37(data) 1248 135
- Store 1253 1252
- 1254: 6(int) Load 8(invocation)
- 1255: 136(ptr) AccessChain 37(data) 39 135 40
- 1256: 30(int64_t) Load 1255
- 1257: 17(ivec4) Load 19(ballot)
- 1258: 30(int64_t) GroupNonUniformIMul 177 PartitionedReduceNV 1256 1257
- 1259: 136(ptr) AccessChain 37(data) 1254 135 40
- Store 1259 1258
- 1260: 6(int) Load 8(invocation)
- 1261: 141(ptr) AccessChain 37(data) 45 135
- 1262: 31(i64vec4) Load 1261
- 1263:140(i64vec2) VectorShuffle 1262 1262 0 1
- 1264: 17(ivec4) Load 19(ballot)
- 1265:140(i64vec2) GroupNonUniformIMul 177 PartitionedReduceNV 1263 1264
- 1266: 141(ptr) AccessChain 37(data) 1260 135
- 1267: 31(i64vec4) Load 1266
- 1268: 31(i64vec4) VectorShuffle 1267 1265 4 5 2 3
- Store 1266 1268
- 1269: 6(int) Load 8(invocation)
- 1270: 141(ptr) AccessChain 37(data) 52 135
- 1271: 31(i64vec4) Load 1270
- 1272:146(i64vec3) VectorShuffle 1271 1271 0 1 2
- 1273: 17(ivec4) Load 19(ballot)
- 1274:146(i64vec3) GroupNonUniformIMul 177 PartitionedReduceNV 1272 1273
- 1275: 141(ptr) AccessChain 37(data) 1269 135
- 1276: 31(i64vec4) Load 1275
- 1277: 31(i64vec4) VectorShuffle 1276 1274 4 5 6 3
- Store 1275 1277
- 1278: 6(int) Load 8(invocation)
- 1279: 141(ptr) AccessChain 37(data) 58 135
- 1280: 31(i64vec4) Load 1279
- 1281: 17(ivec4) Load 19(ballot)
- 1282: 31(i64vec4) GroupNonUniformIMul 177 PartitionedReduceNV 1280 1281
- 1283: 141(ptr) AccessChain 37(data) 1278 135
- Store 1283 1282
- 1284: 6(int) Load 8(invocation)
- 1285: 136(ptr) AccessChain 37(data) 39 135 40
- 1286: 30(int64_t) Load 1285
- 1287: 17(ivec4) Load 19(ballot)
- 1288: 30(int64_t) GroupNonUniformUMin 177 PartitionedReduceNV 1286 1287
- 1289: 136(ptr) AccessChain 37(data) 1284 135 40
- Store 1289 1288
- 1290: 6(int) Load 8(invocation)
- 1291: 141(ptr) AccessChain 37(data) 45 135
- 1292: 31(i64vec4) Load 1291
- 1293:140(i64vec2) VectorShuffle 1292 1292 0 1
- 1294: 17(ivec4) Load 19(ballot)
- 1295:140(i64vec2) GroupNonUniformUMin 177 PartitionedReduceNV 1293 1294
- 1296: 141(ptr) AccessChain 37(data) 1290 135
- 1297: 31(i64vec4) Load 1296
- 1298: 31(i64vec4) VectorShuffle 1297 1295 4 5 2 3
- Store 1296 1298
- 1299: 6(int) Load 8(invocation)
- 1300: 141(ptr) AccessChain 37(data) 52 135
- 1301: 31(i64vec4) Load 1300
- 1302:146(i64vec3) VectorShuffle 1301 1301 0 1 2
- 1303: 17(ivec4) Load 19(ballot)
- 1304:146(i64vec3) GroupNonUniformUMin 177 PartitionedReduceNV 1302 1303
- 1305: 141(ptr) AccessChain 37(data) 1299 135
- 1306: 31(i64vec4) Load 1305
- 1307: 31(i64vec4) VectorShuffle 1306 1304 4 5 6 3
- Store 1305 1307
- 1308: 6(int) Load 8(invocation)
- 1309: 141(ptr) AccessChain 37(data) 58 135
- 1310: 31(i64vec4) Load 1309
- 1311: 17(ivec4) Load 19(ballot)
- 1312: 31(i64vec4) GroupNonUniformUMin 177 PartitionedReduceNV 1310 1311
- 1313: 141(ptr) AccessChain 37(data) 1308 135
- Store 1313 1312
+ 1231: 117(ptr) AccessChain 37(data) 39 116 40
+ 1232: 28(int64_t) Load 1231
+ 1233: 17(ivec4) Load 19(ballot)
+ 1234: 28(int64_t) GroupNonUniformSMax 177 PartitionedReduceNV 1232 1233
+ 1235: 117(ptr) AccessChain 37(data) 1230 116 40
+ Store 1235 1234
+ 1236: 6(int) Load 8(invocation)
+ 1237: 122(ptr) AccessChain 37(data) 45 116
+ 1238: 29(i64vec4) Load 1237
+ 1239:121(i64vec2) VectorShuffle 1238 1238 0 1
+ 1240: 17(ivec4) Load 19(ballot)
+ 1241:121(i64vec2) GroupNonUniformSMax 177 PartitionedReduceNV 1239 1240
+ 1242: 117(ptr) AccessChain 37(data) 1236 116 40
+ 1243: 28(int64_t) CompositeExtract 1241 0
+ Store 1242 1243
+ 1244: 117(ptr) AccessChain 37(data) 1236 116 188
+ 1245: 28(int64_t) CompositeExtract 1241 1
+ Store 1244 1245
+ 1246: 6(int) Load 8(invocation)
+ 1247: 122(ptr) AccessChain 37(data) 52 116
+ 1248: 29(i64vec4) Load 1247
+ 1249:127(i64vec3) VectorShuffle 1248 1248 0 1 2
+ 1250: 17(ivec4) Load 19(ballot)
+ 1251:127(i64vec3) GroupNonUniformSMax 177 PartitionedReduceNV 1249 1250
+ 1252: 117(ptr) AccessChain 37(data) 1246 116 40
+ 1253: 28(int64_t) CompositeExtract 1251 0
+ Store 1252 1253
+ 1254: 117(ptr) AccessChain 37(data) 1246 116 188
+ 1255: 28(int64_t) CompositeExtract 1251 1
+ Store 1254 1255
+ 1256: 117(ptr) AccessChain 37(data) 1246 116 201
+ 1257: 28(int64_t) CompositeExtract 1251 2
+ Store 1256 1257
+ 1258: 6(int) Load 8(invocation)
+ 1259: 122(ptr) AccessChain 37(data) 58 116
+ 1260: 29(i64vec4) Load 1259
+ 1261: 17(ivec4) Load 19(ballot)
+ 1262: 29(i64vec4) GroupNonUniformSMax 177 PartitionedReduceNV 1260 1261
+ 1263: 122(ptr) AccessChain 37(data) 1258 116
+ Store 1263 1262
+ 1264: 6(int) Load 8(invocation)
+ 1265: 117(ptr) AccessChain 37(data) 39 116 40
+ 1266: 28(int64_t) Load 1265
+ 1267: 17(ivec4) Load 19(ballot)
+ 1268: 28(int64_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1266 1267
+ 1269: 117(ptr) AccessChain 37(data) 1264 116 40
+ Store 1269 1268
+ 1270: 6(int) Load 8(invocation)
+ 1271: 122(ptr) AccessChain 37(data) 45 116
+ 1272: 29(i64vec4) Load 1271
+ 1273:121(i64vec2) VectorShuffle 1272 1272 0 1
+ 1274: 17(ivec4) Load 19(ballot)
+ 1275:121(i64vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1273 1274
+ 1276: 117(ptr) AccessChain 37(data) 1270 116 40
+ 1277: 28(int64_t) CompositeExtract 1275 0
+ Store 1276 1277
+ 1278: 117(ptr) AccessChain 37(data) 1270 116 188
+ 1279: 28(int64_t) CompositeExtract 1275 1
+ Store 1278 1279
+ 1280: 6(int) Load 8(invocation)
+ 1281: 122(ptr) AccessChain 37(data) 52 116
+ 1282: 29(i64vec4) Load 1281
+ 1283:127(i64vec3) VectorShuffle 1282 1282 0 1 2
+ 1284: 17(ivec4) Load 19(ballot)
+ 1285:127(i64vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1283 1284
+ 1286: 117(ptr) AccessChain 37(data) 1280 116 40
+ 1287: 28(int64_t) CompositeExtract 1285 0
+ Store 1286 1287
+ 1288: 117(ptr) AccessChain 37(data) 1280 116 188
+ 1289: 28(int64_t) CompositeExtract 1285 1
+ Store 1288 1289
+ 1290: 117(ptr) AccessChain 37(data) 1280 116 201
+ 1291: 28(int64_t) CompositeExtract 1285 2
+ Store 1290 1291
+ 1292: 6(int) Load 8(invocation)
+ 1293: 122(ptr) AccessChain 37(data) 58 116
+ 1294: 29(i64vec4) Load 1293
+ 1295: 17(ivec4) Load 19(ballot)
+ 1296: 29(i64vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1294 1295
+ 1297: 122(ptr) AccessChain 37(data) 1292 116
+ Store 1297 1296
+ 1298: 6(int) Load 8(invocation)
+ 1299: 117(ptr) AccessChain 37(data) 39 116 40
+ 1300: 28(int64_t) Load 1299
+ 1301: 17(ivec4) Load 19(ballot)
+ 1302: 28(int64_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1300 1301
+ 1303: 117(ptr) AccessChain 37(data) 1298 116 40
+ Store 1303 1302
+ 1304: 6(int) Load 8(invocation)
+ 1305: 122(ptr) AccessChain 37(data) 45 116
+ 1306: 29(i64vec4) Load 1305
+ 1307:121(i64vec2) VectorShuffle 1306 1306 0 1
+ 1308: 17(ivec4) Load 19(ballot)
+ 1309:121(i64vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1307 1308
+ 1310: 117(ptr) AccessChain 37(data) 1304 116 40
+ 1311: 28(int64_t) CompositeExtract 1309 0
+ Store 1310 1311
+ 1312: 117(ptr) AccessChain 37(data) 1304 116 188
+ 1313: 28(int64_t) CompositeExtract 1309 1
+ Store 1312 1313
1314: 6(int) Load 8(invocation)
- 1315: 136(ptr) AccessChain 37(data) 39 135 40
- 1316: 30(int64_t) Load 1315
- 1317: 17(ivec4) Load 19(ballot)
- 1318: 30(int64_t) GroupNonUniformUMax 177 PartitionedReduceNV 1316 1317
- 1319: 136(ptr) AccessChain 37(data) 1314 135 40
- Store 1319 1318
- 1320: 6(int) Load 8(invocation)
- 1321: 141(ptr) AccessChain 37(data) 45 135
- 1322: 31(i64vec4) Load 1321
- 1323:140(i64vec2) VectorShuffle 1322 1322 0 1
- 1324: 17(ivec4) Load 19(ballot)
- 1325:140(i64vec2) GroupNonUniformUMax 177 PartitionedReduceNV 1323 1324
- 1326: 141(ptr) AccessChain 37(data) 1320 135
- 1327: 31(i64vec4) Load 1326
- 1328: 31(i64vec4) VectorShuffle 1327 1325 4 5 2 3
- Store 1326 1328
- 1329: 6(int) Load 8(invocation)
- 1330: 141(ptr) AccessChain 37(data) 52 135
- 1331: 31(i64vec4) Load 1330
- 1332:146(i64vec3) VectorShuffle 1331 1331 0 1 2
- 1333: 17(ivec4) Load 19(ballot)
- 1334:146(i64vec3) GroupNonUniformUMax 177 PartitionedReduceNV 1332 1333
- 1335: 141(ptr) AccessChain 37(data) 1329 135
- 1336: 31(i64vec4) Load 1335
- 1337: 31(i64vec4) VectorShuffle 1336 1334 4 5 6 3
- Store 1335 1337
+ 1315: 122(ptr) AccessChain 37(data) 52 116
+ 1316: 29(i64vec4) Load 1315
+ 1317:127(i64vec3) VectorShuffle 1316 1316 0 1 2
+ 1318: 17(ivec4) Load 19(ballot)
+ 1319:127(i64vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1317 1318
+ 1320: 117(ptr) AccessChain 37(data) 1314 116 40
+ 1321: 28(int64_t) CompositeExtract 1319 0
+ Store 1320 1321
+ 1322: 117(ptr) AccessChain 37(data) 1314 116 188
+ 1323: 28(int64_t) CompositeExtract 1319 1
+ Store 1322 1323
+ 1324: 117(ptr) AccessChain 37(data) 1314 116 201
+ 1325: 28(int64_t) CompositeExtract 1319 2
+ Store 1324 1325
+ 1326: 6(int) Load 8(invocation)
+ 1327: 122(ptr) AccessChain 37(data) 58 116
+ 1328: 29(i64vec4) Load 1327
+ 1329: 17(ivec4) Load 19(ballot)
+ 1330: 29(i64vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1328 1329
+ 1331: 122(ptr) AccessChain 37(data) 1326 116
+ Store 1331 1330
+ 1332: 6(int) Load 8(invocation)
+ 1333: 117(ptr) AccessChain 37(data) 39 116 40
+ 1334: 28(int64_t) Load 1333
+ 1335: 17(ivec4) Load 19(ballot)
+ 1336: 28(int64_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1334 1335
+ 1337: 117(ptr) AccessChain 37(data) 1332 116 40
+ Store 1337 1336
1338: 6(int) Load 8(invocation)
- 1339: 141(ptr) AccessChain 37(data) 58 135
- 1340: 31(i64vec4) Load 1339
- 1341: 17(ivec4) Load 19(ballot)
- 1342: 31(i64vec4) GroupNonUniformUMax 177 PartitionedReduceNV 1340 1341
- 1343: 141(ptr) AccessChain 37(data) 1338 135
- Store 1343 1342
- 1344: 6(int) Load 8(invocation)
- 1345: 136(ptr) AccessChain 37(data) 39 135 40
- 1346: 30(int64_t) Load 1345
- 1347: 17(ivec4) Load 19(ballot)
- 1348: 30(int64_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1346 1347
- 1349: 136(ptr) AccessChain 37(data) 1344 135 40
- Store 1349 1348
- 1350: 6(int) Load 8(invocation)
- 1351: 141(ptr) AccessChain 37(data) 45 135
- 1352: 31(i64vec4) Load 1351
- 1353:140(i64vec2) VectorShuffle 1352 1352 0 1
- 1354: 17(ivec4) Load 19(ballot)
- 1355:140(i64vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1353 1354
- 1356: 141(ptr) AccessChain 37(data) 1350 135
- 1357: 31(i64vec4) Load 1356
- 1358: 31(i64vec4) VectorShuffle 1357 1355 4 5 2 3
- Store 1356 1358
- 1359: 6(int) Load 8(invocation)
- 1360: 141(ptr) AccessChain 37(data) 52 135
- 1361: 31(i64vec4) Load 1360
- 1362:146(i64vec3) VectorShuffle 1361 1361 0 1 2
+ 1339: 122(ptr) AccessChain 37(data) 45 116
+ 1340: 29(i64vec4) Load 1339
+ 1341:121(i64vec2) VectorShuffle 1340 1340 0 1
+ 1342: 17(ivec4) Load 19(ballot)
+ 1343:121(i64vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1341 1342
+ 1344: 117(ptr) AccessChain 37(data) 1338 116 40
+ 1345: 28(int64_t) CompositeExtract 1343 0
+ Store 1344 1345
+ 1346: 117(ptr) AccessChain 37(data) 1338 116 188
+ 1347: 28(int64_t) CompositeExtract 1343 1
+ Store 1346 1347
+ 1348: 6(int) Load 8(invocation)
+ 1349: 122(ptr) AccessChain 37(data) 52 116
+ 1350: 29(i64vec4) Load 1349
+ 1351:127(i64vec3) VectorShuffle 1350 1350 0 1 2
+ 1352: 17(ivec4) Load 19(ballot)
+ 1353:127(i64vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1351 1352
+ 1354: 117(ptr) AccessChain 37(data) 1348 116 40
+ 1355: 28(int64_t) CompositeExtract 1353 0
+ Store 1354 1355
+ 1356: 117(ptr) AccessChain 37(data) 1348 116 188
+ 1357: 28(int64_t) CompositeExtract 1353 1
+ Store 1356 1357
+ 1358: 117(ptr) AccessChain 37(data) 1348 116 201
+ 1359: 28(int64_t) CompositeExtract 1353 2
+ Store 1358 1359
+ 1360: 6(int) Load 8(invocation)
+ 1361: 122(ptr) AccessChain 37(data) 58 116
+ 1362: 29(i64vec4) Load 1361
1363: 17(ivec4) Load 19(ballot)
- 1364:146(i64vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1362 1363
- 1365: 141(ptr) AccessChain 37(data) 1359 135
- 1366: 31(i64vec4) Load 1365
- 1367: 31(i64vec4) VectorShuffle 1366 1364 4 5 6 3
- Store 1365 1367
- 1368: 6(int) Load 8(invocation)
- 1369: 141(ptr) AccessChain 37(data) 58 135
- 1370: 31(i64vec4) Load 1369
- 1371: 17(ivec4) Load 19(ballot)
- 1372: 31(i64vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1370 1371
- 1373: 141(ptr) AccessChain 37(data) 1368 135
- Store 1373 1372
- 1374: 6(int) Load 8(invocation)
- 1375: 136(ptr) AccessChain 37(data) 39 135 40
- 1376: 30(int64_t) Load 1375
- 1377: 17(ivec4) Load 19(ballot)
- 1378: 30(int64_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1376 1377
- 1379: 136(ptr) AccessChain 37(data) 1374 135 40
- Store 1379 1378
- 1380: 6(int) Load 8(invocation)
- 1381: 141(ptr) AccessChain 37(data) 45 135
- 1382: 31(i64vec4) Load 1381
- 1383:140(i64vec2) VectorShuffle 1382 1382 0 1
- 1384: 17(ivec4) Load 19(ballot)
- 1385:140(i64vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1383 1384
- 1386: 141(ptr) AccessChain 37(data) 1380 135
- 1387: 31(i64vec4) Load 1386
- 1388: 31(i64vec4) VectorShuffle 1387 1385 4 5 2 3
- Store 1386 1388
- 1389: 6(int) Load 8(invocation)
- 1390: 141(ptr) AccessChain 37(data) 52 135
- 1391: 31(i64vec4) Load 1390
- 1392:146(i64vec3) VectorShuffle 1391 1391 0 1 2
- 1393: 17(ivec4) Load 19(ballot)
- 1394:146(i64vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1392 1393
- 1395: 141(ptr) AccessChain 37(data) 1389 135
+ 1364: 29(i64vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1362 1363
+ 1365: 122(ptr) AccessChain 37(data) 1360 116
+ Store 1365 1364
+ 1366: 6(int) Load 8(invocation)
+ 1367: 136(ptr) AccessChain 37(data) 39 135 40
+ 1368: 30(int64_t) Load 1367
+ 1369: 17(ivec4) Load 19(ballot)
+ 1370: 30(int64_t) GroupNonUniformIAdd 177 PartitionedReduceNV 1368 1369
+ 1371: 136(ptr) AccessChain 37(data) 1366 135 40
+ Store 1371 1370
+ 1372: 6(int) Load 8(invocation)
+ 1373: 141(ptr) AccessChain 37(data) 45 135
+ 1374: 31(i64vec4) Load 1373
+ 1375:140(i64vec2) VectorShuffle 1374 1374 0 1
+ 1376: 17(ivec4) Load 19(ballot)
+ 1377:140(i64vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 1375 1376
+ 1378: 136(ptr) AccessChain 37(data) 1372 135 40
+ 1379: 30(int64_t) CompositeExtract 1377 0
+ Store 1378 1379
+ 1380: 136(ptr) AccessChain 37(data) 1372 135 188
+ 1381: 30(int64_t) CompositeExtract 1377 1
+ Store 1380 1381
+ 1382: 6(int) Load 8(invocation)
+ 1383: 141(ptr) AccessChain 37(data) 52 135
+ 1384: 31(i64vec4) Load 1383
+ 1385:146(i64vec3) VectorShuffle 1384 1384 0 1 2
+ 1386: 17(ivec4) Load 19(ballot)
+ 1387:146(i64vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 1385 1386
+ 1388: 136(ptr) AccessChain 37(data) 1382 135 40
+ 1389: 30(int64_t) CompositeExtract 1387 0
+ Store 1388 1389
+ 1390: 136(ptr) AccessChain 37(data) 1382 135 188
+ 1391: 30(int64_t) CompositeExtract 1387 1
+ Store 1390 1391
+ 1392: 136(ptr) AccessChain 37(data) 1382 135 201
+ 1393: 30(int64_t) CompositeExtract 1387 2
+ Store 1392 1393
+ 1394: 6(int) Load 8(invocation)
+ 1395: 141(ptr) AccessChain 37(data) 58 135
1396: 31(i64vec4) Load 1395
- 1397: 31(i64vec4) VectorShuffle 1396 1394 4 5 6 3
- Store 1395 1397
- 1398: 6(int) Load 8(invocation)
- 1399: 141(ptr) AccessChain 37(data) 58 135
- 1400: 31(i64vec4) Load 1399
- 1401: 17(ivec4) Load 19(ballot)
- 1402: 31(i64vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1400 1401
- 1403: 141(ptr) AccessChain 37(data) 1398 135
- Store 1403 1402
- 1404: 6(int) Load 8(invocation)
- 1405: 136(ptr) AccessChain 37(data) 39 135 40
- 1406: 30(int64_t) Load 1405
- 1407: 17(ivec4) Load 19(ballot)
- 1408: 30(int64_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1406 1407
- 1409: 136(ptr) AccessChain 37(data) 1404 135 40
- Store 1409 1408
- 1410: 6(int) Load 8(invocation)
- 1411: 141(ptr) AccessChain 37(data) 45 135
- 1412: 31(i64vec4) Load 1411
- 1413:140(i64vec2) VectorShuffle 1412 1412 0 1
- 1414: 17(ivec4) Load 19(ballot)
- 1415:140(i64vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1413 1414
- 1416: 141(ptr) AccessChain 37(data) 1410 135
- 1417: 31(i64vec4) Load 1416
- 1418: 31(i64vec4) VectorShuffle 1417 1415 4 5 2 3
- Store 1416 1418
- 1419: 6(int) Load 8(invocation)
- 1420: 141(ptr) AccessChain 37(data) 52 135
- 1421: 31(i64vec4) Load 1420
- 1422:146(i64vec3) VectorShuffle 1421 1421 0 1 2
- 1423: 17(ivec4) Load 19(ballot)
- 1424:146(i64vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1422 1423
- 1425: 141(ptr) AccessChain 37(data) 1419 135
- 1426: 31(i64vec4) Load 1425
- 1427: 31(i64vec4) VectorShuffle 1426 1424 4 5 6 3
- Store 1425 1427
+ 1397: 17(ivec4) Load 19(ballot)
+ 1398: 31(i64vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 1396 1397
+ 1399: 141(ptr) AccessChain 37(data) 1394 135
+ Store 1399 1398
+ 1400: 6(int) Load 8(invocation)
+ 1401: 136(ptr) AccessChain 37(data) 39 135 40
+ 1402: 30(int64_t) Load 1401
+ 1403: 17(ivec4) Load 19(ballot)
+ 1404: 30(int64_t) GroupNonUniformIMul 177 PartitionedReduceNV 1402 1403
+ 1405: 136(ptr) AccessChain 37(data) 1400 135 40
+ Store 1405 1404
+ 1406: 6(int) Load 8(invocation)
+ 1407: 141(ptr) AccessChain 37(data) 45 135
+ 1408: 31(i64vec4) Load 1407
+ 1409:140(i64vec2) VectorShuffle 1408 1408 0 1
+ 1410: 17(ivec4) Load 19(ballot)
+ 1411:140(i64vec2) GroupNonUniformIMul 177 PartitionedReduceNV 1409 1410
+ 1412: 136(ptr) AccessChain 37(data) 1406 135 40
+ 1413: 30(int64_t) CompositeExtract 1411 0
+ Store 1412 1413
+ 1414: 136(ptr) AccessChain 37(data) 1406 135 188
+ 1415: 30(int64_t) CompositeExtract 1411 1
+ Store 1414 1415
+ 1416: 6(int) Load 8(invocation)
+ 1417: 141(ptr) AccessChain 37(data) 52 135
+ 1418: 31(i64vec4) Load 1417
+ 1419:146(i64vec3) VectorShuffle 1418 1418 0 1 2
+ 1420: 17(ivec4) Load 19(ballot)
+ 1421:146(i64vec3) GroupNonUniformIMul 177 PartitionedReduceNV 1419 1420
+ 1422: 136(ptr) AccessChain 37(data) 1416 135 40
+ 1423: 30(int64_t) CompositeExtract 1421 0
+ Store 1422 1423
+ 1424: 136(ptr) AccessChain 37(data) 1416 135 188
+ 1425: 30(int64_t) CompositeExtract 1421 1
+ Store 1424 1425
+ 1426: 136(ptr) AccessChain 37(data) 1416 135 201
+ 1427: 30(int64_t) CompositeExtract 1421 2
+ Store 1426 1427
1428: 6(int) Load 8(invocation)
1429: 141(ptr) AccessChain 37(data) 58 135
1430: 31(i64vec4) Load 1429
1431: 17(ivec4) Load 19(ballot)
- 1432: 31(i64vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1430 1431
+ 1432: 31(i64vec4) GroupNonUniformIMul 177 PartitionedReduceNV 1430 1431
1433: 141(ptr) AccessChain 37(data) 1428 135
Store 1433 1432
1434: 6(int) Load 8(invocation)
- 1435: 155(ptr) AccessChain 37(data) 39 154 40
- 1436:32(float16_t) Load 1435
+ 1435: 136(ptr) AccessChain 37(data) 39 135 40
+ 1436: 30(int64_t) Load 1435
1437: 17(ivec4) Load 19(ballot)
- 1438:32(float16_t) GroupNonUniformFAdd 177 PartitionedReduceNV 1436 1437
- 1439: 155(ptr) AccessChain 37(data) 1434 154 40
+ 1438: 30(int64_t) GroupNonUniformUMin 177 PartitionedReduceNV 1436 1437
+ 1439: 136(ptr) AccessChain 37(data) 1434 135 40
Store 1439 1438
1440: 6(int) Load 8(invocation)
- 1441: 160(ptr) AccessChain 37(data) 45 154
- 1442: 33(f16vec4) Load 1441
- 1443:159(f16vec2) VectorShuffle 1442 1442 0 1
+ 1441: 141(ptr) AccessChain 37(data) 45 135
+ 1442: 31(i64vec4) Load 1441
+ 1443:140(i64vec2) VectorShuffle 1442 1442 0 1
1444: 17(ivec4) Load 19(ballot)
- 1445:159(f16vec2) GroupNonUniformFAdd 177 PartitionedReduceNV 1443 1444
- 1446: 160(ptr) AccessChain 37(data) 1440 154
- 1447: 33(f16vec4) Load 1446
- 1448: 33(f16vec4) VectorShuffle 1447 1445 4 5 2 3
- Store 1446 1448
- 1449: 6(int) Load 8(invocation)
- 1450: 160(ptr) AccessChain 37(data) 52 154
- 1451: 33(f16vec4) Load 1450
- 1452:165(f16vec3) VectorShuffle 1451 1451 0 1 2
- 1453: 17(ivec4) Load 19(ballot)
- 1454:165(f16vec3) GroupNonUniformFAdd 177 PartitionedReduceNV 1452 1453
- 1455: 160(ptr) AccessChain 37(data) 1449 154
- 1456: 33(f16vec4) Load 1455
- 1457: 33(f16vec4) VectorShuffle 1456 1454 4 5 6 3
- Store 1455 1457
- 1458: 6(int) Load 8(invocation)
- 1459: 160(ptr) AccessChain 37(data) 58 154
- 1460: 33(f16vec4) Load 1459
- 1461: 17(ivec4) Load 19(ballot)
- 1462: 33(f16vec4) GroupNonUniformFAdd 177 PartitionedReduceNV 1460 1461
- 1463: 160(ptr) AccessChain 37(data) 1458 154
- Store 1463 1462
- 1464: 6(int) Load 8(invocation)
- 1465: 155(ptr) AccessChain 37(data) 39 154 40
- 1466:32(float16_t) Load 1465
- 1467: 17(ivec4) Load 19(ballot)
- 1468:32(float16_t) GroupNonUniformFMul 177 PartitionedReduceNV 1466 1467
- 1469: 155(ptr) AccessChain 37(data) 1464 154 40
- Store 1469 1468
- 1470: 6(int) Load 8(invocation)
- 1471: 160(ptr) AccessChain 37(data) 45 154
- 1472: 33(f16vec4) Load 1471
- 1473:159(f16vec2) VectorShuffle 1472 1472 0 1
- 1474: 17(ivec4) Load 19(ballot)
- 1475:159(f16vec2) GroupNonUniformFMul 177 PartitionedReduceNV 1473 1474
- 1476: 160(ptr) AccessChain 37(data) 1470 154
- 1477: 33(f16vec4) Load 1476
- 1478: 33(f16vec4) VectorShuffle 1477 1475 4 5 2 3
- Store 1476 1478
- 1479: 6(int) Load 8(invocation)
- 1480: 160(ptr) AccessChain 37(data) 52 154
- 1481: 33(f16vec4) Load 1480
- 1482:165(f16vec3) VectorShuffle 1481 1481 0 1 2
- 1483: 17(ivec4) Load 19(ballot)
- 1484:165(f16vec3) GroupNonUniformFMul 177 PartitionedReduceNV 1482 1483
- 1485: 160(ptr) AccessChain 37(data) 1479 154
- 1486: 33(f16vec4) Load 1485
- 1487: 33(f16vec4) VectorShuffle 1486 1484 4 5 6 3
- Store 1485 1487
- 1488: 6(int) Load 8(invocation)
- 1489: 160(ptr) AccessChain 37(data) 58 154
- 1490: 33(f16vec4) Load 1489
- 1491: 17(ivec4) Load 19(ballot)
- 1492: 33(f16vec4) GroupNonUniformFMul 177 PartitionedReduceNV 1490 1491
- 1493: 160(ptr) AccessChain 37(data) 1488 154
- Store 1493 1492
- 1494: 6(int) Load 8(invocation)
- 1495: 155(ptr) AccessChain 37(data) 39 154 40
- 1496:32(float16_t) Load 1495
- 1497: 17(ivec4) Load 19(ballot)
- 1498:32(float16_t) GroupNonUniformFMin 177 PartitionedReduceNV 1496 1497
- 1499: 155(ptr) AccessChain 37(data) 1494 154 40
- Store 1499 1498
- 1500: 6(int) Load 8(invocation)
- 1501: 160(ptr) AccessChain 37(data) 45 154
- 1502: 33(f16vec4) Load 1501
- 1503:159(f16vec2) VectorShuffle 1502 1502 0 1
- 1504: 17(ivec4) Load 19(ballot)
- 1505:159(f16vec2) GroupNonUniformFMin 177 PartitionedReduceNV 1503 1504
- 1506: 160(ptr) AccessChain 37(data) 1500 154
- 1507: 33(f16vec4) Load 1506
- 1508: 33(f16vec4) VectorShuffle 1507 1505 4 5 2 3
- Store 1506 1508
- 1509: 6(int) Load 8(invocation)
- 1510: 160(ptr) AccessChain 37(data) 52 154
- 1511: 33(f16vec4) Load 1510
- 1512:165(f16vec3) VectorShuffle 1511 1511 0 1 2
- 1513: 17(ivec4) Load 19(ballot)
- 1514:165(f16vec3) GroupNonUniformFMin 177 PartitionedReduceNV 1512 1513
- 1515: 160(ptr) AccessChain 37(data) 1509 154
- 1516: 33(f16vec4) Load 1515
- 1517: 33(f16vec4) VectorShuffle 1516 1514 4 5 6 3
- Store 1515 1517
+ 1445:140(i64vec2) GroupNonUniformUMin 177 PartitionedReduceNV 1443 1444
+ 1446: 136(ptr) AccessChain 37(data) 1440 135 40
+ 1447: 30(int64_t) CompositeExtract 1445 0
+ Store 1446 1447
+ 1448: 136(ptr) AccessChain 37(data) 1440 135 188
+ 1449: 30(int64_t) CompositeExtract 1445 1
+ Store 1448 1449
+ 1450: 6(int) Load 8(invocation)
+ 1451: 141(ptr) AccessChain 37(data) 52 135
+ 1452: 31(i64vec4) Load 1451
+ 1453:146(i64vec3) VectorShuffle 1452 1452 0 1 2
+ 1454: 17(ivec4) Load 19(ballot)
+ 1455:146(i64vec3) GroupNonUniformUMin 177 PartitionedReduceNV 1453 1454
+ 1456: 136(ptr) AccessChain 37(data) 1450 135 40
+ 1457: 30(int64_t) CompositeExtract 1455 0
+ Store 1456 1457
+ 1458: 136(ptr) AccessChain 37(data) 1450 135 188
+ 1459: 30(int64_t) CompositeExtract 1455 1
+ Store 1458 1459
+ 1460: 136(ptr) AccessChain 37(data) 1450 135 201
+ 1461: 30(int64_t) CompositeExtract 1455 2
+ Store 1460 1461
+ 1462: 6(int) Load 8(invocation)
+ 1463: 141(ptr) AccessChain 37(data) 58 135
+ 1464: 31(i64vec4) Load 1463
+ 1465: 17(ivec4) Load 19(ballot)
+ 1466: 31(i64vec4) GroupNonUniformUMin 177 PartitionedReduceNV 1464 1465
+ 1467: 141(ptr) AccessChain 37(data) 1462 135
+ Store 1467 1466
+ 1468: 6(int) Load 8(invocation)
+ 1469: 136(ptr) AccessChain 37(data) 39 135 40
+ 1470: 30(int64_t) Load 1469
+ 1471: 17(ivec4) Load 19(ballot)
+ 1472: 30(int64_t) GroupNonUniformUMax 177 PartitionedReduceNV 1470 1471
+ 1473: 136(ptr) AccessChain 37(data) 1468 135 40
+ Store 1473 1472
+ 1474: 6(int) Load 8(invocation)
+ 1475: 141(ptr) AccessChain 37(data) 45 135
+ 1476: 31(i64vec4) Load 1475
+ 1477:140(i64vec2) VectorShuffle 1476 1476 0 1
+ 1478: 17(ivec4) Load 19(ballot)
+ 1479:140(i64vec2) GroupNonUniformUMax 177 PartitionedReduceNV 1477 1478
+ 1480: 136(ptr) AccessChain 37(data) 1474 135 40
+ 1481: 30(int64_t) CompositeExtract 1479 0
+ Store 1480 1481
+ 1482: 136(ptr) AccessChain 37(data) 1474 135 188
+ 1483: 30(int64_t) CompositeExtract 1479 1
+ Store 1482 1483
+ 1484: 6(int) Load 8(invocation)
+ 1485: 141(ptr) AccessChain 37(data) 52 135
+ 1486: 31(i64vec4) Load 1485
+ 1487:146(i64vec3) VectorShuffle 1486 1486 0 1 2
+ 1488: 17(ivec4) Load 19(ballot)
+ 1489:146(i64vec3) GroupNonUniformUMax 177 PartitionedReduceNV 1487 1488
+ 1490: 136(ptr) AccessChain 37(data) 1484 135 40
+ 1491: 30(int64_t) CompositeExtract 1489 0
+ Store 1490 1491
+ 1492: 136(ptr) AccessChain 37(data) 1484 135 188
+ 1493: 30(int64_t) CompositeExtract 1489 1
+ Store 1492 1493
+ 1494: 136(ptr) AccessChain 37(data) 1484 135 201
+ 1495: 30(int64_t) CompositeExtract 1489 2
+ Store 1494 1495
+ 1496: 6(int) Load 8(invocation)
+ 1497: 141(ptr) AccessChain 37(data) 58 135
+ 1498: 31(i64vec4) Load 1497
+ 1499: 17(ivec4) Load 19(ballot)
+ 1500: 31(i64vec4) GroupNonUniformUMax 177 PartitionedReduceNV 1498 1499
+ 1501: 141(ptr) AccessChain 37(data) 1496 135
+ Store 1501 1500
+ 1502: 6(int) Load 8(invocation)
+ 1503: 136(ptr) AccessChain 37(data) 39 135 40
+ 1504: 30(int64_t) Load 1503
+ 1505: 17(ivec4) Load 19(ballot)
+ 1506: 30(int64_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1504 1505
+ 1507: 136(ptr) AccessChain 37(data) 1502 135 40
+ Store 1507 1506
+ 1508: 6(int) Load 8(invocation)
+ 1509: 141(ptr) AccessChain 37(data) 45 135
+ 1510: 31(i64vec4) Load 1509
+ 1511:140(i64vec2) VectorShuffle 1510 1510 0 1
+ 1512: 17(ivec4) Load 19(ballot)
+ 1513:140(i64vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1511 1512
+ 1514: 136(ptr) AccessChain 37(data) 1508 135 40
+ 1515: 30(int64_t) CompositeExtract 1513 0
+ Store 1514 1515
+ 1516: 136(ptr) AccessChain 37(data) 1508 135 188
+ 1517: 30(int64_t) CompositeExtract 1513 1
+ Store 1516 1517
1518: 6(int) Load 8(invocation)
- 1519: 160(ptr) AccessChain 37(data) 58 154
- 1520: 33(f16vec4) Load 1519
- 1521: 17(ivec4) Load 19(ballot)
- 1522: 33(f16vec4) GroupNonUniformFMin 177 PartitionedReduceNV 1520 1521
- 1523: 160(ptr) AccessChain 37(data) 1518 154
- Store 1523 1522
- 1524: 6(int) Load 8(invocation)
- 1525: 155(ptr) AccessChain 37(data) 39 154 40
- 1526:32(float16_t) Load 1525
- 1527: 17(ivec4) Load 19(ballot)
- 1528:32(float16_t) GroupNonUniformFMax 177 PartitionedReduceNV 1526 1527
- 1529: 155(ptr) AccessChain 37(data) 1524 154 40
- Store 1529 1528
+ 1519: 141(ptr) AccessChain 37(data) 52 135
+ 1520: 31(i64vec4) Load 1519
+ 1521:146(i64vec3) VectorShuffle 1520 1520 0 1 2
+ 1522: 17(ivec4) Load 19(ballot)
+ 1523:146(i64vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1521 1522
+ 1524: 136(ptr) AccessChain 37(data) 1518 135 40
+ 1525: 30(int64_t) CompositeExtract 1523 0
+ Store 1524 1525
+ 1526: 136(ptr) AccessChain 37(data) 1518 135 188
+ 1527: 30(int64_t) CompositeExtract 1523 1
+ Store 1526 1527
+ 1528: 136(ptr) AccessChain 37(data) 1518 135 201
+ 1529: 30(int64_t) CompositeExtract 1523 2
+ Store 1528 1529
1530: 6(int) Load 8(invocation)
- 1531: 160(ptr) AccessChain 37(data) 45 154
- 1532: 33(f16vec4) Load 1531
- 1533:159(f16vec2) VectorShuffle 1532 1532 0 1
- 1534: 17(ivec4) Load 19(ballot)
- 1535:159(f16vec2) GroupNonUniformFMax 177 PartitionedReduceNV 1533 1534
- 1536: 160(ptr) AccessChain 37(data) 1530 154
- 1537: 33(f16vec4) Load 1536
- 1538: 33(f16vec4) VectorShuffle 1537 1535 4 5 2 3
- Store 1536 1538
- 1539: 6(int) Load 8(invocation)
- 1540: 160(ptr) AccessChain 37(data) 52 154
- 1541: 33(f16vec4) Load 1540
- 1542:165(f16vec3) VectorShuffle 1541 1541 0 1 2
- 1543: 17(ivec4) Load 19(ballot)
- 1544:165(f16vec3) GroupNonUniformFMax 177 PartitionedReduceNV 1542 1543
- 1545: 160(ptr) AccessChain 37(data) 1539 154
- 1546: 33(f16vec4) Load 1545
- 1547: 33(f16vec4) VectorShuffle 1546 1544 4 5 6 3
- Store 1545 1547
- 1548: 6(int) Load 8(invocation)
- 1549: 160(ptr) AccessChain 37(data) 58 154
- 1550: 33(f16vec4) Load 1549
- 1551: 17(ivec4) Load 19(ballot)
- 1552: 33(f16vec4) GroupNonUniformFMax 177 PartitionedReduceNV 1550 1551
- 1553: 160(ptr) AccessChain 37(data) 1548 154
- Store 1553 1552
+ 1531: 141(ptr) AccessChain 37(data) 58 135
+ 1532: 31(i64vec4) Load 1531
+ 1533: 17(ivec4) Load 19(ballot)
+ 1534: 31(i64vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1532 1533
+ 1535: 141(ptr) AccessChain 37(data) 1530 135
+ Store 1535 1534
+ 1536: 6(int) Load 8(invocation)
+ 1537: 136(ptr) AccessChain 37(data) 39 135 40
+ 1538: 30(int64_t) Load 1537
+ 1539: 17(ivec4) Load 19(ballot)
+ 1540: 30(int64_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1538 1539
+ 1541: 136(ptr) AccessChain 37(data) 1536 135 40
+ Store 1541 1540
+ 1542: 6(int) Load 8(invocation)
+ 1543: 141(ptr) AccessChain 37(data) 45 135
+ 1544: 31(i64vec4) Load 1543
+ 1545:140(i64vec2) VectorShuffle 1544 1544 0 1
+ 1546: 17(ivec4) Load 19(ballot)
+ 1547:140(i64vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1545 1546
+ 1548: 136(ptr) AccessChain 37(data) 1542 135 40
+ 1549: 30(int64_t) CompositeExtract 1547 0
+ Store 1548 1549
+ 1550: 136(ptr) AccessChain 37(data) 1542 135 188
+ 1551: 30(int64_t) CompositeExtract 1547 1
+ Store 1550 1551
+ 1552: 6(int) Load 8(invocation)
+ 1553: 141(ptr) AccessChain 37(data) 52 135
+ 1554: 31(i64vec4) Load 1553
+ 1555:146(i64vec3) VectorShuffle 1554 1554 0 1 2
+ 1556: 17(ivec4) Load 19(ballot)
+ 1557:146(i64vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1555 1556
+ 1558: 136(ptr) AccessChain 37(data) 1552 135 40
+ 1559: 30(int64_t) CompositeExtract 1557 0
+ Store 1558 1559
+ 1560: 136(ptr) AccessChain 37(data) 1552 135 188
+ 1561: 30(int64_t) CompositeExtract 1557 1
+ Store 1560 1561
+ 1562: 136(ptr) AccessChain 37(data) 1552 135 201
+ 1563: 30(int64_t) CompositeExtract 1557 2
+ Store 1562 1563
+ 1564: 6(int) Load 8(invocation)
+ 1565: 141(ptr) AccessChain 37(data) 58 135
+ 1566: 31(i64vec4) Load 1565
+ 1567: 17(ivec4) Load 19(ballot)
+ 1568: 31(i64vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1566 1567
+ 1569: 141(ptr) AccessChain 37(data) 1564 135
+ Store 1569 1568
+ 1570: 6(int) Load 8(invocation)
+ 1571: 136(ptr) AccessChain 37(data) 39 135 40
+ 1572: 30(int64_t) Load 1571
+ 1573: 17(ivec4) Load 19(ballot)
+ 1574: 30(int64_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1572 1573
+ 1575: 136(ptr) AccessChain 37(data) 1570 135 40
+ Store 1575 1574
+ 1576: 6(int) Load 8(invocation)
+ 1577: 141(ptr) AccessChain 37(data) 45 135
+ 1578: 31(i64vec4) Load 1577
+ 1579:140(i64vec2) VectorShuffle 1578 1578 0 1
+ 1580: 17(ivec4) Load 19(ballot)
+ 1581:140(i64vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1579 1580
+ 1582: 136(ptr) AccessChain 37(data) 1576 135 40
+ 1583: 30(int64_t) CompositeExtract 1581 0
+ Store 1582 1583
+ 1584: 136(ptr) AccessChain 37(data) 1576 135 188
+ 1585: 30(int64_t) CompositeExtract 1581 1
+ Store 1584 1585
+ 1586: 6(int) Load 8(invocation)
+ 1587: 141(ptr) AccessChain 37(data) 52 135
+ 1588: 31(i64vec4) Load 1587
+ 1589:146(i64vec3) VectorShuffle 1588 1588 0 1 2
+ 1590: 17(ivec4) Load 19(ballot)
+ 1591:146(i64vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1589 1590
+ 1592: 136(ptr) AccessChain 37(data) 1586 135 40
+ 1593: 30(int64_t) CompositeExtract 1591 0
+ Store 1592 1593
+ 1594: 136(ptr) AccessChain 37(data) 1586 135 188
+ 1595: 30(int64_t) CompositeExtract 1591 1
+ Store 1594 1595
+ 1596: 136(ptr) AccessChain 37(data) 1586 135 201
+ 1597: 30(int64_t) CompositeExtract 1591 2
+ Store 1596 1597
+ 1598: 6(int) Load 8(invocation)
+ 1599: 141(ptr) AccessChain 37(data) 58 135
+ 1600: 31(i64vec4) Load 1599
+ 1601: 17(ivec4) Load 19(ballot)
+ 1602: 31(i64vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1600 1601
+ 1603: 141(ptr) AccessChain 37(data) 1598 135
+ Store 1603 1602
+ 1604: 6(int) Load 8(invocation)
+ 1605: 155(ptr) AccessChain 37(data) 39 154 40
+ 1606:32(float16_t) Load 1605
+ 1607: 17(ivec4) Load 19(ballot)
+ 1608:32(float16_t) GroupNonUniformFAdd 177 PartitionedReduceNV 1606 1607
+ 1609: 155(ptr) AccessChain 37(data) 1604 154 40
+ Store 1609 1608
+ 1610: 6(int) Load 8(invocation)
+ 1611: 160(ptr) AccessChain 37(data) 45 154
+ 1612: 33(f16vec4) Load 1611
+ 1613:159(f16vec2) VectorShuffle 1612 1612 0 1
+ 1614: 17(ivec4) Load 19(ballot)
+ 1615:159(f16vec2) GroupNonUniformFAdd 177 PartitionedReduceNV 1613 1614
+ 1616: 155(ptr) AccessChain 37(data) 1610 154 40
+ 1617:32(float16_t) CompositeExtract 1615 0
+ Store 1616 1617
+ 1618: 155(ptr) AccessChain 37(data) 1610 154 188
+ 1619:32(float16_t) CompositeExtract 1615 1
+ Store 1618 1619
+ 1620: 6(int) Load 8(invocation)
+ 1621: 160(ptr) AccessChain 37(data) 52 154
+ 1622: 33(f16vec4) Load 1621
+ 1623:165(f16vec3) VectorShuffle 1622 1622 0 1 2
+ 1624: 17(ivec4) Load 19(ballot)
+ 1625:165(f16vec3) GroupNonUniformFAdd 177 PartitionedReduceNV 1623 1624
+ 1626: 155(ptr) AccessChain 37(data) 1620 154 40
+ 1627:32(float16_t) CompositeExtract 1625 0
+ Store 1626 1627
+ 1628: 155(ptr) AccessChain 37(data) 1620 154 188
+ 1629:32(float16_t) CompositeExtract 1625 1
+ Store 1628 1629
+ 1630: 155(ptr) AccessChain 37(data) 1620 154 201
+ 1631:32(float16_t) CompositeExtract 1625 2
+ Store 1630 1631
+ 1632: 6(int) Load 8(invocation)
+ 1633: 160(ptr) AccessChain 37(data) 58 154
+ 1634: 33(f16vec4) Load 1633
+ 1635: 17(ivec4) Load 19(ballot)
+ 1636: 33(f16vec4) GroupNonUniformFAdd 177 PartitionedReduceNV 1634 1635
+ 1637: 160(ptr) AccessChain 37(data) 1632 154
+ Store 1637 1636
+ 1638: 6(int) Load 8(invocation)
+ 1639: 155(ptr) AccessChain 37(data) 39 154 40
+ 1640:32(float16_t) Load 1639
+ 1641: 17(ivec4) Load 19(ballot)
+ 1642:32(float16_t) GroupNonUniformFMul 177 PartitionedReduceNV 1640 1641
+ 1643: 155(ptr) AccessChain 37(data) 1638 154 40
+ Store 1643 1642
+ 1644: 6(int) Load 8(invocation)
+ 1645: 160(ptr) AccessChain 37(data) 45 154
+ 1646: 33(f16vec4) Load 1645
+ 1647:159(f16vec2) VectorShuffle 1646 1646 0 1
+ 1648: 17(ivec4) Load 19(ballot)
+ 1649:159(f16vec2) GroupNonUniformFMul 177 PartitionedReduceNV 1647 1648
+ 1650: 155(ptr) AccessChain 37(data) 1644 154 40
+ 1651:32(float16_t) CompositeExtract 1649 0
+ Store 1650 1651
+ 1652: 155(ptr) AccessChain 37(data) 1644 154 188
+ 1653:32(float16_t) CompositeExtract 1649 1
+ Store 1652 1653
+ 1654: 6(int) Load 8(invocation)
+ 1655: 160(ptr) AccessChain 37(data) 52 154
+ 1656: 33(f16vec4) Load 1655
+ 1657:165(f16vec3) VectorShuffle 1656 1656 0 1 2
+ 1658: 17(ivec4) Load 19(ballot)
+ 1659:165(f16vec3) GroupNonUniformFMul 177 PartitionedReduceNV 1657 1658
+ 1660: 155(ptr) AccessChain 37(data) 1654 154 40
+ 1661:32(float16_t) CompositeExtract 1659 0
+ Store 1660 1661
+ 1662: 155(ptr) AccessChain 37(data) 1654 154 188
+ 1663:32(float16_t) CompositeExtract 1659 1
+ Store 1662 1663
+ 1664: 155(ptr) AccessChain 37(data) 1654 154 201
+ 1665:32(float16_t) CompositeExtract 1659 2
+ Store 1664 1665
+ 1666: 6(int) Load 8(invocation)
+ 1667: 160(ptr) AccessChain 37(data) 58 154
+ 1668: 33(f16vec4) Load 1667
+ 1669: 17(ivec4) Load 19(ballot)
+ 1670: 33(f16vec4) GroupNonUniformFMul 177 PartitionedReduceNV 1668 1669
+ 1671: 160(ptr) AccessChain 37(data) 1666 154
+ Store 1671 1670
+ 1672: 6(int) Load 8(invocation)
+ 1673: 155(ptr) AccessChain 37(data) 39 154 40
+ 1674:32(float16_t) Load 1673
+ 1675: 17(ivec4) Load 19(ballot)
+ 1676:32(float16_t) GroupNonUniformFMin 177 PartitionedReduceNV 1674 1675
+ 1677: 155(ptr) AccessChain 37(data) 1672 154 40
+ Store 1677 1676
+ 1678: 6(int) Load 8(invocation)
+ 1679: 160(ptr) AccessChain 37(data) 45 154
+ 1680: 33(f16vec4) Load 1679
+ 1681:159(f16vec2) VectorShuffle 1680 1680 0 1
+ 1682: 17(ivec4) Load 19(ballot)
+ 1683:159(f16vec2) GroupNonUniformFMin 177 PartitionedReduceNV 1681 1682
+ 1684: 155(ptr) AccessChain 37(data) 1678 154 40
+ 1685:32(float16_t) CompositeExtract 1683 0
+ Store 1684 1685
+ 1686: 155(ptr) AccessChain 37(data) 1678 154 188
+ 1687:32(float16_t) CompositeExtract 1683 1
+ Store 1686 1687
+ 1688: 6(int) Load 8(invocation)
+ 1689: 160(ptr) AccessChain 37(data) 52 154
+ 1690: 33(f16vec4) Load 1689
+ 1691:165(f16vec3) VectorShuffle 1690 1690 0 1 2
+ 1692: 17(ivec4) Load 19(ballot)
+ 1693:165(f16vec3) GroupNonUniformFMin 177 PartitionedReduceNV 1691 1692
+ 1694: 155(ptr) AccessChain 37(data) 1688 154 40
+ 1695:32(float16_t) CompositeExtract 1693 0
+ Store 1694 1695
+ 1696: 155(ptr) AccessChain 37(data) 1688 154 188
+ 1697:32(float16_t) CompositeExtract 1693 1
+ Store 1696 1697
+ 1698: 155(ptr) AccessChain 37(data) 1688 154 201
+ 1699:32(float16_t) CompositeExtract 1693 2
+ Store 1698 1699
+ 1700: 6(int) Load 8(invocation)
+ 1701: 160(ptr) AccessChain 37(data) 58 154
+ 1702: 33(f16vec4) Load 1701
+ 1703: 17(ivec4) Load 19(ballot)
+ 1704: 33(f16vec4) GroupNonUniformFMin 177 PartitionedReduceNV 1702 1703
+ 1705: 160(ptr) AccessChain 37(data) 1700 154
+ Store 1705 1704
+ 1706: 6(int) Load 8(invocation)
+ 1707: 155(ptr) AccessChain 37(data) 39 154 40
+ 1708:32(float16_t) Load 1707
+ 1709: 17(ivec4) Load 19(ballot)
+ 1710:32(float16_t) GroupNonUniformFMax 177 PartitionedReduceNV 1708 1709
+ 1711: 155(ptr) AccessChain 37(data) 1706 154 40
+ Store 1711 1710
+ 1712: 6(int) Load 8(invocation)
+ 1713: 160(ptr) AccessChain 37(data) 45 154
+ 1714: 33(f16vec4) Load 1713
+ 1715:159(f16vec2) VectorShuffle 1714 1714 0 1
+ 1716: 17(ivec4) Load 19(ballot)
+ 1717:159(f16vec2) GroupNonUniformFMax 177 PartitionedReduceNV 1715 1716
+ 1718: 155(ptr) AccessChain 37(data) 1712 154 40
+ 1719:32(float16_t) CompositeExtract 1717 0
+ Store 1718 1719
+ 1720: 155(ptr) AccessChain 37(data) 1712 154 188
+ 1721:32(float16_t) CompositeExtract 1717 1
+ Store 1720 1721
+ 1722: 6(int) Load 8(invocation)
+ 1723: 160(ptr) AccessChain 37(data) 52 154
+ 1724: 33(f16vec4) Load 1723
+ 1725:165(f16vec3) VectorShuffle 1724 1724 0 1 2
+ 1726: 17(ivec4) Load 19(ballot)
+ 1727:165(f16vec3) GroupNonUniformFMax 177 PartitionedReduceNV 1725 1726
+ 1728: 155(ptr) AccessChain 37(data) 1722 154 40
+ 1729:32(float16_t) CompositeExtract 1727 0
+ Store 1728 1729
+ 1730: 155(ptr) AccessChain 37(data) 1722 154 188
+ 1731:32(float16_t) CompositeExtract 1727 1
+ Store 1730 1731
+ 1732: 155(ptr) AccessChain 37(data) 1722 154 201
+ 1733:32(float16_t) CompositeExtract 1727 2
+ Store 1732 1733
+ 1734: 6(int) Load 8(invocation)
+ 1735: 160(ptr) AccessChain 37(data) 58 154
+ 1736: 33(f16vec4) Load 1735
+ 1737: 17(ivec4) Load 19(ballot)
+ 1738: 33(f16vec4) GroupNonUniformFMax 177 PartitionedReduceNV 1736 1737
+ 1739: 160(ptr) AccessChain 37(data) 1734 154
+ Store 1739 1738
Return
FunctionEnd
diff --git a/Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out b/Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out
index beec1ac..f385545 100644
--- a/Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out
+++ b/Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out
@@ -1,7 +1,7 @@
spv.subgroupExtendedTypesQuad.comp
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 806
+// Id's are bound by 918
Capability Shader
Capability Float16
@@ -59,7 +59,7 @@
Decorate 31(Buffers) Block
Decorate 34(data) DescriptorSet 0
Decorate 34(data) Binding 0
- Decorate 805 BuiltIn WorkgroupSize
+ Decorate 917 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -95,40 +95,40 @@
47: 36(int) Constant 1
48: TypeVector 17(int8_t) 2
49: TypePointer StorageBuffer 18(i8vec4)
- 58: 36(int) Constant 2
- 59: TypeVector 17(int8_t) 3
- 68: 36(int) Constant 3
- 128: 6(int) Constant 2
- 153: TypePointer StorageBuffer 19(int8_t)
- 159: TypeVector 19(int8_t) 2
- 160: TypePointer StorageBuffer 20(i8vec4)
- 169: TypeVector 19(int8_t) 3
- 261: TypePointer StorageBuffer 21(int16_t)
- 267: TypeVector 21(int16_t) 2
- 268: TypePointer StorageBuffer 22(i16vec4)
- 277: TypeVector 21(int16_t) 3
- 369: TypePointer StorageBuffer 23(int16_t)
- 375: TypeVector 23(int16_t) 2
- 376: TypePointer StorageBuffer 24(i16vec4)
- 385: TypeVector 23(int16_t) 3
- 477: 36(int) Constant 4
- 478: TypePointer StorageBuffer 25(int64_t)
- 484: TypeVector 25(int64_t) 2
- 485: TypePointer StorageBuffer 26(i64vec4)
- 494: TypeVector 25(int64_t) 3
- 586: 36(int) Constant 5
- 587: TypePointer StorageBuffer 27(int64_t)
- 593: TypeVector 27(int64_t) 2
- 594: TypePointer StorageBuffer 28(i64vec4)
- 603: TypeVector 27(int64_t) 3
- 695: 36(int) Constant 6
- 696: TypePointer StorageBuffer 29(float16_t)
- 702: TypeVector 29(float16_t) 2
- 703: TypePointer StorageBuffer 30(f16vec4)
- 712: TypeVector 29(float16_t) 3
- 803: TypeVector 6(int) 3
- 804: 6(int) Constant 8
- 805: 803(ivec3) ConstantComposite 804 42 42
+ 59: 36(int) Constant 2
+ 60: TypeVector 17(int8_t) 3
+ 69: 6(int) Constant 2
+ 73: 36(int) Constant 3
+ 169: TypePointer StorageBuffer 19(int8_t)
+ 175: TypeVector 19(int8_t) 2
+ 176: TypePointer StorageBuffer 20(i8vec4)
+ 186: TypeVector 19(int8_t) 3
+ 293: TypePointer StorageBuffer 21(int16_t)
+ 299: TypeVector 21(int16_t) 2
+ 300: TypePointer StorageBuffer 22(i16vec4)
+ 310: TypeVector 21(int16_t) 3
+ 417: TypePointer StorageBuffer 23(int16_t)
+ 423: TypeVector 23(int16_t) 2
+ 424: TypePointer StorageBuffer 24(i16vec4)
+ 434: TypeVector 23(int16_t) 3
+ 541: 36(int) Constant 4
+ 542: TypePointer StorageBuffer 25(int64_t)
+ 548: TypeVector 25(int64_t) 2
+ 549: TypePointer StorageBuffer 26(i64vec4)
+ 559: TypeVector 25(int64_t) 3
+ 666: 36(int) Constant 5
+ 667: TypePointer StorageBuffer 27(int64_t)
+ 673: TypeVector 27(int64_t) 2
+ 674: TypePointer StorageBuffer 28(i64vec4)
+ 684: TypeVector 27(int64_t) 3
+ 791: 36(int) Constant 6
+ 792: TypePointer StorageBuffer 29(float16_t)
+ 798: TypeVector 29(float16_t) 2
+ 799: TypePointer StorageBuffer 30(f16vec4)
+ 809: TypeVector 29(float16_t) 3
+ 915: TypeVector 6(int) 3
+ 916: 6(int) Constant 8
+ 917: 915(ivec3) ConstantComposite 916 42 42
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@@ -148,834 +148,1030 @@
51: 18(i8vec4) Load 50
52: 48(i8vec2) VectorShuffle 51 51 0 1
53: 48(i8vec2) GroupNonUniformQuadBroadcast 43 52 42
- 54: 49(ptr) AccessChain 34(data) 46 37
- 55: 18(i8vec4) Load 54
- 56: 18(i8vec4) VectorShuffle 55 53 4 5 2 3
- Store 54 56
- 57: 6(int) Load 8(invocation)
- 60: 49(ptr) AccessChain 34(data) 58 37
- 61: 18(i8vec4) Load 60
- 62: 59(i8vec3) VectorShuffle 61 61 0 1 2
- 63: 59(i8vec3) GroupNonUniformQuadBroadcast 43 62 42
- 64: 49(ptr) AccessChain 34(data) 57 37
- 65: 18(i8vec4) Load 64
- 66: 18(i8vec4) VectorShuffle 65 63 4 5 6 3
- Store 64 66
- 67: 6(int) Load 8(invocation)
- 69: 49(ptr) AccessChain 34(data) 68 37
- 70: 18(i8vec4) Load 69
- 71: 18(i8vec4) GroupNonUniformQuadBroadcast 43 70 42
- 72: 49(ptr) AccessChain 34(data) 67 37
- Store 72 71
- 73: 6(int) Load 8(invocation)
- 74: 39(ptr) AccessChain 34(data) 37 37 38
- 75: 17(int8_t) Load 74
- 76: 17(int8_t) GroupNonUniformQuadSwap 43 75 38
- 77: 39(ptr) AccessChain 34(data) 73 37 38
+ 54: 39(ptr) AccessChain 34(data) 46 37 38
+ 55: 17(int8_t) CompositeExtract 53 0
+ Store 54 55
+ 56: 39(ptr) AccessChain 34(data) 46 37 42
+ 57: 17(int8_t) CompositeExtract 53 1
+ Store 56 57
+ 58: 6(int) Load 8(invocation)
+ 61: 49(ptr) AccessChain 34(data) 59 37
+ 62: 18(i8vec4) Load 61
+ 63: 60(i8vec3) VectorShuffle 62 62 0 1 2
+ 64: 60(i8vec3) GroupNonUniformQuadBroadcast 43 63 42
+ 65: 39(ptr) AccessChain 34(data) 58 37 38
+ 66: 17(int8_t) CompositeExtract 64 0
+ Store 65 66
+ 67: 39(ptr) AccessChain 34(data) 58 37 42
+ 68: 17(int8_t) CompositeExtract 64 1
+ Store 67 68
+ 70: 39(ptr) AccessChain 34(data) 58 37 69
+ 71: 17(int8_t) CompositeExtract 64 2
+ Store 70 71
+ 72: 6(int) Load 8(invocation)
+ 74: 49(ptr) AccessChain 34(data) 73 37
+ 75: 18(i8vec4) Load 74
+ 76: 18(i8vec4) GroupNonUniformQuadBroadcast 43 75 42
+ 77: 49(ptr) AccessChain 34(data) 72 37
Store 77 76
78: 6(int) Load 8(invocation)
- 79: 49(ptr) AccessChain 34(data) 47 37
- 80: 18(i8vec4) Load 79
- 81: 48(i8vec2) VectorShuffle 80 80 0 1
- 82: 48(i8vec2) GroupNonUniformQuadSwap 43 81 38
- 83: 49(ptr) AccessChain 34(data) 78 37
- 84: 18(i8vec4) Load 83
- 85: 18(i8vec4) VectorShuffle 84 82 4 5 2 3
- Store 83 85
- 86: 6(int) Load 8(invocation)
- 87: 49(ptr) AccessChain 34(data) 58 37
- 88: 18(i8vec4) Load 87
- 89: 59(i8vec3) VectorShuffle 88 88 0 1 2
- 90: 59(i8vec3) GroupNonUniformQuadSwap 43 89 38
- 91: 49(ptr) AccessChain 34(data) 86 37
- 92: 18(i8vec4) Load 91
- 93: 18(i8vec4) VectorShuffle 92 90 4 5 6 3
- Store 91 93
- 94: 6(int) Load 8(invocation)
- 95: 49(ptr) AccessChain 34(data) 68 37
- 96: 18(i8vec4) Load 95
- 97: 18(i8vec4) GroupNonUniformQuadSwap 43 96 38
- 98: 49(ptr) AccessChain 34(data) 94 37
- Store 98 97
- 99: 6(int) Load 8(invocation)
- 100: 39(ptr) AccessChain 34(data) 37 37 38
- 101: 17(int8_t) Load 100
- 102: 17(int8_t) GroupNonUniformQuadSwap 43 101 42
- 103: 39(ptr) AccessChain 34(data) 99 37 38
- Store 103 102
- 104: 6(int) Load 8(invocation)
- 105: 49(ptr) AccessChain 34(data) 47 37
- 106: 18(i8vec4) Load 105
- 107: 48(i8vec2) VectorShuffle 106 106 0 1
- 108: 48(i8vec2) GroupNonUniformQuadSwap 43 107 42
- 109: 49(ptr) AccessChain 34(data) 104 37
- 110: 18(i8vec4) Load 109
- 111: 18(i8vec4) VectorShuffle 110 108 4 5 2 3
- Store 109 111
- 112: 6(int) Load 8(invocation)
- 113: 49(ptr) AccessChain 34(data) 58 37
- 114: 18(i8vec4) Load 113
- 115: 59(i8vec3) VectorShuffle 114 114 0 1 2
- 116: 59(i8vec3) GroupNonUniformQuadSwap 43 115 42
- 117: 49(ptr) AccessChain 34(data) 112 37
- 118: 18(i8vec4) Load 117
- 119: 18(i8vec4) VectorShuffle 118 116 4 5 6 3
- Store 117 119
- 120: 6(int) Load 8(invocation)
- 121: 49(ptr) AccessChain 34(data) 68 37
- 122: 18(i8vec4) Load 121
- 123: 18(i8vec4) GroupNonUniformQuadSwap 43 122 42
- 124: 49(ptr) AccessChain 34(data) 120 37
- Store 124 123
- 125: 6(int) Load 8(invocation)
- 126: 39(ptr) AccessChain 34(data) 37 37 38
- 127: 17(int8_t) Load 126
- 129: 17(int8_t) GroupNonUniformQuadSwap 43 127 128
- 130: 39(ptr) AccessChain 34(data) 125 37 38
- Store 130 129
- 131: 6(int) Load 8(invocation)
- 132: 49(ptr) AccessChain 34(data) 47 37
- 133: 18(i8vec4) Load 132
- 134: 48(i8vec2) VectorShuffle 133 133 0 1
- 135: 48(i8vec2) GroupNonUniformQuadSwap 43 134 128
- 136: 49(ptr) AccessChain 34(data) 131 37
- 137: 18(i8vec4) Load 136
- 138: 18(i8vec4) VectorShuffle 137 135 4 5 2 3
- Store 136 138
- 139: 6(int) Load 8(invocation)
- 140: 49(ptr) AccessChain 34(data) 58 37
- 141: 18(i8vec4) Load 140
- 142: 59(i8vec3) VectorShuffle 141 141 0 1 2
- 143: 59(i8vec3) GroupNonUniformQuadSwap 43 142 128
- 144: 49(ptr) AccessChain 34(data) 139 37
+ 79: 39(ptr) AccessChain 34(data) 37 37 38
+ 80: 17(int8_t) Load 79
+ 81: 17(int8_t) GroupNonUniformQuadSwap 43 80 38
+ 82: 39(ptr) AccessChain 34(data) 78 37 38
+ Store 82 81
+ 83: 6(int) Load 8(invocation)
+ 84: 49(ptr) AccessChain 34(data) 47 37
+ 85: 18(i8vec4) Load 84
+ 86: 48(i8vec2) VectorShuffle 85 85 0 1
+ 87: 48(i8vec2) GroupNonUniformQuadSwap 43 86 38
+ 88: 39(ptr) AccessChain 34(data) 83 37 38
+ 89: 17(int8_t) CompositeExtract 87 0
+ Store 88 89
+ 90: 39(ptr) AccessChain 34(data) 83 37 42
+ 91: 17(int8_t) CompositeExtract 87 1
+ Store 90 91
+ 92: 6(int) Load 8(invocation)
+ 93: 49(ptr) AccessChain 34(data) 59 37
+ 94: 18(i8vec4) Load 93
+ 95: 60(i8vec3) VectorShuffle 94 94 0 1 2
+ 96: 60(i8vec3) GroupNonUniformQuadSwap 43 95 38
+ 97: 39(ptr) AccessChain 34(data) 92 37 38
+ 98: 17(int8_t) CompositeExtract 96 0
+ Store 97 98
+ 99: 39(ptr) AccessChain 34(data) 92 37 42
+ 100: 17(int8_t) CompositeExtract 96 1
+ Store 99 100
+ 101: 39(ptr) AccessChain 34(data) 92 37 69
+ 102: 17(int8_t) CompositeExtract 96 2
+ Store 101 102
+ 103: 6(int) Load 8(invocation)
+ 104: 49(ptr) AccessChain 34(data) 73 37
+ 105: 18(i8vec4) Load 104
+ 106: 18(i8vec4) GroupNonUniformQuadSwap 43 105 38
+ 107: 49(ptr) AccessChain 34(data) 103 37
+ Store 107 106
+ 108: 6(int) Load 8(invocation)
+ 109: 39(ptr) AccessChain 34(data) 37 37 38
+ 110: 17(int8_t) Load 109
+ 111: 17(int8_t) GroupNonUniformQuadSwap 43 110 42
+ 112: 39(ptr) AccessChain 34(data) 108 37 38
+ Store 112 111
+ 113: 6(int) Load 8(invocation)
+ 114: 49(ptr) AccessChain 34(data) 47 37
+ 115: 18(i8vec4) Load 114
+ 116: 48(i8vec2) VectorShuffle 115 115 0 1
+ 117: 48(i8vec2) GroupNonUniformQuadSwap 43 116 42
+ 118: 39(ptr) AccessChain 34(data) 113 37 38
+ 119: 17(int8_t) CompositeExtract 117 0
+ Store 118 119
+ 120: 39(ptr) AccessChain 34(data) 113 37 42
+ 121: 17(int8_t) CompositeExtract 117 1
+ Store 120 121
+ 122: 6(int) Load 8(invocation)
+ 123: 49(ptr) AccessChain 34(data) 59 37
+ 124: 18(i8vec4) Load 123
+ 125: 60(i8vec3) VectorShuffle 124 124 0 1 2
+ 126: 60(i8vec3) GroupNonUniformQuadSwap 43 125 42
+ 127: 39(ptr) AccessChain 34(data) 122 37 38
+ 128: 17(int8_t) CompositeExtract 126 0
+ Store 127 128
+ 129: 39(ptr) AccessChain 34(data) 122 37 42
+ 130: 17(int8_t) CompositeExtract 126 1
+ Store 129 130
+ 131: 39(ptr) AccessChain 34(data) 122 37 69
+ 132: 17(int8_t) CompositeExtract 126 2
+ Store 131 132
+ 133: 6(int) Load 8(invocation)
+ 134: 49(ptr) AccessChain 34(data) 73 37
+ 135: 18(i8vec4) Load 134
+ 136: 18(i8vec4) GroupNonUniformQuadSwap 43 135 42
+ 137: 49(ptr) AccessChain 34(data) 133 37
+ Store 137 136
+ 138: 6(int) Load 8(invocation)
+ 139: 39(ptr) AccessChain 34(data) 37 37 38
+ 140: 17(int8_t) Load 139
+ 141: 17(int8_t) GroupNonUniformQuadSwap 43 140 69
+ 142: 39(ptr) AccessChain 34(data) 138 37 38
+ Store 142 141
+ 143: 6(int) Load 8(invocation)
+ 144: 49(ptr) AccessChain 34(data) 47 37
145: 18(i8vec4) Load 144
- 146: 18(i8vec4) VectorShuffle 145 143 4 5 6 3
- Store 144 146
- 147: 6(int) Load 8(invocation)
- 148: 49(ptr) AccessChain 34(data) 68 37
- 149: 18(i8vec4) Load 148
- 150: 18(i8vec4) GroupNonUniformQuadSwap 43 149 128
- 151: 49(ptr) AccessChain 34(data) 147 37
- Store 151 150
+ 146: 48(i8vec2) VectorShuffle 145 145 0 1
+ 147: 48(i8vec2) GroupNonUniformQuadSwap 43 146 69
+ 148: 39(ptr) AccessChain 34(data) 143 37 38
+ 149: 17(int8_t) CompositeExtract 147 0
+ Store 148 149
+ 150: 39(ptr) AccessChain 34(data) 143 37 42
+ 151: 17(int8_t) CompositeExtract 147 1
+ Store 150 151
152: 6(int) Load 8(invocation)
- 154: 153(ptr) AccessChain 34(data) 37 47 38
- 155: 19(int8_t) Load 154
- 156: 19(int8_t) GroupNonUniformQuadBroadcast 43 155 42
- 157: 153(ptr) AccessChain 34(data) 152 47 38
- Store 157 156
- 158: 6(int) Load 8(invocation)
- 161: 160(ptr) AccessChain 34(data) 47 47
- 162: 20(i8vec4) Load 161
- 163: 159(i8vec2) VectorShuffle 162 162 0 1
- 164: 159(i8vec2) GroupNonUniformQuadBroadcast 43 163 42
- 165: 160(ptr) AccessChain 34(data) 158 47
- 166: 20(i8vec4) Load 165
- 167: 20(i8vec4) VectorShuffle 166 164 4 5 2 3
- Store 165 167
+ 153: 49(ptr) AccessChain 34(data) 59 37
+ 154: 18(i8vec4) Load 153
+ 155: 60(i8vec3) VectorShuffle 154 154 0 1 2
+ 156: 60(i8vec3) GroupNonUniformQuadSwap 43 155 69
+ 157: 39(ptr) AccessChain 34(data) 152 37 38
+ 158: 17(int8_t) CompositeExtract 156 0
+ Store 157 158
+ 159: 39(ptr) AccessChain 34(data) 152 37 42
+ 160: 17(int8_t) CompositeExtract 156 1
+ Store 159 160
+ 161: 39(ptr) AccessChain 34(data) 152 37 69
+ 162: 17(int8_t) CompositeExtract 156 2
+ Store 161 162
+ 163: 6(int) Load 8(invocation)
+ 164: 49(ptr) AccessChain 34(data) 73 37
+ 165: 18(i8vec4) Load 164
+ 166: 18(i8vec4) GroupNonUniformQuadSwap 43 165 69
+ 167: 49(ptr) AccessChain 34(data) 163 37
+ Store 167 166
168: 6(int) Load 8(invocation)
- 170: 160(ptr) AccessChain 34(data) 58 47
- 171: 20(i8vec4) Load 170
- 172: 169(i8vec3) VectorShuffle 171 171 0 1 2
- 173: 169(i8vec3) GroupNonUniformQuadBroadcast 43 172 42
- 174: 160(ptr) AccessChain 34(data) 168 47
- 175: 20(i8vec4) Load 174
- 176: 20(i8vec4) VectorShuffle 175 173 4 5 6 3
- Store 174 176
- 177: 6(int) Load 8(invocation)
- 178: 160(ptr) AccessChain 34(data) 68 47
- 179: 20(i8vec4) Load 178
- 180: 20(i8vec4) GroupNonUniformQuadBroadcast 43 179 42
- 181: 160(ptr) AccessChain 34(data) 177 47
- Store 181 180
- 182: 6(int) Load 8(invocation)
- 183: 153(ptr) AccessChain 34(data) 37 47 38
- 184: 19(int8_t) Load 183
- 185: 19(int8_t) GroupNonUniformQuadSwap 43 184 38
- 186: 153(ptr) AccessChain 34(data) 182 47 38
- Store 186 185
- 187: 6(int) Load 8(invocation)
- 188: 160(ptr) AccessChain 34(data) 47 47
- 189: 20(i8vec4) Load 188
- 190: 159(i8vec2) VectorShuffle 189 189 0 1
- 191: 159(i8vec2) GroupNonUniformQuadSwap 43 190 38
- 192: 160(ptr) AccessChain 34(data) 187 47
- 193: 20(i8vec4) Load 192
- 194: 20(i8vec4) VectorShuffle 193 191 4 5 2 3
- Store 192 194
- 195: 6(int) Load 8(invocation)
- 196: 160(ptr) AccessChain 34(data) 58 47
- 197: 20(i8vec4) Load 196
- 198: 169(i8vec3) VectorShuffle 197 197 0 1 2
- 199: 169(i8vec3) GroupNonUniformQuadSwap 43 198 38
- 200: 160(ptr) AccessChain 34(data) 195 47
- 201: 20(i8vec4) Load 200
- 202: 20(i8vec4) VectorShuffle 201 199 4 5 6 3
- Store 200 202
- 203: 6(int) Load 8(invocation)
- 204: 160(ptr) AccessChain 34(data) 68 47
- 205: 20(i8vec4) Load 204
- 206: 20(i8vec4) GroupNonUniformQuadSwap 43 205 38
- 207: 160(ptr) AccessChain 34(data) 203 47
- Store 207 206
- 208: 6(int) Load 8(invocation)
- 209: 153(ptr) AccessChain 34(data) 37 47 38
- 210: 19(int8_t) Load 209
- 211: 19(int8_t) GroupNonUniformQuadSwap 43 210 42
- 212: 153(ptr) AccessChain 34(data) 208 47 38
- Store 212 211
- 213: 6(int) Load 8(invocation)
- 214: 160(ptr) AccessChain 34(data) 47 47
- 215: 20(i8vec4) Load 214
- 216: 159(i8vec2) VectorShuffle 215 215 0 1
- 217: 159(i8vec2) GroupNonUniformQuadSwap 43 216 42
- 218: 160(ptr) AccessChain 34(data) 213 47
- 219: 20(i8vec4) Load 218
- 220: 20(i8vec4) VectorShuffle 219 217 4 5 2 3
- Store 218 220
- 221: 6(int) Load 8(invocation)
- 222: 160(ptr) AccessChain 34(data) 58 47
- 223: 20(i8vec4) Load 222
- 224: 169(i8vec3) VectorShuffle 223 223 0 1 2
- 225: 169(i8vec3) GroupNonUniformQuadSwap 43 224 42
- 226: 160(ptr) AccessChain 34(data) 221 47
- 227: 20(i8vec4) Load 226
- 228: 20(i8vec4) VectorShuffle 227 225 4 5 6 3
- Store 226 228
- 229: 6(int) Load 8(invocation)
- 230: 160(ptr) AccessChain 34(data) 68 47
- 231: 20(i8vec4) Load 230
- 232: 20(i8vec4) GroupNonUniformQuadSwap 43 231 42
- 233: 160(ptr) AccessChain 34(data) 229 47
- Store 233 232
- 234: 6(int) Load 8(invocation)
- 235: 153(ptr) AccessChain 34(data) 37 47 38
- 236: 19(int8_t) Load 235
- 237: 19(int8_t) GroupNonUniformQuadSwap 43 236 128
- 238: 153(ptr) AccessChain 34(data) 234 47 38
- Store 238 237
- 239: 6(int) Load 8(invocation)
- 240: 160(ptr) AccessChain 34(data) 47 47
- 241: 20(i8vec4) Load 240
- 242: 159(i8vec2) VectorShuffle 241 241 0 1
- 243: 159(i8vec2) GroupNonUniformQuadSwap 43 242 128
- 244: 160(ptr) AccessChain 34(data) 239 47
- 245: 20(i8vec4) Load 244
- 246: 20(i8vec4) VectorShuffle 245 243 4 5 2 3
- Store 244 246
- 247: 6(int) Load 8(invocation)
- 248: 160(ptr) AccessChain 34(data) 58 47
- 249: 20(i8vec4) Load 248
- 250: 169(i8vec3) VectorShuffle 249 249 0 1 2
- 251: 169(i8vec3) GroupNonUniformQuadSwap 43 250 128
- 252: 160(ptr) AccessChain 34(data) 247 47
- 253: 20(i8vec4) Load 252
- 254: 20(i8vec4) VectorShuffle 253 251 4 5 6 3
- Store 252 254
- 255: 6(int) Load 8(invocation)
- 256: 160(ptr) AccessChain 34(data) 68 47
- 257: 20(i8vec4) Load 256
- 258: 20(i8vec4) GroupNonUniformQuadSwap 43 257 128
- 259: 160(ptr) AccessChain 34(data) 255 47
- Store 259 258
- 260: 6(int) Load 8(invocation)
- 262: 261(ptr) AccessChain 34(data) 37 58 38
- 263: 21(int16_t) Load 262
- 264: 21(int16_t) GroupNonUniformQuadBroadcast 43 263 42
- 265: 261(ptr) AccessChain 34(data) 260 58 38
- Store 265 264
- 266: 6(int) Load 8(invocation)
- 269: 268(ptr) AccessChain 34(data) 47 58
- 270: 22(i16vec4) Load 269
- 271:267(i16vec2) VectorShuffle 270 270 0 1
- 272:267(i16vec2) GroupNonUniformQuadBroadcast 43 271 42
- 273: 268(ptr) AccessChain 34(data) 266 58
- 274: 22(i16vec4) Load 273
- 275: 22(i16vec4) VectorShuffle 274 272 4 5 2 3
- Store 273 275
+ 170: 169(ptr) AccessChain 34(data) 37 47 38
+ 171: 19(int8_t) Load 170
+ 172: 19(int8_t) GroupNonUniformQuadBroadcast 43 171 42
+ 173: 169(ptr) AccessChain 34(data) 168 47 38
+ Store 173 172
+ 174: 6(int) Load 8(invocation)
+ 177: 176(ptr) AccessChain 34(data) 47 47
+ 178: 20(i8vec4) Load 177
+ 179: 175(i8vec2) VectorShuffle 178 178 0 1
+ 180: 175(i8vec2) GroupNonUniformQuadBroadcast 43 179 42
+ 181: 169(ptr) AccessChain 34(data) 174 47 38
+ 182: 19(int8_t) CompositeExtract 180 0
+ Store 181 182
+ 183: 169(ptr) AccessChain 34(data) 174 47 42
+ 184: 19(int8_t) CompositeExtract 180 1
+ Store 183 184
+ 185: 6(int) Load 8(invocation)
+ 187: 176(ptr) AccessChain 34(data) 59 47
+ 188: 20(i8vec4) Load 187
+ 189: 186(i8vec3) VectorShuffle 188 188 0 1 2
+ 190: 186(i8vec3) GroupNonUniformQuadBroadcast 43 189 42
+ 191: 169(ptr) AccessChain 34(data) 185 47 38
+ 192: 19(int8_t) CompositeExtract 190 0
+ Store 191 192
+ 193: 169(ptr) AccessChain 34(data) 185 47 42
+ 194: 19(int8_t) CompositeExtract 190 1
+ Store 193 194
+ 195: 169(ptr) AccessChain 34(data) 185 47 69
+ 196: 19(int8_t) CompositeExtract 190 2
+ Store 195 196
+ 197: 6(int) Load 8(invocation)
+ 198: 176(ptr) AccessChain 34(data) 73 47
+ 199: 20(i8vec4) Load 198
+ 200: 20(i8vec4) GroupNonUniformQuadBroadcast 43 199 42
+ 201: 176(ptr) AccessChain 34(data) 197 47
+ Store 201 200
+ 202: 6(int) Load 8(invocation)
+ 203: 169(ptr) AccessChain 34(data) 37 47 38
+ 204: 19(int8_t) Load 203
+ 205: 19(int8_t) GroupNonUniformQuadSwap 43 204 38
+ 206: 169(ptr) AccessChain 34(data) 202 47 38
+ Store 206 205
+ 207: 6(int) Load 8(invocation)
+ 208: 176(ptr) AccessChain 34(data) 47 47
+ 209: 20(i8vec4) Load 208
+ 210: 175(i8vec2) VectorShuffle 209 209 0 1
+ 211: 175(i8vec2) GroupNonUniformQuadSwap 43 210 38
+ 212: 169(ptr) AccessChain 34(data) 207 47 38
+ 213: 19(int8_t) CompositeExtract 211 0
+ Store 212 213
+ 214: 169(ptr) AccessChain 34(data) 207 47 42
+ 215: 19(int8_t) CompositeExtract 211 1
+ Store 214 215
+ 216: 6(int) Load 8(invocation)
+ 217: 176(ptr) AccessChain 34(data) 59 47
+ 218: 20(i8vec4) Load 217
+ 219: 186(i8vec3) VectorShuffle 218 218 0 1 2
+ 220: 186(i8vec3) GroupNonUniformQuadSwap 43 219 38
+ 221: 169(ptr) AccessChain 34(data) 216 47 38
+ 222: 19(int8_t) CompositeExtract 220 0
+ Store 221 222
+ 223: 169(ptr) AccessChain 34(data) 216 47 42
+ 224: 19(int8_t) CompositeExtract 220 1
+ Store 223 224
+ 225: 169(ptr) AccessChain 34(data) 216 47 69
+ 226: 19(int8_t) CompositeExtract 220 2
+ Store 225 226
+ 227: 6(int) Load 8(invocation)
+ 228: 176(ptr) AccessChain 34(data) 73 47
+ 229: 20(i8vec4) Load 228
+ 230: 20(i8vec4) GroupNonUniformQuadSwap 43 229 38
+ 231: 176(ptr) AccessChain 34(data) 227 47
+ Store 231 230
+ 232: 6(int) Load 8(invocation)
+ 233: 169(ptr) AccessChain 34(data) 37 47 38
+ 234: 19(int8_t) Load 233
+ 235: 19(int8_t) GroupNonUniformQuadSwap 43 234 42
+ 236: 169(ptr) AccessChain 34(data) 232 47 38
+ Store 236 235
+ 237: 6(int) Load 8(invocation)
+ 238: 176(ptr) AccessChain 34(data) 47 47
+ 239: 20(i8vec4) Load 238
+ 240: 175(i8vec2) VectorShuffle 239 239 0 1
+ 241: 175(i8vec2) GroupNonUniformQuadSwap 43 240 42
+ 242: 169(ptr) AccessChain 34(data) 237 47 38
+ 243: 19(int8_t) CompositeExtract 241 0
+ Store 242 243
+ 244: 169(ptr) AccessChain 34(data) 237 47 42
+ 245: 19(int8_t) CompositeExtract 241 1
+ Store 244 245
+ 246: 6(int) Load 8(invocation)
+ 247: 176(ptr) AccessChain 34(data) 59 47
+ 248: 20(i8vec4) Load 247
+ 249: 186(i8vec3) VectorShuffle 248 248 0 1 2
+ 250: 186(i8vec3) GroupNonUniformQuadSwap 43 249 42
+ 251: 169(ptr) AccessChain 34(data) 246 47 38
+ 252: 19(int8_t) CompositeExtract 250 0
+ Store 251 252
+ 253: 169(ptr) AccessChain 34(data) 246 47 42
+ 254: 19(int8_t) CompositeExtract 250 1
+ Store 253 254
+ 255: 169(ptr) AccessChain 34(data) 246 47 69
+ 256: 19(int8_t) CompositeExtract 250 2
+ Store 255 256
+ 257: 6(int) Load 8(invocation)
+ 258: 176(ptr) AccessChain 34(data) 73 47
+ 259: 20(i8vec4) Load 258
+ 260: 20(i8vec4) GroupNonUniformQuadSwap 43 259 42
+ 261: 176(ptr) AccessChain 34(data) 257 47
+ Store 261 260
+ 262: 6(int) Load 8(invocation)
+ 263: 169(ptr) AccessChain 34(data) 37 47 38
+ 264: 19(int8_t) Load 263
+ 265: 19(int8_t) GroupNonUniformQuadSwap 43 264 69
+ 266: 169(ptr) AccessChain 34(data) 262 47 38
+ Store 266 265
+ 267: 6(int) Load 8(invocation)
+ 268: 176(ptr) AccessChain 34(data) 47 47
+ 269: 20(i8vec4) Load 268
+ 270: 175(i8vec2) VectorShuffle 269 269 0 1
+ 271: 175(i8vec2) GroupNonUniformQuadSwap 43 270 69
+ 272: 169(ptr) AccessChain 34(data) 267 47 38
+ 273: 19(int8_t) CompositeExtract 271 0
+ Store 272 273
+ 274: 169(ptr) AccessChain 34(data) 267 47 42
+ 275: 19(int8_t) CompositeExtract 271 1
+ Store 274 275
276: 6(int) Load 8(invocation)
- 278: 268(ptr) AccessChain 34(data) 58 58
- 279: 22(i16vec4) Load 278
- 280:277(i16vec3) VectorShuffle 279 279 0 1 2
- 281:277(i16vec3) GroupNonUniformQuadBroadcast 43 280 42
- 282: 268(ptr) AccessChain 34(data) 276 58
- 283: 22(i16vec4) Load 282
- 284: 22(i16vec4) VectorShuffle 283 281 4 5 6 3
- Store 282 284
- 285: 6(int) Load 8(invocation)
- 286: 268(ptr) AccessChain 34(data) 68 58
- 287: 22(i16vec4) Load 286
- 288: 22(i16vec4) GroupNonUniformQuadBroadcast 43 287 42
- 289: 268(ptr) AccessChain 34(data) 285 58
- Store 289 288
- 290: 6(int) Load 8(invocation)
- 291: 261(ptr) AccessChain 34(data) 37 58 38
- 292: 21(int16_t) Load 291
- 293: 21(int16_t) GroupNonUniformQuadSwap 43 292 38
- 294: 261(ptr) AccessChain 34(data) 290 58 38
- Store 294 293
- 295: 6(int) Load 8(invocation)
- 296: 268(ptr) AccessChain 34(data) 47 58
- 297: 22(i16vec4) Load 296
- 298:267(i16vec2) VectorShuffle 297 297 0 1
- 299:267(i16vec2) GroupNonUniformQuadSwap 43 298 38
- 300: 268(ptr) AccessChain 34(data) 295 58
- 301: 22(i16vec4) Load 300
- 302: 22(i16vec4) VectorShuffle 301 299 4 5 2 3
- Store 300 302
- 303: 6(int) Load 8(invocation)
- 304: 268(ptr) AccessChain 34(data) 58 58
- 305: 22(i16vec4) Load 304
- 306:277(i16vec3) VectorShuffle 305 305 0 1 2
- 307:277(i16vec3) GroupNonUniformQuadSwap 43 306 38
- 308: 268(ptr) AccessChain 34(data) 303 58
- 309: 22(i16vec4) Load 308
- 310: 22(i16vec4) VectorShuffle 309 307 4 5 6 3
- Store 308 310
- 311: 6(int) Load 8(invocation)
- 312: 268(ptr) AccessChain 34(data) 68 58
- 313: 22(i16vec4) Load 312
- 314: 22(i16vec4) GroupNonUniformQuadSwap 43 313 38
- 315: 268(ptr) AccessChain 34(data) 311 58
- Store 315 314
- 316: 6(int) Load 8(invocation)
- 317: 261(ptr) AccessChain 34(data) 37 58 38
- 318: 21(int16_t) Load 317
- 319: 21(int16_t) GroupNonUniformQuadSwap 43 318 42
- 320: 261(ptr) AccessChain 34(data) 316 58 38
- Store 320 319
+ 277: 176(ptr) AccessChain 34(data) 59 47
+ 278: 20(i8vec4) Load 277
+ 279: 186(i8vec3) VectorShuffle 278 278 0 1 2
+ 280: 186(i8vec3) GroupNonUniformQuadSwap 43 279 69
+ 281: 169(ptr) AccessChain 34(data) 276 47 38
+ 282: 19(int8_t) CompositeExtract 280 0
+ Store 281 282
+ 283: 169(ptr) AccessChain 34(data) 276 47 42
+ 284: 19(int8_t) CompositeExtract 280 1
+ Store 283 284
+ 285: 169(ptr) AccessChain 34(data) 276 47 69
+ 286: 19(int8_t) CompositeExtract 280 2
+ Store 285 286
+ 287: 6(int) Load 8(invocation)
+ 288: 176(ptr) AccessChain 34(data) 73 47
+ 289: 20(i8vec4) Load 288
+ 290: 20(i8vec4) GroupNonUniformQuadSwap 43 289 69
+ 291: 176(ptr) AccessChain 34(data) 287 47
+ Store 291 290
+ 292: 6(int) Load 8(invocation)
+ 294: 293(ptr) AccessChain 34(data) 37 59 38
+ 295: 21(int16_t) Load 294
+ 296: 21(int16_t) GroupNonUniformQuadBroadcast 43 295 42
+ 297: 293(ptr) AccessChain 34(data) 292 59 38
+ Store 297 296
+ 298: 6(int) Load 8(invocation)
+ 301: 300(ptr) AccessChain 34(data) 47 59
+ 302: 22(i16vec4) Load 301
+ 303:299(i16vec2) VectorShuffle 302 302 0 1
+ 304:299(i16vec2) GroupNonUniformQuadBroadcast 43 303 42
+ 305: 293(ptr) AccessChain 34(data) 298 59 38
+ 306: 21(int16_t) CompositeExtract 304 0
+ Store 305 306
+ 307: 293(ptr) AccessChain 34(data) 298 59 42
+ 308: 21(int16_t) CompositeExtract 304 1
+ Store 307 308
+ 309: 6(int) Load 8(invocation)
+ 311: 300(ptr) AccessChain 34(data) 59 59
+ 312: 22(i16vec4) Load 311
+ 313:310(i16vec3) VectorShuffle 312 312 0 1 2
+ 314:310(i16vec3) GroupNonUniformQuadBroadcast 43 313 42
+ 315: 293(ptr) AccessChain 34(data) 309 59 38
+ 316: 21(int16_t) CompositeExtract 314 0
+ Store 315 316
+ 317: 293(ptr) AccessChain 34(data) 309 59 42
+ 318: 21(int16_t) CompositeExtract 314 1
+ Store 317 318
+ 319: 293(ptr) AccessChain 34(data) 309 59 69
+ 320: 21(int16_t) CompositeExtract 314 2
+ Store 319 320
321: 6(int) Load 8(invocation)
- 322: 268(ptr) AccessChain 34(data) 47 58
+ 322: 300(ptr) AccessChain 34(data) 73 59
323: 22(i16vec4) Load 322
- 324:267(i16vec2) VectorShuffle 323 323 0 1
- 325:267(i16vec2) GroupNonUniformQuadSwap 43 324 42
- 326: 268(ptr) AccessChain 34(data) 321 58
- 327: 22(i16vec4) Load 326
- 328: 22(i16vec4) VectorShuffle 327 325 4 5 2 3
- Store 326 328
- 329: 6(int) Load 8(invocation)
- 330: 268(ptr) AccessChain 34(data) 58 58
- 331: 22(i16vec4) Load 330
- 332:277(i16vec3) VectorShuffle 331 331 0 1 2
- 333:277(i16vec3) GroupNonUniformQuadSwap 43 332 42
- 334: 268(ptr) AccessChain 34(data) 329 58
- 335: 22(i16vec4) Load 334
- 336: 22(i16vec4) VectorShuffle 335 333 4 5 6 3
- Store 334 336
- 337: 6(int) Load 8(invocation)
- 338: 268(ptr) AccessChain 34(data) 68 58
- 339: 22(i16vec4) Load 338
- 340: 22(i16vec4) GroupNonUniformQuadSwap 43 339 42
- 341: 268(ptr) AccessChain 34(data) 337 58
- Store 341 340
- 342: 6(int) Load 8(invocation)
- 343: 261(ptr) AccessChain 34(data) 37 58 38
- 344: 21(int16_t) Load 343
- 345: 21(int16_t) GroupNonUniformQuadSwap 43 344 128
- 346: 261(ptr) AccessChain 34(data) 342 58 38
- Store 346 345
- 347: 6(int) Load 8(invocation)
- 348: 268(ptr) AccessChain 34(data) 47 58
- 349: 22(i16vec4) Load 348
- 350:267(i16vec2) VectorShuffle 349 349 0 1
- 351:267(i16vec2) GroupNonUniformQuadSwap 43 350 128
- 352: 268(ptr) AccessChain 34(data) 347 58
+ 324: 22(i16vec4) GroupNonUniformQuadBroadcast 43 323 42
+ 325: 300(ptr) AccessChain 34(data) 321 59
+ Store 325 324
+ 326: 6(int) Load 8(invocation)
+ 327: 293(ptr) AccessChain 34(data) 37 59 38
+ 328: 21(int16_t) Load 327
+ 329: 21(int16_t) GroupNonUniformQuadSwap 43 328 38
+ 330: 293(ptr) AccessChain 34(data) 326 59 38
+ Store 330 329
+ 331: 6(int) Load 8(invocation)
+ 332: 300(ptr) AccessChain 34(data) 47 59
+ 333: 22(i16vec4) Load 332
+ 334:299(i16vec2) VectorShuffle 333 333 0 1
+ 335:299(i16vec2) GroupNonUniformQuadSwap 43 334 38
+ 336: 293(ptr) AccessChain 34(data) 331 59 38
+ 337: 21(int16_t) CompositeExtract 335 0
+ Store 336 337
+ 338: 293(ptr) AccessChain 34(data) 331 59 42
+ 339: 21(int16_t) CompositeExtract 335 1
+ Store 338 339
+ 340: 6(int) Load 8(invocation)
+ 341: 300(ptr) AccessChain 34(data) 59 59
+ 342: 22(i16vec4) Load 341
+ 343:310(i16vec3) VectorShuffle 342 342 0 1 2
+ 344:310(i16vec3) GroupNonUniformQuadSwap 43 343 38
+ 345: 293(ptr) AccessChain 34(data) 340 59 38
+ 346: 21(int16_t) CompositeExtract 344 0
+ Store 345 346
+ 347: 293(ptr) AccessChain 34(data) 340 59 42
+ 348: 21(int16_t) CompositeExtract 344 1
+ Store 347 348
+ 349: 293(ptr) AccessChain 34(data) 340 59 69
+ 350: 21(int16_t) CompositeExtract 344 2
+ Store 349 350
+ 351: 6(int) Load 8(invocation)
+ 352: 300(ptr) AccessChain 34(data) 73 59
353: 22(i16vec4) Load 352
- 354: 22(i16vec4) VectorShuffle 353 351 4 5 2 3
- Store 352 354
- 355: 6(int) Load 8(invocation)
- 356: 268(ptr) AccessChain 34(data) 58 58
- 357: 22(i16vec4) Load 356
- 358:277(i16vec3) VectorShuffle 357 357 0 1 2
- 359:277(i16vec3) GroupNonUniformQuadSwap 43 358 128
- 360: 268(ptr) AccessChain 34(data) 355 58
- 361: 22(i16vec4) Load 360
- 362: 22(i16vec4) VectorShuffle 361 359 4 5 6 3
- Store 360 362
- 363: 6(int) Load 8(invocation)
- 364: 268(ptr) AccessChain 34(data) 68 58
- 365: 22(i16vec4) Load 364
- 366: 22(i16vec4) GroupNonUniformQuadSwap 43 365 128
- 367: 268(ptr) AccessChain 34(data) 363 58
- Store 367 366
- 368: 6(int) Load 8(invocation)
- 370: 369(ptr) AccessChain 34(data) 37 68 38
- 371: 23(int16_t) Load 370
- 372: 23(int16_t) GroupNonUniformQuadBroadcast 43 371 42
- 373: 369(ptr) AccessChain 34(data) 368 68 38
- Store 373 372
- 374: 6(int) Load 8(invocation)
- 377: 376(ptr) AccessChain 34(data) 47 68
- 378: 24(i16vec4) Load 377
- 379:375(i16vec2) VectorShuffle 378 378 0 1
- 380:375(i16vec2) GroupNonUniformQuadBroadcast 43 379 42
- 381: 376(ptr) AccessChain 34(data) 374 68
- 382: 24(i16vec4) Load 381
- 383: 24(i16vec4) VectorShuffle 382 380 4 5 2 3
- Store 381 383
- 384: 6(int) Load 8(invocation)
- 386: 376(ptr) AccessChain 34(data) 58 68
- 387: 24(i16vec4) Load 386
- 388:385(i16vec3) VectorShuffle 387 387 0 1 2
- 389:385(i16vec3) GroupNonUniformQuadBroadcast 43 388 42
- 390: 376(ptr) AccessChain 34(data) 384 68
- 391: 24(i16vec4) Load 390
- 392: 24(i16vec4) VectorShuffle 391 389 4 5 6 3
- Store 390 392
- 393: 6(int) Load 8(invocation)
- 394: 376(ptr) AccessChain 34(data) 68 68
- 395: 24(i16vec4) Load 394
- 396: 24(i16vec4) GroupNonUniformQuadBroadcast 43 395 42
- 397: 376(ptr) AccessChain 34(data) 393 68
- Store 397 396
- 398: 6(int) Load 8(invocation)
- 399: 369(ptr) AccessChain 34(data) 37 68 38
- 400: 23(int16_t) Load 399
- 401: 23(int16_t) GroupNonUniformQuadSwap 43 400 38
- 402: 369(ptr) AccessChain 34(data) 398 68 38
- Store 402 401
- 403: 6(int) Load 8(invocation)
- 404: 376(ptr) AccessChain 34(data) 47 68
- 405: 24(i16vec4) Load 404
- 406:375(i16vec2) VectorShuffle 405 405 0 1
- 407:375(i16vec2) GroupNonUniformQuadSwap 43 406 38
- 408: 376(ptr) AccessChain 34(data) 403 68
- 409: 24(i16vec4) Load 408
- 410: 24(i16vec4) VectorShuffle 409 407 4 5 2 3
- Store 408 410
+ 354: 22(i16vec4) GroupNonUniformQuadSwap 43 353 38
+ 355: 300(ptr) AccessChain 34(data) 351 59
+ Store 355 354
+ 356: 6(int) Load 8(invocation)
+ 357: 293(ptr) AccessChain 34(data) 37 59 38
+ 358: 21(int16_t) Load 357
+ 359: 21(int16_t) GroupNonUniformQuadSwap 43 358 42
+ 360: 293(ptr) AccessChain 34(data) 356 59 38
+ Store 360 359
+ 361: 6(int) Load 8(invocation)
+ 362: 300(ptr) AccessChain 34(data) 47 59
+ 363: 22(i16vec4) Load 362
+ 364:299(i16vec2) VectorShuffle 363 363 0 1
+ 365:299(i16vec2) GroupNonUniformQuadSwap 43 364 42
+ 366: 293(ptr) AccessChain 34(data) 361 59 38
+ 367: 21(int16_t) CompositeExtract 365 0
+ Store 366 367
+ 368: 293(ptr) AccessChain 34(data) 361 59 42
+ 369: 21(int16_t) CompositeExtract 365 1
+ Store 368 369
+ 370: 6(int) Load 8(invocation)
+ 371: 300(ptr) AccessChain 34(data) 59 59
+ 372: 22(i16vec4) Load 371
+ 373:310(i16vec3) VectorShuffle 372 372 0 1 2
+ 374:310(i16vec3) GroupNonUniformQuadSwap 43 373 42
+ 375: 293(ptr) AccessChain 34(data) 370 59 38
+ 376: 21(int16_t) CompositeExtract 374 0
+ Store 375 376
+ 377: 293(ptr) AccessChain 34(data) 370 59 42
+ 378: 21(int16_t) CompositeExtract 374 1
+ Store 377 378
+ 379: 293(ptr) AccessChain 34(data) 370 59 69
+ 380: 21(int16_t) CompositeExtract 374 2
+ Store 379 380
+ 381: 6(int) Load 8(invocation)
+ 382: 300(ptr) AccessChain 34(data) 73 59
+ 383: 22(i16vec4) Load 382
+ 384: 22(i16vec4) GroupNonUniformQuadSwap 43 383 42
+ 385: 300(ptr) AccessChain 34(data) 381 59
+ Store 385 384
+ 386: 6(int) Load 8(invocation)
+ 387: 293(ptr) AccessChain 34(data) 37 59 38
+ 388: 21(int16_t) Load 387
+ 389: 21(int16_t) GroupNonUniformQuadSwap 43 388 69
+ 390: 293(ptr) AccessChain 34(data) 386 59 38
+ Store 390 389
+ 391: 6(int) Load 8(invocation)
+ 392: 300(ptr) AccessChain 34(data) 47 59
+ 393: 22(i16vec4) Load 392
+ 394:299(i16vec2) VectorShuffle 393 393 0 1
+ 395:299(i16vec2) GroupNonUniformQuadSwap 43 394 69
+ 396: 293(ptr) AccessChain 34(data) 391 59 38
+ 397: 21(int16_t) CompositeExtract 395 0
+ Store 396 397
+ 398: 293(ptr) AccessChain 34(data) 391 59 42
+ 399: 21(int16_t) CompositeExtract 395 1
+ Store 398 399
+ 400: 6(int) Load 8(invocation)
+ 401: 300(ptr) AccessChain 34(data) 59 59
+ 402: 22(i16vec4) Load 401
+ 403:310(i16vec3) VectorShuffle 402 402 0 1 2
+ 404:310(i16vec3) GroupNonUniformQuadSwap 43 403 69
+ 405: 293(ptr) AccessChain 34(data) 400 59 38
+ 406: 21(int16_t) CompositeExtract 404 0
+ Store 405 406
+ 407: 293(ptr) AccessChain 34(data) 400 59 42
+ 408: 21(int16_t) CompositeExtract 404 1
+ Store 407 408
+ 409: 293(ptr) AccessChain 34(data) 400 59 69
+ 410: 21(int16_t) CompositeExtract 404 2
+ Store 409 410
411: 6(int) Load 8(invocation)
- 412: 376(ptr) AccessChain 34(data) 58 68
- 413: 24(i16vec4) Load 412
- 414:385(i16vec3) VectorShuffle 413 413 0 1 2
- 415:385(i16vec3) GroupNonUniformQuadSwap 43 414 38
- 416: 376(ptr) AccessChain 34(data) 411 68
- 417: 24(i16vec4) Load 416
- 418: 24(i16vec4) VectorShuffle 417 415 4 5 6 3
- Store 416 418
- 419: 6(int) Load 8(invocation)
- 420: 376(ptr) AccessChain 34(data) 68 68
- 421: 24(i16vec4) Load 420
- 422: 24(i16vec4) GroupNonUniformQuadSwap 43 421 38
- 423: 376(ptr) AccessChain 34(data) 419 68
- Store 423 422
- 424: 6(int) Load 8(invocation)
- 425: 369(ptr) AccessChain 34(data) 37 68 38
- 426: 23(int16_t) Load 425
- 427: 23(int16_t) GroupNonUniformQuadSwap 43 426 42
- 428: 369(ptr) AccessChain 34(data) 424 68 38
- Store 428 427
- 429: 6(int) Load 8(invocation)
- 430: 376(ptr) AccessChain 34(data) 47 68
- 431: 24(i16vec4) Load 430
- 432:375(i16vec2) VectorShuffle 431 431 0 1
- 433:375(i16vec2) GroupNonUniformQuadSwap 43 432 42
- 434: 376(ptr) AccessChain 34(data) 429 68
- 435: 24(i16vec4) Load 434
- 436: 24(i16vec4) VectorShuffle 435 433 4 5 2 3
- Store 434 436
- 437: 6(int) Load 8(invocation)
- 438: 376(ptr) AccessChain 34(data) 58 68
- 439: 24(i16vec4) Load 438
- 440:385(i16vec3) VectorShuffle 439 439 0 1 2
- 441:385(i16vec3) GroupNonUniformQuadSwap 43 440 42
- 442: 376(ptr) AccessChain 34(data) 437 68
- 443: 24(i16vec4) Load 442
- 444: 24(i16vec4) VectorShuffle 443 441 4 5 6 3
- Store 442 444
+ 412: 300(ptr) AccessChain 34(data) 73 59
+ 413: 22(i16vec4) Load 412
+ 414: 22(i16vec4) GroupNonUniformQuadSwap 43 413 69
+ 415: 300(ptr) AccessChain 34(data) 411 59
+ Store 415 414
+ 416: 6(int) Load 8(invocation)
+ 418: 417(ptr) AccessChain 34(data) 37 73 38
+ 419: 23(int16_t) Load 418
+ 420: 23(int16_t) GroupNonUniformQuadBroadcast 43 419 42
+ 421: 417(ptr) AccessChain 34(data) 416 73 38
+ Store 421 420
+ 422: 6(int) Load 8(invocation)
+ 425: 424(ptr) AccessChain 34(data) 47 73
+ 426: 24(i16vec4) Load 425
+ 427:423(i16vec2) VectorShuffle 426 426 0 1
+ 428:423(i16vec2) GroupNonUniformQuadBroadcast 43 427 42
+ 429: 417(ptr) AccessChain 34(data) 422 73 38
+ 430: 23(int16_t) CompositeExtract 428 0
+ Store 429 430
+ 431: 417(ptr) AccessChain 34(data) 422 73 42
+ 432: 23(int16_t) CompositeExtract 428 1
+ Store 431 432
+ 433: 6(int) Load 8(invocation)
+ 435: 424(ptr) AccessChain 34(data) 59 73
+ 436: 24(i16vec4) Load 435
+ 437:434(i16vec3) VectorShuffle 436 436 0 1 2
+ 438:434(i16vec3) GroupNonUniformQuadBroadcast 43 437 42
+ 439: 417(ptr) AccessChain 34(data) 433 73 38
+ 440: 23(int16_t) CompositeExtract 438 0
+ Store 439 440
+ 441: 417(ptr) AccessChain 34(data) 433 73 42
+ 442: 23(int16_t) CompositeExtract 438 1
+ Store 441 442
+ 443: 417(ptr) AccessChain 34(data) 433 73 69
+ 444: 23(int16_t) CompositeExtract 438 2
+ Store 443 444
445: 6(int) Load 8(invocation)
- 446: 376(ptr) AccessChain 34(data) 68 68
+ 446: 424(ptr) AccessChain 34(data) 73 73
447: 24(i16vec4) Load 446
- 448: 24(i16vec4) GroupNonUniformQuadSwap 43 447 42
- 449: 376(ptr) AccessChain 34(data) 445 68
+ 448: 24(i16vec4) GroupNonUniformQuadBroadcast 43 447 42
+ 449: 424(ptr) AccessChain 34(data) 445 73
Store 449 448
450: 6(int) Load 8(invocation)
- 451: 369(ptr) AccessChain 34(data) 37 68 38
+ 451: 417(ptr) AccessChain 34(data) 37 73 38
452: 23(int16_t) Load 451
- 453: 23(int16_t) GroupNonUniformQuadSwap 43 452 128
- 454: 369(ptr) AccessChain 34(data) 450 68 38
+ 453: 23(int16_t) GroupNonUniformQuadSwap 43 452 38
+ 454: 417(ptr) AccessChain 34(data) 450 73 38
Store 454 453
455: 6(int) Load 8(invocation)
- 456: 376(ptr) AccessChain 34(data) 47 68
+ 456: 424(ptr) AccessChain 34(data) 47 73
457: 24(i16vec4) Load 456
- 458:375(i16vec2) VectorShuffle 457 457 0 1
- 459:375(i16vec2) GroupNonUniformQuadSwap 43 458 128
- 460: 376(ptr) AccessChain 34(data) 455 68
- 461: 24(i16vec4) Load 460
- 462: 24(i16vec4) VectorShuffle 461 459 4 5 2 3
- Store 460 462
- 463: 6(int) Load 8(invocation)
- 464: 376(ptr) AccessChain 34(data) 58 68
- 465: 24(i16vec4) Load 464
- 466:385(i16vec3) VectorShuffle 465 465 0 1 2
- 467:385(i16vec3) GroupNonUniformQuadSwap 43 466 128
- 468: 376(ptr) AccessChain 34(data) 463 68
- 469: 24(i16vec4) Load 468
- 470: 24(i16vec4) VectorShuffle 469 467 4 5 6 3
- Store 468 470
- 471: 6(int) Load 8(invocation)
- 472: 376(ptr) AccessChain 34(data) 68 68
- 473: 24(i16vec4) Load 472
- 474: 24(i16vec4) GroupNonUniformQuadSwap 43 473 128
- 475: 376(ptr) AccessChain 34(data) 471 68
- Store 475 474
- 476: 6(int) Load 8(invocation)
- 479: 478(ptr) AccessChain 34(data) 37 477 38
- 480: 25(int64_t) Load 479
- 481: 25(int64_t) GroupNonUniformQuadBroadcast 43 480 42
- 482: 478(ptr) AccessChain 34(data) 476 477 38
- Store 482 481
- 483: 6(int) Load 8(invocation)
- 486: 485(ptr) AccessChain 34(data) 47 477
- 487: 26(i64vec4) Load 486
- 488:484(i64vec2) VectorShuffle 487 487 0 1
- 489:484(i64vec2) GroupNonUniformQuadBroadcast 43 488 42
- 490: 485(ptr) AccessChain 34(data) 483 477
- 491: 26(i64vec4) Load 490
- 492: 26(i64vec4) VectorShuffle 491 489 4 5 2 3
- Store 490 492
- 493: 6(int) Load 8(invocation)
- 495: 485(ptr) AccessChain 34(data) 58 477
- 496: 26(i64vec4) Load 495
- 497:494(i64vec3) VectorShuffle 496 496 0 1 2
- 498:494(i64vec3) GroupNonUniformQuadBroadcast 43 497 42
- 499: 485(ptr) AccessChain 34(data) 493 477
- 500: 26(i64vec4) Load 499
- 501: 26(i64vec4) VectorShuffle 500 498 4 5 6 3
- Store 499 501
- 502: 6(int) Load 8(invocation)
- 503: 485(ptr) AccessChain 34(data) 68 477
- 504: 26(i64vec4) Load 503
- 505: 26(i64vec4) GroupNonUniformQuadBroadcast 43 504 42
- 506: 485(ptr) AccessChain 34(data) 502 477
- Store 506 505
- 507: 6(int) Load 8(invocation)
- 508: 478(ptr) AccessChain 34(data) 37 477 38
- 509: 25(int64_t) Load 508
- 510: 25(int64_t) GroupNonUniformQuadSwap 43 509 38
- 511: 478(ptr) AccessChain 34(data) 507 477 38
- Store 511 510
- 512: 6(int) Load 8(invocation)
- 513: 485(ptr) AccessChain 34(data) 47 477
- 514: 26(i64vec4) Load 513
- 515:484(i64vec2) VectorShuffle 514 514 0 1
- 516:484(i64vec2) GroupNonUniformQuadSwap 43 515 38
- 517: 485(ptr) AccessChain 34(data) 512 477
- 518: 26(i64vec4) Load 517
- 519: 26(i64vec4) VectorShuffle 518 516 4 5 2 3
- Store 517 519
- 520: 6(int) Load 8(invocation)
- 521: 485(ptr) AccessChain 34(data) 58 477
- 522: 26(i64vec4) Load 521
- 523:494(i64vec3) VectorShuffle 522 522 0 1 2
- 524:494(i64vec3) GroupNonUniformQuadSwap 43 523 38
- 525: 485(ptr) AccessChain 34(data) 520 477
- 526: 26(i64vec4) Load 525
- 527: 26(i64vec4) VectorShuffle 526 524 4 5 6 3
- Store 525 527
- 528: 6(int) Load 8(invocation)
- 529: 485(ptr) AccessChain 34(data) 68 477
- 530: 26(i64vec4) Load 529
- 531: 26(i64vec4) GroupNonUniformQuadSwap 43 530 38
- 532: 485(ptr) AccessChain 34(data) 528 477
- Store 532 531
- 533: 6(int) Load 8(invocation)
- 534: 478(ptr) AccessChain 34(data) 37 477 38
- 535: 25(int64_t) Load 534
- 536: 25(int64_t) GroupNonUniformQuadSwap 43 535 42
- 537: 478(ptr) AccessChain 34(data) 533 477 38
- Store 537 536
- 538: 6(int) Load 8(invocation)
- 539: 485(ptr) AccessChain 34(data) 47 477
- 540: 26(i64vec4) Load 539
- 541:484(i64vec2) VectorShuffle 540 540 0 1
- 542:484(i64vec2) GroupNonUniformQuadSwap 43 541 42
- 543: 485(ptr) AccessChain 34(data) 538 477
- 544: 26(i64vec4) Load 543
- 545: 26(i64vec4) VectorShuffle 544 542 4 5 2 3
- Store 543 545
- 546: 6(int) Load 8(invocation)
- 547: 485(ptr) AccessChain 34(data) 58 477
- 548: 26(i64vec4) Load 547
- 549:494(i64vec3) VectorShuffle 548 548 0 1 2
- 550:494(i64vec3) GroupNonUniformQuadSwap 43 549 42
- 551: 485(ptr) AccessChain 34(data) 546 477
- 552: 26(i64vec4) Load 551
- 553: 26(i64vec4) VectorShuffle 552 550 4 5 6 3
- Store 551 553
- 554: 6(int) Load 8(invocation)
- 555: 485(ptr) AccessChain 34(data) 68 477
- 556: 26(i64vec4) Load 555
- 557: 26(i64vec4) GroupNonUniformQuadSwap 43 556 42
- 558: 485(ptr) AccessChain 34(data) 554 477
- Store 558 557
- 559: 6(int) Load 8(invocation)
- 560: 478(ptr) AccessChain 34(data) 37 477 38
- 561: 25(int64_t) Load 560
- 562: 25(int64_t) GroupNonUniformQuadSwap 43 561 128
- 563: 478(ptr) AccessChain 34(data) 559 477 38
- Store 563 562
- 564: 6(int) Load 8(invocation)
- 565: 485(ptr) AccessChain 34(data) 47 477
- 566: 26(i64vec4) Load 565
- 567:484(i64vec2) VectorShuffle 566 566 0 1
- 568:484(i64vec2) GroupNonUniformQuadSwap 43 567 128
- 569: 485(ptr) AccessChain 34(data) 564 477
- 570: 26(i64vec4) Load 569
- 571: 26(i64vec4) VectorShuffle 570 568 4 5 2 3
- Store 569 571
- 572: 6(int) Load 8(invocation)
- 573: 485(ptr) AccessChain 34(data) 58 477
- 574: 26(i64vec4) Load 573
- 575:494(i64vec3) VectorShuffle 574 574 0 1 2
- 576:494(i64vec3) GroupNonUniformQuadSwap 43 575 128
- 577: 485(ptr) AccessChain 34(data) 572 477
- 578: 26(i64vec4) Load 577
- 579: 26(i64vec4) VectorShuffle 578 576 4 5 6 3
- Store 577 579
+ 458:423(i16vec2) VectorShuffle 457 457 0 1
+ 459:423(i16vec2) GroupNonUniformQuadSwap 43 458 38
+ 460: 417(ptr) AccessChain 34(data) 455 73 38
+ 461: 23(int16_t) CompositeExtract 459 0
+ Store 460 461
+ 462: 417(ptr) AccessChain 34(data) 455 73 42
+ 463: 23(int16_t) CompositeExtract 459 1
+ Store 462 463
+ 464: 6(int) Load 8(invocation)
+ 465: 424(ptr) AccessChain 34(data) 59 73
+ 466: 24(i16vec4) Load 465
+ 467:434(i16vec3) VectorShuffle 466 466 0 1 2
+ 468:434(i16vec3) GroupNonUniformQuadSwap 43 467 38
+ 469: 417(ptr) AccessChain 34(data) 464 73 38
+ 470: 23(int16_t) CompositeExtract 468 0
+ Store 469 470
+ 471: 417(ptr) AccessChain 34(data) 464 73 42
+ 472: 23(int16_t) CompositeExtract 468 1
+ Store 471 472
+ 473: 417(ptr) AccessChain 34(data) 464 73 69
+ 474: 23(int16_t) CompositeExtract 468 2
+ Store 473 474
+ 475: 6(int) Load 8(invocation)
+ 476: 424(ptr) AccessChain 34(data) 73 73
+ 477: 24(i16vec4) Load 476
+ 478: 24(i16vec4) GroupNonUniformQuadSwap 43 477 38
+ 479: 424(ptr) AccessChain 34(data) 475 73
+ Store 479 478
+ 480: 6(int) Load 8(invocation)
+ 481: 417(ptr) AccessChain 34(data) 37 73 38
+ 482: 23(int16_t) Load 481
+ 483: 23(int16_t) GroupNonUniformQuadSwap 43 482 42
+ 484: 417(ptr) AccessChain 34(data) 480 73 38
+ Store 484 483
+ 485: 6(int) Load 8(invocation)
+ 486: 424(ptr) AccessChain 34(data) 47 73
+ 487: 24(i16vec4) Load 486
+ 488:423(i16vec2) VectorShuffle 487 487 0 1
+ 489:423(i16vec2) GroupNonUniformQuadSwap 43 488 42
+ 490: 417(ptr) AccessChain 34(data) 485 73 38
+ 491: 23(int16_t) CompositeExtract 489 0
+ Store 490 491
+ 492: 417(ptr) AccessChain 34(data) 485 73 42
+ 493: 23(int16_t) CompositeExtract 489 1
+ Store 492 493
+ 494: 6(int) Load 8(invocation)
+ 495: 424(ptr) AccessChain 34(data) 59 73
+ 496: 24(i16vec4) Load 495
+ 497:434(i16vec3) VectorShuffle 496 496 0 1 2
+ 498:434(i16vec3) GroupNonUniformQuadSwap 43 497 42
+ 499: 417(ptr) AccessChain 34(data) 494 73 38
+ 500: 23(int16_t) CompositeExtract 498 0
+ Store 499 500
+ 501: 417(ptr) AccessChain 34(data) 494 73 42
+ 502: 23(int16_t) CompositeExtract 498 1
+ Store 501 502
+ 503: 417(ptr) AccessChain 34(data) 494 73 69
+ 504: 23(int16_t) CompositeExtract 498 2
+ Store 503 504
+ 505: 6(int) Load 8(invocation)
+ 506: 424(ptr) AccessChain 34(data) 73 73
+ 507: 24(i16vec4) Load 506
+ 508: 24(i16vec4) GroupNonUniformQuadSwap 43 507 42
+ 509: 424(ptr) AccessChain 34(data) 505 73
+ Store 509 508
+ 510: 6(int) Load 8(invocation)
+ 511: 417(ptr) AccessChain 34(data) 37 73 38
+ 512: 23(int16_t) Load 511
+ 513: 23(int16_t) GroupNonUniformQuadSwap 43 512 69
+ 514: 417(ptr) AccessChain 34(data) 510 73 38
+ Store 514 513
+ 515: 6(int) Load 8(invocation)
+ 516: 424(ptr) AccessChain 34(data) 47 73
+ 517: 24(i16vec4) Load 516
+ 518:423(i16vec2) VectorShuffle 517 517 0 1
+ 519:423(i16vec2) GroupNonUniformQuadSwap 43 518 69
+ 520: 417(ptr) AccessChain 34(data) 515 73 38
+ 521: 23(int16_t) CompositeExtract 519 0
+ Store 520 521
+ 522: 417(ptr) AccessChain 34(data) 515 73 42
+ 523: 23(int16_t) CompositeExtract 519 1
+ Store 522 523
+ 524: 6(int) Load 8(invocation)
+ 525: 424(ptr) AccessChain 34(data) 59 73
+ 526: 24(i16vec4) Load 525
+ 527:434(i16vec3) VectorShuffle 526 526 0 1 2
+ 528:434(i16vec3) GroupNonUniformQuadSwap 43 527 69
+ 529: 417(ptr) AccessChain 34(data) 524 73 38
+ 530: 23(int16_t) CompositeExtract 528 0
+ Store 529 530
+ 531: 417(ptr) AccessChain 34(data) 524 73 42
+ 532: 23(int16_t) CompositeExtract 528 1
+ Store 531 532
+ 533: 417(ptr) AccessChain 34(data) 524 73 69
+ 534: 23(int16_t) CompositeExtract 528 2
+ Store 533 534
+ 535: 6(int) Load 8(invocation)
+ 536: 424(ptr) AccessChain 34(data) 73 73
+ 537: 24(i16vec4) Load 536
+ 538: 24(i16vec4) GroupNonUniformQuadSwap 43 537 69
+ 539: 424(ptr) AccessChain 34(data) 535 73
+ Store 539 538
+ 540: 6(int) Load 8(invocation)
+ 543: 542(ptr) AccessChain 34(data) 37 541 38
+ 544: 25(int64_t) Load 543
+ 545: 25(int64_t) GroupNonUniformQuadBroadcast 43 544 42
+ 546: 542(ptr) AccessChain 34(data) 540 541 38
+ Store 546 545
+ 547: 6(int) Load 8(invocation)
+ 550: 549(ptr) AccessChain 34(data) 47 541
+ 551: 26(i64vec4) Load 550
+ 552:548(i64vec2) VectorShuffle 551 551 0 1
+ 553:548(i64vec2) GroupNonUniformQuadBroadcast 43 552 42
+ 554: 542(ptr) AccessChain 34(data) 547 541 38
+ 555: 25(int64_t) CompositeExtract 553 0
+ Store 554 555
+ 556: 542(ptr) AccessChain 34(data) 547 541 42
+ 557: 25(int64_t) CompositeExtract 553 1
+ Store 556 557
+ 558: 6(int) Load 8(invocation)
+ 560: 549(ptr) AccessChain 34(data) 59 541
+ 561: 26(i64vec4) Load 560
+ 562:559(i64vec3) VectorShuffle 561 561 0 1 2
+ 563:559(i64vec3) GroupNonUniformQuadBroadcast 43 562 42
+ 564: 542(ptr) AccessChain 34(data) 558 541 38
+ 565: 25(int64_t) CompositeExtract 563 0
+ Store 564 565
+ 566: 542(ptr) AccessChain 34(data) 558 541 42
+ 567: 25(int64_t) CompositeExtract 563 1
+ Store 566 567
+ 568: 542(ptr) AccessChain 34(data) 558 541 69
+ 569: 25(int64_t) CompositeExtract 563 2
+ Store 568 569
+ 570: 6(int) Load 8(invocation)
+ 571: 549(ptr) AccessChain 34(data) 73 541
+ 572: 26(i64vec4) Load 571
+ 573: 26(i64vec4) GroupNonUniformQuadBroadcast 43 572 42
+ 574: 549(ptr) AccessChain 34(data) 570 541
+ Store 574 573
+ 575: 6(int) Load 8(invocation)
+ 576: 542(ptr) AccessChain 34(data) 37 541 38
+ 577: 25(int64_t) Load 576
+ 578: 25(int64_t) GroupNonUniformQuadSwap 43 577 38
+ 579: 542(ptr) AccessChain 34(data) 575 541 38
+ Store 579 578
580: 6(int) Load 8(invocation)
- 581: 485(ptr) AccessChain 34(data) 68 477
+ 581: 549(ptr) AccessChain 34(data) 47 541
582: 26(i64vec4) Load 581
- 583: 26(i64vec4) GroupNonUniformQuadSwap 43 582 128
- 584: 485(ptr) AccessChain 34(data) 580 477
- Store 584 583
- 585: 6(int) Load 8(invocation)
- 588: 587(ptr) AccessChain 34(data) 37 586 38
- 589: 27(int64_t) Load 588
- 590: 27(int64_t) GroupNonUniformQuadBroadcast 43 589 42
- 591: 587(ptr) AccessChain 34(data) 585 586 38
- Store 591 590
- 592: 6(int) Load 8(invocation)
- 595: 594(ptr) AccessChain 34(data) 47 586
- 596: 28(i64vec4) Load 595
- 597:593(i64vec2) VectorShuffle 596 596 0 1
- 598:593(i64vec2) GroupNonUniformQuadBroadcast 43 597 42
- 599: 594(ptr) AccessChain 34(data) 592 586
- 600: 28(i64vec4) Load 599
- 601: 28(i64vec4) VectorShuffle 600 598 4 5 2 3
- Store 599 601
- 602: 6(int) Load 8(invocation)
- 604: 594(ptr) AccessChain 34(data) 58 586
- 605: 28(i64vec4) Load 604
- 606:603(i64vec3) VectorShuffle 605 605 0 1 2
- 607:603(i64vec3) GroupNonUniformQuadBroadcast 43 606 42
- 608: 594(ptr) AccessChain 34(data) 602 586
- 609: 28(i64vec4) Load 608
- 610: 28(i64vec4) VectorShuffle 609 607 4 5 6 3
- Store 608 610
- 611: 6(int) Load 8(invocation)
- 612: 594(ptr) AccessChain 34(data) 68 586
- 613: 28(i64vec4) Load 612
- 614: 28(i64vec4) GroupNonUniformQuadBroadcast 43 613 42
- 615: 594(ptr) AccessChain 34(data) 611 586
- Store 615 614
- 616: 6(int) Load 8(invocation)
- 617: 587(ptr) AccessChain 34(data) 37 586 38
- 618: 27(int64_t) Load 617
- 619: 27(int64_t) GroupNonUniformQuadSwap 43 618 38
- 620: 587(ptr) AccessChain 34(data) 616 586 38
- Store 620 619
- 621: 6(int) Load 8(invocation)
- 622: 594(ptr) AccessChain 34(data) 47 586
- 623: 28(i64vec4) Load 622
- 624:593(i64vec2) VectorShuffle 623 623 0 1
- 625:593(i64vec2) GroupNonUniformQuadSwap 43 624 38
- 626: 594(ptr) AccessChain 34(data) 621 586
- 627: 28(i64vec4) Load 626
- 628: 28(i64vec4) VectorShuffle 627 625 4 5 2 3
- Store 626 628
- 629: 6(int) Load 8(invocation)
- 630: 594(ptr) AccessChain 34(data) 58 586
- 631: 28(i64vec4) Load 630
- 632:603(i64vec3) VectorShuffle 631 631 0 1 2
- 633:603(i64vec3) GroupNonUniformQuadSwap 43 632 38
- 634: 594(ptr) AccessChain 34(data) 629 586
- 635: 28(i64vec4) Load 634
- 636: 28(i64vec4) VectorShuffle 635 633 4 5 6 3
- Store 634 636
- 637: 6(int) Load 8(invocation)
- 638: 594(ptr) AccessChain 34(data) 68 586
- 639: 28(i64vec4) Load 638
- 640: 28(i64vec4) GroupNonUniformQuadSwap 43 639 38
- 641: 594(ptr) AccessChain 34(data) 637 586
- Store 641 640
- 642: 6(int) Load 8(invocation)
- 643: 587(ptr) AccessChain 34(data) 37 586 38
- 644: 27(int64_t) Load 643
- 645: 27(int64_t) GroupNonUniformQuadSwap 43 644 42
- 646: 587(ptr) AccessChain 34(data) 642 586 38
- Store 646 645
- 647: 6(int) Load 8(invocation)
- 648: 594(ptr) AccessChain 34(data) 47 586
- 649: 28(i64vec4) Load 648
- 650:593(i64vec2) VectorShuffle 649 649 0 1
- 651:593(i64vec2) GroupNonUniformQuadSwap 43 650 42
- 652: 594(ptr) AccessChain 34(data) 647 586
- 653: 28(i64vec4) Load 652
- 654: 28(i64vec4) VectorShuffle 653 651 4 5 2 3
- Store 652 654
- 655: 6(int) Load 8(invocation)
- 656: 594(ptr) AccessChain 34(data) 58 586
- 657: 28(i64vec4) Load 656
- 658:603(i64vec3) VectorShuffle 657 657 0 1 2
- 659:603(i64vec3) GroupNonUniformQuadSwap 43 658 42
- 660: 594(ptr) AccessChain 34(data) 655 586
- 661: 28(i64vec4) Load 660
- 662: 28(i64vec4) VectorShuffle 661 659 4 5 6 3
- Store 660 662
- 663: 6(int) Load 8(invocation)
- 664: 594(ptr) AccessChain 34(data) 68 586
- 665: 28(i64vec4) Load 664
- 666: 28(i64vec4) GroupNonUniformQuadSwap 43 665 42
- 667: 594(ptr) AccessChain 34(data) 663 586
- Store 667 666
- 668: 6(int) Load 8(invocation)
- 669: 587(ptr) AccessChain 34(data) 37 586 38
- 670: 27(int64_t) Load 669
- 671: 27(int64_t) GroupNonUniformQuadSwap 43 670 128
- 672: 587(ptr) AccessChain 34(data) 668 586 38
- Store 672 671
- 673: 6(int) Load 8(invocation)
- 674: 594(ptr) AccessChain 34(data) 47 586
- 675: 28(i64vec4) Load 674
- 676:593(i64vec2) VectorShuffle 675 675 0 1
- 677:593(i64vec2) GroupNonUniformQuadSwap 43 676 128
- 678: 594(ptr) AccessChain 34(data) 673 586
- 679: 28(i64vec4) Load 678
- 680: 28(i64vec4) VectorShuffle 679 677 4 5 2 3
- Store 678 680
- 681: 6(int) Load 8(invocation)
- 682: 594(ptr) AccessChain 34(data) 58 586
- 683: 28(i64vec4) Load 682
- 684:603(i64vec3) VectorShuffle 683 683 0 1 2
- 685:603(i64vec3) GroupNonUniformQuadSwap 43 684 128
- 686: 594(ptr) AccessChain 34(data) 681 586
- 687: 28(i64vec4) Load 686
- 688: 28(i64vec4) VectorShuffle 687 685 4 5 6 3
- Store 686 688
- 689: 6(int) Load 8(invocation)
- 690: 594(ptr) AccessChain 34(data) 68 586
- 691: 28(i64vec4) Load 690
- 692: 28(i64vec4) GroupNonUniformQuadSwap 43 691 128
- 693: 594(ptr) AccessChain 34(data) 689 586
- Store 693 692
- 694: 6(int) Load 8(invocation)
- 697: 696(ptr) AccessChain 34(data) 37 695 38
- 698:29(float16_t) Load 697
- 699:29(float16_t) GroupNonUniformQuadBroadcast 43 698 42
- 700: 696(ptr) AccessChain 34(data) 694 695 38
- Store 700 699
- 701: 6(int) Load 8(invocation)
- 704: 703(ptr) AccessChain 34(data) 47 695
- 705: 30(f16vec4) Load 704
- 706:702(f16vec2) VectorShuffle 705 705 0 1
- 707:702(f16vec2) GroupNonUniformQuadBroadcast 43 706 42
- 708: 703(ptr) AccessChain 34(data) 701 695
- 709: 30(f16vec4) Load 708
- 710: 30(f16vec4) VectorShuffle 709 707 4 5 2 3
- Store 708 710
- 711: 6(int) Load 8(invocation)
- 713: 703(ptr) AccessChain 34(data) 58 695
- 714: 30(f16vec4) Load 713
- 715:712(f16vec3) VectorShuffle 714 714 0 1 2
- 716:712(f16vec3) GroupNonUniformQuadBroadcast 43 715 42
- 717: 703(ptr) AccessChain 34(data) 711 695
- 718: 30(f16vec4) Load 717
- 719: 30(f16vec4) VectorShuffle 718 716 4 5 6 3
- Store 717 719
- 720: 6(int) Load 8(invocation)
- 721: 703(ptr) AccessChain 34(data) 68 695
- 722: 30(f16vec4) Load 721
- 723: 30(f16vec4) GroupNonUniformQuadBroadcast 43 722 42
- 724: 703(ptr) AccessChain 34(data) 720 695
- Store 724 723
+ 583:548(i64vec2) VectorShuffle 582 582 0 1
+ 584:548(i64vec2) GroupNonUniformQuadSwap 43 583 38
+ 585: 542(ptr) AccessChain 34(data) 580 541 38
+ 586: 25(int64_t) CompositeExtract 584 0
+ Store 585 586
+ 587: 542(ptr) AccessChain 34(data) 580 541 42
+ 588: 25(int64_t) CompositeExtract 584 1
+ Store 587 588
+ 589: 6(int) Load 8(invocation)
+ 590: 549(ptr) AccessChain 34(data) 59 541
+ 591: 26(i64vec4) Load 590
+ 592:559(i64vec3) VectorShuffle 591 591 0 1 2
+ 593:559(i64vec3) GroupNonUniformQuadSwap 43 592 38
+ 594: 542(ptr) AccessChain 34(data) 589 541 38
+ 595: 25(int64_t) CompositeExtract 593 0
+ Store 594 595
+ 596: 542(ptr) AccessChain 34(data) 589 541 42
+ 597: 25(int64_t) CompositeExtract 593 1
+ Store 596 597
+ 598: 542(ptr) AccessChain 34(data) 589 541 69
+ 599: 25(int64_t) CompositeExtract 593 2
+ Store 598 599
+ 600: 6(int) Load 8(invocation)
+ 601: 549(ptr) AccessChain 34(data) 73 541
+ 602: 26(i64vec4) Load 601
+ 603: 26(i64vec4) GroupNonUniformQuadSwap 43 602 38
+ 604: 549(ptr) AccessChain 34(data) 600 541
+ Store 604 603
+ 605: 6(int) Load 8(invocation)
+ 606: 542(ptr) AccessChain 34(data) 37 541 38
+ 607: 25(int64_t) Load 606
+ 608: 25(int64_t) GroupNonUniformQuadSwap 43 607 42
+ 609: 542(ptr) AccessChain 34(data) 605 541 38
+ Store 609 608
+ 610: 6(int) Load 8(invocation)
+ 611: 549(ptr) AccessChain 34(data) 47 541
+ 612: 26(i64vec4) Load 611
+ 613:548(i64vec2) VectorShuffle 612 612 0 1
+ 614:548(i64vec2) GroupNonUniformQuadSwap 43 613 42
+ 615: 542(ptr) AccessChain 34(data) 610 541 38
+ 616: 25(int64_t) CompositeExtract 614 0
+ Store 615 616
+ 617: 542(ptr) AccessChain 34(data) 610 541 42
+ 618: 25(int64_t) CompositeExtract 614 1
+ Store 617 618
+ 619: 6(int) Load 8(invocation)
+ 620: 549(ptr) AccessChain 34(data) 59 541
+ 621: 26(i64vec4) Load 620
+ 622:559(i64vec3) VectorShuffle 621 621 0 1 2
+ 623:559(i64vec3) GroupNonUniformQuadSwap 43 622 42
+ 624: 542(ptr) AccessChain 34(data) 619 541 38
+ 625: 25(int64_t) CompositeExtract 623 0
+ Store 624 625
+ 626: 542(ptr) AccessChain 34(data) 619 541 42
+ 627: 25(int64_t) CompositeExtract 623 1
+ Store 626 627
+ 628: 542(ptr) AccessChain 34(data) 619 541 69
+ 629: 25(int64_t) CompositeExtract 623 2
+ Store 628 629
+ 630: 6(int) Load 8(invocation)
+ 631: 549(ptr) AccessChain 34(data) 73 541
+ 632: 26(i64vec4) Load 631
+ 633: 26(i64vec4) GroupNonUniformQuadSwap 43 632 42
+ 634: 549(ptr) AccessChain 34(data) 630 541
+ Store 634 633
+ 635: 6(int) Load 8(invocation)
+ 636: 542(ptr) AccessChain 34(data) 37 541 38
+ 637: 25(int64_t) Load 636
+ 638: 25(int64_t) GroupNonUniformQuadSwap 43 637 69
+ 639: 542(ptr) AccessChain 34(data) 635 541 38
+ Store 639 638
+ 640: 6(int) Load 8(invocation)
+ 641: 549(ptr) AccessChain 34(data) 47 541
+ 642: 26(i64vec4) Load 641
+ 643:548(i64vec2) VectorShuffle 642 642 0 1
+ 644:548(i64vec2) GroupNonUniformQuadSwap 43 643 69
+ 645: 542(ptr) AccessChain 34(data) 640 541 38
+ 646: 25(int64_t) CompositeExtract 644 0
+ Store 645 646
+ 647: 542(ptr) AccessChain 34(data) 640 541 42
+ 648: 25(int64_t) CompositeExtract 644 1
+ Store 647 648
+ 649: 6(int) Load 8(invocation)
+ 650: 549(ptr) AccessChain 34(data) 59 541
+ 651: 26(i64vec4) Load 650
+ 652:559(i64vec3) VectorShuffle 651 651 0 1 2
+ 653:559(i64vec3) GroupNonUniformQuadSwap 43 652 69
+ 654: 542(ptr) AccessChain 34(data) 649 541 38
+ 655: 25(int64_t) CompositeExtract 653 0
+ Store 654 655
+ 656: 542(ptr) AccessChain 34(data) 649 541 42
+ 657: 25(int64_t) CompositeExtract 653 1
+ Store 656 657
+ 658: 542(ptr) AccessChain 34(data) 649 541 69
+ 659: 25(int64_t) CompositeExtract 653 2
+ Store 658 659
+ 660: 6(int) Load 8(invocation)
+ 661: 549(ptr) AccessChain 34(data) 73 541
+ 662: 26(i64vec4) Load 661
+ 663: 26(i64vec4) GroupNonUniformQuadSwap 43 662 69
+ 664: 549(ptr) AccessChain 34(data) 660 541
+ Store 664 663
+ 665: 6(int) Load 8(invocation)
+ 668: 667(ptr) AccessChain 34(data) 37 666 38
+ 669: 27(int64_t) Load 668
+ 670: 27(int64_t) GroupNonUniformQuadBroadcast 43 669 42
+ 671: 667(ptr) AccessChain 34(data) 665 666 38
+ Store 671 670
+ 672: 6(int) Load 8(invocation)
+ 675: 674(ptr) AccessChain 34(data) 47 666
+ 676: 28(i64vec4) Load 675
+ 677:673(i64vec2) VectorShuffle 676 676 0 1
+ 678:673(i64vec2) GroupNonUniformQuadBroadcast 43 677 42
+ 679: 667(ptr) AccessChain 34(data) 672 666 38
+ 680: 27(int64_t) CompositeExtract 678 0
+ Store 679 680
+ 681: 667(ptr) AccessChain 34(data) 672 666 42
+ 682: 27(int64_t) CompositeExtract 678 1
+ Store 681 682
+ 683: 6(int) Load 8(invocation)
+ 685: 674(ptr) AccessChain 34(data) 59 666
+ 686: 28(i64vec4) Load 685
+ 687:684(i64vec3) VectorShuffle 686 686 0 1 2
+ 688:684(i64vec3) GroupNonUniformQuadBroadcast 43 687 42
+ 689: 667(ptr) AccessChain 34(data) 683 666 38
+ 690: 27(int64_t) CompositeExtract 688 0
+ Store 689 690
+ 691: 667(ptr) AccessChain 34(data) 683 666 42
+ 692: 27(int64_t) CompositeExtract 688 1
+ Store 691 692
+ 693: 667(ptr) AccessChain 34(data) 683 666 69
+ 694: 27(int64_t) CompositeExtract 688 2
+ Store 693 694
+ 695: 6(int) Load 8(invocation)
+ 696: 674(ptr) AccessChain 34(data) 73 666
+ 697: 28(i64vec4) Load 696
+ 698: 28(i64vec4) GroupNonUniformQuadBroadcast 43 697 42
+ 699: 674(ptr) AccessChain 34(data) 695 666
+ Store 699 698
+ 700: 6(int) Load 8(invocation)
+ 701: 667(ptr) AccessChain 34(data) 37 666 38
+ 702: 27(int64_t) Load 701
+ 703: 27(int64_t) GroupNonUniformQuadSwap 43 702 38
+ 704: 667(ptr) AccessChain 34(data) 700 666 38
+ Store 704 703
+ 705: 6(int) Load 8(invocation)
+ 706: 674(ptr) AccessChain 34(data) 47 666
+ 707: 28(i64vec4) Load 706
+ 708:673(i64vec2) VectorShuffle 707 707 0 1
+ 709:673(i64vec2) GroupNonUniformQuadSwap 43 708 38
+ 710: 667(ptr) AccessChain 34(data) 705 666 38
+ 711: 27(int64_t) CompositeExtract 709 0
+ Store 710 711
+ 712: 667(ptr) AccessChain 34(data) 705 666 42
+ 713: 27(int64_t) CompositeExtract 709 1
+ Store 712 713
+ 714: 6(int) Load 8(invocation)
+ 715: 674(ptr) AccessChain 34(data) 59 666
+ 716: 28(i64vec4) Load 715
+ 717:684(i64vec3) VectorShuffle 716 716 0 1 2
+ 718:684(i64vec3) GroupNonUniformQuadSwap 43 717 38
+ 719: 667(ptr) AccessChain 34(data) 714 666 38
+ 720: 27(int64_t) CompositeExtract 718 0
+ Store 719 720
+ 721: 667(ptr) AccessChain 34(data) 714 666 42
+ 722: 27(int64_t) CompositeExtract 718 1
+ Store 721 722
+ 723: 667(ptr) AccessChain 34(data) 714 666 69
+ 724: 27(int64_t) CompositeExtract 718 2
+ Store 723 724
725: 6(int) Load 8(invocation)
- 726: 696(ptr) AccessChain 34(data) 37 695 38
- 727:29(float16_t) Load 726
- 728:29(float16_t) GroupNonUniformQuadSwap 43 727 38
- 729: 696(ptr) AccessChain 34(data) 725 695 38
+ 726: 674(ptr) AccessChain 34(data) 73 666
+ 727: 28(i64vec4) Load 726
+ 728: 28(i64vec4) GroupNonUniformQuadSwap 43 727 38
+ 729: 674(ptr) AccessChain 34(data) 725 666
Store 729 728
730: 6(int) Load 8(invocation)
- 731: 703(ptr) AccessChain 34(data) 47 695
- 732: 30(f16vec4) Load 731
- 733:702(f16vec2) VectorShuffle 732 732 0 1
- 734:702(f16vec2) GroupNonUniformQuadSwap 43 733 38
- 735: 703(ptr) AccessChain 34(data) 730 695
- 736: 30(f16vec4) Load 735
- 737: 30(f16vec4) VectorShuffle 736 734 4 5 2 3
- Store 735 737
- 738: 6(int) Load 8(invocation)
- 739: 703(ptr) AccessChain 34(data) 58 695
- 740: 30(f16vec4) Load 739
- 741:712(f16vec3) VectorShuffle 740 740 0 1 2
- 742:712(f16vec3) GroupNonUniformQuadSwap 43 741 38
- 743: 703(ptr) AccessChain 34(data) 738 695
- 744: 30(f16vec4) Load 743
- 745: 30(f16vec4) VectorShuffle 744 742 4 5 6 3
- Store 743 745
- 746: 6(int) Load 8(invocation)
- 747: 703(ptr) AccessChain 34(data) 68 695
- 748: 30(f16vec4) Load 747
- 749: 30(f16vec4) GroupNonUniformQuadSwap 43 748 38
- 750: 703(ptr) AccessChain 34(data) 746 695
- Store 750 749
- 751: 6(int) Load 8(invocation)
- 752: 696(ptr) AccessChain 34(data) 37 695 38
- 753:29(float16_t) Load 752
- 754:29(float16_t) GroupNonUniformQuadSwap 43 753 42
- 755: 696(ptr) AccessChain 34(data) 751 695 38
- Store 755 754
- 756: 6(int) Load 8(invocation)
- 757: 703(ptr) AccessChain 34(data) 47 695
- 758: 30(f16vec4) Load 757
- 759:702(f16vec2) VectorShuffle 758 758 0 1
- 760:702(f16vec2) GroupNonUniformQuadSwap 43 759 42
- 761: 703(ptr) AccessChain 34(data) 756 695
- 762: 30(f16vec4) Load 761
- 763: 30(f16vec4) VectorShuffle 762 760 4 5 2 3
- Store 761 763
- 764: 6(int) Load 8(invocation)
- 765: 703(ptr) AccessChain 34(data) 58 695
- 766: 30(f16vec4) Load 765
- 767:712(f16vec3) VectorShuffle 766 766 0 1 2
- 768:712(f16vec3) GroupNonUniformQuadSwap 43 767 42
- 769: 703(ptr) AccessChain 34(data) 764 695
- 770: 30(f16vec4) Load 769
- 771: 30(f16vec4) VectorShuffle 770 768 4 5 6 3
- Store 769 771
- 772: 6(int) Load 8(invocation)
- 773: 703(ptr) AccessChain 34(data) 68 695
- 774: 30(f16vec4) Load 773
- 775: 30(f16vec4) GroupNonUniformQuadSwap 43 774 42
- 776: 703(ptr) AccessChain 34(data) 772 695
- Store 776 775
- 777: 6(int) Load 8(invocation)
- 778: 696(ptr) AccessChain 34(data) 37 695 38
- 779:29(float16_t) Load 778
- 780:29(float16_t) GroupNonUniformQuadSwap 43 779 128
- 781: 696(ptr) AccessChain 34(data) 777 695 38
- Store 781 780
- 782: 6(int) Load 8(invocation)
- 783: 703(ptr) AccessChain 34(data) 47 695
- 784: 30(f16vec4) Load 783
- 785:702(f16vec2) VectorShuffle 784 784 0 1
- 786:702(f16vec2) GroupNonUniformQuadSwap 43 785 128
- 787: 703(ptr) AccessChain 34(data) 782 695
- 788: 30(f16vec4) Load 787
- 789: 30(f16vec4) VectorShuffle 788 786 4 5 2 3
- Store 787 789
+ 731: 667(ptr) AccessChain 34(data) 37 666 38
+ 732: 27(int64_t) Load 731
+ 733: 27(int64_t) GroupNonUniformQuadSwap 43 732 42
+ 734: 667(ptr) AccessChain 34(data) 730 666 38
+ Store 734 733
+ 735: 6(int) Load 8(invocation)
+ 736: 674(ptr) AccessChain 34(data) 47 666
+ 737: 28(i64vec4) Load 736
+ 738:673(i64vec2) VectorShuffle 737 737 0 1
+ 739:673(i64vec2) GroupNonUniformQuadSwap 43 738 42
+ 740: 667(ptr) AccessChain 34(data) 735 666 38
+ 741: 27(int64_t) CompositeExtract 739 0
+ Store 740 741
+ 742: 667(ptr) AccessChain 34(data) 735 666 42
+ 743: 27(int64_t) CompositeExtract 739 1
+ Store 742 743
+ 744: 6(int) Load 8(invocation)
+ 745: 674(ptr) AccessChain 34(data) 59 666
+ 746: 28(i64vec4) Load 745
+ 747:684(i64vec3) VectorShuffle 746 746 0 1 2
+ 748:684(i64vec3) GroupNonUniformQuadSwap 43 747 42
+ 749: 667(ptr) AccessChain 34(data) 744 666 38
+ 750: 27(int64_t) CompositeExtract 748 0
+ Store 749 750
+ 751: 667(ptr) AccessChain 34(data) 744 666 42
+ 752: 27(int64_t) CompositeExtract 748 1
+ Store 751 752
+ 753: 667(ptr) AccessChain 34(data) 744 666 69
+ 754: 27(int64_t) CompositeExtract 748 2
+ Store 753 754
+ 755: 6(int) Load 8(invocation)
+ 756: 674(ptr) AccessChain 34(data) 73 666
+ 757: 28(i64vec4) Load 756
+ 758: 28(i64vec4) GroupNonUniformQuadSwap 43 757 42
+ 759: 674(ptr) AccessChain 34(data) 755 666
+ Store 759 758
+ 760: 6(int) Load 8(invocation)
+ 761: 667(ptr) AccessChain 34(data) 37 666 38
+ 762: 27(int64_t) Load 761
+ 763: 27(int64_t) GroupNonUniformQuadSwap 43 762 69
+ 764: 667(ptr) AccessChain 34(data) 760 666 38
+ Store 764 763
+ 765: 6(int) Load 8(invocation)
+ 766: 674(ptr) AccessChain 34(data) 47 666
+ 767: 28(i64vec4) Load 766
+ 768:673(i64vec2) VectorShuffle 767 767 0 1
+ 769:673(i64vec2) GroupNonUniformQuadSwap 43 768 69
+ 770: 667(ptr) AccessChain 34(data) 765 666 38
+ 771: 27(int64_t) CompositeExtract 769 0
+ Store 770 771
+ 772: 667(ptr) AccessChain 34(data) 765 666 42
+ 773: 27(int64_t) CompositeExtract 769 1
+ Store 772 773
+ 774: 6(int) Load 8(invocation)
+ 775: 674(ptr) AccessChain 34(data) 59 666
+ 776: 28(i64vec4) Load 775
+ 777:684(i64vec3) VectorShuffle 776 776 0 1 2
+ 778:684(i64vec3) GroupNonUniformQuadSwap 43 777 69
+ 779: 667(ptr) AccessChain 34(data) 774 666 38
+ 780: 27(int64_t) CompositeExtract 778 0
+ Store 779 780
+ 781: 667(ptr) AccessChain 34(data) 774 666 42
+ 782: 27(int64_t) CompositeExtract 778 1
+ Store 781 782
+ 783: 667(ptr) AccessChain 34(data) 774 666 69
+ 784: 27(int64_t) CompositeExtract 778 2
+ Store 783 784
+ 785: 6(int) Load 8(invocation)
+ 786: 674(ptr) AccessChain 34(data) 73 666
+ 787: 28(i64vec4) Load 786
+ 788: 28(i64vec4) GroupNonUniformQuadSwap 43 787 69
+ 789: 674(ptr) AccessChain 34(data) 785 666
+ Store 789 788
790: 6(int) Load 8(invocation)
- 791: 703(ptr) AccessChain 34(data) 58 695
- 792: 30(f16vec4) Load 791
- 793:712(f16vec3) VectorShuffle 792 792 0 1 2
- 794:712(f16vec3) GroupNonUniformQuadSwap 43 793 128
- 795: 703(ptr) AccessChain 34(data) 790 695
- 796: 30(f16vec4) Load 795
- 797: 30(f16vec4) VectorShuffle 796 794 4 5 6 3
- Store 795 797
- 798: 6(int) Load 8(invocation)
- 799: 703(ptr) AccessChain 34(data) 68 695
- 800: 30(f16vec4) Load 799
- 801: 30(f16vec4) GroupNonUniformQuadSwap 43 800 128
- 802: 703(ptr) AccessChain 34(data) 798 695
- Store 802 801
+ 793: 792(ptr) AccessChain 34(data) 37 791 38
+ 794:29(float16_t) Load 793
+ 795:29(float16_t) GroupNonUniformQuadBroadcast 43 794 42
+ 796: 792(ptr) AccessChain 34(data) 790 791 38
+ Store 796 795
+ 797: 6(int) Load 8(invocation)
+ 800: 799(ptr) AccessChain 34(data) 47 791
+ 801: 30(f16vec4) Load 800
+ 802:798(f16vec2) VectorShuffle 801 801 0 1
+ 803:798(f16vec2) GroupNonUniformQuadBroadcast 43 802 42
+ 804: 792(ptr) AccessChain 34(data) 797 791 38
+ 805:29(float16_t) CompositeExtract 803 0
+ Store 804 805
+ 806: 792(ptr) AccessChain 34(data) 797 791 42
+ 807:29(float16_t) CompositeExtract 803 1
+ Store 806 807
+ 808: 6(int) Load 8(invocation)
+ 810: 799(ptr) AccessChain 34(data) 59 791
+ 811: 30(f16vec4) Load 810
+ 812:809(f16vec3) VectorShuffle 811 811 0 1 2
+ 813:809(f16vec3) GroupNonUniformQuadBroadcast 43 812 42
+ 814: 792(ptr) AccessChain 34(data) 808 791 38
+ 815:29(float16_t) CompositeExtract 813 0
+ Store 814 815
+ 816: 792(ptr) AccessChain 34(data) 808 791 42
+ 817:29(float16_t) CompositeExtract 813 1
+ Store 816 817
+ 818: 792(ptr) AccessChain 34(data) 808 791 69
+ 819:29(float16_t) CompositeExtract 813 2
+ Store 818 819
+ 820: 6(int) Load 8(invocation)
+ 821: 799(ptr) AccessChain 34(data) 73 791
+ 822: 30(f16vec4) Load 821
+ 823: 30(f16vec4) GroupNonUniformQuadBroadcast 43 822 42
+ 824: 799(ptr) AccessChain 34(data) 820 791
+ Store 824 823
+ 825: 6(int) Load 8(invocation)
+ 826: 792(ptr) AccessChain 34(data) 37 791 38
+ 827:29(float16_t) Load 826
+ 828:29(float16_t) GroupNonUniformQuadSwap 43 827 38
+ 829: 792(ptr) AccessChain 34(data) 825 791 38
+ Store 829 828
+ 830: 6(int) Load 8(invocation)
+ 831: 799(ptr) AccessChain 34(data) 47 791
+ 832: 30(f16vec4) Load 831
+ 833:798(f16vec2) VectorShuffle 832 832 0 1
+ 834:798(f16vec2) GroupNonUniformQuadSwap 43 833 38
+ 835: 792(ptr) AccessChain 34(data) 830 791 38
+ 836:29(float16_t) CompositeExtract 834 0
+ Store 835 836
+ 837: 792(ptr) AccessChain 34(data) 830 791 42
+ 838:29(float16_t) CompositeExtract 834 1
+ Store 837 838
+ 839: 6(int) Load 8(invocation)
+ 840: 799(ptr) AccessChain 34(data) 59 791
+ 841: 30(f16vec4) Load 840
+ 842:809(f16vec3) VectorShuffle 841 841 0 1 2
+ 843:809(f16vec3) GroupNonUniformQuadSwap 43 842 38
+ 844: 792(ptr) AccessChain 34(data) 839 791 38
+ 845:29(float16_t) CompositeExtract 843 0
+ Store 844 845
+ 846: 792(ptr) AccessChain 34(data) 839 791 42
+ 847:29(float16_t) CompositeExtract 843 1
+ Store 846 847
+ 848: 792(ptr) AccessChain 34(data) 839 791 69
+ 849:29(float16_t) CompositeExtract 843 2
+ Store 848 849
+ 850: 6(int) Load 8(invocation)
+ 851: 799(ptr) AccessChain 34(data) 73 791
+ 852: 30(f16vec4) Load 851
+ 853: 30(f16vec4) GroupNonUniformQuadSwap 43 852 38
+ 854: 799(ptr) AccessChain 34(data) 850 791
+ Store 854 853
+ 855: 6(int) Load 8(invocation)
+ 856: 792(ptr) AccessChain 34(data) 37 791 38
+ 857:29(float16_t) Load 856
+ 858:29(float16_t) GroupNonUniformQuadSwap 43 857 42
+ 859: 792(ptr) AccessChain 34(data) 855 791 38
+ Store 859 858
+ 860: 6(int) Load 8(invocation)
+ 861: 799(ptr) AccessChain 34(data) 47 791
+ 862: 30(f16vec4) Load 861
+ 863:798(f16vec2) VectorShuffle 862 862 0 1
+ 864:798(f16vec2) GroupNonUniformQuadSwap 43 863 42
+ 865: 792(ptr) AccessChain 34(data) 860 791 38
+ 866:29(float16_t) CompositeExtract 864 0
+ Store 865 866
+ 867: 792(ptr) AccessChain 34(data) 860 791 42
+ 868:29(float16_t) CompositeExtract 864 1
+ Store 867 868
+ 869: 6(int) Load 8(invocation)
+ 870: 799(ptr) AccessChain 34(data) 59 791
+ 871: 30(f16vec4) Load 870
+ 872:809(f16vec3) VectorShuffle 871 871 0 1 2
+ 873:809(f16vec3) GroupNonUniformQuadSwap 43 872 42
+ 874: 792(ptr) AccessChain 34(data) 869 791 38
+ 875:29(float16_t) CompositeExtract 873 0
+ Store 874 875
+ 876: 792(ptr) AccessChain 34(data) 869 791 42
+ 877:29(float16_t) CompositeExtract 873 1
+ Store 876 877
+ 878: 792(ptr) AccessChain 34(data) 869 791 69
+ 879:29(float16_t) CompositeExtract 873 2
+ Store 878 879
+ 880: 6(int) Load 8(invocation)
+ 881: 799(ptr) AccessChain 34(data) 73 791
+ 882: 30(f16vec4) Load 881
+ 883: 30(f16vec4) GroupNonUniformQuadSwap 43 882 42
+ 884: 799(ptr) AccessChain 34(data) 880 791
+ Store 884 883
+ 885: 6(int) Load 8(invocation)
+ 886: 792(ptr) AccessChain 34(data) 37 791 38
+ 887:29(float16_t) Load 886
+ 888:29(float16_t) GroupNonUniformQuadSwap 43 887 69
+ 889: 792(ptr) AccessChain 34(data) 885 791 38
+ Store 889 888
+ 890: 6(int) Load 8(invocation)
+ 891: 799(ptr) AccessChain 34(data) 47 791
+ 892: 30(f16vec4) Load 891
+ 893:798(f16vec2) VectorShuffle 892 892 0 1
+ 894:798(f16vec2) GroupNonUniformQuadSwap 43 893 69
+ 895: 792(ptr) AccessChain 34(data) 890 791 38
+ 896:29(float16_t) CompositeExtract 894 0
+ Store 895 896
+ 897: 792(ptr) AccessChain 34(data) 890 791 42
+ 898:29(float16_t) CompositeExtract 894 1
+ Store 897 898
+ 899: 6(int) Load 8(invocation)
+ 900: 799(ptr) AccessChain 34(data) 59 791
+ 901: 30(f16vec4) Load 900
+ 902:809(f16vec3) VectorShuffle 901 901 0 1 2
+ 903:809(f16vec3) GroupNonUniformQuadSwap 43 902 69
+ 904: 792(ptr) AccessChain 34(data) 899 791 38
+ 905:29(float16_t) CompositeExtract 903 0
+ Store 904 905
+ 906: 792(ptr) AccessChain 34(data) 899 791 42
+ 907:29(float16_t) CompositeExtract 903 1
+ Store 906 907
+ 908: 792(ptr) AccessChain 34(data) 899 791 69
+ 909:29(float16_t) CompositeExtract 903 2
+ Store 908 909
+ 910: 6(int) Load 8(invocation)
+ 911: 799(ptr) AccessChain 34(data) 73 791
+ 912: 30(f16vec4) Load 911
+ 913: 30(f16vec4) GroupNonUniformQuadSwap 43 912 69
+ 914: 799(ptr) AccessChain 34(data) 910 791
+ Store 914 913
Return
FunctionEnd
diff --git a/Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out b/Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out
index b798bae..eaea708 100644
--- a/Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out
+++ b/Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out
@@ -1,7 +1,7 @@
spv.subgroupExtendedTypesShuffle.comp
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 497
+// Id's are bound by 554
Capability Shader
Capability Float16
@@ -59,7 +59,7 @@
Decorate 31(Buffers) Block
Decorate 34(data) DescriptorSet 0
Decorate 34(data) Binding 0
- Decorate 496 BuiltIn WorkgroupSize
+ Decorate 553 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -94,40 +94,41 @@
47: 36(int) Constant 1
48: TypeVector 17(int8_t) 2
49: TypePointer StorageBuffer 18(i8vec4)
- 59: 36(int) Constant 2
- 60: TypeVector 17(int8_t) 3
- 70: 36(int) Constant 3
- 107: TypePointer StorageBuffer 19(int8_t)
- 114: TypeVector 19(int8_t) 2
- 115: TypePointer StorageBuffer 20(i8vec4)
- 125: TypeVector 19(int8_t) 3
- 171: TypePointer StorageBuffer 21(int16_t)
- 178: TypeVector 21(int16_t) 2
- 179: TypePointer StorageBuffer 22(i16vec4)
- 189: TypeVector 21(int16_t) 3
- 235: TypePointer StorageBuffer 23(int16_t)
- 242: TypeVector 23(int16_t) 2
- 243: TypePointer StorageBuffer 24(i16vec4)
- 253: TypeVector 23(int16_t) 3
- 299: 36(int) Constant 4
- 300: TypePointer StorageBuffer 25(int64_t)
- 307: TypeVector 25(int64_t) 2
- 308: TypePointer StorageBuffer 26(i64vec4)
- 318: TypeVector 25(int64_t) 3
- 364: 36(int) Constant 5
- 365: TypePointer StorageBuffer 27(int64_t)
- 372: TypeVector 27(int64_t) 2
- 373: TypePointer StorageBuffer 28(i64vec4)
- 383: TypeVector 27(int64_t) 3
- 429: 36(int) Constant 6
- 430: TypePointer StorageBuffer 29(float16_t)
- 437: TypeVector 29(float16_t) 2
- 438: TypePointer StorageBuffer 30(f16vec4)
- 448: TypeVector 29(float16_t) 3
- 493: TypeVector 6(int) 3
- 494: 6(int) Constant 8
- 495: 6(int) Constant 1
- 496: 493(ivec3) ConstantComposite 494 495 495
+ 57: 6(int) Constant 1
+ 61: 36(int) Constant 2
+ 62: TypeVector 17(int8_t) 3
+ 72: 6(int) Constant 2
+ 76: 36(int) Constant 3
+ 117: TypePointer StorageBuffer 19(int8_t)
+ 124: TypeVector 19(int8_t) 2
+ 125: TypePointer StorageBuffer 20(i8vec4)
+ 136: TypeVector 19(int8_t) 3
+ 189: TypePointer StorageBuffer 21(int16_t)
+ 196: TypeVector 21(int16_t) 2
+ 197: TypePointer StorageBuffer 22(i16vec4)
+ 208: TypeVector 21(int16_t) 3
+ 261: TypePointer StorageBuffer 23(int16_t)
+ 268: TypeVector 23(int16_t) 2
+ 269: TypePointer StorageBuffer 24(i16vec4)
+ 280: TypeVector 23(int16_t) 3
+ 333: 36(int) Constant 4
+ 334: TypePointer StorageBuffer 25(int64_t)
+ 341: TypeVector 25(int64_t) 2
+ 342: TypePointer StorageBuffer 26(i64vec4)
+ 353: TypeVector 25(int64_t) 3
+ 406: 36(int) Constant 5
+ 407: TypePointer StorageBuffer 27(int64_t)
+ 414: TypeVector 27(int64_t) 2
+ 415: TypePointer StorageBuffer 28(i64vec4)
+ 426: TypeVector 27(int64_t) 3
+ 479: 36(int) Constant 6
+ 480: TypePointer StorageBuffer 29(float16_t)
+ 487: TypeVector 29(float16_t) 2
+ 488: TypePointer StorageBuffer 30(f16vec4)
+ 499: TypeVector 29(float16_t) 3
+ 551: TypeVector 6(int) 3
+ 552: 6(int) Constant 8
+ 553: 551(ivec3) ConstantComposite 552 57 57
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@@ -149,468 +150,566 @@
52: 48(i8vec2) VectorShuffle 51 51 0 1
53: 6(int) Load 8(invocation)
54: 48(i8vec2) GroupNonUniformShuffle 43 52 53
- 55: 49(ptr) AccessChain 34(data) 46 37
- 56: 18(i8vec4) Load 55
- 57: 18(i8vec4) VectorShuffle 56 54 4 5 2 3
- Store 55 57
- 58: 6(int) Load 8(invocation)
- 61: 49(ptr) AccessChain 34(data) 59 37
- 62: 18(i8vec4) Load 61
- 63: 60(i8vec3) VectorShuffle 62 62 0 1 2
- 64: 6(int) Load 8(invocation)
- 65: 60(i8vec3) GroupNonUniformShuffle 43 63 64
- 66: 49(ptr) AccessChain 34(data) 58 37
- 67: 18(i8vec4) Load 66
- 68: 18(i8vec4) VectorShuffle 67 65 4 5 6 3
- Store 66 68
- 69: 6(int) Load 8(invocation)
- 71: 49(ptr) AccessChain 34(data) 70 37
- 72: 18(i8vec4) Load 71
- 73: 6(int) Load 8(invocation)
- 74: 18(i8vec4) GroupNonUniformShuffle 43 72 73
- 75: 49(ptr) AccessChain 34(data) 69 37
- Store 75 74
- 76: 6(int) Load 8(invocation)
- 77: 39(ptr) AccessChain 34(data) 37 37 38
- 78: 17(int8_t) Load 77
+ 55: 39(ptr) AccessChain 34(data) 46 37 38
+ 56: 17(int8_t) CompositeExtract 54 0
+ Store 55 56
+ 58: 39(ptr) AccessChain 34(data) 46 37 57
+ 59: 17(int8_t) CompositeExtract 54 1
+ Store 58 59
+ 60: 6(int) Load 8(invocation)
+ 63: 49(ptr) AccessChain 34(data) 61 37
+ 64: 18(i8vec4) Load 63
+ 65: 62(i8vec3) VectorShuffle 64 64 0 1 2
+ 66: 6(int) Load 8(invocation)
+ 67: 62(i8vec3) GroupNonUniformShuffle 43 65 66
+ 68: 39(ptr) AccessChain 34(data) 60 37 38
+ 69: 17(int8_t) CompositeExtract 67 0
+ Store 68 69
+ 70: 39(ptr) AccessChain 34(data) 60 37 57
+ 71: 17(int8_t) CompositeExtract 67 1
+ Store 70 71
+ 73: 39(ptr) AccessChain 34(data) 60 37 72
+ 74: 17(int8_t) CompositeExtract 67 2
+ Store 73 74
+ 75: 6(int) Load 8(invocation)
+ 77: 49(ptr) AccessChain 34(data) 76 37
+ 78: 18(i8vec4) Load 77
79: 6(int) Load 8(invocation)
- 80: 17(int8_t) GroupNonUniformShuffleXor 43 78 79
- 81: 39(ptr) AccessChain 34(data) 76 37 38
+ 80: 18(i8vec4) GroupNonUniformShuffle 43 78 79
+ 81: 49(ptr) AccessChain 34(data) 75 37
Store 81 80
82: 6(int) Load 8(invocation)
- 83: 49(ptr) AccessChain 34(data) 47 37
- 84: 18(i8vec4) Load 83
- 85: 48(i8vec2) VectorShuffle 84 84 0 1
- 86: 6(int) Load 8(invocation)
- 87: 48(i8vec2) GroupNonUniformShuffleXor 43 85 86
- 88: 49(ptr) AccessChain 34(data) 82 37
- 89: 18(i8vec4) Load 88
- 90: 18(i8vec4) VectorShuffle 89 87 4 5 2 3
- Store 88 90
- 91: 6(int) Load 8(invocation)
- 92: 49(ptr) AccessChain 34(data) 59 37
- 93: 18(i8vec4) Load 92
- 94: 60(i8vec3) VectorShuffle 93 93 0 1 2
- 95: 6(int) Load 8(invocation)
- 96: 60(i8vec3) GroupNonUniformShuffleXor 43 94 95
- 97: 49(ptr) AccessChain 34(data) 91 37
- 98: 18(i8vec4) Load 97
- 99: 18(i8vec4) VectorShuffle 98 96 4 5 6 3
- Store 97 99
- 100: 6(int) Load 8(invocation)
- 101: 49(ptr) AccessChain 34(data) 70 37
- 102: 18(i8vec4) Load 101
- 103: 6(int) Load 8(invocation)
- 104: 18(i8vec4) GroupNonUniformShuffleXor 43 102 103
- 105: 49(ptr) AccessChain 34(data) 100 37
- Store 105 104
- 106: 6(int) Load 8(invocation)
- 108: 107(ptr) AccessChain 34(data) 37 47 38
- 109: 19(int8_t) Load 108
+ 83: 39(ptr) AccessChain 34(data) 37 37 38
+ 84: 17(int8_t) Load 83
+ 85: 6(int) Load 8(invocation)
+ 86: 17(int8_t) GroupNonUniformShuffleXor 43 84 85
+ 87: 39(ptr) AccessChain 34(data) 82 37 38
+ Store 87 86
+ 88: 6(int) Load 8(invocation)
+ 89: 49(ptr) AccessChain 34(data) 47 37
+ 90: 18(i8vec4) Load 89
+ 91: 48(i8vec2) VectorShuffle 90 90 0 1
+ 92: 6(int) Load 8(invocation)
+ 93: 48(i8vec2) GroupNonUniformShuffleXor 43 91 92
+ 94: 39(ptr) AccessChain 34(data) 88 37 38
+ 95: 17(int8_t) CompositeExtract 93 0
+ Store 94 95
+ 96: 39(ptr) AccessChain 34(data) 88 37 57
+ 97: 17(int8_t) CompositeExtract 93 1
+ Store 96 97
+ 98: 6(int) Load 8(invocation)
+ 99: 49(ptr) AccessChain 34(data) 61 37
+ 100: 18(i8vec4) Load 99
+ 101: 62(i8vec3) VectorShuffle 100 100 0 1 2
+ 102: 6(int) Load 8(invocation)
+ 103: 62(i8vec3) GroupNonUniformShuffleXor 43 101 102
+ 104: 39(ptr) AccessChain 34(data) 98 37 38
+ 105: 17(int8_t) CompositeExtract 103 0
+ Store 104 105
+ 106: 39(ptr) AccessChain 34(data) 98 37 57
+ 107: 17(int8_t) CompositeExtract 103 1
+ Store 106 107
+ 108: 39(ptr) AccessChain 34(data) 98 37 72
+ 109: 17(int8_t) CompositeExtract 103 2
+ Store 108 109
110: 6(int) Load 8(invocation)
- 111: 19(int8_t) GroupNonUniformShuffle 43 109 110
- 112: 107(ptr) AccessChain 34(data) 106 47 38
- Store 112 111
+ 111: 49(ptr) AccessChain 34(data) 76 37
+ 112: 18(i8vec4) Load 111
113: 6(int) Load 8(invocation)
- 116: 115(ptr) AccessChain 34(data) 47 47
- 117: 20(i8vec4) Load 116
- 118: 114(i8vec2) VectorShuffle 117 117 0 1
- 119: 6(int) Load 8(invocation)
- 120: 114(i8vec2) GroupNonUniformShuffle 43 118 119
- 121: 115(ptr) AccessChain 34(data) 113 47
- 122: 20(i8vec4) Load 121
- 123: 20(i8vec4) VectorShuffle 122 120 4 5 2 3
- Store 121 123
- 124: 6(int) Load 8(invocation)
- 126: 115(ptr) AccessChain 34(data) 59 47
+ 114: 18(i8vec4) GroupNonUniformShuffleXor 43 112 113
+ 115: 49(ptr) AccessChain 34(data) 110 37
+ Store 115 114
+ 116: 6(int) Load 8(invocation)
+ 118: 117(ptr) AccessChain 34(data) 37 47 38
+ 119: 19(int8_t) Load 118
+ 120: 6(int) Load 8(invocation)
+ 121: 19(int8_t) GroupNonUniformShuffle 43 119 120
+ 122: 117(ptr) AccessChain 34(data) 116 47 38
+ Store 122 121
+ 123: 6(int) Load 8(invocation)
+ 126: 125(ptr) AccessChain 34(data) 47 47
127: 20(i8vec4) Load 126
- 128: 125(i8vec3) VectorShuffle 127 127 0 1 2
+ 128: 124(i8vec2) VectorShuffle 127 127 0 1
129: 6(int) Load 8(invocation)
- 130: 125(i8vec3) GroupNonUniformShuffle 43 128 129
- 131: 115(ptr) AccessChain 34(data) 124 47
- 132: 20(i8vec4) Load 131
- 133: 20(i8vec4) VectorShuffle 132 130 4 5 6 3
- Store 131 133
- 134: 6(int) Load 8(invocation)
- 135: 115(ptr) AccessChain 34(data) 70 47
- 136: 20(i8vec4) Load 135
- 137: 6(int) Load 8(invocation)
- 138: 20(i8vec4) GroupNonUniformShuffle 43 136 137
- 139: 115(ptr) AccessChain 34(data) 134 47
- Store 139 138
+ 130: 124(i8vec2) GroupNonUniformShuffle 43 128 129
+ 131: 117(ptr) AccessChain 34(data) 123 47 38
+ 132: 19(int8_t) CompositeExtract 130 0
+ Store 131 132
+ 133: 117(ptr) AccessChain 34(data) 123 47 57
+ 134: 19(int8_t) CompositeExtract 130 1
+ Store 133 134
+ 135: 6(int) Load 8(invocation)
+ 137: 125(ptr) AccessChain 34(data) 61 47
+ 138: 20(i8vec4) Load 137
+ 139: 136(i8vec3) VectorShuffle 138 138 0 1 2
140: 6(int) Load 8(invocation)
- 141: 107(ptr) AccessChain 34(data) 37 47 38
- 142: 19(int8_t) Load 141
- 143: 6(int) Load 8(invocation)
- 144: 19(int8_t) GroupNonUniformShuffleXor 43 142 143
- 145: 107(ptr) AccessChain 34(data) 140 47 38
- Store 145 144
- 146: 6(int) Load 8(invocation)
- 147: 115(ptr) AccessChain 34(data) 47 47
- 148: 20(i8vec4) Load 147
- 149: 114(i8vec2) VectorShuffle 148 148 0 1
- 150: 6(int) Load 8(invocation)
- 151: 114(i8vec2) GroupNonUniformShuffleXor 43 149 150
- 152: 115(ptr) AccessChain 34(data) 146 47
- 153: 20(i8vec4) Load 152
- 154: 20(i8vec4) VectorShuffle 153 151 4 5 2 3
- Store 152 154
- 155: 6(int) Load 8(invocation)
- 156: 115(ptr) AccessChain 34(data) 59 47
- 157: 20(i8vec4) Load 156
- 158: 125(i8vec3) VectorShuffle 157 157 0 1 2
- 159: 6(int) Load 8(invocation)
- 160: 125(i8vec3) GroupNonUniformShuffleXor 43 158 159
- 161: 115(ptr) AccessChain 34(data) 155 47
+ 141: 136(i8vec3) GroupNonUniformShuffle 43 139 140
+ 142: 117(ptr) AccessChain 34(data) 135 47 38
+ 143: 19(int8_t) CompositeExtract 141 0
+ Store 142 143
+ 144: 117(ptr) AccessChain 34(data) 135 47 57
+ 145: 19(int8_t) CompositeExtract 141 1
+ Store 144 145
+ 146: 117(ptr) AccessChain 34(data) 135 47 72
+ 147: 19(int8_t) CompositeExtract 141 2
+ Store 146 147
+ 148: 6(int) Load 8(invocation)
+ 149: 125(ptr) AccessChain 34(data) 76 47
+ 150: 20(i8vec4) Load 149
+ 151: 6(int) Load 8(invocation)
+ 152: 20(i8vec4) GroupNonUniformShuffle 43 150 151
+ 153: 125(ptr) AccessChain 34(data) 148 47
+ Store 153 152
+ 154: 6(int) Load 8(invocation)
+ 155: 117(ptr) AccessChain 34(data) 37 47 38
+ 156: 19(int8_t) Load 155
+ 157: 6(int) Load 8(invocation)
+ 158: 19(int8_t) GroupNonUniformShuffleXor 43 156 157
+ 159: 117(ptr) AccessChain 34(data) 154 47 38
+ Store 159 158
+ 160: 6(int) Load 8(invocation)
+ 161: 125(ptr) AccessChain 34(data) 47 47
162: 20(i8vec4) Load 161
- 163: 20(i8vec4) VectorShuffle 162 160 4 5 6 3
- Store 161 163
+ 163: 124(i8vec2) VectorShuffle 162 162 0 1
164: 6(int) Load 8(invocation)
- 165: 115(ptr) AccessChain 34(data) 70 47
- 166: 20(i8vec4) Load 165
- 167: 6(int) Load 8(invocation)
- 168: 20(i8vec4) GroupNonUniformShuffleXor 43 166 167
- 169: 115(ptr) AccessChain 34(data) 164 47
- Store 169 168
+ 165: 124(i8vec2) GroupNonUniformShuffleXor 43 163 164
+ 166: 117(ptr) AccessChain 34(data) 160 47 38
+ 167: 19(int8_t) CompositeExtract 165 0
+ Store 166 167
+ 168: 117(ptr) AccessChain 34(data) 160 47 57
+ 169: 19(int8_t) CompositeExtract 165 1
+ Store 168 169
170: 6(int) Load 8(invocation)
- 172: 171(ptr) AccessChain 34(data) 37 59 38
- 173: 21(int16_t) Load 172
+ 171: 125(ptr) AccessChain 34(data) 61 47
+ 172: 20(i8vec4) Load 171
+ 173: 136(i8vec3) VectorShuffle 172 172 0 1 2
174: 6(int) Load 8(invocation)
- 175: 21(int16_t) GroupNonUniformShuffle 43 173 174
- 176: 171(ptr) AccessChain 34(data) 170 59 38
- Store 176 175
- 177: 6(int) Load 8(invocation)
- 180: 179(ptr) AccessChain 34(data) 47 59
- 181: 22(i16vec4) Load 180
- 182:178(i16vec2) VectorShuffle 181 181 0 1
- 183: 6(int) Load 8(invocation)
- 184:178(i16vec2) GroupNonUniformShuffle 43 182 183
- 185: 179(ptr) AccessChain 34(data) 177 59
- 186: 22(i16vec4) Load 185
- 187: 22(i16vec4) VectorShuffle 186 184 4 5 2 3
- Store 185 187
+ 175: 136(i8vec3) GroupNonUniformShuffleXor 43 173 174
+ 176: 117(ptr) AccessChain 34(data) 170 47 38
+ 177: 19(int8_t) CompositeExtract 175 0
+ Store 176 177
+ 178: 117(ptr) AccessChain 34(data) 170 47 57
+ 179: 19(int8_t) CompositeExtract 175 1
+ Store 178 179
+ 180: 117(ptr) AccessChain 34(data) 170 47 72
+ 181: 19(int8_t) CompositeExtract 175 2
+ Store 180 181
+ 182: 6(int) Load 8(invocation)
+ 183: 125(ptr) AccessChain 34(data) 76 47
+ 184: 20(i8vec4) Load 183
+ 185: 6(int) Load 8(invocation)
+ 186: 20(i8vec4) GroupNonUniformShuffleXor 43 184 185
+ 187: 125(ptr) AccessChain 34(data) 182 47
+ Store 187 186
188: 6(int) Load 8(invocation)
- 190: 179(ptr) AccessChain 34(data) 59 59
- 191: 22(i16vec4) Load 190
- 192:189(i16vec3) VectorShuffle 191 191 0 1 2
- 193: 6(int) Load 8(invocation)
- 194:189(i16vec3) GroupNonUniformShuffle 43 192 193
- 195: 179(ptr) AccessChain 34(data) 188 59
- 196: 22(i16vec4) Load 195
- 197: 22(i16vec4) VectorShuffle 196 194 4 5 6 3
- Store 195 197
- 198: 6(int) Load 8(invocation)
- 199: 179(ptr) AccessChain 34(data) 70 59
- 200: 22(i16vec4) Load 199
+ 190: 189(ptr) AccessChain 34(data) 37 61 38
+ 191: 21(int16_t) Load 190
+ 192: 6(int) Load 8(invocation)
+ 193: 21(int16_t) GroupNonUniformShuffle 43 191 192
+ 194: 189(ptr) AccessChain 34(data) 188 61 38
+ Store 194 193
+ 195: 6(int) Load 8(invocation)
+ 198: 197(ptr) AccessChain 34(data) 47 61
+ 199: 22(i16vec4) Load 198
+ 200:196(i16vec2) VectorShuffle 199 199 0 1
201: 6(int) Load 8(invocation)
- 202: 22(i16vec4) GroupNonUniformShuffle 43 200 201
- 203: 179(ptr) AccessChain 34(data) 198 59
- Store 203 202
- 204: 6(int) Load 8(invocation)
- 205: 171(ptr) AccessChain 34(data) 37 59 38
- 206: 21(int16_t) Load 205
+ 202:196(i16vec2) GroupNonUniformShuffle 43 200 201
+ 203: 189(ptr) AccessChain 34(data) 195 61 38
+ 204: 21(int16_t) CompositeExtract 202 0
+ Store 203 204
+ 205: 189(ptr) AccessChain 34(data) 195 61 57
+ 206: 21(int16_t) CompositeExtract 202 1
+ Store 205 206
207: 6(int) Load 8(invocation)
- 208: 21(int16_t) GroupNonUniformShuffleXor 43 206 207
- 209: 171(ptr) AccessChain 34(data) 204 59 38
- Store 209 208
- 210: 6(int) Load 8(invocation)
- 211: 179(ptr) AccessChain 34(data) 47 59
- 212: 22(i16vec4) Load 211
- 213:178(i16vec2) VectorShuffle 212 212 0 1
- 214: 6(int) Load 8(invocation)
- 215:178(i16vec2) GroupNonUniformShuffleXor 43 213 214
- 216: 179(ptr) AccessChain 34(data) 210 59
- 217: 22(i16vec4) Load 216
- 218: 22(i16vec4) VectorShuffle 217 215 4 5 2 3
- Store 216 218
- 219: 6(int) Load 8(invocation)
- 220: 179(ptr) AccessChain 34(data) 59 59
- 221: 22(i16vec4) Load 220
- 222:189(i16vec3) VectorShuffle 221 221 0 1 2
+ 209: 197(ptr) AccessChain 34(data) 61 61
+ 210: 22(i16vec4) Load 209
+ 211:208(i16vec3) VectorShuffle 210 210 0 1 2
+ 212: 6(int) Load 8(invocation)
+ 213:208(i16vec3) GroupNonUniformShuffle 43 211 212
+ 214: 189(ptr) AccessChain 34(data) 207 61 38
+ 215: 21(int16_t) CompositeExtract 213 0
+ Store 214 215
+ 216: 189(ptr) AccessChain 34(data) 207 61 57
+ 217: 21(int16_t) CompositeExtract 213 1
+ Store 216 217
+ 218: 189(ptr) AccessChain 34(data) 207 61 72
+ 219: 21(int16_t) CompositeExtract 213 2
+ Store 218 219
+ 220: 6(int) Load 8(invocation)
+ 221: 197(ptr) AccessChain 34(data) 76 61
+ 222: 22(i16vec4) Load 221
223: 6(int) Load 8(invocation)
- 224:189(i16vec3) GroupNonUniformShuffleXor 43 222 223
- 225: 179(ptr) AccessChain 34(data) 219 59
- 226: 22(i16vec4) Load 225
- 227: 22(i16vec4) VectorShuffle 226 224 4 5 6 3
- Store 225 227
- 228: 6(int) Load 8(invocation)
- 229: 179(ptr) AccessChain 34(data) 70 59
- 230: 22(i16vec4) Load 229
- 231: 6(int) Load 8(invocation)
- 232: 22(i16vec4) GroupNonUniformShuffleXor 43 230 231
- 233: 179(ptr) AccessChain 34(data) 228 59
- Store 233 232
- 234: 6(int) Load 8(invocation)
- 236: 235(ptr) AccessChain 34(data) 37 70 38
- 237: 23(int16_t) Load 236
- 238: 6(int) Load 8(invocation)
- 239: 23(int16_t) GroupNonUniformShuffle 43 237 238
- 240: 235(ptr) AccessChain 34(data) 234 70 38
- Store 240 239
- 241: 6(int) Load 8(invocation)
- 244: 243(ptr) AccessChain 34(data) 47 70
- 245: 24(i16vec4) Load 244
- 246:242(i16vec2) VectorShuffle 245 245 0 1
- 247: 6(int) Load 8(invocation)
- 248:242(i16vec2) GroupNonUniformShuffle 43 246 247
- 249: 243(ptr) AccessChain 34(data) 241 70
- 250: 24(i16vec4) Load 249
- 251: 24(i16vec4) VectorShuffle 250 248 4 5 2 3
- Store 249 251
- 252: 6(int) Load 8(invocation)
- 254: 243(ptr) AccessChain 34(data) 59 70
- 255: 24(i16vec4) Load 254
- 256:253(i16vec3) VectorShuffle 255 255 0 1 2
+ 224: 22(i16vec4) GroupNonUniformShuffle 43 222 223
+ 225: 197(ptr) AccessChain 34(data) 220 61
+ Store 225 224
+ 226: 6(int) Load 8(invocation)
+ 227: 189(ptr) AccessChain 34(data) 37 61 38
+ 228: 21(int16_t) Load 227
+ 229: 6(int) Load 8(invocation)
+ 230: 21(int16_t) GroupNonUniformShuffleXor 43 228 229
+ 231: 189(ptr) AccessChain 34(data) 226 61 38
+ Store 231 230
+ 232: 6(int) Load 8(invocation)
+ 233: 197(ptr) AccessChain 34(data) 47 61
+ 234: 22(i16vec4) Load 233
+ 235:196(i16vec2) VectorShuffle 234 234 0 1
+ 236: 6(int) Load 8(invocation)
+ 237:196(i16vec2) GroupNonUniformShuffleXor 43 235 236
+ 238: 189(ptr) AccessChain 34(data) 232 61 38
+ 239: 21(int16_t) CompositeExtract 237 0
+ Store 238 239
+ 240: 189(ptr) AccessChain 34(data) 232 61 57
+ 241: 21(int16_t) CompositeExtract 237 1
+ Store 240 241
+ 242: 6(int) Load 8(invocation)
+ 243: 197(ptr) AccessChain 34(data) 61 61
+ 244: 22(i16vec4) Load 243
+ 245:208(i16vec3) VectorShuffle 244 244 0 1 2
+ 246: 6(int) Load 8(invocation)
+ 247:208(i16vec3) GroupNonUniformShuffleXor 43 245 246
+ 248: 189(ptr) AccessChain 34(data) 242 61 38
+ 249: 21(int16_t) CompositeExtract 247 0
+ Store 248 249
+ 250: 189(ptr) AccessChain 34(data) 242 61 57
+ 251: 21(int16_t) CompositeExtract 247 1
+ Store 250 251
+ 252: 189(ptr) AccessChain 34(data) 242 61 72
+ 253: 21(int16_t) CompositeExtract 247 2
+ Store 252 253
+ 254: 6(int) Load 8(invocation)
+ 255: 197(ptr) AccessChain 34(data) 76 61
+ 256: 22(i16vec4) Load 255
257: 6(int) Load 8(invocation)
- 258:253(i16vec3) GroupNonUniformShuffle 43 256 257
- 259: 243(ptr) AccessChain 34(data) 252 70
- 260: 24(i16vec4) Load 259
- 261: 24(i16vec4) VectorShuffle 260 258 4 5 6 3
- Store 259 261
- 262: 6(int) Load 8(invocation)
- 263: 243(ptr) AccessChain 34(data) 70 70
- 264: 24(i16vec4) Load 263
- 265: 6(int) Load 8(invocation)
- 266: 24(i16vec4) GroupNonUniformShuffle 43 264 265
- 267: 243(ptr) AccessChain 34(data) 262 70
- Store 267 266
- 268: 6(int) Load 8(invocation)
- 269: 235(ptr) AccessChain 34(data) 37 70 38
- 270: 23(int16_t) Load 269
- 271: 6(int) Load 8(invocation)
- 272: 23(int16_t) GroupNonUniformShuffleXor 43 270 271
- 273: 235(ptr) AccessChain 34(data) 268 70 38
- Store 273 272
- 274: 6(int) Load 8(invocation)
- 275: 243(ptr) AccessChain 34(data) 47 70
- 276: 24(i16vec4) Load 275
- 277:242(i16vec2) VectorShuffle 276 276 0 1
- 278: 6(int) Load 8(invocation)
- 279:242(i16vec2) GroupNonUniformShuffleXor 43 277 278
- 280: 243(ptr) AccessChain 34(data) 274 70
- 281: 24(i16vec4) Load 280
- 282: 24(i16vec4) VectorShuffle 281 279 4 5 2 3
- Store 280 282
- 283: 6(int) Load 8(invocation)
- 284: 243(ptr) AccessChain 34(data) 59 70
- 285: 24(i16vec4) Load 284
- 286:253(i16vec3) VectorShuffle 285 285 0 1 2
- 287: 6(int) Load 8(invocation)
- 288:253(i16vec3) GroupNonUniformShuffleXor 43 286 287
- 289: 243(ptr) AccessChain 34(data) 283 70
- 290: 24(i16vec4) Load 289
- 291: 24(i16vec4) VectorShuffle 290 288 4 5 6 3
- Store 289 291
+ 258: 22(i16vec4) GroupNonUniformShuffleXor 43 256 257
+ 259: 197(ptr) AccessChain 34(data) 254 61
+ Store 259 258
+ 260: 6(int) Load 8(invocation)
+ 262: 261(ptr) AccessChain 34(data) 37 76 38
+ 263: 23(int16_t) Load 262
+ 264: 6(int) Load 8(invocation)
+ 265: 23(int16_t) GroupNonUniformShuffle 43 263 264
+ 266: 261(ptr) AccessChain 34(data) 260 76 38
+ Store 266 265
+ 267: 6(int) Load 8(invocation)
+ 270: 269(ptr) AccessChain 34(data) 47 76
+ 271: 24(i16vec4) Load 270
+ 272:268(i16vec2) VectorShuffle 271 271 0 1
+ 273: 6(int) Load 8(invocation)
+ 274:268(i16vec2) GroupNonUniformShuffle 43 272 273
+ 275: 261(ptr) AccessChain 34(data) 267 76 38
+ 276: 23(int16_t) CompositeExtract 274 0
+ Store 275 276
+ 277: 261(ptr) AccessChain 34(data) 267 76 57
+ 278: 23(int16_t) CompositeExtract 274 1
+ Store 277 278
+ 279: 6(int) Load 8(invocation)
+ 281: 269(ptr) AccessChain 34(data) 61 76
+ 282: 24(i16vec4) Load 281
+ 283:280(i16vec3) VectorShuffle 282 282 0 1 2
+ 284: 6(int) Load 8(invocation)
+ 285:280(i16vec3) GroupNonUniformShuffle 43 283 284
+ 286: 261(ptr) AccessChain 34(data) 279 76 38
+ 287: 23(int16_t) CompositeExtract 285 0
+ Store 286 287
+ 288: 261(ptr) AccessChain 34(data) 279 76 57
+ 289: 23(int16_t) CompositeExtract 285 1
+ Store 288 289
+ 290: 261(ptr) AccessChain 34(data) 279 76 72
+ 291: 23(int16_t) CompositeExtract 285 2
+ Store 290 291
292: 6(int) Load 8(invocation)
- 293: 243(ptr) AccessChain 34(data) 70 70
+ 293: 269(ptr) AccessChain 34(data) 76 76
294: 24(i16vec4) Load 293
295: 6(int) Load 8(invocation)
- 296: 24(i16vec4) GroupNonUniformShuffleXor 43 294 295
- 297: 243(ptr) AccessChain 34(data) 292 70
+ 296: 24(i16vec4) GroupNonUniformShuffle 43 294 295
+ 297: 269(ptr) AccessChain 34(data) 292 76
Store 297 296
298: 6(int) Load 8(invocation)
- 301: 300(ptr) AccessChain 34(data) 37 299 38
- 302: 25(int64_t) Load 301
- 303: 6(int) Load 8(invocation)
- 304: 25(int64_t) GroupNonUniformShuffle 43 302 303
- 305: 300(ptr) AccessChain 34(data) 298 299 38
- Store 305 304
- 306: 6(int) Load 8(invocation)
- 309: 308(ptr) AccessChain 34(data) 47 299
- 310: 26(i64vec4) Load 309
- 311:307(i64vec2) VectorShuffle 310 310 0 1
- 312: 6(int) Load 8(invocation)
- 313:307(i64vec2) GroupNonUniformShuffle 43 311 312
- 314: 308(ptr) AccessChain 34(data) 306 299
- 315: 26(i64vec4) Load 314
- 316: 26(i64vec4) VectorShuffle 315 313 4 5 2 3
- Store 314 316
- 317: 6(int) Load 8(invocation)
- 319: 308(ptr) AccessChain 34(data) 59 299
- 320: 26(i64vec4) Load 319
- 321:318(i64vec3) VectorShuffle 320 320 0 1 2
- 322: 6(int) Load 8(invocation)
- 323:318(i64vec3) GroupNonUniformShuffle 43 321 322
- 324: 308(ptr) AccessChain 34(data) 317 299
- 325: 26(i64vec4) Load 324
- 326: 26(i64vec4) VectorShuffle 325 323 4 5 6 3
- Store 324 326
- 327: 6(int) Load 8(invocation)
- 328: 308(ptr) AccessChain 34(data) 70 299
- 329: 26(i64vec4) Load 328
- 330: 6(int) Load 8(invocation)
- 331: 26(i64vec4) GroupNonUniformShuffle 43 329 330
- 332: 308(ptr) AccessChain 34(data) 327 299
- Store 332 331
- 333: 6(int) Load 8(invocation)
- 334: 300(ptr) AccessChain 34(data) 37 299 38
- 335: 25(int64_t) Load 334
- 336: 6(int) Load 8(invocation)
- 337: 25(int64_t) GroupNonUniformShuffleXor 43 335 336
- 338: 300(ptr) AccessChain 34(data) 333 299 38
- Store 338 337
- 339: 6(int) Load 8(invocation)
- 340: 308(ptr) AccessChain 34(data) 47 299
- 341: 26(i64vec4) Load 340
- 342:307(i64vec2) VectorShuffle 341 341 0 1
- 343: 6(int) Load 8(invocation)
- 344:307(i64vec2) GroupNonUniformShuffleXor 43 342 343
- 345: 308(ptr) AccessChain 34(data) 339 299
- 346: 26(i64vec4) Load 345
- 347: 26(i64vec4) VectorShuffle 346 344 4 5 2 3
- Store 345 347
- 348: 6(int) Load 8(invocation)
- 349: 308(ptr) AccessChain 34(data) 59 299
- 350: 26(i64vec4) Load 349
- 351:318(i64vec3) VectorShuffle 350 350 0 1 2
+ 299: 261(ptr) AccessChain 34(data) 37 76 38
+ 300: 23(int16_t) Load 299
+ 301: 6(int) Load 8(invocation)
+ 302: 23(int16_t) GroupNonUniformShuffleXor 43 300 301
+ 303: 261(ptr) AccessChain 34(data) 298 76 38
+ Store 303 302
+ 304: 6(int) Load 8(invocation)
+ 305: 269(ptr) AccessChain 34(data) 47 76
+ 306: 24(i16vec4) Load 305
+ 307:268(i16vec2) VectorShuffle 306 306 0 1
+ 308: 6(int) Load 8(invocation)
+ 309:268(i16vec2) GroupNonUniformShuffleXor 43 307 308
+ 310: 261(ptr) AccessChain 34(data) 304 76 38
+ 311: 23(int16_t) CompositeExtract 309 0
+ Store 310 311
+ 312: 261(ptr) AccessChain 34(data) 304 76 57
+ 313: 23(int16_t) CompositeExtract 309 1
+ Store 312 313
+ 314: 6(int) Load 8(invocation)
+ 315: 269(ptr) AccessChain 34(data) 61 76
+ 316: 24(i16vec4) Load 315
+ 317:280(i16vec3) VectorShuffle 316 316 0 1 2
+ 318: 6(int) Load 8(invocation)
+ 319:280(i16vec3) GroupNonUniformShuffleXor 43 317 318
+ 320: 261(ptr) AccessChain 34(data) 314 76 38
+ 321: 23(int16_t) CompositeExtract 319 0
+ Store 320 321
+ 322: 261(ptr) AccessChain 34(data) 314 76 57
+ 323: 23(int16_t) CompositeExtract 319 1
+ Store 322 323
+ 324: 261(ptr) AccessChain 34(data) 314 76 72
+ 325: 23(int16_t) CompositeExtract 319 2
+ Store 324 325
+ 326: 6(int) Load 8(invocation)
+ 327: 269(ptr) AccessChain 34(data) 76 76
+ 328: 24(i16vec4) Load 327
+ 329: 6(int) Load 8(invocation)
+ 330: 24(i16vec4) GroupNonUniformShuffleXor 43 328 329
+ 331: 269(ptr) AccessChain 34(data) 326 76
+ Store 331 330
+ 332: 6(int) Load 8(invocation)
+ 335: 334(ptr) AccessChain 34(data) 37 333 38
+ 336: 25(int64_t) Load 335
+ 337: 6(int) Load 8(invocation)
+ 338: 25(int64_t) GroupNonUniformShuffle 43 336 337
+ 339: 334(ptr) AccessChain 34(data) 332 333 38
+ Store 339 338
+ 340: 6(int) Load 8(invocation)
+ 343: 342(ptr) AccessChain 34(data) 47 333
+ 344: 26(i64vec4) Load 343
+ 345:341(i64vec2) VectorShuffle 344 344 0 1
+ 346: 6(int) Load 8(invocation)
+ 347:341(i64vec2) GroupNonUniformShuffle 43 345 346
+ 348: 334(ptr) AccessChain 34(data) 340 333 38
+ 349: 25(int64_t) CompositeExtract 347 0
+ Store 348 349
+ 350: 334(ptr) AccessChain 34(data) 340 333 57
+ 351: 25(int64_t) CompositeExtract 347 1
+ Store 350 351
352: 6(int) Load 8(invocation)
- 353:318(i64vec3) GroupNonUniformShuffleXor 43 351 352
- 354: 308(ptr) AccessChain 34(data) 348 299
+ 354: 342(ptr) AccessChain 34(data) 61 333
355: 26(i64vec4) Load 354
- 356: 26(i64vec4) VectorShuffle 355 353 4 5 6 3
- Store 354 356
+ 356:353(i64vec3) VectorShuffle 355 355 0 1 2
357: 6(int) Load 8(invocation)
- 358: 308(ptr) AccessChain 34(data) 70 299
- 359: 26(i64vec4) Load 358
- 360: 6(int) Load 8(invocation)
- 361: 26(i64vec4) GroupNonUniformShuffleXor 43 359 360
- 362: 308(ptr) AccessChain 34(data) 357 299
- Store 362 361
- 363: 6(int) Load 8(invocation)
- 366: 365(ptr) AccessChain 34(data) 37 364 38
- 367: 27(int64_t) Load 366
+ 358:353(i64vec3) GroupNonUniformShuffle 43 356 357
+ 359: 334(ptr) AccessChain 34(data) 352 333 38
+ 360: 25(int64_t) CompositeExtract 358 0
+ Store 359 360
+ 361: 334(ptr) AccessChain 34(data) 352 333 57
+ 362: 25(int64_t) CompositeExtract 358 1
+ Store 361 362
+ 363: 334(ptr) AccessChain 34(data) 352 333 72
+ 364: 25(int64_t) CompositeExtract 358 2
+ Store 363 364
+ 365: 6(int) Load 8(invocation)
+ 366: 342(ptr) AccessChain 34(data) 76 333
+ 367: 26(i64vec4) Load 366
368: 6(int) Load 8(invocation)
- 369: 27(int64_t) GroupNonUniformShuffle 43 367 368
- 370: 365(ptr) AccessChain 34(data) 363 364 38
+ 369: 26(i64vec4) GroupNonUniformShuffle 43 367 368
+ 370: 342(ptr) AccessChain 34(data) 365 333
Store 370 369
371: 6(int) Load 8(invocation)
- 374: 373(ptr) AccessChain 34(data) 47 364
- 375: 28(i64vec4) Load 374
- 376:372(i64vec2) VectorShuffle 375 375 0 1
+ 372: 334(ptr) AccessChain 34(data) 37 333 38
+ 373: 25(int64_t) Load 372
+ 374: 6(int) Load 8(invocation)
+ 375: 25(int64_t) GroupNonUniformShuffleXor 43 373 374
+ 376: 334(ptr) AccessChain 34(data) 371 333 38
+ Store 376 375
377: 6(int) Load 8(invocation)
- 378:372(i64vec2) GroupNonUniformShuffle 43 376 377
- 379: 373(ptr) AccessChain 34(data) 371 364
- 380: 28(i64vec4) Load 379
- 381: 28(i64vec4) VectorShuffle 380 378 4 5 2 3
- Store 379 381
- 382: 6(int) Load 8(invocation)
- 384: 373(ptr) AccessChain 34(data) 59 364
- 385: 28(i64vec4) Load 384
- 386:383(i64vec3) VectorShuffle 385 385 0 1 2
+ 378: 342(ptr) AccessChain 34(data) 47 333
+ 379: 26(i64vec4) Load 378
+ 380:341(i64vec2) VectorShuffle 379 379 0 1
+ 381: 6(int) Load 8(invocation)
+ 382:341(i64vec2) GroupNonUniformShuffleXor 43 380 381
+ 383: 334(ptr) AccessChain 34(data) 377 333 38
+ 384: 25(int64_t) CompositeExtract 382 0
+ Store 383 384
+ 385: 334(ptr) AccessChain 34(data) 377 333 57
+ 386: 25(int64_t) CompositeExtract 382 1
+ Store 385 386
387: 6(int) Load 8(invocation)
- 388:383(i64vec3) GroupNonUniformShuffle 43 386 387
- 389: 373(ptr) AccessChain 34(data) 382 364
- 390: 28(i64vec4) Load 389
- 391: 28(i64vec4) VectorShuffle 390 388 4 5 6 3
- Store 389 391
- 392: 6(int) Load 8(invocation)
- 393: 373(ptr) AccessChain 34(data) 70 364
- 394: 28(i64vec4) Load 393
- 395: 6(int) Load 8(invocation)
- 396: 28(i64vec4) GroupNonUniformShuffle 43 394 395
- 397: 373(ptr) AccessChain 34(data) 392 364
- Store 397 396
- 398: 6(int) Load 8(invocation)
- 399: 365(ptr) AccessChain 34(data) 37 364 38
- 400: 27(int64_t) Load 399
- 401: 6(int) Load 8(invocation)
- 402: 27(int64_t) GroupNonUniformShuffleXor 43 400 401
- 403: 365(ptr) AccessChain 34(data) 398 364 38
- Store 403 402
- 404: 6(int) Load 8(invocation)
- 405: 373(ptr) AccessChain 34(data) 47 364
- 406: 28(i64vec4) Load 405
- 407:372(i64vec2) VectorShuffle 406 406 0 1
- 408: 6(int) Load 8(invocation)
- 409:372(i64vec2) GroupNonUniformShuffleXor 43 407 408
- 410: 373(ptr) AccessChain 34(data) 404 364
- 411: 28(i64vec4) Load 410
- 412: 28(i64vec4) VectorShuffle 411 409 4 5 2 3
- Store 410 412
+ 388: 342(ptr) AccessChain 34(data) 61 333
+ 389: 26(i64vec4) Load 388
+ 390:353(i64vec3) VectorShuffle 389 389 0 1 2
+ 391: 6(int) Load 8(invocation)
+ 392:353(i64vec3) GroupNonUniformShuffleXor 43 390 391
+ 393: 334(ptr) AccessChain 34(data) 387 333 38
+ 394: 25(int64_t) CompositeExtract 392 0
+ Store 393 394
+ 395: 334(ptr) AccessChain 34(data) 387 333 57
+ 396: 25(int64_t) CompositeExtract 392 1
+ Store 395 396
+ 397: 334(ptr) AccessChain 34(data) 387 333 72
+ 398: 25(int64_t) CompositeExtract 392 2
+ Store 397 398
+ 399: 6(int) Load 8(invocation)
+ 400: 342(ptr) AccessChain 34(data) 76 333
+ 401: 26(i64vec4) Load 400
+ 402: 6(int) Load 8(invocation)
+ 403: 26(i64vec4) GroupNonUniformShuffleXor 43 401 402
+ 404: 342(ptr) AccessChain 34(data) 399 333
+ Store 404 403
+ 405: 6(int) Load 8(invocation)
+ 408: 407(ptr) AccessChain 34(data) 37 406 38
+ 409: 27(int64_t) Load 408
+ 410: 6(int) Load 8(invocation)
+ 411: 27(int64_t) GroupNonUniformShuffle 43 409 410
+ 412: 407(ptr) AccessChain 34(data) 405 406 38
+ Store 412 411
413: 6(int) Load 8(invocation)
- 414: 373(ptr) AccessChain 34(data) 59 364
- 415: 28(i64vec4) Load 414
- 416:383(i64vec3) VectorShuffle 415 415 0 1 2
- 417: 6(int) Load 8(invocation)
- 418:383(i64vec3) GroupNonUniformShuffleXor 43 416 417
- 419: 373(ptr) AccessChain 34(data) 413 364
- 420: 28(i64vec4) Load 419
- 421: 28(i64vec4) VectorShuffle 420 418 4 5 6 3
- Store 419 421
- 422: 6(int) Load 8(invocation)
- 423: 373(ptr) AccessChain 34(data) 70 364
- 424: 28(i64vec4) Load 423
+ 416: 415(ptr) AccessChain 34(data) 47 406
+ 417: 28(i64vec4) Load 416
+ 418:414(i64vec2) VectorShuffle 417 417 0 1
+ 419: 6(int) Load 8(invocation)
+ 420:414(i64vec2) GroupNonUniformShuffle 43 418 419
+ 421: 407(ptr) AccessChain 34(data) 413 406 38
+ 422: 27(int64_t) CompositeExtract 420 0
+ Store 421 422
+ 423: 407(ptr) AccessChain 34(data) 413 406 57
+ 424: 27(int64_t) CompositeExtract 420 1
+ Store 423 424
425: 6(int) Load 8(invocation)
- 426: 28(i64vec4) GroupNonUniformShuffleXor 43 424 425
- 427: 373(ptr) AccessChain 34(data) 422 364
- Store 427 426
- 428: 6(int) Load 8(invocation)
- 431: 430(ptr) AccessChain 34(data) 37 429 38
- 432:29(float16_t) Load 431
- 433: 6(int) Load 8(invocation)
- 434:29(float16_t) GroupNonUniformShuffle 43 432 433
- 435: 430(ptr) AccessChain 34(data) 428 429 38
- Store 435 434
- 436: 6(int) Load 8(invocation)
- 439: 438(ptr) AccessChain 34(data) 47 429
- 440: 30(f16vec4) Load 439
- 441:437(f16vec2) VectorShuffle 440 440 0 1
- 442: 6(int) Load 8(invocation)
- 443:437(f16vec2) GroupNonUniformShuffle 43 441 442
- 444: 438(ptr) AccessChain 34(data) 436 429
- 445: 30(f16vec4) Load 444
- 446: 30(f16vec4) VectorShuffle 445 443 4 5 2 3
- Store 444 446
+ 427: 415(ptr) AccessChain 34(data) 61 406
+ 428: 28(i64vec4) Load 427
+ 429:426(i64vec3) VectorShuffle 428 428 0 1 2
+ 430: 6(int) Load 8(invocation)
+ 431:426(i64vec3) GroupNonUniformShuffle 43 429 430
+ 432: 407(ptr) AccessChain 34(data) 425 406 38
+ 433: 27(int64_t) CompositeExtract 431 0
+ Store 432 433
+ 434: 407(ptr) AccessChain 34(data) 425 406 57
+ 435: 27(int64_t) CompositeExtract 431 1
+ Store 434 435
+ 436: 407(ptr) AccessChain 34(data) 425 406 72
+ 437: 27(int64_t) CompositeExtract 431 2
+ Store 436 437
+ 438: 6(int) Load 8(invocation)
+ 439: 415(ptr) AccessChain 34(data) 76 406
+ 440: 28(i64vec4) Load 439
+ 441: 6(int) Load 8(invocation)
+ 442: 28(i64vec4) GroupNonUniformShuffle 43 440 441
+ 443: 415(ptr) AccessChain 34(data) 438 406
+ Store 443 442
+ 444: 6(int) Load 8(invocation)
+ 445: 407(ptr) AccessChain 34(data) 37 406 38
+ 446: 27(int64_t) Load 445
447: 6(int) Load 8(invocation)
- 449: 438(ptr) AccessChain 34(data) 59 429
- 450: 30(f16vec4) Load 449
- 451:448(f16vec3) VectorShuffle 450 450 0 1 2
- 452: 6(int) Load 8(invocation)
- 453:448(f16vec3) GroupNonUniformShuffle 43 451 452
- 454: 438(ptr) AccessChain 34(data) 447 429
- 455: 30(f16vec4) Load 454
- 456: 30(f16vec4) VectorShuffle 455 453 4 5 6 3
- Store 454 456
- 457: 6(int) Load 8(invocation)
- 458: 438(ptr) AccessChain 34(data) 70 429
- 459: 30(f16vec4) Load 458
+ 448: 27(int64_t) GroupNonUniformShuffleXor 43 446 447
+ 449: 407(ptr) AccessChain 34(data) 444 406 38
+ Store 449 448
+ 450: 6(int) Load 8(invocation)
+ 451: 415(ptr) AccessChain 34(data) 47 406
+ 452: 28(i64vec4) Load 451
+ 453:414(i64vec2) VectorShuffle 452 452 0 1
+ 454: 6(int) Load 8(invocation)
+ 455:414(i64vec2) GroupNonUniformShuffleXor 43 453 454
+ 456: 407(ptr) AccessChain 34(data) 450 406 38
+ 457: 27(int64_t) CompositeExtract 455 0
+ Store 456 457
+ 458: 407(ptr) AccessChain 34(data) 450 406 57
+ 459: 27(int64_t) CompositeExtract 455 1
+ Store 458 459
460: 6(int) Load 8(invocation)
- 461: 30(f16vec4) GroupNonUniformShuffle 43 459 460
- 462: 438(ptr) AccessChain 34(data) 457 429
- Store 462 461
- 463: 6(int) Load 8(invocation)
- 464: 430(ptr) AccessChain 34(data) 37 429 38
- 465:29(float16_t) Load 464
- 466: 6(int) Load 8(invocation)
- 467:29(float16_t) GroupNonUniformShuffleXor 43 465 466
- 468: 430(ptr) AccessChain 34(data) 463 429 38
- Store 468 467
- 469: 6(int) Load 8(invocation)
- 470: 438(ptr) AccessChain 34(data) 47 429
- 471: 30(f16vec4) Load 470
- 472:437(f16vec2) VectorShuffle 471 471 0 1
- 473: 6(int) Load 8(invocation)
- 474:437(f16vec2) GroupNonUniformShuffleXor 43 472 473
- 475: 438(ptr) AccessChain 34(data) 469 429
- 476: 30(f16vec4) Load 475
- 477: 30(f16vec4) VectorShuffle 476 474 4 5 2 3
- Store 475 477
+ 461: 415(ptr) AccessChain 34(data) 61 406
+ 462: 28(i64vec4) Load 461
+ 463:426(i64vec3) VectorShuffle 462 462 0 1 2
+ 464: 6(int) Load 8(invocation)
+ 465:426(i64vec3) GroupNonUniformShuffleXor 43 463 464
+ 466: 407(ptr) AccessChain 34(data) 460 406 38
+ 467: 27(int64_t) CompositeExtract 465 0
+ Store 466 467
+ 468: 407(ptr) AccessChain 34(data) 460 406 57
+ 469: 27(int64_t) CompositeExtract 465 1
+ Store 468 469
+ 470: 407(ptr) AccessChain 34(data) 460 406 72
+ 471: 27(int64_t) CompositeExtract 465 2
+ Store 470 471
+ 472: 6(int) Load 8(invocation)
+ 473: 415(ptr) AccessChain 34(data) 76 406
+ 474: 28(i64vec4) Load 473
+ 475: 6(int) Load 8(invocation)
+ 476: 28(i64vec4) GroupNonUniformShuffleXor 43 474 475
+ 477: 415(ptr) AccessChain 34(data) 472 406
+ Store 477 476
478: 6(int) Load 8(invocation)
- 479: 438(ptr) AccessChain 34(data) 59 429
- 480: 30(f16vec4) Load 479
- 481:448(f16vec3) VectorShuffle 480 480 0 1 2
- 482: 6(int) Load 8(invocation)
- 483:448(f16vec3) GroupNonUniformShuffleXor 43 481 482
- 484: 438(ptr) AccessChain 34(data) 478 429
- 485: 30(f16vec4) Load 484
- 486: 30(f16vec4) VectorShuffle 485 483 4 5 6 3
- Store 484 486
- 487: 6(int) Load 8(invocation)
- 488: 438(ptr) AccessChain 34(data) 70 429
- 489: 30(f16vec4) Load 488
- 490: 6(int) Load 8(invocation)
- 491: 30(f16vec4) GroupNonUniformShuffleXor 43 489 490
- 492: 438(ptr) AccessChain 34(data) 487 429
- Store 492 491
+ 481: 480(ptr) AccessChain 34(data) 37 479 38
+ 482:29(float16_t) Load 481
+ 483: 6(int) Load 8(invocation)
+ 484:29(float16_t) GroupNonUniformShuffle 43 482 483
+ 485: 480(ptr) AccessChain 34(data) 478 479 38
+ Store 485 484
+ 486: 6(int) Load 8(invocation)
+ 489: 488(ptr) AccessChain 34(data) 47 479
+ 490: 30(f16vec4) Load 489
+ 491:487(f16vec2) VectorShuffle 490 490 0 1
+ 492: 6(int) Load 8(invocation)
+ 493:487(f16vec2) GroupNonUniformShuffle 43 491 492
+ 494: 480(ptr) AccessChain 34(data) 486 479 38
+ 495:29(float16_t) CompositeExtract 493 0
+ Store 494 495
+ 496: 480(ptr) AccessChain 34(data) 486 479 57
+ 497:29(float16_t) CompositeExtract 493 1
+ Store 496 497
+ 498: 6(int) Load 8(invocation)
+ 500: 488(ptr) AccessChain 34(data) 61 479
+ 501: 30(f16vec4) Load 500
+ 502:499(f16vec3) VectorShuffle 501 501 0 1 2
+ 503: 6(int) Load 8(invocation)
+ 504:499(f16vec3) GroupNonUniformShuffle 43 502 503
+ 505: 480(ptr) AccessChain 34(data) 498 479 38
+ 506:29(float16_t) CompositeExtract 504 0
+ Store 505 506
+ 507: 480(ptr) AccessChain 34(data) 498 479 57
+ 508:29(float16_t) CompositeExtract 504 1
+ Store 507 508
+ 509: 480(ptr) AccessChain 34(data) 498 479 72
+ 510:29(float16_t) CompositeExtract 504 2
+ Store 509 510
+ 511: 6(int) Load 8(invocation)
+ 512: 488(ptr) AccessChain 34(data) 76 479
+ 513: 30(f16vec4) Load 512
+ 514: 6(int) Load 8(invocation)
+ 515: 30(f16vec4) GroupNonUniformShuffle 43 513 514
+ 516: 488(ptr) AccessChain 34(data) 511 479
+ Store 516 515
+ 517: 6(int) Load 8(invocation)
+ 518: 480(ptr) AccessChain 34(data) 37 479 38
+ 519:29(float16_t) Load 518
+ 520: 6(int) Load 8(invocation)
+ 521:29(float16_t) GroupNonUniformShuffleXor 43 519 520
+ 522: 480(ptr) AccessChain 34(data) 517 479 38
+ Store 522 521
+ 523: 6(int) Load 8(invocation)
+ 524: 488(ptr) AccessChain 34(data) 47 479
+ 525: 30(f16vec4) Load 524
+ 526:487(f16vec2) VectorShuffle 525 525 0 1
+ 527: 6(int) Load 8(invocation)
+ 528:487(f16vec2) GroupNonUniformShuffleXor 43 526 527
+ 529: 480(ptr) AccessChain 34(data) 523 479 38
+ 530:29(float16_t) CompositeExtract 528 0
+ Store 529 530
+ 531: 480(ptr) AccessChain 34(data) 523 479 57
+ 532:29(float16_t) CompositeExtract 528 1
+ Store 531 532
+ 533: 6(int) Load 8(invocation)
+ 534: 488(ptr) AccessChain 34(data) 61 479
+ 535: 30(f16vec4) Load 534
+ 536:499(f16vec3) VectorShuffle 535 535 0 1 2
+ 537: 6(int) Load 8(invocation)
+ 538:499(f16vec3) GroupNonUniformShuffleXor 43 536 537
+ 539: 480(ptr) AccessChain 34(data) 533 479 38
+ 540:29(float16_t) CompositeExtract 538 0
+ Store 539 540
+ 541: 480(ptr) AccessChain 34(data) 533 479 57
+ 542:29(float16_t) CompositeExtract 538 1
+ Store 541 542
+ 543: 480(ptr) AccessChain 34(data) 533 479 72
+ 544:29(float16_t) CompositeExtract 538 2
+ Store 543 544
+ 545: 6(int) Load 8(invocation)
+ 546: 488(ptr) AccessChain 34(data) 76 479
+ 547: 30(f16vec4) Load 546
+ 548: 6(int) Load 8(invocation)
+ 549: 30(f16vec4) GroupNonUniformShuffleXor 43 547 548
+ 550: 488(ptr) AccessChain 34(data) 545 479
+ Store 550 549
Return
FunctionEnd
diff --git a/Test/baseResults/spv.subgroupExtendedTypesShuffleRelative.comp.out b/Test/baseResults/spv.subgroupExtendedTypesShuffleRelative.comp.out
index d847be5..8665c46 100644
--- a/Test/baseResults/spv.subgroupExtendedTypesShuffleRelative.comp.out
+++ b/Test/baseResults/spv.subgroupExtendedTypesShuffleRelative.comp.out
@@ -1,7 +1,7 @@
spv.subgroupExtendedTypesShuffleRelative.comp
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 497
+// Id's are bound by 554
Capability Shader
Capability Float16
@@ -59,7 +59,7 @@
Decorate 31(Buffers) Block
Decorate 34(data) DescriptorSet 0
Decorate 34(data) Binding 0
- Decorate 496 BuiltIn WorkgroupSize
+ Decorate 553 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -94,40 +94,41 @@
47: 36(int) Constant 1
48: TypeVector 17(int8_t) 2
49: TypePointer StorageBuffer 18(i8vec4)
- 59: 36(int) Constant 2
- 60: TypeVector 17(int8_t) 3
- 70: 36(int) Constant 3
- 107: TypePointer StorageBuffer 19(int8_t)
- 114: TypeVector 19(int8_t) 2
- 115: TypePointer StorageBuffer 20(i8vec4)
- 125: TypeVector 19(int8_t) 3
- 171: TypePointer StorageBuffer 21(int16_t)
- 178: TypeVector 21(int16_t) 2
- 179: TypePointer StorageBuffer 22(i16vec4)
- 189: TypeVector 21(int16_t) 3
- 235: TypePointer StorageBuffer 23(int16_t)
- 242: TypeVector 23(int16_t) 2
- 243: TypePointer StorageBuffer 24(i16vec4)
- 253: TypeVector 23(int16_t) 3
- 299: 36(int) Constant 4
- 300: TypePointer StorageBuffer 25(int64_t)
- 307: TypeVector 25(int64_t) 2
- 308: TypePointer StorageBuffer 26(i64vec4)
- 318: TypeVector 25(int64_t) 3
- 364: 36(int) Constant 5
- 365: TypePointer StorageBuffer 27(int64_t)
- 372: TypeVector 27(int64_t) 2
- 373: TypePointer StorageBuffer 28(i64vec4)
- 383: TypeVector 27(int64_t) 3
- 429: 36(int) Constant 6
- 430: TypePointer StorageBuffer 29(float16_t)
- 437: TypeVector 29(float16_t) 2
- 438: TypePointer StorageBuffer 30(f16vec4)
- 448: TypeVector 29(float16_t) 3
- 493: TypeVector 6(int) 3
- 494: 6(int) Constant 8
- 495: 6(int) Constant 1
- 496: 493(ivec3) ConstantComposite 494 495 495
+ 57: 6(int) Constant 1
+ 61: 36(int) Constant 2
+ 62: TypeVector 17(int8_t) 3
+ 72: 6(int) Constant 2
+ 76: 36(int) Constant 3
+ 117: TypePointer StorageBuffer 19(int8_t)
+ 124: TypeVector 19(int8_t) 2
+ 125: TypePointer StorageBuffer 20(i8vec4)
+ 136: TypeVector 19(int8_t) 3
+ 189: TypePointer StorageBuffer 21(int16_t)
+ 196: TypeVector 21(int16_t) 2
+ 197: TypePointer StorageBuffer 22(i16vec4)
+ 208: TypeVector 21(int16_t) 3
+ 261: TypePointer StorageBuffer 23(int16_t)
+ 268: TypeVector 23(int16_t) 2
+ 269: TypePointer StorageBuffer 24(i16vec4)
+ 280: TypeVector 23(int16_t) 3
+ 333: 36(int) Constant 4
+ 334: TypePointer StorageBuffer 25(int64_t)
+ 341: TypeVector 25(int64_t) 2
+ 342: TypePointer StorageBuffer 26(i64vec4)
+ 353: TypeVector 25(int64_t) 3
+ 406: 36(int) Constant 5
+ 407: TypePointer StorageBuffer 27(int64_t)
+ 414: TypeVector 27(int64_t) 2
+ 415: TypePointer StorageBuffer 28(i64vec4)
+ 426: TypeVector 27(int64_t) 3
+ 479: 36(int) Constant 6
+ 480: TypePointer StorageBuffer 29(float16_t)
+ 487: TypeVector 29(float16_t) 2
+ 488: TypePointer StorageBuffer 30(f16vec4)
+ 499: TypeVector 29(float16_t) 3
+ 551: TypeVector 6(int) 3
+ 552: 6(int) Constant 8
+ 553: 551(ivec3) ConstantComposite 552 57 57
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@@ -149,468 +150,566 @@
52: 48(i8vec2) VectorShuffle 51 51 0 1
53: 6(int) Load 8(invocation)
54: 48(i8vec2) GroupNonUniformShuffleUp 43 52 53
- 55: 49(ptr) AccessChain 34(data) 46 37
- 56: 18(i8vec4) Load 55
- 57: 18(i8vec4) VectorShuffle 56 54 4 5 2 3
- Store 55 57
- 58: 6(int) Load 8(invocation)
- 61: 49(ptr) AccessChain 34(data) 59 37
- 62: 18(i8vec4) Load 61
- 63: 60(i8vec3) VectorShuffle 62 62 0 1 2
- 64: 6(int) Load 8(invocation)
- 65: 60(i8vec3) GroupNonUniformShuffleUp 43 63 64
- 66: 49(ptr) AccessChain 34(data) 58 37
- 67: 18(i8vec4) Load 66
- 68: 18(i8vec4) VectorShuffle 67 65 4 5 6 3
- Store 66 68
- 69: 6(int) Load 8(invocation)
- 71: 49(ptr) AccessChain 34(data) 70 37
- 72: 18(i8vec4) Load 71
- 73: 6(int) Load 8(invocation)
- 74: 18(i8vec4) GroupNonUniformShuffleUp 43 72 73
- 75: 49(ptr) AccessChain 34(data) 69 37
- Store 75 74
- 76: 6(int) Load 8(invocation)
- 77: 39(ptr) AccessChain 34(data) 37 37 38
- 78: 17(int8_t) Load 77
+ 55: 39(ptr) AccessChain 34(data) 46 37 38
+ 56: 17(int8_t) CompositeExtract 54 0
+ Store 55 56
+ 58: 39(ptr) AccessChain 34(data) 46 37 57
+ 59: 17(int8_t) CompositeExtract 54 1
+ Store 58 59
+ 60: 6(int) Load 8(invocation)
+ 63: 49(ptr) AccessChain 34(data) 61 37
+ 64: 18(i8vec4) Load 63
+ 65: 62(i8vec3) VectorShuffle 64 64 0 1 2
+ 66: 6(int) Load 8(invocation)
+ 67: 62(i8vec3) GroupNonUniformShuffleUp 43 65 66
+ 68: 39(ptr) AccessChain 34(data) 60 37 38
+ 69: 17(int8_t) CompositeExtract 67 0
+ Store 68 69
+ 70: 39(ptr) AccessChain 34(data) 60 37 57
+ 71: 17(int8_t) CompositeExtract 67 1
+ Store 70 71
+ 73: 39(ptr) AccessChain 34(data) 60 37 72
+ 74: 17(int8_t) CompositeExtract 67 2
+ Store 73 74
+ 75: 6(int) Load 8(invocation)
+ 77: 49(ptr) AccessChain 34(data) 76 37
+ 78: 18(i8vec4) Load 77
79: 6(int) Load 8(invocation)
- 80: 17(int8_t) GroupNonUniformShuffleDown 43 78 79
- 81: 39(ptr) AccessChain 34(data) 76 37 38
+ 80: 18(i8vec4) GroupNonUniformShuffleUp 43 78 79
+ 81: 49(ptr) AccessChain 34(data) 75 37
Store 81 80
82: 6(int) Load 8(invocation)
- 83: 49(ptr) AccessChain 34(data) 47 37
- 84: 18(i8vec4) Load 83
- 85: 48(i8vec2) VectorShuffle 84 84 0 1
- 86: 6(int) Load 8(invocation)
- 87: 48(i8vec2) GroupNonUniformShuffleDown 43 85 86
- 88: 49(ptr) AccessChain 34(data) 82 37
- 89: 18(i8vec4) Load 88
- 90: 18(i8vec4) VectorShuffle 89 87 4 5 2 3
- Store 88 90
- 91: 6(int) Load 8(invocation)
- 92: 49(ptr) AccessChain 34(data) 59 37
- 93: 18(i8vec4) Load 92
- 94: 60(i8vec3) VectorShuffle 93 93 0 1 2
- 95: 6(int) Load 8(invocation)
- 96: 60(i8vec3) GroupNonUniformShuffleDown 43 94 95
- 97: 49(ptr) AccessChain 34(data) 91 37
- 98: 18(i8vec4) Load 97
- 99: 18(i8vec4) VectorShuffle 98 96 4 5 6 3
- Store 97 99
- 100: 6(int) Load 8(invocation)
- 101: 49(ptr) AccessChain 34(data) 70 37
- 102: 18(i8vec4) Load 101
- 103: 6(int) Load 8(invocation)
- 104: 18(i8vec4) GroupNonUniformShuffleDown 43 102 103
- 105: 49(ptr) AccessChain 34(data) 100 37
- Store 105 104
- 106: 6(int) Load 8(invocation)
- 108: 107(ptr) AccessChain 34(data) 37 47 38
- 109: 19(int8_t) Load 108
+ 83: 39(ptr) AccessChain 34(data) 37 37 38
+ 84: 17(int8_t) Load 83
+ 85: 6(int) Load 8(invocation)
+ 86: 17(int8_t) GroupNonUniformShuffleDown 43 84 85
+ 87: 39(ptr) AccessChain 34(data) 82 37 38
+ Store 87 86
+ 88: 6(int) Load 8(invocation)
+ 89: 49(ptr) AccessChain 34(data) 47 37
+ 90: 18(i8vec4) Load 89
+ 91: 48(i8vec2) VectorShuffle 90 90 0 1
+ 92: 6(int) Load 8(invocation)
+ 93: 48(i8vec2) GroupNonUniformShuffleDown 43 91 92
+ 94: 39(ptr) AccessChain 34(data) 88 37 38
+ 95: 17(int8_t) CompositeExtract 93 0
+ Store 94 95
+ 96: 39(ptr) AccessChain 34(data) 88 37 57
+ 97: 17(int8_t) CompositeExtract 93 1
+ Store 96 97
+ 98: 6(int) Load 8(invocation)
+ 99: 49(ptr) AccessChain 34(data) 61 37
+ 100: 18(i8vec4) Load 99
+ 101: 62(i8vec3) VectorShuffle 100 100 0 1 2
+ 102: 6(int) Load 8(invocation)
+ 103: 62(i8vec3) GroupNonUniformShuffleDown 43 101 102
+ 104: 39(ptr) AccessChain 34(data) 98 37 38
+ 105: 17(int8_t) CompositeExtract 103 0
+ Store 104 105
+ 106: 39(ptr) AccessChain 34(data) 98 37 57
+ 107: 17(int8_t) CompositeExtract 103 1
+ Store 106 107
+ 108: 39(ptr) AccessChain 34(data) 98 37 72
+ 109: 17(int8_t) CompositeExtract 103 2
+ Store 108 109
110: 6(int) Load 8(invocation)
- 111: 19(int8_t) GroupNonUniformShuffleUp 43 109 110
- 112: 107(ptr) AccessChain 34(data) 106 47 38
- Store 112 111
+ 111: 49(ptr) AccessChain 34(data) 76 37
+ 112: 18(i8vec4) Load 111
113: 6(int) Load 8(invocation)
- 116: 115(ptr) AccessChain 34(data) 47 47
- 117: 20(i8vec4) Load 116
- 118: 114(i8vec2) VectorShuffle 117 117 0 1
- 119: 6(int) Load 8(invocation)
- 120: 114(i8vec2) GroupNonUniformShuffleUp 43 118 119
- 121: 115(ptr) AccessChain 34(data) 113 47
- 122: 20(i8vec4) Load 121
- 123: 20(i8vec4) VectorShuffle 122 120 4 5 2 3
- Store 121 123
- 124: 6(int) Load 8(invocation)
- 126: 115(ptr) AccessChain 34(data) 59 47
+ 114: 18(i8vec4) GroupNonUniformShuffleDown 43 112 113
+ 115: 49(ptr) AccessChain 34(data) 110 37
+ Store 115 114
+ 116: 6(int) Load 8(invocation)
+ 118: 117(ptr) AccessChain 34(data) 37 47 38
+ 119: 19(int8_t) Load 118
+ 120: 6(int) Load 8(invocation)
+ 121: 19(int8_t) GroupNonUniformShuffleUp 43 119 120
+ 122: 117(ptr) AccessChain 34(data) 116 47 38
+ Store 122 121
+ 123: 6(int) Load 8(invocation)
+ 126: 125(ptr) AccessChain 34(data) 47 47
127: 20(i8vec4) Load 126
- 128: 125(i8vec3) VectorShuffle 127 127 0 1 2
+ 128: 124(i8vec2) VectorShuffle 127 127 0 1
129: 6(int) Load 8(invocation)
- 130: 125(i8vec3) GroupNonUniformShuffleUp 43 128 129
- 131: 115(ptr) AccessChain 34(data) 124 47
- 132: 20(i8vec4) Load 131
- 133: 20(i8vec4) VectorShuffle 132 130 4 5 6 3
- Store 131 133
- 134: 6(int) Load 8(invocation)
- 135: 115(ptr) AccessChain 34(data) 70 47
- 136: 20(i8vec4) Load 135
- 137: 6(int) Load 8(invocation)
- 138: 20(i8vec4) GroupNonUniformShuffleUp 43 136 137
- 139: 115(ptr) AccessChain 34(data) 134 47
- Store 139 138
+ 130: 124(i8vec2) GroupNonUniformShuffleUp 43 128 129
+ 131: 117(ptr) AccessChain 34(data) 123 47 38
+ 132: 19(int8_t) CompositeExtract 130 0
+ Store 131 132
+ 133: 117(ptr) AccessChain 34(data) 123 47 57
+ 134: 19(int8_t) CompositeExtract 130 1
+ Store 133 134
+ 135: 6(int) Load 8(invocation)
+ 137: 125(ptr) AccessChain 34(data) 61 47
+ 138: 20(i8vec4) Load 137
+ 139: 136(i8vec3) VectorShuffle 138 138 0 1 2
140: 6(int) Load 8(invocation)
- 141: 107(ptr) AccessChain 34(data) 37 47 38
- 142: 19(int8_t) Load 141
- 143: 6(int) Load 8(invocation)
- 144: 19(int8_t) GroupNonUniformShuffleDown 43 142 143
- 145: 107(ptr) AccessChain 34(data) 140 47 38
- Store 145 144
- 146: 6(int) Load 8(invocation)
- 147: 115(ptr) AccessChain 34(data) 47 47
- 148: 20(i8vec4) Load 147
- 149: 114(i8vec2) VectorShuffle 148 148 0 1
- 150: 6(int) Load 8(invocation)
- 151: 114(i8vec2) GroupNonUniformShuffleDown 43 149 150
- 152: 115(ptr) AccessChain 34(data) 146 47
- 153: 20(i8vec4) Load 152
- 154: 20(i8vec4) VectorShuffle 153 151 4 5 2 3
- Store 152 154
- 155: 6(int) Load 8(invocation)
- 156: 115(ptr) AccessChain 34(data) 59 47
- 157: 20(i8vec4) Load 156
- 158: 125(i8vec3) VectorShuffle 157 157 0 1 2
- 159: 6(int) Load 8(invocation)
- 160: 125(i8vec3) GroupNonUniformShuffleDown 43 158 159
- 161: 115(ptr) AccessChain 34(data) 155 47
+ 141: 136(i8vec3) GroupNonUniformShuffleUp 43 139 140
+ 142: 117(ptr) AccessChain 34(data) 135 47 38
+ 143: 19(int8_t) CompositeExtract 141 0
+ Store 142 143
+ 144: 117(ptr) AccessChain 34(data) 135 47 57
+ 145: 19(int8_t) CompositeExtract 141 1
+ Store 144 145
+ 146: 117(ptr) AccessChain 34(data) 135 47 72
+ 147: 19(int8_t) CompositeExtract 141 2
+ Store 146 147
+ 148: 6(int) Load 8(invocation)
+ 149: 125(ptr) AccessChain 34(data) 76 47
+ 150: 20(i8vec4) Load 149
+ 151: 6(int) Load 8(invocation)
+ 152: 20(i8vec4) GroupNonUniformShuffleUp 43 150 151
+ 153: 125(ptr) AccessChain 34(data) 148 47
+ Store 153 152
+ 154: 6(int) Load 8(invocation)
+ 155: 117(ptr) AccessChain 34(data) 37 47 38
+ 156: 19(int8_t) Load 155
+ 157: 6(int) Load 8(invocation)
+ 158: 19(int8_t) GroupNonUniformShuffleDown 43 156 157
+ 159: 117(ptr) AccessChain 34(data) 154 47 38
+ Store 159 158
+ 160: 6(int) Load 8(invocation)
+ 161: 125(ptr) AccessChain 34(data) 47 47
162: 20(i8vec4) Load 161
- 163: 20(i8vec4) VectorShuffle 162 160 4 5 6 3
- Store 161 163
+ 163: 124(i8vec2) VectorShuffle 162 162 0 1
164: 6(int) Load 8(invocation)
- 165: 115(ptr) AccessChain 34(data) 70 47
- 166: 20(i8vec4) Load 165
- 167: 6(int) Load 8(invocation)
- 168: 20(i8vec4) GroupNonUniformShuffleDown 43 166 167
- 169: 115(ptr) AccessChain 34(data) 164 47
- Store 169 168
+ 165: 124(i8vec2) GroupNonUniformShuffleDown 43 163 164
+ 166: 117(ptr) AccessChain 34(data) 160 47 38
+ 167: 19(int8_t) CompositeExtract 165 0
+ Store 166 167
+ 168: 117(ptr) AccessChain 34(data) 160 47 57
+ 169: 19(int8_t) CompositeExtract 165 1
+ Store 168 169
170: 6(int) Load 8(invocation)
- 172: 171(ptr) AccessChain 34(data) 37 59 38
- 173: 21(int16_t) Load 172
+ 171: 125(ptr) AccessChain 34(data) 61 47
+ 172: 20(i8vec4) Load 171
+ 173: 136(i8vec3) VectorShuffle 172 172 0 1 2
174: 6(int) Load 8(invocation)
- 175: 21(int16_t) GroupNonUniformShuffleUp 43 173 174
- 176: 171(ptr) AccessChain 34(data) 170 59 38
- Store 176 175
- 177: 6(int) Load 8(invocation)
- 180: 179(ptr) AccessChain 34(data) 47 59
- 181: 22(i16vec4) Load 180
- 182:178(i16vec2) VectorShuffle 181 181 0 1
- 183: 6(int) Load 8(invocation)
- 184:178(i16vec2) GroupNonUniformShuffleUp 43 182 183
- 185: 179(ptr) AccessChain 34(data) 177 59
- 186: 22(i16vec4) Load 185
- 187: 22(i16vec4) VectorShuffle 186 184 4 5 2 3
- Store 185 187
+ 175: 136(i8vec3) GroupNonUniformShuffleDown 43 173 174
+ 176: 117(ptr) AccessChain 34(data) 170 47 38
+ 177: 19(int8_t) CompositeExtract 175 0
+ Store 176 177
+ 178: 117(ptr) AccessChain 34(data) 170 47 57
+ 179: 19(int8_t) CompositeExtract 175 1
+ Store 178 179
+ 180: 117(ptr) AccessChain 34(data) 170 47 72
+ 181: 19(int8_t) CompositeExtract 175 2
+ Store 180 181
+ 182: 6(int) Load 8(invocation)
+ 183: 125(ptr) AccessChain 34(data) 76 47
+ 184: 20(i8vec4) Load 183
+ 185: 6(int) Load 8(invocation)
+ 186: 20(i8vec4) GroupNonUniformShuffleDown 43 184 185
+ 187: 125(ptr) AccessChain 34(data) 182 47
+ Store 187 186
188: 6(int) Load 8(invocation)
- 190: 179(ptr) AccessChain 34(data) 59 59
- 191: 22(i16vec4) Load 190
- 192:189(i16vec3) VectorShuffle 191 191 0 1 2
- 193: 6(int) Load 8(invocation)
- 194:189(i16vec3) GroupNonUniformShuffleUp 43 192 193
- 195: 179(ptr) AccessChain 34(data) 188 59
- 196: 22(i16vec4) Load 195
- 197: 22(i16vec4) VectorShuffle 196 194 4 5 6 3
- Store 195 197
- 198: 6(int) Load 8(invocation)
- 199: 179(ptr) AccessChain 34(data) 70 59
- 200: 22(i16vec4) Load 199
+ 190: 189(ptr) AccessChain 34(data) 37 61 38
+ 191: 21(int16_t) Load 190
+ 192: 6(int) Load 8(invocation)
+ 193: 21(int16_t) GroupNonUniformShuffleUp 43 191 192
+ 194: 189(ptr) AccessChain 34(data) 188 61 38
+ Store 194 193
+ 195: 6(int) Load 8(invocation)
+ 198: 197(ptr) AccessChain 34(data) 47 61
+ 199: 22(i16vec4) Load 198
+ 200:196(i16vec2) VectorShuffle 199 199 0 1
201: 6(int) Load 8(invocation)
- 202: 22(i16vec4) GroupNonUniformShuffleUp 43 200 201
- 203: 179(ptr) AccessChain 34(data) 198 59
- Store 203 202
- 204: 6(int) Load 8(invocation)
- 205: 171(ptr) AccessChain 34(data) 37 59 38
- 206: 21(int16_t) Load 205
+ 202:196(i16vec2) GroupNonUniformShuffleUp 43 200 201
+ 203: 189(ptr) AccessChain 34(data) 195 61 38
+ 204: 21(int16_t) CompositeExtract 202 0
+ Store 203 204
+ 205: 189(ptr) AccessChain 34(data) 195 61 57
+ 206: 21(int16_t) CompositeExtract 202 1
+ Store 205 206
207: 6(int) Load 8(invocation)
- 208: 21(int16_t) GroupNonUniformShuffleDown 43 206 207
- 209: 171(ptr) AccessChain 34(data) 204 59 38
- Store 209 208
- 210: 6(int) Load 8(invocation)
- 211: 179(ptr) AccessChain 34(data) 47 59
- 212: 22(i16vec4) Load 211
- 213:178(i16vec2) VectorShuffle 212 212 0 1
- 214: 6(int) Load 8(invocation)
- 215:178(i16vec2) GroupNonUniformShuffleDown 43 213 214
- 216: 179(ptr) AccessChain 34(data) 210 59
- 217: 22(i16vec4) Load 216
- 218: 22(i16vec4) VectorShuffle 217 215 4 5 2 3
- Store 216 218
- 219: 6(int) Load 8(invocation)
- 220: 179(ptr) AccessChain 34(data) 59 59
- 221: 22(i16vec4) Load 220
- 222:189(i16vec3) VectorShuffle 221 221 0 1 2
+ 209: 197(ptr) AccessChain 34(data) 61 61
+ 210: 22(i16vec4) Load 209
+ 211:208(i16vec3) VectorShuffle 210 210 0 1 2
+ 212: 6(int) Load 8(invocation)
+ 213:208(i16vec3) GroupNonUniformShuffleUp 43 211 212
+ 214: 189(ptr) AccessChain 34(data) 207 61 38
+ 215: 21(int16_t) CompositeExtract 213 0
+ Store 214 215
+ 216: 189(ptr) AccessChain 34(data) 207 61 57
+ 217: 21(int16_t) CompositeExtract 213 1
+ Store 216 217
+ 218: 189(ptr) AccessChain 34(data) 207 61 72
+ 219: 21(int16_t) CompositeExtract 213 2
+ Store 218 219
+ 220: 6(int) Load 8(invocation)
+ 221: 197(ptr) AccessChain 34(data) 76 61
+ 222: 22(i16vec4) Load 221
223: 6(int) Load 8(invocation)
- 224:189(i16vec3) GroupNonUniformShuffleDown 43 222 223
- 225: 179(ptr) AccessChain 34(data) 219 59
- 226: 22(i16vec4) Load 225
- 227: 22(i16vec4) VectorShuffle 226 224 4 5 6 3
- Store 225 227
- 228: 6(int) Load 8(invocation)
- 229: 179(ptr) AccessChain 34(data) 70 59
- 230: 22(i16vec4) Load 229
- 231: 6(int) Load 8(invocation)
- 232: 22(i16vec4) GroupNonUniformShuffleDown 43 230 231
- 233: 179(ptr) AccessChain 34(data) 228 59
- Store 233 232
- 234: 6(int) Load 8(invocation)
- 236: 235(ptr) AccessChain 34(data) 37 70 38
- 237: 23(int16_t) Load 236
- 238: 6(int) Load 8(invocation)
- 239: 23(int16_t) GroupNonUniformShuffleUp 43 237 238
- 240: 235(ptr) AccessChain 34(data) 234 70 38
- Store 240 239
- 241: 6(int) Load 8(invocation)
- 244: 243(ptr) AccessChain 34(data) 47 70
- 245: 24(i16vec4) Load 244
- 246:242(i16vec2) VectorShuffle 245 245 0 1
- 247: 6(int) Load 8(invocation)
- 248:242(i16vec2) GroupNonUniformShuffleUp 43 246 247
- 249: 243(ptr) AccessChain 34(data) 241 70
- 250: 24(i16vec4) Load 249
- 251: 24(i16vec4) VectorShuffle 250 248 4 5 2 3
- Store 249 251
- 252: 6(int) Load 8(invocation)
- 254: 243(ptr) AccessChain 34(data) 59 70
- 255: 24(i16vec4) Load 254
- 256:253(i16vec3) VectorShuffle 255 255 0 1 2
+ 224: 22(i16vec4) GroupNonUniformShuffleUp 43 222 223
+ 225: 197(ptr) AccessChain 34(data) 220 61
+ Store 225 224
+ 226: 6(int) Load 8(invocation)
+ 227: 189(ptr) AccessChain 34(data) 37 61 38
+ 228: 21(int16_t) Load 227
+ 229: 6(int) Load 8(invocation)
+ 230: 21(int16_t) GroupNonUniformShuffleDown 43 228 229
+ 231: 189(ptr) AccessChain 34(data) 226 61 38
+ Store 231 230
+ 232: 6(int) Load 8(invocation)
+ 233: 197(ptr) AccessChain 34(data) 47 61
+ 234: 22(i16vec4) Load 233
+ 235:196(i16vec2) VectorShuffle 234 234 0 1
+ 236: 6(int) Load 8(invocation)
+ 237:196(i16vec2) GroupNonUniformShuffleDown 43 235 236
+ 238: 189(ptr) AccessChain 34(data) 232 61 38
+ 239: 21(int16_t) CompositeExtract 237 0
+ Store 238 239
+ 240: 189(ptr) AccessChain 34(data) 232 61 57
+ 241: 21(int16_t) CompositeExtract 237 1
+ Store 240 241
+ 242: 6(int) Load 8(invocation)
+ 243: 197(ptr) AccessChain 34(data) 61 61
+ 244: 22(i16vec4) Load 243
+ 245:208(i16vec3) VectorShuffle 244 244 0 1 2
+ 246: 6(int) Load 8(invocation)
+ 247:208(i16vec3) GroupNonUniformShuffleDown 43 245 246
+ 248: 189(ptr) AccessChain 34(data) 242 61 38
+ 249: 21(int16_t) CompositeExtract 247 0
+ Store 248 249
+ 250: 189(ptr) AccessChain 34(data) 242 61 57
+ 251: 21(int16_t) CompositeExtract 247 1
+ Store 250 251
+ 252: 189(ptr) AccessChain 34(data) 242 61 72
+ 253: 21(int16_t) CompositeExtract 247 2
+ Store 252 253
+ 254: 6(int) Load 8(invocation)
+ 255: 197(ptr) AccessChain 34(data) 76 61
+ 256: 22(i16vec4) Load 255
257: 6(int) Load 8(invocation)
- 258:253(i16vec3) GroupNonUniformShuffleUp 43 256 257
- 259: 243(ptr) AccessChain 34(data) 252 70
- 260: 24(i16vec4) Load 259
- 261: 24(i16vec4) VectorShuffle 260 258 4 5 6 3
- Store 259 261
- 262: 6(int) Load 8(invocation)
- 263: 243(ptr) AccessChain 34(data) 70 70
- 264: 24(i16vec4) Load 263
- 265: 6(int) Load 8(invocation)
- 266: 24(i16vec4) GroupNonUniformShuffleUp 43 264 265
- 267: 243(ptr) AccessChain 34(data) 262 70
- Store 267 266
- 268: 6(int) Load 8(invocation)
- 269: 235(ptr) AccessChain 34(data) 37 70 38
- 270: 23(int16_t) Load 269
- 271: 6(int) Load 8(invocation)
- 272: 23(int16_t) GroupNonUniformShuffleDown 43 270 271
- 273: 235(ptr) AccessChain 34(data) 268 70 38
- Store 273 272
- 274: 6(int) Load 8(invocation)
- 275: 243(ptr) AccessChain 34(data) 47 70
- 276: 24(i16vec4) Load 275
- 277:242(i16vec2) VectorShuffle 276 276 0 1
- 278: 6(int) Load 8(invocation)
- 279:242(i16vec2) GroupNonUniformShuffleDown 43 277 278
- 280: 243(ptr) AccessChain 34(data) 274 70
- 281: 24(i16vec4) Load 280
- 282: 24(i16vec4) VectorShuffle 281 279 4 5 2 3
- Store 280 282
- 283: 6(int) Load 8(invocation)
- 284: 243(ptr) AccessChain 34(data) 59 70
- 285: 24(i16vec4) Load 284
- 286:253(i16vec3) VectorShuffle 285 285 0 1 2
- 287: 6(int) Load 8(invocation)
- 288:253(i16vec3) GroupNonUniformShuffleDown 43 286 287
- 289: 243(ptr) AccessChain 34(data) 283 70
- 290: 24(i16vec4) Load 289
- 291: 24(i16vec4) VectorShuffle 290 288 4 5 6 3
- Store 289 291
+ 258: 22(i16vec4) GroupNonUniformShuffleDown 43 256 257
+ 259: 197(ptr) AccessChain 34(data) 254 61
+ Store 259 258
+ 260: 6(int) Load 8(invocation)
+ 262: 261(ptr) AccessChain 34(data) 37 76 38
+ 263: 23(int16_t) Load 262
+ 264: 6(int) Load 8(invocation)
+ 265: 23(int16_t) GroupNonUniformShuffleUp 43 263 264
+ 266: 261(ptr) AccessChain 34(data) 260 76 38
+ Store 266 265
+ 267: 6(int) Load 8(invocation)
+ 270: 269(ptr) AccessChain 34(data) 47 76
+ 271: 24(i16vec4) Load 270
+ 272:268(i16vec2) VectorShuffle 271 271 0 1
+ 273: 6(int) Load 8(invocation)
+ 274:268(i16vec2) GroupNonUniformShuffleUp 43 272 273
+ 275: 261(ptr) AccessChain 34(data) 267 76 38
+ 276: 23(int16_t) CompositeExtract 274 0
+ Store 275 276
+ 277: 261(ptr) AccessChain 34(data) 267 76 57
+ 278: 23(int16_t) CompositeExtract 274 1
+ Store 277 278
+ 279: 6(int) Load 8(invocation)
+ 281: 269(ptr) AccessChain 34(data) 61 76
+ 282: 24(i16vec4) Load 281
+ 283:280(i16vec3) VectorShuffle 282 282 0 1 2
+ 284: 6(int) Load 8(invocation)
+ 285:280(i16vec3) GroupNonUniformShuffleUp 43 283 284
+ 286: 261(ptr) AccessChain 34(data) 279 76 38
+ 287: 23(int16_t) CompositeExtract 285 0
+ Store 286 287
+ 288: 261(ptr) AccessChain 34(data) 279 76 57
+ 289: 23(int16_t) CompositeExtract 285 1
+ Store 288 289
+ 290: 261(ptr) AccessChain 34(data) 279 76 72
+ 291: 23(int16_t) CompositeExtract 285 2
+ Store 290 291
292: 6(int) Load 8(invocation)
- 293: 243(ptr) AccessChain 34(data) 70 70
+ 293: 269(ptr) AccessChain 34(data) 76 76
294: 24(i16vec4) Load 293
295: 6(int) Load 8(invocation)
- 296: 24(i16vec4) GroupNonUniformShuffleDown 43 294 295
- 297: 243(ptr) AccessChain 34(data) 292 70
+ 296: 24(i16vec4) GroupNonUniformShuffleUp 43 294 295
+ 297: 269(ptr) AccessChain 34(data) 292 76
Store 297 296
298: 6(int) Load 8(invocation)
- 301: 300(ptr) AccessChain 34(data) 37 299 38
- 302: 25(int64_t) Load 301
- 303: 6(int) Load 8(invocation)
- 304: 25(int64_t) GroupNonUniformShuffleUp 43 302 303
- 305: 300(ptr) AccessChain 34(data) 298 299 38
- Store 305 304
- 306: 6(int) Load 8(invocation)
- 309: 308(ptr) AccessChain 34(data) 47 299
- 310: 26(i64vec4) Load 309
- 311:307(i64vec2) VectorShuffle 310 310 0 1
- 312: 6(int) Load 8(invocation)
- 313:307(i64vec2) GroupNonUniformShuffleUp 43 311 312
- 314: 308(ptr) AccessChain 34(data) 306 299
- 315: 26(i64vec4) Load 314
- 316: 26(i64vec4) VectorShuffle 315 313 4 5 2 3
- Store 314 316
- 317: 6(int) Load 8(invocation)
- 319: 308(ptr) AccessChain 34(data) 59 299
- 320: 26(i64vec4) Load 319
- 321:318(i64vec3) VectorShuffle 320 320 0 1 2
- 322: 6(int) Load 8(invocation)
- 323:318(i64vec3) GroupNonUniformShuffleUp 43 321 322
- 324: 308(ptr) AccessChain 34(data) 317 299
- 325: 26(i64vec4) Load 324
- 326: 26(i64vec4) VectorShuffle 325 323 4 5 6 3
- Store 324 326
- 327: 6(int) Load 8(invocation)
- 328: 308(ptr) AccessChain 34(data) 70 299
- 329: 26(i64vec4) Load 328
- 330: 6(int) Load 8(invocation)
- 331: 26(i64vec4) GroupNonUniformShuffleUp 43 329 330
- 332: 308(ptr) AccessChain 34(data) 327 299
- Store 332 331
- 333: 6(int) Load 8(invocation)
- 334: 300(ptr) AccessChain 34(data) 37 299 38
- 335: 25(int64_t) Load 334
- 336: 6(int) Load 8(invocation)
- 337: 25(int64_t) GroupNonUniformShuffleDown 43 335 336
- 338: 300(ptr) AccessChain 34(data) 333 299 38
- Store 338 337
- 339: 6(int) Load 8(invocation)
- 340: 308(ptr) AccessChain 34(data) 47 299
- 341: 26(i64vec4) Load 340
- 342:307(i64vec2) VectorShuffle 341 341 0 1
- 343: 6(int) Load 8(invocation)
- 344:307(i64vec2) GroupNonUniformShuffleDown 43 342 343
- 345: 308(ptr) AccessChain 34(data) 339 299
- 346: 26(i64vec4) Load 345
- 347: 26(i64vec4) VectorShuffle 346 344 4 5 2 3
- Store 345 347
- 348: 6(int) Load 8(invocation)
- 349: 308(ptr) AccessChain 34(data) 59 299
- 350: 26(i64vec4) Load 349
- 351:318(i64vec3) VectorShuffle 350 350 0 1 2
+ 299: 261(ptr) AccessChain 34(data) 37 76 38
+ 300: 23(int16_t) Load 299
+ 301: 6(int) Load 8(invocation)
+ 302: 23(int16_t) GroupNonUniformShuffleDown 43 300 301
+ 303: 261(ptr) AccessChain 34(data) 298 76 38
+ Store 303 302
+ 304: 6(int) Load 8(invocation)
+ 305: 269(ptr) AccessChain 34(data) 47 76
+ 306: 24(i16vec4) Load 305
+ 307:268(i16vec2) VectorShuffle 306 306 0 1
+ 308: 6(int) Load 8(invocation)
+ 309:268(i16vec2) GroupNonUniformShuffleDown 43 307 308
+ 310: 261(ptr) AccessChain 34(data) 304 76 38
+ 311: 23(int16_t) CompositeExtract 309 0
+ Store 310 311
+ 312: 261(ptr) AccessChain 34(data) 304 76 57
+ 313: 23(int16_t) CompositeExtract 309 1
+ Store 312 313
+ 314: 6(int) Load 8(invocation)
+ 315: 269(ptr) AccessChain 34(data) 61 76
+ 316: 24(i16vec4) Load 315
+ 317:280(i16vec3) VectorShuffle 316 316 0 1 2
+ 318: 6(int) Load 8(invocation)
+ 319:280(i16vec3) GroupNonUniformShuffleDown 43 317 318
+ 320: 261(ptr) AccessChain 34(data) 314 76 38
+ 321: 23(int16_t) CompositeExtract 319 0
+ Store 320 321
+ 322: 261(ptr) AccessChain 34(data) 314 76 57
+ 323: 23(int16_t) CompositeExtract 319 1
+ Store 322 323
+ 324: 261(ptr) AccessChain 34(data) 314 76 72
+ 325: 23(int16_t) CompositeExtract 319 2
+ Store 324 325
+ 326: 6(int) Load 8(invocation)
+ 327: 269(ptr) AccessChain 34(data) 76 76
+ 328: 24(i16vec4) Load 327
+ 329: 6(int) Load 8(invocation)
+ 330: 24(i16vec4) GroupNonUniformShuffleDown 43 328 329
+ 331: 269(ptr) AccessChain 34(data) 326 76
+ Store 331 330
+ 332: 6(int) Load 8(invocation)
+ 335: 334(ptr) AccessChain 34(data) 37 333 38
+ 336: 25(int64_t) Load 335
+ 337: 6(int) Load 8(invocation)
+ 338: 25(int64_t) GroupNonUniformShuffleUp 43 336 337
+ 339: 334(ptr) AccessChain 34(data) 332 333 38
+ Store 339 338
+ 340: 6(int) Load 8(invocation)
+ 343: 342(ptr) AccessChain 34(data) 47 333
+ 344: 26(i64vec4) Load 343
+ 345:341(i64vec2) VectorShuffle 344 344 0 1
+ 346: 6(int) Load 8(invocation)
+ 347:341(i64vec2) GroupNonUniformShuffleUp 43 345 346
+ 348: 334(ptr) AccessChain 34(data) 340 333 38
+ 349: 25(int64_t) CompositeExtract 347 0
+ Store 348 349
+ 350: 334(ptr) AccessChain 34(data) 340 333 57
+ 351: 25(int64_t) CompositeExtract 347 1
+ Store 350 351
352: 6(int) Load 8(invocation)
- 353:318(i64vec3) GroupNonUniformShuffleDown 43 351 352
- 354: 308(ptr) AccessChain 34(data) 348 299
+ 354: 342(ptr) AccessChain 34(data) 61 333
355: 26(i64vec4) Load 354
- 356: 26(i64vec4) VectorShuffle 355 353 4 5 6 3
- Store 354 356
+ 356:353(i64vec3) VectorShuffle 355 355 0 1 2
357: 6(int) Load 8(invocation)
- 358: 308(ptr) AccessChain 34(data) 70 299
- 359: 26(i64vec4) Load 358
- 360: 6(int) Load 8(invocation)
- 361: 26(i64vec4) GroupNonUniformShuffleDown 43 359 360
- 362: 308(ptr) AccessChain 34(data) 357 299
- Store 362 361
- 363: 6(int) Load 8(invocation)
- 366: 365(ptr) AccessChain 34(data) 37 364 38
- 367: 27(int64_t) Load 366
+ 358:353(i64vec3) GroupNonUniformShuffleUp 43 356 357
+ 359: 334(ptr) AccessChain 34(data) 352 333 38
+ 360: 25(int64_t) CompositeExtract 358 0
+ Store 359 360
+ 361: 334(ptr) AccessChain 34(data) 352 333 57
+ 362: 25(int64_t) CompositeExtract 358 1
+ Store 361 362
+ 363: 334(ptr) AccessChain 34(data) 352 333 72
+ 364: 25(int64_t) CompositeExtract 358 2
+ Store 363 364
+ 365: 6(int) Load 8(invocation)
+ 366: 342(ptr) AccessChain 34(data) 76 333
+ 367: 26(i64vec4) Load 366
368: 6(int) Load 8(invocation)
- 369: 27(int64_t) GroupNonUniformShuffleUp 43 367 368
- 370: 365(ptr) AccessChain 34(data) 363 364 38
+ 369: 26(i64vec4) GroupNonUniformShuffleUp 43 367 368
+ 370: 342(ptr) AccessChain 34(data) 365 333
Store 370 369
371: 6(int) Load 8(invocation)
- 374: 373(ptr) AccessChain 34(data) 47 364
- 375: 28(i64vec4) Load 374
- 376:372(i64vec2) VectorShuffle 375 375 0 1
+ 372: 334(ptr) AccessChain 34(data) 37 333 38
+ 373: 25(int64_t) Load 372
+ 374: 6(int) Load 8(invocation)
+ 375: 25(int64_t) GroupNonUniformShuffleDown 43 373 374
+ 376: 334(ptr) AccessChain 34(data) 371 333 38
+ Store 376 375
377: 6(int) Load 8(invocation)
- 378:372(i64vec2) GroupNonUniformShuffleUp 43 376 377
- 379: 373(ptr) AccessChain 34(data) 371 364
- 380: 28(i64vec4) Load 379
- 381: 28(i64vec4) VectorShuffle 380 378 4 5 2 3
- Store 379 381
- 382: 6(int) Load 8(invocation)
- 384: 373(ptr) AccessChain 34(data) 59 364
- 385: 28(i64vec4) Load 384
- 386:383(i64vec3) VectorShuffle 385 385 0 1 2
+ 378: 342(ptr) AccessChain 34(data) 47 333
+ 379: 26(i64vec4) Load 378
+ 380:341(i64vec2) VectorShuffle 379 379 0 1
+ 381: 6(int) Load 8(invocation)
+ 382:341(i64vec2) GroupNonUniformShuffleDown 43 380 381
+ 383: 334(ptr) AccessChain 34(data) 377 333 38
+ 384: 25(int64_t) CompositeExtract 382 0
+ Store 383 384
+ 385: 334(ptr) AccessChain 34(data) 377 333 57
+ 386: 25(int64_t) CompositeExtract 382 1
+ Store 385 386
387: 6(int) Load 8(invocation)
- 388:383(i64vec3) GroupNonUniformShuffleUp 43 386 387
- 389: 373(ptr) AccessChain 34(data) 382 364
- 390: 28(i64vec4) Load 389
- 391: 28(i64vec4) VectorShuffle 390 388 4 5 6 3
- Store 389 391
- 392: 6(int) Load 8(invocation)
- 393: 373(ptr) AccessChain 34(data) 70 364
- 394: 28(i64vec4) Load 393
- 395: 6(int) Load 8(invocation)
- 396: 28(i64vec4) GroupNonUniformShuffleUp 43 394 395
- 397: 373(ptr) AccessChain 34(data) 392 364
- Store 397 396
- 398: 6(int) Load 8(invocation)
- 399: 365(ptr) AccessChain 34(data) 37 364 38
- 400: 27(int64_t) Load 399
- 401: 6(int) Load 8(invocation)
- 402: 27(int64_t) GroupNonUniformShuffleDown 43 400 401
- 403: 365(ptr) AccessChain 34(data) 398 364 38
- Store 403 402
- 404: 6(int) Load 8(invocation)
- 405: 373(ptr) AccessChain 34(data) 47 364
- 406: 28(i64vec4) Load 405
- 407:372(i64vec2) VectorShuffle 406 406 0 1
- 408: 6(int) Load 8(invocation)
- 409:372(i64vec2) GroupNonUniformShuffleDown 43 407 408
- 410: 373(ptr) AccessChain 34(data) 404 364
- 411: 28(i64vec4) Load 410
- 412: 28(i64vec4) VectorShuffle 411 409 4 5 2 3
- Store 410 412
+ 388: 342(ptr) AccessChain 34(data) 61 333
+ 389: 26(i64vec4) Load 388
+ 390:353(i64vec3) VectorShuffle 389 389 0 1 2
+ 391: 6(int) Load 8(invocation)
+ 392:353(i64vec3) GroupNonUniformShuffleDown 43 390 391
+ 393: 334(ptr) AccessChain 34(data) 387 333 38
+ 394: 25(int64_t) CompositeExtract 392 0
+ Store 393 394
+ 395: 334(ptr) AccessChain 34(data) 387 333 57
+ 396: 25(int64_t) CompositeExtract 392 1
+ Store 395 396
+ 397: 334(ptr) AccessChain 34(data) 387 333 72
+ 398: 25(int64_t) CompositeExtract 392 2
+ Store 397 398
+ 399: 6(int) Load 8(invocation)
+ 400: 342(ptr) AccessChain 34(data) 76 333
+ 401: 26(i64vec4) Load 400
+ 402: 6(int) Load 8(invocation)
+ 403: 26(i64vec4) GroupNonUniformShuffleDown 43 401 402
+ 404: 342(ptr) AccessChain 34(data) 399 333
+ Store 404 403
+ 405: 6(int) Load 8(invocation)
+ 408: 407(ptr) AccessChain 34(data) 37 406 38
+ 409: 27(int64_t) Load 408
+ 410: 6(int) Load 8(invocation)
+ 411: 27(int64_t) GroupNonUniformShuffleUp 43 409 410
+ 412: 407(ptr) AccessChain 34(data) 405 406 38
+ Store 412 411
413: 6(int) Load 8(invocation)
- 414: 373(ptr) AccessChain 34(data) 59 364
- 415: 28(i64vec4) Load 414
- 416:383(i64vec3) VectorShuffle 415 415 0 1 2
- 417: 6(int) Load 8(invocation)
- 418:383(i64vec3) GroupNonUniformShuffleDown 43 416 417
- 419: 373(ptr) AccessChain 34(data) 413 364
- 420: 28(i64vec4) Load 419
- 421: 28(i64vec4) VectorShuffle 420 418 4 5 6 3
- Store 419 421
- 422: 6(int) Load 8(invocation)
- 423: 373(ptr) AccessChain 34(data) 70 364
- 424: 28(i64vec4) Load 423
+ 416: 415(ptr) AccessChain 34(data) 47 406
+ 417: 28(i64vec4) Load 416
+ 418:414(i64vec2) VectorShuffle 417 417 0 1
+ 419: 6(int) Load 8(invocation)
+ 420:414(i64vec2) GroupNonUniformShuffleUp 43 418 419
+ 421: 407(ptr) AccessChain 34(data) 413 406 38
+ 422: 27(int64_t) CompositeExtract 420 0
+ Store 421 422
+ 423: 407(ptr) AccessChain 34(data) 413 406 57
+ 424: 27(int64_t) CompositeExtract 420 1
+ Store 423 424
425: 6(int) Load 8(invocation)
- 426: 28(i64vec4) GroupNonUniformShuffleDown 43 424 425
- 427: 373(ptr) AccessChain 34(data) 422 364
- Store 427 426
- 428: 6(int) Load 8(invocation)
- 431: 430(ptr) AccessChain 34(data) 37 429 38
- 432:29(float16_t) Load 431
- 433: 6(int) Load 8(invocation)
- 434:29(float16_t) GroupNonUniformShuffleUp 43 432 433
- 435: 430(ptr) AccessChain 34(data) 428 429 38
- Store 435 434
- 436: 6(int) Load 8(invocation)
- 439: 438(ptr) AccessChain 34(data) 47 429
- 440: 30(f16vec4) Load 439
- 441:437(f16vec2) VectorShuffle 440 440 0 1
- 442: 6(int) Load 8(invocation)
- 443:437(f16vec2) GroupNonUniformShuffleUp 43 441 442
- 444: 438(ptr) AccessChain 34(data) 436 429
- 445: 30(f16vec4) Load 444
- 446: 30(f16vec4) VectorShuffle 445 443 4 5 2 3
- Store 444 446
+ 427: 415(ptr) AccessChain 34(data) 61 406
+ 428: 28(i64vec4) Load 427
+ 429:426(i64vec3) VectorShuffle 428 428 0 1 2
+ 430: 6(int) Load 8(invocation)
+ 431:426(i64vec3) GroupNonUniformShuffleUp 43 429 430
+ 432: 407(ptr) AccessChain 34(data) 425 406 38
+ 433: 27(int64_t) CompositeExtract 431 0
+ Store 432 433
+ 434: 407(ptr) AccessChain 34(data) 425 406 57
+ 435: 27(int64_t) CompositeExtract 431 1
+ Store 434 435
+ 436: 407(ptr) AccessChain 34(data) 425 406 72
+ 437: 27(int64_t) CompositeExtract 431 2
+ Store 436 437
+ 438: 6(int) Load 8(invocation)
+ 439: 415(ptr) AccessChain 34(data) 76 406
+ 440: 28(i64vec4) Load 439
+ 441: 6(int) Load 8(invocation)
+ 442: 28(i64vec4) GroupNonUniformShuffleUp 43 440 441
+ 443: 415(ptr) AccessChain 34(data) 438 406
+ Store 443 442
+ 444: 6(int) Load 8(invocation)
+ 445: 407(ptr) AccessChain 34(data) 37 406 38
+ 446: 27(int64_t) Load 445
447: 6(int) Load 8(invocation)
- 449: 438(ptr) AccessChain 34(data) 59 429
- 450: 30(f16vec4) Load 449
- 451:448(f16vec3) VectorShuffle 450 450 0 1 2
- 452: 6(int) Load 8(invocation)
- 453:448(f16vec3) GroupNonUniformShuffleUp 43 451 452
- 454: 438(ptr) AccessChain 34(data) 447 429
- 455: 30(f16vec4) Load 454
- 456: 30(f16vec4) VectorShuffle 455 453 4 5 6 3
- Store 454 456
- 457: 6(int) Load 8(invocation)
- 458: 438(ptr) AccessChain 34(data) 70 429
- 459: 30(f16vec4) Load 458
+ 448: 27(int64_t) GroupNonUniformShuffleDown 43 446 447
+ 449: 407(ptr) AccessChain 34(data) 444 406 38
+ Store 449 448
+ 450: 6(int) Load 8(invocation)
+ 451: 415(ptr) AccessChain 34(data) 47 406
+ 452: 28(i64vec4) Load 451
+ 453:414(i64vec2) VectorShuffle 452 452 0 1
+ 454: 6(int) Load 8(invocation)
+ 455:414(i64vec2) GroupNonUniformShuffleDown 43 453 454
+ 456: 407(ptr) AccessChain 34(data) 450 406 38
+ 457: 27(int64_t) CompositeExtract 455 0
+ Store 456 457
+ 458: 407(ptr) AccessChain 34(data) 450 406 57
+ 459: 27(int64_t) CompositeExtract 455 1
+ Store 458 459
460: 6(int) Load 8(invocation)
- 461: 30(f16vec4) GroupNonUniformShuffleUp 43 459 460
- 462: 438(ptr) AccessChain 34(data) 457 429
- Store 462 461
- 463: 6(int) Load 8(invocation)
- 464: 430(ptr) AccessChain 34(data) 37 429 38
- 465:29(float16_t) Load 464
- 466: 6(int) Load 8(invocation)
- 467:29(float16_t) GroupNonUniformShuffleDown 43 465 466
- 468: 430(ptr) AccessChain 34(data) 463 429 38
- Store 468 467
- 469: 6(int) Load 8(invocation)
- 470: 438(ptr) AccessChain 34(data) 47 429
- 471: 30(f16vec4) Load 470
- 472:437(f16vec2) VectorShuffle 471 471 0 1
- 473: 6(int) Load 8(invocation)
- 474:437(f16vec2) GroupNonUniformShuffleDown 43 472 473
- 475: 438(ptr) AccessChain 34(data) 469 429
- 476: 30(f16vec4) Load 475
- 477: 30(f16vec4) VectorShuffle 476 474 4 5 2 3
- Store 475 477
+ 461: 415(ptr) AccessChain 34(data) 61 406
+ 462: 28(i64vec4) Load 461
+ 463:426(i64vec3) VectorShuffle 462 462 0 1 2
+ 464: 6(int) Load 8(invocation)
+ 465:426(i64vec3) GroupNonUniformShuffleDown 43 463 464
+ 466: 407(ptr) AccessChain 34(data) 460 406 38
+ 467: 27(int64_t) CompositeExtract 465 0
+ Store 466 467
+ 468: 407(ptr) AccessChain 34(data) 460 406 57
+ 469: 27(int64_t) CompositeExtract 465 1
+ Store 468 469
+ 470: 407(ptr) AccessChain 34(data) 460 406 72
+ 471: 27(int64_t) CompositeExtract 465 2
+ Store 470 471
+ 472: 6(int) Load 8(invocation)
+ 473: 415(ptr) AccessChain 34(data) 76 406
+ 474: 28(i64vec4) Load 473
+ 475: 6(int) Load 8(invocation)
+ 476: 28(i64vec4) GroupNonUniformShuffleDown 43 474 475
+ 477: 415(ptr) AccessChain 34(data) 472 406
+ Store 477 476
478: 6(int) Load 8(invocation)
- 479: 438(ptr) AccessChain 34(data) 59 429
- 480: 30(f16vec4) Load 479
- 481:448(f16vec3) VectorShuffle 480 480 0 1 2
- 482: 6(int) Load 8(invocation)
- 483:448(f16vec3) GroupNonUniformShuffleDown 43 481 482
- 484: 438(ptr) AccessChain 34(data) 478 429
- 485: 30(f16vec4) Load 484
- 486: 30(f16vec4) VectorShuffle 485 483 4 5 6 3
- Store 484 486
- 487: 6(int) Load 8(invocation)
- 488: 438(ptr) AccessChain 34(data) 70 429
- 489: 30(f16vec4) Load 488
- 490: 6(int) Load 8(invocation)
- 491: 30(f16vec4) GroupNonUniformShuffleDown 43 489 490
- 492: 438(ptr) AccessChain 34(data) 487 429
- Store 492 491
+ 481: 480(ptr) AccessChain 34(data) 37 479 38
+ 482:29(float16_t) Load 481
+ 483: 6(int) Load 8(invocation)
+ 484:29(float16_t) GroupNonUniformShuffleUp 43 482 483
+ 485: 480(ptr) AccessChain 34(data) 478 479 38
+ Store 485 484
+ 486: 6(int) Load 8(invocation)
+ 489: 488(ptr) AccessChain 34(data) 47 479
+ 490: 30(f16vec4) Load 489
+ 491:487(f16vec2) VectorShuffle 490 490 0 1
+ 492: 6(int) Load 8(invocation)
+ 493:487(f16vec2) GroupNonUniformShuffleUp 43 491 492
+ 494: 480(ptr) AccessChain 34(data) 486 479 38
+ 495:29(float16_t) CompositeExtract 493 0
+ Store 494 495
+ 496: 480(ptr) AccessChain 34(data) 486 479 57
+ 497:29(float16_t) CompositeExtract 493 1
+ Store 496 497
+ 498: 6(int) Load 8(invocation)
+ 500: 488(ptr) AccessChain 34(data) 61 479
+ 501: 30(f16vec4) Load 500
+ 502:499(f16vec3) VectorShuffle 501 501 0 1 2
+ 503: 6(int) Load 8(invocation)
+ 504:499(f16vec3) GroupNonUniformShuffleUp 43 502 503
+ 505: 480(ptr) AccessChain 34(data) 498 479 38
+ 506:29(float16_t) CompositeExtract 504 0
+ Store 505 506
+ 507: 480(ptr) AccessChain 34(data) 498 479 57
+ 508:29(float16_t) CompositeExtract 504 1
+ Store 507 508
+ 509: 480(ptr) AccessChain 34(data) 498 479 72
+ 510:29(float16_t) CompositeExtract 504 2
+ Store 509 510
+ 511: 6(int) Load 8(invocation)
+ 512: 488(ptr) AccessChain 34(data) 76 479
+ 513: 30(f16vec4) Load 512
+ 514: 6(int) Load 8(invocation)
+ 515: 30(f16vec4) GroupNonUniformShuffleUp 43 513 514
+ 516: 488(ptr) AccessChain 34(data) 511 479
+ Store 516 515
+ 517: 6(int) Load 8(invocation)
+ 518: 480(ptr) AccessChain 34(data) 37 479 38
+ 519:29(float16_t) Load 518
+ 520: 6(int) Load 8(invocation)
+ 521:29(float16_t) GroupNonUniformShuffleDown 43 519 520
+ 522: 480(ptr) AccessChain 34(data) 517 479 38
+ Store 522 521
+ 523: 6(int) Load 8(invocation)
+ 524: 488(ptr) AccessChain 34(data) 47 479
+ 525: 30(f16vec4) Load 524
+ 526:487(f16vec2) VectorShuffle 525 525 0 1
+ 527: 6(int) Load 8(invocation)
+ 528:487(f16vec2) GroupNonUniformShuffleDown 43 526 527
+ 529: 480(ptr) AccessChain 34(data) 523 479 38
+ 530:29(float16_t) CompositeExtract 528 0
+ Store 529 530
+ 531: 480(ptr) AccessChain 34(data) 523 479 57
+ 532:29(float16_t) CompositeExtract 528 1
+ Store 531 532
+ 533: 6(int) Load 8(invocation)
+ 534: 488(ptr) AccessChain 34(data) 61 479
+ 535: 30(f16vec4) Load 534
+ 536:499(f16vec3) VectorShuffle 535 535 0 1 2
+ 537: 6(int) Load 8(invocation)
+ 538:499(f16vec3) GroupNonUniformShuffleDown 43 536 537
+ 539: 480(ptr) AccessChain 34(data) 533 479 38
+ 540:29(float16_t) CompositeExtract 538 0
+ Store 539 540
+ 541: 480(ptr) AccessChain 34(data) 533 479 57
+ 542:29(float16_t) CompositeExtract 538 1
+ Store 541 542
+ 543: 480(ptr) AccessChain 34(data) 533 479 72
+ 544:29(float16_t) CompositeExtract 538 2
+ Store 543 544
+ 545: 6(int) Load 8(invocation)
+ 546: 488(ptr) AccessChain 34(data) 76 479
+ 547: 30(f16vec4) Load 546
+ 548: 6(int) Load 8(invocation)
+ 549: 30(f16vec4) GroupNonUniformShuffleDown 43 547 548
+ 550: 488(ptr) AccessChain 34(data) 545 479
+ Store 550 549
Return
FunctionEnd
diff --git a/Test/baseResults/spv.subgroupPartitioned.comp.out b/Test/baseResults/spv.subgroupPartitioned.comp.out
index 7c7a0f9..0e7b7ef 100644
--- a/Test/baseResults/spv.subgroupPartitioned.comp.out
+++ b/Test/baseResults/spv.subgroupPartitioned.comp.out
@@ -1,7 +1,7 @@
spv.subgroupPartitioned.comp
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 2506
+// Id's are bound by 2807
Capability Shader
Capability Float64
@@ -41,7 +41,7 @@
Decorate 28(Buffers) Block
Decorate 31(data) DescriptorSet 0
Decorate 31(data) Binding 0
- Decorate 2505 BuiltIn WorkgroupSize
+ Decorate 2806 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -91,15 +91,16 @@
169: TypeVector 144(bool) 4
170: 17(ivec4) ConstantComposite 35 35 35 35
178: 6(int) Constant 3
- 727: 70(ivec2) ConstantComposite 34 34
- 731: 70(ivec2) ConstantComposite 63 63
- 740: 78(ivec3) ConstantComposite 34 34 34
- 744: 78(ivec3) ConstantComposite 63 63 63
- 752: 25(ivec4) ConstantComposite 34 34 34 34
- 756: 25(ivec4) ConstantComposite 63 63 63 63
- 2503: 6(int) Constant 8
- 2504: 6(int) Constant 1
- 2505: 103(ivec3) ConstantComposite 2503 2504 2504
+ 189: 6(int) Constant 1
+ 202: 6(int) Constant 2
+ 801: 70(ivec2) ConstantComposite 34 34
+ 805: 70(ivec2) ConstantComposite 63 63
+ 815: 78(ivec3) ConstantComposite 34 34 34
+ 819: 78(ivec3) ConstantComposite 63 63 63
+ 830: 25(ivec4) ConstantComposite 34 34 34 34
+ 834: 25(ivec4) ConstantComposite 63 63 63 63
+ 2805: 6(int) Constant 8
+ 2806: 103(ivec3) ConstantComposite 2805 189 189
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@@ -259,2614 +260,3139 @@
184: 43(fvec2) VectorShuffle 183 183 0 1
185: 17(ivec4) Load 19(ballot)
186: 43(fvec2) GroupNonUniformFAdd 178 PartitionedReduceNV 184 185
- 187: 44(ptr) AccessChain 31(data) 181 34
- 188: 23(fvec4) Load 187
- 189: 23(fvec4) VectorShuffle 188 186 4 5 2 3
- Store 187 189
- 190: 6(int) Load 8(invocation)
- 191: 44(ptr) AccessChain 31(data) 33 34
- 192: 23(fvec4) Load 191
- 193: 51(fvec3) VectorShuffle 192 192 0 1 2
- 194: 17(ivec4) Load 19(ballot)
- 195: 51(fvec3) GroupNonUniformFAdd 178 PartitionedReduceNV 193 194
- 196: 44(ptr) AccessChain 31(data) 190 34
- 197: 23(fvec4) Load 196
- 198: 23(fvec4) VectorShuffle 197 195 4 5 6 3
- Store 196 198
- 199: 6(int) Load 8(invocation)
- 200: 44(ptr) AccessChain 31(data) 115 34
- 201: 23(fvec4) Load 200
- 202: 17(ivec4) Load 19(ballot)
- 203: 23(fvec4) GroupNonUniformFAdd 178 PartitionedReduceNV 201 202
- 204: 44(ptr) AccessChain 31(data) 199 34
- Store 204 203
+ 187: 36(ptr) AccessChain 31(data) 181 34 35
+ 188: 22(float) CompositeExtract 186 0
+ Store 187 188
+ 190: 36(ptr) AccessChain 31(data) 181 34 189
+ 191: 22(float) CompositeExtract 186 1
+ Store 190 191
+ 192: 6(int) Load 8(invocation)
+ 193: 44(ptr) AccessChain 31(data) 33 34
+ 194: 23(fvec4) Load 193
+ 195: 51(fvec3) VectorShuffle 194 194 0 1 2
+ 196: 17(ivec4) Load 19(ballot)
+ 197: 51(fvec3) GroupNonUniformFAdd 178 PartitionedReduceNV 195 196
+ 198: 36(ptr) AccessChain 31(data) 192 34 35
+ 199: 22(float) CompositeExtract 197 0
+ Store 198 199
+ 200: 36(ptr) AccessChain 31(data) 192 34 189
+ 201: 22(float) CompositeExtract 197 1
+ Store 200 201
+ 203: 36(ptr) AccessChain 31(data) 192 34 202
+ 204: 22(float) CompositeExtract 197 2
+ Store 203 204
205: 6(int) Load 8(invocation)
- 206: 64(ptr) AccessChain 31(data) 34 63 35
- 207: 24(int) Load 206
+ 206: 44(ptr) AccessChain 31(data) 115 34
+ 207: 23(fvec4) Load 206
208: 17(ivec4) Load 19(ballot)
- 209: 24(int) GroupNonUniformIAdd 178 PartitionedReduceNV 207 208
- 210: 64(ptr) AccessChain 31(data) 205 63 35
+ 209: 23(fvec4) GroupNonUniformFAdd 178 PartitionedReduceNV 207 208
+ 210: 44(ptr) AccessChain 31(data) 205 34
Store 210 209
211: 6(int) Load 8(invocation)
- 212: 71(ptr) AccessChain 31(data) 63 63
- 213: 25(ivec4) Load 212
- 214: 70(ivec2) VectorShuffle 213 213 0 1
- 215: 17(ivec4) Load 19(ballot)
- 216: 70(ivec2) GroupNonUniformIAdd 178 PartitionedReduceNV 214 215
- 217: 71(ptr) AccessChain 31(data) 211 63
- 218: 25(ivec4) Load 217
- 219: 25(ivec4) VectorShuffle 218 216 4 5 2 3
- Store 217 219
- 220: 6(int) Load 8(invocation)
- 221: 71(ptr) AccessChain 31(data) 33 63
- 222: 25(ivec4) Load 221
- 223: 78(ivec3) VectorShuffle 222 222 0 1 2
- 224: 17(ivec4) Load 19(ballot)
- 225: 78(ivec3) GroupNonUniformIAdd 178 PartitionedReduceNV 223 224
- 226: 71(ptr) AccessChain 31(data) 220 63
- 227: 25(ivec4) Load 226
- 228: 25(ivec4) VectorShuffle 227 225 4 5 6 3
- Store 226 228
- 229: 6(int) Load 8(invocation)
- 230: 71(ptr) AccessChain 31(data) 115 63
- 231: 25(ivec4) Load 230
- 232: 17(ivec4) Load 19(ballot)
- 233: 25(ivec4) GroupNonUniformIAdd 178 PartitionedReduceNV 231 232
- 234: 71(ptr) AccessChain 31(data) 229 63
- Store 234 233
- 235: 6(int) Load 8(invocation)
- 236: 90(ptr) AccessChain 31(data) 34 33 35
- 237: 6(int) Load 236
- 238: 17(ivec4) Load 19(ballot)
- 239: 6(int) GroupNonUniformIAdd 178 PartitionedReduceNV 237 238
- 240: 90(ptr) AccessChain 31(data) 235 33 35
- Store 240 239
- 241: 6(int) Load 8(invocation)
- 242: 40(ptr) AccessChain 31(data) 63 33
- 243: 17(ivec4) Load 242
- 244: 96(ivec2) VectorShuffle 243 243 0 1
- 245: 17(ivec4) Load 19(ballot)
- 246: 96(ivec2) GroupNonUniformIAdd 178 PartitionedReduceNV 244 245
- 247: 40(ptr) AccessChain 31(data) 241 33
- 248: 17(ivec4) Load 247
- 249: 17(ivec4) VectorShuffle 248 246 4 5 2 3
- Store 247 249
- 250: 6(int) Load 8(invocation)
- 251: 40(ptr) AccessChain 31(data) 33 33
- 252: 17(ivec4) Load 251
- 253: 103(ivec3) VectorShuffle 252 252 0 1 2
- 254: 17(ivec4) Load 19(ballot)
- 255: 103(ivec3) GroupNonUniformIAdd 178 PartitionedReduceNV 253 254
- 256: 40(ptr) AccessChain 31(data) 250 33
- 257: 17(ivec4) Load 256
- 258: 17(ivec4) VectorShuffle 257 255 4 5 6 3
- Store 256 258
- 259: 6(int) Load 8(invocation)
- 260: 40(ptr) AccessChain 31(data) 115 33
- 261: 17(ivec4) Load 260
- 262: 17(ivec4) Load 19(ballot)
- 263: 17(ivec4) GroupNonUniformIAdd 178 PartitionedReduceNV 261 262
- 264: 40(ptr) AccessChain 31(data) 259 33
- Store 264 263
- 265: 6(int) Load 8(invocation)
- 266: 116(ptr) AccessChain 31(data) 34 115 35
- 267:26(float64_t) Load 266
- 268: 17(ivec4) Load 19(ballot)
- 269:26(float64_t) GroupNonUniformFAdd 178 PartitionedReduceNV 267 268
- 270: 116(ptr) AccessChain 31(data) 265 115 35
- Store 270 269
- 271: 6(int) Load 8(invocation)
- 272: 123(ptr) AccessChain 31(data) 63 115
- 273: 27(f64vec4) Load 272
- 274:122(f64vec2) VectorShuffle 273 273 0 1
- 275: 17(ivec4) Load 19(ballot)
- 276:122(f64vec2) GroupNonUniformFAdd 178 PartitionedReduceNV 274 275
- 277: 123(ptr) AccessChain 31(data) 271 115
- 278: 27(f64vec4) Load 277
- 279: 27(f64vec4) VectorShuffle 278 276 4 5 2 3
- Store 277 279
- 280: 6(int) Load 8(invocation)
- 281: 123(ptr) AccessChain 31(data) 33 115
- 282: 27(f64vec4) Load 281
- 283:130(f64vec3) VectorShuffle 282 282 0 1 2
- 284: 17(ivec4) Load 19(ballot)
- 285:130(f64vec3) GroupNonUniformFAdd 178 PartitionedReduceNV 283 284
- 286: 123(ptr) AccessChain 31(data) 280 115
+ 212: 64(ptr) AccessChain 31(data) 34 63 35
+ 213: 24(int) Load 212
+ 214: 17(ivec4) Load 19(ballot)
+ 215: 24(int) GroupNonUniformIAdd 178 PartitionedReduceNV 213 214
+ 216: 64(ptr) AccessChain 31(data) 211 63 35
+ Store 216 215
+ 217: 6(int) Load 8(invocation)
+ 218: 71(ptr) AccessChain 31(data) 63 63
+ 219: 25(ivec4) Load 218
+ 220: 70(ivec2) VectorShuffle 219 219 0 1
+ 221: 17(ivec4) Load 19(ballot)
+ 222: 70(ivec2) GroupNonUniformIAdd 178 PartitionedReduceNV 220 221
+ 223: 64(ptr) AccessChain 31(data) 217 63 35
+ 224: 24(int) CompositeExtract 222 0
+ Store 223 224
+ 225: 64(ptr) AccessChain 31(data) 217 63 189
+ 226: 24(int) CompositeExtract 222 1
+ Store 225 226
+ 227: 6(int) Load 8(invocation)
+ 228: 71(ptr) AccessChain 31(data) 33 63
+ 229: 25(ivec4) Load 228
+ 230: 78(ivec3) VectorShuffle 229 229 0 1 2
+ 231: 17(ivec4) Load 19(ballot)
+ 232: 78(ivec3) GroupNonUniformIAdd 178 PartitionedReduceNV 230 231
+ 233: 64(ptr) AccessChain 31(data) 227 63 35
+ 234: 24(int) CompositeExtract 232 0
+ Store 233 234
+ 235: 64(ptr) AccessChain 31(data) 227 63 189
+ 236: 24(int) CompositeExtract 232 1
+ Store 235 236
+ 237: 64(ptr) AccessChain 31(data) 227 63 202
+ 238: 24(int) CompositeExtract 232 2
+ Store 237 238
+ 239: 6(int) Load 8(invocation)
+ 240: 71(ptr) AccessChain 31(data) 115 63
+ 241: 25(ivec4) Load 240
+ 242: 17(ivec4) Load 19(ballot)
+ 243: 25(ivec4) GroupNonUniformIAdd 178 PartitionedReduceNV 241 242
+ 244: 71(ptr) AccessChain 31(data) 239 63
+ Store 244 243
+ 245: 6(int) Load 8(invocation)
+ 246: 90(ptr) AccessChain 31(data) 34 33 35
+ 247: 6(int) Load 246
+ 248: 17(ivec4) Load 19(ballot)
+ 249: 6(int) GroupNonUniformIAdd 178 PartitionedReduceNV 247 248
+ 250: 90(ptr) AccessChain 31(data) 245 33 35
+ Store 250 249
+ 251: 6(int) Load 8(invocation)
+ 252: 40(ptr) AccessChain 31(data) 63 33
+ 253: 17(ivec4) Load 252
+ 254: 96(ivec2) VectorShuffle 253 253 0 1
+ 255: 17(ivec4) Load 19(ballot)
+ 256: 96(ivec2) GroupNonUniformIAdd 178 PartitionedReduceNV 254 255
+ 257: 90(ptr) AccessChain 31(data) 251 33 35
+ 258: 6(int) CompositeExtract 256 0
+ Store 257 258
+ 259: 90(ptr) AccessChain 31(data) 251 33 189
+ 260: 6(int) CompositeExtract 256 1
+ Store 259 260
+ 261: 6(int) Load 8(invocation)
+ 262: 40(ptr) AccessChain 31(data) 33 33
+ 263: 17(ivec4) Load 262
+ 264: 103(ivec3) VectorShuffle 263 263 0 1 2
+ 265: 17(ivec4) Load 19(ballot)
+ 266: 103(ivec3) GroupNonUniformIAdd 178 PartitionedReduceNV 264 265
+ 267: 90(ptr) AccessChain 31(data) 261 33 35
+ 268: 6(int) CompositeExtract 266 0
+ Store 267 268
+ 269: 90(ptr) AccessChain 31(data) 261 33 189
+ 270: 6(int) CompositeExtract 266 1
+ Store 269 270
+ 271: 90(ptr) AccessChain 31(data) 261 33 202
+ 272: 6(int) CompositeExtract 266 2
+ Store 271 272
+ 273: 6(int) Load 8(invocation)
+ 274: 40(ptr) AccessChain 31(data) 115 33
+ 275: 17(ivec4) Load 274
+ 276: 17(ivec4) Load 19(ballot)
+ 277: 17(ivec4) GroupNonUniformIAdd 178 PartitionedReduceNV 275 276
+ 278: 40(ptr) AccessChain 31(data) 273 33
+ Store 278 277
+ 279: 6(int) Load 8(invocation)
+ 280: 116(ptr) AccessChain 31(data) 34 115 35
+ 281:26(float64_t) Load 280
+ 282: 17(ivec4) Load 19(ballot)
+ 283:26(float64_t) GroupNonUniformFAdd 178 PartitionedReduceNV 281 282
+ 284: 116(ptr) AccessChain 31(data) 279 115 35
+ Store 284 283
+ 285: 6(int) Load 8(invocation)
+ 286: 123(ptr) AccessChain 31(data) 63 115
287: 27(f64vec4) Load 286
- 288: 27(f64vec4) VectorShuffle 287 285 4 5 6 3
- Store 286 288
- 289: 6(int) Load 8(invocation)
- 290: 123(ptr) AccessChain 31(data) 115 115
- 291: 27(f64vec4) Load 290
- 292: 17(ivec4) Load 19(ballot)
- 293: 27(f64vec4) GroupNonUniformFAdd 178 PartitionedReduceNV 291 292
- 294: 123(ptr) AccessChain 31(data) 289 115
- Store 294 293
+ 288:122(f64vec2) VectorShuffle 287 287 0 1
+ 289: 17(ivec4) Load 19(ballot)
+ 290:122(f64vec2) GroupNonUniformFAdd 178 PartitionedReduceNV 288 289
+ 291: 116(ptr) AccessChain 31(data) 285 115 35
+ 292:26(float64_t) CompositeExtract 290 0
+ Store 291 292
+ 293: 116(ptr) AccessChain 31(data) 285 115 189
+ 294:26(float64_t) CompositeExtract 290 1
+ Store 293 294
295: 6(int) Load 8(invocation)
- 296: 36(ptr) AccessChain 31(data) 34 34 35
- 297: 22(float) Load 296
- 298: 17(ivec4) Load 19(ballot)
- 299: 22(float) GroupNonUniformFMul 178 PartitionedReduceNV 297 298
- 300: 36(ptr) AccessChain 31(data) 295 34 35
- Store 300 299
- 301: 6(int) Load 8(invocation)
- 302: 44(ptr) AccessChain 31(data) 63 34
- 303: 23(fvec4) Load 302
- 304: 43(fvec2) VectorShuffle 303 303 0 1
- 305: 17(ivec4) Load 19(ballot)
- 306: 43(fvec2) GroupNonUniformFMul 178 PartitionedReduceNV 304 305
- 307: 44(ptr) AccessChain 31(data) 301 34
- 308: 23(fvec4) Load 307
- 309: 23(fvec4) VectorShuffle 308 306 4 5 2 3
- Store 307 309
- 310: 6(int) Load 8(invocation)
- 311: 44(ptr) AccessChain 31(data) 33 34
- 312: 23(fvec4) Load 311
- 313: 51(fvec3) VectorShuffle 312 312 0 1 2
- 314: 17(ivec4) Load 19(ballot)
- 315: 51(fvec3) GroupNonUniformFMul 178 PartitionedReduceNV 313 314
- 316: 44(ptr) AccessChain 31(data) 310 34
- 317: 23(fvec4) Load 316
- 318: 23(fvec4) VectorShuffle 317 315 4 5 6 3
- Store 316 318
+ 296: 123(ptr) AccessChain 31(data) 33 115
+ 297: 27(f64vec4) Load 296
+ 298:130(f64vec3) VectorShuffle 297 297 0 1 2
+ 299: 17(ivec4) Load 19(ballot)
+ 300:130(f64vec3) GroupNonUniformFAdd 178 PartitionedReduceNV 298 299
+ 301: 116(ptr) AccessChain 31(data) 295 115 35
+ 302:26(float64_t) CompositeExtract 300 0
+ Store 301 302
+ 303: 116(ptr) AccessChain 31(data) 295 115 189
+ 304:26(float64_t) CompositeExtract 300 1
+ Store 303 304
+ 305: 116(ptr) AccessChain 31(data) 295 115 202
+ 306:26(float64_t) CompositeExtract 300 2
+ Store 305 306
+ 307: 6(int) Load 8(invocation)
+ 308: 123(ptr) AccessChain 31(data) 115 115
+ 309: 27(f64vec4) Load 308
+ 310: 17(ivec4) Load 19(ballot)
+ 311: 27(f64vec4) GroupNonUniformFAdd 178 PartitionedReduceNV 309 310
+ 312: 123(ptr) AccessChain 31(data) 307 115
+ Store 312 311
+ 313: 6(int) Load 8(invocation)
+ 314: 36(ptr) AccessChain 31(data) 34 34 35
+ 315: 22(float) Load 314
+ 316: 17(ivec4) Load 19(ballot)
+ 317: 22(float) GroupNonUniformFMul 178 PartitionedReduceNV 315 316
+ 318: 36(ptr) AccessChain 31(data) 313 34 35
+ Store 318 317
319: 6(int) Load 8(invocation)
- 320: 44(ptr) AccessChain 31(data) 115 34
+ 320: 44(ptr) AccessChain 31(data) 63 34
321: 23(fvec4) Load 320
- 322: 17(ivec4) Load 19(ballot)
- 323: 23(fvec4) GroupNonUniformFMul 178 PartitionedReduceNV 321 322
- 324: 44(ptr) AccessChain 31(data) 319 34
- Store 324 323
- 325: 6(int) Load 8(invocation)
- 326: 64(ptr) AccessChain 31(data) 34 63 35
- 327: 24(int) Load 326
- 328: 17(ivec4) Load 19(ballot)
- 329: 24(int) GroupNonUniformIMul 178 PartitionedReduceNV 327 328
- 330: 64(ptr) AccessChain 31(data) 325 63 35
- Store 330 329
- 331: 6(int) Load 8(invocation)
- 332: 71(ptr) AccessChain 31(data) 63 63
- 333: 25(ivec4) Load 332
- 334: 70(ivec2) VectorShuffle 333 333 0 1
- 335: 17(ivec4) Load 19(ballot)
- 336: 70(ivec2) GroupNonUniformIMul 178 PartitionedReduceNV 334 335
- 337: 71(ptr) AccessChain 31(data) 331 63
- 338: 25(ivec4) Load 337
- 339: 25(ivec4) VectorShuffle 338 336 4 5 2 3
- Store 337 339
- 340: 6(int) Load 8(invocation)
- 341: 71(ptr) AccessChain 31(data) 33 63
- 342: 25(ivec4) Load 341
- 343: 78(ivec3) VectorShuffle 342 342 0 1 2
+ 322: 43(fvec2) VectorShuffle 321 321 0 1
+ 323: 17(ivec4) Load 19(ballot)
+ 324: 43(fvec2) GroupNonUniformFMul 178 PartitionedReduceNV 322 323
+ 325: 36(ptr) AccessChain 31(data) 319 34 35
+ 326: 22(float) CompositeExtract 324 0
+ Store 325 326
+ 327: 36(ptr) AccessChain 31(data) 319 34 189
+ 328: 22(float) CompositeExtract 324 1
+ Store 327 328
+ 329: 6(int) Load 8(invocation)
+ 330: 44(ptr) AccessChain 31(data) 33 34
+ 331: 23(fvec4) Load 330
+ 332: 51(fvec3) VectorShuffle 331 331 0 1 2
+ 333: 17(ivec4) Load 19(ballot)
+ 334: 51(fvec3) GroupNonUniformFMul 178 PartitionedReduceNV 332 333
+ 335: 36(ptr) AccessChain 31(data) 329 34 35
+ 336: 22(float) CompositeExtract 334 0
+ Store 335 336
+ 337: 36(ptr) AccessChain 31(data) 329 34 189
+ 338: 22(float) CompositeExtract 334 1
+ Store 337 338
+ 339: 36(ptr) AccessChain 31(data) 329 34 202
+ 340: 22(float) CompositeExtract 334 2
+ Store 339 340
+ 341: 6(int) Load 8(invocation)
+ 342: 44(ptr) AccessChain 31(data) 115 34
+ 343: 23(fvec4) Load 342
344: 17(ivec4) Load 19(ballot)
- 345: 78(ivec3) GroupNonUniformIMul 178 PartitionedReduceNV 343 344
- 346: 71(ptr) AccessChain 31(data) 340 63
- 347: 25(ivec4) Load 346
- 348: 25(ivec4) VectorShuffle 347 345 4 5 6 3
- Store 346 348
- 349: 6(int) Load 8(invocation)
- 350: 71(ptr) AccessChain 31(data) 115 63
- 351: 25(ivec4) Load 350
- 352: 17(ivec4) Load 19(ballot)
- 353: 25(ivec4) GroupNonUniformIMul 178 PartitionedReduceNV 351 352
- 354: 71(ptr) AccessChain 31(data) 349 63
- Store 354 353
- 355: 6(int) Load 8(invocation)
- 356: 90(ptr) AccessChain 31(data) 34 33 35
- 357: 6(int) Load 356
- 358: 17(ivec4) Load 19(ballot)
- 359: 6(int) GroupNonUniformIMul 178 PartitionedReduceNV 357 358
- 360: 90(ptr) AccessChain 31(data) 355 33 35
- Store 360 359
- 361: 6(int) Load 8(invocation)
- 362: 40(ptr) AccessChain 31(data) 63 33
- 363: 17(ivec4) Load 362
- 364: 96(ivec2) VectorShuffle 363 363 0 1
- 365: 17(ivec4) Load 19(ballot)
- 366: 96(ivec2) GroupNonUniformIMul 178 PartitionedReduceNV 364 365
- 367: 40(ptr) AccessChain 31(data) 361 33
- 368: 17(ivec4) Load 367
- 369: 17(ivec4) VectorShuffle 368 366 4 5 2 3
- Store 367 369
- 370: 6(int) Load 8(invocation)
- 371: 40(ptr) AccessChain 31(data) 33 33
- 372: 17(ivec4) Load 371
- 373: 103(ivec3) VectorShuffle 372 372 0 1 2
- 374: 17(ivec4) Load 19(ballot)
- 375: 103(ivec3) GroupNonUniformIMul 178 PartitionedReduceNV 373 374
- 376: 40(ptr) AccessChain 31(data) 370 33
- 377: 17(ivec4) Load 376
- 378: 17(ivec4) VectorShuffle 377 375 4 5 6 3
- Store 376 378
- 379: 6(int) Load 8(invocation)
- 380: 40(ptr) AccessChain 31(data) 115 33
- 381: 17(ivec4) Load 380
- 382: 17(ivec4) Load 19(ballot)
- 383: 17(ivec4) GroupNonUniformIMul 178 PartitionedReduceNV 381 382
- 384: 40(ptr) AccessChain 31(data) 379 33
- Store 384 383
- 385: 6(int) Load 8(invocation)
- 386: 116(ptr) AccessChain 31(data) 34 115 35
- 387:26(float64_t) Load 386
- 388: 17(ivec4) Load 19(ballot)
- 389:26(float64_t) GroupNonUniformFMul 178 PartitionedReduceNV 387 388
- 390: 116(ptr) AccessChain 31(data) 385 115 35
- Store 390 389
- 391: 6(int) Load 8(invocation)
- 392: 123(ptr) AccessChain 31(data) 63 115
- 393: 27(f64vec4) Load 392
- 394:122(f64vec2) VectorShuffle 393 393 0 1
- 395: 17(ivec4) Load 19(ballot)
- 396:122(f64vec2) GroupNonUniformFMul 178 PartitionedReduceNV 394 395
- 397: 123(ptr) AccessChain 31(data) 391 115
- 398: 27(f64vec4) Load 397
- 399: 27(f64vec4) VectorShuffle 398 396 4 5 2 3
- Store 397 399
- 400: 6(int) Load 8(invocation)
- 401: 123(ptr) AccessChain 31(data) 33 115
- 402: 27(f64vec4) Load 401
- 403:130(f64vec3) VectorShuffle 402 402 0 1 2
- 404: 17(ivec4) Load 19(ballot)
- 405:130(f64vec3) GroupNonUniformFMul 178 PartitionedReduceNV 403 404
- 406: 123(ptr) AccessChain 31(data) 400 115
- 407: 27(f64vec4) Load 406
- 408: 27(f64vec4) VectorShuffle 407 405 4 5 6 3
- Store 406 408
+ 345: 23(fvec4) GroupNonUniformFMul 178 PartitionedReduceNV 343 344
+ 346: 44(ptr) AccessChain 31(data) 341 34
+ Store 346 345
+ 347: 6(int) Load 8(invocation)
+ 348: 64(ptr) AccessChain 31(data) 34 63 35
+ 349: 24(int) Load 348
+ 350: 17(ivec4) Load 19(ballot)
+ 351: 24(int) GroupNonUniformIMul 178 PartitionedReduceNV 349 350
+ 352: 64(ptr) AccessChain 31(data) 347 63 35
+ Store 352 351
+ 353: 6(int) Load 8(invocation)
+ 354: 71(ptr) AccessChain 31(data) 63 63
+ 355: 25(ivec4) Load 354
+ 356: 70(ivec2) VectorShuffle 355 355 0 1
+ 357: 17(ivec4) Load 19(ballot)
+ 358: 70(ivec2) GroupNonUniformIMul 178 PartitionedReduceNV 356 357
+ 359: 64(ptr) AccessChain 31(data) 353 63 35
+ 360: 24(int) CompositeExtract 358 0
+ Store 359 360
+ 361: 64(ptr) AccessChain 31(data) 353 63 189
+ 362: 24(int) CompositeExtract 358 1
+ Store 361 362
+ 363: 6(int) Load 8(invocation)
+ 364: 71(ptr) AccessChain 31(data) 33 63
+ 365: 25(ivec4) Load 364
+ 366: 78(ivec3) VectorShuffle 365 365 0 1 2
+ 367: 17(ivec4) Load 19(ballot)
+ 368: 78(ivec3) GroupNonUniformIMul 178 PartitionedReduceNV 366 367
+ 369: 64(ptr) AccessChain 31(data) 363 63 35
+ 370: 24(int) CompositeExtract 368 0
+ Store 369 370
+ 371: 64(ptr) AccessChain 31(data) 363 63 189
+ 372: 24(int) CompositeExtract 368 1
+ Store 371 372
+ 373: 64(ptr) AccessChain 31(data) 363 63 202
+ 374: 24(int) CompositeExtract 368 2
+ Store 373 374
+ 375: 6(int) Load 8(invocation)
+ 376: 71(ptr) AccessChain 31(data) 115 63
+ 377: 25(ivec4) Load 376
+ 378: 17(ivec4) Load 19(ballot)
+ 379: 25(ivec4) GroupNonUniformIMul 178 PartitionedReduceNV 377 378
+ 380: 71(ptr) AccessChain 31(data) 375 63
+ Store 380 379
+ 381: 6(int) Load 8(invocation)
+ 382: 90(ptr) AccessChain 31(data) 34 33 35
+ 383: 6(int) Load 382
+ 384: 17(ivec4) Load 19(ballot)
+ 385: 6(int) GroupNonUniformIMul 178 PartitionedReduceNV 383 384
+ 386: 90(ptr) AccessChain 31(data) 381 33 35
+ Store 386 385
+ 387: 6(int) Load 8(invocation)
+ 388: 40(ptr) AccessChain 31(data) 63 33
+ 389: 17(ivec4) Load 388
+ 390: 96(ivec2) VectorShuffle 389 389 0 1
+ 391: 17(ivec4) Load 19(ballot)
+ 392: 96(ivec2) GroupNonUniformIMul 178 PartitionedReduceNV 390 391
+ 393: 90(ptr) AccessChain 31(data) 387 33 35
+ 394: 6(int) CompositeExtract 392 0
+ Store 393 394
+ 395: 90(ptr) AccessChain 31(data) 387 33 189
+ 396: 6(int) CompositeExtract 392 1
+ Store 395 396
+ 397: 6(int) Load 8(invocation)
+ 398: 40(ptr) AccessChain 31(data) 33 33
+ 399: 17(ivec4) Load 398
+ 400: 103(ivec3) VectorShuffle 399 399 0 1 2
+ 401: 17(ivec4) Load 19(ballot)
+ 402: 103(ivec3) GroupNonUniformIMul 178 PartitionedReduceNV 400 401
+ 403: 90(ptr) AccessChain 31(data) 397 33 35
+ 404: 6(int) CompositeExtract 402 0
+ Store 403 404
+ 405: 90(ptr) AccessChain 31(data) 397 33 189
+ 406: 6(int) CompositeExtract 402 1
+ Store 405 406
+ 407: 90(ptr) AccessChain 31(data) 397 33 202
+ 408: 6(int) CompositeExtract 402 2
+ Store 407 408
409: 6(int) Load 8(invocation)
- 410: 123(ptr) AccessChain 31(data) 115 115
- 411: 27(f64vec4) Load 410
+ 410: 40(ptr) AccessChain 31(data) 115 33
+ 411: 17(ivec4) Load 410
412: 17(ivec4) Load 19(ballot)
- 413: 27(f64vec4) GroupNonUniformFMul 178 PartitionedReduceNV 411 412
- 414: 123(ptr) AccessChain 31(data) 409 115
+ 413: 17(ivec4) GroupNonUniformIMul 178 PartitionedReduceNV 411 412
+ 414: 40(ptr) AccessChain 31(data) 409 33
Store 414 413
415: 6(int) Load 8(invocation)
- 416: 36(ptr) AccessChain 31(data) 34 34 35
- 417: 22(float) Load 416
+ 416: 116(ptr) AccessChain 31(data) 34 115 35
+ 417:26(float64_t) Load 416
418: 17(ivec4) Load 19(ballot)
- 419: 22(float) GroupNonUniformFMin 178 PartitionedReduceNV 417 418
- 420: 36(ptr) AccessChain 31(data) 415 34 35
+ 419:26(float64_t) GroupNonUniformFMul 178 PartitionedReduceNV 417 418
+ 420: 116(ptr) AccessChain 31(data) 415 115 35
Store 420 419
421: 6(int) Load 8(invocation)
- 422: 44(ptr) AccessChain 31(data) 63 34
- 423: 23(fvec4) Load 422
- 424: 43(fvec2) VectorShuffle 423 423 0 1
+ 422: 123(ptr) AccessChain 31(data) 63 115
+ 423: 27(f64vec4) Load 422
+ 424:122(f64vec2) VectorShuffle 423 423 0 1
425: 17(ivec4) Load 19(ballot)
- 426: 43(fvec2) GroupNonUniformFMin 178 PartitionedReduceNV 424 425
- 427: 44(ptr) AccessChain 31(data) 421 34
- 428: 23(fvec4) Load 427
- 429: 23(fvec4) VectorShuffle 428 426 4 5 2 3
- Store 427 429
- 430: 6(int) Load 8(invocation)
- 431: 44(ptr) AccessChain 31(data) 33 34
- 432: 23(fvec4) Load 431
- 433: 51(fvec3) VectorShuffle 432 432 0 1 2
- 434: 17(ivec4) Load 19(ballot)
- 435: 51(fvec3) GroupNonUniformFMin 178 PartitionedReduceNV 433 434
- 436: 44(ptr) AccessChain 31(data) 430 34
- 437: 23(fvec4) Load 436
- 438: 23(fvec4) VectorShuffle 437 435 4 5 6 3
- Store 436 438
- 439: 6(int) Load 8(invocation)
- 440: 44(ptr) AccessChain 31(data) 115 34
- 441: 23(fvec4) Load 440
- 442: 17(ivec4) Load 19(ballot)
- 443: 23(fvec4) GroupNonUniformFMin 178 PartitionedReduceNV 441 442
- 444: 44(ptr) AccessChain 31(data) 439 34
- Store 444 443
- 445: 6(int) Load 8(invocation)
- 446: 64(ptr) AccessChain 31(data) 34 63 35
- 447: 24(int) Load 446
- 448: 17(ivec4) Load 19(ballot)
- 449: 24(int) GroupNonUniformSMin 178 PartitionedReduceNV 447 448
- 450: 64(ptr) AccessChain 31(data) 445 63 35
- Store 450 449
- 451: 6(int) Load 8(invocation)
- 452: 71(ptr) AccessChain 31(data) 63 63
- 453: 25(ivec4) Load 452
- 454: 70(ivec2) VectorShuffle 453 453 0 1
- 455: 17(ivec4) Load 19(ballot)
- 456: 70(ivec2) GroupNonUniformSMin 178 PartitionedReduceNV 454 455
- 457: 71(ptr) AccessChain 31(data) 451 63
- 458: 25(ivec4) Load 457
- 459: 25(ivec4) VectorShuffle 458 456 4 5 2 3
- Store 457 459
- 460: 6(int) Load 8(invocation)
- 461: 71(ptr) AccessChain 31(data) 33 63
- 462: 25(ivec4) Load 461
- 463: 78(ivec3) VectorShuffle 462 462 0 1 2
- 464: 17(ivec4) Load 19(ballot)
- 465: 78(ivec3) GroupNonUniformSMin 178 PartitionedReduceNV 463 464
- 466: 71(ptr) AccessChain 31(data) 460 63
- 467: 25(ivec4) Load 466
- 468: 25(ivec4) VectorShuffle 467 465 4 5 6 3
- Store 466 468
- 469: 6(int) Load 8(invocation)
- 470: 71(ptr) AccessChain 31(data) 115 63
- 471: 25(ivec4) Load 470
- 472: 17(ivec4) Load 19(ballot)
- 473: 25(ivec4) GroupNonUniformSMin 178 PartitionedReduceNV 471 472
- 474: 71(ptr) AccessChain 31(data) 469 63
- Store 474 473
- 475: 6(int) Load 8(invocation)
- 476: 90(ptr) AccessChain 31(data) 34 33 35
- 477: 6(int) Load 476
- 478: 17(ivec4) Load 19(ballot)
- 479: 6(int) GroupNonUniformUMin 178 PartitionedReduceNV 477 478
- 480: 90(ptr) AccessChain 31(data) 475 33 35
- Store 480 479
- 481: 6(int) Load 8(invocation)
- 482: 40(ptr) AccessChain 31(data) 63 33
- 483: 17(ivec4) Load 482
- 484: 96(ivec2) VectorShuffle 483 483 0 1
- 485: 17(ivec4) Load 19(ballot)
- 486: 96(ivec2) GroupNonUniformUMin 178 PartitionedReduceNV 484 485
- 487: 40(ptr) AccessChain 31(data) 481 33
- 488: 17(ivec4) Load 487
- 489: 17(ivec4) VectorShuffle 488 486 4 5 2 3
- Store 487 489
- 490: 6(int) Load 8(invocation)
- 491: 40(ptr) AccessChain 31(data) 33 33
- 492: 17(ivec4) Load 491
- 493: 103(ivec3) VectorShuffle 492 492 0 1 2
- 494: 17(ivec4) Load 19(ballot)
- 495: 103(ivec3) GroupNonUniformUMin 178 PartitionedReduceNV 493 494
- 496: 40(ptr) AccessChain 31(data) 490 33
- 497: 17(ivec4) Load 496
- 498: 17(ivec4) VectorShuffle 497 495 4 5 6 3
- Store 496 498
+ 426:122(f64vec2) GroupNonUniformFMul 178 PartitionedReduceNV 424 425
+ 427: 116(ptr) AccessChain 31(data) 421 115 35
+ 428:26(float64_t) CompositeExtract 426 0
+ Store 427 428
+ 429: 116(ptr) AccessChain 31(data) 421 115 189
+ 430:26(float64_t) CompositeExtract 426 1
+ Store 429 430
+ 431: 6(int) Load 8(invocation)
+ 432: 123(ptr) AccessChain 31(data) 33 115
+ 433: 27(f64vec4) Load 432
+ 434:130(f64vec3) VectorShuffle 433 433 0 1 2
+ 435: 17(ivec4) Load 19(ballot)
+ 436:130(f64vec3) GroupNonUniformFMul 178 PartitionedReduceNV 434 435
+ 437: 116(ptr) AccessChain 31(data) 431 115 35
+ 438:26(float64_t) CompositeExtract 436 0
+ Store 437 438
+ 439: 116(ptr) AccessChain 31(data) 431 115 189
+ 440:26(float64_t) CompositeExtract 436 1
+ Store 439 440
+ 441: 116(ptr) AccessChain 31(data) 431 115 202
+ 442:26(float64_t) CompositeExtract 436 2
+ Store 441 442
+ 443: 6(int) Load 8(invocation)
+ 444: 123(ptr) AccessChain 31(data) 115 115
+ 445: 27(f64vec4) Load 444
+ 446: 17(ivec4) Load 19(ballot)
+ 447: 27(f64vec4) GroupNonUniformFMul 178 PartitionedReduceNV 445 446
+ 448: 123(ptr) AccessChain 31(data) 443 115
+ Store 448 447
+ 449: 6(int) Load 8(invocation)
+ 450: 36(ptr) AccessChain 31(data) 34 34 35
+ 451: 22(float) Load 450
+ 452: 17(ivec4) Load 19(ballot)
+ 453: 22(float) GroupNonUniformFMin 178 PartitionedReduceNV 451 452
+ 454: 36(ptr) AccessChain 31(data) 449 34 35
+ Store 454 453
+ 455: 6(int) Load 8(invocation)
+ 456: 44(ptr) AccessChain 31(data) 63 34
+ 457: 23(fvec4) Load 456
+ 458: 43(fvec2) VectorShuffle 457 457 0 1
+ 459: 17(ivec4) Load 19(ballot)
+ 460: 43(fvec2) GroupNonUniformFMin 178 PartitionedReduceNV 458 459
+ 461: 36(ptr) AccessChain 31(data) 455 34 35
+ 462: 22(float) CompositeExtract 460 0
+ Store 461 462
+ 463: 36(ptr) AccessChain 31(data) 455 34 189
+ 464: 22(float) CompositeExtract 460 1
+ Store 463 464
+ 465: 6(int) Load 8(invocation)
+ 466: 44(ptr) AccessChain 31(data) 33 34
+ 467: 23(fvec4) Load 466
+ 468: 51(fvec3) VectorShuffle 467 467 0 1 2
+ 469: 17(ivec4) Load 19(ballot)
+ 470: 51(fvec3) GroupNonUniformFMin 178 PartitionedReduceNV 468 469
+ 471: 36(ptr) AccessChain 31(data) 465 34 35
+ 472: 22(float) CompositeExtract 470 0
+ Store 471 472
+ 473: 36(ptr) AccessChain 31(data) 465 34 189
+ 474: 22(float) CompositeExtract 470 1
+ Store 473 474
+ 475: 36(ptr) AccessChain 31(data) 465 34 202
+ 476: 22(float) CompositeExtract 470 2
+ Store 475 476
+ 477: 6(int) Load 8(invocation)
+ 478: 44(ptr) AccessChain 31(data) 115 34
+ 479: 23(fvec4) Load 478
+ 480: 17(ivec4) Load 19(ballot)
+ 481: 23(fvec4) GroupNonUniformFMin 178 PartitionedReduceNV 479 480
+ 482: 44(ptr) AccessChain 31(data) 477 34
+ Store 482 481
+ 483: 6(int) Load 8(invocation)
+ 484: 64(ptr) AccessChain 31(data) 34 63 35
+ 485: 24(int) Load 484
+ 486: 17(ivec4) Load 19(ballot)
+ 487: 24(int) GroupNonUniformSMin 178 PartitionedReduceNV 485 486
+ 488: 64(ptr) AccessChain 31(data) 483 63 35
+ Store 488 487
+ 489: 6(int) Load 8(invocation)
+ 490: 71(ptr) AccessChain 31(data) 63 63
+ 491: 25(ivec4) Load 490
+ 492: 70(ivec2) VectorShuffle 491 491 0 1
+ 493: 17(ivec4) Load 19(ballot)
+ 494: 70(ivec2) GroupNonUniformSMin 178 PartitionedReduceNV 492 493
+ 495: 64(ptr) AccessChain 31(data) 489 63 35
+ 496: 24(int) CompositeExtract 494 0
+ Store 495 496
+ 497: 64(ptr) AccessChain 31(data) 489 63 189
+ 498: 24(int) CompositeExtract 494 1
+ Store 497 498
499: 6(int) Load 8(invocation)
- 500: 40(ptr) AccessChain 31(data) 115 33
- 501: 17(ivec4) Load 500
- 502: 17(ivec4) Load 19(ballot)
- 503: 17(ivec4) GroupNonUniformUMin 178 PartitionedReduceNV 501 502
- 504: 40(ptr) AccessChain 31(data) 499 33
- Store 504 503
- 505: 6(int) Load 8(invocation)
- 506: 116(ptr) AccessChain 31(data) 34 115 35
- 507:26(float64_t) Load 506
- 508: 17(ivec4) Load 19(ballot)
- 509:26(float64_t) GroupNonUniformFMin 178 PartitionedReduceNV 507 508
- 510: 116(ptr) AccessChain 31(data) 505 115 35
- Store 510 509
+ 500: 71(ptr) AccessChain 31(data) 33 63
+ 501: 25(ivec4) Load 500
+ 502: 78(ivec3) VectorShuffle 501 501 0 1 2
+ 503: 17(ivec4) Load 19(ballot)
+ 504: 78(ivec3) GroupNonUniformSMin 178 PartitionedReduceNV 502 503
+ 505: 64(ptr) AccessChain 31(data) 499 63 35
+ 506: 24(int) CompositeExtract 504 0
+ Store 505 506
+ 507: 64(ptr) AccessChain 31(data) 499 63 189
+ 508: 24(int) CompositeExtract 504 1
+ Store 507 508
+ 509: 64(ptr) AccessChain 31(data) 499 63 202
+ 510: 24(int) CompositeExtract 504 2
+ Store 509 510
511: 6(int) Load 8(invocation)
- 512: 123(ptr) AccessChain 31(data) 63 115
- 513: 27(f64vec4) Load 512
- 514:122(f64vec2) VectorShuffle 513 513 0 1
- 515: 17(ivec4) Load 19(ballot)
- 516:122(f64vec2) GroupNonUniformFMin 178 PartitionedReduceNV 514 515
- 517: 123(ptr) AccessChain 31(data) 511 115
- 518: 27(f64vec4) Load 517
- 519: 27(f64vec4) VectorShuffle 518 516 4 5 2 3
- Store 517 519
- 520: 6(int) Load 8(invocation)
- 521: 123(ptr) AccessChain 31(data) 33 115
- 522: 27(f64vec4) Load 521
- 523:130(f64vec3) VectorShuffle 522 522 0 1 2
- 524: 17(ivec4) Load 19(ballot)
- 525:130(f64vec3) GroupNonUniformFMin 178 PartitionedReduceNV 523 524
- 526: 123(ptr) AccessChain 31(data) 520 115
- 527: 27(f64vec4) Load 526
- 528: 27(f64vec4) VectorShuffle 527 525 4 5 6 3
- Store 526 528
- 529: 6(int) Load 8(invocation)
- 530: 123(ptr) AccessChain 31(data) 115 115
- 531: 27(f64vec4) Load 530
- 532: 17(ivec4) Load 19(ballot)
- 533: 27(f64vec4) GroupNonUniformFMin 178 PartitionedReduceNV 531 532
- 534: 123(ptr) AccessChain 31(data) 529 115
- Store 534 533
- 535: 6(int) Load 8(invocation)
- 536: 36(ptr) AccessChain 31(data) 34 34 35
- 537: 22(float) Load 536
- 538: 17(ivec4) Load 19(ballot)
- 539: 22(float) GroupNonUniformFMax 178 PartitionedReduceNV 537 538
- 540: 36(ptr) AccessChain 31(data) 535 34 35
- Store 540 539
- 541: 6(int) Load 8(invocation)
- 542: 44(ptr) AccessChain 31(data) 63 34
- 543: 23(fvec4) Load 542
- 544: 43(fvec2) VectorShuffle 543 543 0 1
- 545: 17(ivec4) Load 19(ballot)
- 546: 43(fvec2) GroupNonUniformFMax 178 PartitionedReduceNV 544 545
- 547: 44(ptr) AccessChain 31(data) 541 34
- 548: 23(fvec4) Load 547
- 549: 23(fvec4) VectorShuffle 548 546 4 5 2 3
- Store 547 549
- 550: 6(int) Load 8(invocation)
- 551: 44(ptr) AccessChain 31(data) 33 34
- 552: 23(fvec4) Load 551
- 553: 51(fvec3) VectorShuffle 552 552 0 1 2
+ 512: 71(ptr) AccessChain 31(data) 115 63
+ 513: 25(ivec4) Load 512
+ 514: 17(ivec4) Load 19(ballot)
+ 515: 25(ivec4) GroupNonUniformSMin 178 PartitionedReduceNV 513 514
+ 516: 71(ptr) AccessChain 31(data) 511 63
+ Store 516 515
+ 517: 6(int) Load 8(invocation)
+ 518: 90(ptr) AccessChain 31(data) 34 33 35
+ 519: 6(int) Load 518
+ 520: 17(ivec4) Load 19(ballot)
+ 521: 6(int) GroupNonUniformUMin 178 PartitionedReduceNV 519 520
+ 522: 90(ptr) AccessChain 31(data) 517 33 35
+ Store 522 521
+ 523: 6(int) Load 8(invocation)
+ 524: 40(ptr) AccessChain 31(data) 63 33
+ 525: 17(ivec4) Load 524
+ 526: 96(ivec2) VectorShuffle 525 525 0 1
+ 527: 17(ivec4) Load 19(ballot)
+ 528: 96(ivec2) GroupNonUniformUMin 178 PartitionedReduceNV 526 527
+ 529: 90(ptr) AccessChain 31(data) 523 33 35
+ 530: 6(int) CompositeExtract 528 0
+ Store 529 530
+ 531: 90(ptr) AccessChain 31(data) 523 33 189
+ 532: 6(int) CompositeExtract 528 1
+ Store 531 532
+ 533: 6(int) Load 8(invocation)
+ 534: 40(ptr) AccessChain 31(data) 33 33
+ 535: 17(ivec4) Load 534
+ 536: 103(ivec3) VectorShuffle 535 535 0 1 2
+ 537: 17(ivec4) Load 19(ballot)
+ 538: 103(ivec3) GroupNonUniformUMin 178 PartitionedReduceNV 536 537
+ 539: 90(ptr) AccessChain 31(data) 533 33 35
+ 540: 6(int) CompositeExtract 538 0
+ Store 539 540
+ 541: 90(ptr) AccessChain 31(data) 533 33 189
+ 542: 6(int) CompositeExtract 538 1
+ Store 541 542
+ 543: 90(ptr) AccessChain 31(data) 533 33 202
+ 544: 6(int) CompositeExtract 538 2
+ Store 543 544
+ 545: 6(int) Load 8(invocation)
+ 546: 40(ptr) AccessChain 31(data) 115 33
+ 547: 17(ivec4) Load 546
+ 548: 17(ivec4) Load 19(ballot)
+ 549: 17(ivec4) GroupNonUniformUMin 178 PartitionedReduceNV 547 548
+ 550: 40(ptr) AccessChain 31(data) 545 33
+ Store 550 549
+ 551: 6(int) Load 8(invocation)
+ 552: 116(ptr) AccessChain 31(data) 34 115 35
+ 553:26(float64_t) Load 552
554: 17(ivec4) Load 19(ballot)
- 555: 51(fvec3) GroupNonUniformFMax 178 PartitionedReduceNV 553 554
- 556: 44(ptr) AccessChain 31(data) 550 34
- 557: 23(fvec4) Load 556
- 558: 23(fvec4) VectorShuffle 557 555 4 5 6 3
- Store 556 558
- 559: 6(int) Load 8(invocation)
- 560: 44(ptr) AccessChain 31(data) 115 34
- 561: 23(fvec4) Load 560
- 562: 17(ivec4) Load 19(ballot)
- 563: 23(fvec4) GroupNonUniformFMax 178 PartitionedReduceNV 561 562
- 564: 44(ptr) AccessChain 31(data) 559 34
- Store 564 563
- 565: 6(int) Load 8(invocation)
- 566: 64(ptr) AccessChain 31(data) 34 63 35
- 567: 24(int) Load 566
- 568: 17(ivec4) Load 19(ballot)
- 569: 24(int) GroupNonUniformSMax 178 PartitionedReduceNV 567 568
- 570: 64(ptr) AccessChain 31(data) 565 63 35
- Store 570 569
- 571: 6(int) Load 8(invocation)
- 572: 71(ptr) AccessChain 31(data) 63 63
- 573: 25(ivec4) Load 572
- 574: 70(ivec2) VectorShuffle 573 573 0 1
- 575: 17(ivec4) Load 19(ballot)
- 576: 70(ivec2) GroupNonUniformSMax 178 PartitionedReduceNV 574 575
- 577: 71(ptr) AccessChain 31(data) 571 63
- 578: 25(ivec4) Load 577
- 579: 25(ivec4) VectorShuffle 578 576 4 5 2 3
- Store 577 579
- 580: 6(int) Load 8(invocation)
- 581: 71(ptr) AccessChain 31(data) 33 63
- 582: 25(ivec4) Load 581
- 583: 78(ivec3) VectorShuffle 582 582 0 1 2
- 584: 17(ivec4) Load 19(ballot)
- 585: 78(ivec3) GroupNonUniformSMax 178 PartitionedReduceNV 583 584
- 586: 71(ptr) AccessChain 31(data) 580 63
- 587: 25(ivec4) Load 586
- 588: 25(ivec4) VectorShuffle 587 585 4 5 6 3
- Store 586 588
- 589: 6(int) Load 8(invocation)
- 590: 71(ptr) AccessChain 31(data) 115 63
- 591: 25(ivec4) Load 590
- 592: 17(ivec4) Load 19(ballot)
- 593: 25(ivec4) GroupNonUniformSMax 178 PartitionedReduceNV 591 592
- 594: 71(ptr) AccessChain 31(data) 589 63
- Store 594 593
- 595: 6(int) Load 8(invocation)
- 596: 90(ptr) AccessChain 31(data) 34 33 35
- 597: 6(int) Load 596
- 598: 17(ivec4) Load 19(ballot)
- 599: 6(int) GroupNonUniformUMax 178 PartitionedReduceNV 597 598
- 600: 90(ptr) AccessChain 31(data) 595 33 35
- Store 600 599
+ 555:26(float64_t) GroupNonUniformFMin 178 PartitionedReduceNV 553 554
+ 556: 116(ptr) AccessChain 31(data) 551 115 35
+ Store 556 555
+ 557: 6(int) Load 8(invocation)
+ 558: 123(ptr) AccessChain 31(data) 63 115
+ 559: 27(f64vec4) Load 558
+ 560:122(f64vec2) VectorShuffle 559 559 0 1
+ 561: 17(ivec4) Load 19(ballot)
+ 562:122(f64vec2) GroupNonUniformFMin 178 PartitionedReduceNV 560 561
+ 563: 116(ptr) AccessChain 31(data) 557 115 35
+ 564:26(float64_t) CompositeExtract 562 0
+ Store 563 564
+ 565: 116(ptr) AccessChain 31(data) 557 115 189
+ 566:26(float64_t) CompositeExtract 562 1
+ Store 565 566
+ 567: 6(int) Load 8(invocation)
+ 568: 123(ptr) AccessChain 31(data) 33 115
+ 569: 27(f64vec4) Load 568
+ 570:130(f64vec3) VectorShuffle 569 569 0 1 2
+ 571: 17(ivec4) Load 19(ballot)
+ 572:130(f64vec3) GroupNonUniformFMin 178 PartitionedReduceNV 570 571
+ 573: 116(ptr) AccessChain 31(data) 567 115 35
+ 574:26(float64_t) CompositeExtract 572 0
+ Store 573 574
+ 575: 116(ptr) AccessChain 31(data) 567 115 189
+ 576:26(float64_t) CompositeExtract 572 1
+ Store 575 576
+ 577: 116(ptr) AccessChain 31(data) 567 115 202
+ 578:26(float64_t) CompositeExtract 572 2
+ Store 577 578
+ 579: 6(int) Load 8(invocation)
+ 580: 123(ptr) AccessChain 31(data) 115 115
+ 581: 27(f64vec4) Load 580
+ 582: 17(ivec4) Load 19(ballot)
+ 583: 27(f64vec4) GroupNonUniformFMin 178 PartitionedReduceNV 581 582
+ 584: 123(ptr) AccessChain 31(data) 579 115
+ Store 584 583
+ 585: 6(int) Load 8(invocation)
+ 586: 36(ptr) AccessChain 31(data) 34 34 35
+ 587: 22(float) Load 586
+ 588: 17(ivec4) Load 19(ballot)
+ 589: 22(float) GroupNonUniformFMax 178 PartitionedReduceNV 587 588
+ 590: 36(ptr) AccessChain 31(data) 585 34 35
+ Store 590 589
+ 591: 6(int) Load 8(invocation)
+ 592: 44(ptr) AccessChain 31(data) 63 34
+ 593: 23(fvec4) Load 592
+ 594: 43(fvec2) VectorShuffle 593 593 0 1
+ 595: 17(ivec4) Load 19(ballot)
+ 596: 43(fvec2) GroupNonUniformFMax 178 PartitionedReduceNV 594 595
+ 597: 36(ptr) AccessChain 31(data) 591 34 35
+ 598: 22(float) CompositeExtract 596 0
+ Store 597 598
+ 599: 36(ptr) AccessChain 31(data) 591 34 189
+ 600: 22(float) CompositeExtract 596 1
+ Store 599 600
601: 6(int) Load 8(invocation)
- 602: 40(ptr) AccessChain 31(data) 63 33
- 603: 17(ivec4) Load 602
- 604: 96(ivec2) VectorShuffle 603 603 0 1
+ 602: 44(ptr) AccessChain 31(data) 33 34
+ 603: 23(fvec4) Load 602
+ 604: 51(fvec3) VectorShuffle 603 603 0 1 2
605: 17(ivec4) Load 19(ballot)
- 606: 96(ivec2) GroupNonUniformUMax 178 PartitionedReduceNV 604 605
- 607: 40(ptr) AccessChain 31(data) 601 33
- 608: 17(ivec4) Load 607
- 609: 17(ivec4) VectorShuffle 608 606 4 5 2 3
- Store 607 609
- 610: 6(int) Load 8(invocation)
- 611: 40(ptr) AccessChain 31(data) 33 33
- 612: 17(ivec4) Load 611
- 613: 103(ivec3) VectorShuffle 612 612 0 1 2
- 614: 17(ivec4) Load 19(ballot)
- 615: 103(ivec3) GroupNonUniformUMax 178 PartitionedReduceNV 613 614
- 616: 40(ptr) AccessChain 31(data) 610 33
- 617: 17(ivec4) Load 616
- 618: 17(ivec4) VectorShuffle 617 615 4 5 6 3
- Store 616 618
+ 606: 51(fvec3) GroupNonUniformFMax 178 PartitionedReduceNV 604 605
+ 607: 36(ptr) AccessChain 31(data) 601 34 35
+ 608: 22(float) CompositeExtract 606 0
+ Store 607 608
+ 609: 36(ptr) AccessChain 31(data) 601 34 189
+ 610: 22(float) CompositeExtract 606 1
+ Store 609 610
+ 611: 36(ptr) AccessChain 31(data) 601 34 202
+ 612: 22(float) CompositeExtract 606 2
+ Store 611 612
+ 613: 6(int) Load 8(invocation)
+ 614: 44(ptr) AccessChain 31(data) 115 34
+ 615: 23(fvec4) Load 614
+ 616: 17(ivec4) Load 19(ballot)
+ 617: 23(fvec4) GroupNonUniformFMax 178 PartitionedReduceNV 615 616
+ 618: 44(ptr) AccessChain 31(data) 613 34
+ Store 618 617
619: 6(int) Load 8(invocation)
- 620: 40(ptr) AccessChain 31(data) 115 33
- 621: 17(ivec4) Load 620
+ 620: 64(ptr) AccessChain 31(data) 34 63 35
+ 621: 24(int) Load 620
622: 17(ivec4) Load 19(ballot)
- 623: 17(ivec4) GroupNonUniformUMax 178 PartitionedReduceNV 621 622
- 624: 40(ptr) AccessChain 31(data) 619 33
+ 623: 24(int) GroupNonUniformSMax 178 PartitionedReduceNV 621 622
+ 624: 64(ptr) AccessChain 31(data) 619 63 35
Store 624 623
625: 6(int) Load 8(invocation)
- 626: 116(ptr) AccessChain 31(data) 34 115 35
- 627:26(float64_t) Load 626
- 628: 17(ivec4) Load 19(ballot)
- 629:26(float64_t) GroupNonUniformFMax 178 PartitionedReduceNV 627 628
- 630: 116(ptr) AccessChain 31(data) 625 115 35
- Store 630 629
- 631: 6(int) Load 8(invocation)
- 632: 123(ptr) AccessChain 31(data) 63 115
- 633: 27(f64vec4) Load 632
- 634:122(f64vec2) VectorShuffle 633 633 0 1
- 635: 17(ivec4) Load 19(ballot)
- 636:122(f64vec2) GroupNonUniformFMax 178 PartitionedReduceNV 634 635
- 637: 123(ptr) AccessChain 31(data) 631 115
- 638: 27(f64vec4) Load 637
- 639: 27(f64vec4) VectorShuffle 638 636 4 5 2 3
- Store 637 639
- 640: 6(int) Load 8(invocation)
- 641: 123(ptr) AccessChain 31(data) 33 115
- 642: 27(f64vec4) Load 641
- 643:130(f64vec3) VectorShuffle 642 642 0 1 2
- 644: 17(ivec4) Load 19(ballot)
- 645:130(f64vec3) GroupNonUniformFMax 178 PartitionedReduceNV 643 644
- 646: 123(ptr) AccessChain 31(data) 640 115
- 647: 27(f64vec4) Load 646
- 648: 27(f64vec4) VectorShuffle 647 645 4 5 6 3
- Store 646 648
- 649: 6(int) Load 8(invocation)
- 650: 123(ptr) AccessChain 31(data) 115 115
- 651: 27(f64vec4) Load 650
- 652: 17(ivec4) Load 19(ballot)
- 653: 27(f64vec4) GroupNonUniformFMax 178 PartitionedReduceNV 651 652
- 654: 123(ptr) AccessChain 31(data) 649 115
- Store 654 653
- 655: 6(int) Load 8(invocation)
- 656: 64(ptr) AccessChain 31(data) 34 63 35
- 657: 24(int) Load 656
- 658: 17(ivec4) Load 19(ballot)
- 659: 24(int) GroupNonUniformBitwiseAnd 178 PartitionedReduceNV 657 658
- 660: 64(ptr) AccessChain 31(data) 655 63 35
- Store 660 659
- 661: 6(int) Load 8(invocation)
- 662: 71(ptr) AccessChain 31(data) 63 63
- 663: 25(ivec4) Load 662
- 664: 70(ivec2) VectorShuffle 663 663 0 1
- 665: 17(ivec4) Load 19(ballot)
- 666: 70(ivec2) GroupNonUniformBitwiseAnd 178 PartitionedReduceNV 664 665
- 667: 71(ptr) AccessChain 31(data) 661 63
- 668: 25(ivec4) Load 667
- 669: 25(ivec4) VectorShuffle 668 666 4 5 2 3
- Store 667 669
- 670: 6(int) Load 8(invocation)
- 671: 71(ptr) AccessChain 31(data) 33 63
- 672: 25(ivec4) Load 671
- 673: 78(ivec3) VectorShuffle 672 672 0 1 2
- 674: 17(ivec4) Load 19(ballot)
- 675: 78(ivec3) GroupNonUniformBitwiseAnd 178 PartitionedReduceNV 673 674
- 676: 71(ptr) AccessChain 31(data) 670 63
- 677: 25(ivec4) Load 676
- 678: 25(ivec4) VectorShuffle 677 675 4 5 6 3
- Store 676 678
- 679: 6(int) Load 8(invocation)
- 680: 71(ptr) AccessChain 31(data) 115 63
- 681: 25(ivec4) Load 680
- 682: 17(ivec4) Load 19(ballot)
- 683: 25(ivec4) GroupNonUniformBitwiseAnd 178 PartitionedReduceNV 681 682
- 684: 71(ptr) AccessChain 31(data) 679 63
- Store 684 683
- 685: 6(int) Load 8(invocation)
- 686: 90(ptr) AccessChain 31(data) 34 33 35
- 687: 6(int) Load 686
- 688: 17(ivec4) Load 19(ballot)
- 689: 6(int) GroupNonUniformBitwiseAnd 178 PartitionedReduceNV 687 688
- 690: 90(ptr) AccessChain 31(data) 685 33 35
- Store 690 689
- 691: 6(int) Load 8(invocation)
- 692: 40(ptr) AccessChain 31(data) 63 33
- 693: 17(ivec4) Load 692
- 694: 96(ivec2) VectorShuffle 693 693 0 1
- 695: 17(ivec4) Load 19(ballot)
- 696: 96(ivec2) GroupNonUniformBitwiseAnd 178 PartitionedReduceNV 694 695
- 697: 40(ptr) AccessChain 31(data) 691 33
- 698: 17(ivec4) Load 697
- 699: 17(ivec4) VectorShuffle 698 696 4 5 2 3
- Store 697 699
- 700: 6(int) Load 8(invocation)
- 701: 40(ptr) AccessChain 31(data) 33 33
- 702: 17(ivec4) Load 701
- 703: 103(ivec3) VectorShuffle 702 702 0 1 2
- 704: 17(ivec4) Load 19(ballot)
- 705: 103(ivec3) GroupNonUniformBitwiseAnd 178 PartitionedReduceNV 703 704
- 706: 40(ptr) AccessChain 31(data) 700 33
- 707: 17(ivec4) Load 706
- 708: 17(ivec4) VectorShuffle 707 705 4 5 6 3
- Store 706 708
- 709: 6(int) Load 8(invocation)
- 710: 40(ptr) AccessChain 31(data) 115 33
- 711: 17(ivec4) Load 710
- 712: 17(ivec4) Load 19(ballot)
- 713: 17(ivec4) GroupNonUniformBitwiseAnd 178 PartitionedReduceNV 711 712
- 714: 40(ptr) AccessChain 31(data) 709 33
- Store 714 713
+ 626: 71(ptr) AccessChain 31(data) 63 63
+ 627: 25(ivec4) Load 626
+ 628: 70(ivec2) VectorShuffle 627 627 0 1
+ 629: 17(ivec4) Load 19(ballot)
+ 630: 70(ivec2) GroupNonUniformSMax 178 PartitionedReduceNV 628 629
+ 631: 64(ptr) AccessChain 31(data) 625 63 35
+ 632: 24(int) CompositeExtract 630 0
+ Store 631 632
+ 633: 64(ptr) AccessChain 31(data) 625 63 189
+ 634: 24(int) CompositeExtract 630 1
+ Store 633 634
+ 635: 6(int) Load 8(invocation)
+ 636: 71(ptr) AccessChain 31(data) 33 63
+ 637: 25(ivec4) Load 636
+ 638: 78(ivec3) VectorShuffle 637 637 0 1 2
+ 639: 17(ivec4) Load 19(ballot)
+ 640: 78(ivec3) GroupNonUniformSMax 178 PartitionedReduceNV 638 639
+ 641: 64(ptr) AccessChain 31(data) 635 63 35
+ 642: 24(int) CompositeExtract 640 0
+ Store 641 642
+ 643: 64(ptr) AccessChain 31(data) 635 63 189
+ 644: 24(int) CompositeExtract 640 1
+ Store 643 644
+ 645: 64(ptr) AccessChain 31(data) 635 63 202
+ 646: 24(int) CompositeExtract 640 2
+ Store 645 646
+ 647: 6(int) Load 8(invocation)
+ 648: 71(ptr) AccessChain 31(data) 115 63
+ 649: 25(ivec4) Load 648
+ 650: 17(ivec4) Load 19(ballot)
+ 651: 25(ivec4) GroupNonUniformSMax 178 PartitionedReduceNV 649 650
+ 652: 71(ptr) AccessChain 31(data) 647 63
+ Store 652 651
+ 653: 6(int) Load 8(invocation)
+ 654: 90(ptr) AccessChain 31(data) 34 33 35
+ 655: 6(int) Load 654
+ 656: 17(ivec4) Load 19(ballot)
+ 657: 6(int) GroupNonUniformUMax 178 PartitionedReduceNV 655 656
+ 658: 90(ptr) AccessChain 31(data) 653 33 35
+ Store 658 657
+ 659: 6(int) Load 8(invocation)
+ 660: 40(ptr) AccessChain 31(data) 63 33
+ 661: 17(ivec4) Load 660
+ 662: 96(ivec2) VectorShuffle 661 661 0 1
+ 663: 17(ivec4) Load 19(ballot)
+ 664: 96(ivec2) GroupNonUniformUMax 178 PartitionedReduceNV 662 663
+ 665: 90(ptr) AccessChain 31(data) 659 33 35
+ 666: 6(int) CompositeExtract 664 0
+ Store 665 666
+ 667: 90(ptr) AccessChain 31(data) 659 33 189
+ 668: 6(int) CompositeExtract 664 1
+ Store 667 668
+ 669: 6(int) Load 8(invocation)
+ 670: 40(ptr) AccessChain 31(data) 33 33
+ 671: 17(ivec4) Load 670
+ 672: 103(ivec3) VectorShuffle 671 671 0 1 2
+ 673: 17(ivec4) Load 19(ballot)
+ 674: 103(ivec3) GroupNonUniformUMax 178 PartitionedReduceNV 672 673
+ 675: 90(ptr) AccessChain 31(data) 669 33 35
+ 676: 6(int) CompositeExtract 674 0
+ Store 675 676
+ 677: 90(ptr) AccessChain 31(data) 669 33 189
+ 678: 6(int) CompositeExtract 674 1
+ Store 677 678
+ 679: 90(ptr) AccessChain 31(data) 669 33 202
+ 680: 6(int) CompositeExtract 674 2
+ Store 679 680
+ 681: 6(int) Load 8(invocation)
+ 682: 40(ptr) AccessChain 31(data) 115 33
+ 683: 17(ivec4) Load 682
+ 684: 17(ivec4) Load 19(ballot)
+ 685: 17(ivec4) GroupNonUniformUMax 178 PartitionedReduceNV 683 684
+ 686: 40(ptr) AccessChain 31(data) 681 33
+ Store 686 685
+ 687: 6(int) Load 8(invocation)
+ 688: 116(ptr) AccessChain 31(data) 34 115 35
+ 689:26(float64_t) Load 688
+ 690: 17(ivec4) Load 19(ballot)
+ 691:26(float64_t) GroupNonUniformFMax 178 PartitionedReduceNV 689 690
+ 692: 116(ptr) AccessChain 31(data) 687 115 35
+ Store 692 691
+ 693: 6(int) Load 8(invocation)
+ 694: 123(ptr) AccessChain 31(data) 63 115
+ 695: 27(f64vec4) Load 694
+ 696:122(f64vec2) VectorShuffle 695 695 0 1
+ 697: 17(ivec4) Load 19(ballot)
+ 698:122(f64vec2) GroupNonUniformFMax 178 PartitionedReduceNV 696 697
+ 699: 116(ptr) AccessChain 31(data) 693 115 35
+ 700:26(float64_t) CompositeExtract 698 0
+ Store 699 700
+ 701: 116(ptr) AccessChain 31(data) 693 115 189
+ 702:26(float64_t) CompositeExtract 698 1
+ Store 701 702
+ 703: 6(int) Load 8(invocation)
+ 704: 123(ptr) AccessChain 31(data) 33 115
+ 705: 27(f64vec4) Load 704
+ 706:130(f64vec3) VectorShuffle 705 705 0 1 2
+ 707: 17(ivec4) Load 19(ballot)
+ 708:130(f64vec3) GroupNonUniformFMax 178 PartitionedReduceNV 706 707
+ 709: 116(ptr) AccessChain 31(data) 703 115 35
+ 710:26(float64_t) CompositeExtract 708 0
+ Store 709 710
+ 711: 116(ptr) AccessChain 31(data) 703 115 189
+ 712:26(float64_t) CompositeExtract 708 1
+ Store 711 712
+ 713: 116(ptr) AccessChain 31(data) 703 115 202
+ 714:26(float64_t) CompositeExtract 708 2
+ Store 713 714
715: 6(int) Load 8(invocation)
- 716: 64(ptr) AccessChain 31(data) 34 63 35
- 717: 24(int) Load 716
- 718: 144(bool) SLessThan 717 34
- 719: 17(ivec4) Load 19(ballot)
- 720: 144(bool) GroupNonUniformLogicalAnd 178 PartitionedReduceNV 718 719
- 721: 24(int) Select 720 63 34
- 722: 64(ptr) AccessChain 31(data) 715 63 35
- Store 722 721
- 723: 6(int) Load 8(invocation)
- 724: 71(ptr) AccessChain 31(data) 63 63
- 725: 25(ivec4) Load 724
- 726: 70(ivec2) VectorShuffle 725 725 0 1
- 728: 152(bvec2) SLessThan 726 727
- 729: 17(ivec4) Load 19(ballot)
- 730: 152(bvec2) GroupNonUniformLogicalAnd 178 PartitionedReduceNV 728 729
- 732: 70(ivec2) Select 730 731 727
- 733: 71(ptr) AccessChain 31(data) 723 63
- 734: 25(ivec4) Load 733
- 735: 25(ivec4) VectorShuffle 734 732 4 5 2 3
- Store 733 735
- 736: 6(int) Load 8(invocation)
- 737: 71(ptr) AccessChain 31(data) 63 63
- 738: 25(ivec4) Load 737
- 739: 78(ivec3) VectorShuffle 738 738 0 1 2
- 741: 161(bvec3) SLessThan 739 740
- 742: 17(ivec4) Load 19(ballot)
- 743: 161(bvec3) GroupNonUniformLogicalAnd 178 PartitionedReduceNV 741 742
- 745: 78(ivec3) Select 743 744 740
- 746: 71(ptr) AccessChain 31(data) 736 63
- 747: 25(ivec4) Load 746
- 748: 25(ivec4) VectorShuffle 747 745 4 5 6 3
- Store 746 748
+ 716: 123(ptr) AccessChain 31(data) 115 115
+ 717: 27(f64vec4) Load 716
+ 718: 17(ivec4) Load 19(ballot)
+ 719: 27(f64vec4) GroupNonUniformFMax 178 PartitionedReduceNV 717 718
+ 720: 123(ptr) AccessChain 31(data) 715 115
+ Store 720 719
+ 721: 6(int) Load 8(invocation)
+ 722: 64(ptr) AccessChain 31(data) 34 63 35
+ 723: 24(int) Load 722
+ 724: 17(ivec4) Load 19(ballot)
+ 725: 24(int) GroupNonUniformBitwiseAnd 178 PartitionedReduceNV 723 724
+ 726: 64(ptr) AccessChain 31(data) 721 63 35
+ Store 726 725
+ 727: 6(int) Load 8(invocation)
+ 728: 71(ptr) AccessChain 31(data) 63 63
+ 729: 25(ivec4) Load 728
+ 730: 70(ivec2) VectorShuffle 729 729 0 1
+ 731: 17(ivec4) Load 19(ballot)
+ 732: 70(ivec2) GroupNonUniformBitwiseAnd 178 PartitionedReduceNV 730 731
+ 733: 64(ptr) AccessChain 31(data) 727 63 35
+ 734: 24(int) CompositeExtract 732 0
+ Store 733 734
+ 735: 64(ptr) AccessChain 31(data) 727 63 189
+ 736: 24(int) CompositeExtract 732 1
+ Store 735 736
+ 737: 6(int) Load 8(invocation)
+ 738: 71(ptr) AccessChain 31(data) 33 63
+ 739: 25(ivec4) Load 738
+ 740: 78(ivec3) VectorShuffle 739 739 0 1 2
+ 741: 17(ivec4) Load 19(ballot)
+ 742: 78(ivec3) GroupNonUniformBitwiseAnd 178 PartitionedReduceNV 740 741
+ 743: 64(ptr) AccessChain 31(data) 737 63 35
+ 744: 24(int) CompositeExtract 742 0
+ Store 743 744
+ 745: 64(ptr) AccessChain 31(data) 737 63 189
+ 746: 24(int) CompositeExtract 742 1
+ Store 745 746
+ 747: 64(ptr) AccessChain 31(data) 737 63 202
+ 748: 24(int) CompositeExtract 742 2
+ Store 747 748
749: 6(int) Load 8(invocation)
- 750: 71(ptr) AccessChain 31(data) 63 63
+ 750: 71(ptr) AccessChain 31(data) 115 63
751: 25(ivec4) Load 750
- 753: 169(bvec4) SLessThan 751 752
- 754: 17(ivec4) Load 19(ballot)
- 755: 169(bvec4) GroupNonUniformLogicalAnd 178 PartitionedReduceNV 753 754
- 757: 25(ivec4) Select 755 756 752
- 758: 71(ptr) AccessChain 31(data) 749 63
- Store 758 757
- 759: 6(int) Load 8(invocation)
- 760: 64(ptr) AccessChain 31(data) 34 63 35
- 761: 24(int) Load 760
- 762: 17(ivec4) Load 19(ballot)
- 763: 24(int) GroupNonUniformBitwiseOr 178 PartitionedReduceNV 761 762
- 764: 64(ptr) AccessChain 31(data) 759 63 35
- Store 764 763
- 765: 6(int) Load 8(invocation)
- 766: 71(ptr) AccessChain 31(data) 63 63
- 767: 25(ivec4) Load 766
- 768: 70(ivec2) VectorShuffle 767 767 0 1
- 769: 17(ivec4) Load 19(ballot)
- 770: 70(ivec2) GroupNonUniformBitwiseOr 178 PartitionedReduceNV 768 769
- 771: 71(ptr) AccessChain 31(data) 765 63
- 772: 25(ivec4) Load 771
- 773: 25(ivec4) VectorShuffle 772 770 4 5 2 3
- Store 771 773
- 774: 6(int) Load 8(invocation)
- 775: 71(ptr) AccessChain 31(data) 33 63
- 776: 25(ivec4) Load 775
- 777: 78(ivec3) VectorShuffle 776 776 0 1 2
- 778: 17(ivec4) Load 19(ballot)
- 779: 78(ivec3) GroupNonUniformBitwiseOr 178 PartitionedReduceNV 777 778
- 780: 71(ptr) AccessChain 31(data) 774 63
- 781: 25(ivec4) Load 780
- 782: 25(ivec4) VectorShuffle 781 779 4 5 6 3
- Store 780 782
+ 752: 17(ivec4) Load 19(ballot)
+ 753: 25(ivec4) GroupNonUniformBitwiseAnd 178 PartitionedReduceNV 751 752
+ 754: 71(ptr) AccessChain 31(data) 749 63
+ Store 754 753
+ 755: 6(int) Load 8(invocation)
+ 756: 90(ptr) AccessChain 31(data) 34 33 35
+ 757: 6(int) Load 756
+ 758: 17(ivec4) Load 19(ballot)
+ 759: 6(int) GroupNonUniformBitwiseAnd 178 PartitionedReduceNV 757 758
+ 760: 90(ptr) AccessChain 31(data) 755 33 35
+ Store 760 759
+ 761: 6(int) Load 8(invocation)
+ 762: 40(ptr) AccessChain 31(data) 63 33
+ 763: 17(ivec4) Load 762
+ 764: 96(ivec2) VectorShuffle 763 763 0 1
+ 765: 17(ivec4) Load 19(ballot)
+ 766: 96(ivec2) GroupNonUniformBitwiseAnd 178 PartitionedReduceNV 764 765
+ 767: 90(ptr) AccessChain 31(data) 761 33 35
+ 768: 6(int) CompositeExtract 766 0
+ Store 767 768
+ 769: 90(ptr) AccessChain 31(data) 761 33 189
+ 770: 6(int) CompositeExtract 766 1
+ Store 769 770
+ 771: 6(int) Load 8(invocation)
+ 772: 40(ptr) AccessChain 31(data) 33 33
+ 773: 17(ivec4) Load 772
+ 774: 103(ivec3) VectorShuffle 773 773 0 1 2
+ 775: 17(ivec4) Load 19(ballot)
+ 776: 103(ivec3) GroupNonUniformBitwiseAnd 178 PartitionedReduceNV 774 775
+ 777: 90(ptr) AccessChain 31(data) 771 33 35
+ 778: 6(int) CompositeExtract 776 0
+ Store 777 778
+ 779: 90(ptr) AccessChain 31(data) 771 33 189
+ 780: 6(int) CompositeExtract 776 1
+ Store 779 780
+ 781: 90(ptr) AccessChain 31(data) 771 33 202
+ 782: 6(int) CompositeExtract 776 2
+ Store 781 782
783: 6(int) Load 8(invocation)
- 784: 71(ptr) AccessChain 31(data) 115 63
- 785: 25(ivec4) Load 784
+ 784: 40(ptr) AccessChain 31(data) 115 33
+ 785: 17(ivec4) Load 784
786: 17(ivec4) Load 19(ballot)
- 787: 25(ivec4) GroupNonUniformBitwiseOr 178 PartitionedReduceNV 785 786
- 788: 71(ptr) AccessChain 31(data) 783 63
+ 787: 17(ivec4) GroupNonUniformBitwiseAnd 178 PartitionedReduceNV 785 786
+ 788: 40(ptr) AccessChain 31(data) 783 33
Store 788 787
789: 6(int) Load 8(invocation)
- 790: 90(ptr) AccessChain 31(data) 34 33 35
- 791: 6(int) Load 790
- 792: 17(ivec4) Load 19(ballot)
- 793: 6(int) GroupNonUniformBitwiseOr 178 PartitionedReduceNV 791 792
- 794: 90(ptr) AccessChain 31(data) 789 33 35
- Store 794 793
- 795: 6(int) Load 8(invocation)
- 796: 40(ptr) AccessChain 31(data) 63 33
- 797: 17(ivec4) Load 796
- 798: 96(ivec2) VectorShuffle 797 797 0 1
- 799: 17(ivec4) Load 19(ballot)
- 800: 96(ivec2) GroupNonUniformBitwiseOr 178 PartitionedReduceNV 798 799
- 801: 40(ptr) AccessChain 31(data) 795 33
- 802: 17(ivec4) Load 801
- 803: 17(ivec4) VectorShuffle 802 800 4 5 2 3
- Store 801 803
- 804: 6(int) Load 8(invocation)
- 805: 40(ptr) AccessChain 31(data) 33 33
- 806: 17(ivec4) Load 805
- 807: 103(ivec3) VectorShuffle 806 806 0 1 2
- 808: 17(ivec4) Load 19(ballot)
- 809: 103(ivec3) GroupNonUniformBitwiseOr 178 PartitionedReduceNV 807 808
- 810: 40(ptr) AccessChain 31(data) 804 33
- 811: 17(ivec4) Load 810
- 812: 17(ivec4) VectorShuffle 811 809 4 5 6 3
- Store 810 812
- 813: 6(int) Load 8(invocation)
- 814: 40(ptr) AccessChain 31(data) 115 33
- 815: 17(ivec4) Load 814
- 816: 17(ivec4) Load 19(ballot)
- 817: 17(ivec4) GroupNonUniformBitwiseOr 178 PartitionedReduceNV 815 816
- 818: 40(ptr) AccessChain 31(data) 813 33
- Store 818 817
- 819: 6(int) Load 8(invocation)
- 820: 64(ptr) AccessChain 31(data) 34 63 35
- 821: 24(int) Load 820
- 822: 144(bool) SLessThan 821 34
- 823: 17(ivec4) Load 19(ballot)
- 824: 144(bool) GroupNonUniformLogicalOr 178 PartitionedReduceNV 822 823
- 825: 24(int) Select 824 63 34
- 826: 64(ptr) AccessChain 31(data) 819 63 35
- Store 826 825
+ 790: 64(ptr) AccessChain 31(data) 34 63 35
+ 791: 24(int) Load 790
+ 792: 144(bool) SLessThan 791 34
+ 793: 17(ivec4) Load 19(ballot)
+ 794: 144(bool) GroupNonUniformLogicalAnd 178 PartitionedReduceNV 792 793
+ 795: 24(int) Select 794 63 34
+ 796: 64(ptr) AccessChain 31(data) 789 63 35
+ Store 796 795
+ 797: 6(int) Load 8(invocation)
+ 798: 71(ptr) AccessChain 31(data) 63 63
+ 799: 25(ivec4) Load 798
+ 800: 70(ivec2) VectorShuffle 799 799 0 1
+ 802: 152(bvec2) SLessThan 800 801
+ 803: 17(ivec4) Load 19(ballot)
+ 804: 152(bvec2) GroupNonUniformLogicalAnd 178 PartitionedReduceNV 802 803
+ 806: 70(ivec2) Select 804 805 801
+ 807: 64(ptr) AccessChain 31(data) 797 63 35
+ 808: 24(int) CompositeExtract 806 0
+ Store 807 808
+ 809: 64(ptr) AccessChain 31(data) 797 63 189
+ 810: 24(int) CompositeExtract 806 1
+ Store 809 810
+ 811: 6(int) Load 8(invocation)
+ 812: 71(ptr) AccessChain 31(data) 63 63
+ 813: 25(ivec4) Load 812
+ 814: 78(ivec3) VectorShuffle 813 813 0 1 2
+ 816: 161(bvec3) SLessThan 814 815
+ 817: 17(ivec4) Load 19(ballot)
+ 818: 161(bvec3) GroupNonUniformLogicalAnd 178 PartitionedReduceNV 816 817
+ 820: 78(ivec3) Select 818 819 815
+ 821: 64(ptr) AccessChain 31(data) 811 63 35
+ 822: 24(int) CompositeExtract 820 0
+ Store 821 822
+ 823: 64(ptr) AccessChain 31(data) 811 63 189
+ 824: 24(int) CompositeExtract 820 1
+ Store 823 824
+ 825: 64(ptr) AccessChain 31(data) 811 63 202
+ 826: 24(int) CompositeExtract 820 2
+ Store 825 826
827: 6(int) Load 8(invocation)
828: 71(ptr) AccessChain 31(data) 63 63
829: 25(ivec4) Load 828
- 830: 70(ivec2) VectorShuffle 829 829 0 1
- 831: 152(bvec2) SLessThan 830 727
+ 831: 169(bvec4) SLessThan 829 830
832: 17(ivec4) Load 19(ballot)
- 833: 152(bvec2) GroupNonUniformLogicalOr 178 PartitionedReduceNV 831 832
- 834: 70(ivec2) Select 833 731 727
- 835: 71(ptr) AccessChain 31(data) 827 63
- 836: 25(ivec4) Load 835
- 837: 25(ivec4) VectorShuffle 836 834 4 5 2 3
- Store 835 837
- 838: 6(int) Load 8(invocation)
- 839: 71(ptr) AccessChain 31(data) 63 63
- 840: 25(ivec4) Load 839
- 841: 78(ivec3) VectorShuffle 840 840 0 1 2
- 842: 161(bvec3) SLessThan 841 740
- 843: 17(ivec4) Load 19(ballot)
- 844: 161(bvec3) GroupNonUniformLogicalOr 178 PartitionedReduceNV 842 843
- 845: 78(ivec3) Select 844 744 740
- 846: 71(ptr) AccessChain 31(data) 838 63
- 847: 25(ivec4) Load 846
- 848: 25(ivec4) VectorShuffle 847 845 4 5 6 3
- Store 846 848
- 849: 6(int) Load 8(invocation)
- 850: 71(ptr) AccessChain 31(data) 63 63
- 851: 25(ivec4) Load 850
- 852: 169(bvec4) SLessThan 851 752
- 853: 17(ivec4) Load 19(ballot)
- 854: 169(bvec4) GroupNonUniformLogicalOr 178 PartitionedReduceNV 852 853
- 855: 25(ivec4) Select 854 756 752
- 856: 71(ptr) AccessChain 31(data) 849 63
- Store 856 855
- 857: 6(int) Load 8(invocation)
- 858: 64(ptr) AccessChain 31(data) 34 63 35
- 859: 24(int) Load 858
- 860: 17(ivec4) Load 19(ballot)
- 861: 24(int) GroupNonUniformBitwiseXor 178 PartitionedReduceNV 859 860
- 862: 64(ptr) AccessChain 31(data) 857 63 35
- Store 862 861
- 863: 6(int) Load 8(invocation)
- 864: 71(ptr) AccessChain 31(data) 63 63
- 865: 25(ivec4) Load 864
- 866: 70(ivec2) VectorShuffle 865 865 0 1
- 867: 17(ivec4) Load 19(ballot)
- 868: 70(ivec2) GroupNonUniformBitwiseXor 178 PartitionedReduceNV 866 867
- 869: 71(ptr) AccessChain 31(data) 863 63
- 870: 25(ivec4) Load 869
- 871: 25(ivec4) VectorShuffle 870 868 4 5 2 3
- Store 869 871
- 872: 6(int) Load 8(invocation)
- 873: 71(ptr) AccessChain 31(data) 33 63
- 874: 25(ivec4) Load 873
- 875: 78(ivec3) VectorShuffle 874 874 0 1 2
- 876: 17(ivec4) Load 19(ballot)
- 877: 78(ivec3) GroupNonUniformBitwiseXor 178 PartitionedReduceNV 875 876
- 878: 71(ptr) AccessChain 31(data) 872 63
- 879: 25(ivec4) Load 878
- 880: 25(ivec4) VectorShuffle 879 877 4 5 6 3
- Store 878 880
- 881: 6(int) Load 8(invocation)
- 882: 71(ptr) AccessChain 31(data) 115 63
- 883: 25(ivec4) Load 882
- 884: 17(ivec4) Load 19(ballot)
- 885: 25(ivec4) GroupNonUniformBitwiseXor 178 PartitionedReduceNV 883 884
- 886: 71(ptr) AccessChain 31(data) 881 63
- Store 886 885
+ 833: 169(bvec4) GroupNonUniformLogicalAnd 178 PartitionedReduceNV 831 832
+ 835: 25(ivec4) Select 833 834 830
+ 836: 71(ptr) AccessChain 31(data) 827 63
+ Store 836 835
+ 837: 6(int) Load 8(invocation)
+ 838: 64(ptr) AccessChain 31(data) 34 63 35
+ 839: 24(int) Load 838
+ 840: 17(ivec4) Load 19(ballot)
+ 841: 24(int) GroupNonUniformBitwiseOr 178 PartitionedReduceNV 839 840
+ 842: 64(ptr) AccessChain 31(data) 837 63 35
+ Store 842 841
+ 843: 6(int) Load 8(invocation)
+ 844: 71(ptr) AccessChain 31(data) 63 63
+ 845: 25(ivec4) Load 844
+ 846: 70(ivec2) VectorShuffle 845 845 0 1
+ 847: 17(ivec4) Load 19(ballot)
+ 848: 70(ivec2) GroupNonUniformBitwiseOr 178 PartitionedReduceNV 846 847
+ 849: 64(ptr) AccessChain 31(data) 843 63 35
+ 850: 24(int) CompositeExtract 848 0
+ Store 849 850
+ 851: 64(ptr) AccessChain 31(data) 843 63 189
+ 852: 24(int) CompositeExtract 848 1
+ Store 851 852
+ 853: 6(int) Load 8(invocation)
+ 854: 71(ptr) AccessChain 31(data) 33 63
+ 855: 25(ivec4) Load 854
+ 856: 78(ivec3) VectorShuffle 855 855 0 1 2
+ 857: 17(ivec4) Load 19(ballot)
+ 858: 78(ivec3) GroupNonUniformBitwiseOr 178 PartitionedReduceNV 856 857
+ 859: 64(ptr) AccessChain 31(data) 853 63 35
+ 860: 24(int) CompositeExtract 858 0
+ Store 859 860
+ 861: 64(ptr) AccessChain 31(data) 853 63 189
+ 862: 24(int) CompositeExtract 858 1
+ Store 861 862
+ 863: 64(ptr) AccessChain 31(data) 853 63 202
+ 864: 24(int) CompositeExtract 858 2
+ Store 863 864
+ 865: 6(int) Load 8(invocation)
+ 866: 71(ptr) AccessChain 31(data) 115 63
+ 867: 25(ivec4) Load 866
+ 868: 17(ivec4) Load 19(ballot)
+ 869: 25(ivec4) GroupNonUniformBitwiseOr 178 PartitionedReduceNV 867 868
+ 870: 71(ptr) AccessChain 31(data) 865 63
+ Store 870 869
+ 871: 6(int) Load 8(invocation)
+ 872: 90(ptr) AccessChain 31(data) 34 33 35
+ 873: 6(int) Load 872
+ 874: 17(ivec4) Load 19(ballot)
+ 875: 6(int) GroupNonUniformBitwiseOr 178 PartitionedReduceNV 873 874
+ 876: 90(ptr) AccessChain 31(data) 871 33 35
+ Store 876 875
+ 877: 6(int) Load 8(invocation)
+ 878: 40(ptr) AccessChain 31(data) 63 33
+ 879: 17(ivec4) Load 878
+ 880: 96(ivec2) VectorShuffle 879 879 0 1
+ 881: 17(ivec4) Load 19(ballot)
+ 882: 96(ivec2) GroupNonUniformBitwiseOr 178 PartitionedReduceNV 880 881
+ 883: 90(ptr) AccessChain 31(data) 877 33 35
+ 884: 6(int) CompositeExtract 882 0
+ Store 883 884
+ 885: 90(ptr) AccessChain 31(data) 877 33 189
+ 886: 6(int) CompositeExtract 882 1
+ Store 885 886
887: 6(int) Load 8(invocation)
- 888: 90(ptr) AccessChain 31(data) 34 33 35
- 889: 6(int) Load 888
- 890: 17(ivec4) Load 19(ballot)
- 891: 6(int) GroupNonUniformBitwiseXor 178 PartitionedReduceNV 889 890
- 892: 90(ptr) AccessChain 31(data) 887 33 35
- Store 892 891
- 893: 6(int) Load 8(invocation)
- 894: 40(ptr) AccessChain 31(data) 63 33
- 895: 17(ivec4) Load 894
- 896: 96(ivec2) VectorShuffle 895 895 0 1
- 897: 17(ivec4) Load 19(ballot)
- 898: 96(ivec2) GroupNonUniformBitwiseXor 178 PartitionedReduceNV 896 897
- 899: 40(ptr) AccessChain 31(data) 893 33
- 900: 17(ivec4) Load 899
- 901: 17(ivec4) VectorShuffle 900 898 4 5 2 3
- Store 899 901
- 902: 6(int) Load 8(invocation)
- 903: 40(ptr) AccessChain 31(data) 33 33
- 904: 17(ivec4) Load 903
- 905: 103(ivec3) VectorShuffle 904 904 0 1 2
- 906: 17(ivec4) Load 19(ballot)
- 907: 103(ivec3) GroupNonUniformBitwiseXor 178 PartitionedReduceNV 905 906
- 908: 40(ptr) AccessChain 31(data) 902 33
- 909: 17(ivec4) Load 908
- 910: 17(ivec4) VectorShuffle 909 907 4 5 6 3
- Store 908 910
- 911: 6(int) Load 8(invocation)
- 912: 40(ptr) AccessChain 31(data) 115 33
- 913: 17(ivec4) Load 912
- 914: 17(ivec4) Load 19(ballot)
- 915: 17(ivec4) GroupNonUniformBitwiseXor 178 PartitionedReduceNV 913 914
- 916: 40(ptr) AccessChain 31(data) 911 33
- Store 916 915
- 917: 6(int) Load 8(invocation)
- 918: 64(ptr) AccessChain 31(data) 34 63 35
- 919: 24(int) Load 918
- 920: 144(bool) SLessThan 919 34
- 921: 17(ivec4) Load 19(ballot)
- 922: 144(bool) GroupNonUniformLogicalXor 178 PartitionedReduceNV 920 921
- 923: 24(int) Select 922 63 34
- 924: 64(ptr) AccessChain 31(data) 917 63 35
- Store 924 923
+ 888: 40(ptr) AccessChain 31(data) 33 33
+ 889: 17(ivec4) Load 888
+ 890: 103(ivec3) VectorShuffle 889 889 0 1 2
+ 891: 17(ivec4) Load 19(ballot)
+ 892: 103(ivec3) GroupNonUniformBitwiseOr 178 PartitionedReduceNV 890 891
+ 893: 90(ptr) AccessChain 31(data) 887 33 35
+ 894: 6(int) CompositeExtract 892 0
+ Store 893 894
+ 895: 90(ptr) AccessChain 31(data) 887 33 189
+ 896: 6(int) CompositeExtract 892 1
+ Store 895 896
+ 897: 90(ptr) AccessChain 31(data) 887 33 202
+ 898: 6(int) CompositeExtract 892 2
+ Store 897 898
+ 899: 6(int) Load 8(invocation)
+ 900: 40(ptr) AccessChain 31(data) 115 33
+ 901: 17(ivec4) Load 900
+ 902: 17(ivec4) Load 19(ballot)
+ 903: 17(ivec4) GroupNonUniformBitwiseOr 178 PartitionedReduceNV 901 902
+ 904: 40(ptr) AccessChain 31(data) 899 33
+ Store 904 903
+ 905: 6(int) Load 8(invocation)
+ 906: 64(ptr) AccessChain 31(data) 34 63 35
+ 907: 24(int) Load 906
+ 908: 144(bool) SLessThan 907 34
+ 909: 17(ivec4) Load 19(ballot)
+ 910: 144(bool) GroupNonUniformLogicalOr 178 PartitionedReduceNV 908 909
+ 911: 24(int) Select 910 63 34
+ 912: 64(ptr) AccessChain 31(data) 905 63 35
+ Store 912 911
+ 913: 6(int) Load 8(invocation)
+ 914: 71(ptr) AccessChain 31(data) 63 63
+ 915: 25(ivec4) Load 914
+ 916: 70(ivec2) VectorShuffle 915 915 0 1
+ 917: 152(bvec2) SLessThan 916 801
+ 918: 17(ivec4) Load 19(ballot)
+ 919: 152(bvec2) GroupNonUniformLogicalOr 178 PartitionedReduceNV 917 918
+ 920: 70(ivec2) Select 919 805 801
+ 921: 64(ptr) AccessChain 31(data) 913 63 35
+ 922: 24(int) CompositeExtract 920 0
+ Store 921 922
+ 923: 64(ptr) AccessChain 31(data) 913 63 189
+ 924: 24(int) CompositeExtract 920 1
+ Store 923 924
925: 6(int) Load 8(invocation)
926: 71(ptr) AccessChain 31(data) 63 63
927: 25(ivec4) Load 926
- 928: 70(ivec2) VectorShuffle 927 927 0 1
- 929: 152(bvec2) SLessThan 928 727
+ 928: 78(ivec3) VectorShuffle 927 927 0 1 2
+ 929: 161(bvec3) SLessThan 928 815
930: 17(ivec4) Load 19(ballot)
- 931: 152(bvec2) GroupNonUniformLogicalXor 178 PartitionedReduceNV 929 930
- 932: 70(ivec2) Select 931 731 727
- 933: 71(ptr) AccessChain 31(data) 925 63
- 934: 25(ivec4) Load 933
- 935: 25(ivec4) VectorShuffle 934 932 4 5 2 3
- Store 933 935
- 936: 6(int) Load 8(invocation)
- 937: 71(ptr) AccessChain 31(data) 63 63
- 938: 25(ivec4) Load 937
- 939: 78(ivec3) VectorShuffle 938 938 0 1 2
- 940: 161(bvec3) SLessThan 939 740
- 941: 17(ivec4) Load 19(ballot)
- 942: 161(bvec3) GroupNonUniformLogicalXor 178 PartitionedReduceNV 940 941
- 943: 78(ivec3) Select 942 744 740
- 944: 71(ptr) AccessChain 31(data) 936 63
- 945: 25(ivec4) Load 944
- 946: 25(ivec4) VectorShuffle 945 943 4 5 6 3
- Store 944 946
+ 931: 161(bvec3) GroupNonUniformLogicalOr 178 PartitionedReduceNV 929 930
+ 932: 78(ivec3) Select 931 819 815
+ 933: 64(ptr) AccessChain 31(data) 925 63 35
+ 934: 24(int) CompositeExtract 932 0
+ Store 933 934
+ 935: 64(ptr) AccessChain 31(data) 925 63 189
+ 936: 24(int) CompositeExtract 932 1
+ Store 935 936
+ 937: 64(ptr) AccessChain 31(data) 925 63 202
+ 938: 24(int) CompositeExtract 932 2
+ Store 937 938
+ 939: 6(int) Load 8(invocation)
+ 940: 71(ptr) AccessChain 31(data) 63 63
+ 941: 25(ivec4) Load 940
+ 942: 169(bvec4) SLessThan 941 830
+ 943: 17(ivec4) Load 19(ballot)
+ 944: 169(bvec4) GroupNonUniformLogicalOr 178 PartitionedReduceNV 942 943
+ 945: 25(ivec4) Select 944 834 830
+ 946: 71(ptr) AccessChain 31(data) 939 63
+ Store 946 945
947: 6(int) Load 8(invocation)
- 948: 71(ptr) AccessChain 31(data) 63 63
- 949: 25(ivec4) Load 948
- 950: 169(bvec4) SLessThan 949 752
- 951: 17(ivec4) Load 19(ballot)
- 952: 169(bvec4) GroupNonUniformLogicalXor 178 PartitionedReduceNV 950 951
- 953: 25(ivec4) Select 952 756 752
- 954: 71(ptr) AccessChain 31(data) 947 63
- Store 954 953
- 955: 6(int) Load 8(invocation)
- 956: 36(ptr) AccessChain 31(data) 34 34 35
- 957: 22(float) Load 956
- 958: 17(ivec4) Load 19(ballot)
- 959: 22(float) GroupNonUniformFAdd 178 PartitionedInclusiveScanNV 957 958
- 960: 36(ptr) AccessChain 31(data) 955 34 35
- Store 960 959
- 961: 6(int) Load 8(invocation)
- 962: 44(ptr) AccessChain 31(data) 63 34
- 963: 23(fvec4) Load 962
- 964: 43(fvec2) VectorShuffle 963 963 0 1
- 965: 17(ivec4) Load 19(ballot)
- 966: 43(fvec2) GroupNonUniformFAdd 178 PartitionedInclusiveScanNV 964 965
- 967: 44(ptr) AccessChain 31(data) 961 34
- 968: 23(fvec4) Load 967
- 969: 23(fvec4) VectorShuffle 968 966 4 5 2 3
- Store 967 969
- 970: 6(int) Load 8(invocation)
- 971: 44(ptr) AccessChain 31(data) 33 34
- 972: 23(fvec4) Load 971
- 973: 51(fvec3) VectorShuffle 972 972 0 1 2
- 974: 17(ivec4) Load 19(ballot)
- 975: 51(fvec3) GroupNonUniformFAdd 178 PartitionedInclusiveScanNV 973 974
- 976: 44(ptr) AccessChain 31(data) 970 34
- 977: 23(fvec4) Load 976
- 978: 23(fvec4) VectorShuffle 977 975 4 5 6 3
- Store 976 978
- 979: 6(int) Load 8(invocation)
- 980: 44(ptr) AccessChain 31(data) 115 34
- 981: 23(fvec4) Load 980
- 982: 17(ivec4) Load 19(ballot)
- 983: 23(fvec4) GroupNonUniformFAdd 178 PartitionedInclusiveScanNV 981 982
- 984: 44(ptr) AccessChain 31(data) 979 34
- Store 984 983
- 985: 6(int) Load 8(invocation)
- 986: 64(ptr) AccessChain 31(data) 34 63 35
- 987: 24(int) Load 986
- 988: 17(ivec4) Load 19(ballot)
- 989: 24(int) GroupNonUniformIAdd 178 PartitionedInclusiveScanNV 987 988
- 990: 64(ptr) AccessChain 31(data) 985 63 35
- Store 990 989
- 991: 6(int) Load 8(invocation)
- 992: 71(ptr) AccessChain 31(data) 63 63
- 993: 25(ivec4) Load 992
- 994: 70(ivec2) VectorShuffle 993 993 0 1
- 995: 17(ivec4) Load 19(ballot)
- 996: 70(ivec2) GroupNonUniformIAdd 178 PartitionedInclusiveScanNV 994 995
- 997: 71(ptr) AccessChain 31(data) 991 63
- 998: 25(ivec4) Load 997
- 999: 25(ivec4) VectorShuffle 998 996 4 5 2 3
- Store 997 999
- 1000: 6(int) Load 8(invocation)
- 1001: 71(ptr) AccessChain 31(data) 33 63
- 1002: 25(ivec4) Load 1001
- 1003: 78(ivec3) VectorShuffle 1002 1002 0 1 2
- 1004: 17(ivec4) Load 19(ballot)
- 1005: 78(ivec3) GroupNonUniformIAdd 178 PartitionedInclusiveScanNV 1003 1004
- 1006: 71(ptr) AccessChain 31(data) 1000 63
- 1007: 25(ivec4) Load 1006
- 1008: 25(ivec4) VectorShuffle 1007 1005 4 5 6 3
- Store 1006 1008
+ 948: 64(ptr) AccessChain 31(data) 34 63 35
+ 949: 24(int) Load 948
+ 950: 17(ivec4) Load 19(ballot)
+ 951: 24(int) GroupNonUniformBitwiseXor 178 PartitionedReduceNV 949 950
+ 952: 64(ptr) AccessChain 31(data) 947 63 35
+ Store 952 951
+ 953: 6(int) Load 8(invocation)
+ 954: 71(ptr) AccessChain 31(data) 63 63
+ 955: 25(ivec4) Load 954
+ 956: 70(ivec2) VectorShuffle 955 955 0 1
+ 957: 17(ivec4) Load 19(ballot)
+ 958: 70(ivec2) GroupNonUniformBitwiseXor 178 PartitionedReduceNV 956 957
+ 959: 64(ptr) AccessChain 31(data) 953 63 35
+ 960: 24(int) CompositeExtract 958 0
+ Store 959 960
+ 961: 64(ptr) AccessChain 31(data) 953 63 189
+ 962: 24(int) CompositeExtract 958 1
+ Store 961 962
+ 963: 6(int) Load 8(invocation)
+ 964: 71(ptr) AccessChain 31(data) 33 63
+ 965: 25(ivec4) Load 964
+ 966: 78(ivec3) VectorShuffle 965 965 0 1 2
+ 967: 17(ivec4) Load 19(ballot)
+ 968: 78(ivec3) GroupNonUniformBitwiseXor 178 PartitionedReduceNV 966 967
+ 969: 64(ptr) AccessChain 31(data) 963 63 35
+ 970: 24(int) CompositeExtract 968 0
+ Store 969 970
+ 971: 64(ptr) AccessChain 31(data) 963 63 189
+ 972: 24(int) CompositeExtract 968 1
+ Store 971 972
+ 973: 64(ptr) AccessChain 31(data) 963 63 202
+ 974: 24(int) CompositeExtract 968 2
+ Store 973 974
+ 975: 6(int) Load 8(invocation)
+ 976: 71(ptr) AccessChain 31(data) 115 63
+ 977: 25(ivec4) Load 976
+ 978: 17(ivec4) Load 19(ballot)
+ 979: 25(ivec4) GroupNonUniformBitwiseXor 178 PartitionedReduceNV 977 978
+ 980: 71(ptr) AccessChain 31(data) 975 63
+ Store 980 979
+ 981: 6(int) Load 8(invocation)
+ 982: 90(ptr) AccessChain 31(data) 34 33 35
+ 983: 6(int) Load 982
+ 984: 17(ivec4) Load 19(ballot)
+ 985: 6(int) GroupNonUniformBitwiseXor 178 PartitionedReduceNV 983 984
+ 986: 90(ptr) AccessChain 31(data) 981 33 35
+ Store 986 985
+ 987: 6(int) Load 8(invocation)
+ 988: 40(ptr) AccessChain 31(data) 63 33
+ 989: 17(ivec4) Load 988
+ 990: 96(ivec2) VectorShuffle 989 989 0 1
+ 991: 17(ivec4) Load 19(ballot)
+ 992: 96(ivec2) GroupNonUniformBitwiseXor 178 PartitionedReduceNV 990 991
+ 993: 90(ptr) AccessChain 31(data) 987 33 35
+ 994: 6(int) CompositeExtract 992 0
+ Store 993 994
+ 995: 90(ptr) AccessChain 31(data) 987 33 189
+ 996: 6(int) CompositeExtract 992 1
+ Store 995 996
+ 997: 6(int) Load 8(invocation)
+ 998: 40(ptr) AccessChain 31(data) 33 33
+ 999: 17(ivec4) Load 998
+ 1000: 103(ivec3) VectorShuffle 999 999 0 1 2
+ 1001: 17(ivec4) Load 19(ballot)
+ 1002: 103(ivec3) GroupNonUniformBitwiseXor 178 PartitionedReduceNV 1000 1001
+ 1003: 90(ptr) AccessChain 31(data) 997 33 35
+ 1004: 6(int) CompositeExtract 1002 0
+ Store 1003 1004
+ 1005: 90(ptr) AccessChain 31(data) 997 33 189
+ 1006: 6(int) CompositeExtract 1002 1
+ Store 1005 1006
+ 1007: 90(ptr) AccessChain 31(data) 997 33 202
+ 1008: 6(int) CompositeExtract 1002 2
+ Store 1007 1008
1009: 6(int) Load 8(invocation)
- 1010: 71(ptr) AccessChain 31(data) 115 63
- 1011: 25(ivec4) Load 1010
+ 1010: 40(ptr) AccessChain 31(data) 115 33
+ 1011: 17(ivec4) Load 1010
1012: 17(ivec4) Load 19(ballot)
- 1013: 25(ivec4) GroupNonUniformIAdd 178 PartitionedInclusiveScanNV 1011 1012
- 1014: 71(ptr) AccessChain 31(data) 1009 63
+ 1013: 17(ivec4) GroupNonUniformBitwiseXor 178 PartitionedReduceNV 1011 1012
+ 1014: 40(ptr) AccessChain 31(data) 1009 33
Store 1014 1013
1015: 6(int) Load 8(invocation)
- 1016: 90(ptr) AccessChain 31(data) 34 33 35
- 1017: 6(int) Load 1016
- 1018: 17(ivec4) Load 19(ballot)
- 1019: 6(int) GroupNonUniformIAdd 178 PartitionedInclusiveScanNV 1017 1018
- 1020: 90(ptr) AccessChain 31(data) 1015 33 35
- Store 1020 1019
- 1021: 6(int) Load 8(invocation)
- 1022: 40(ptr) AccessChain 31(data) 63 33
- 1023: 17(ivec4) Load 1022
- 1024: 96(ivec2) VectorShuffle 1023 1023 0 1
- 1025: 17(ivec4) Load 19(ballot)
- 1026: 96(ivec2) GroupNonUniformIAdd 178 PartitionedInclusiveScanNV 1024 1025
- 1027: 40(ptr) AccessChain 31(data) 1021 33
- 1028: 17(ivec4) Load 1027
- 1029: 17(ivec4) VectorShuffle 1028 1026 4 5 2 3
- Store 1027 1029
- 1030: 6(int) Load 8(invocation)
- 1031: 40(ptr) AccessChain 31(data) 33 33
- 1032: 17(ivec4) Load 1031
- 1033: 103(ivec3) VectorShuffle 1032 1032 0 1 2
- 1034: 17(ivec4) Load 19(ballot)
- 1035: 103(ivec3) GroupNonUniformIAdd 178 PartitionedInclusiveScanNV 1033 1034
- 1036: 40(ptr) AccessChain 31(data) 1030 33
- 1037: 17(ivec4) Load 1036
- 1038: 17(ivec4) VectorShuffle 1037 1035 4 5 6 3
- Store 1036 1038
- 1039: 6(int) Load 8(invocation)
- 1040: 40(ptr) AccessChain 31(data) 115 33
- 1041: 17(ivec4) Load 1040
- 1042: 17(ivec4) Load 19(ballot)
- 1043: 17(ivec4) GroupNonUniformIAdd 178 PartitionedInclusiveScanNV 1041 1042
- 1044: 40(ptr) AccessChain 31(data) 1039 33
- Store 1044 1043
- 1045: 6(int) Load 8(invocation)
- 1046: 116(ptr) AccessChain 31(data) 34 115 35
- 1047:26(float64_t) Load 1046
- 1048: 17(ivec4) Load 19(ballot)
- 1049:26(float64_t) GroupNonUniformFAdd 178 PartitionedInclusiveScanNV 1047 1048
- 1050: 116(ptr) AccessChain 31(data) 1045 115 35
- Store 1050 1049
- 1051: 6(int) Load 8(invocation)
- 1052: 123(ptr) AccessChain 31(data) 63 115
- 1053: 27(f64vec4) Load 1052
- 1054:122(f64vec2) VectorShuffle 1053 1053 0 1
- 1055: 17(ivec4) Load 19(ballot)
- 1056:122(f64vec2) GroupNonUniformFAdd 178 PartitionedInclusiveScanNV 1054 1055
- 1057: 123(ptr) AccessChain 31(data) 1051 115
- 1058: 27(f64vec4) Load 1057
- 1059: 27(f64vec4) VectorShuffle 1058 1056 4 5 2 3
- Store 1057 1059
- 1060: 6(int) Load 8(invocation)
- 1061: 123(ptr) AccessChain 31(data) 33 115
- 1062: 27(f64vec4) Load 1061
- 1063:130(f64vec3) VectorShuffle 1062 1062 0 1 2
- 1064: 17(ivec4) Load 19(ballot)
- 1065:130(f64vec3) GroupNonUniformFAdd 178 PartitionedInclusiveScanNV 1063 1064
- 1066: 123(ptr) AccessChain 31(data) 1060 115
- 1067: 27(f64vec4) Load 1066
- 1068: 27(f64vec4) VectorShuffle 1067 1065 4 5 6 3
- Store 1066 1068
- 1069: 6(int) Load 8(invocation)
- 1070: 123(ptr) AccessChain 31(data) 115 115
- 1071: 27(f64vec4) Load 1070
- 1072: 17(ivec4) Load 19(ballot)
- 1073: 27(f64vec4) GroupNonUniformFAdd 178 PartitionedInclusiveScanNV 1071 1072
- 1074: 123(ptr) AccessChain 31(data) 1069 115
- Store 1074 1073
- 1075: 6(int) Load 8(invocation)
- 1076: 36(ptr) AccessChain 31(data) 34 34 35
- 1077: 22(float) Load 1076
- 1078: 17(ivec4) Load 19(ballot)
- 1079: 22(float) GroupNonUniformFMul 178 PartitionedInclusiveScanNV 1077 1078
- 1080: 36(ptr) AccessChain 31(data) 1075 34 35
- Store 1080 1079
- 1081: 6(int) Load 8(invocation)
- 1082: 44(ptr) AccessChain 31(data) 63 34
- 1083: 23(fvec4) Load 1082
- 1084: 43(fvec2) VectorShuffle 1083 1083 0 1
- 1085: 17(ivec4) Load 19(ballot)
- 1086: 43(fvec2) GroupNonUniformFMul 178 PartitionedInclusiveScanNV 1084 1085
- 1087: 44(ptr) AccessChain 31(data) 1081 34
- 1088: 23(fvec4) Load 1087
- 1089: 23(fvec4) VectorShuffle 1088 1086 4 5 2 3
- Store 1087 1089
- 1090: 6(int) Load 8(invocation)
- 1091: 44(ptr) AccessChain 31(data) 33 34
- 1092: 23(fvec4) Load 1091
- 1093: 51(fvec3) VectorShuffle 1092 1092 0 1 2
+ 1016: 64(ptr) AccessChain 31(data) 34 63 35
+ 1017: 24(int) Load 1016
+ 1018: 144(bool) SLessThan 1017 34
+ 1019: 17(ivec4) Load 19(ballot)
+ 1020: 144(bool) GroupNonUniformLogicalXor 178 PartitionedReduceNV 1018 1019
+ 1021: 24(int) Select 1020 63 34
+ 1022: 64(ptr) AccessChain 31(data) 1015 63 35
+ Store 1022 1021
+ 1023: 6(int) Load 8(invocation)
+ 1024: 71(ptr) AccessChain 31(data) 63 63
+ 1025: 25(ivec4) Load 1024
+ 1026: 70(ivec2) VectorShuffle 1025 1025 0 1
+ 1027: 152(bvec2) SLessThan 1026 801
+ 1028: 17(ivec4) Load 19(ballot)
+ 1029: 152(bvec2) GroupNonUniformLogicalXor 178 PartitionedReduceNV 1027 1028
+ 1030: 70(ivec2) Select 1029 805 801
+ 1031: 64(ptr) AccessChain 31(data) 1023 63 35
+ 1032: 24(int) CompositeExtract 1030 0
+ Store 1031 1032
+ 1033: 64(ptr) AccessChain 31(data) 1023 63 189
+ 1034: 24(int) CompositeExtract 1030 1
+ Store 1033 1034
+ 1035: 6(int) Load 8(invocation)
+ 1036: 71(ptr) AccessChain 31(data) 63 63
+ 1037: 25(ivec4) Load 1036
+ 1038: 78(ivec3) VectorShuffle 1037 1037 0 1 2
+ 1039: 161(bvec3) SLessThan 1038 815
+ 1040: 17(ivec4) Load 19(ballot)
+ 1041: 161(bvec3) GroupNonUniformLogicalXor 178 PartitionedReduceNV 1039 1040
+ 1042: 78(ivec3) Select 1041 819 815
+ 1043: 64(ptr) AccessChain 31(data) 1035 63 35
+ 1044: 24(int) CompositeExtract 1042 0
+ Store 1043 1044
+ 1045: 64(ptr) AccessChain 31(data) 1035 63 189
+ 1046: 24(int) CompositeExtract 1042 1
+ Store 1045 1046
+ 1047: 64(ptr) AccessChain 31(data) 1035 63 202
+ 1048: 24(int) CompositeExtract 1042 2
+ Store 1047 1048
+ 1049: 6(int) Load 8(invocation)
+ 1050: 71(ptr) AccessChain 31(data) 63 63
+ 1051: 25(ivec4) Load 1050
+ 1052: 169(bvec4) SLessThan 1051 830
+ 1053: 17(ivec4) Load 19(ballot)
+ 1054: 169(bvec4) GroupNonUniformLogicalXor 178 PartitionedReduceNV 1052 1053
+ 1055: 25(ivec4) Select 1054 834 830
+ 1056: 71(ptr) AccessChain 31(data) 1049 63
+ Store 1056 1055
+ 1057: 6(int) Load 8(invocation)
+ 1058: 36(ptr) AccessChain 31(data) 34 34 35
+ 1059: 22(float) Load 1058
+ 1060: 17(ivec4) Load 19(ballot)
+ 1061: 22(float) GroupNonUniformFAdd 178 PartitionedInclusiveScanNV 1059 1060
+ 1062: 36(ptr) AccessChain 31(data) 1057 34 35
+ Store 1062 1061
+ 1063: 6(int) Load 8(invocation)
+ 1064: 44(ptr) AccessChain 31(data) 63 34
+ 1065: 23(fvec4) Load 1064
+ 1066: 43(fvec2) VectorShuffle 1065 1065 0 1
+ 1067: 17(ivec4) Load 19(ballot)
+ 1068: 43(fvec2) GroupNonUniformFAdd 178 PartitionedInclusiveScanNV 1066 1067
+ 1069: 36(ptr) AccessChain 31(data) 1063 34 35
+ 1070: 22(float) CompositeExtract 1068 0
+ Store 1069 1070
+ 1071: 36(ptr) AccessChain 31(data) 1063 34 189
+ 1072: 22(float) CompositeExtract 1068 1
+ Store 1071 1072
+ 1073: 6(int) Load 8(invocation)
+ 1074: 44(ptr) AccessChain 31(data) 33 34
+ 1075: 23(fvec4) Load 1074
+ 1076: 51(fvec3) VectorShuffle 1075 1075 0 1 2
+ 1077: 17(ivec4) Load 19(ballot)
+ 1078: 51(fvec3) GroupNonUniformFAdd 178 PartitionedInclusiveScanNV 1076 1077
+ 1079: 36(ptr) AccessChain 31(data) 1073 34 35
+ 1080: 22(float) CompositeExtract 1078 0
+ Store 1079 1080
+ 1081: 36(ptr) AccessChain 31(data) 1073 34 189
+ 1082: 22(float) CompositeExtract 1078 1
+ Store 1081 1082
+ 1083: 36(ptr) AccessChain 31(data) 1073 34 202
+ 1084: 22(float) CompositeExtract 1078 2
+ Store 1083 1084
+ 1085: 6(int) Load 8(invocation)
+ 1086: 44(ptr) AccessChain 31(data) 115 34
+ 1087: 23(fvec4) Load 1086
+ 1088: 17(ivec4) Load 19(ballot)
+ 1089: 23(fvec4) GroupNonUniformFAdd 178 PartitionedInclusiveScanNV 1087 1088
+ 1090: 44(ptr) AccessChain 31(data) 1085 34
+ Store 1090 1089
+ 1091: 6(int) Load 8(invocation)
+ 1092: 64(ptr) AccessChain 31(data) 34 63 35
+ 1093: 24(int) Load 1092
1094: 17(ivec4) Load 19(ballot)
- 1095: 51(fvec3) GroupNonUniformFMul 178 PartitionedInclusiveScanNV 1093 1094
- 1096: 44(ptr) AccessChain 31(data) 1090 34
- 1097: 23(fvec4) Load 1096
- 1098: 23(fvec4) VectorShuffle 1097 1095 4 5 6 3
- Store 1096 1098
- 1099: 6(int) Load 8(invocation)
- 1100: 44(ptr) AccessChain 31(data) 115 34
- 1101: 23(fvec4) Load 1100
- 1102: 17(ivec4) Load 19(ballot)
- 1103: 23(fvec4) GroupNonUniformFMul 178 PartitionedInclusiveScanNV 1101 1102
- 1104: 44(ptr) AccessChain 31(data) 1099 34
- Store 1104 1103
- 1105: 6(int) Load 8(invocation)
- 1106: 64(ptr) AccessChain 31(data) 34 63 35
- 1107: 24(int) Load 1106
- 1108: 17(ivec4) Load 19(ballot)
- 1109: 24(int) GroupNonUniformIMul 178 PartitionedInclusiveScanNV 1107 1108
- 1110: 64(ptr) AccessChain 31(data) 1105 63 35
- Store 1110 1109
- 1111: 6(int) Load 8(invocation)
- 1112: 71(ptr) AccessChain 31(data) 63 63
- 1113: 25(ivec4) Load 1112
- 1114: 70(ivec2) VectorShuffle 1113 1113 0 1
- 1115: 17(ivec4) Load 19(ballot)
- 1116: 70(ivec2) GroupNonUniformIMul 178 PartitionedInclusiveScanNV 1114 1115
- 1117: 71(ptr) AccessChain 31(data) 1111 63
- 1118: 25(ivec4) Load 1117
- 1119: 25(ivec4) VectorShuffle 1118 1116 4 5 2 3
- Store 1117 1119
- 1120: 6(int) Load 8(invocation)
- 1121: 71(ptr) AccessChain 31(data) 33 63
- 1122: 25(ivec4) Load 1121
- 1123: 78(ivec3) VectorShuffle 1122 1122 0 1 2
- 1124: 17(ivec4) Load 19(ballot)
- 1125: 78(ivec3) GroupNonUniformIMul 178 PartitionedInclusiveScanNV 1123 1124
- 1126: 71(ptr) AccessChain 31(data) 1120 63
- 1127: 25(ivec4) Load 1126
- 1128: 25(ivec4) VectorShuffle 1127 1125 4 5 6 3
- Store 1126 1128
- 1129: 6(int) Load 8(invocation)
- 1130: 71(ptr) AccessChain 31(data) 115 63
- 1131: 25(ivec4) Load 1130
- 1132: 17(ivec4) Load 19(ballot)
- 1133: 25(ivec4) GroupNonUniformIMul 178 PartitionedInclusiveScanNV 1131 1132
- 1134: 71(ptr) AccessChain 31(data) 1129 63
- Store 1134 1133
- 1135: 6(int) Load 8(invocation)
- 1136: 90(ptr) AccessChain 31(data) 34 33 35
- 1137: 6(int) Load 1136
- 1138: 17(ivec4) Load 19(ballot)
- 1139: 6(int) GroupNonUniformIMul 178 PartitionedInclusiveScanNV 1137 1138
- 1140: 90(ptr) AccessChain 31(data) 1135 33 35
- Store 1140 1139
+ 1095: 24(int) GroupNonUniformIAdd 178 PartitionedInclusiveScanNV 1093 1094
+ 1096: 64(ptr) AccessChain 31(data) 1091 63 35
+ Store 1096 1095
+ 1097: 6(int) Load 8(invocation)
+ 1098: 71(ptr) AccessChain 31(data) 63 63
+ 1099: 25(ivec4) Load 1098
+ 1100: 70(ivec2) VectorShuffle 1099 1099 0 1
+ 1101: 17(ivec4) Load 19(ballot)
+ 1102: 70(ivec2) GroupNonUniformIAdd 178 PartitionedInclusiveScanNV 1100 1101
+ 1103: 64(ptr) AccessChain 31(data) 1097 63 35
+ 1104: 24(int) CompositeExtract 1102 0
+ Store 1103 1104
+ 1105: 64(ptr) AccessChain 31(data) 1097 63 189
+ 1106: 24(int) CompositeExtract 1102 1
+ Store 1105 1106
+ 1107: 6(int) Load 8(invocation)
+ 1108: 71(ptr) AccessChain 31(data) 33 63
+ 1109: 25(ivec4) Load 1108
+ 1110: 78(ivec3) VectorShuffle 1109 1109 0 1 2
+ 1111: 17(ivec4) Load 19(ballot)
+ 1112: 78(ivec3) GroupNonUniformIAdd 178 PartitionedInclusiveScanNV 1110 1111
+ 1113: 64(ptr) AccessChain 31(data) 1107 63 35
+ 1114: 24(int) CompositeExtract 1112 0
+ Store 1113 1114
+ 1115: 64(ptr) AccessChain 31(data) 1107 63 189
+ 1116: 24(int) CompositeExtract 1112 1
+ Store 1115 1116
+ 1117: 64(ptr) AccessChain 31(data) 1107 63 202
+ 1118: 24(int) CompositeExtract 1112 2
+ Store 1117 1118
+ 1119: 6(int) Load 8(invocation)
+ 1120: 71(ptr) AccessChain 31(data) 115 63
+ 1121: 25(ivec4) Load 1120
+ 1122: 17(ivec4) Load 19(ballot)
+ 1123: 25(ivec4) GroupNonUniformIAdd 178 PartitionedInclusiveScanNV 1121 1122
+ 1124: 71(ptr) AccessChain 31(data) 1119 63
+ Store 1124 1123
+ 1125: 6(int) Load 8(invocation)
+ 1126: 90(ptr) AccessChain 31(data) 34 33 35
+ 1127: 6(int) Load 1126
+ 1128: 17(ivec4) Load 19(ballot)
+ 1129: 6(int) GroupNonUniformIAdd 178 PartitionedInclusiveScanNV 1127 1128
+ 1130: 90(ptr) AccessChain 31(data) 1125 33 35
+ Store 1130 1129
+ 1131: 6(int) Load 8(invocation)
+ 1132: 40(ptr) AccessChain 31(data) 63 33
+ 1133: 17(ivec4) Load 1132
+ 1134: 96(ivec2) VectorShuffle 1133 1133 0 1
+ 1135: 17(ivec4) Load 19(ballot)
+ 1136: 96(ivec2) GroupNonUniformIAdd 178 PartitionedInclusiveScanNV 1134 1135
+ 1137: 90(ptr) AccessChain 31(data) 1131 33 35
+ 1138: 6(int) CompositeExtract 1136 0
+ Store 1137 1138
+ 1139: 90(ptr) AccessChain 31(data) 1131 33 189
+ 1140: 6(int) CompositeExtract 1136 1
+ Store 1139 1140
1141: 6(int) Load 8(invocation)
- 1142: 40(ptr) AccessChain 31(data) 63 33
+ 1142: 40(ptr) AccessChain 31(data) 33 33
1143: 17(ivec4) Load 1142
- 1144: 96(ivec2) VectorShuffle 1143 1143 0 1
+ 1144: 103(ivec3) VectorShuffle 1143 1143 0 1 2
1145: 17(ivec4) Load 19(ballot)
- 1146: 96(ivec2) GroupNonUniformIMul 178 PartitionedInclusiveScanNV 1144 1145
- 1147: 40(ptr) AccessChain 31(data) 1141 33
- 1148: 17(ivec4) Load 1147
- 1149: 17(ivec4) VectorShuffle 1148 1146 4 5 2 3
- Store 1147 1149
- 1150: 6(int) Load 8(invocation)
- 1151: 40(ptr) AccessChain 31(data) 33 33
- 1152: 17(ivec4) Load 1151
- 1153: 103(ivec3) VectorShuffle 1152 1152 0 1 2
- 1154: 17(ivec4) Load 19(ballot)
- 1155: 103(ivec3) GroupNonUniformIMul 178 PartitionedInclusiveScanNV 1153 1154
- 1156: 40(ptr) AccessChain 31(data) 1150 33
- 1157: 17(ivec4) Load 1156
- 1158: 17(ivec4) VectorShuffle 1157 1155 4 5 6 3
- Store 1156 1158
+ 1146: 103(ivec3) GroupNonUniformIAdd 178 PartitionedInclusiveScanNV 1144 1145
+ 1147: 90(ptr) AccessChain 31(data) 1141 33 35
+ 1148: 6(int) CompositeExtract 1146 0
+ Store 1147 1148
+ 1149: 90(ptr) AccessChain 31(data) 1141 33 189
+ 1150: 6(int) CompositeExtract 1146 1
+ Store 1149 1150
+ 1151: 90(ptr) AccessChain 31(data) 1141 33 202
+ 1152: 6(int) CompositeExtract 1146 2
+ Store 1151 1152
+ 1153: 6(int) Load 8(invocation)
+ 1154: 40(ptr) AccessChain 31(data) 115 33
+ 1155: 17(ivec4) Load 1154
+ 1156: 17(ivec4) Load 19(ballot)
+ 1157: 17(ivec4) GroupNonUniformIAdd 178 PartitionedInclusiveScanNV 1155 1156
+ 1158: 40(ptr) AccessChain 31(data) 1153 33
+ Store 1158 1157
1159: 6(int) Load 8(invocation)
- 1160: 40(ptr) AccessChain 31(data) 115 33
- 1161: 17(ivec4) Load 1160
+ 1160: 116(ptr) AccessChain 31(data) 34 115 35
+ 1161:26(float64_t) Load 1160
1162: 17(ivec4) Load 19(ballot)
- 1163: 17(ivec4) GroupNonUniformIMul 178 PartitionedInclusiveScanNV 1161 1162
- 1164: 40(ptr) AccessChain 31(data) 1159 33
+ 1163:26(float64_t) GroupNonUniformFAdd 178 PartitionedInclusiveScanNV 1161 1162
+ 1164: 116(ptr) AccessChain 31(data) 1159 115 35
Store 1164 1163
1165: 6(int) Load 8(invocation)
- 1166: 116(ptr) AccessChain 31(data) 34 115 35
- 1167:26(float64_t) Load 1166
- 1168: 17(ivec4) Load 19(ballot)
- 1169:26(float64_t) GroupNonUniformFMul 178 PartitionedInclusiveScanNV 1167 1168
- 1170: 116(ptr) AccessChain 31(data) 1165 115 35
- Store 1170 1169
- 1171: 6(int) Load 8(invocation)
- 1172: 123(ptr) AccessChain 31(data) 63 115
- 1173: 27(f64vec4) Load 1172
- 1174:122(f64vec2) VectorShuffle 1173 1173 0 1
- 1175: 17(ivec4) Load 19(ballot)
- 1176:122(f64vec2) GroupNonUniformFMul 178 PartitionedInclusiveScanNV 1174 1175
- 1177: 123(ptr) AccessChain 31(data) 1171 115
- 1178: 27(f64vec4) Load 1177
- 1179: 27(f64vec4) VectorShuffle 1178 1176 4 5 2 3
- Store 1177 1179
- 1180: 6(int) Load 8(invocation)
- 1181: 123(ptr) AccessChain 31(data) 33 115
- 1182: 27(f64vec4) Load 1181
- 1183:130(f64vec3) VectorShuffle 1182 1182 0 1 2
- 1184: 17(ivec4) Load 19(ballot)
- 1185:130(f64vec3) GroupNonUniformFMul 178 PartitionedInclusiveScanNV 1183 1184
- 1186: 123(ptr) AccessChain 31(data) 1180 115
- 1187: 27(f64vec4) Load 1186
- 1188: 27(f64vec4) VectorShuffle 1187 1185 4 5 6 3
- Store 1186 1188
- 1189: 6(int) Load 8(invocation)
- 1190: 123(ptr) AccessChain 31(data) 115 115
- 1191: 27(f64vec4) Load 1190
- 1192: 17(ivec4) Load 19(ballot)
- 1193: 27(f64vec4) GroupNonUniformFMul 178 PartitionedInclusiveScanNV 1191 1192
- 1194: 123(ptr) AccessChain 31(data) 1189 115
- Store 1194 1193
- 1195: 6(int) Load 8(invocation)
- 1196: 36(ptr) AccessChain 31(data) 34 34 35
- 1197: 22(float) Load 1196
- 1198: 17(ivec4) Load 19(ballot)
- 1199: 22(float) GroupNonUniformFMin 178 PartitionedInclusiveScanNV 1197 1198
- 1200: 36(ptr) AccessChain 31(data) 1195 34 35
- Store 1200 1199
- 1201: 6(int) Load 8(invocation)
- 1202: 44(ptr) AccessChain 31(data) 63 34
- 1203: 23(fvec4) Load 1202
- 1204: 43(fvec2) VectorShuffle 1203 1203 0 1
- 1205: 17(ivec4) Load 19(ballot)
- 1206: 43(fvec2) GroupNonUniformFMin 178 PartitionedInclusiveScanNV 1204 1205
- 1207: 44(ptr) AccessChain 31(data) 1201 34
- 1208: 23(fvec4) Load 1207
- 1209: 23(fvec4) VectorShuffle 1208 1206 4 5 2 3
- Store 1207 1209
- 1210: 6(int) Load 8(invocation)
- 1211: 44(ptr) AccessChain 31(data) 33 34
- 1212: 23(fvec4) Load 1211
- 1213: 51(fvec3) VectorShuffle 1212 1212 0 1 2
- 1214: 17(ivec4) Load 19(ballot)
- 1215: 51(fvec3) GroupNonUniformFMin 178 PartitionedInclusiveScanNV 1213 1214
- 1216: 44(ptr) AccessChain 31(data) 1210 34
- 1217: 23(fvec4) Load 1216
- 1218: 23(fvec4) VectorShuffle 1217 1215 4 5 6 3
- Store 1216 1218
- 1219: 6(int) Load 8(invocation)
- 1220: 44(ptr) AccessChain 31(data) 115 34
- 1221: 23(fvec4) Load 1220
- 1222: 17(ivec4) Load 19(ballot)
- 1223: 23(fvec4) GroupNonUniformFMin 178 PartitionedInclusiveScanNV 1221 1222
- 1224: 44(ptr) AccessChain 31(data) 1219 34
- Store 1224 1223
- 1225: 6(int) Load 8(invocation)
- 1226: 64(ptr) AccessChain 31(data) 34 63 35
- 1227: 24(int) Load 1226
- 1228: 17(ivec4) Load 19(ballot)
- 1229: 24(int) GroupNonUniformSMin 178 PartitionedInclusiveScanNV 1227 1228
- 1230: 64(ptr) AccessChain 31(data) 1225 63 35
- Store 1230 1229
- 1231: 6(int) Load 8(invocation)
- 1232: 71(ptr) AccessChain 31(data) 63 63
- 1233: 25(ivec4) Load 1232
- 1234: 70(ivec2) VectorShuffle 1233 1233 0 1
- 1235: 17(ivec4) Load 19(ballot)
- 1236: 70(ivec2) GroupNonUniformSMin 178 PartitionedInclusiveScanNV 1234 1235
- 1237: 71(ptr) AccessChain 31(data) 1231 63
- 1238: 25(ivec4) Load 1237
- 1239: 25(ivec4) VectorShuffle 1238 1236 4 5 2 3
- Store 1237 1239
- 1240: 6(int) Load 8(invocation)
- 1241: 71(ptr) AccessChain 31(data) 33 63
- 1242: 25(ivec4) Load 1241
- 1243: 78(ivec3) VectorShuffle 1242 1242 0 1 2
- 1244: 17(ivec4) Load 19(ballot)
- 1245: 78(ivec3) GroupNonUniformSMin 178 PartitionedInclusiveScanNV 1243 1244
- 1246: 71(ptr) AccessChain 31(data) 1240 63
- 1247: 25(ivec4) Load 1246
- 1248: 25(ivec4) VectorShuffle 1247 1245 4 5 6 3
- Store 1246 1248
- 1249: 6(int) Load 8(invocation)
- 1250: 71(ptr) AccessChain 31(data) 115 63
- 1251: 25(ivec4) Load 1250
- 1252: 17(ivec4) Load 19(ballot)
- 1253: 25(ivec4) GroupNonUniformSMin 178 PartitionedInclusiveScanNV 1251 1252
- 1254: 71(ptr) AccessChain 31(data) 1249 63
- Store 1254 1253
+ 1166: 123(ptr) AccessChain 31(data) 63 115
+ 1167: 27(f64vec4) Load 1166
+ 1168:122(f64vec2) VectorShuffle 1167 1167 0 1
+ 1169: 17(ivec4) Load 19(ballot)
+ 1170:122(f64vec2) GroupNonUniformFAdd 178 PartitionedInclusiveScanNV 1168 1169
+ 1171: 116(ptr) AccessChain 31(data) 1165 115 35
+ 1172:26(float64_t) CompositeExtract 1170 0
+ Store 1171 1172
+ 1173: 116(ptr) AccessChain 31(data) 1165 115 189
+ 1174:26(float64_t) CompositeExtract 1170 1
+ Store 1173 1174
+ 1175: 6(int) Load 8(invocation)
+ 1176: 123(ptr) AccessChain 31(data) 33 115
+ 1177: 27(f64vec4) Load 1176
+ 1178:130(f64vec3) VectorShuffle 1177 1177 0 1 2
+ 1179: 17(ivec4) Load 19(ballot)
+ 1180:130(f64vec3) GroupNonUniformFAdd 178 PartitionedInclusiveScanNV 1178 1179
+ 1181: 116(ptr) AccessChain 31(data) 1175 115 35
+ 1182:26(float64_t) CompositeExtract 1180 0
+ Store 1181 1182
+ 1183: 116(ptr) AccessChain 31(data) 1175 115 189
+ 1184:26(float64_t) CompositeExtract 1180 1
+ Store 1183 1184
+ 1185: 116(ptr) AccessChain 31(data) 1175 115 202
+ 1186:26(float64_t) CompositeExtract 1180 2
+ Store 1185 1186
+ 1187: 6(int) Load 8(invocation)
+ 1188: 123(ptr) AccessChain 31(data) 115 115
+ 1189: 27(f64vec4) Load 1188
+ 1190: 17(ivec4) Load 19(ballot)
+ 1191: 27(f64vec4) GroupNonUniformFAdd 178 PartitionedInclusiveScanNV 1189 1190
+ 1192: 123(ptr) AccessChain 31(data) 1187 115
+ Store 1192 1191
+ 1193: 6(int) Load 8(invocation)
+ 1194: 36(ptr) AccessChain 31(data) 34 34 35
+ 1195: 22(float) Load 1194
+ 1196: 17(ivec4) Load 19(ballot)
+ 1197: 22(float) GroupNonUniformFMul 178 PartitionedInclusiveScanNV 1195 1196
+ 1198: 36(ptr) AccessChain 31(data) 1193 34 35
+ Store 1198 1197
+ 1199: 6(int) Load 8(invocation)
+ 1200: 44(ptr) AccessChain 31(data) 63 34
+ 1201: 23(fvec4) Load 1200
+ 1202: 43(fvec2) VectorShuffle 1201 1201 0 1
+ 1203: 17(ivec4) Load 19(ballot)
+ 1204: 43(fvec2) GroupNonUniformFMul 178 PartitionedInclusiveScanNV 1202 1203
+ 1205: 36(ptr) AccessChain 31(data) 1199 34 35
+ 1206: 22(float) CompositeExtract 1204 0
+ Store 1205 1206
+ 1207: 36(ptr) AccessChain 31(data) 1199 34 189
+ 1208: 22(float) CompositeExtract 1204 1
+ Store 1207 1208
+ 1209: 6(int) Load 8(invocation)
+ 1210: 44(ptr) AccessChain 31(data) 33 34
+ 1211: 23(fvec4) Load 1210
+ 1212: 51(fvec3) VectorShuffle 1211 1211 0 1 2
+ 1213: 17(ivec4) Load 19(ballot)
+ 1214: 51(fvec3) GroupNonUniformFMul 178 PartitionedInclusiveScanNV 1212 1213
+ 1215: 36(ptr) AccessChain 31(data) 1209 34 35
+ 1216: 22(float) CompositeExtract 1214 0
+ Store 1215 1216
+ 1217: 36(ptr) AccessChain 31(data) 1209 34 189
+ 1218: 22(float) CompositeExtract 1214 1
+ Store 1217 1218
+ 1219: 36(ptr) AccessChain 31(data) 1209 34 202
+ 1220: 22(float) CompositeExtract 1214 2
+ Store 1219 1220
+ 1221: 6(int) Load 8(invocation)
+ 1222: 44(ptr) AccessChain 31(data) 115 34
+ 1223: 23(fvec4) Load 1222
+ 1224: 17(ivec4) Load 19(ballot)
+ 1225: 23(fvec4) GroupNonUniformFMul 178 PartitionedInclusiveScanNV 1223 1224
+ 1226: 44(ptr) AccessChain 31(data) 1221 34
+ Store 1226 1225
+ 1227: 6(int) Load 8(invocation)
+ 1228: 64(ptr) AccessChain 31(data) 34 63 35
+ 1229: 24(int) Load 1228
+ 1230: 17(ivec4) Load 19(ballot)
+ 1231: 24(int) GroupNonUniformIMul 178 PartitionedInclusiveScanNV 1229 1230
+ 1232: 64(ptr) AccessChain 31(data) 1227 63 35
+ Store 1232 1231
+ 1233: 6(int) Load 8(invocation)
+ 1234: 71(ptr) AccessChain 31(data) 63 63
+ 1235: 25(ivec4) Load 1234
+ 1236: 70(ivec2) VectorShuffle 1235 1235 0 1
+ 1237: 17(ivec4) Load 19(ballot)
+ 1238: 70(ivec2) GroupNonUniformIMul 178 PartitionedInclusiveScanNV 1236 1237
+ 1239: 64(ptr) AccessChain 31(data) 1233 63 35
+ 1240: 24(int) CompositeExtract 1238 0
+ Store 1239 1240
+ 1241: 64(ptr) AccessChain 31(data) 1233 63 189
+ 1242: 24(int) CompositeExtract 1238 1
+ Store 1241 1242
+ 1243: 6(int) Load 8(invocation)
+ 1244: 71(ptr) AccessChain 31(data) 33 63
+ 1245: 25(ivec4) Load 1244
+ 1246: 78(ivec3) VectorShuffle 1245 1245 0 1 2
+ 1247: 17(ivec4) Load 19(ballot)
+ 1248: 78(ivec3) GroupNonUniformIMul 178 PartitionedInclusiveScanNV 1246 1247
+ 1249: 64(ptr) AccessChain 31(data) 1243 63 35
+ 1250: 24(int) CompositeExtract 1248 0
+ Store 1249 1250
+ 1251: 64(ptr) AccessChain 31(data) 1243 63 189
+ 1252: 24(int) CompositeExtract 1248 1
+ Store 1251 1252
+ 1253: 64(ptr) AccessChain 31(data) 1243 63 202
+ 1254: 24(int) CompositeExtract 1248 2
+ Store 1253 1254
1255: 6(int) Load 8(invocation)
- 1256: 90(ptr) AccessChain 31(data) 34 33 35
- 1257: 6(int) Load 1256
+ 1256: 71(ptr) AccessChain 31(data) 115 63
+ 1257: 25(ivec4) Load 1256
1258: 17(ivec4) Load 19(ballot)
- 1259: 6(int) GroupNonUniformUMin 178 PartitionedInclusiveScanNV 1257 1258
- 1260: 90(ptr) AccessChain 31(data) 1255 33 35
+ 1259: 25(ivec4) GroupNonUniformIMul 178 PartitionedInclusiveScanNV 1257 1258
+ 1260: 71(ptr) AccessChain 31(data) 1255 63
Store 1260 1259
1261: 6(int) Load 8(invocation)
- 1262: 40(ptr) AccessChain 31(data) 63 33
- 1263: 17(ivec4) Load 1262
- 1264: 96(ivec2) VectorShuffle 1263 1263 0 1
- 1265: 17(ivec4) Load 19(ballot)
- 1266: 96(ivec2) GroupNonUniformUMin 178 PartitionedInclusiveScanNV 1264 1265
- 1267: 40(ptr) AccessChain 31(data) 1261 33
- 1268: 17(ivec4) Load 1267
- 1269: 17(ivec4) VectorShuffle 1268 1266 4 5 2 3
- Store 1267 1269
- 1270: 6(int) Load 8(invocation)
- 1271: 40(ptr) AccessChain 31(data) 33 33
- 1272: 17(ivec4) Load 1271
- 1273: 103(ivec3) VectorShuffle 1272 1272 0 1 2
- 1274: 17(ivec4) Load 19(ballot)
- 1275: 103(ivec3) GroupNonUniformUMin 178 PartitionedInclusiveScanNV 1273 1274
- 1276: 40(ptr) AccessChain 31(data) 1270 33
- 1277: 17(ivec4) Load 1276
- 1278: 17(ivec4) VectorShuffle 1277 1275 4 5 6 3
- Store 1276 1278
- 1279: 6(int) Load 8(invocation)
- 1280: 40(ptr) AccessChain 31(data) 115 33
- 1281: 17(ivec4) Load 1280
- 1282: 17(ivec4) Load 19(ballot)
- 1283: 17(ivec4) GroupNonUniformUMin 178 PartitionedInclusiveScanNV 1281 1282
- 1284: 40(ptr) AccessChain 31(data) 1279 33
- Store 1284 1283
- 1285: 6(int) Load 8(invocation)
- 1286: 116(ptr) AccessChain 31(data) 34 115 35
- 1287:26(float64_t) Load 1286
- 1288: 17(ivec4) Load 19(ballot)
- 1289:26(float64_t) GroupNonUniformFMin 178 PartitionedInclusiveScanNV 1287 1288
- 1290: 116(ptr) AccessChain 31(data) 1285 115 35
- Store 1290 1289
- 1291: 6(int) Load 8(invocation)
- 1292: 123(ptr) AccessChain 31(data) 63 115
- 1293: 27(f64vec4) Load 1292
- 1294:122(f64vec2) VectorShuffle 1293 1293 0 1
- 1295: 17(ivec4) Load 19(ballot)
- 1296:122(f64vec2) GroupNonUniformFMin 178 PartitionedInclusiveScanNV 1294 1295
- 1297: 123(ptr) AccessChain 31(data) 1291 115
- 1298: 27(f64vec4) Load 1297
- 1299: 27(f64vec4) VectorShuffle 1298 1296 4 5 2 3
- Store 1297 1299
- 1300: 6(int) Load 8(invocation)
- 1301: 123(ptr) AccessChain 31(data) 33 115
- 1302: 27(f64vec4) Load 1301
- 1303:130(f64vec3) VectorShuffle 1302 1302 0 1 2
- 1304: 17(ivec4) Load 19(ballot)
- 1305:130(f64vec3) GroupNonUniformFMin 178 PartitionedInclusiveScanNV 1303 1304
- 1306: 123(ptr) AccessChain 31(data) 1300 115
- 1307: 27(f64vec4) Load 1306
- 1308: 27(f64vec4) VectorShuffle 1307 1305 4 5 6 3
- Store 1306 1308
- 1309: 6(int) Load 8(invocation)
- 1310: 123(ptr) AccessChain 31(data) 115 115
- 1311: 27(f64vec4) Load 1310
- 1312: 17(ivec4) Load 19(ballot)
- 1313: 27(f64vec4) GroupNonUniformFMin 178 PartitionedInclusiveScanNV 1311 1312
- 1314: 123(ptr) AccessChain 31(data) 1309 115
- Store 1314 1313
- 1315: 6(int) Load 8(invocation)
- 1316: 36(ptr) AccessChain 31(data) 34 34 35
- 1317: 22(float) Load 1316
- 1318: 17(ivec4) Load 19(ballot)
- 1319: 22(float) GroupNonUniformFMax 178 PartitionedInclusiveScanNV 1317 1318
- 1320: 36(ptr) AccessChain 31(data) 1315 34 35
- Store 1320 1319
- 1321: 6(int) Load 8(invocation)
- 1322: 44(ptr) AccessChain 31(data) 63 34
- 1323: 23(fvec4) Load 1322
- 1324: 43(fvec2) VectorShuffle 1323 1323 0 1
- 1325: 17(ivec4) Load 19(ballot)
- 1326: 43(fvec2) GroupNonUniformFMax 178 PartitionedInclusiveScanNV 1324 1325
- 1327: 44(ptr) AccessChain 31(data) 1321 34
- 1328: 23(fvec4) Load 1327
- 1329: 23(fvec4) VectorShuffle 1328 1326 4 5 2 3
- Store 1327 1329
- 1330: 6(int) Load 8(invocation)
- 1331: 44(ptr) AccessChain 31(data) 33 34
- 1332: 23(fvec4) Load 1331
- 1333: 51(fvec3) VectorShuffle 1332 1332 0 1 2
- 1334: 17(ivec4) Load 19(ballot)
- 1335: 51(fvec3) GroupNonUniformFMax 178 PartitionedInclusiveScanNV 1333 1334
- 1336: 44(ptr) AccessChain 31(data) 1330 34
+ 1262: 90(ptr) AccessChain 31(data) 34 33 35
+ 1263: 6(int) Load 1262
+ 1264: 17(ivec4) Load 19(ballot)
+ 1265: 6(int) GroupNonUniformIMul 178 PartitionedInclusiveScanNV 1263 1264
+ 1266: 90(ptr) AccessChain 31(data) 1261 33 35
+ Store 1266 1265
+ 1267: 6(int) Load 8(invocation)
+ 1268: 40(ptr) AccessChain 31(data) 63 33
+ 1269: 17(ivec4) Load 1268
+ 1270: 96(ivec2) VectorShuffle 1269 1269 0 1
+ 1271: 17(ivec4) Load 19(ballot)
+ 1272: 96(ivec2) GroupNonUniformIMul 178 PartitionedInclusiveScanNV 1270 1271
+ 1273: 90(ptr) AccessChain 31(data) 1267 33 35
+ 1274: 6(int) CompositeExtract 1272 0
+ Store 1273 1274
+ 1275: 90(ptr) AccessChain 31(data) 1267 33 189
+ 1276: 6(int) CompositeExtract 1272 1
+ Store 1275 1276
+ 1277: 6(int) Load 8(invocation)
+ 1278: 40(ptr) AccessChain 31(data) 33 33
+ 1279: 17(ivec4) Load 1278
+ 1280: 103(ivec3) VectorShuffle 1279 1279 0 1 2
+ 1281: 17(ivec4) Load 19(ballot)
+ 1282: 103(ivec3) GroupNonUniformIMul 178 PartitionedInclusiveScanNV 1280 1281
+ 1283: 90(ptr) AccessChain 31(data) 1277 33 35
+ 1284: 6(int) CompositeExtract 1282 0
+ Store 1283 1284
+ 1285: 90(ptr) AccessChain 31(data) 1277 33 189
+ 1286: 6(int) CompositeExtract 1282 1
+ Store 1285 1286
+ 1287: 90(ptr) AccessChain 31(data) 1277 33 202
+ 1288: 6(int) CompositeExtract 1282 2
+ Store 1287 1288
+ 1289: 6(int) Load 8(invocation)
+ 1290: 40(ptr) AccessChain 31(data) 115 33
+ 1291: 17(ivec4) Load 1290
+ 1292: 17(ivec4) Load 19(ballot)
+ 1293: 17(ivec4) GroupNonUniformIMul 178 PartitionedInclusiveScanNV 1291 1292
+ 1294: 40(ptr) AccessChain 31(data) 1289 33
+ Store 1294 1293
+ 1295: 6(int) Load 8(invocation)
+ 1296: 116(ptr) AccessChain 31(data) 34 115 35
+ 1297:26(float64_t) Load 1296
+ 1298: 17(ivec4) Load 19(ballot)
+ 1299:26(float64_t) GroupNonUniformFMul 178 PartitionedInclusiveScanNV 1297 1298
+ 1300: 116(ptr) AccessChain 31(data) 1295 115 35
+ Store 1300 1299
+ 1301: 6(int) Load 8(invocation)
+ 1302: 123(ptr) AccessChain 31(data) 63 115
+ 1303: 27(f64vec4) Load 1302
+ 1304:122(f64vec2) VectorShuffle 1303 1303 0 1
+ 1305: 17(ivec4) Load 19(ballot)
+ 1306:122(f64vec2) GroupNonUniformFMul 178 PartitionedInclusiveScanNV 1304 1305
+ 1307: 116(ptr) AccessChain 31(data) 1301 115 35
+ 1308:26(float64_t) CompositeExtract 1306 0
+ Store 1307 1308
+ 1309: 116(ptr) AccessChain 31(data) 1301 115 189
+ 1310:26(float64_t) CompositeExtract 1306 1
+ Store 1309 1310
+ 1311: 6(int) Load 8(invocation)
+ 1312: 123(ptr) AccessChain 31(data) 33 115
+ 1313: 27(f64vec4) Load 1312
+ 1314:130(f64vec3) VectorShuffle 1313 1313 0 1 2
+ 1315: 17(ivec4) Load 19(ballot)
+ 1316:130(f64vec3) GroupNonUniformFMul 178 PartitionedInclusiveScanNV 1314 1315
+ 1317: 116(ptr) AccessChain 31(data) 1311 115 35
+ 1318:26(float64_t) CompositeExtract 1316 0
+ Store 1317 1318
+ 1319: 116(ptr) AccessChain 31(data) 1311 115 189
+ 1320:26(float64_t) CompositeExtract 1316 1
+ Store 1319 1320
+ 1321: 116(ptr) AccessChain 31(data) 1311 115 202
+ 1322:26(float64_t) CompositeExtract 1316 2
+ Store 1321 1322
+ 1323: 6(int) Load 8(invocation)
+ 1324: 123(ptr) AccessChain 31(data) 115 115
+ 1325: 27(f64vec4) Load 1324
+ 1326: 17(ivec4) Load 19(ballot)
+ 1327: 27(f64vec4) GroupNonUniformFMul 178 PartitionedInclusiveScanNV 1325 1326
+ 1328: 123(ptr) AccessChain 31(data) 1323 115
+ Store 1328 1327
+ 1329: 6(int) Load 8(invocation)
+ 1330: 36(ptr) AccessChain 31(data) 34 34 35
+ 1331: 22(float) Load 1330
+ 1332: 17(ivec4) Load 19(ballot)
+ 1333: 22(float) GroupNonUniformFMin 178 PartitionedInclusiveScanNV 1331 1332
+ 1334: 36(ptr) AccessChain 31(data) 1329 34 35
+ Store 1334 1333
+ 1335: 6(int) Load 8(invocation)
+ 1336: 44(ptr) AccessChain 31(data) 63 34
1337: 23(fvec4) Load 1336
- 1338: 23(fvec4) VectorShuffle 1337 1335 4 5 6 3
- Store 1336 1338
- 1339: 6(int) Load 8(invocation)
- 1340: 44(ptr) AccessChain 31(data) 115 34
- 1341: 23(fvec4) Load 1340
- 1342: 17(ivec4) Load 19(ballot)
- 1343: 23(fvec4) GroupNonUniformFMax 178 PartitionedInclusiveScanNV 1341 1342
- 1344: 44(ptr) AccessChain 31(data) 1339 34
- Store 1344 1343
+ 1338: 43(fvec2) VectorShuffle 1337 1337 0 1
+ 1339: 17(ivec4) Load 19(ballot)
+ 1340: 43(fvec2) GroupNonUniformFMin 178 PartitionedInclusiveScanNV 1338 1339
+ 1341: 36(ptr) AccessChain 31(data) 1335 34 35
+ 1342: 22(float) CompositeExtract 1340 0
+ Store 1341 1342
+ 1343: 36(ptr) AccessChain 31(data) 1335 34 189
+ 1344: 22(float) CompositeExtract 1340 1
+ Store 1343 1344
1345: 6(int) Load 8(invocation)
- 1346: 64(ptr) AccessChain 31(data) 34 63 35
- 1347: 24(int) Load 1346
- 1348: 17(ivec4) Load 19(ballot)
- 1349: 24(int) GroupNonUniformSMax 178 PartitionedInclusiveScanNV 1347 1348
- 1350: 64(ptr) AccessChain 31(data) 1345 63 35
- Store 1350 1349
- 1351: 6(int) Load 8(invocation)
- 1352: 71(ptr) AccessChain 31(data) 63 63
- 1353: 25(ivec4) Load 1352
- 1354: 70(ivec2) VectorShuffle 1353 1353 0 1
- 1355: 17(ivec4) Load 19(ballot)
- 1356: 70(ivec2) GroupNonUniformSMax 178 PartitionedInclusiveScanNV 1354 1355
- 1357: 71(ptr) AccessChain 31(data) 1351 63
- 1358: 25(ivec4) Load 1357
- 1359: 25(ivec4) VectorShuffle 1358 1356 4 5 2 3
- Store 1357 1359
- 1360: 6(int) Load 8(invocation)
- 1361: 71(ptr) AccessChain 31(data) 33 63
- 1362: 25(ivec4) Load 1361
- 1363: 78(ivec3) VectorShuffle 1362 1362 0 1 2
- 1364: 17(ivec4) Load 19(ballot)
- 1365: 78(ivec3) GroupNonUniformSMax 178 PartitionedInclusiveScanNV 1363 1364
- 1366: 71(ptr) AccessChain 31(data) 1360 63
- 1367: 25(ivec4) Load 1366
- 1368: 25(ivec4) VectorShuffle 1367 1365 4 5 6 3
- Store 1366 1368
+ 1346: 44(ptr) AccessChain 31(data) 33 34
+ 1347: 23(fvec4) Load 1346
+ 1348: 51(fvec3) VectorShuffle 1347 1347 0 1 2
+ 1349: 17(ivec4) Load 19(ballot)
+ 1350: 51(fvec3) GroupNonUniformFMin 178 PartitionedInclusiveScanNV 1348 1349
+ 1351: 36(ptr) AccessChain 31(data) 1345 34 35
+ 1352: 22(float) CompositeExtract 1350 0
+ Store 1351 1352
+ 1353: 36(ptr) AccessChain 31(data) 1345 34 189
+ 1354: 22(float) CompositeExtract 1350 1
+ Store 1353 1354
+ 1355: 36(ptr) AccessChain 31(data) 1345 34 202
+ 1356: 22(float) CompositeExtract 1350 2
+ Store 1355 1356
+ 1357: 6(int) Load 8(invocation)
+ 1358: 44(ptr) AccessChain 31(data) 115 34
+ 1359: 23(fvec4) Load 1358
+ 1360: 17(ivec4) Load 19(ballot)
+ 1361: 23(fvec4) GroupNonUniformFMin 178 PartitionedInclusiveScanNV 1359 1360
+ 1362: 44(ptr) AccessChain 31(data) 1357 34
+ Store 1362 1361
+ 1363: 6(int) Load 8(invocation)
+ 1364: 64(ptr) AccessChain 31(data) 34 63 35
+ 1365: 24(int) Load 1364
+ 1366: 17(ivec4) Load 19(ballot)
+ 1367: 24(int) GroupNonUniformSMin 178 PartitionedInclusiveScanNV 1365 1366
+ 1368: 64(ptr) AccessChain 31(data) 1363 63 35
+ Store 1368 1367
1369: 6(int) Load 8(invocation)
- 1370: 71(ptr) AccessChain 31(data) 115 63
+ 1370: 71(ptr) AccessChain 31(data) 63 63
1371: 25(ivec4) Load 1370
- 1372: 17(ivec4) Load 19(ballot)
- 1373: 25(ivec4) GroupNonUniformSMax 178 PartitionedInclusiveScanNV 1371 1372
- 1374: 71(ptr) AccessChain 31(data) 1369 63
- Store 1374 1373
- 1375: 6(int) Load 8(invocation)
- 1376: 90(ptr) AccessChain 31(data) 34 33 35
- 1377: 6(int) Load 1376
- 1378: 17(ivec4) Load 19(ballot)
- 1379: 6(int) GroupNonUniformUMax 178 PartitionedInclusiveScanNV 1377 1378
- 1380: 90(ptr) AccessChain 31(data) 1375 33 35
- Store 1380 1379
- 1381: 6(int) Load 8(invocation)
- 1382: 40(ptr) AccessChain 31(data) 63 33
- 1383: 17(ivec4) Load 1382
- 1384: 96(ivec2) VectorShuffle 1383 1383 0 1
- 1385: 17(ivec4) Load 19(ballot)
- 1386: 96(ivec2) GroupNonUniformUMax 178 PartitionedInclusiveScanNV 1384 1385
- 1387: 40(ptr) AccessChain 31(data) 1381 33
- 1388: 17(ivec4) Load 1387
- 1389: 17(ivec4) VectorShuffle 1388 1386 4 5 2 3
- Store 1387 1389
- 1390: 6(int) Load 8(invocation)
- 1391: 40(ptr) AccessChain 31(data) 33 33
- 1392: 17(ivec4) Load 1391
- 1393: 103(ivec3) VectorShuffle 1392 1392 0 1 2
+ 1372: 70(ivec2) VectorShuffle 1371 1371 0 1
+ 1373: 17(ivec4) Load 19(ballot)
+ 1374: 70(ivec2) GroupNonUniformSMin 178 PartitionedInclusiveScanNV 1372 1373
+ 1375: 64(ptr) AccessChain 31(data) 1369 63 35
+ 1376: 24(int) CompositeExtract 1374 0
+ Store 1375 1376
+ 1377: 64(ptr) AccessChain 31(data) 1369 63 189
+ 1378: 24(int) CompositeExtract 1374 1
+ Store 1377 1378
+ 1379: 6(int) Load 8(invocation)
+ 1380: 71(ptr) AccessChain 31(data) 33 63
+ 1381: 25(ivec4) Load 1380
+ 1382: 78(ivec3) VectorShuffle 1381 1381 0 1 2
+ 1383: 17(ivec4) Load 19(ballot)
+ 1384: 78(ivec3) GroupNonUniformSMin 178 PartitionedInclusiveScanNV 1382 1383
+ 1385: 64(ptr) AccessChain 31(data) 1379 63 35
+ 1386: 24(int) CompositeExtract 1384 0
+ Store 1385 1386
+ 1387: 64(ptr) AccessChain 31(data) 1379 63 189
+ 1388: 24(int) CompositeExtract 1384 1
+ Store 1387 1388
+ 1389: 64(ptr) AccessChain 31(data) 1379 63 202
+ 1390: 24(int) CompositeExtract 1384 2
+ Store 1389 1390
+ 1391: 6(int) Load 8(invocation)
+ 1392: 71(ptr) AccessChain 31(data) 115 63
+ 1393: 25(ivec4) Load 1392
1394: 17(ivec4) Load 19(ballot)
- 1395: 103(ivec3) GroupNonUniformUMax 178 PartitionedInclusiveScanNV 1393 1394
- 1396: 40(ptr) AccessChain 31(data) 1390 33
- 1397: 17(ivec4) Load 1396
- 1398: 17(ivec4) VectorShuffle 1397 1395 4 5 6 3
- Store 1396 1398
- 1399: 6(int) Load 8(invocation)
- 1400: 40(ptr) AccessChain 31(data) 115 33
- 1401: 17(ivec4) Load 1400
- 1402: 17(ivec4) Load 19(ballot)
- 1403: 17(ivec4) GroupNonUniformUMax 178 PartitionedInclusiveScanNV 1401 1402
- 1404: 40(ptr) AccessChain 31(data) 1399 33
- Store 1404 1403
- 1405: 6(int) Load 8(invocation)
- 1406: 116(ptr) AccessChain 31(data) 34 115 35
- 1407:26(float64_t) Load 1406
- 1408: 17(ivec4) Load 19(ballot)
- 1409:26(float64_t) GroupNonUniformFMax 178 PartitionedInclusiveScanNV 1407 1408
- 1410: 116(ptr) AccessChain 31(data) 1405 115 35
- Store 1410 1409
- 1411: 6(int) Load 8(invocation)
- 1412: 123(ptr) AccessChain 31(data) 63 115
- 1413: 27(f64vec4) Load 1412
- 1414:122(f64vec2) VectorShuffle 1413 1413 0 1
- 1415: 17(ivec4) Load 19(ballot)
- 1416:122(f64vec2) GroupNonUniformFMax 178 PartitionedInclusiveScanNV 1414 1415
- 1417: 123(ptr) AccessChain 31(data) 1411 115
- 1418: 27(f64vec4) Load 1417
- 1419: 27(f64vec4) VectorShuffle 1418 1416 4 5 2 3
- Store 1417 1419
- 1420: 6(int) Load 8(invocation)
- 1421: 123(ptr) AccessChain 31(data) 33 115
- 1422: 27(f64vec4) Load 1421
- 1423:130(f64vec3) VectorShuffle 1422 1422 0 1 2
- 1424: 17(ivec4) Load 19(ballot)
- 1425:130(f64vec3) GroupNonUniformFMax 178 PartitionedInclusiveScanNV 1423 1424
- 1426: 123(ptr) AccessChain 31(data) 1420 115
- 1427: 27(f64vec4) Load 1426
- 1428: 27(f64vec4) VectorShuffle 1427 1425 4 5 6 3
- Store 1426 1428
- 1429: 6(int) Load 8(invocation)
- 1430: 123(ptr) AccessChain 31(data) 115 115
- 1431: 27(f64vec4) Load 1430
- 1432: 17(ivec4) Load 19(ballot)
- 1433: 27(f64vec4) GroupNonUniformFMax 178 PartitionedInclusiveScanNV 1431 1432
- 1434: 123(ptr) AccessChain 31(data) 1429 115
- Store 1434 1433
- 1435: 6(int) Load 8(invocation)
- 1436: 64(ptr) AccessChain 31(data) 34 63 35
- 1437: 24(int) Load 1436
- 1438: 17(ivec4) Load 19(ballot)
- 1439: 24(int) GroupNonUniformBitwiseAnd 178 PartitionedInclusiveScanNV 1437 1438
- 1440: 64(ptr) AccessChain 31(data) 1435 63 35
- Store 1440 1439
- 1441: 6(int) Load 8(invocation)
- 1442: 71(ptr) AccessChain 31(data) 63 63
- 1443: 25(ivec4) Load 1442
- 1444: 70(ivec2) VectorShuffle 1443 1443 0 1
- 1445: 17(ivec4) Load 19(ballot)
- 1446: 70(ivec2) GroupNonUniformBitwiseAnd 178 PartitionedInclusiveScanNV 1444 1445
- 1447: 71(ptr) AccessChain 31(data) 1441 63
- 1448: 25(ivec4) Load 1447
- 1449: 25(ivec4) VectorShuffle 1448 1446 4 5 2 3
- Store 1447 1449
- 1450: 6(int) Load 8(invocation)
- 1451: 71(ptr) AccessChain 31(data) 33 63
- 1452: 25(ivec4) Load 1451
- 1453: 78(ivec3) VectorShuffle 1452 1452 0 1 2
- 1454: 17(ivec4) Load 19(ballot)
- 1455: 78(ivec3) GroupNonUniformBitwiseAnd 178 PartitionedInclusiveScanNV 1453 1454
- 1456: 71(ptr) AccessChain 31(data) 1450 63
- 1457: 25(ivec4) Load 1456
- 1458: 25(ivec4) VectorShuffle 1457 1455 4 5 6 3
- Store 1456 1458
+ 1395: 25(ivec4) GroupNonUniformSMin 178 PartitionedInclusiveScanNV 1393 1394
+ 1396: 71(ptr) AccessChain 31(data) 1391 63
+ Store 1396 1395
+ 1397: 6(int) Load 8(invocation)
+ 1398: 90(ptr) AccessChain 31(data) 34 33 35
+ 1399: 6(int) Load 1398
+ 1400: 17(ivec4) Load 19(ballot)
+ 1401: 6(int) GroupNonUniformUMin 178 PartitionedInclusiveScanNV 1399 1400
+ 1402: 90(ptr) AccessChain 31(data) 1397 33 35
+ Store 1402 1401
+ 1403: 6(int) Load 8(invocation)
+ 1404: 40(ptr) AccessChain 31(data) 63 33
+ 1405: 17(ivec4) Load 1404
+ 1406: 96(ivec2) VectorShuffle 1405 1405 0 1
+ 1407: 17(ivec4) Load 19(ballot)
+ 1408: 96(ivec2) GroupNonUniformUMin 178 PartitionedInclusiveScanNV 1406 1407
+ 1409: 90(ptr) AccessChain 31(data) 1403 33 35
+ 1410: 6(int) CompositeExtract 1408 0
+ Store 1409 1410
+ 1411: 90(ptr) AccessChain 31(data) 1403 33 189
+ 1412: 6(int) CompositeExtract 1408 1
+ Store 1411 1412
+ 1413: 6(int) Load 8(invocation)
+ 1414: 40(ptr) AccessChain 31(data) 33 33
+ 1415: 17(ivec4) Load 1414
+ 1416: 103(ivec3) VectorShuffle 1415 1415 0 1 2
+ 1417: 17(ivec4) Load 19(ballot)
+ 1418: 103(ivec3) GroupNonUniformUMin 178 PartitionedInclusiveScanNV 1416 1417
+ 1419: 90(ptr) AccessChain 31(data) 1413 33 35
+ 1420: 6(int) CompositeExtract 1418 0
+ Store 1419 1420
+ 1421: 90(ptr) AccessChain 31(data) 1413 33 189
+ 1422: 6(int) CompositeExtract 1418 1
+ Store 1421 1422
+ 1423: 90(ptr) AccessChain 31(data) 1413 33 202
+ 1424: 6(int) CompositeExtract 1418 2
+ Store 1423 1424
+ 1425: 6(int) Load 8(invocation)
+ 1426: 40(ptr) AccessChain 31(data) 115 33
+ 1427: 17(ivec4) Load 1426
+ 1428: 17(ivec4) Load 19(ballot)
+ 1429: 17(ivec4) GroupNonUniformUMin 178 PartitionedInclusiveScanNV 1427 1428
+ 1430: 40(ptr) AccessChain 31(data) 1425 33
+ Store 1430 1429
+ 1431: 6(int) Load 8(invocation)
+ 1432: 116(ptr) AccessChain 31(data) 34 115 35
+ 1433:26(float64_t) Load 1432
+ 1434: 17(ivec4) Load 19(ballot)
+ 1435:26(float64_t) GroupNonUniformFMin 178 PartitionedInclusiveScanNV 1433 1434
+ 1436: 116(ptr) AccessChain 31(data) 1431 115 35
+ Store 1436 1435
+ 1437: 6(int) Load 8(invocation)
+ 1438: 123(ptr) AccessChain 31(data) 63 115
+ 1439: 27(f64vec4) Load 1438
+ 1440:122(f64vec2) VectorShuffle 1439 1439 0 1
+ 1441: 17(ivec4) Load 19(ballot)
+ 1442:122(f64vec2) GroupNonUniformFMin 178 PartitionedInclusiveScanNV 1440 1441
+ 1443: 116(ptr) AccessChain 31(data) 1437 115 35
+ 1444:26(float64_t) CompositeExtract 1442 0
+ Store 1443 1444
+ 1445: 116(ptr) AccessChain 31(data) 1437 115 189
+ 1446:26(float64_t) CompositeExtract 1442 1
+ Store 1445 1446
+ 1447: 6(int) Load 8(invocation)
+ 1448: 123(ptr) AccessChain 31(data) 33 115
+ 1449: 27(f64vec4) Load 1448
+ 1450:130(f64vec3) VectorShuffle 1449 1449 0 1 2
+ 1451: 17(ivec4) Load 19(ballot)
+ 1452:130(f64vec3) GroupNonUniformFMin 178 PartitionedInclusiveScanNV 1450 1451
+ 1453: 116(ptr) AccessChain 31(data) 1447 115 35
+ 1454:26(float64_t) CompositeExtract 1452 0
+ Store 1453 1454
+ 1455: 116(ptr) AccessChain 31(data) 1447 115 189
+ 1456:26(float64_t) CompositeExtract 1452 1
+ Store 1455 1456
+ 1457: 116(ptr) AccessChain 31(data) 1447 115 202
+ 1458:26(float64_t) CompositeExtract 1452 2
+ Store 1457 1458
1459: 6(int) Load 8(invocation)
- 1460: 71(ptr) AccessChain 31(data) 115 63
- 1461: 25(ivec4) Load 1460
+ 1460: 123(ptr) AccessChain 31(data) 115 115
+ 1461: 27(f64vec4) Load 1460
1462: 17(ivec4) Load 19(ballot)
- 1463: 25(ivec4) GroupNonUniformBitwiseAnd 178 PartitionedInclusiveScanNV 1461 1462
- 1464: 71(ptr) AccessChain 31(data) 1459 63
+ 1463: 27(f64vec4) GroupNonUniformFMin 178 PartitionedInclusiveScanNV 1461 1462
+ 1464: 123(ptr) AccessChain 31(data) 1459 115
Store 1464 1463
1465: 6(int) Load 8(invocation)
- 1466: 90(ptr) AccessChain 31(data) 34 33 35
- 1467: 6(int) Load 1466
+ 1466: 36(ptr) AccessChain 31(data) 34 34 35
+ 1467: 22(float) Load 1466
1468: 17(ivec4) Load 19(ballot)
- 1469: 6(int) GroupNonUniformBitwiseAnd 178 PartitionedInclusiveScanNV 1467 1468
- 1470: 90(ptr) AccessChain 31(data) 1465 33 35
+ 1469: 22(float) GroupNonUniformFMax 178 PartitionedInclusiveScanNV 1467 1468
+ 1470: 36(ptr) AccessChain 31(data) 1465 34 35
Store 1470 1469
1471: 6(int) Load 8(invocation)
- 1472: 40(ptr) AccessChain 31(data) 63 33
- 1473: 17(ivec4) Load 1472
- 1474: 96(ivec2) VectorShuffle 1473 1473 0 1
+ 1472: 44(ptr) AccessChain 31(data) 63 34
+ 1473: 23(fvec4) Load 1472
+ 1474: 43(fvec2) VectorShuffle 1473 1473 0 1
1475: 17(ivec4) Load 19(ballot)
- 1476: 96(ivec2) GroupNonUniformBitwiseAnd 178 PartitionedInclusiveScanNV 1474 1475
- 1477: 40(ptr) AccessChain 31(data) 1471 33
- 1478: 17(ivec4) Load 1477
- 1479: 17(ivec4) VectorShuffle 1478 1476 4 5 2 3
- Store 1477 1479
- 1480: 6(int) Load 8(invocation)
- 1481: 40(ptr) AccessChain 31(data) 33 33
- 1482: 17(ivec4) Load 1481
- 1483: 103(ivec3) VectorShuffle 1482 1482 0 1 2
- 1484: 17(ivec4) Load 19(ballot)
- 1485: 103(ivec3) GroupNonUniformBitwiseAnd 178 PartitionedInclusiveScanNV 1483 1484
- 1486: 40(ptr) AccessChain 31(data) 1480 33
- 1487: 17(ivec4) Load 1486
- 1488: 17(ivec4) VectorShuffle 1487 1485 4 5 6 3
- Store 1486 1488
- 1489: 6(int) Load 8(invocation)
- 1490: 40(ptr) AccessChain 31(data) 115 33
- 1491: 17(ivec4) Load 1490
- 1492: 17(ivec4) Load 19(ballot)
- 1493: 17(ivec4) GroupNonUniformBitwiseAnd 178 PartitionedInclusiveScanNV 1491 1492
- 1494: 40(ptr) AccessChain 31(data) 1489 33
- Store 1494 1493
- 1495: 6(int) Load 8(invocation)
- 1496: 64(ptr) AccessChain 31(data) 34 63 35
- 1497: 24(int) Load 1496
- 1498: 144(bool) SLessThan 1497 34
- 1499: 17(ivec4) Load 19(ballot)
- 1500: 144(bool) GroupNonUniformLogicalAnd 178 PartitionedInclusiveScanNV 1498 1499
- 1501: 24(int) Select 1500 63 34
- 1502: 64(ptr) AccessChain 31(data) 1495 63 35
- Store 1502 1501
- 1503: 6(int) Load 8(invocation)
- 1504: 71(ptr) AccessChain 31(data) 63 63
- 1505: 25(ivec4) Load 1504
- 1506: 70(ivec2) VectorShuffle 1505 1505 0 1
- 1507: 152(bvec2) SLessThan 1506 727
- 1508: 17(ivec4) Load 19(ballot)
- 1509: 152(bvec2) GroupNonUniformLogicalAnd 178 PartitionedInclusiveScanNV 1507 1508
- 1510: 70(ivec2) Select 1509 731 727
- 1511: 71(ptr) AccessChain 31(data) 1503 63
- 1512: 25(ivec4) Load 1511
- 1513: 25(ivec4) VectorShuffle 1512 1510 4 5 2 3
- Store 1511 1513
- 1514: 6(int) Load 8(invocation)
- 1515: 71(ptr) AccessChain 31(data) 63 63
- 1516: 25(ivec4) Load 1515
- 1517: 78(ivec3) VectorShuffle 1516 1516 0 1 2
- 1518: 161(bvec3) SLessThan 1517 740
+ 1476: 43(fvec2) GroupNonUniformFMax 178 PartitionedInclusiveScanNV 1474 1475
+ 1477: 36(ptr) AccessChain 31(data) 1471 34 35
+ 1478: 22(float) CompositeExtract 1476 0
+ Store 1477 1478
+ 1479: 36(ptr) AccessChain 31(data) 1471 34 189
+ 1480: 22(float) CompositeExtract 1476 1
+ Store 1479 1480
+ 1481: 6(int) Load 8(invocation)
+ 1482: 44(ptr) AccessChain 31(data) 33 34
+ 1483: 23(fvec4) Load 1482
+ 1484: 51(fvec3) VectorShuffle 1483 1483 0 1 2
+ 1485: 17(ivec4) Load 19(ballot)
+ 1486: 51(fvec3) GroupNonUniformFMax 178 PartitionedInclusiveScanNV 1484 1485
+ 1487: 36(ptr) AccessChain 31(data) 1481 34 35
+ 1488: 22(float) CompositeExtract 1486 0
+ Store 1487 1488
+ 1489: 36(ptr) AccessChain 31(data) 1481 34 189
+ 1490: 22(float) CompositeExtract 1486 1
+ Store 1489 1490
+ 1491: 36(ptr) AccessChain 31(data) 1481 34 202
+ 1492: 22(float) CompositeExtract 1486 2
+ Store 1491 1492
+ 1493: 6(int) Load 8(invocation)
+ 1494: 44(ptr) AccessChain 31(data) 115 34
+ 1495: 23(fvec4) Load 1494
+ 1496: 17(ivec4) Load 19(ballot)
+ 1497: 23(fvec4) GroupNonUniformFMax 178 PartitionedInclusiveScanNV 1495 1496
+ 1498: 44(ptr) AccessChain 31(data) 1493 34
+ Store 1498 1497
+ 1499: 6(int) Load 8(invocation)
+ 1500: 64(ptr) AccessChain 31(data) 34 63 35
+ 1501: 24(int) Load 1500
+ 1502: 17(ivec4) Load 19(ballot)
+ 1503: 24(int) GroupNonUniformSMax 178 PartitionedInclusiveScanNV 1501 1502
+ 1504: 64(ptr) AccessChain 31(data) 1499 63 35
+ Store 1504 1503
+ 1505: 6(int) Load 8(invocation)
+ 1506: 71(ptr) AccessChain 31(data) 63 63
+ 1507: 25(ivec4) Load 1506
+ 1508: 70(ivec2) VectorShuffle 1507 1507 0 1
+ 1509: 17(ivec4) Load 19(ballot)
+ 1510: 70(ivec2) GroupNonUniformSMax 178 PartitionedInclusiveScanNV 1508 1509
+ 1511: 64(ptr) AccessChain 31(data) 1505 63 35
+ 1512: 24(int) CompositeExtract 1510 0
+ Store 1511 1512
+ 1513: 64(ptr) AccessChain 31(data) 1505 63 189
+ 1514: 24(int) CompositeExtract 1510 1
+ Store 1513 1514
+ 1515: 6(int) Load 8(invocation)
+ 1516: 71(ptr) AccessChain 31(data) 33 63
+ 1517: 25(ivec4) Load 1516
+ 1518: 78(ivec3) VectorShuffle 1517 1517 0 1 2
1519: 17(ivec4) Load 19(ballot)
- 1520: 161(bvec3) GroupNonUniformLogicalAnd 178 PartitionedInclusiveScanNV 1518 1519
- 1521: 78(ivec3) Select 1520 744 740
- 1522: 71(ptr) AccessChain 31(data) 1514 63
- 1523: 25(ivec4) Load 1522
- 1524: 25(ivec4) VectorShuffle 1523 1521 4 5 6 3
- Store 1522 1524
- 1525: 6(int) Load 8(invocation)
- 1526: 71(ptr) AccessChain 31(data) 63 63
- 1527: 25(ivec4) Load 1526
- 1528: 169(bvec4) SLessThan 1527 752
- 1529: 17(ivec4) Load 19(ballot)
- 1530: 169(bvec4) GroupNonUniformLogicalAnd 178 PartitionedInclusiveScanNV 1528 1529
- 1531: 25(ivec4) Select 1530 756 752
- 1532: 71(ptr) AccessChain 31(data) 1525 63
+ 1520: 78(ivec3) GroupNonUniformSMax 178 PartitionedInclusiveScanNV 1518 1519
+ 1521: 64(ptr) AccessChain 31(data) 1515 63 35
+ 1522: 24(int) CompositeExtract 1520 0
+ Store 1521 1522
+ 1523: 64(ptr) AccessChain 31(data) 1515 63 189
+ 1524: 24(int) CompositeExtract 1520 1
+ Store 1523 1524
+ 1525: 64(ptr) AccessChain 31(data) 1515 63 202
+ 1526: 24(int) CompositeExtract 1520 2
+ Store 1525 1526
+ 1527: 6(int) Load 8(invocation)
+ 1528: 71(ptr) AccessChain 31(data) 115 63
+ 1529: 25(ivec4) Load 1528
+ 1530: 17(ivec4) Load 19(ballot)
+ 1531: 25(ivec4) GroupNonUniformSMax 178 PartitionedInclusiveScanNV 1529 1530
+ 1532: 71(ptr) AccessChain 31(data) 1527 63
Store 1532 1531
1533: 6(int) Load 8(invocation)
- 1534: 64(ptr) AccessChain 31(data) 34 63 35
- 1535: 24(int) Load 1534
+ 1534: 90(ptr) AccessChain 31(data) 34 33 35
+ 1535: 6(int) Load 1534
1536: 17(ivec4) Load 19(ballot)
- 1537: 24(int) GroupNonUniformBitwiseOr 178 PartitionedInclusiveScanNV 1535 1536
- 1538: 64(ptr) AccessChain 31(data) 1533 63 35
+ 1537: 6(int) GroupNonUniformUMax 178 PartitionedInclusiveScanNV 1535 1536
+ 1538: 90(ptr) AccessChain 31(data) 1533 33 35
Store 1538 1537
1539: 6(int) Load 8(invocation)
- 1540: 71(ptr) AccessChain 31(data) 63 63
- 1541: 25(ivec4) Load 1540
- 1542: 70(ivec2) VectorShuffle 1541 1541 0 1
+ 1540: 40(ptr) AccessChain 31(data) 63 33
+ 1541: 17(ivec4) Load 1540
+ 1542: 96(ivec2) VectorShuffle 1541 1541 0 1
1543: 17(ivec4) Load 19(ballot)
- 1544: 70(ivec2) GroupNonUniformBitwiseOr 178 PartitionedInclusiveScanNV 1542 1543
- 1545: 71(ptr) AccessChain 31(data) 1539 63
- 1546: 25(ivec4) Load 1545
- 1547: 25(ivec4) VectorShuffle 1546 1544 4 5 2 3
- Store 1545 1547
- 1548: 6(int) Load 8(invocation)
- 1549: 71(ptr) AccessChain 31(data) 33 63
- 1550: 25(ivec4) Load 1549
- 1551: 78(ivec3) VectorShuffle 1550 1550 0 1 2
- 1552: 17(ivec4) Load 19(ballot)
- 1553: 78(ivec3) GroupNonUniformBitwiseOr 178 PartitionedInclusiveScanNV 1551 1552
- 1554: 71(ptr) AccessChain 31(data) 1548 63
- 1555: 25(ivec4) Load 1554
- 1556: 25(ivec4) VectorShuffle 1555 1553 4 5 6 3
- Store 1554 1556
- 1557: 6(int) Load 8(invocation)
- 1558: 71(ptr) AccessChain 31(data) 115 63
- 1559: 25(ivec4) Load 1558
- 1560: 17(ivec4) Load 19(ballot)
- 1561: 25(ivec4) GroupNonUniformBitwiseOr 178 PartitionedInclusiveScanNV 1559 1560
- 1562: 71(ptr) AccessChain 31(data) 1557 63
- Store 1562 1561
- 1563: 6(int) Load 8(invocation)
- 1564: 90(ptr) AccessChain 31(data) 34 33 35
- 1565: 6(int) Load 1564
- 1566: 17(ivec4) Load 19(ballot)
- 1567: 6(int) GroupNonUniformBitwiseOr 178 PartitionedInclusiveScanNV 1565 1566
- 1568: 90(ptr) AccessChain 31(data) 1563 33 35
- Store 1568 1567
- 1569: 6(int) Load 8(invocation)
- 1570: 40(ptr) AccessChain 31(data) 63 33
- 1571: 17(ivec4) Load 1570
- 1572: 96(ivec2) VectorShuffle 1571 1571 0 1
- 1573: 17(ivec4) Load 19(ballot)
- 1574: 96(ivec2) GroupNonUniformBitwiseOr 178 PartitionedInclusiveScanNV 1572 1573
- 1575: 40(ptr) AccessChain 31(data) 1569 33
- 1576: 17(ivec4) Load 1575
- 1577: 17(ivec4) VectorShuffle 1576 1574 4 5 2 3
- Store 1575 1577
- 1578: 6(int) Load 8(invocation)
- 1579: 40(ptr) AccessChain 31(data) 33 33
- 1580: 17(ivec4) Load 1579
- 1581: 103(ivec3) VectorShuffle 1580 1580 0 1 2
- 1582: 17(ivec4) Load 19(ballot)
- 1583: 103(ivec3) GroupNonUniformBitwiseOr 178 PartitionedInclusiveScanNV 1581 1582
- 1584: 40(ptr) AccessChain 31(data) 1578 33
- 1585: 17(ivec4) Load 1584
- 1586: 17(ivec4) VectorShuffle 1585 1583 4 5 6 3
- Store 1584 1586
- 1587: 6(int) Load 8(invocation)
- 1588: 40(ptr) AccessChain 31(data) 115 33
- 1589: 17(ivec4) Load 1588
- 1590: 17(ivec4) Load 19(ballot)
- 1591: 17(ivec4) GroupNonUniformBitwiseOr 178 PartitionedInclusiveScanNV 1589 1590
- 1592: 40(ptr) AccessChain 31(data) 1587 33
- Store 1592 1591
- 1593: 6(int) Load 8(invocation)
- 1594: 64(ptr) AccessChain 31(data) 34 63 35
- 1595: 24(int) Load 1594
- 1596: 144(bool) SLessThan 1595 34
- 1597: 17(ivec4) Load 19(ballot)
- 1598: 144(bool) GroupNonUniformLogicalOr 178 PartitionedInclusiveScanNV 1596 1597
- 1599: 24(int) Select 1598 63 34
- 1600: 64(ptr) AccessChain 31(data) 1593 63 35
+ 1544: 96(ivec2) GroupNonUniformUMax 178 PartitionedInclusiveScanNV 1542 1543
+ 1545: 90(ptr) AccessChain 31(data) 1539 33 35
+ 1546: 6(int) CompositeExtract 1544 0
+ Store 1545 1546
+ 1547: 90(ptr) AccessChain 31(data) 1539 33 189
+ 1548: 6(int) CompositeExtract 1544 1
+ Store 1547 1548
+ 1549: 6(int) Load 8(invocation)
+ 1550: 40(ptr) AccessChain 31(data) 33 33
+ 1551: 17(ivec4) Load 1550
+ 1552: 103(ivec3) VectorShuffle 1551 1551 0 1 2
+ 1553: 17(ivec4) Load 19(ballot)
+ 1554: 103(ivec3) GroupNonUniformUMax 178 PartitionedInclusiveScanNV 1552 1553
+ 1555: 90(ptr) AccessChain 31(data) 1549 33 35
+ 1556: 6(int) CompositeExtract 1554 0
+ Store 1555 1556
+ 1557: 90(ptr) AccessChain 31(data) 1549 33 189
+ 1558: 6(int) CompositeExtract 1554 1
+ Store 1557 1558
+ 1559: 90(ptr) AccessChain 31(data) 1549 33 202
+ 1560: 6(int) CompositeExtract 1554 2
+ Store 1559 1560
+ 1561: 6(int) Load 8(invocation)
+ 1562: 40(ptr) AccessChain 31(data) 115 33
+ 1563: 17(ivec4) Load 1562
+ 1564: 17(ivec4) Load 19(ballot)
+ 1565: 17(ivec4) GroupNonUniformUMax 178 PartitionedInclusiveScanNV 1563 1564
+ 1566: 40(ptr) AccessChain 31(data) 1561 33
+ Store 1566 1565
+ 1567: 6(int) Load 8(invocation)
+ 1568: 116(ptr) AccessChain 31(data) 34 115 35
+ 1569:26(float64_t) Load 1568
+ 1570: 17(ivec4) Load 19(ballot)
+ 1571:26(float64_t) GroupNonUniformFMax 178 PartitionedInclusiveScanNV 1569 1570
+ 1572: 116(ptr) AccessChain 31(data) 1567 115 35
+ Store 1572 1571
+ 1573: 6(int) Load 8(invocation)
+ 1574: 123(ptr) AccessChain 31(data) 63 115
+ 1575: 27(f64vec4) Load 1574
+ 1576:122(f64vec2) VectorShuffle 1575 1575 0 1
+ 1577: 17(ivec4) Load 19(ballot)
+ 1578:122(f64vec2) GroupNonUniformFMax 178 PartitionedInclusiveScanNV 1576 1577
+ 1579: 116(ptr) AccessChain 31(data) 1573 115 35
+ 1580:26(float64_t) CompositeExtract 1578 0
+ Store 1579 1580
+ 1581: 116(ptr) AccessChain 31(data) 1573 115 189
+ 1582:26(float64_t) CompositeExtract 1578 1
+ Store 1581 1582
+ 1583: 6(int) Load 8(invocation)
+ 1584: 123(ptr) AccessChain 31(data) 33 115
+ 1585: 27(f64vec4) Load 1584
+ 1586:130(f64vec3) VectorShuffle 1585 1585 0 1 2
+ 1587: 17(ivec4) Load 19(ballot)
+ 1588:130(f64vec3) GroupNonUniformFMax 178 PartitionedInclusiveScanNV 1586 1587
+ 1589: 116(ptr) AccessChain 31(data) 1583 115 35
+ 1590:26(float64_t) CompositeExtract 1588 0
+ Store 1589 1590
+ 1591: 116(ptr) AccessChain 31(data) 1583 115 189
+ 1592:26(float64_t) CompositeExtract 1588 1
+ Store 1591 1592
+ 1593: 116(ptr) AccessChain 31(data) 1583 115 202
+ 1594:26(float64_t) CompositeExtract 1588 2
+ Store 1593 1594
+ 1595: 6(int) Load 8(invocation)
+ 1596: 123(ptr) AccessChain 31(data) 115 115
+ 1597: 27(f64vec4) Load 1596
+ 1598: 17(ivec4) Load 19(ballot)
+ 1599: 27(f64vec4) GroupNonUniformFMax 178 PartitionedInclusiveScanNV 1597 1598
+ 1600: 123(ptr) AccessChain 31(data) 1595 115
Store 1600 1599
1601: 6(int) Load 8(invocation)
- 1602: 71(ptr) AccessChain 31(data) 63 63
- 1603: 25(ivec4) Load 1602
- 1604: 70(ivec2) VectorShuffle 1603 1603 0 1
- 1605: 152(bvec2) SLessThan 1604 727
- 1606: 17(ivec4) Load 19(ballot)
- 1607: 152(bvec2) GroupNonUniformLogicalOr 178 PartitionedInclusiveScanNV 1605 1606
- 1608: 70(ivec2) Select 1607 731 727
- 1609: 71(ptr) AccessChain 31(data) 1601 63
- 1610: 25(ivec4) Load 1609
- 1611: 25(ivec4) VectorShuffle 1610 1608 4 5 2 3
- Store 1609 1611
- 1612: 6(int) Load 8(invocation)
- 1613: 71(ptr) AccessChain 31(data) 63 63
- 1614: 25(ivec4) Load 1613
- 1615: 78(ivec3) VectorShuffle 1614 1614 0 1 2
- 1616: 161(bvec3) SLessThan 1615 740
- 1617: 17(ivec4) Load 19(ballot)
- 1618: 161(bvec3) GroupNonUniformLogicalOr 178 PartitionedInclusiveScanNV 1616 1617
- 1619: 78(ivec3) Select 1618 744 740
- 1620: 71(ptr) AccessChain 31(data) 1612 63
- 1621: 25(ivec4) Load 1620
- 1622: 25(ivec4) VectorShuffle 1621 1619 4 5 6 3
- Store 1620 1622
- 1623: 6(int) Load 8(invocation)
- 1624: 71(ptr) AccessChain 31(data) 63 63
- 1625: 25(ivec4) Load 1624
- 1626: 169(bvec4) SLessThan 1625 752
- 1627: 17(ivec4) Load 19(ballot)
- 1628: 169(bvec4) GroupNonUniformLogicalOr 178 PartitionedInclusiveScanNV 1626 1627
- 1629: 25(ivec4) Select 1628 756 752
- 1630: 71(ptr) AccessChain 31(data) 1623 63
- Store 1630 1629
- 1631: 6(int) Load 8(invocation)
- 1632: 64(ptr) AccessChain 31(data) 34 63 35
- 1633: 24(int) Load 1632
- 1634: 17(ivec4) Load 19(ballot)
- 1635: 24(int) GroupNonUniformBitwiseXor 178 PartitionedInclusiveScanNV 1633 1634
- 1636: 64(ptr) AccessChain 31(data) 1631 63 35
- Store 1636 1635
- 1637: 6(int) Load 8(invocation)
- 1638: 71(ptr) AccessChain 31(data) 63 63
- 1639: 25(ivec4) Load 1638
- 1640: 70(ivec2) VectorShuffle 1639 1639 0 1
- 1641: 17(ivec4) Load 19(ballot)
- 1642: 70(ivec2) GroupNonUniformBitwiseXor 178 PartitionedInclusiveScanNV 1640 1641
- 1643: 71(ptr) AccessChain 31(data) 1637 63
- 1644: 25(ivec4) Load 1643
- 1645: 25(ivec4) VectorShuffle 1644 1642 4 5 2 3
- Store 1643 1645
- 1646: 6(int) Load 8(invocation)
- 1647: 71(ptr) AccessChain 31(data) 33 63
- 1648: 25(ivec4) Load 1647
- 1649: 78(ivec3) VectorShuffle 1648 1648 0 1 2
- 1650: 17(ivec4) Load 19(ballot)
- 1651: 78(ivec3) GroupNonUniformBitwiseXor 178 PartitionedInclusiveScanNV 1649 1650
- 1652: 71(ptr) AccessChain 31(data) 1646 63
- 1653: 25(ivec4) Load 1652
- 1654: 25(ivec4) VectorShuffle 1653 1651 4 5 6 3
- Store 1652 1654
- 1655: 6(int) Load 8(invocation)
- 1656: 71(ptr) AccessChain 31(data) 115 63
- 1657: 25(ivec4) Load 1656
- 1658: 17(ivec4) Load 19(ballot)
- 1659: 25(ivec4) GroupNonUniformBitwiseXor 178 PartitionedInclusiveScanNV 1657 1658
- 1660: 71(ptr) AccessChain 31(data) 1655 63
- Store 1660 1659
- 1661: 6(int) Load 8(invocation)
- 1662: 90(ptr) AccessChain 31(data) 34 33 35
- 1663: 6(int) Load 1662
- 1664: 17(ivec4) Load 19(ballot)
- 1665: 6(int) GroupNonUniformBitwiseXor 178 PartitionedInclusiveScanNV 1663 1664
- 1666: 90(ptr) AccessChain 31(data) 1661 33 35
- Store 1666 1665
- 1667: 6(int) Load 8(invocation)
- 1668: 40(ptr) AccessChain 31(data) 63 33
- 1669: 17(ivec4) Load 1668
- 1670: 96(ivec2) VectorShuffle 1669 1669 0 1
- 1671: 17(ivec4) Load 19(ballot)
- 1672: 96(ivec2) GroupNonUniformBitwiseXor 178 PartitionedInclusiveScanNV 1670 1671
- 1673: 40(ptr) AccessChain 31(data) 1667 33
- 1674: 17(ivec4) Load 1673
- 1675: 17(ivec4) VectorShuffle 1674 1672 4 5 2 3
- Store 1673 1675
- 1676: 6(int) Load 8(invocation)
- 1677: 40(ptr) AccessChain 31(data) 33 33
- 1678: 17(ivec4) Load 1677
- 1679: 103(ivec3) VectorShuffle 1678 1678 0 1 2
- 1680: 17(ivec4) Load 19(ballot)
- 1681: 103(ivec3) GroupNonUniformBitwiseXor 178 PartitionedInclusiveScanNV 1679 1680
- 1682: 40(ptr) AccessChain 31(data) 1676 33
- 1683: 17(ivec4) Load 1682
- 1684: 17(ivec4) VectorShuffle 1683 1681 4 5 6 3
- Store 1682 1684
- 1685: 6(int) Load 8(invocation)
- 1686: 40(ptr) AccessChain 31(data) 115 33
- 1687: 17(ivec4) Load 1686
- 1688: 17(ivec4) Load 19(ballot)
- 1689: 17(ivec4) GroupNonUniformBitwiseXor 178 PartitionedInclusiveScanNV 1687 1688
- 1690: 40(ptr) AccessChain 31(data) 1685 33
- Store 1690 1689
- 1691: 6(int) Load 8(invocation)
- 1692: 64(ptr) AccessChain 31(data) 34 63 35
- 1693: 24(int) Load 1692
- 1694: 144(bool) SLessThan 1693 34
- 1695: 17(ivec4) Load 19(ballot)
- 1696: 144(bool) GroupNonUniformLogicalXor 178 PartitionedInclusiveScanNV 1694 1695
- 1697: 24(int) Select 1696 63 34
- 1698: 64(ptr) AccessChain 31(data) 1691 63 35
- Store 1698 1697
- 1699: 6(int) Load 8(invocation)
- 1700: 71(ptr) AccessChain 31(data) 63 63
- 1701: 25(ivec4) Load 1700
- 1702: 70(ivec2) VectorShuffle 1701 1701 0 1
- 1703: 152(bvec2) SLessThan 1702 727
- 1704: 17(ivec4) Load 19(ballot)
- 1705: 152(bvec2) GroupNonUniformLogicalXor 178 PartitionedInclusiveScanNV 1703 1704
- 1706: 70(ivec2) Select 1705 731 727
- 1707: 71(ptr) AccessChain 31(data) 1699 63
- 1708: 25(ivec4) Load 1707
- 1709: 25(ivec4) VectorShuffle 1708 1706 4 5 2 3
- Store 1707 1709
- 1710: 6(int) Load 8(invocation)
- 1711: 71(ptr) AccessChain 31(data) 63 63
- 1712: 25(ivec4) Load 1711
- 1713: 78(ivec3) VectorShuffle 1712 1712 0 1 2
- 1714: 161(bvec3) SLessThan 1713 740
- 1715: 17(ivec4) Load 19(ballot)
- 1716: 161(bvec3) GroupNonUniformLogicalXor 178 PartitionedInclusiveScanNV 1714 1715
- 1717: 78(ivec3) Select 1716 744 740
- 1718: 71(ptr) AccessChain 31(data) 1710 63
+ 1602: 64(ptr) AccessChain 31(data) 34 63 35
+ 1603: 24(int) Load 1602
+ 1604: 17(ivec4) Load 19(ballot)
+ 1605: 24(int) GroupNonUniformBitwiseAnd 178 PartitionedInclusiveScanNV 1603 1604
+ 1606: 64(ptr) AccessChain 31(data) 1601 63 35
+ Store 1606 1605
+ 1607: 6(int) Load 8(invocation)
+ 1608: 71(ptr) AccessChain 31(data) 63 63
+ 1609: 25(ivec4) Load 1608
+ 1610: 70(ivec2) VectorShuffle 1609 1609 0 1
+ 1611: 17(ivec4) Load 19(ballot)
+ 1612: 70(ivec2) GroupNonUniformBitwiseAnd 178 PartitionedInclusiveScanNV 1610 1611
+ 1613: 64(ptr) AccessChain 31(data) 1607 63 35
+ 1614: 24(int) CompositeExtract 1612 0
+ Store 1613 1614
+ 1615: 64(ptr) AccessChain 31(data) 1607 63 189
+ 1616: 24(int) CompositeExtract 1612 1
+ Store 1615 1616
+ 1617: 6(int) Load 8(invocation)
+ 1618: 71(ptr) AccessChain 31(data) 33 63
+ 1619: 25(ivec4) Load 1618
+ 1620: 78(ivec3) VectorShuffle 1619 1619 0 1 2
+ 1621: 17(ivec4) Load 19(ballot)
+ 1622: 78(ivec3) GroupNonUniformBitwiseAnd 178 PartitionedInclusiveScanNV 1620 1621
+ 1623: 64(ptr) AccessChain 31(data) 1617 63 35
+ 1624: 24(int) CompositeExtract 1622 0
+ Store 1623 1624
+ 1625: 64(ptr) AccessChain 31(data) 1617 63 189
+ 1626: 24(int) CompositeExtract 1622 1
+ Store 1625 1626
+ 1627: 64(ptr) AccessChain 31(data) 1617 63 202
+ 1628: 24(int) CompositeExtract 1622 2
+ Store 1627 1628
+ 1629: 6(int) Load 8(invocation)
+ 1630: 71(ptr) AccessChain 31(data) 115 63
+ 1631: 25(ivec4) Load 1630
+ 1632: 17(ivec4) Load 19(ballot)
+ 1633: 25(ivec4) GroupNonUniformBitwiseAnd 178 PartitionedInclusiveScanNV 1631 1632
+ 1634: 71(ptr) AccessChain 31(data) 1629 63
+ Store 1634 1633
+ 1635: 6(int) Load 8(invocation)
+ 1636: 90(ptr) AccessChain 31(data) 34 33 35
+ 1637: 6(int) Load 1636
+ 1638: 17(ivec4) Load 19(ballot)
+ 1639: 6(int) GroupNonUniformBitwiseAnd 178 PartitionedInclusiveScanNV 1637 1638
+ 1640: 90(ptr) AccessChain 31(data) 1635 33 35
+ Store 1640 1639
+ 1641: 6(int) Load 8(invocation)
+ 1642: 40(ptr) AccessChain 31(data) 63 33
+ 1643: 17(ivec4) Load 1642
+ 1644: 96(ivec2) VectorShuffle 1643 1643 0 1
+ 1645: 17(ivec4) Load 19(ballot)
+ 1646: 96(ivec2) GroupNonUniformBitwiseAnd 178 PartitionedInclusiveScanNV 1644 1645
+ 1647: 90(ptr) AccessChain 31(data) 1641 33 35
+ 1648: 6(int) CompositeExtract 1646 0
+ Store 1647 1648
+ 1649: 90(ptr) AccessChain 31(data) 1641 33 189
+ 1650: 6(int) CompositeExtract 1646 1
+ Store 1649 1650
+ 1651: 6(int) Load 8(invocation)
+ 1652: 40(ptr) AccessChain 31(data) 33 33
+ 1653: 17(ivec4) Load 1652
+ 1654: 103(ivec3) VectorShuffle 1653 1653 0 1 2
+ 1655: 17(ivec4) Load 19(ballot)
+ 1656: 103(ivec3) GroupNonUniformBitwiseAnd 178 PartitionedInclusiveScanNV 1654 1655
+ 1657: 90(ptr) AccessChain 31(data) 1651 33 35
+ 1658: 6(int) CompositeExtract 1656 0
+ Store 1657 1658
+ 1659: 90(ptr) AccessChain 31(data) 1651 33 189
+ 1660: 6(int) CompositeExtract 1656 1
+ Store 1659 1660
+ 1661: 90(ptr) AccessChain 31(data) 1651 33 202
+ 1662: 6(int) CompositeExtract 1656 2
+ Store 1661 1662
+ 1663: 6(int) Load 8(invocation)
+ 1664: 40(ptr) AccessChain 31(data) 115 33
+ 1665: 17(ivec4) Load 1664
+ 1666: 17(ivec4) Load 19(ballot)
+ 1667: 17(ivec4) GroupNonUniformBitwiseAnd 178 PartitionedInclusiveScanNV 1665 1666
+ 1668: 40(ptr) AccessChain 31(data) 1663 33
+ Store 1668 1667
+ 1669: 6(int) Load 8(invocation)
+ 1670: 64(ptr) AccessChain 31(data) 34 63 35
+ 1671: 24(int) Load 1670
+ 1672: 144(bool) SLessThan 1671 34
+ 1673: 17(ivec4) Load 19(ballot)
+ 1674: 144(bool) GroupNonUniformLogicalAnd 178 PartitionedInclusiveScanNV 1672 1673
+ 1675: 24(int) Select 1674 63 34
+ 1676: 64(ptr) AccessChain 31(data) 1669 63 35
+ Store 1676 1675
+ 1677: 6(int) Load 8(invocation)
+ 1678: 71(ptr) AccessChain 31(data) 63 63
+ 1679: 25(ivec4) Load 1678
+ 1680: 70(ivec2) VectorShuffle 1679 1679 0 1
+ 1681: 152(bvec2) SLessThan 1680 801
+ 1682: 17(ivec4) Load 19(ballot)
+ 1683: 152(bvec2) GroupNonUniformLogicalAnd 178 PartitionedInclusiveScanNV 1681 1682
+ 1684: 70(ivec2) Select 1683 805 801
+ 1685: 64(ptr) AccessChain 31(data) 1677 63 35
+ 1686: 24(int) CompositeExtract 1684 0
+ Store 1685 1686
+ 1687: 64(ptr) AccessChain 31(data) 1677 63 189
+ 1688: 24(int) CompositeExtract 1684 1
+ Store 1687 1688
+ 1689: 6(int) Load 8(invocation)
+ 1690: 71(ptr) AccessChain 31(data) 63 63
+ 1691: 25(ivec4) Load 1690
+ 1692: 78(ivec3) VectorShuffle 1691 1691 0 1 2
+ 1693: 161(bvec3) SLessThan 1692 815
+ 1694: 17(ivec4) Load 19(ballot)
+ 1695: 161(bvec3) GroupNonUniformLogicalAnd 178 PartitionedInclusiveScanNV 1693 1694
+ 1696: 78(ivec3) Select 1695 819 815
+ 1697: 64(ptr) AccessChain 31(data) 1689 63 35
+ 1698: 24(int) CompositeExtract 1696 0
+ Store 1697 1698
+ 1699: 64(ptr) AccessChain 31(data) 1689 63 189
+ 1700: 24(int) CompositeExtract 1696 1
+ Store 1699 1700
+ 1701: 64(ptr) AccessChain 31(data) 1689 63 202
+ 1702: 24(int) CompositeExtract 1696 2
+ Store 1701 1702
+ 1703: 6(int) Load 8(invocation)
+ 1704: 71(ptr) AccessChain 31(data) 63 63
+ 1705: 25(ivec4) Load 1704
+ 1706: 169(bvec4) SLessThan 1705 830
+ 1707: 17(ivec4) Load 19(ballot)
+ 1708: 169(bvec4) GroupNonUniformLogicalAnd 178 PartitionedInclusiveScanNV 1706 1707
+ 1709: 25(ivec4) Select 1708 834 830
+ 1710: 71(ptr) AccessChain 31(data) 1703 63
+ Store 1710 1709
+ 1711: 6(int) Load 8(invocation)
+ 1712: 64(ptr) AccessChain 31(data) 34 63 35
+ 1713: 24(int) Load 1712
+ 1714: 17(ivec4) Load 19(ballot)
+ 1715: 24(int) GroupNonUniformBitwiseOr 178 PartitionedInclusiveScanNV 1713 1714
+ 1716: 64(ptr) AccessChain 31(data) 1711 63 35
+ Store 1716 1715
+ 1717: 6(int) Load 8(invocation)
+ 1718: 71(ptr) AccessChain 31(data) 63 63
1719: 25(ivec4) Load 1718
- 1720: 25(ivec4) VectorShuffle 1719 1717 4 5 6 3
- Store 1718 1720
- 1721: 6(int) Load 8(invocation)
- 1722: 71(ptr) AccessChain 31(data) 63 63
- 1723: 25(ivec4) Load 1722
- 1724: 169(bvec4) SLessThan 1723 752
- 1725: 17(ivec4) Load 19(ballot)
- 1726: 169(bvec4) GroupNonUniformLogicalXor 178 PartitionedInclusiveScanNV 1724 1725
- 1727: 25(ivec4) Select 1726 756 752
- 1728: 71(ptr) AccessChain 31(data) 1721 63
- Store 1728 1727
- 1729: 6(int) Load 8(invocation)
- 1730: 36(ptr) AccessChain 31(data) 34 34 35
- 1731: 22(float) Load 1730
- 1732: 17(ivec4) Load 19(ballot)
- 1733: 22(float) GroupNonUniformFAdd 178 PartitionedExclusiveScanNV 1731 1732
- 1734: 36(ptr) AccessChain 31(data) 1729 34 35
- Store 1734 1733
- 1735: 6(int) Load 8(invocation)
- 1736: 44(ptr) AccessChain 31(data) 63 34
- 1737: 23(fvec4) Load 1736
- 1738: 43(fvec2) VectorShuffle 1737 1737 0 1
- 1739: 17(ivec4) Load 19(ballot)
- 1740: 43(fvec2) GroupNonUniformFAdd 178 PartitionedExclusiveScanNV 1738 1739
- 1741: 44(ptr) AccessChain 31(data) 1735 34
- 1742: 23(fvec4) Load 1741
- 1743: 23(fvec4) VectorShuffle 1742 1740 4 5 2 3
- Store 1741 1743
- 1744: 6(int) Load 8(invocation)
- 1745: 44(ptr) AccessChain 31(data) 33 34
- 1746: 23(fvec4) Load 1745
- 1747: 51(fvec3) VectorShuffle 1746 1746 0 1 2
+ 1720: 70(ivec2) VectorShuffle 1719 1719 0 1
+ 1721: 17(ivec4) Load 19(ballot)
+ 1722: 70(ivec2) GroupNonUniformBitwiseOr 178 PartitionedInclusiveScanNV 1720 1721
+ 1723: 64(ptr) AccessChain 31(data) 1717 63 35
+ 1724: 24(int) CompositeExtract 1722 0
+ Store 1723 1724
+ 1725: 64(ptr) AccessChain 31(data) 1717 63 189
+ 1726: 24(int) CompositeExtract 1722 1
+ Store 1725 1726
+ 1727: 6(int) Load 8(invocation)
+ 1728: 71(ptr) AccessChain 31(data) 33 63
+ 1729: 25(ivec4) Load 1728
+ 1730: 78(ivec3) VectorShuffle 1729 1729 0 1 2
+ 1731: 17(ivec4) Load 19(ballot)
+ 1732: 78(ivec3) GroupNonUniformBitwiseOr 178 PartitionedInclusiveScanNV 1730 1731
+ 1733: 64(ptr) AccessChain 31(data) 1727 63 35
+ 1734: 24(int) CompositeExtract 1732 0
+ Store 1733 1734
+ 1735: 64(ptr) AccessChain 31(data) 1727 63 189
+ 1736: 24(int) CompositeExtract 1732 1
+ Store 1735 1736
+ 1737: 64(ptr) AccessChain 31(data) 1727 63 202
+ 1738: 24(int) CompositeExtract 1732 2
+ Store 1737 1738
+ 1739: 6(int) Load 8(invocation)
+ 1740: 71(ptr) AccessChain 31(data) 115 63
+ 1741: 25(ivec4) Load 1740
+ 1742: 17(ivec4) Load 19(ballot)
+ 1743: 25(ivec4) GroupNonUniformBitwiseOr 178 PartitionedInclusiveScanNV 1741 1742
+ 1744: 71(ptr) AccessChain 31(data) 1739 63
+ Store 1744 1743
+ 1745: 6(int) Load 8(invocation)
+ 1746: 90(ptr) AccessChain 31(data) 34 33 35
+ 1747: 6(int) Load 1746
1748: 17(ivec4) Load 19(ballot)
- 1749: 51(fvec3) GroupNonUniformFAdd 178 PartitionedExclusiveScanNV 1747 1748
- 1750: 44(ptr) AccessChain 31(data) 1744 34
- 1751: 23(fvec4) Load 1750
- 1752: 23(fvec4) VectorShuffle 1751 1749 4 5 6 3
- Store 1750 1752
- 1753: 6(int) Load 8(invocation)
- 1754: 44(ptr) AccessChain 31(data) 115 34
- 1755: 23(fvec4) Load 1754
- 1756: 17(ivec4) Load 19(ballot)
- 1757: 23(fvec4) GroupNonUniformFAdd 178 PartitionedExclusiveScanNV 1755 1756
- 1758: 44(ptr) AccessChain 31(data) 1753 34
- Store 1758 1757
- 1759: 6(int) Load 8(invocation)
- 1760: 64(ptr) AccessChain 31(data) 34 63 35
- 1761: 24(int) Load 1760
- 1762: 17(ivec4) Load 19(ballot)
- 1763: 24(int) GroupNonUniformIAdd 178 PartitionedExclusiveScanNV 1761 1762
- 1764: 64(ptr) AccessChain 31(data) 1759 63 35
- Store 1764 1763
- 1765: 6(int) Load 8(invocation)
- 1766: 71(ptr) AccessChain 31(data) 63 63
- 1767: 25(ivec4) Load 1766
- 1768: 70(ivec2) VectorShuffle 1767 1767 0 1
- 1769: 17(ivec4) Load 19(ballot)
- 1770: 70(ivec2) GroupNonUniformIAdd 178 PartitionedExclusiveScanNV 1768 1769
- 1771: 71(ptr) AccessChain 31(data) 1765 63
- 1772: 25(ivec4) Load 1771
- 1773: 25(ivec4) VectorShuffle 1772 1770 4 5 2 3
- Store 1771 1773
- 1774: 6(int) Load 8(invocation)
- 1775: 71(ptr) AccessChain 31(data) 33 63
- 1776: 25(ivec4) Load 1775
- 1777: 78(ivec3) VectorShuffle 1776 1776 0 1 2
- 1778: 17(ivec4) Load 19(ballot)
- 1779: 78(ivec3) GroupNonUniformIAdd 178 PartitionedExclusiveScanNV 1777 1778
- 1780: 71(ptr) AccessChain 31(data) 1774 63
- 1781: 25(ivec4) Load 1780
- 1782: 25(ivec4) VectorShuffle 1781 1779 4 5 6 3
- Store 1780 1782
- 1783: 6(int) Load 8(invocation)
- 1784: 71(ptr) AccessChain 31(data) 115 63
- 1785: 25(ivec4) Load 1784
- 1786: 17(ivec4) Load 19(ballot)
- 1787: 25(ivec4) GroupNonUniformIAdd 178 PartitionedExclusiveScanNV 1785 1786
- 1788: 71(ptr) AccessChain 31(data) 1783 63
- Store 1788 1787
- 1789: 6(int) Load 8(invocation)
- 1790: 90(ptr) AccessChain 31(data) 34 33 35
- 1791: 6(int) Load 1790
+ 1749: 6(int) GroupNonUniformBitwiseOr 178 PartitionedInclusiveScanNV 1747 1748
+ 1750: 90(ptr) AccessChain 31(data) 1745 33 35
+ Store 1750 1749
+ 1751: 6(int) Load 8(invocation)
+ 1752: 40(ptr) AccessChain 31(data) 63 33
+ 1753: 17(ivec4) Load 1752
+ 1754: 96(ivec2) VectorShuffle 1753 1753 0 1
+ 1755: 17(ivec4) Load 19(ballot)
+ 1756: 96(ivec2) GroupNonUniformBitwiseOr 178 PartitionedInclusiveScanNV 1754 1755
+ 1757: 90(ptr) AccessChain 31(data) 1751 33 35
+ 1758: 6(int) CompositeExtract 1756 0
+ Store 1757 1758
+ 1759: 90(ptr) AccessChain 31(data) 1751 33 189
+ 1760: 6(int) CompositeExtract 1756 1
+ Store 1759 1760
+ 1761: 6(int) Load 8(invocation)
+ 1762: 40(ptr) AccessChain 31(data) 33 33
+ 1763: 17(ivec4) Load 1762
+ 1764: 103(ivec3) VectorShuffle 1763 1763 0 1 2
+ 1765: 17(ivec4) Load 19(ballot)
+ 1766: 103(ivec3) GroupNonUniformBitwiseOr 178 PartitionedInclusiveScanNV 1764 1765
+ 1767: 90(ptr) AccessChain 31(data) 1761 33 35
+ 1768: 6(int) CompositeExtract 1766 0
+ Store 1767 1768
+ 1769: 90(ptr) AccessChain 31(data) 1761 33 189
+ 1770: 6(int) CompositeExtract 1766 1
+ Store 1769 1770
+ 1771: 90(ptr) AccessChain 31(data) 1761 33 202
+ 1772: 6(int) CompositeExtract 1766 2
+ Store 1771 1772
+ 1773: 6(int) Load 8(invocation)
+ 1774: 40(ptr) AccessChain 31(data) 115 33
+ 1775: 17(ivec4) Load 1774
+ 1776: 17(ivec4) Load 19(ballot)
+ 1777: 17(ivec4) GroupNonUniformBitwiseOr 178 PartitionedInclusiveScanNV 1775 1776
+ 1778: 40(ptr) AccessChain 31(data) 1773 33
+ Store 1778 1777
+ 1779: 6(int) Load 8(invocation)
+ 1780: 64(ptr) AccessChain 31(data) 34 63 35
+ 1781: 24(int) Load 1780
+ 1782: 144(bool) SLessThan 1781 34
+ 1783: 17(ivec4) Load 19(ballot)
+ 1784: 144(bool) GroupNonUniformLogicalOr 178 PartitionedInclusiveScanNV 1782 1783
+ 1785: 24(int) Select 1784 63 34
+ 1786: 64(ptr) AccessChain 31(data) 1779 63 35
+ Store 1786 1785
+ 1787: 6(int) Load 8(invocation)
+ 1788: 71(ptr) AccessChain 31(data) 63 63
+ 1789: 25(ivec4) Load 1788
+ 1790: 70(ivec2) VectorShuffle 1789 1789 0 1
+ 1791: 152(bvec2) SLessThan 1790 801
1792: 17(ivec4) Load 19(ballot)
- 1793: 6(int) GroupNonUniformIAdd 178 PartitionedExclusiveScanNV 1791 1792
- 1794: 90(ptr) AccessChain 31(data) 1789 33 35
- Store 1794 1793
- 1795: 6(int) Load 8(invocation)
- 1796: 40(ptr) AccessChain 31(data) 63 33
- 1797: 17(ivec4) Load 1796
- 1798: 96(ivec2) VectorShuffle 1797 1797 0 1
- 1799: 17(ivec4) Load 19(ballot)
- 1800: 96(ivec2) GroupNonUniformIAdd 178 PartitionedExclusiveScanNV 1798 1799
- 1801: 40(ptr) AccessChain 31(data) 1795 33
- 1802: 17(ivec4) Load 1801
- 1803: 17(ivec4) VectorShuffle 1802 1800 4 5 2 3
- Store 1801 1803
- 1804: 6(int) Load 8(invocation)
- 1805: 40(ptr) AccessChain 31(data) 33 33
- 1806: 17(ivec4) Load 1805
- 1807: 103(ivec3) VectorShuffle 1806 1806 0 1 2
- 1808: 17(ivec4) Load 19(ballot)
- 1809: 103(ivec3) GroupNonUniformIAdd 178 PartitionedExclusiveScanNV 1807 1808
- 1810: 40(ptr) AccessChain 31(data) 1804 33
- 1811: 17(ivec4) Load 1810
- 1812: 17(ivec4) VectorShuffle 1811 1809 4 5 6 3
- Store 1810 1812
+ 1793: 152(bvec2) GroupNonUniformLogicalOr 178 PartitionedInclusiveScanNV 1791 1792
+ 1794: 70(ivec2) Select 1793 805 801
+ 1795: 64(ptr) AccessChain 31(data) 1787 63 35
+ 1796: 24(int) CompositeExtract 1794 0
+ Store 1795 1796
+ 1797: 64(ptr) AccessChain 31(data) 1787 63 189
+ 1798: 24(int) CompositeExtract 1794 1
+ Store 1797 1798
+ 1799: 6(int) Load 8(invocation)
+ 1800: 71(ptr) AccessChain 31(data) 63 63
+ 1801: 25(ivec4) Load 1800
+ 1802: 78(ivec3) VectorShuffle 1801 1801 0 1 2
+ 1803: 161(bvec3) SLessThan 1802 815
+ 1804: 17(ivec4) Load 19(ballot)
+ 1805: 161(bvec3) GroupNonUniformLogicalOr 178 PartitionedInclusiveScanNV 1803 1804
+ 1806: 78(ivec3) Select 1805 819 815
+ 1807: 64(ptr) AccessChain 31(data) 1799 63 35
+ 1808: 24(int) CompositeExtract 1806 0
+ Store 1807 1808
+ 1809: 64(ptr) AccessChain 31(data) 1799 63 189
+ 1810: 24(int) CompositeExtract 1806 1
+ Store 1809 1810
+ 1811: 64(ptr) AccessChain 31(data) 1799 63 202
+ 1812: 24(int) CompositeExtract 1806 2
+ Store 1811 1812
1813: 6(int) Load 8(invocation)
- 1814: 40(ptr) AccessChain 31(data) 115 33
- 1815: 17(ivec4) Load 1814
- 1816: 17(ivec4) Load 19(ballot)
- 1817: 17(ivec4) GroupNonUniformIAdd 178 PartitionedExclusiveScanNV 1815 1816
- 1818: 40(ptr) AccessChain 31(data) 1813 33
- Store 1818 1817
- 1819: 6(int) Load 8(invocation)
- 1820: 116(ptr) AccessChain 31(data) 34 115 35
- 1821:26(float64_t) Load 1820
- 1822: 17(ivec4) Load 19(ballot)
- 1823:26(float64_t) GroupNonUniformFAdd 178 PartitionedExclusiveScanNV 1821 1822
- 1824: 116(ptr) AccessChain 31(data) 1819 115 35
- Store 1824 1823
- 1825: 6(int) Load 8(invocation)
- 1826: 123(ptr) AccessChain 31(data) 63 115
- 1827: 27(f64vec4) Load 1826
- 1828:122(f64vec2) VectorShuffle 1827 1827 0 1
- 1829: 17(ivec4) Load 19(ballot)
- 1830:122(f64vec2) GroupNonUniformFAdd 178 PartitionedExclusiveScanNV 1828 1829
- 1831: 123(ptr) AccessChain 31(data) 1825 115
- 1832: 27(f64vec4) Load 1831
- 1833: 27(f64vec4) VectorShuffle 1832 1830 4 5 2 3
- Store 1831 1833
- 1834: 6(int) Load 8(invocation)
- 1835: 123(ptr) AccessChain 31(data) 33 115
- 1836: 27(f64vec4) Load 1835
- 1837:130(f64vec3) VectorShuffle 1836 1836 0 1 2
- 1838: 17(ivec4) Load 19(ballot)
- 1839:130(f64vec3) GroupNonUniformFAdd 178 PartitionedExclusiveScanNV 1837 1838
- 1840: 123(ptr) AccessChain 31(data) 1834 115
- 1841: 27(f64vec4) Load 1840
- 1842: 27(f64vec4) VectorShuffle 1841 1839 4 5 6 3
- Store 1840 1842
- 1843: 6(int) Load 8(invocation)
- 1844: 123(ptr) AccessChain 31(data) 115 115
- 1845: 27(f64vec4) Load 1844
- 1846: 17(ivec4) Load 19(ballot)
- 1847: 27(f64vec4) GroupNonUniformFAdd 178 PartitionedExclusiveScanNV 1845 1846
- 1848: 123(ptr) AccessChain 31(data) 1843 115
- Store 1848 1847
+ 1814: 71(ptr) AccessChain 31(data) 63 63
+ 1815: 25(ivec4) Load 1814
+ 1816: 169(bvec4) SLessThan 1815 830
+ 1817: 17(ivec4) Load 19(ballot)
+ 1818: 169(bvec4) GroupNonUniformLogicalOr 178 PartitionedInclusiveScanNV 1816 1817
+ 1819: 25(ivec4) Select 1818 834 830
+ 1820: 71(ptr) AccessChain 31(data) 1813 63
+ Store 1820 1819
+ 1821: 6(int) Load 8(invocation)
+ 1822: 64(ptr) AccessChain 31(data) 34 63 35
+ 1823: 24(int) Load 1822
+ 1824: 17(ivec4) Load 19(ballot)
+ 1825: 24(int) GroupNonUniformBitwiseXor 178 PartitionedInclusiveScanNV 1823 1824
+ 1826: 64(ptr) AccessChain 31(data) 1821 63 35
+ Store 1826 1825
+ 1827: 6(int) Load 8(invocation)
+ 1828: 71(ptr) AccessChain 31(data) 63 63
+ 1829: 25(ivec4) Load 1828
+ 1830: 70(ivec2) VectorShuffle 1829 1829 0 1
+ 1831: 17(ivec4) Load 19(ballot)
+ 1832: 70(ivec2) GroupNonUniformBitwiseXor 178 PartitionedInclusiveScanNV 1830 1831
+ 1833: 64(ptr) AccessChain 31(data) 1827 63 35
+ 1834: 24(int) CompositeExtract 1832 0
+ Store 1833 1834
+ 1835: 64(ptr) AccessChain 31(data) 1827 63 189
+ 1836: 24(int) CompositeExtract 1832 1
+ Store 1835 1836
+ 1837: 6(int) Load 8(invocation)
+ 1838: 71(ptr) AccessChain 31(data) 33 63
+ 1839: 25(ivec4) Load 1838
+ 1840: 78(ivec3) VectorShuffle 1839 1839 0 1 2
+ 1841: 17(ivec4) Load 19(ballot)
+ 1842: 78(ivec3) GroupNonUniformBitwiseXor 178 PartitionedInclusiveScanNV 1840 1841
+ 1843: 64(ptr) AccessChain 31(data) 1837 63 35
+ 1844: 24(int) CompositeExtract 1842 0
+ Store 1843 1844
+ 1845: 64(ptr) AccessChain 31(data) 1837 63 189
+ 1846: 24(int) CompositeExtract 1842 1
+ Store 1845 1846
+ 1847: 64(ptr) AccessChain 31(data) 1837 63 202
+ 1848: 24(int) CompositeExtract 1842 2
+ Store 1847 1848
1849: 6(int) Load 8(invocation)
- 1850: 36(ptr) AccessChain 31(data) 34 34 35
- 1851: 22(float) Load 1850
+ 1850: 71(ptr) AccessChain 31(data) 115 63
+ 1851: 25(ivec4) Load 1850
1852: 17(ivec4) Load 19(ballot)
- 1853: 22(float) GroupNonUniformFMul 178 PartitionedExclusiveScanNV 1851 1852
- 1854: 36(ptr) AccessChain 31(data) 1849 34 35
+ 1853: 25(ivec4) GroupNonUniformBitwiseXor 178 PartitionedInclusiveScanNV 1851 1852
+ 1854: 71(ptr) AccessChain 31(data) 1849 63
Store 1854 1853
1855: 6(int) Load 8(invocation)
- 1856: 44(ptr) AccessChain 31(data) 63 34
- 1857: 23(fvec4) Load 1856
- 1858: 43(fvec2) VectorShuffle 1857 1857 0 1
- 1859: 17(ivec4) Load 19(ballot)
- 1860: 43(fvec2) GroupNonUniformFMul 178 PartitionedExclusiveScanNV 1858 1859
- 1861: 44(ptr) AccessChain 31(data) 1855 34
- 1862: 23(fvec4) Load 1861
- 1863: 23(fvec4) VectorShuffle 1862 1860 4 5 2 3
- Store 1861 1863
- 1864: 6(int) Load 8(invocation)
- 1865: 44(ptr) AccessChain 31(data) 33 34
- 1866: 23(fvec4) Load 1865
- 1867: 51(fvec3) VectorShuffle 1866 1866 0 1 2
- 1868: 17(ivec4) Load 19(ballot)
- 1869: 51(fvec3) GroupNonUniformFMul 178 PartitionedExclusiveScanNV 1867 1868
- 1870: 44(ptr) AccessChain 31(data) 1864 34
- 1871: 23(fvec4) Load 1870
- 1872: 23(fvec4) VectorShuffle 1871 1869 4 5 6 3
- Store 1870 1872
- 1873: 6(int) Load 8(invocation)
- 1874: 44(ptr) AccessChain 31(data) 115 34
- 1875: 23(fvec4) Load 1874
- 1876: 17(ivec4) Load 19(ballot)
- 1877: 23(fvec4) GroupNonUniformFMul 178 PartitionedExclusiveScanNV 1875 1876
- 1878: 44(ptr) AccessChain 31(data) 1873 34
- Store 1878 1877
- 1879: 6(int) Load 8(invocation)
- 1880: 64(ptr) AccessChain 31(data) 34 63 35
- 1881: 24(int) Load 1880
- 1882: 17(ivec4) Load 19(ballot)
- 1883: 24(int) GroupNonUniformIMul 178 PartitionedExclusiveScanNV 1881 1882
- 1884: 64(ptr) AccessChain 31(data) 1879 63 35
- Store 1884 1883
- 1885: 6(int) Load 8(invocation)
- 1886: 71(ptr) AccessChain 31(data) 63 63
- 1887: 25(ivec4) Load 1886
- 1888: 70(ivec2) VectorShuffle 1887 1887 0 1
- 1889: 17(ivec4) Load 19(ballot)
- 1890: 70(ivec2) GroupNonUniformIMul 178 PartitionedExclusiveScanNV 1888 1889
- 1891: 71(ptr) AccessChain 31(data) 1885 63
- 1892: 25(ivec4) Load 1891
- 1893: 25(ivec4) VectorShuffle 1892 1890 4 5 2 3
- Store 1891 1893
- 1894: 6(int) Load 8(invocation)
- 1895: 71(ptr) AccessChain 31(data) 33 63
- 1896: 25(ivec4) Load 1895
- 1897: 78(ivec3) VectorShuffle 1896 1896 0 1 2
- 1898: 17(ivec4) Load 19(ballot)
- 1899: 78(ivec3) GroupNonUniformIMul 178 PartitionedExclusiveScanNV 1897 1898
- 1900: 71(ptr) AccessChain 31(data) 1894 63
- 1901: 25(ivec4) Load 1900
- 1902: 25(ivec4) VectorShuffle 1901 1899 4 5 6 3
- Store 1900 1902
- 1903: 6(int) Load 8(invocation)
- 1904: 71(ptr) AccessChain 31(data) 115 63
- 1905: 25(ivec4) Load 1904
- 1906: 17(ivec4) Load 19(ballot)
- 1907: 25(ivec4) GroupNonUniformIMul 178 PartitionedExclusiveScanNV 1905 1906
- 1908: 71(ptr) AccessChain 31(data) 1903 63
- Store 1908 1907
+ 1856: 90(ptr) AccessChain 31(data) 34 33 35
+ 1857: 6(int) Load 1856
+ 1858: 17(ivec4) Load 19(ballot)
+ 1859: 6(int) GroupNonUniformBitwiseXor 178 PartitionedInclusiveScanNV 1857 1858
+ 1860: 90(ptr) AccessChain 31(data) 1855 33 35
+ Store 1860 1859
+ 1861: 6(int) Load 8(invocation)
+ 1862: 40(ptr) AccessChain 31(data) 63 33
+ 1863: 17(ivec4) Load 1862
+ 1864: 96(ivec2) VectorShuffle 1863 1863 0 1
+ 1865: 17(ivec4) Load 19(ballot)
+ 1866: 96(ivec2) GroupNonUniformBitwiseXor 178 PartitionedInclusiveScanNV 1864 1865
+ 1867: 90(ptr) AccessChain 31(data) 1861 33 35
+ 1868: 6(int) CompositeExtract 1866 0
+ Store 1867 1868
+ 1869: 90(ptr) AccessChain 31(data) 1861 33 189
+ 1870: 6(int) CompositeExtract 1866 1
+ Store 1869 1870
+ 1871: 6(int) Load 8(invocation)
+ 1872: 40(ptr) AccessChain 31(data) 33 33
+ 1873: 17(ivec4) Load 1872
+ 1874: 103(ivec3) VectorShuffle 1873 1873 0 1 2
+ 1875: 17(ivec4) Load 19(ballot)
+ 1876: 103(ivec3) GroupNonUniformBitwiseXor 178 PartitionedInclusiveScanNV 1874 1875
+ 1877: 90(ptr) AccessChain 31(data) 1871 33 35
+ 1878: 6(int) CompositeExtract 1876 0
+ Store 1877 1878
+ 1879: 90(ptr) AccessChain 31(data) 1871 33 189
+ 1880: 6(int) CompositeExtract 1876 1
+ Store 1879 1880
+ 1881: 90(ptr) AccessChain 31(data) 1871 33 202
+ 1882: 6(int) CompositeExtract 1876 2
+ Store 1881 1882
+ 1883: 6(int) Load 8(invocation)
+ 1884: 40(ptr) AccessChain 31(data) 115 33
+ 1885: 17(ivec4) Load 1884
+ 1886: 17(ivec4) Load 19(ballot)
+ 1887: 17(ivec4) GroupNonUniformBitwiseXor 178 PartitionedInclusiveScanNV 1885 1886
+ 1888: 40(ptr) AccessChain 31(data) 1883 33
+ Store 1888 1887
+ 1889: 6(int) Load 8(invocation)
+ 1890: 64(ptr) AccessChain 31(data) 34 63 35
+ 1891: 24(int) Load 1890
+ 1892: 144(bool) SLessThan 1891 34
+ 1893: 17(ivec4) Load 19(ballot)
+ 1894: 144(bool) GroupNonUniformLogicalXor 178 PartitionedInclusiveScanNV 1892 1893
+ 1895: 24(int) Select 1894 63 34
+ 1896: 64(ptr) AccessChain 31(data) 1889 63 35
+ Store 1896 1895
+ 1897: 6(int) Load 8(invocation)
+ 1898: 71(ptr) AccessChain 31(data) 63 63
+ 1899: 25(ivec4) Load 1898
+ 1900: 70(ivec2) VectorShuffle 1899 1899 0 1
+ 1901: 152(bvec2) SLessThan 1900 801
+ 1902: 17(ivec4) Load 19(ballot)
+ 1903: 152(bvec2) GroupNonUniformLogicalXor 178 PartitionedInclusiveScanNV 1901 1902
+ 1904: 70(ivec2) Select 1903 805 801
+ 1905: 64(ptr) AccessChain 31(data) 1897 63 35
+ 1906: 24(int) CompositeExtract 1904 0
+ Store 1905 1906
+ 1907: 64(ptr) AccessChain 31(data) 1897 63 189
+ 1908: 24(int) CompositeExtract 1904 1
+ Store 1907 1908
1909: 6(int) Load 8(invocation)
- 1910: 90(ptr) AccessChain 31(data) 34 33 35
- 1911: 6(int) Load 1910
- 1912: 17(ivec4) Load 19(ballot)
- 1913: 6(int) GroupNonUniformIMul 178 PartitionedExclusiveScanNV 1911 1912
- 1914: 90(ptr) AccessChain 31(data) 1909 33 35
- Store 1914 1913
- 1915: 6(int) Load 8(invocation)
- 1916: 40(ptr) AccessChain 31(data) 63 33
- 1917: 17(ivec4) Load 1916
- 1918: 96(ivec2) VectorShuffle 1917 1917 0 1
- 1919: 17(ivec4) Load 19(ballot)
- 1920: 96(ivec2) GroupNonUniformIMul 178 PartitionedExclusiveScanNV 1918 1919
- 1921: 40(ptr) AccessChain 31(data) 1915 33
- 1922: 17(ivec4) Load 1921
- 1923: 17(ivec4) VectorShuffle 1922 1920 4 5 2 3
- Store 1921 1923
- 1924: 6(int) Load 8(invocation)
- 1925: 40(ptr) AccessChain 31(data) 33 33
- 1926: 17(ivec4) Load 1925
- 1927: 103(ivec3) VectorShuffle 1926 1926 0 1 2
- 1928: 17(ivec4) Load 19(ballot)
- 1929: 103(ivec3) GroupNonUniformIMul 178 PartitionedExclusiveScanNV 1927 1928
- 1930: 40(ptr) AccessChain 31(data) 1924 33
- 1931: 17(ivec4) Load 1930
- 1932: 17(ivec4) VectorShuffle 1931 1929 4 5 6 3
- Store 1930 1932
- 1933: 6(int) Load 8(invocation)
- 1934: 40(ptr) AccessChain 31(data) 115 33
- 1935: 17(ivec4) Load 1934
- 1936: 17(ivec4) Load 19(ballot)
- 1937: 17(ivec4) GroupNonUniformIMul 178 PartitionedExclusiveScanNV 1935 1936
- 1938: 40(ptr) AccessChain 31(data) 1933 33
- Store 1938 1937
- 1939: 6(int) Load 8(invocation)
- 1940: 116(ptr) AccessChain 31(data) 34 115 35
- 1941:26(float64_t) Load 1940
- 1942: 17(ivec4) Load 19(ballot)
- 1943:26(float64_t) GroupNonUniformFMul 178 PartitionedExclusiveScanNV 1941 1942
- 1944: 116(ptr) AccessChain 31(data) 1939 115 35
- Store 1944 1943
- 1945: 6(int) Load 8(invocation)
- 1946: 123(ptr) AccessChain 31(data) 63 115
- 1947: 27(f64vec4) Load 1946
- 1948:122(f64vec2) VectorShuffle 1947 1947 0 1
- 1949: 17(ivec4) Load 19(ballot)
- 1950:122(f64vec2) GroupNonUniformFMul 178 PartitionedExclusiveScanNV 1948 1949
- 1951: 123(ptr) AccessChain 31(data) 1945 115
- 1952: 27(f64vec4) Load 1951
- 1953: 27(f64vec4) VectorShuffle 1952 1950 4 5 2 3
- Store 1951 1953
- 1954: 6(int) Load 8(invocation)
- 1955: 123(ptr) AccessChain 31(data) 33 115
- 1956: 27(f64vec4) Load 1955
- 1957:130(f64vec3) VectorShuffle 1956 1956 0 1 2
- 1958: 17(ivec4) Load 19(ballot)
- 1959:130(f64vec3) GroupNonUniformFMul 178 PartitionedExclusiveScanNV 1957 1958
- 1960: 123(ptr) AccessChain 31(data) 1954 115
- 1961: 27(f64vec4) Load 1960
- 1962: 27(f64vec4) VectorShuffle 1961 1959 4 5 6 3
- Store 1960 1962
- 1963: 6(int) Load 8(invocation)
- 1964: 123(ptr) AccessChain 31(data) 115 115
- 1965: 27(f64vec4) Load 1964
- 1966: 17(ivec4) Load 19(ballot)
- 1967: 27(f64vec4) GroupNonUniformFMul 178 PartitionedExclusiveScanNV 1965 1966
- 1968: 123(ptr) AccessChain 31(data) 1963 115
- Store 1968 1967
- 1969: 6(int) Load 8(invocation)
- 1970: 36(ptr) AccessChain 31(data) 34 34 35
- 1971: 22(float) Load 1970
- 1972: 17(ivec4) Load 19(ballot)
- 1973: 22(float) GroupNonUniformFMin 178 PartitionedExclusiveScanNV 1971 1972
- 1974: 36(ptr) AccessChain 31(data) 1969 34 35
- Store 1974 1973
- 1975: 6(int) Load 8(invocation)
- 1976: 44(ptr) AccessChain 31(data) 63 34
- 1977: 23(fvec4) Load 1976
- 1978: 43(fvec2) VectorShuffle 1977 1977 0 1
- 1979: 17(ivec4) Load 19(ballot)
- 1980: 43(fvec2) GroupNonUniformFMin 178 PartitionedExclusiveScanNV 1978 1979
- 1981: 44(ptr) AccessChain 31(data) 1975 34
- 1982: 23(fvec4) Load 1981
- 1983: 23(fvec4) VectorShuffle 1982 1980 4 5 2 3
- Store 1981 1983
- 1984: 6(int) Load 8(invocation)
- 1985: 44(ptr) AccessChain 31(data) 33 34
- 1986: 23(fvec4) Load 1985
- 1987: 51(fvec3) VectorShuffle 1986 1986 0 1 2
- 1988: 17(ivec4) Load 19(ballot)
- 1989: 51(fvec3) GroupNonUniformFMin 178 PartitionedExclusiveScanNV 1987 1988
- 1990: 44(ptr) AccessChain 31(data) 1984 34
- 1991: 23(fvec4) Load 1990
- 1992: 23(fvec4) VectorShuffle 1991 1989 4 5 6 3
- Store 1990 1992
+ 1910: 71(ptr) AccessChain 31(data) 63 63
+ 1911: 25(ivec4) Load 1910
+ 1912: 78(ivec3) VectorShuffle 1911 1911 0 1 2
+ 1913: 161(bvec3) SLessThan 1912 815
+ 1914: 17(ivec4) Load 19(ballot)
+ 1915: 161(bvec3) GroupNonUniformLogicalXor 178 PartitionedInclusiveScanNV 1913 1914
+ 1916: 78(ivec3) Select 1915 819 815
+ 1917: 64(ptr) AccessChain 31(data) 1909 63 35
+ 1918: 24(int) CompositeExtract 1916 0
+ Store 1917 1918
+ 1919: 64(ptr) AccessChain 31(data) 1909 63 189
+ 1920: 24(int) CompositeExtract 1916 1
+ Store 1919 1920
+ 1921: 64(ptr) AccessChain 31(data) 1909 63 202
+ 1922: 24(int) CompositeExtract 1916 2
+ Store 1921 1922
+ 1923: 6(int) Load 8(invocation)
+ 1924: 71(ptr) AccessChain 31(data) 63 63
+ 1925: 25(ivec4) Load 1924
+ 1926: 169(bvec4) SLessThan 1925 830
+ 1927: 17(ivec4) Load 19(ballot)
+ 1928: 169(bvec4) GroupNonUniformLogicalXor 178 PartitionedInclusiveScanNV 1926 1927
+ 1929: 25(ivec4) Select 1928 834 830
+ 1930: 71(ptr) AccessChain 31(data) 1923 63
+ Store 1930 1929
+ 1931: 6(int) Load 8(invocation)
+ 1932: 36(ptr) AccessChain 31(data) 34 34 35
+ 1933: 22(float) Load 1932
+ 1934: 17(ivec4) Load 19(ballot)
+ 1935: 22(float) GroupNonUniformFAdd 178 PartitionedExclusiveScanNV 1933 1934
+ 1936: 36(ptr) AccessChain 31(data) 1931 34 35
+ Store 1936 1935
+ 1937: 6(int) Load 8(invocation)
+ 1938: 44(ptr) AccessChain 31(data) 63 34
+ 1939: 23(fvec4) Load 1938
+ 1940: 43(fvec2) VectorShuffle 1939 1939 0 1
+ 1941: 17(ivec4) Load 19(ballot)
+ 1942: 43(fvec2) GroupNonUniformFAdd 178 PartitionedExclusiveScanNV 1940 1941
+ 1943: 36(ptr) AccessChain 31(data) 1937 34 35
+ 1944: 22(float) CompositeExtract 1942 0
+ Store 1943 1944
+ 1945: 36(ptr) AccessChain 31(data) 1937 34 189
+ 1946: 22(float) CompositeExtract 1942 1
+ Store 1945 1946
+ 1947: 6(int) Load 8(invocation)
+ 1948: 44(ptr) AccessChain 31(data) 33 34
+ 1949: 23(fvec4) Load 1948
+ 1950: 51(fvec3) VectorShuffle 1949 1949 0 1 2
+ 1951: 17(ivec4) Load 19(ballot)
+ 1952: 51(fvec3) GroupNonUniformFAdd 178 PartitionedExclusiveScanNV 1950 1951
+ 1953: 36(ptr) AccessChain 31(data) 1947 34 35
+ 1954: 22(float) CompositeExtract 1952 0
+ Store 1953 1954
+ 1955: 36(ptr) AccessChain 31(data) 1947 34 189
+ 1956: 22(float) CompositeExtract 1952 1
+ Store 1955 1956
+ 1957: 36(ptr) AccessChain 31(data) 1947 34 202
+ 1958: 22(float) CompositeExtract 1952 2
+ Store 1957 1958
+ 1959: 6(int) Load 8(invocation)
+ 1960: 44(ptr) AccessChain 31(data) 115 34
+ 1961: 23(fvec4) Load 1960
+ 1962: 17(ivec4) Load 19(ballot)
+ 1963: 23(fvec4) GroupNonUniformFAdd 178 PartitionedExclusiveScanNV 1961 1962
+ 1964: 44(ptr) AccessChain 31(data) 1959 34
+ Store 1964 1963
+ 1965: 6(int) Load 8(invocation)
+ 1966: 64(ptr) AccessChain 31(data) 34 63 35
+ 1967: 24(int) Load 1966
+ 1968: 17(ivec4) Load 19(ballot)
+ 1969: 24(int) GroupNonUniformIAdd 178 PartitionedExclusiveScanNV 1967 1968
+ 1970: 64(ptr) AccessChain 31(data) 1965 63 35
+ Store 1970 1969
+ 1971: 6(int) Load 8(invocation)
+ 1972: 71(ptr) AccessChain 31(data) 63 63
+ 1973: 25(ivec4) Load 1972
+ 1974: 70(ivec2) VectorShuffle 1973 1973 0 1
+ 1975: 17(ivec4) Load 19(ballot)
+ 1976: 70(ivec2) GroupNonUniformIAdd 178 PartitionedExclusiveScanNV 1974 1975
+ 1977: 64(ptr) AccessChain 31(data) 1971 63 35
+ 1978: 24(int) CompositeExtract 1976 0
+ Store 1977 1978
+ 1979: 64(ptr) AccessChain 31(data) 1971 63 189
+ 1980: 24(int) CompositeExtract 1976 1
+ Store 1979 1980
+ 1981: 6(int) Load 8(invocation)
+ 1982: 71(ptr) AccessChain 31(data) 33 63
+ 1983: 25(ivec4) Load 1982
+ 1984: 78(ivec3) VectorShuffle 1983 1983 0 1 2
+ 1985: 17(ivec4) Load 19(ballot)
+ 1986: 78(ivec3) GroupNonUniformIAdd 178 PartitionedExclusiveScanNV 1984 1985
+ 1987: 64(ptr) AccessChain 31(data) 1981 63 35
+ 1988: 24(int) CompositeExtract 1986 0
+ Store 1987 1988
+ 1989: 64(ptr) AccessChain 31(data) 1981 63 189
+ 1990: 24(int) CompositeExtract 1986 1
+ Store 1989 1990
+ 1991: 64(ptr) AccessChain 31(data) 1981 63 202
+ 1992: 24(int) CompositeExtract 1986 2
+ Store 1991 1992
1993: 6(int) Load 8(invocation)
- 1994: 44(ptr) AccessChain 31(data) 115 34
- 1995: 23(fvec4) Load 1994
+ 1994: 71(ptr) AccessChain 31(data) 115 63
+ 1995: 25(ivec4) Load 1994
1996: 17(ivec4) Load 19(ballot)
- 1997: 23(fvec4) GroupNonUniformFMin 178 PartitionedExclusiveScanNV 1995 1996
- 1998: 44(ptr) AccessChain 31(data) 1993 34
+ 1997: 25(ivec4) GroupNonUniformIAdd 178 PartitionedExclusiveScanNV 1995 1996
+ 1998: 71(ptr) AccessChain 31(data) 1993 63
Store 1998 1997
1999: 6(int) Load 8(invocation)
- 2000: 64(ptr) AccessChain 31(data) 34 63 35
- 2001: 24(int) Load 2000
+ 2000: 90(ptr) AccessChain 31(data) 34 33 35
+ 2001: 6(int) Load 2000
2002: 17(ivec4) Load 19(ballot)
- 2003: 24(int) GroupNonUniformSMin 178 PartitionedExclusiveScanNV 2001 2002
- 2004: 64(ptr) AccessChain 31(data) 1999 63 35
+ 2003: 6(int) GroupNonUniformIAdd 178 PartitionedExclusiveScanNV 2001 2002
+ 2004: 90(ptr) AccessChain 31(data) 1999 33 35
Store 2004 2003
2005: 6(int) Load 8(invocation)
- 2006: 71(ptr) AccessChain 31(data) 63 63
- 2007: 25(ivec4) Load 2006
- 2008: 70(ivec2) VectorShuffle 2007 2007 0 1
+ 2006: 40(ptr) AccessChain 31(data) 63 33
+ 2007: 17(ivec4) Load 2006
+ 2008: 96(ivec2) VectorShuffle 2007 2007 0 1
2009: 17(ivec4) Load 19(ballot)
- 2010: 70(ivec2) GroupNonUniformSMin 178 PartitionedExclusiveScanNV 2008 2009
- 2011: 71(ptr) AccessChain 31(data) 2005 63
- 2012: 25(ivec4) Load 2011
- 2013: 25(ivec4) VectorShuffle 2012 2010 4 5 2 3
- Store 2011 2013
- 2014: 6(int) Load 8(invocation)
- 2015: 71(ptr) AccessChain 31(data) 33 63
- 2016: 25(ivec4) Load 2015
- 2017: 78(ivec3) VectorShuffle 2016 2016 0 1 2
- 2018: 17(ivec4) Load 19(ballot)
- 2019: 78(ivec3) GroupNonUniformSMin 178 PartitionedExclusiveScanNV 2017 2018
- 2020: 71(ptr) AccessChain 31(data) 2014 63
- 2021: 25(ivec4) Load 2020
- 2022: 25(ivec4) VectorShuffle 2021 2019 4 5 6 3
- Store 2020 2022
- 2023: 6(int) Load 8(invocation)
- 2024: 71(ptr) AccessChain 31(data) 115 63
- 2025: 25(ivec4) Load 2024
- 2026: 17(ivec4) Load 19(ballot)
- 2027: 25(ivec4) GroupNonUniformSMin 178 PartitionedExclusiveScanNV 2025 2026
- 2028: 71(ptr) AccessChain 31(data) 2023 63
- Store 2028 2027
- 2029: 6(int) Load 8(invocation)
- 2030: 90(ptr) AccessChain 31(data) 34 33 35
- 2031: 6(int) Load 2030
- 2032: 17(ivec4) Load 19(ballot)
- 2033: 6(int) GroupNonUniformUMin 178 PartitionedExclusiveScanNV 2031 2032
- 2034: 90(ptr) AccessChain 31(data) 2029 33 35
- Store 2034 2033
- 2035: 6(int) Load 8(invocation)
- 2036: 40(ptr) AccessChain 31(data) 63 33
- 2037: 17(ivec4) Load 2036
- 2038: 96(ivec2) VectorShuffle 2037 2037 0 1
- 2039: 17(ivec4) Load 19(ballot)
- 2040: 96(ivec2) GroupNonUniformUMin 178 PartitionedExclusiveScanNV 2038 2039
- 2041: 40(ptr) AccessChain 31(data) 2035 33
- 2042: 17(ivec4) Load 2041
- 2043: 17(ivec4) VectorShuffle 2042 2040 4 5 2 3
- Store 2041 2043
- 2044: 6(int) Load 8(invocation)
- 2045: 40(ptr) AccessChain 31(data) 33 33
- 2046: 17(ivec4) Load 2045
- 2047: 103(ivec3) VectorShuffle 2046 2046 0 1 2
- 2048: 17(ivec4) Load 19(ballot)
- 2049: 103(ivec3) GroupNonUniformUMin 178 PartitionedExclusiveScanNV 2047 2048
- 2050: 40(ptr) AccessChain 31(data) 2044 33
- 2051: 17(ivec4) Load 2050
- 2052: 17(ivec4) VectorShuffle 2051 2049 4 5 6 3
- Store 2050 2052
- 2053: 6(int) Load 8(invocation)
- 2054: 40(ptr) AccessChain 31(data) 115 33
- 2055: 17(ivec4) Load 2054
- 2056: 17(ivec4) Load 19(ballot)
- 2057: 17(ivec4) GroupNonUniformUMin 178 PartitionedExclusiveScanNV 2055 2056
- 2058: 40(ptr) AccessChain 31(data) 2053 33
- Store 2058 2057
- 2059: 6(int) Load 8(invocation)
- 2060: 116(ptr) AccessChain 31(data) 34 115 35
- 2061:26(float64_t) Load 2060
- 2062: 17(ivec4) Load 19(ballot)
- 2063:26(float64_t) GroupNonUniformFMin 178 PartitionedExclusiveScanNV 2061 2062
- 2064: 116(ptr) AccessChain 31(data) 2059 115 35
- Store 2064 2063
- 2065: 6(int) Load 8(invocation)
- 2066: 123(ptr) AccessChain 31(data) 63 115
- 2067: 27(f64vec4) Load 2066
- 2068:122(f64vec2) VectorShuffle 2067 2067 0 1
- 2069: 17(ivec4) Load 19(ballot)
- 2070:122(f64vec2) GroupNonUniformFMin 178 PartitionedExclusiveScanNV 2068 2069
- 2071: 123(ptr) AccessChain 31(data) 2065 115
- 2072: 27(f64vec4) Load 2071
- 2073: 27(f64vec4) VectorShuffle 2072 2070 4 5 2 3
- Store 2071 2073
- 2074: 6(int) Load 8(invocation)
- 2075: 123(ptr) AccessChain 31(data) 33 115
- 2076: 27(f64vec4) Load 2075
- 2077:130(f64vec3) VectorShuffle 2076 2076 0 1 2
- 2078: 17(ivec4) Load 19(ballot)
- 2079:130(f64vec3) GroupNonUniformFMin 178 PartitionedExclusiveScanNV 2077 2078
- 2080: 123(ptr) AccessChain 31(data) 2074 115
- 2081: 27(f64vec4) Load 2080
- 2082: 27(f64vec4) VectorShuffle 2081 2079 4 5 6 3
- Store 2080 2082
+ 2010: 96(ivec2) GroupNonUniformIAdd 178 PartitionedExclusiveScanNV 2008 2009
+ 2011: 90(ptr) AccessChain 31(data) 2005 33 35
+ 2012: 6(int) CompositeExtract 2010 0
+ Store 2011 2012
+ 2013: 90(ptr) AccessChain 31(data) 2005 33 189
+ 2014: 6(int) CompositeExtract 2010 1
+ Store 2013 2014
+ 2015: 6(int) Load 8(invocation)
+ 2016: 40(ptr) AccessChain 31(data) 33 33
+ 2017: 17(ivec4) Load 2016
+ 2018: 103(ivec3) VectorShuffle 2017 2017 0 1 2
+ 2019: 17(ivec4) Load 19(ballot)
+ 2020: 103(ivec3) GroupNonUniformIAdd 178 PartitionedExclusiveScanNV 2018 2019
+ 2021: 90(ptr) AccessChain 31(data) 2015 33 35
+ 2022: 6(int) CompositeExtract 2020 0
+ Store 2021 2022
+ 2023: 90(ptr) AccessChain 31(data) 2015 33 189
+ 2024: 6(int) CompositeExtract 2020 1
+ Store 2023 2024
+ 2025: 90(ptr) AccessChain 31(data) 2015 33 202
+ 2026: 6(int) CompositeExtract 2020 2
+ Store 2025 2026
+ 2027: 6(int) Load 8(invocation)
+ 2028: 40(ptr) AccessChain 31(data) 115 33
+ 2029: 17(ivec4) Load 2028
+ 2030: 17(ivec4) Load 19(ballot)
+ 2031: 17(ivec4) GroupNonUniformIAdd 178 PartitionedExclusiveScanNV 2029 2030
+ 2032: 40(ptr) AccessChain 31(data) 2027 33
+ Store 2032 2031
+ 2033: 6(int) Load 8(invocation)
+ 2034: 116(ptr) AccessChain 31(data) 34 115 35
+ 2035:26(float64_t) Load 2034
+ 2036: 17(ivec4) Load 19(ballot)
+ 2037:26(float64_t) GroupNonUniformFAdd 178 PartitionedExclusiveScanNV 2035 2036
+ 2038: 116(ptr) AccessChain 31(data) 2033 115 35
+ Store 2038 2037
+ 2039: 6(int) Load 8(invocation)
+ 2040: 123(ptr) AccessChain 31(data) 63 115
+ 2041: 27(f64vec4) Load 2040
+ 2042:122(f64vec2) VectorShuffle 2041 2041 0 1
+ 2043: 17(ivec4) Load 19(ballot)
+ 2044:122(f64vec2) GroupNonUniformFAdd 178 PartitionedExclusiveScanNV 2042 2043
+ 2045: 116(ptr) AccessChain 31(data) 2039 115 35
+ 2046:26(float64_t) CompositeExtract 2044 0
+ Store 2045 2046
+ 2047: 116(ptr) AccessChain 31(data) 2039 115 189
+ 2048:26(float64_t) CompositeExtract 2044 1
+ Store 2047 2048
+ 2049: 6(int) Load 8(invocation)
+ 2050: 123(ptr) AccessChain 31(data) 33 115
+ 2051: 27(f64vec4) Load 2050
+ 2052:130(f64vec3) VectorShuffle 2051 2051 0 1 2
+ 2053: 17(ivec4) Load 19(ballot)
+ 2054:130(f64vec3) GroupNonUniformFAdd 178 PartitionedExclusiveScanNV 2052 2053
+ 2055: 116(ptr) AccessChain 31(data) 2049 115 35
+ 2056:26(float64_t) CompositeExtract 2054 0
+ Store 2055 2056
+ 2057: 116(ptr) AccessChain 31(data) 2049 115 189
+ 2058:26(float64_t) CompositeExtract 2054 1
+ Store 2057 2058
+ 2059: 116(ptr) AccessChain 31(data) 2049 115 202
+ 2060:26(float64_t) CompositeExtract 2054 2
+ Store 2059 2060
+ 2061: 6(int) Load 8(invocation)
+ 2062: 123(ptr) AccessChain 31(data) 115 115
+ 2063: 27(f64vec4) Load 2062
+ 2064: 17(ivec4) Load 19(ballot)
+ 2065: 27(f64vec4) GroupNonUniformFAdd 178 PartitionedExclusiveScanNV 2063 2064
+ 2066: 123(ptr) AccessChain 31(data) 2061 115
+ Store 2066 2065
+ 2067: 6(int) Load 8(invocation)
+ 2068: 36(ptr) AccessChain 31(data) 34 34 35
+ 2069: 22(float) Load 2068
+ 2070: 17(ivec4) Load 19(ballot)
+ 2071: 22(float) GroupNonUniformFMul 178 PartitionedExclusiveScanNV 2069 2070
+ 2072: 36(ptr) AccessChain 31(data) 2067 34 35
+ Store 2072 2071
+ 2073: 6(int) Load 8(invocation)
+ 2074: 44(ptr) AccessChain 31(data) 63 34
+ 2075: 23(fvec4) Load 2074
+ 2076: 43(fvec2) VectorShuffle 2075 2075 0 1
+ 2077: 17(ivec4) Load 19(ballot)
+ 2078: 43(fvec2) GroupNonUniformFMul 178 PartitionedExclusiveScanNV 2076 2077
+ 2079: 36(ptr) AccessChain 31(data) 2073 34 35
+ 2080: 22(float) CompositeExtract 2078 0
+ Store 2079 2080
+ 2081: 36(ptr) AccessChain 31(data) 2073 34 189
+ 2082: 22(float) CompositeExtract 2078 1
+ Store 2081 2082
2083: 6(int) Load 8(invocation)
- 2084: 123(ptr) AccessChain 31(data) 115 115
- 2085: 27(f64vec4) Load 2084
- 2086: 17(ivec4) Load 19(ballot)
- 2087: 27(f64vec4) GroupNonUniformFMin 178 PartitionedExclusiveScanNV 2085 2086
- 2088: 123(ptr) AccessChain 31(data) 2083 115
- Store 2088 2087
- 2089: 6(int) Load 8(invocation)
- 2090: 36(ptr) AccessChain 31(data) 34 34 35
- 2091: 22(float) Load 2090
- 2092: 17(ivec4) Load 19(ballot)
- 2093: 22(float) GroupNonUniformFMax 178 PartitionedExclusiveScanNV 2091 2092
- 2094: 36(ptr) AccessChain 31(data) 2089 34 35
- Store 2094 2093
+ 2084: 44(ptr) AccessChain 31(data) 33 34
+ 2085: 23(fvec4) Load 2084
+ 2086: 51(fvec3) VectorShuffle 2085 2085 0 1 2
+ 2087: 17(ivec4) Load 19(ballot)
+ 2088: 51(fvec3) GroupNonUniformFMul 178 PartitionedExclusiveScanNV 2086 2087
+ 2089: 36(ptr) AccessChain 31(data) 2083 34 35
+ 2090: 22(float) CompositeExtract 2088 0
+ Store 2089 2090
+ 2091: 36(ptr) AccessChain 31(data) 2083 34 189
+ 2092: 22(float) CompositeExtract 2088 1
+ Store 2091 2092
+ 2093: 36(ptr) AccessChain 31(data) 2083 34 202
+ 2094: 22(float) CompositeExtract 2088 2
+ Store 2093 2094
2095: 6(int) Load 8(invocation)
- 2096: 44(ptr) AccessChain 31(data) 63 34
+ 2096: 44(ptr) AccessChain 31(data) 115 34
2097: 23(fvec4) Load 2096
- 2098: 43(fvec2) VectorShuffle 2097 2097 0 1
- 2099: 17(ivec4) Load 19(ballot)
- 2100: 43(fvec2) GroupNonUniformFMax 178 PartitionedExclusiveScanNV 2098 2099
- 2101: 44(ptr) AccessChain 31(data) 2095 34
- 2102: 23(fvec4) Load 2101
- 2103: 23(fvec4) VectorShuffle 2102 2100 4 5 2 3
- Store 2101 2103
- 2104: 6(int) Load 8(invocation)
- 2105: 44(ptr) AccessChain 31(data) 33 34
- 2106: 23(fvec4) Load 2105
- 2107: 51(fvec3) VectorShuffle 2106 2106 0 1 2
- 2108: 17(ivec4) Load 19(ballot)
- 2109: 51(fvec3) GroupNonUniformFMax 178 PartitionedExclusiveScanNV 2107 2108
- 2110: 44(ptr) AccessChain 31(data) 2104 34
- 2111: 23(fvec4) Load 2110
- 2112: 23(fvec4) VectorShuffle 2111 2109 4 5 6 3
- Store 2110 2112
- 2113: 6(int) Load 8(invocation)
- 2114: 44(ptr) AccessChain 31(data) 115 34
- 2115: 23(fvec4) Load 2114
- 2116: 17(ivec4) Load 19(ballot)
- 2117: 23(fvec4) GroupNonUniformFMax 178 PartitionedExclusiveScanNV 2115 2116
- 2118: 44(ptr) AccessChain 31(data) 2113 34
- Store 2118 2117
- 2119: 6(int) Load 8(invocation)
- 2120: 64(ptr) AccessChain 31(data) 34 63 35
- 2121: 24(int) Load 2120
- 2122: 17(ivec4) Load 19(ballot)
- 2123: 24(int) GroupNonUniformSMax 178 PartitionedExclusiveScanNV 2121 2122
- 2124: 64(ptr) AccessChain 31(data) 2119 63 35
- Store 2124 2123
- 2125: 6(int) Load 8(invocation)
- 2126: 71(ptr) AccessChain 31(data) 63 63
- 2127: 25(ivec4) Load 2126
- 2128: 70(ivec2) VectorShuffle 2127 2127 0 1
- 2129: 17(ivec4) Load 19(ballot)
- 2130: 70(ivec2) GroupNonUniformSMax 178 PartitionedExclusiveScanNV 2128 2129
- 2131: 71(ptr) AccessChain 31(data) 2125 63
- 2132: 25(ivec4) Load 2131
- 2133: 25(ivec4) VectorShuffle 2132 2130 4 5 2 3
- Store 2131 2133
- 2134: 6(int) Load 8(invocation)
- 2135: 71(ptr) AccessChain 31(data) 33 63
- 2136: 25(ivec4) Load 2135
- 2137: 78(ivec3) VectorShuffle 2136 2136 0 1 2
+ 2098: 17(ivec4) Load 19(ballot)
+ 2099: 23(fvec4) GroupNonUniformFMul 178 PartitionedExclusiveScanNV 2097 2098
+ 2100: 44(ptr) AccessChain 31(data) 2095 34
+ Store 2100 2099
+ 2101: 6(int) Load 8(invocation)
+ 2102: 64(ptr) AccessChain 31(data) 34 63 35
+ 2103: 24(int) Load 2102
+ 2104: 17(ivec4) Load 19(ballot)
+ 2105: 24(int) GroupNonUniformIMul 178 PartitionedExclusiveScanNV 2103 2104
+ 2106: 64(ptr) AccessChain 31(data) 2101 63 35
+ Store 2106 2105
+ 2107: 6(int) Load 8(invocation)
+ 2108: 71(ptr) AccessChain 31(data) 63 63
+ 2109: 25(ivec4) Load 2108
+ 2110: 70(ivec2) VectorShuffle 2109 2109 0 1
+ 2111: 17(ivec4) Load 19(ballot)
+ 2112: 70(ivec2) GroupNonUniformIMul 178 PartitionedExclusiveScanNV 2110 2111
+ 2113: 64(ptr) AccessChain 31(data) 2107 63 35
+ 2114: 24(int) CompositeExtract 2112 0
+ Store 2113 2114
+ 2115: 64(ptr) AccessChain 31(data) 2107 63 189
+ 2116: 24(int) CompositeExtract 2112 1
+ Store 2115 2116
+ 2117: 6(int) Load 8(invocation)
+ 2118: 71(ptr) AccessChain 31(data) 33 63
+ 2119: 25(ivec4) Load 2118
+ 2120: 78(ivec3) VectorShuffle 2119 2119 0 1 2
+ 2121: 17(ivec4) Load 19(ballot)
+ 2122: 78(ivec3) GroupNonUniformIMul 178 PartitionedExclusiveScanNV 2120 2121
+ 2123: 64(ptr) AccessChain 31(data) 2117 63 35
+ 2124: 24(int) CompositeExtract 2122 0
+ Store 2123 2124
+ 2125: 64(ptr) AccessChain 31(data) 2117 63 189
+ 2126: 24(int) CompositeExtract 2122 1
+ Store 2125 2126
+ 2127: 64(ptr) AccessChain 31(data) 2117 63 202
+ 2128: 24(int) CompositeExtract 2122 2
+ Store 2127 2128
+ 2129: 6(int) Load 8(invocation)
+ 2130: 71(ptr) AccessChain 31(data) 115 63
+ 2131: 25(ivec4) Load 2130
+ 2132: 17(ivec4) Load 19(ballot)
+ 2133: 25(ivec4) GroupNonUniformIMul 178 PartitionedExclusiveScanNV 2131 2132
+ 2134: 71(ptr) AccessChain 31(data) 2129 63
+ Store 2134 2133
+ 2135: 6(int) Load 8(invocation)
+ 2136: 90(ptr) AccessChain 31(data) 34 33 35
+ 2137: 6(int) Load 2136
2138: 17(ivec4) Load 19(ballot)
- 2139: 78(ivec3) GroupNonUniformSMax 178 PartitionedExclusiveScanNV 2137 2138
- 2140: 71(ptr) AccessChain 31(data) 2134 63
- 2141: 25(ivec4) Load 2140
- 2142: 25(ivec4) VectorShuffle 2141 2139 4 5 6 3
- Store 2140 2142
- 2143: 6(int) Load 8(invocation)
- 2144: 71(ptr) AccessChain 31(data) 115 63
- 2145: 25(ivec4) Load 2144
- 2146: 17(ivec4) Load 19(ballot)
- 2147: 25(ivec4) GroupNonUniformSMax 178 PartitionedExclusiveScanNV 2145 2146
- 2148: 71(ptr) AccessChain 31(data) 2143 63
- Store 2148 2147
- 2149: 6(int) Load 8(invocation)
- 2150: 90(ptr) AccessChain 31(data) 34 33 35
- 2151: 6(int) Load 2150
- 2152: 17(ivec4) Load 19(ballot)
- 2153: 6(int) GroupNonUniformUMax 178 PartitionedExclusiveScanNV 2151 2152
- 2154: 90(ptr) AccessChain 31(data) 2149 33 35
- Store 2154 2153
- 2155: 6(int) Load 8(invocation)
- 2156: 40(ptr) AccessChain 31(data) 63 33
- 2157: 17(ivec4) Load 2156
- 2158: 96(ivec2) VectorShuffle 2157 2157 0 1
- 2159: 17(ivec4) Load 19(ballot)
- 2160: 96(ivec2) GroupNonUniformUMax 178 PartitionedExclusiveScanNV 2158 2159
- 2161: 40(ptr) AccessChain 31(data) 2155 33
- 2162: 17(ivec4) Load 2161
- 2163: 17(ivec4) VectorShuffle 2162 2160 4 5 2 3
- Store 2161 2163
- 2164: 6(int) Load 8(invocation)
- 2165: 40(ptr) AccessChain 31(data) 33 33
- 2166: 17(ivec4) Load 2165
- 2167: 103(ivec3) VectorShuffle 2166 2166 0 1 2
- 2168: 17(ivec4) Load 19(ballot)
- 2169: 103(ivec3) GroupNonUniformUMax 178 PartitionedExclusiveScanNV 2167 2168
- 2170: 40(ptr) AccessChain 31(data) 2164 33
- 2171: 17(ivec4) Load 2170
- 2172: 17(ivec4) VectorShuffle 2171 2169 4 5 6 3
- Store 2170 2172
- 2173: 6(int) Load 8(invocation)
- 2174: 40(ptr) AccessChain 31(data) 115 33
- 2175: 17(ivec4) Load 2174
- 2176: 17(ivec4) Load 19(ballot)
- 2177: 17(ivec4) GroupNonUniformUMax 178 PartitionedExclusiveScanNV 2175 2176
- 2178: 40(ptr) AccessChain 31(data) 2173 33
- Store 2178 2177
- 2179: 6(int) Load 8(invocation)
- 2180: 116(ptr) AccessChain 31(data) 34 115 35
- 2181:26(float64_t) Load 2180
- 2182: 17(ivec4) Load 19(ballot)
- 2183:26(float64_t) GroupNonUniformFMax 178 PartitionedExclusiveScanNV 2181 2182
- 2184: 116(ptr) AccessChain 31(data) 2179 115 35
- Store 2184 2183
+ 2139: 6(int) GroupNonUniformIMul 178 PartitionedExclusiveScanNV 2137 2138
+ 2140: 90(ptr) AccessChain 31(data) 2135 33 35
+ Store 2140 2139
+ 2141: 6(int) Load 8(invocation)
+ 2142: 40(ptr) AccessChain 31(data) 63 33
+ 2143: 17(ivec4) Load 2142
+ 2144: 96(ivec2) VectorShuffle 2143 2143 0 1
+ 2145: 17(ivec4) Load 19(ballot)
+ 2146: 96(ivec2) GroupNonUniformIMul 178 PartitionedExclusiveScanNV 2144 2145
+ 2147: 90(ptr) AccessChain 31(data) 2141 33 35
+ 2148: 6(int) CompositeExtract 2146 0
+ Store 2147 2148
+ 2149: 90(ptr) AccessChain 31(data) 2141 33 189
+ 2150: 6(int) CompositeExtract 2146 1
+ Store 2149 2150
+ 2151: 6(int) Load 8(invocation)
+ 2152: 40(ptr) AccessChain 31(data) 33 33
+ 2153: 17(ivec4) Load 2152
+ 2154: 103(ivec3) VectorShuffle 2153 2153 0 1 2
+ 2155: 17(ivec4) Load 19(ballot)
+ 2156: 103(ivec3) GroupNonUniformIMul 178 PartitionedExclusiveScanNV 2154 2155
+ 2157: 90(ptr) AccessChain 31(data) 2151 33 35
+ 2158: 6(int) CompositeExtract 2156 0
+ Store 2157 2158
+ 2159: 90(ptr) AccessChain 31(data) 2151 33 189
+ 2160: 6(int) CompositeExtract 2156 1
+ Store 2159 2160
+ 2161: 90(ptr) AccessChain 31(data) 2151 33 202
+ 2162: 6(int) CompositeExtract 2156 2
+ Store 2161 2162
+ 2163: 6(int) Load 8(invocation)
+ 2164: 40(ptr) AccessChain 31(data) 115 33
+ 2165: 17(ivec4) Load 2164
+ 2166: 17(ivec4) Load 19(ballot)
+ 2167: 17(ivec4) GroupNonUniformIMul 178 PartitionedExclusiveScanNV 2165 2166
+ 2168: 40(ptr) AccessChain 31(data) 2163 33
+ Store 2168 2167
+ 2169: 6(int) Load 8(invocation)
+ 2170: 116(ptr) AccessChain 31(data) 34 115 35
+ 2171:26(float64_t) Load 2170
+ 2172: 17(ivec4) Load 19(ballot)
+ 2173:26(float64_t) GroupNonUniformFMul 178 PartitionedExclusiveScanNV 2171 2172
+ 2174: 116(ptr) AccessChain 31(data) 2169 115 35
+ Store 2174 2173
+ 2175: 6(int) Load 8(invocation)
+ 2176: 123(ptr) AccessChain 31(data) 63 115
+ 2177: 27(f64vec4) Load 2176
+ 2178:122(f64vec2) VectorShuffle 2177 2177 0 1
+ 2179: 17(ivec4) Load 19(ballot)
+ 2180:122(f64vec2) GroupNonUniformFMul 178 PartitionedExclusiveScanNV 2178 2179
+ 2181: 116(ptr) AccessChain 31(data) 2175 115 35
+ 2182:26(float64_t) CompositeExtract 2180 0
+ Store 2181 2182
+ 2183: 116(ptr) AccessChain 31(data) 2175 115 189
+ 2184:26(float64_t) CompositeExtract 2180 1
+ Store 2183 2184
2185: 6(int) Load 8(invocation)
- 2186: 123(ptr) AccessChain 31(data) 63 115
+ 2186: 123(ptr) AccessChain 31(data) 33 115
2187: 27(f64vec4) Load 2186
- 2188:122(f64vec2) VectorShuffle 2187 2187 0 1
+ 2188:130(f64vec3) VectorShuffle 2187 2187 0 1 2
2189: 17(ivec4) Load 19(ballot)
- 2190:122(f64vec2) GroupNonUniformFMax 178 PartitionedExclusiveScanNV 2188 2189
- 2191: 123(ptr) AccessChain 31(data) 2185 115
- 2192: 27(f64vec4) Load 2191
- 2193: 27(f64vec4) VectorShuffle 2192 2190 4 5 2 3
- Store 2191 2193
- 2194: 6(int) Load 8(invocation)
- 2195: 123(ptr) AccessChain 31(data) 33 115
- 2196: 27(f64vec4) Load 2195
- 2197:130(f64vec3) VectorShuffle 2196 2196 0 1 2
- 2198: 17(ivec4) Load 19(ballot)
- 2199:130(f64vec3) GroupNonUniformFMax 178 PartitionedExclusiveScanNV 2197 2198
- 2200: 123(ptr) AccessChain 31(data) 2194 115
- 2201: 27(f64vec4) Load 2200
- 2202: 27(f64vec4) VectorShuffle 2201 2199 4 5 6 3
- Store 2200 2202
+ 2190:130(f64vec3) GroupNonUniformFMul 178 PartitionedExclusiveScanNV 2188 2189
+ 2191: 116(ptr) AccessChain 31(data) 2185 115 35
+ 2192:26(float64_t) CompositeExtract 2190 0
+ Store 2191 2192
+ 2193: 116(ptr) AccessChain 31(data) 2185 115 189
+ 2194:26(float64_t) CompositeExtract 2190 1
+ Store 2193 2194
+ 2195: 116(ptr) AccessChain 31(data) 2185 115 202
+ 2196:26(float64_t) CompositeExtract 2190 2
+ Store 2195 2196
+ 2197: 6(int) Load 8(invocation)
+ 2198: 123(ptr) AccessChain 31(data) 115 115
+ 2199: 27(f64vec4) Load 2198
+ 2200: 17(ivec4) Load 19(ballot)
+ 2201: 27(f64vec4) GroupNonUniformFMul 178 PartitionedExclusiveScanNV 2199 2200
+ 2202: 123(ptr) AccessChain 31(data) 2197 115
+ Store 2202 2201
2203: 6(int) Load 8(invocation)
- 2204: 123(ptr) AccessChain 31(data) 115 115
- 2205: 27(f64vec4) Load 2204
+ 2204: 36(ptr) AccessChain 31(data) 34 34 35
+ 2205: 22(float) Load 2204
2206: 17(ivec4) Load 19(ballot)
- 2207: 27(f64vec4) GroupNonUniformFMax 178 PartitionedExclusiveScanNV 2205 2206
- 2208: 123(ptr) AccessChain 31(data) 2203 115
+ 2207: 22(float) GroupNonUniformFMin 178 PartitionedExclusiveScanNV 2205 2206
+ 2208: 36(ptr) AccessChain 31(data) 2203 34 35
Store 2208 2207
2209: 6(int) Load 8(invocation)
- 2210: 64(ptr) AccessChain 31(data) 34 63 35
- 2211: 24(int) Load 2210
- 2212: 17(ivec4) Load 19(ballot)
- 2213: 24(int) GroupNonUniformBitwiseAnd 178 PartitionedExclusiveScanNV 2211 2212
- 2214: 64(ptr) AccessChain 31(data) 2209 63 35
- Store 2214 2213
- 2215: 6(int) Load 8(invocation)
- 2216: 71(ptr) AccessChain 31(data) 63 63
- 2217: 25(ivec4) Load 2216
- 2218: 70(ivec2) VectorShuffle 2217 2217 0 1
- 2219: 17(ivec4) Load 19(ballot)
- 2220: 70(ivec2) GroupNonUniformBitwiseAnd 178 PartitionedExclusiveScanNV 2218 2219
- 2221: 71(ptr) AccessChain 31(data) 2215 63
- 2222: 25(ivec4) Load 2221
- 2223: 25(ivec4) VectorShuffle 2222 2220 4 5 2 3
- Store 2221 2223
- 2224: 6(int) Load 8(invocation)
- 2225: 71(ptr) AccessChain 31(data) 33 63
- 2226: 25(ivec4) Load 2225
- 2227: 78(ivec3) VectorShuffle 2226 2226 0 1 2
- 2228: 17(ivec4) Load 19(ballot)
- 2229: 78(ivec3) GroupNonUniformBitwiseAnd 178 PartitionedExclusiveScanNV 2227 2228
- 2230: 71(ptr) AccessChain 31(data) 2224 63
- 2231: 25(ivec4) Load 2230
- 2232: 25(ivec4) VectorShuffle 2231 2229 4 5 6 3
- Store 2230 2232
- 2233: 6(int) Load 8(invocation)
- 2234: 71(ptr) AccessChain 31(data) 115 63
- 2235: 25(ivec4) Load 2234
- 2236: 17(ivec4) Load 19(ballot)
- 2237: 25(ivec4) GroupNonUniformBitwiseAnd 178 PartitionedExclusiveScanNV 2235 2236
- 2238: 71(ptr) AccessChain 31(data) 2233 63
- Store 2238 2237
- 2239: 6(int) Load 8(invocation)
- 2240: 90(ptr) AccessChain 31(data) 34 33 35
- 2241: 6(int) Load 2240
- 2242: 17(ivec4) Load 19(ballot)
- 2243: 6(int) GroupNonUniformBitwiseAnd 178 PartitionedExclusiveScanNV 2241 2242
- 2244: 90(ptr) AccessChain 31(data) 2239 33 35
- Store 2244 2243
- 2245: 6(int) Load 8(invocation)
- 2246: 40(ptr) AccessChain 31(data) 63 33
- 2247: 17(ivec4) Load 2246
- 2248: 96(ivec2) VectorShuffle 2247 2247 0 1
- 2249: 17(ivec4) Load 19(ballot)
- 2250: 96(ivec2) GroupNonUniformBitwiseAnd 178 PartitionedExclusiveScanNV 2248 2249
- 2251: 40(ptr) AccessChain 31(data) 2245 33
- 2252: 17(ivec4) Load 2251
- 2253: 17(ivec4) VectorShuffle 2252 2250 4 5 2 3
- Store 2251 2253
- 2254: 6(int) Load 8(invocation)
- 2255: 40(ptr) AccessChain 31(data) 33 33
- 2256: 17(ivec4) Load 2255
- 2257: 103(ivec3) VectorShuffle 2256 2256 0 1 2
- 2258: 17(ivec4) Load 19(ballot)
- 2259: 103(ivec3) GroupNonUniformBitwiseAnd 178 PartitionedExclusiveScanNV 2257 2258
- 2260: 40(ptr) AccessChain 31(data) 2254 33
- 2261: 17(ivec4) Load 2260
- 2262: 17(ivec4) VectorShuffle 2261 2259 4 5 6 3
- Store 2260 2262
- 2263: 6(int) Load 8(invocation)
- 2264: 40(ptr) AccessChain 31(data) 115 33
- 2265: 17(ivec4) Load 2264
- 2266: 17(ivec4) Load 19(ballot)
- 2267: 17(ivec4) GroupNonUniformBitwiseAnd 178 PartitionedExclusiveScanNV 2265 2266
- 2268: 40(ptr) AccessChain 31(data) 2263 33
- Store 2268 2267
- 2269: 6(int) Load 8(invocation)
- 2270: 64(ptr) AccessChain 31(data) 34 63 35
- 2271: 24(int) Load 2270
- 2272: 144(bool) SLessThan 2271 34
- 2273: 17(ivec4) Load 19(ballot)
- 2274: 144(bool) GroupNonUniformLogicalAnd 178 PartitionedExclusiveScanNV 2272 2273
- 2275: 24(int) Select 2274 63 34
- 2276: 64(ptr) AccessChain 31(data) 2269 63 35
+ 2210: 44(ptr) AccessChain 31(data) 63 34
+ 2211: 23(fvec4) Load 2210
+ 2212: 43(fvec2) VectorShuffle 2211 2211 0 1
+ 2213: 17(ivec4) Load 19(ballot)
+ 2214: 43(fvec2) GroupNonUniformFMin 178 PartitionedExclusiveScanNV 2212 2213
+ 2215: 36(ptr) AccessChain 31(data) 2209 34 35
+ 2216: 22(float) CompositeExtract 2214 0
+ Store 2215 2216
+ 2217: 36(ptr) AccessChain 31(data) 2209 34 189
+ 2218: 22(float) CompositeExtract 2214 1
+ Store 2217 2218
+ 2219: 6(int) Load 8(invocation)
+ 2220: 44(ptr) AccessChain 31(data) 33 34
+ 2221: 23(fvec4) Load 2220
+ 2222: 51(fvec3) VectorShuffle 2221 2221 0 1 2
+ 2223: 17(ivec4) Load 19(ballot)
+ 2224: 51(fvec3) GroupNonUniformFMin 178 PartitionedExclusiveScanNV 2222 2223
+ 2225: 36(ptr) AccessChain 31(data) 2219 34 35
+ 2226: 22(float) CompositeExtract 2224 0
+ Store 2225 2226
+ 2227: 36(ptr) AccessChain 31(data) 2219 34 189
+ 2228: 22(float) CompositeExtract 2224 1
+ Store 2227 2228
+ 2229: 36(ptr) AccessChain 31(data) 2219 34 202
+ 2230: 22(float) CompositeExtract 2224 2
+ Store 2229 2230
+ 2231: 6(int) Load 8(invocation)
+ 2232: 44(ptr) AccessChain 31(data) 115 34
+ 2233: 23(fvec4) Load 2232
+ 2234: 17(ivec4) Load 19(ballot)
+ 2235: 23(fvec4) GroupNonUniformFMin 178 PartitionedExclusiveScanNV 2233 2234
+ 2236: 44(ptr) AccessChain 31(data) 2231 34
+ Store 2236 2235
+ 2237: 6(int) Load 8(invocation)
+ 2238: 64(ptr) AccessChain 31(data) 34 63 35
+ 2239: 24(int) Load 2238
+ 2240: 17(ivec4) Load 19(ballot)
+ 2241: 24(int) GroupNonUniformSMin 178 PartitionedExclusiveScanNV 2239 2240
+ 2242: 64(ptr) AccessChain 31(data) 2237 63 35
+ Store 2242 2241
+ 2243: 6(int) Load 8(invocation)
+ 2244: 71(ptr) AccessChain 31(data) 63 63
+ 2245: 25(ivec4) Load 2244
+ 2246: 70(ivec2) VectorShuffle 2245 2245 0 1
+ 2247: 17(ivec4) Load 19(ballot)
+ 2248: 70(ivec2) GroupNonUniformSMin 178 PartitionedExclusiveScanNV 2246 2247
+ 2249: 64(ptr) AccessChain 31(data) 2243 63 35
+ 2250: 24(int) CompositeExtract 2248 0
+ Store 2249 2250
+ 2251: 64(ptr) AccessChain 31(data) 2243 63 189
+ 2252: 24(int) CompositeExtract 2248 1
+ Store 2251 2252
+ 2253: 6(int) Load 8(invocation)
+ 2254: 71(ptr) AccessChain 31(data) 33 63
+ 2255: 25(ivec4) Load 2254
+ 2256: 78(ivec3) VectorShuffle 2255 2255 0 1 2
+ 2257: 17(ivec4) Load 19(ballot)
+ 2258: 78(ivec3) GroupNonUniformSMin 178 PartitionedExclusiveScanNV 2256 2257
+ 2259: 64(ptr) AccessChain 31(data) 2253 63 35
+ 2260: 24(int) CompositeExtract 2258 0
+ Store 2259 2260
+ 2261: 64(ptr) AccessChain 31(data) 2253 63 189
+ 2262: 24(int) CompositeExtract 2258 1
+ Store 2261 2262
+ 2263: 64(ptr) AccessChain 31(data) 2253 63 202
+ 2264: 24(int) CompositeExtract 2258 2
+ Store 2263 2264
+ 2265: 6(int) Load 8(invocation)
+ 2266: 71(ptr) AccessChain 31(data) 115 63
+ 2267: 25(ivec4) Load 2266
+ 2268: 17(ivec4) Load 19(ballot)
+ 2269: 25(ivec4) GroupNonUniformSMin 178 PartitionedExclusiveScanNV 2267 2268
+ 2270: 71(ptr) AccessChain 31(data) 2265 63
+ Store 2270 2269
+ 2271: 6(int) Load 8(invocation)
+ 2272: 90(ptr) AccessChain 31(data) 34 33 35
+ 2273: 6(int) Load 2272
+ 2274: 17(ivec4) Load 19(ballot)
+ 2275: 6(int) GroupNonUniformUMin 178 PartitionedExclusiveScanNV 2273 2274
+ 2276: 90(ptr) AccessChain 31(data) 2271 33 35
Store 2276 2275
2277: 6(int) Load 8(invocation)
- 2278: 71(ptr) AccessChain 31(data) 63 63
- 2279: 25(ivec4) Load 2278
- 2280: 70(ivec2) VectorShuffle 2279 2279 0 1
- 2281: 152(bvec2) SLessThan 2280 727
- 2282: 17(ivec4) Load 19(ballot)
- 2283: 152(bvec2) GroupNonUniformLogicalAnd 178 PartitionedExclusiveScanNV 2281 2282
- 2284: 70(ivec2) Select 2283 731 727
- 2285: 71(ptr) AccessChain 31(data) 2277 63
- 2286: 25(ivec4) Load 2285
- 2287: 25(ivec4) VectorShuffle 2286 2284 4 5 2 3
- Store 2285 2287
- 2288: 6(int) Load 8(invocation)
- 2289: 71(ptr) AccessChain 31(data) 63 63
- 2290: 25(ivec4) Load 2289
- 2291: 78(ivec3) VectorShuffle 2290 2290 0 1 2
- 2292: 161(bvec3) SLessThan 2291 740
- 2293: 17(ivec4) Load 19(ballot)
- 2294: 161(bvec3) GroupNonUniformLogicalAnd 178 PartitionedExclusiveScanNV 2292 2293
- 2295: 78(ivec3) Select 2294 744 740
- 2296: 71(ptr) AccessChain 31(data) 2288 63
- 2297: 25(ivec4) Load 2296
- 2298: 25(ivec4) VectorShuffle 2297 2295 4 5 6 3
- Store 2296 2298
+ 2278: 40(ptr) AccessChain 31(data) 63 33
+ 2279: 17(ivec4) Load 2278
+ 2280: 96(ivec2) VectorShuffle 2279 2279 0 1
+ 2281: 17(ivec4) Load 19(ballot)
+ 2282: 96(ivec2) GroupNonUniformUMin 178 PartitionedExclusiveScanNV 2280 2281
+ 2283: 90(ptr) AccessChain 31(data) 2277 33 35
+ 2284: 6(int) CompositeExtract 2282 0
+ Store 2283 2284
+ 2285: 90(ptr) AccessChain 31(data) 2277 33 189
+ 2286: 6(int) CompositeExtract 2282 1
+ Store 2285 2286
+ 2287: 6(int) Load 8(invocation)
+ 2288: 40(ptr) AccessChain 31(data) 33 33
+ 2289: 17(ivec4) Load 2288
+ 2290: 103(ivec3) VectorShuffle 2289 2289 0 1 2
+ 2291: 17(ivec4) Load 19(ballot)
+ 2292: 103(ivec3) GroupNonUniformUMin 178 PartitionedExclusiveScanNV 2290 2291
+ 2293: 90(ptr) AccessChain 31(data) 2287 33 35
+ 2294: 6(int) CompositeExtract 2292 0
+ Store 2293 2294
+ 2295: 90(ptr) AccessChain 31(data) 2287 33 189
+ 2296: 6(int) CompositeExtract 2292 1
+ Store 2295 2296
+ 2297: 90(ptr) AccessChain 31(data) 2287 33 202
+ 2298: 6(int) CompositeExtract 2292 2
+ Store 2297 2298
2299: 6(int) Load 8(invocation)
- 2300: 71(ptr) AccessChain 31(data) 63 63
- 2301: 25(ivec4) Load 2300
- 2302: 169(bvec4) SLessThan 2301 752
- 2303: 17(ivec4) Load 19(ballot)
- 2304: 169(bvec4) GroupNonUniformLogicalAnd 178 PartitionedExclusiveScanNV 2302 2303
- 2305: 25(ivec4) Select 2304 756 752
- 2306: 71(ptr) AccessChain 31(data) 2299 63
- Store 2306 2305
- 2307: 6(int) Load 8(invocation)
- 2308: 64(ptr) AccessChain 31(data) 34 63 35
- 2309: 24(int) Load 2308
- 2310: 17(ivec4) Load 19(ballot)
- 2311: 24(int) GroupNonUniformBitwiseOr 178 PartitionedExclusiveScanNV 2309 2310
- 2312: 64(ptr) AccessChain 31(data) 2307 63 35
- Store 2312 2311
- 2313: 6(int) Load 8(invocation)
- 2314: 71(ptr) AccessChain 31(data) 63 63
- 2315: 25(ivec4) Load 2314
- 2316: 70(ivec2) VectorShuffle 2315 2315 0 1
- 2317: 17(ivec4) Load 19(ballot)
- 2318: 70(ivec2) GroupNonUniformBitwiseOr 178 PartitionedExclusiveScanNV 2316 2317
- 2319: 71(ptr) AccessChain 31(data) 2313 63
- 2320: 25(ivec4) Load 2319
- 2321: 25(ivec4) VectorShuffle 2320 2318 4 5 2 3
- Store 2319 2321
- 2322: 6(int) Load 8(invocation)
- 2323: 71(ptr) AccessChain 31(data) 33 63
- 2324: 25(ivec4) Load 2323
- 2325: 78(ivec3) VectorShuffle 2324 2324 0 1 2
- 2326: 17(ivec4) Load 19(ballot)
- 2327: 78(ivec3) GroupNonUniformBitwiseOr 178 PartitionedExclusiveScanNV 2325 2326
- 2328: 71(ptr) AccessChain 31(data) 2322 63
- 2329: 25(ivec4) Load 2328
- 2330: 25(ivec4) VectorShuffle 2329 2327 4 5 6 3
- Store 2328 2330
- 2331: 6(int) Load 8(invocation)
- 2332: 71(ptr) AccessChain 31(data) 115 63
- 2333: 25(ivec4) Load 2332
- 2334: 17(ivec4) Load 19(ballot)
- 2335: 25(ivec4) GroupNonUniformBitwiseOr 178 PartitionedExclusiveScanNV 2333 2334
- 2336: 71(ptr) AccessChain 31(data) 2331 63
- Store 2336 2335
- 2337: 6(int) Load 8(invocation)
- 2338: 90(ptr) AccessChain 31(data) 34 33 35
- 2339: 6(int) Load 2338
- 2340: 17(ivec4) Load 19(ballot)
- 2341: 6(int) GroupNonUniformBitwiseOr 178 PartitionedExclusiveScanNV 2339 2340
- 2342: 90(ptr) AccessChain 31(data) 2337 33 35
- Store 2342 2341
- 2343: 6(int) Load 8(invocation)
- 2344: 40(ptr) AccessChain 31(data) 63 33
- 2345: 17(ivec4) Load 2344
- 2346: 96(ivec2) VectorShuffle 2345 2345 0 1
- 2347: 17(ivec4) Load 19(ballot)
- 2348: 96(ivec2) GroupNonUniformBitwiseOr 178 PartitionedExclusiveScanNV 2346 2347
- 2349: 40(ptr) AccessChain 31(data) 2343 33
- 2350: 17(ivec4) Load 2349
- 2351: 17(ivec4) VectorShuffle 2350 2348 4 5 2 3
- Store 2349 2351
- 2352: 6(int) Load 8(invocation)
- 2353: 40(ptr) AccessChain 31(data) 33 33
- 2354: 17(ivec4) Load 2353
- 2355: 103(ivec3) VectorShuffle 2354 2354 0 1 2
- 2356: 17(ivec4) Load 19(ballot)
- 2357: 103(ivec3) GroupNonUniformBitwiseOr 178 PartitionedExclusiveScanNV 2355 2356
- 2358: 40(ptr) AccessChain 31(data) 2352 33
- 2359: 17(ivec4) Load 2358
- 2360: 17(ivec4) VectorShuffle 2359 2357 4 5 6 3
- Store 2358 2360
- 2361: 6(int) Load 8(invocation)
- 2362: 40(ptr) AccessChain 31(data) 115 33
- 2363: 17(ivec4) Load 2362
- 2364: 17(ivec4) Load 19(ballot)
- 2365: 17(ivec4) GroupNonUniformBitwiseOr 178 PartitionedExclusiveScanNV 2363 2364
- 2366: 40(ptr) AccessChain 31(data) 2361 33
- Store 2366 2365
+ 2300: 40(ptr) AccessChain 31(data) 115 33
+ 2301: 17(ivec4) Load 2300
+ 2302: 17(ivec4) Load 19(ballot)
+ 2303: 17(ivec4) GroupNonUniformUMin 178 PartitionedExclusiveScanNV 2301 2302
+ 2304: 40(ptr) AccessChain 31(data) 2299 33
+ Store 2304 2303
+ 2305: 6(int) Load 8(invocation)
+ 2306: 116(ptr) AccessChain 31(data) 34 115 35
+ 2307:26(float64_t) Load 2306
+ 2308: 17(ivec4) Load 19(ballot)
+ 2309:26(float64_t) GroupNonUniformFMin 178 PartitionedExclusiveScanNV 2307 2308
+ 2310: 116(ptr) AccessChain 31(data) 2305 115 35
+ Store 2310 2309
+ 2311: 6(int) Load 8(invocation)
+ 2312: 123(ptr) AccessChain 31(data) 63 115
+ 2313: 27(f64vec4) Load 2312
+ 2314:122(f64vec2) VectorShuffle 2313 2313 0 1
+ 2315: 17(ivec4) Load 19(ballot)
+ 2316:122(f64vec2) GroupNonUniformFMin 178 PartitionedExclusiveScanNV 2314 2315
+ 2317: 116(ptr) AccessChain 31(data) 2311 115 35
+ 2318:26(float64_t) CompositeExtract 2316 0
+ Store 2317 2318
+ 2319: 116(ptr) AccessChain 31(data) 2311 115 189
+ 2320:26(float64_t) CompositeExtract 2316 1
+ Store 2319 2320
+ 2321: 6(int) Load 8(invocation)
+ 2322: 123(ptr) AccessChain 31(data) 33 115
+ 2323: 27(f64vec4) Load 2322
+ 2324:130(f64vec3) VectorShuffle 2323 2323 0 1 2
+ 2325: 17(ivec4) Load 19(ballot)
+ 2326:130(f64vec3) GroupNonUniformFMin 178 PartitionedExclusiveScanNV 2324 2325
+ 2327: 116(ptr) AccessChain 31(data) 2321 115 35
+ 2328:26(float64_t) CompositeExtract 2326 0
+ Store 2327 2328
+ 2329: 116(ptr) AccessChain 31(data) 2321 115 189
+ 2330:26(float64_t) CompositeExtract 2326 1
+ Store 2329 2330
+ 2331: 116(ptr) AccessChain 31(data) 2321 115 202
+ 2332:26(float64_t) CompositeExtract 2326 2
+ Store 2331 2332
+ 2333: 6(int) Load 8(invocation)
+ 2334: 123(ptr) AccessChain 31(data) 115 115
+ 2335: 27(f64vec4) Load 2334
+ 2336: 17(ivec4) Load 19(ballot)
+ 2337: 27(f64vec4) GroupNonUniformFMin 178 PartitionedExclusiveScanNV 2335 2336
+ 2338: 123(ptr) AccessChain 31(data) 2333 115
+ Store 2338 2337
+ 2339: 6(int) Load 8(invocation)
+ 2340: 36(ptr) AccessChain 31(data) 34 34 35
+ 2341: 22(float) Load 2340
+ 2342: 17(ivec4) Load 19(ballot)
+ 2343: 22(float) GroupNonUniformFMax 178 PartitionedExclusiveScanNV 2341 2342
+ 2344: 36(ptr) AccessChain 31(data) 2339 34 35
+ Store 2344 2343
+ 2345: 6(int) Load 8(invocation)
+ 2346: 44(ptr) AccessChain 31(data) 63 34
+ 2347: 23(fvec4) Load 2346
+ 2348: 43(fvec2) VectorShuffle 2347 2347 0 1
+ 2349: 17(ivec4) Load 19(ballot)
+ 2350: 43(fvec2) GroupNonUniformFMax 178 PartitionedExclusiveScanNV 2348 2349
+ 2351: 36(ptr) AccessChain 31(data) 2345 34 35
+ 2352: 22(float) CompositeExtract 2350 0
+ Store 2351 2352
+ 2353: 36(ptr) AccessChain 31(data) 2345 34 189
+ 2354: 22(float) CompositeExtract 2350 1
+ Store 2353 2354
+ 2355: 6(int) Load 8(invocation)
+ 2356: 44(ptr) AccessChain 31(data) 33 34
+ 2357: 23(fvec4) Load 2356
+ 2358: 51(fvec3) VectorShuffle 2357 2357 0 1 2
+ 2359: 17(ivec4) Load 19(ballot)
+ 2360: 51(fvec3) GroupNonUniformFMax 178 PartitionedExclusiveScanNV 2358 2359
+ 2361: 36(ptr) AccessChain 31(data) 2355 34 35
+ 2362: 22(float) CompositeExtract 2360 0
+ Store 2361 2362
+ 2363: 36(ptr) AccessChain 31(data) 2355 34 189
+ 2364: 22(float) CompositeExtract 2360 1
+ Store 2363 2364
+ 2365: 36(ptr) AccessChain 31(data) 2355 34 202
+ 2366: 22(float) CompositeExtract 2360 2
+ Store 2365 2366
2367: 6(int) Load 8(invocation)
- 2368: 64(ptr) AccessChain 31(data) 34 63 35
- 2369: 24(int) Load 2368
- 2370: 144(bool) SLessThan 2369 34
- 2371: 17(ivec4) Load 19(ballot)
- 2372: 144(bool) GroupNonUniformLogicalOr 178 PartitionedExclusiveScanNV 2370 2371
- 2373: 24(int) Select 2372 63 34
- 2374: 64(ptr) AccessChain 31(data) 2367 63 35
- Store 2374 2373
- 2375: 6(int) Load 8(invocation)
- 2376: 71(ptr) AccessChain 31(data) 63 63
- 2377: 25(ivec4) Load 2376
- 2378: 70(ivec2) VectorShuffle 2377 2377 0 1
- 2379: 152(bvec2) SLessThan 2378 727
- 2380: 17(ivec4) Load 19(ballot)
- 2381: 152(bvec2) GroupNonUniformLogicalOr 178 PartitionedExclusiveScanNV 2379 2380
- 2382: 70(ivec2) Select 2381 731 727
- 2383: 71(ptr) AccessChain 31(data) 2375 63
- 2384: 25(ivec4) Load 2383
- 2385: 25(ivec4) VectorShuffle 2384 2382 4 5 2 3
- Store 2383 2385
- 2386: 6(int) Load 8(invocation)
- 2387: 71(ptr) AccessChain 31(data) 63 63
- 2388: 25(ivec4) Load 2387
- 2389: 78(ivec3) VectorShuffle 2388 2388 0 1 2
- 2390: 161(bvec3) SLessThan 2389 740
- 2391: 17(ivec4) Load 19(ballot)
- 2392: 161(bvec3) GroupNonUniformLogicalOr 178 PartitionedExclusiveScanNV 2390 2391
- 2393: 78(ivec3) Select 2392 744 740
- 2394: 71(ptr) AccessChain 31(data) 2386 63
- 2395: 25(ivec4) Load 2394
- 2396: 25(ivec4) VectorShuffle 2395 2393 4 5 6 3
- Store 2394 2396
- 2397: 6(int) Load 8(invocation)
- 2398: 71(ptr) AccessChain 31(data) 63 63
- 2399: 25(ivec4) Load 2398
- 2400: 169(bvec4) SLessThan 2399 752
- 2401: 17(ivec4) Load 19(ballot)
- 2402: 169(bvec4) GroupNonUniformLogicalOr 178 PartitionedExclusiveScanNV 2400 2401
- 2403: 25(ivec4) Select 2402 756 752
- 2404: 71(ptr) AccessChain 31(data) 2397 63
- Store 2404 2403
- 2405: 6(int) Load 8(invocation)
- 2406: 64(ptr) AccessChain 31(data) 34 63 35
- 2407: 24(int) Load 2406
- 2408: 17(ivec4) Load 19(ballot)
- 2409: 24(int) GroupNonUniformBitwiseXor 178 PartitionedExclusiveScanNV 2407 2408
- 2410: 64(ptr) AccessChain 31(data) 2405 63 35
- Store 2410 2409
- 2411: 6(int) Load 8(invocation)
- 2412: 71(ptr) AccessChain 31(data) 63 63
- 2413: 25(ivec4) Load 2412
- 2414: 70(ivec2) VectorShuffle 2413 2413 0 1
- 2415: 17(ivec4) Load 19(ballot)
- 2416: 70(ivec2) GroupNonUniformBitwiseXor 178 PartitionedExclusiveScanNV 2414 2415
- 2417: 71(ptr) AccessChain 31(data) 2411 63
- 2418: 25(ivec4) Load 2417
- 2419: 25(ivec4) VectorShuffle 2418 2416 4 5 2 3
- Store 2417 2419
- 2420: 6(int) Load 8(invocation)
- 2421: 71(ptr) AccessChain 31(data) 33 63
- 2422: 25(ivec4) Load 2421
- 2423: 78(ivec3) VectorShuffle 2422 2422 0 1 2
- 2424: 17(ivec4) Load 19(ballot)
- 2425: 78(ivec3) GroupNonUniformBitwiseXor 178 PartitionedExclusiveScanNV 2423 2424
- 2426: 71(ptr) AccessChain 31(data) 2420 63
- 2427: 25(ivec4) Load 2426
- 2428: 25(ivec4) VectorShuffle 2427 2425 4 5 6 3
- Store 2426 2428
- 2429: 6(int) Load 8(invocation)
- 2430: 71(ptr) AccessChain 31(data) 115 63
- 2431: 25(ivec4) Load 2430
- 2432: 17(ivec4) Load 19(ballot)
- 2433: 25(ivec4) GroupNonUniformBitwiseXor 178 PartitionedExclusiveScanNV 2431 2432
- 2434: 71(ptr) AccessChain 31(data) 2429 63
- Store 2434 2433
+ 2368: 44(ptr) AccessChain 31(data) 115 34
+ 2369: 23(fvec4) Load 2368
+ 2370: 17(ivec4) Load 19(ballot)
+ 2371: 23(fvec4) GroupNonUniformFMax 178 PartitionedExclusiveScanNV 2369 2370
+ 2372: 44(ptr) AccessChain 31(data) 2367 34
+ Store 2372 2371
+ 2373: 6(int) Load 8(invocation)
+ 2374: 64(ptr) AccessChain 31(data) 34 63 35
+ 2375: 24(int) Load 2374
+ 2376: 17(ivec4) Load 19(ballot)
+ 2377: 24(int) GroupNonUniformSMax 178 PartitionedExclusiveScanNV 2375 2376
+ 2378: 64(ptr) AccessChain 31(data) 2373 63 35
+ Store 2378 2377
+ 2379: 6(int) Load 8(invocation)
+ 2380: 71(ptr) AccessChain 31(data) 63 63
+ 2381: 25(ivec4) Load 2380
+ 2382: 70(ivec2) VectorShuffle 2381 2381 0 1
+ 2383: 17(ivec4) Load 19(ballot)
+ 2384: 70(ivec2) GroupNonUniformSMax 178 PartitionedExclusiveScanNV 2382 2383
+ 2385: 64(ptr) AccessChain 31(data) 2379 63 35
+ 2386: 24(int) CompositeExtract 2384 0
+ Store 2385 2386
+ 2387: 64(ptr) AccessChain 31(data) 2379 63 189
+ 2388: 24(int) CompositeExtract 2384 1
+ Store 2387 2388
+ 2389: 6(int) Load 8(invocation)
+ 2390: 71(ptr) AccessChain 31(data) 33 63
+ 2391: 25(ivec4) Load 2390
+ 2392: 78(ivec3) VectorShuffle 2391 2391 0 1 2
+ 2393: 17(ivec4) Load 19(ballot)
+ 2394: 78(ivec3) GroupNonUniformSMax 178 PartitionedExclusiveScanNV 2392 2393
+ 2395: 64(ptr) AccessChain 31(data) 2389 63 35
+ 2396: 24(int) CompositeExtract 2394 0
+ Store 2395 2396
+ 2397: 64(ptr) AccessChain 31(data) 2389 63 189
+ 2398: 24(int) CompositeExtract 2394 1
+ Store 2397 2398
+ 2399: 64(ptr) AccessChain 31(data) 2389 63 202
+ 2400: 24(int) CompositeExtract 2394 2
+ Store 2399 2400
+ 2401: 6(int) Load 8(invocation)
+ 2402: 71(ptr) AccessChain 31(data) 115 63
+ 2403: 25(ivec4) Load 2402
+ 2404: 17(ivec4) Load 19(ballot)
+ 2405: 25(ivec4) GroupNonUniformSMax 178 PartitionedExclusiveScanNV 2403 2404
+ 2406: 71(ptr) AccessChain 31(data) 2401 63
+ Store 2406 2405
+ 2407: 6(int) Load 8(invocation)
+ 2408: 90(ptr) AccessChain 31(data) 34 33 35
+ 2409: 6(int) Load 2408
+ 2410: 17(ivec4) Load 19(ballot)
+ 2411: 6(int) GroupNonUniformUMax 178 PartitionedExclusiveScanNV 2409 2410
+ 2412: 90(ptr) AccessChain 31(data) 2407 33 35
+ Store 2412 2411
+ 2413: 6(int) Load 8(invocation)
+ 2414: 40(ptr) AccessChain 31(data) 63 33
+ 2415: 17(ivec4) Load 2414
+ 2416: 96(ivec2) VectorShuffle 2415 2415 0 1
+ 2417: 17(ivec4) Load 19(ballot)
+ 2418: 96(ivec2) GroupNonUniformUMax 178 PartitionedExclusiveScanNV 2416 2417
+ 2419: 90(ptr) AccessChain 31(data) 2413 33 35
+ 2420: 6(int) CompositeExtract 2418 0
+ Store 2419 2420
+ 2421: 90(ptr) AccessChain 31(data) 2413 33 189
+ 2422: 6(int) CompositeExtract 2418 1
+ Store 2421 2422
+ 2423: 6(int) Load 8(invocation)
+ 2424: 40(ptr) AccessChain 31(data) 33 33
+ 2425: 17(ivec4) Load 2424
+ 2426: 103(ivec3) VectorShuffle 2425 2425 0 1 2
+ 2427: 17(ivec4) Load 19(ballot)
+ 2428: 103(ivec3) GroupNonUniformUMax 178 PartitionedExclusiveScanNV 2426 2427
+ 2429: 90(ptr) AccessChain 31(data) 2423 33 35
+ 2430: 6(int) CompositeExtract 2428 0
+ Store 2429 2430
+ 2431: 90(ptr) AccessChain 31(data) 2423 33 189
+ 2432: 6(int) CompositeExtract 2428 1
+ Store 2431 2432
+ 2433: 90(ptr) AccessChain 31(data) 2423 33 202
+ 2434: 6(int) CompositeExtract 2428 2
+ Store 2433 2434
2435: 6(int) Load 8(invocation)
- 2436: 90(ptr) AccessChain 31(data) 34 33 35
- 2437: 6(int) Load 2436
+ 2436: 40(ptr) AccessChain 31(data) 115 33
+ 2437: 17(ivec4) Load 2436
2438: 17(ivec4) Load 19(ballot)
- 2439: 6(int) GroupNonUniformBitwiseXor 178 PartitionedExclusiveScanNV 2437 2438
- 2440: 90(ptr) AccessChain 31(data) 2435 33 35
+ 2439: 17(ivec4) GroupNonUniformUMax 178 PartitionedExclusiveScanNV 2437 2438
+ 2440: 40(ptr) AccessChain 31(data) 2435 33
Store 2440 2439
2441: 6(int) Load 8(invocation)
- 2442: 40(ptr) AccessChain 31(data) 63 33
- 2443: 17(ivec4) Load 2442
- 2444: 96(ivec2) VectorShuffle 2443 2443 0 1
- 2445: 17(ivec4) Load 19(ballot)
- 2446: 96(ivec2) GroupNonUniformBitwiseXor 178 PartitionedExclusiveScanNV 2444 2445
- 2447: 40(ptr) AccessChain 31(data) 2441 33
- 2448: 17(ivec4) Load 2447
- 2449: 17(ivec4) VectorShuffle 2448 2446 4 5 2 3
- Store 2447 2449
- 2450: 6(int) Load 8(invocation)
- 2451: 40(ptr) AccessChain 31(data) 33 33
- 2452: 17(ivec4) Load 2451
- 2453: 103(ivec3) VectorShuffle 2452 2452 0 1 2
- 2454: 17(ivec4) Load 19(ballot)
- 2455: 103(ivec3) GroupNonUniformBitwiseXor 178 PartitionedExclusiveScanNV 2453 2454
- 2456: 40(ptr) AccessChain 31(data) 2450 33
- 2457: 17(ivec4) Load 2456
- 2458: 17(ivec4) VectorShuffle 2457 2455 4 5 6 3
- Store 2456 2458
- 2459: 6(int) Load 8(invocation)
- 2460: 40(ptr) AccessChain 31(data) 115 33
- 2461: 17(ivec4) Load 2460
- 2462: 17(ivec4) Load 19(ballot)
- 2463: 17(ivec4) GroupNonUniformBitwiseXor 178 PartitionedExclusiveScanNV 2461 2462
- 2464: 40(ptr) AccessChain 31(data) 2459 33
- Store 2464 2463
- 2465: 6(int) Load 8(invocation)
- 2466: 64(ptr) AccessChain 31(data) 34 63 35
- 2467: 24(int) Load 2466
- 2468: 144(bool) SLessThan 2467 34
- 2469: 17(ivec4) Load 19(ballot)
- 2470: 144(bool) GroupNonUniformLogicalXor 178 PartitionedExclusiveScanNV 2468 2469
- 2471: 24(int) Select 2470 63 34
- 2472: 64(ptr) AccessChain 31(data) 2465 63 35
- Store 2472 2471
- 2473: 6(int) Load 8(invocation)
- 2474: 71(ptr) AccessChain 31(data) 63 63
- 2475: 25(ivec4) Load 2474
- 2476: 70(ivec2) VectorShuffle 2475 2475 0 1
- 2477: 152(bvec2) SLessThan 2476 727
+ 2442: 116(ptr) AccessChain 31(data) 34 115 35
+ 2443:26(float64_t) Load 2442
+ 2444: 17(ivec4) Load 19(ballot)
+ 2445:26(float64_t) GroupNonUniformFMax 178 PartitionedExclusiveScanNV 2443 2444
+ 2446: 116(ptr) AccessChain 31(data) 2441 115 35
+ Store 2446 2445
+ 2447: 6(int) Load 8(invocation)
+ 2448: 123(ptr) AccessChain 31(data) 63 115
+ 2449: 27(f64vec4) Load 2448
+ 2450:122(f64vec2) VectorShuffle 2449 2449 0 1
+ 2451: 17(ivec4) Load 19(ballot)
+ 2452:122(f64vec2) GroupNonUniformFMax 178 PartitionedExclusiveScanNV 2450 2451
+ 2453: 116(ptr) AccessChain 31(data) 2447 115 35
+ 2454:26(float64_t) CompositeExtract 2452 0
+ Store 2453 2454
+ 2455: 116(ptr) AccessChain 31(data) 2447 115 189
+ 2456:26(float64_t) CompositeExtract 2452 1
+ Store 2455 2456
+ 2457: 6(int) Load 8(invocation)
+ 2458: 123(ptr) AccessChain 31(data) 33 115
+ 2459: 27(f64vec4) Load 2458
+ 2460:130(f64vec3) VectorShuffle 2459 2459 0 1 2
+ 2461: 17(ivec4) Load 19(ballot)
+ 2462:130(f64vec3) GroupNonUniformFMax 178 PartitionedExclusiveScanNV 2460 2461
+ 2463: 116(ptr) AccessChain 31(data) 2457 115 35
+ 2464:26(float64_t) CompositeExtract 2462 0
+ Store 2463 2464
+ 2465: 116(ptr) AccessChain 31(data) 2457 115 189
+ 2466:26(float64_t) CompositeExtract 2462 1
+ Store 2465 2466
+ 2467: 116(ptr) AccessChain 31(data) 2457 115 202
+ 2468:26(float64_t) CompositeExtract 2462 2
+ Store 2467 2468
+ 2469: 6(int) Load 8(invocation)
+ 2470: 123(ptr) AccessChain 31(data) 115 115
+ 2471: 27(f64vec4) Load 2470
+ 2472: 17(ivec4) Load 19(ballot)
+ 2473: 27(f64vec4) GroupNonUniformFMax 178 PartitionedExclusiveScanNV 2471 2472
+ 2474: 123(ptr) AccessChain 31(data) 2469 115
+ Store 2474 2473
+ 2475: 6(int) Load 8(invocation)
+ 2476: 64(ptr) AccessChain 31(data) 34 63 35
+ 2477: 24(int) Load 2476
2478: 17(ivec4) Load 19(ballot)
- 2479: 152(bvec2) GroupNonUniformLogicalXor 178 PartitionedExclusiveScanNV 2477 2478
- 2480: 70(ivec2) Select 2479 731 727
- 2481: 71(ptr) AccessChain 31(data) 2473 63
- 2482: 25(ivec4) Load 2481
- 2483: 25(ivec4) VectorShuffle 2482 2480 4 5 2 3
- Store 2481 2483
- 2484: 6(int) Load 8(invocation)
- 2485: 71(ptr) AccessChain 31(data) 63 63
- 2486: 25(ivec4) Load 2485
- 2487: 78(ivec3) VectorShuffle 2486 2486 0 1 2
- 2488: 161(bvec3) SLessThan 2487 740
- 2489: 17(ivec4) Load 19(ballot)
- 2490: 161(bvec3) GroupNonUniformLogicalXor 178 PartitionedExclusiveScanNV 2488 2489
- 2491: 78(ivec3) Select 2490 744 740
- 2492: 71(ptr) AccessChain 31(data) 2484 63
+ 2479: 24(int) GroupNonUniformBitwiseAnd 178 PartitionedExclusiveScanNV 2477 2478
+ 2480: 64(ptr) AccessChain 31(data) 2475 63 35
+ Store 2480 2479
+ 2481: 6(int) Load 8(invocation)
+ 2482: 71(ptr) AccessChain 31(data) 63 63
+ 2483: 25(ivec4) Load 2482
+ 2484: 70(ivec2) VectorShuffle 2483 2483 0 1
+ 2485: 17(ivec4) Load 19(ballot)
+ 2486: 70(ivec2) GroupNonUniformBitwiseAnd 178 PartitionedExclusiveScanNV 2484 2485
+ 2487: 64(ptr) AccessChain 31(data) 2481 63 35
+ 2488: 24(int) CompositeExtract 2486 0
+ Store 2487 2488
+ 2489: 64(ptr) AccessChain 31(data) 2481 63 189
+ 2490: 24(int) CompositeExtract 2486 1
+ Store 2489 2490
+ 2491: 6(int) Load 8(invocation)
+ 2492: 71(ptr) AccessChain 31(data) 33 63
2493: 25(ivec4) Load 2492
- 2494: 25(ivec4) VectorShuffle 2493 2491 4 5 6 3
- Store 2492 2494
- 2495: 6(int) Load 8(invocation)
- 2496: 71(ptr) AccessChain 31(data) 63 63
- 2497: 25(ivec4) Load 2496
- 2498: 169(bvec4) SLessThan 2497 752
- 2499: 17(ivec4) Load 19(ballot)
- 2500: 169(bvec4) GroupNonUniformLogicalXor 178 PartitionedExclusiveScanNV 2498 2499
- 2501: 25(ivec4) Select 2500 756 752
- 2502: 71(ptr) AccessChain 31(data) 2495 63
- Store 2502 2501
+ 2494: 78(ivec3) VectorShuffle 2493 2493 0 1 2
+ 2495: 17(ivec4) Load 19(ballot)
+ 2496: 78(ivec3) GroupNonUniformBitwiseAnd 178 PartitionedExclusiveScanNV 2494 2495
+ 2497: 64(ptr) AccessChain 31(data) 2491 63 35
+ 2498: 24(int) CompositeExtract 2496 0
+ Store 2497 2498
+ 2499: 64(ptr) AccessChain 31(data) 2491 63 189
+ 2500: 24(int) CompositeExtract 2496 1
+ Store 2499 2500
+ 2501: 64(ptr) AccessChain 31(data) 2491 63 202
+ 2502: 24(int) CompositeExtract 2496 2
+ Store 2501 2502
+ 2503: 6(int) Load 8(invocation)
+ 2504: 71(ptr) AccessChain 31(data) 115 63
+ 2505: 25(ivec4) Load 2504
+ 2506: 17(ivec4) Load 19(ballot)
+ 2507: 25(ivec4) GroupNonUniformBitwiseAnd 178 PartitionedExclusiveScanNV 2505 2506
+ 2508: 71(ptr) AccessChain 31(data) 2503 63
+ Store 2508 2507
+ 2509: 6(int) Load 8(invocation)
+ 2510: 90(ptr) AccessChain 31(data) 34 33 35
+ 2511: 6(int) Load 2510
+ 2512: 17(ivec4) Load 19(ballot)
+ 2513: 6(int) GroupNonUniformBitwiseAnd 178 PartitionedExclusiveScanNV 2511 2512
+ 2514: 90(ptr) AccessChain 31(data) 2509 33 35
+ Store 2514 2513
+ 2515: 6(int) Load 8(invocation)
+ 2516: 40(ptr) AccessChain 31(data) 63 33
+ 2517: 17(ivec4) Load 2516
+ 2518: 96(ivec2) VectorShuffle 2517 2517 0 1
+ 2519: 17(ivec4) Load 19(ballot)
+ 2520: 96(ivec2) GroupNonUniformBitwiseAnd 178 PartitionedExclusiveScanNV 2518 2519
+ 2521: 90(ptr) AccessChain 31(data) 2515 33 35
+ 2522: 6(int) CompositeExtract 2520 0
+ Store 2521 2522
+ 2523: 90(ptr) AccessChain 31(data) 2515 33 189
+ 2524: 6(int) CompositeExtract 2520 1
+ Store 2523 2524
+ 2525: 6(int) Load 8(invocation)
+ 2526: 40(ptr) AccessChain 31(data) 33 33
+ 2527: 17(ivec4) Load 2526
+ 2528: 103(ivec3) VectorShuffle 2527 2527 0 1 2
+ 2529: 17(ivec4) Load 19(ballot)
+ 2530: 103(ivec3) GroupNonUniformBitwiseAnd 178 PartitionedExclusiveScanNV 2528 2529
+ 2531: 90(ptr) AccessChain 31(data) 2525 33 35
+ 2532: 6(int) CompositeExtract 2530 0
+ Store 2531 2532
+ 2533: 90(ptr) AccessChain 31(data) 2525 33 189
+ 2534: 6(int) CompositeExtract 2530 1
+ Store 2533 2534
+ 2535: 90(ptr) AccessChain 31(data) 2525 33 202
+ 2536: 6(int) CompositeExtract 2530 2
+ Store 2535 2536
+ 2537: 6(int) Load 8(invocation)
+ 2538: 40(ptr) AccessChain 31(data) 115 33
+ 2539: 17(ivec4) Load 2538
+ 2540: 17(ivec4) Load 19(ballot)
+ 2541: 17(ivec4) GroupNonUniformBitwiseAnd 178 PartitionedExclusiveScanNV 2539 2540
+ 2542: 40(ptr) AccessChain 31(data) 2537 33
+ Store 2542 2541
+ 2543: 6(int) Load 8(invocation)
+ 2544: 64(ptr) AccessChain 31(data) 34 63 35
+ 2545: 24(int) Load 2544
+ 2546: 144(bool) SLessThan 2545 34
+ 2547: 17(ivec4) Load 19(ballot)
+ 2548: 144(bool) GroupNonUniformLogicalAnd 178 PartitionedExclusiveScanNV 2546 2547
+ 2549: 24(int) Select 2548 63 34
+ 2550: 64(ptr) AccessChain 31(data) 2543 63 35
+ Store 2550 2549
+ 2551: 6(int) Load 8(invocation)
+ 2552: 71(ptr) AccessChain 31(data) 63 63
+ 2553: 25(ivec4) Load 2552
+ 2554: 70(ivec2) VectorShuffle 2553 2553 0 1
+ 2555: 152(bvec2) SLessThan 2554 801
+ 2556: 17(ivec4) Load 19(ballot)
+ 2557: 152(bvec2) GroupNonUniformLogicalAnd 178 PartitionedExclusiveScanNV 2555 2556
+ 2558: 70(ivec2) Select 2557 805 801
+ 2559: 64(ptr) AccessChain 31(data) 2551 63 35
+ 2560: 24(int) CompositeExtract 2558 0
+ Store 2559 2560
+ 2561: 64(ptr) AccessChain 31(data) 2551 63 189
+ 2562: 24(int) CompositeExtract 2558 1
+ Store 2561 2562
+ 2563: 6(int) Load 8(invocation)
+ 2564: 71(ptr) AccessChain 31(data) 63 63
+ 2565: 25(ivec4) Load 2564
+ 2566: 78(ivec3) VectorShuffle 2565 2565 0 1 2
+ 2567: 161(bvec3) SLessThan 2566 815
+ 2568: 17(ivec4) Load 19(ballot)
+ 2569: 161(bvec3) GroupNonUniformLogicalAnd 178 PartitionedExclusiveScanNV 2567 2568
+ 2570: 78(ivec3) Select 2569 819 815
+ 2571: 64(ptr) AccessChain 31(data) 2563 63 35
+ 2572: 24(int) CompositeExtract 2570 0
+ Store 2571 2572
+ 2573: 64(ptr) AccessChain 31(data) 2563 63 189
+ 2574: 24(int) CompositeExtract 2570 1
+ Store 2573 2574
+ 2575: 64(ptr) AccessChain 31(data) 2563 63 202
+ 2576: 24(int) CompositeExtract 2570 2
+ Store 2575 2576
+ 2577: 6(int) Load 8(invocation)
+ 2578: 71(ptr) AccessChain 31(data) 63 63
+ 2579: 25(ivec4) Load 2578
+ 2580: 169(bvec4) SLessThan 2579 830
+ 2581: 17(ivec4) Load 19(ballot)
+ 2582: 169(bvec4) GroupNonUniformLogicalAnd 178 PartitionedExclusiveScanNV 2580 2581
+ 2583: 25(ivec4) Select 2582 834 830
+ 2584: 71(ptr) AccessChain 31(data) 2577 63
+ Store 2584 2583
+ 2585: 6(int) Load 8(invocation)
+ 2586: 64(ptr) AccessChain 31(data) 34 63 35
+ 2587: 24(int) Load 2586
+ 2588: 17(ivec4) Load 19(ballot)
+ 2589: 24(int) GroupNonUniformBitwiseOr 178 PartitionedExclusiveScanNV 2587 2588
+ 2590: 64(ptr) AccessChain 31(data) 2585 63 35
+ Store 2590 2589
+ 2591: 6(int) Load 8(invocation)
+ 2592: 71(ptr) AccessChain 31(data) 63 63
+ 2593: 25(ivec4) Load 2592
+ 2594: 70(ivec2) VectorShuffle 2593 2593 0 1
+ 2595: 17(ivec4) Load 19(ballot)
+ 2596: 70(ivec2) GroupNonUniformBitwiseOr 178 PartitionedExclusiveScanNV 2594 2595
+ 2597: 64(ptr) AccessChain 31(data) 2591 63 35
+ 2598: 24(int) CompositeExtract 2596 0
+ Store 2597 2598
+ 2599: 64(ptr) AccessChain 31(data) 2591 63 189
+ 2600: 24(int) CompositeExtract 2596 1
+ Store 2599 2600
+ 2601: 6(int) Load 8(invocation)
+ 2602: 71(ptr) AccessChain 31(data) 33 63
+ 2603: 25(ivec4) Load 2602
+ 2604: 78(ivec3) VectorShuffle 2603 2603 0 1 2
+ 2605: 17(ivec4) Load 19(ballot)
+ 2606: 78(ivec3) GroupNonUniformBitwiseOr 178 PartitionedExclusiveScanNV 2604 2605
+ 2607: 64(ptr) AccessChain 31(data) 2601 63 35
+ 2608: 24(int) CompositeExtract 2606 0
+ Store 2607 2608
+ 2609: 64(ptr) AccessChain 31(data) 2601 63 189
+ 2610: 24(int) CompositeExtract 2606 1
+ Store 2609 2610
+ 2611: 64(ptr) AccessChain 31(data) 2601 63 202
+ 2612: 24(int) CompositeExtract 2606 2
+ Store 2611 2612
+ 2613: 6(int) Load 8(invocation)
+ 2614: 71(ptr) AccessChain 31(data) 115 63
+ 2615: 25(ivec4) Load 2614
+ 2616: 17(ivec4) Load 19(ballot)
+ 2617: 25(ivec4) GroupNonUniformBitwiseOr 178 PartitionedExclusiveScanNV 2615 2616
+ 2618: 71(ptr) AccessChain 31(data) 2613 63
+ Store 2618 2617
+ 2619: 6(int) Load 8(invocation)
+ 2620: 90(ptr) AccessChain 31(data) 34 33 35
+ 2621: 6(int) Load 2620
+ 2622: 17(ivec4) Load 19(ballot)
+ 2623: 6(int) GroupNonUniformBitwiseOr 178 PartitionedExclusiveScanNV 2621 2622
+ 2624: 90(ptr) AccessChain 31(data) 2619 33 35
+ Store 2624 2623
+ 2625: 6(int) Load 8(invocation)
+ 2626: 40(ptr) AccessChain 31(data) 63 33
+ 2627: 17(ivec4) Load 2626
+ 2628: 96(ivec2) VectorShuffle 2627 2627 0 1
+ 2629: 17(ivec4) Load 19(ballot)
+ 2630: 96(ivec2) GroupNonUniformBitwiseOr 178 PartitionedExclusiveScanNV 2628 2629
+ 2631: 90(ptr) AccessChain 31(data) 2625 33 35
+ 2632: 6(int) CompositeExtract 2630 0
+ Store 2631 2632
+ 2633: 90(ptr) AccessChain 31(data) 2625 33 189
+ 2634: 6(int) CompositeExtract 2630 1
+ Store 2633 2634
+ 2635: 6(int) Load 8(invocation)
+ 2636: 40(ptr) AccessChain 31(data) 33 33
+ 2637: 17(ivec4) Load 2636
+ 2638: 103(ivec3) VectorShuffle 2637 2637 0 1 2
+ 2639: 17(ivec4) Load 19(ballot)
+ 2640: 103(ivec3) GroupNonUniformBitwiseOr 178 PartitionedExclusiveScanNV 2638 2639
+ 2641: 90(ptr) AccessChain 31(data) 2635 33 35
+ 2642: 6(int) CompositeExtract 2640 0
+ Store 2641 2642
+ 2643: 90(ptr) AccessChain 31(data) 2635 33 189
+ 2644: 6(int) CompositeExtract 2640 1
+ Store 2643 2644
+ 2645: 90(ptr) AccessChain 31(data) 2635 33 202
+ 2646: 6(int) CompositeExtract 2640 2
+ Store 2645 2646
+ 2647: 6(int) Load 8(invocation)
+ 2648: 40(ptr) AccessChain 31(data) 115 33
+ 2649: 17(ivec4) Load 2648
+ 2650: 17(ivec4) Load 19(ballot)
+ 2651: 17(ivec4) GroupNonUniformBitwiseOr 178 PartitionedExclusiveScanNV 2649 2650
+ 2652: 40(ptr) AccessChain 31(data) 2647 33
+ Store 2652 2651
+ 2653: 6(int) Load 8(invocation)
+ 2654: 64(ptr) AccessChain 31(data) 34 63 35
+ 2655: 24(int) Load 2654
+ 2656: 144(bool) SLessThan 2655 34
+ 2657: 17(ivec4) Load 19(ballot)
+ 2658: 144(bool) GroupNonUniformLogicalOr 178 PartitionedExclusiveScanNV 2656 2657
+ 2659: 24(int) Select 2658 63 34
+ 2660: 64(ptr) AccessChain 31(data) 2653 63 35
+ Store 2660 2659
+ 2661: 6(int) Load 8(invocation)
+ 2662: 71(ptr) AccessChain 31(data) 63 63
+ 2663: 25(ivec4) Load 2662
+ 2664: 70(ivec2) VectorShuffle 2663 2663 0 1
+ 2665: 152(bvec2) SLessThan 2664 801
+ 2666: 17(ivec4) Load 19(ballot)
+ 2667: 152(bvec2) GroupNonUniformLogicalOr 178 PartitionedExclusiveScanNV 2665 2666
+ 2668: 70(ivec2) Select 2667 805 801
+ 2669: 64(ptr) AccessChain 31(data) 2661 63 35
+ 2670: 24(int) CompositeExtract 2668 0
+ Store 2669 2670
+ 2671: 64(ptr) AccessChain 31(data) 2661 63 189
+ 2672: 24(int) CompositeExtract 2668 1
+ Store 2671 2672
+ 2673: 6(int) Load 8(invocation)
+ 2674: 71(ptr) AccessChain 31(data) 63 63
+ 2675: 25(ivec4) Load 2674
+ 2676: 78(ivec3) VectorShuffle 2675 2675 0 1 2
+ 2677: 161(bvec3) SLessThan 2676 815
+ 2678: 17(ivec4) Load 19(ballot)
+ 2679: 161(bvec3) GroupNonUniformLogicalOr 178 PartitionedExclusiveScanNV 2677 2678
+ 2680: 78(ivec3) Select 2679 819 815
+ 2681: 64(ptr) AccessChain 31(data) 2673 63 35
+ 2682: 24(int) CompositeExtract 2680 0
+ Store 2681 2682
+ 2683: 64(ptr) AccessChain 31(data) 2673 63 189
+ 2684: 24(int) CompositeExtract 2680 1
+ Store 2683 2684
+ 2685: 64(ptr) AccessChain 31(data) 2673 63 202
+ 2686: 24(int) CompositeExtract 2680 2
+ Store 2685 2686
+ 2687: 6(int) Load 8(invocation)
+ 2688: 71(ptr) AccessChain 31(data) 63 63
+ 2689: 25(ivec4) Load 2688
+ 2690: 169(bvec4) SLessThan 2689 830
+ 2691: 17(ivec4) Load 19(ballot)
+ 2692: 169(bvec4) GroupNonUniformLogicalOr 178 PartitionedExclusiveScanNV 2690 2691
+ 2693: 25(ivec4) Select 2692 834 830
+ 2694: 71(ptr) AccessChain 31(data) 2687 63
+ Store 2694 2693
+ 2695: 6(int) Load 8(invocation)
+ 2696: 64(ptr) AccessChain 31(data) 34 63 35
+ 2697: 24(int) Load 2696
+ 2698: 17(ivec4) Load 19(ballot)
+ 2699: 24(int) GroupNonUniformBitwiseXor 178 PartitionedExclusiveScanNV 2697 2698
+ 2700: 64(ptr) AccessChain 31(data) 2695 63 35
+ Store 2700 2699
+ 2701: 6(int) Load 8(invocation)
+ 2702: 71(ptr) AccessChain 31(data) 63 63
+ 2703: 25(ivec4) Load 2702
+ 2704: 70(ivec2) VectorShuffle 2703 2703 0 1
+ 2705: 17(ivec4) Load 19(ballot)
+ 2706: 70(ivec2) GroupNonUniformBitwiseXor 178 PartitionedExclusiveScanNV 2704 2705
+ 2707: 64(ptr) AccessChain 31(data) 2701 63 35
+ 2708: 24(int) CompositeExtract 2706 0
+ Store 2707 2708
+ 2709: 64(ptr) AccessChain 31(data) 2701 63 189
+ 2710: 24(int) CompositeExtract 2706 1
+ Store 2709 2710
+ 2711: 6(int) Load 8(invocation)
+ 2712: 71(ptr) AccessChain 31(data) 33 63
+ 2713: 25(ivec4) Load 2712
+ 2714: 78(ivec3) VectorShuffle 2713 2713 0 1 2
+ 2715: 17(ivec4) Load 19(ballot)
+ 2716: 78(ivec3) GroupNonUniformBitwiseXor 178 PartitionedExclusiveScanNV 2714 2715
+ 2717: 64(ptr) AccessChain 31(data) 2711 63 35
+ 2718: 24(int) CompositeExtract 2716 0
+ Store 2717 2718
+ 2719: 64(ptr) AccessChain 31(data) 2711 63 189
+ 2720: 24(int) CompositeExtract 2716 1
+ Store 2719 2720
+ 2721: 64(ptr) AccessChain 31(data) 2711 63 202
+ 2722: 24(int) CompositeExtract 2716 2
+ Store 2721 2722
+ 2723: 6(int) Load 8(invocation)
+ 2724: 71(ptr) AccessChain 31(data) 115 63
+ 2725: 25(ivec4) Load 2724
+ 2726: 17(ivec4) Load 19(ballot)
+ 2727: 25(ivec4) GroupNonUniformBitwiseXor 178 PartitionedExclusiveScanNV 2725 2726
+ 2728: 71(ptr) AccessChain 31(data) 2723 63
+ Store 2728 2727
+ 2729: 6(int) Load 8(invocation)
+ 2730: 90(ptr) AccessChain 31(data) 34 33 35
+ 2731: 6(int) Load 2730
+ 2732: 17(ivec4) Load 19(ballot)
+ 2733: 6(int) GroupNonUniformBitwiseXor 178 PartitionedExclusiveScanNV 2731 2732
+ 2734: 90(ptr) AccessChain 31(data) 2729 33 35
+ Store 2734 2733
+ 2735: 6(int) Load 8(invocation)
+ 2736: 40(ptr) AccessChain 31(data) 63 33
+ 2737: 17(ivec4) Load 2736
+ 2738: 96(ivec2) VectorShuffle 2737 2737 0 1
+ 2739: 17(ivec4) Load 19(ballot)
+ 2740: 96(ivec2) GroupNonUniformBitwiseXor 178 PartitionedExclusiveScanNV 2738 2739
+ 2741: 90(ptr) AccessChain 31(data) 2735 33 35
+ 2742: 6(int) CompositeExtract 2740 0
+ Store 2741 2742
+ 2743: 90(ptr) AccessChain 31(data) 2735 33 189
+ 2744: 6(int) CompositeExtract 2740 1
+ Store 2743 2744
+ 2745: 6(int) Load 8(invocation)
+ 2746: 40(ptr) AccessChain 31(data) 33 33
+ 2747: 17(ivec4) Load 2746
+ 2748: 103(ivec3) VectorShuffle 2747 2747 0 1 2
+ 2749: 17(ivec4) Load 19(ballot)
+ 2750: 103(ivec3) GroupNonUniformBitwiseXor 178 PartitionedExclusiveScanNV 2748 2749
+ 2751: 90(ptr) AccessChain 31(data) 2745 33 35
+ 2752: 6(int) CompositeExtract 2750 0
+ Store 2751 2752
+ 2753: 90(ptr) AccessChain 31(data) 2745 33 189
+ 2754: 6(int) CompositeExtract 2750 1
+ Store 2753 2754
+ 2755: 90(ptr) AccessChain 31(data) 2745 33 202
+ 2756: 6(int) CompositeExtract 2750 2
+ Store 2755 2756
+ 2757: 6(int) Load 8(invocation)
+ 2758: 40(ptr) AccessChain 31(data) 115 33
+ 2759: 17(ivec4) Load 2758
+ 2760: 17(ivec4) Load 19(ballot)
+ 2761: 17(ivec4) GroupNonUniformBitwiseXor 178 PartitionedExclusiveScanNV 2759 2760
+ 2762: 40(ptr) AccessChain 31(data) 2757 33
+ Store 2762 2761
+ 2763: 6(int) Load 8(invocation)
+ 2764: 64(ptr) AccessChain 31(data) 34 63 35
+ 2765: 24(int) Load 2764
+ 2766: 144(bool) SLessThan 2765 34
+ 2767: 17(ivec4) Load 19(ballot)
+ 2768: 144(bool) GroupNonUniformLogicalXor 178 PartitionedExclusiveScanNV 2766 2767
+ 2769: 24(int) Select 2768 63 34
+ 2770: 64(ptr) AccessChain 31(data) 2763 63 35
+ Store 2770 2769
+ 2771: 6(int) Load 8(invocation)
+ 2772: 71(ptr) AccessChain 31(data) 63 63
+ 2773: 25(ivec4) Load 2772
+ 2774: 70(ivec2) VectorShuffle 2773 2773 0 1
+ 2775: 152(bvec2) SLessThan 2774 801
+ 2776: 17(ivec4) Load 19(ballot)
+ 2777: 152(bvec2) GroupNonUniformLogicalXor 178 PartitionedExclusiveScanNV 2775 2776
+ 2778: 70(ivec2) Select 2777 805 801
+ 2779: 64(ptr) AccessChain 31(data) 2771 63 35
+ 2780: 24(int) CompositeExtract 2778 0
+ Store 2779 2780
+ 2781: 64(ptr) AccessChain 31(data) 2771 63 189
+ 2782: 24(int) CompositeExtract 2778 1
+ Store 2781 2782
+ 2783: 6(int) Load 8(invocation)
+ 2784: 71(ptr) AccessChain 31(data) 63 63
+ 2785: 25(ivec4) Load 2784
+ 2786: 78(ivec3) VectorShuffle 2785 2785 0 1 2
+ 2787: 161(bvec3) SLessThan 2786 815
+ 2788: 17(ivec4) Load 19(ballot)
+ 2789: 161(bvec3) GroupNonUniformLogicalXor 178 PartitionedExclusiveScanNV 2787 2788
+ 2790: 78(ivec3) Select 2789 819 815
+ 2791: 64(ptr) AccessChain 31(data) 2783 63 35
+ 2792: 24(int) CompositeExtract 2790 0
+ Store 2791 2792
+ 2793: 64(ptr) AccessChain 31(data) 2783 63 189
+ 2794: 24(int) CompositeExtract 2790 1
+ Store 2793 2794
+ 2795: 64(ptr) AccessChain 31(data) 2783 63 202
+ 2796: 24(int) CompositeExtract 2790 2
+ Store 2795 2796
+ 2797: 6(int) Load 8(invocation)
+ 2798: 71(ptr) AccessChain 31(data) 63 63
+ 2799: 25(ivec4) Load 2798
+ 2800: 169(bvec4) SLessThan 2799 830
+ 2801: 17(ivec4) Load 19(ballot)
+ 2802: 169(bvec4) GroupNonUniformLogicalXor 178 PartitionedExclusiveScanNV 2800 2801
+ 2803: 25(ivec4) Select 2802 834 830
+ 2804: 71(ptr) AccessChain 31(data) 2797 63
+ Store 2804 2803
Return
FunctionEnd
diff --git a/Test/baseResults/spv.subgroupQuad.comp.out b/Test/baseResults/spv.subgroupQuad.comp.out
index 644fa72..143d01d 100644
--- a/Test/baseResults/spv.subgroupQuad.comp.out
+++ b/Test/baseResults/spv.subgroupQuad.comp.out
@@ -1,7 +1,7 @@
spv.subgroupQuad.comp
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 616
+// Id's are bound by 696
Capability Shader
Capability Float64
@@ -39,7 +39,7 @@
Decorate 24(Buffers) Block
Decorate 27(data) DescriptorSet 0
Decorate 27(data) Binding 0
- Decorate 615 BuiltIn WorkgroupSize
+ Decorate 695 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -67,34 +67,34 @@
39: 19(int) Constant 1
40: TypeVector 17(float) 2
41: TypePointer StorageBuffer 18(fvec4)
- 50: 19(int) Constant 2
- 51: TypeVector 17(float) 3
- 60: 19(int) Constant 3
- 66: TypePointer StorageBuffer 19(int)
- 72: TypeVector 19(int) 2
- 73: TypePointer StorageBuffer 20(ivec4)
- 82: TypeVector 19(int) 3
- 96: TypePointer StorageBuffer 6(int)
- 102: TypeVector 6(int) 2
- 103: TypePointer StorageBuffer 21(ivec4)
- 112: TypeVector 6(int) 3
- 126: TypePointer StorageBuffer 22(float64_t)
- 132: TypeVector 22(float64_t) 2
- 133: TypePointer StorageBuffer 23(f64vec4)
- 142: TypeVector 22(float64_t) 3
- 158: TypeBool
- 167: 72(ivec2) ConstantComposite 29 29
- 168: TypeVector 158(bool) 2
- 171: 72(ivec2) ConstantComposite 39 39
- 180: 82(ivec3) ConstantComposite 29 29 29
- 181: TypeVector 158(bool) 3
- 184: 82(ivec3) ConstantComposite 39 39 39
- 192: 20(ivec4) ConstantComposite 29 29 29 29
- 193: TypeVector 158(bool) 4
- 196: 20(ivec4) ConstantComposite 39 39 39 39
- 478: 6(int) Constant 2
- 614: 6(int) Constant 8
- 615: 112(ivec3) ConstantComposite 614 34 34
+ 51: 19(int) Constant 2
+ 52: TypeVector 17(float) 3
+ 61: 6(int) Constant 2
+ 65: 19(int) Constant 3
+ 71: TypePointer StorageBuffer 19(int)
+ 77: TypeVector 19(int) 2
+ 78: TypePointer StorageBuffer 20(ivec4)
+ 88: TypeVector 19(int) 3
+ 105: TypePointer StorageBuffer 6(int)
+ 111: TypeVector 6(int) 2
+ 112: TypePointer StorageBuffer 21(ivec4)
+ 122: TypeVector 6(int) 3
+ 139: TypePointer StorageBuffer 22(float64_t)
+ 145: TypeVector 22(float64_t) 2
+ 146: TypePointer StorageBuffer 23(f64vec4)
+ 156: TypeVector 22(float64_t) 3
+ 175: TypeBool
+ 184: 77(ivec2) ConstantComposite 29 29
+ 185: TypeVector 175(bool) 2
+ 188: 77(ivec2) ConstantComposite 39 39
+ 198: 88(ivec3) ConstantComposite 29 29 29
+ 199: TypeVector 175(bool) 3
+ 202: 88(ivec3) ConstantComposite 39 39 39
+ 213: 20(ivec4) ConstantComposite 29 29 29 29
+ 214: TypeVector 175(bool) 4
+ 217: 20(ivec4) ConstantComposite 39 39 39 39
+ 694: 6(int) Constant 8
+ 695: 122(ivec3) ConstantComposite 694 34 34
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@@ -114,626 +114,766 @@
43: 18(fvec4) Load 42
44: 40(fvec2) VectorShuffle 43 43 0 1
45: 40(fvec2) GroupNonUniformQuadBroadcast 35 44 34
- 46: 41(ptr) AccessChain 27(data) 38 29
- 47: 18(fvec4) Load 46
- 48: 18(fvec4) VectorShuffle 47 45 4 5 2 3
- Store 46 48
- 49: 6(int) Load 8(invocation)
- 52: 41(ptr) AccessChain 27(data) 50 29
- 53: 18(fvec4) Load 52
- 54: 51(fvec3) VectorShuffle 53 53 0 1 2
- 55: 51(fvec3) GroupNonUniformQuadBroadcast 35 54 34
- 56: 41(ptr) AccessChain 27(data) 49 29
- 57: 18(fvec4) Load 56
- 58: 18(fvec4) VectorShuffle 57 55 4 5 6 3
- Store 56 58
- 59: 6(int) Load 8(invocation)
- 61: 41(ptr) AccessChain 27(data) 60 29
- 62: 18(fvec4) Load 61
- 63: 18(fvec4) GroupNonUniformQuadBroadcast 35 62 34
- 64: 41(ptr) AccessChain 27(data) 59 29
- Store 64 63
- 65: 6(int) Load 8(invocation)
- 67: 66(ptr) AccessChain 27(data) 29 39 30
- 68: 19(int) Load 67
- 69: 19(int) GroupNonUniformQuadBroadcast 35 68 34
- 70: 66(ptr) AccessChain 27(data) 65 39 30
- Store 70 69
- 71: 6(int) Load 8(invocation)
- 74: 73(ptr) AccessChain 27(data) 39 39
- 75: 20(ivec4) Load 74
- 76: 72(ivec2) VectorShuffle 75 75 0 1
- 77: 72(ivec2) GroupNonUniformQuadBroadcast 35 76 34
- 78: 73(ptr) AccessChain 27(data) 71 39
- 79: 20(ivec4) Load 78
- 80: 20(ivec4) VectorShuffle 79 77 4 5 2 3
- Store 78 80
- 81: 6(int) Load 8(invocation)
- 83: 73(ptr) AccessChain 27(data) 50 39
- 84: 20(ivec4) Load 83
- 85: 82(ivec3) VectorShuffle 84 84 0 1 2
- 86: 82(ivec3) GroupNonUniformQuadBroadcast 35 85 34
- 87: 73(ptr) AccessChain 27(data) 81 39
- 88: 20(ivec4) Load 87
- 89: 20(ivec4) VectorShuffle 88 86 4 5 6 3
- Store 87 89
- 90: 6(int) Load 8(invocation)
- 91: 73(ptr) AccessChain 27(data) 60 39
- 92: 20(ivec4) Load 91
- 93: 20(ivec4) GroupNonUniformQuadBroadcast 35 92 34
- 94: 73(ptr) AccessChain 27(data) 90 39
- Store 94 93
- 95: 6(int) Load 8(invocation)
- 97: 96(ptr) AccessChain 27(data) 29 50 30
- 98: 6(int) Load 97
- 99: 6(int) GroupNonUniformQuadBroadcast 35 98 34
- 100: 96(ptr) AccessChain 27(data) 95 50 30
- Store 100 99
- 101: 6(int) Load 8(invocation)
- 104: 103(ptr) AccessChain 27(data) 39 50
- 105: 21(ivec4) Load 104
- 106: 102(ivec2) VectorShuffle 105 105 0 1
- 107: 102(ivec2) GroupNonUniformQuadBroadcast 35 106 34
- 108: 103(ptr) AccessChain 27(data) 101 50
- 109: 21(ivec4) Load 108
- 110: 21(ivec4) VectorShuffle 109 107 4 5 2 3
- Store 108 110
- 111: 6(int) Load 8(invocation)
- 113: 103(ptr) AccessChain 27(data) 50 50
+ 46: 31(ptr) AccessChain 27(data) 38 29 30
+ 47: 17(float) CompositeExtract 45 0
+ Store 46 47
+ 48: 31(ptr) AccessChain 27(data) 38 29 34
+ 49: 17(float) CompositeExtract 45 1
+ Store 48 49
+ 50: 6(int) Load 8(invocation)
+ 53: 41(ptr) AccessChain 27(data) 51 29
+ 54: 18(fvec4) Load 53
+ 55: 52(fvec3) VectorShuffle 54 54 0 1 2
+ 56: 52(fvec3) GroupNonUniformQuadBroadcast 35 55 34
+ 57: 31(ptr) AccessChain 27(data) 50 29 30
+ 58: 17(float) CompositeExtract 56 0
+ Store 57 58
+ 59: 31(ptr) AccessChain 27(data) 50 29 34
+ 60: 17(float) CompositeExtract 56 1
+ Store 59 60
+ 62: 31(ptr) AccessChain 27(data) 50 29 61
+ 63: 17(float) CompositeExtract 56 2
+ Store 62 63
+ 64: 6(int) Load 8(invocation)
+ 66: 41(ptr) AccessChain 27(data) 65 29
+ 67: 18(fvec4) Load 66
+ 68: 18(fvec4) GroupNonUniformQuadBroadcast 35 67 34
+ 69: 41(ptr) AccessChain 27(data) 64 29
+ Store 69 68
+ 70: 6(int) Load 8(invocation)
+ 72: 71(ptr) AccessChain 27(data) 29 39 30
+ 73: 19(int) Load 72
+ 74: 19(int) GroupNonUniformQuadBroadcast 35 73 34
+ 75: 71(ptr) AccessChain 27(data) 70 39 30
+ Store 75 74
+ 76: 6(int) Load 8(invocation)
+ 79: 78(ptr) AccessChain 27(data) 39 39
+ 80: 20(ivec4) Load 79
+ 81: 77(ivec2) VectorShuffle 80 80 0 1
+ 82: 77(ivec2) GroupNonUniformQuadBroadcast 35 81 34
+ 83: 71(ptr) AccessChain 27(data) 76 39 30
+ 84: 19(int) CompositeExtract 82 0
+ Store 83 84
+ 85: 71(ptr) AccessChain 27(data) 76 39 34
+ 86: 19(int) CompositeExtract 82 1
+ Store 85 86
+ 87: 6(int) Load 8(invocation)
+ 89: 78(ptr) AccessChain 27(data) 51 39
+ 90: 20(ivec4) Load 89
+ 91: 88(ivec3) VectorShuffle 90 90 0 1 2
+ 92: 88(ivec3) GroupNonUniformQuadBroadcast 35 91 34
+ 93: 71(ptr) AccessChain 27(data) 87 39 30
+ 94: 19(int) CompositeExtract 92 0
+ Store 93 94
+ 95: 71(ptr) AccessChain 27(data) 87 39 34
+ 96: 19(int) CompositeExtract 92 1
+ Store 95 96
+ 97: 71(ptr) AccessChain 27(data) 87 39 61
+ 98: 19(int) CompositeExtract 92 2
+ Store 97 98
+ 99: 6(int) Load 8(invocation)
+ 100: 78(ptr) AccessChain 27(data) 65 39
+ 101: 20(ivec4) Load 100
+ 102: 20(ivec4) GroupNonUniformQuadBroadcast 35 101 34
+ 103: 78(ptr) AccessChain 27(data) 99 39
+ Store 103 102
+ 104: 6(int) Load 8(invocation)
+ 106: 105(ptr) AccessChain 27(data) 29 51 30
+ 107: 6(int) Load 106
+ 108: 6(int) GroupNonUniformQuadBroadcast 35 107 34
+ 109: 105(ptr) AccessChain 27(data) 104 51 30
+ Store 109 108
+ 110: 6(int) Load 8(invocation)
+ 113: 112(ptr) AccessChain 27(data) 39 51
114: 21(ivec4) Load 113
- 115: 112(ivec3) VectorShuffle 114 114 0 1 2
- 116: 112(ivec3) GroupNonUniformQuadBroadcast 35 115 34
- 117: 103(ptr) AccessChain 27(data) 111 50
- 118: 21(ivec4) Load 117
- 119: 21(ivec4) VectorShuffle 118 116 4 5 6 3
- Store 117 119
- 120: 6(int) Load 8(invocation)
- 121: 103(ptr) AccessChain 27(data) 60 50
- 122: 21(ivec4) Load 121
- 123: 21(ivec4) GroupNonUniformQuadBroadcast 35 122 34
- 124: 103(ptr) AccessChain 27(data) 120 50
- Store 124 123
- 125: 6(int) Load 8(invocation)
- 127: 126(ptr) AccessChain 27(data) 29 60 30
- 128:22(float64_t) Load 127
- 129:22(float64_t) GroupNonUniformQuadBroadcast 35 128 34
- 130: 126(ptr) AccessChain 27(data) 125 60 30
- Store 130 129
- 131: 6(int) Load 8(invocation)
- 134: 133(ptr) AccessChain 27(data) 39 60
- 135: 23(f64vec4) Load 134
- 136:132(f64vec2) VectorShuffle 135 135 0 1
- 137:132(f64vec2) GroupNonUniformQuadBroadcast 35 136 34
- 138: 133(ptr) AccessChain 27(data) 131 60
- 139: 23(f64vec4) Load 138
- 140: 23(f64vec4) VectorShuffle 139 137 4 5 2 3
- Store 138 140
- 141: 6(int) Load 8(invocation)
- 143: 133(ptr) AccessChain 27(data) 50 60
- 144: 23(f64vec4) Load 143
- 145:142(f64vec3) VectorShuffle 144 144 0 1 2
- 146:142(f64vec3) GroupNonUniformQuadBroadcast 35 145 34
- 147: 133(ptr) AccessChain 27(data) 141 60
+ 115: 111(ivec2) VectorShuffle 114 114 0 1
+ 116: 111(ivec2) GroupNonUniformQuadBroadcast 35 115 34
+ 117: 105(ptr) AccessChain 27(data) 110 51 30
+ 118: 6(int) CompositeExtract 116 0
+ Store 117 118
+ 119: 105(ptr) AccessChain 27(data) 110 51 34
+ 120: 6(int) CompositeExtract 116 1
+ Store 119 120
+ 121: 6(int) Load 8(invocation)
+ 123: 112(ptr) AccessChain 27(data) 51 51
+ 124: 21(ivec4) Load 123
+ 125: 122(ivec3) VectorShuffle 124 124 0 1 2
+ 126: 122(ivec3) GroupNonUniformQuadBroadcast 35 125 34
+ 127: 105(ptr) AccessChain 27(data) 121 51 30
+ 128: 6(int) CompositeExtract 126 0
+ Store 127 128
+ 129: 105(ptr) AccessChain 27(data) 121 51 34
+ 130: 6(int) CompositeExtract 126 1
+ Store 129 130
+ 131: 105(ptr) AccessChain 27(data) 121 51 61
+ 132: 6(int) CompositeExtract 126 2
+ Store 131 132
+ 133: 6(int) Load 8(invocation)
+ 134: 112(ptr) AccessChain 27(data) 65 51
+ 135: 21(ivec4) Load 134
+ 136: 21(ivec4) GroupNonUniformQuadBroadcast 35 135 34
+ 137: 112(ptr) AccessChain 27(data) 133 51
+ Store 137 136
+ 138: 6(int) Load 8(invocation)
+ 140: 139(ptr) AccessChain 27(data) 29 65 30
+ 141:22(float64_t) Load 140
+ 142:22(float64_t) GroupNonUniformQuadBroadcast 35 141 34
+ 143: 139(ptr) AccessChain 27(data) 138 65 30
+ Store 143 142
+ 144: 6(int) Load 8(invocation)
+ 147: 146(ptr) AccessChain 27(data) 39 65
148: 23(f64vec4) Load 147
- 149: 23(f64vec4) VectorShuffle 148 146 4 5 6 3
- Store 147 149
- 150: 6(int) Load 8(invocation)
- 151: 133(ptr) AccessChain 27(data) 60 60
- 152: 23(f64vec4) Load 151
- 153: 23(f64vec4) GroupNonUniformQuadBroadcast 35 152 34
- 154: 133(ptr) AccessChain 27(data) 150 60
- Store 154 153
+ 149:145(f64vec2) VectorShuffle 148 148 0 1
+ 150:145(f64vec2) GroupNonUniformQuadBroadcast 35 149 34
+ 151: 139(ptr) AccessChain 27(data) 144 65 30
+ 152:22(float64_t) CompositeExtract 150 0
+ Store 151 152
+ 153: 139(ptr) AccessChain 27(data) 144 65 34
+ 154:22(float64_t) CompositeExtract 150 1
+ Store 153 154
155: 6(int) Load 8(invocation)
- 156: 66(ptr) AccessChain 27(data) 29 39 30
- 157: 19(int) Load 156
- 159: 158(bool) SLessThan 157 29
- 160: 158(bool) GroupNonUniformQuadBroadcast 35 159 34
- 161: 19(int) Select 160 39 29
- 162: 66(ptr) AccessChain 27(data) 155 39 30
- Store 162 161
- 163: 6(int) Load 8(invocation)
- 164: 73(ptr) AccessChain 27(data) 39 39
- 165: 20(ivec4) Load 164
- 166: 72(ivec2) VectorShuffle 165 165 0 1
- 169: 168(bvec2) SLessThan 166 167
- 170: 168(bvec2) GroupNonUniformQuadBroadcast 35 169 34
- 172: 72(ivec2) Select 170 171 167
- 173: 73(ptr) AccessChain 27(data) 163 39
- 174: 20(ivec4) Load 173
- 175: 20(ivec4) VectorShuffle 174 172 4 5 2 3
- Store 173 175
- 176: 6(int) Load 8(invocation)
- 177: 73(ptr) AccessChain 27(data) 39 39
- 178: 20(ivec4) Load 177
- 179: 82(ivec3) VectorShuffle 178 178 0 1 2
- 182: 181(bvec3) SLessThan 179 180
- 183: 181(bvec3) GroupNonUniformQuadBroadcast 35 182 34
- 185: 82(ivec3) Select 183 184 180
- 186: 73(ptr) AccessChain 27(data) 176 39
- 187: 20(ivec4) Load 186
- 188: 20(ivec4) VectorShuffle 187 185 4 5 6 3
- Store 186 188
- 189: 6(int) Load 8(invocation)
- 190: 73(ptr) AccessChain 27(data) 39 39
- 191: 20(ivec4) Load 190
- 194: 193(bvec4) SLessThan 191 192
- 195: 193(bvec4) GroupNonUniformQuadBroadcast 35 194 34
- 197: 20(ivec4) Select 195 196 192
- 198: 73(ptr) AccessChain 27(data) 189 39
- Store 198 197
- 199: 6(int) Load 8(invocation)
- 200: 31(ptr) AccessChain 27(data) 29 29 30
- 201: 17(float) Load 200
- 202: 17(float) GroupNonUniformQuadSwap 35 201 30
- 203: 31(ptr) AccessChain 27(data) 199 29 30
- Store 203 202
- 204: 6(int) Load 8(invocation)
- 205: 41(ptr) AccessChain 27(data) 39 29
- 206: 18(fvec4) Load 205
- 207: 40(fvec2) VectorShuffle 206 206 0 1
- 208: 40(fvec2) GroupNonUniformQuadSwap 35 207 30
- 209: 41(ptr) AccessChain 27(data) 204 29
- 210: 18(fvec4) Load 209
- 211: 18(fvec4) VectorShuffle 210 208 4 5 2 3
- Store 209 211
- 212: 6(int) Load 8(invocation)
- 213: 41(ptr) AccessChain 27(data) 50 29
- 214: 18(fvec4) Load 213
- 215: 51(fvec3) VectorShuffle 214 214 0 1 2
- 216: 51(fvec3) GroupNonUniformQuadSwap 35 215 30
- 217: 41(ptr) AccessChain 27(data) 212 29
- 218: 18(fvec4) Load 217
- 219: 18(fvec4) VectorShuffle 218 216 4 5 6 3
- Store 217 219
+ 157: 146(ptr) AccessChain 27(data) 51 65
+ 158: 23(f64vec4) Load 157
+ 159:156(f64vec3) VectorShuffle 158 158 0 1 2
+ 160:156(f64vec3) GroupNonUniformQuadBroadcast 35 159 34
+ 161: 139(ptr) AccessChain 27(data) 155 65 30
+ 162:22(float64_t) CompositeExtract 160 0
+ Store 161 162
+ 163: 139(ptr) AccessChain 27(data) 155 65 34
+ 164:22(float64_t) CompositeExtract 160 1
+ Store 163 164
+ 165: 139(ptr) AccessChain 27(data) 155 65 61
+ 166:22(float64_t) CompositeExtract 160 2
+ Store 165 166
+ 167: 6(int) Load 8(invocation)
+ 168: 146(ptr) AccessChain 27(data) 65 65
+ 169: 23(f64vec4) Load 168
+ 170: 23(f64vec4) GroupNonUniformQuadBroadcast 35 169 34
+ 171: 146(ptr) AccessChain 27(data) 167 65
+ Store 171 170
+ 172: 6(int) Load 8(invocation)
+ 173: 71(ptr) AccessChain 27(data) 29 39 30
+ 174: 19(int) Load 173
+ 176: 175(bool) SLessThan 174 29
+ 177: 175(bool) GroupNonUniformQuadBroadcast 35 176 34
+ 178: 19(int) Select 177 39 29
+ 179: 71(ptr) AccessChain 27(data) 172 39 30
+ Store 179 178
+ 180: 6(int) Load 8(invocation)
+ 181: 78(ptr) AccessChain 27(data) 39 39
+ 182: 20(ivec4) Load 181
+ 183: 77(ivec2) VectorShuffle 182 182 0 1
+ 186: 185(bvec2) SLessThan 183 184
+ 187: 185(bvec2) GroupNonUniformQuadBroadcast 35 186 34
+ 189: 77(ivec2) Select 187 188 184
+ 190: 71(ptr) AccessChain 27(data) 180 39 30
+ 191: 19(int) CompositeExtract 189 0
+ Store 190 191
+ 192: 71(ptr) AccessChain 27(data) 180 39 34
+ 193: 19(int) CompositeExtract 189 1
+ Store 192 193
+ 194: 6(int) Load 8(invocation)
+ 195: 78(ptr) AccessChain 27(data) 39 39
+ 196: 20(ivec4) Load 195
+ 197: 88(ivec3) VectorShuffle 196 196 0 1 2
+ 200: 199(bvec3) SLessThan 197 198
+ 201: 199(bvec3) GroupNonUniformQuadBroadcast 35 200 34
+ 203: 88(ivec3) Select 201 202 198
+ 204: 71(ptr) AccessChain 27(data) 194 39 30
+ 205: 19(int) CompositeExtract 203 0
+ Store 204 205
+ 206: 71(ptr) AccessChain 27(data) 194 39 34
+ 207: 19(int) CompositeExtract 203 1
+ Store 206 207
+ 208: 71(ptr) AccessChain 27(data) 194 39 61
+ 209: 19(int) CompositeExtract 203 2
+ Store 208 209
+ 210: 6(int) Load 8(invocation)
+ 211: 78(ptr) AccessChain 27(data) 39 39
+ 212: 20(ivec4) Load 211
+ 215: 214(bvec4) SLessThan 212 213
+ 216: 214(bvec4) GroupNonUniformQuadBroadcast 35 215 34
+ 218: 20(ivec4) Select 216 217 213
+ 219: 78(ptr) AccessChain 27(data) 210 39
+ Store 219 218
220: 6(int) Load 8(invocation)
- 221: 41(ptr) AccessChain 27(data) 60 29
- 222: 18(fvec4) Load 221
- 223: 18(fvec4) GroupNonUniformQuadSwap 35 222 30
- 224: 41(ptr) AccessChain 27(data) 220 29
+ 221: 31(ptr) AccessChain 27(data) 29 29 30
+ 222: 17(float) Load 221
+ 223: 17(float) GroupNonUniformQuadSwap 35 222 30
+ 224: 31(ptr) AccessChain 27(data) 220 29 30
Store 224 223
225: 6(int) Load 8(invocation)
- 226: 66(ptr) AccessChain 27(data) 29 39 30
- 227: 19(int) Load 226
- 228: 19(int) GroupNonUniformQuadSwap 35 227 30
- 229: 66(ptr) AccessChain 27(data) 225 39 30
- Store 229 228
- 230: 6(int) Load 8(invocation)
- 231: 73(ptr) AccessChain 27(data) 39 39
- 232: 20(ivec4) Load 231
- 233: 72(ivec2) VectorShuffle 232 232 0 1
- 234: 72(ivec2) GroupNonUniformQuadSwap 35 233 30
- 235: 73(ptr) AccessChain 27(data) 230 39
- 236: 20(ivec4) Load 235
- 237: 20(ivec4) VectorShuffle 236 234 4 5 2 3
- Store 235 237
- 238: 6(int) Load 8(invocation)
- 239: 73(ptr) AccessChain 27(data) 50 39
- 240: 20(ivec4) Load 239
- 241: 82(ivec3) VectorShuffle 240 240 0 1 2
- 242: 82(ivec3) GroupNonUniformQuadSwap 35 241 30
- 243: 73(ptr) AccessChain 27(data) 238 39
- 244: 20(ivec4) Load 243
- 245: 20(ivec4) VectorShuffle 244 242 4 5 6 3
- Store 243 245
- 246: 6(int) Load 8(invocation)
- 247: 73(ptr) AccessChain 27(data) 60 39
- 248: 20(ivec4) Load 247
- 249: 20(ivec4) GroupNonUniformQuadSwap 35 248 30
- 250: 73(ptr) AccessChain 27(data) 246 39
- Store 250 249
- 251: 6(int) Load 8(invocation)
- 252: 96(ptr) AccessChain 27(data) 29 50 30
- 253: 6(int) Load 252
- 254: 6(int) GroupNonUniformQuadSwap 35 253 30
- 255: 96(ptr) AccessChain 27(data) 251 50 30
- Store 255 254
- 256: 6(int) Load 8(invocation)
- 257: 103(ptr) AccessChain 27(data) 39 50
- 258: 21(ivec4) Load 257
- 259: 102(ivec2) VectorShuffle 258 258 0 1
- 260: 102(ivec2) GroupNonUniformQuadSwap 35 259 30
- 261: 103(ptr) AccessChain 27(data) 256 50
- 262: 21(ivec4) Load 261
- 263: 21(ivec4) VectorShuffle 262 260 4 5 2 3
- Store 261 263
+ 226: 41(ptr) AccessChain 27(data) 39 29
+ 227: 18(fvec4) Load 226
+ 228: 40(fvec2) VectorShuffle 227 227 0 1
+ 229: 40(fvec2) GroupNonUniformQuadSwap 35 228 30
+ 230: 31(ptr) AccessChain 27(data) 225 29 30
+ 231: 17(float) CompositeExtract 229 0
+ Store 230 231
+ 232: 31(ptr) AccessChain 27(data) 225 29 34
+ 233: 17(float) CompositeExtract 229 1
+ Store 232 233
+ 234: 6(int) Load 8(invocation)
+ 235: 41(ptr) AccessChain 27(data) 51 29
+ 236: 18(fvec4) Load 235
+ 237: 52(fvec3) VectorShuffle 236 236 0 1 2
+ 238: 52(fvec3) GroupNonUniformQuadSwap 35 237 30
+ 239: 31(ptr) AccessChain 27(data) 234 29 30
+ 240: 17(float) CompositeExtract 238 0
+ Store 239 240
+ 241: 31(ptr) AccessChain 27(data) 234 29 34
+ 242: 17(float) CompositeExtract 238 1
+ Store 241 242
+ 243: 31(ptr) AccessChain 27(data) 234 29 61
+ 244: 17(float) CompositeExtract 238 2
+ Store 243 244
+ 245: 6(int) Load 8(invocation)
+ 246: 41(ptr) AccessChain 27(data) 65 29
+ 247: 18(fvec4) Load 246
+ 248: 18(fvec4) GroupNonUniformQuadSwap 35 247 30
+ 249: 41(ptr) AccessChain 27(data) 245 29
+ Store 249 248
+ 250: 6(int) Load 8(invocation)
+ 251: 71(ptr) AccessChain 27(data) 29 39 30
+ 252: 19(int) Load 251
+ 253: 19(int) GroupNonUniformQuadSwap 35 252 30
+ 254: 71(ptr) AccessChain 27(data) 250 39 30
+ Store 254 253
+ 255: 6(int) Load 8(invocation)
+ 256: 78(ptr) AccessChain 27(data) 39 39
+ 257: 20(ivec4) Load 256
+ 258: 77(ivec2) VectorShuffle 257 257 0 1
+ 259: 77(ivec2) GroupNonUniformQuadSwap 35 258 30
+ 260: 71(ptr) AccessChain 27(data) 255 39 30
+ 261: 19(int) CompositeExtract 259 0
+ Store 260 261
+ 262: 71(ptr) AccessChain 27(data) 255 39 34
+ 263: 19(int) CompositeExtract 259 1
+ Store 262 263
264: 6(int) Load 8(invocation)
- 265: 103(ptr) AccessChain 27(data) 50 50
- 266: 21(ivec4) Load 265
- 267: 112(ivec3) VectorShuffle 266 266 0 1 2
- 268: 112(ivec3) GroupNonUniformQuadSwap 35 267 30
- 269: 103(ptr) AccessChain 27(data) 264 50
- 270: 21(ivec4) Load 269
- 271: 21(ivec4) VectorShuffle 270 268 4 5 6 3
- Store 269 271
- 272: 6(int) Load 8(invocation)
- 273: 103(ptr) AccessChain 27(data) 60 50
- 274: 21(ivec4) Load 273
- 275: 21(ivec4) GroupNonUniformQuadSwap 35 274 30
- 276: 103(ptr) AccessChain 27(data) 272 50
- Store 276 275
- 277: 6(int) Load 8(invocation)
- 278: 126(ptr) AccessChain 27(data) 29 60 30
- 279:22(float64_t) Load 278
- 280:22(float64_t) GroupNonUniformQuadSwap 35 279 30
- 281: 126(ptr) AccessChain 27(data) 277 60 30
- Store 281 280
- 282: 6(int) Load 8(invocation)
- 283: 133(ptr) AccessChain 27(data) 39 60
- 284: 23(f64vec4) Load 283
- 285:132(f64vec2) VectorShuffle 284 284 0 1
- 286:132(f64vec2) GroupNonUniformQuadSwap 35 285 30
- 287: 133(ptr) AccessChain 27(data) 282 60
- 288: 23(f64vec4) Load 287
- 289: 23(f64vec4) VectorShuffle 288 286 4 5 2 3
- Store 287 289
- 290: 6(int) Load 8(invocation)
- 291: 133(ptr) AccessChain 27(data) 50 60
- 292: 23(f64vec4) Load 291
- 293:142(f64vec3) VectorShuffle 292 292 0 1 2
- 294:142(f64vec3) GroupNonUniformQuadSwap 35 293 30
- 295: 133(ptr) AccessChain 27(data) 290 60
- 296: 23(f64vec4) Load 295
- 297: 23(f64vec4) VectorShuffle 296 294 4 5 6 3
- Store 295 297
- 298: 6(int) Load 8(invocation)
- 299: 133(ptr) AccessChain 27(data) 60 60
- 300: 23(f64vec4) Load 299
- 301: 23(f64vec4) GroupNonUniformQuadSwap 35 300 30
- 302: 133(ptr) AccessChain 27(data) 298 60
- Store 302 301
- 303: 6(int) Load 8(invocation)
- 304: 66(ptr) AccessChain 27(data) 29 39 30
- 305: 19(int) Load 304
- 306: 158(bool) SLessThan 305 29
- 307: 158(bool) GroupNonUniformQuadSwap 35 306 30
- 308: 19(int) Select 307 39 29
- 309: 66(ptr) AccessChain 27(data) 303 39 30
+ 265: 78(ptr) AccessChain 27(data) 51 39
+ 266: 20(ivec4) Load 265
+ 267: 88(ivec3) VectorShuffle 266 266 0 1 2
+ 268: 88(ivec3) GroupNonUniformQuadSwap 35 267 30
+ 269: 71(ptr) AccessChain 27(data) 264 39 30
+ 270: 19(int) CompositeExtract 268 0
+ Store 269 270
+ 271: 71(ptr) AccessChain 27(data) 264 39 34
+ 272: 19(int) CompositeExtract 268 1
+ Store 271 272
+ 273: 71(ptr) AccessChain 27(data) 264 39 61
+ 274: 19(int) CompositeExtract 268 2
+ Store 273 274
+ 275: 6(int) Load 8(invocation)
+ 276: 78(ptr) AccessChain 27(data) 65 39
+ 277: 20(ivec4) Load 276
+ 278: 20(ivec4) GroupNonUniformQuadSwap 35 277 30
+ 279: 78(ptr) AccessChain 27(data) 275 39
+ Store 279 278
+ 280: 6(int) Load 8(invocation)
+ 281: 105(ptr) AccessChain 27(data) 29 51 30
+ 282: 6(int) Load 281
+ 283: 6(int) GroupNonUniformQuadSwap 35 282 30
+ 284: 105(ptr) AccessChain 27(data) 280 51 30
+ Store 284 283
+ 285: 6(int) Load 8(invocation)
+ 286: 112(ptr) AccessChain 27(data) 39 51
+ 287: 21(ivec4) Load 286
+ 288: 111(ivec2) VectorShuffle 287 287 0 1
+ 289: 111(ivec2) GroupNonUniformQuadSwap 35 288 30
+ 290: 105(ptr) AccessChain 27(data) 285 51 30
+ 291: 6(int) CompositeExtract 289 0
+ Store 290 291
+ 292: 105(ptr) AccessChain 27(data) 285 51 34
+ 293: 6(int) CompositeExtract 289 1
+ Store 292 293
+ 294: 6(int) Load 8(invocation)
+ 295: 112(ptr) AccessChain 27(data) 51 51
+ 296: 21(ivec4) Load 295
+ 297: 122(ivec3) VectorShuffle 296 296 0 1 2
+ 298: 122(ivec3) GroupNonUniformQuadSwap 35 297 30
+ 299: 105(ptr) AccessChain 27(data) 294 51 30
+ 300: 6(int) CompositeExtract 298 0
+ Store 299 300
+ 301: 105(ptr) AccessChain 27(data) 294 51 34
+ 302: 6(int) CompositeExtract 298 1
+ Store 301 302
+ 303: 105(ptr) AccessChain 27(data) 294 51 61
+ 304: 6(int) CompositeExtract 298 2
+ Store 303 304
+ 305: 6(int) Load 8(invocation)
+ 306: 112(ptr) AccessChain 27(data) 65 51
+ 307: 21(ivec4) Load 306
+ 308: 21(ivec4) GroupNonUniformQuadSwap 35 307 30
+ 309: 112(ptr) AccessChain 27(data) 305 51
Store 309 308
310: 6(int) Load 8(invocation)
- 311: 73(ptr) AccessChain 27(data) 39 39
- 312: 20(ivec4) Load 311
- 313: 72(ivec2) VectorShuffle 312 312 0 1
- 314: 168(bvec2) SLessThan 313 167
- 315: 168(bvec2) GroupNonUniformQuadSwap 35 314 30
- 316: 72(ivec2) Select 315 171 167
- 317: 73(ptr) AccessChain 27(data) 310 39
- 318: 20(ivec4) Load 317
- 319: 20(ivec4) VectorShuffle 318 316 4 5 2 3
- Store 317 319
- 320: 6(int) Load 8(invocation)
- 321: 73(ptr) AccessChain 27(data) 39 39
- 322: 20(ivec4) Load 321
- 323: 82(ivec3) VectorShuffle 322 322 0 1 2
- 324: 181(bvec3) SLessThan 323 180
- 325: 181(bvec3) GroupNonUniformQuadSwap 35 324 30
- 326: 82(ivec3) Select 325 184 180
- 327: 73(ptr) AccessChain 27(data) 320 39
- 328: 20(ivec4) Load 327
- 329: 20(ivec4) VectorShuffle 328 326 4 5 6 3
- Store 327 329
- 330: 6(int) Load 8(invocation)
- 331: 73(ptr) AccessChain 27(data) 39 39
- 332: 20(ivec4) Load 331
- 333: 193(bvec4) SLessThan 332 192
- 334: 193(bvec4) GroupNonUniformQuadSwap 35 333 30
- 335: 20(ivec4) Select 334 196 192
- 336: 73(ptr) AccessChain 27(data) 330 39
- Store 336 335
- 337: 6(int) Load 8(invocation)
- 338: 31(ptr) AccessChain 27(data) 29 29 30
- 339: 17(float) Load 338
- 340: 17(float) GroupNonUniformQuadSwap 35 339 34
- 341: 31(ptr) AccessChain 27(data) 337 29 30
- Store 341 340
- 342: 6(int) Load 8(invocation)
- 343: 41(ptr) AccessChain 27(data) 39 29
- 344: 18(fvec4) Load 343
- 345: 40(fvec2) VectorShuffle 344 344 0 1
- 346: 40(fvec2) GroupNonUniformQuadSwap 35 345 34
- 347: 41(ptr) AccessChain 27(data) 342 29
- 348: 18(fvec4) Load 347
- 349: 18(fvec4) VectorShuffle 348 346 4 5 2 3
- Store 347 349
- 350: 6(int) Load 8(invocation)
- 351: 41(ptr) AccessChain 27(data) 50 29
- 352: 18(fvec4) Load 351
- 353: 51(fvec3) VectorShuffle 352 352 0 1 2
- 354: 51(fvec3) GroupNonUniformQuadSwap 35 353 34
- 355: 41(ptr) AccessChain 27(data) 350 29
- 356: 18(fvec4) Load 355
- 357: 18(fvec4) VectorShuffle 356 354 4 5 6 3
- Store 355 357
+ 311: 139(ptr) AccessChain 27(data) 29 65 30
+ 312:22(float64_t) Load 311
+ 313:22(float64_t) GroupNonUniformQuadSwap 35 312 30
+ 314: 139(ptr) AccessChain 27(data) 310 65 30
+ Store 314 313
+ 315: 6(int) Load 8(invocation)
+ 316: 146(ptr) AccessChain 27(data) 39 65
+ 317: 23(f64vec4) Load 316
+ 318:145(f64vec2) VectorShuffle 317 317 0 1
+ 319:145(f64vec2) GroupNonUniformQuadSwap 35 318 30
+ 320: 139(ptr) AccessChain 27(data) 315 65 30
+ 321:22(float64_t) CompositeExtract 319 0
+ Store 320 321
+ 322: 139(ptr) AccessChain 27(data) 315 65 34
+ 323:22(float64_t) CompositeExtract 319 1
+ Store 322 323
+ 324: 6(int) Load 8(invocation)
+ 325: 146(ptr) AccessChain 27(data) 51 65
+ 326: 23(f64vec4) Load 325
+ 327:156(f64vec3) VectorShuffle 326 326 0 1 2
+ 328:156(f64vec3) GroupNonUniformQuadSwap 35 327 30
+ 329: 139(ptr) AccessChain 27(data) 324 65 30
+ 330:22(float64_t) CompositeExtract 328 0
+ Store 329 330
+ 331: 139(ptr) AccessChain 27(data) 324 65 34
+ 332:22(float64_t) CompositeExtract 328 1
+ Store 331 332
+ 333: 139(ptr) AccessChain 27(data) 324 65 61
+ 334:22(float64_t) CompositeExtract 328 2
+ Store 333 334
+ 335: 6(int) Load 8(invocation)
+ 336: 146(ptr) AccessChain 27(data) 65 65
+ 337: 23(f64vec4) Load 336
+ 338: 23(f64vec4) GroupNonUniformQuadSwap 35 337 30
+ 339: 146(ptr) AccessChain 27(data) 335 65
+ Store 339 338
+ 340: 6(int) Load 8(invocation)
+ 341: 71(ptr) AccessChain 27(data) 29 39 30
+ 342: 19(int) Load 341
+ 343: 175(bool) SLessThan 342 29
+ 344: 175(bool) GroupNonUniformQuadSwap 35 343 30
+ 345: 19(int) Select 344 39 29
+ 346: 71(ptr) AccessChain 27(data) 340 39 30
+ Store 346 345
+ 347: 6(int) Load 8(invocation)
+ 348: 78(ptr) AccessChain 27(data) 39 39
+ 349: 20(ivec4) Load 348
+ 350: 77(ivec2) VectorShuffle 349 349 0 1
+ 351: 185(bvec2) SLessThan 350 184
+ 352: 185(bvec2) GroupNonUniformQuadSwap 35 351 30
+ 353: 77(ivec2) Select 352 188 184
+ 354: 71(ptr) AccessChain 27(data) 347 39 30
+ 355: 19(int) CompositeExtract 353 0
+ Store 354 355
+ 356: 71(ptr) AccessChain 27(data) 347 39 34
+ 357: 19(int) CompositeExtract 353 1
+ Store 356 357
358: 6(int) Load 8(invocation)
- 359: 41(ptr) AccessChain 27(data) 60 29
- 360: 18(fvec4) Load 359
- 361: 18(fvec4) GroupNonUniformQuadSwap 35 360 34
- 362: 41(ptr) AccessChain 27(data) 358 29
- Store 362 361
- 363: 6(int) Load 8(invocation)
- 364: 66(ptr) AccessChain 27(data) 29 39 30
- 365: 19(int) Load 364
- 366: 19(int) GroupNonUniformQuadSwap 35 365 34
- 367: 66(ptr) AccessChain 27(data) 363 39 30
- Store 367 366
- 368: 6(int) Load 8(invocation)
- 369: 73(ptr) AccessChain 27(data) 39 39
- 370: 20(ivec4) Load 369
- 371: 72(ivec2) VectorShuffle 370 370 0 1
- 372: 72(ivec2) GroupNonUniformQuadSwap 35 371 34
- 373: 73(ptr) AccessChain 27(data) 368 39
- 374: 20(ivec4) Load 373
- 375: 20(ivec4) VectorShuffle 374 372 4 5 2 3
- Store 373 375
- 376: 6(int) Load 8(invocation)
- 377: 73(ptr) AccessChain 27(data) 50 39
- 378: 20(ivec4) Load 377
- 379: 82(ivec3) VectorShuffle 378 378 0 1 2
- 380: 82(ivec3) GroupNonUniformQuadSwap 35 379 34
- 381: 73(ptr) AccessChain 27(data) 376 39
- 382: 20(ivec4) Load 381
- 383: 20(ivec4) VectorShuffle 382 380 4 5 6 3
- Store 381 383
- 384: 6(int) Load 8(invocation)
- 385: 73(ptr) AccessChain 27(data) 60 39
- 386: 20(ivec4) Load 385
- 387: 20(ivec4) GroupNonUniformQuadSwap 35 386 34
- 388: 73(ptr) AccessChain 27(data) 384 39
- Store 388 387
- 389: 6(int) Load 8(invocation)
- 390: 96(ptr) AccessChain 27(data) 29 50 30
- 391: 6(int) Load 390
- 392: 6(int) GroupNonUniformQuadSwap 35 391 34
- 393: 96(ptr) AccessChain 27(data) 389 50 30
- Store 393 392
- 394: 6(int) Load 8(invocation)
- 395: 103(ptr) AccessChain 27(data) 39 50
- 396: 21(ivec4) Load 395
- 397: 102(ivec2) VectorShuffle 396 396 0 1
- 398: 102(ivec2) GroupNonUniformQuadSwap 35 397 34
- 399: 103(ptr) AccessChain 27(data) 394 50
- 400: 21(ivec4) Load 399
- 401: 21(ivec4) VectorShuffle 400 398 4 5 2 3
- Store 399 401
- 402: 6(int) Load 8(invocation)
- 403: 103(ptr) AccessChain 27(data) 50 50
- 404: 21(ivec4) Load 403
- 405: 112(ivec3) VectorShuffle 404 404 0 1 2
- 406: 112(ivec3) GroupNonUniformQuadSwap 35 405 34
- 407: 103(ptr) AccessChain 27(data) 402 50
- 408: 21(ivec4) Load 407
- 409: 21(ivec4) VectorShuffle 408 406 4 5 6 3
- Store 407 409
- 410: 6(int) Load 8(invocation)
- 411: 103(ptr) AccessChain 27(data) 60 50
- 412: 21(ivec4) Load 411
- 413: 21(ivec4) GroupNonUniformQuadSwap 35 412 34
- 414: 103(ptr) AccessChain 27(data) 410 50
- Store 414 413
- 415: 6(int) Load 8(invocation)
- 416: 126(ptr) AccessChain 27(data) 29 60 30
- 417:22(float64_t) Load 416
- 418:22(float64_t) GroupNonUniformQuadSwap 35 417 34
- 419: 126(ptr) AccessChain 27(data) 415 60 30
- Store 419 418
- 420: 6(int) Load 8(invocation)
- 421: 133(ptr) AccessChain 27(data) 39 60
- 422: 23(f64vec4) Load 421
- 423:132(f64vec2) VectorShuffle 422 422 0 1
- 424:132(f64vec2) GroupNonUniformQuadSwap 35 423 34
- 425: 133(ptr) AccessChain 27(data) 420 60
- 426: 23(f64vec4) Load 425
- 427: 23(f64vec4) VectorShuffle 426 424 4 5 2 3
- Store 425 427
- 428: 6(int) Load 8(invocation)
- 429: 133(ptr) AccessChain 27(data) 50 60
- 430: 23(f64vec4) Load 429
- 431:142(f64vec3) VectorShuffle 430 430 0 1 2
- 432:142(f64vec3) GroupNonUniformQuadSwap 35 431 34
- 433: 133(ptr) AccessChain 27(data) 428 60
- 434: 23(f64vec4) Load 433
- 435: 23(f64vec4) VectorShuffle 434 432 4 5 6 3
- Store 433 435
- 436: 6(int) Load 8(invocation)
- 437: 133(ptr) AccessChain 27(data) 60 60
- 438: 23(f64vec4) Load 437
- 439: 23(f64vec4) GroupNonUniformQuadSwap 35 438 34
- 440: 133(ptr) AccessChain 27(data) 436 60
- Store 440 439
- 441: 6(int) Load 8(invocation)
- 442: 66(ptr) AccessChain 27(data) 29 39 30
- 443: 19(int) Load 442
- 444: 158(bool) SLessThan 443 29
- 445: 158(bool) GroupNonUniformQuadSwap 35 444 34
- 446: 19(int) Select 445 39 29
- 447: 66(ptr) AccessChain 27(data) 441 39 30
- Store 447 446
- 448: 6(int) Load 8(invocation)
- 449: 73(ptr) AccessChain 27(data) 39 39
- 450: 20(ivec4) Load 449
- 451: 72(ivec2) VectorShuffle 450 450 0 1
- 452: 168(bvec2) SLessThan 451 167
- 453: 168(bvec2) GroupNonUniformQuadSwap 35 452 34
- 454: 72(ivec2) Select 453 171 167
- 455: 73(ptr) AccessChain 27(data) 448 39
- 456: 20(ivec4) Load 455
- 457: 20(ivec4) VectorShuffle 456 454 4 5 2 3
- Store 455 457
- 458: 6(int) Load 8(invocation)
- 459: 73(ptr) AccessChain 27(data) 39 39
- 460: 20(ivec4) Load 459
- 461: 82(ivec3) VectorShuffle 460 460 0 1 2
- 462: 181(bvec3) SLessThan 461 180
- 463: 181(bvec3) GroupNonUniformQuadSwap 35 462 34
- 464: 82(ivec3) Select 463 184 180
- 465: 73(ptr) AccessChain 27(data) 458 39
- 466: 20(ivec4) Load 465
- 467: 20(ivec4) VectorShuffle 466 464 4 5 6 3
- Store 465 467
+ 359: 78(ptr) AccessChain 27(data) 39 39
+ 360: 20(ivec4) Load 359
+ 361: 88(ivec3) VectorShuffle 360 360 0 1 2
+ 362: 199(bvec3) SLessThan 361 198
+ 363: 199(bvec3) GroupNonUniformQuadSwap 35 362 30
+ 364: 88(ivec3) Select 363 202 198
+ 365: 71(ptr) AccessChain 27(data) 358 39 30
+ 366: 19(int) CompositeExtract 364 0
+ Store 365 366
+ 367: 71(ptr) AccessChain 27(data) 358 39 34
+ 368: 19(int) CompositeExtract 364 1
+ Store 367 368
+ 369: 71(ptr) AccessChain 27(data) 358 39 61
+ 370: 19(int) CompositeExtract 364 2
+ Store 369 370
+ 371: 6(int) Load 8(invocation)
+ 372: 78(ptr) AccessChain 27(data) 39 39
+ 373: 20(ivec4) Load 372
+ 374: 214(bvec4) SLessThan 373 213
+ 375: 214(bvec4) GroupNonUniformQuadSwap 35 374 30
+ 376: 20(ivec4) Select 375 217 213
+ 377: 78(ptr) AccessChain 27(data) 371 39
+ Store 377 376
+ 378: 6(int) Load 8(invocation)
+ 379: 31(ptr) AccessChain 27(data) 29 29 30
+ 380: 17(float) Load 379
+ 381: 17(float) GroupNonUniformQuadSwap 35 380 34
+ 382: 31(ptr) AccessChain 27(data) 378 29 30
+ Store 382 381
+ 383: 6(int) Load 8(invocation)
+ 384: 41(ptr) AccessChain 27(data) 39 29
+ 385: 18(fvec4) Load 384
+ 386: 40(fvec2) VectorShuffle 385 385 0 1
+ 387: 40(fvec2) GroupNonUniformQuadSwap 35 386 34
+ 388: 31(ptr) AccessChain 27(data) 383 29 30
+ 389: 17(float) CompositeExtract 387 0
+ Store 388 389
+ 390: 31(ptr) AccessChain 27(data) 383 29 34
+ 391: 17(float) CompositeExtract 387 1
+ Store 390 391
+ 392: 6(int) Load 8(invocation)
+ 393: 41(ptr) AccessChain 27(data) 51 29
+ 394: 18(fvec4) Load 393
+ 395: 52(fvec3) VectorShuffle 394 394 0 1 2
+ 396: 52(fvec3) GroupNonUniformQuadSwap 35 395 34
+ 397: 31(ptr) AccessChain 27(data) 392 29 30
+ 398: 17(float) CompositeExtract 396 0
+ Store 397 398
+ 399: 31(ptr) AccessChain 27(data) 392 29 34
+ 400: 17(float) CompositeExtract 396 1
+ Store 399 400
+ 401: 31(ptr) AccessChain 27(data) 392 29 61
+ 402: 17(float) CompositeExtract 396 2
+ Store 401 402
+ 403: 6(int) Load 8(invocation)
+ 404: 41(ptr) AccessChain 27(data) 65 29
+ 405: 18(fvec4) Load 404
+ 406: 18(fvec4) GroupNonUniformQuadSwap 35 405 34
+ 407: 41(ptr) AccessChain 27(data) 403 29
+ Store 407 406
+ 408: 6(int) Load 8(invocation)
+ 409: 71(ptr) AccessChain 27(data) 29 39 30
+ 410: 19(int) Load 409
+ 411: 19(int) GroupNonUniformQuadSwap 35 410 34
+ 412: 71(ptr) AccessChain 27(data) 408 39 30
+ Store 412 411
+ 413: 6(int) Load 8(invocation)
+ 414: 78(ptr) AccessChain 27(data) 39 39
+ 415: 20(ivec4) Load 414
+ 416: 77(ivec2) VectorShuffle 415 415 0 1
+ 417: 77(ivec2) GroupNonUniformQuadSwap 35 416 34
+ 418: 71(ptr) AccessChain 27(data) 413 39 30
+ 419: 19(int) CompositeExtract 417 0
+ Store 418 419
+ 420: 71(ptr) AccessChain 27(data) 413 39 34
+ 421: 19(int) CompositeExtract 417 1
+ Store 420 421
+ 422: 6(int) Load 8(invocation)
+ 423: 78(ptr) AccessChain 27(data) 51 39
+ 424: 20(ivec4) Load 423
+ 425: 88(ivec3) VectorShuffle 424 424 0 1 2
+ 426: 88(ivec3) GroupNonUniformQuadSwap 35 425 34
+ 427: 71(ptr) AccessChain 27(data) 422 39 30
+ 428: 19(int) CompositeExtract 426 0
+ Store 427 428
+ 429: 71(ptr) AccessChain 27(data) 422 39 34
+ 430: 19(int) CompositeExtract 426 1
+ Store 429 430
+ 431: 71(ptr) AccessChain 27(data) 422 39 61
+ 432: 19(int) CompositeExtract 426 2
+ Store 431 432
+ 433: 6(int) Load 8(invocation)
+ 434: 78(ptr) AccessChain 27(data) 65 39
+ 435: 20(ivec4) Load 434
+ 436: 20(ivec4) GroupNonUniformQuadSwap 35 435 34
+ 437: 78(ptr) AccessChain 27(data) 433 39
+ Store 437 436
+ 438: 6(int) Load 8(invocation)
+ 439: 105(ptr) AccessChain 27(data) 29 51 30
+ 440: 6(int) Load 439
+ 441: 6(int) GroupNonUniformQuadSwap 35 440 34
+ 442: 105(ptr) AccessChain 27(data) 438 51 30
+ Store 442 441
+ 443: 6(int) Load 8(invocation)
+ 444: 112(ptr) AccessChain 27(data) 39 51
+ 445: 21(ivec4) Load 444
+ 446: 111(ivec2) VectorShuffle 445 445 0 1
+ 447: 111(ivec2) GroupNonUniformQuadSwap 35 446 34
+ 448: 105(ptr) AccessChain 27(data) 443 51 30
+ 449: 6(int) CompositeExtract 447 0
+ Store 448 449
+ 450: 105(ptr) AccessChain 27(data) 443 51 34
+ 451: 6(int) CompositeExtract 447 1
+ Store 450 451
+ 452: 6(int) Load 8(invocation)
+ 453: 112(ptr) AccessChain 27(data) 51 51
+ 454: 21(ivec4) Load 453
+ 455: 122(ivec3) VectorShuffle 454 454 0 1 2
+ 456: 122(ivec3) GroupNonUniformQuadSwap 35 455 34
+ 457: 105(ptr) AccessChain 27(data) 452 51 30
+ 458: 6(int) CompositeExtract 456 0
+ Store 457 458
+ 459: 105(ptr) AccessChain 27(data) 452 51 34
+ 460: 6(int) CompositeExtract 456 1
+ Store 459 460
+ 461: 105(ptr) AccessChain 27(data) 452 51 61
+ 462: 6(int) CompositeExtract 456 2
+ Store 461 462
+ 463: 6(int) Load 8(invocation)
+ 464: 112(ptr) AccessChain 27(data) 65 51
+ 465: 21(ivec4) Load 464
+ 466: 21(ivec4) GroupNonUniformQuadSwap 35 465 34
+ 467: 112(ptr) AccessChain 27(data) 463 51
+ Store 467 466
468: 6(int) Load 8(invocation)
- 469: 73(ptr) AccessChain 27(data) 39 39
- 470: 20(ivec4) Load 469
- 471: 193(bvec4) SLessThan 470 192
- 472: 193(bvec4) GroupNonUniformQuadSwap 35 471 34
- 473: 20(ivec4) Select 472 196 192
- 474: 73(ptr) AccessChain 27(data) 468 39
- Store 474 473
- 475: 6(int) Load 8(invocation)
- 476: 31(ptr) AccessChain 27(data) 29 29 30
- 477: 17(float) Load 476
- 479: 17(float) GroupNonUniformQuadSwap 35 477 478
- 480: 31(ptr) AccessChain 27(data) 475 29 30
- Store 480 479
- 481: 6(int) Load 8(invocation)
- 482: 41(ptr) AccessChain 27(data) 39 29
- 483: 18(fvec4) Load 482
- 484: 40(fvec2) VectorShuffle 483 483 0 1
- 485: 40(fvec2) GroupNonUniformQuadSwap 35 484 478
- 486: 41(ptr) AccessChain 27(data) 481 29
- 487: 18(fvec4) Load 486
- 488: 18(fvec4) VectorShuffle 487 485 4 5 2 3
- Store 486 488
- 489: 6(int) Load 8(invocation)
- 490: 41(ptr) AccessChain 27(data) 50 29
- 491: 18(fvec4) Load 490
- 492: 51(fvec3) VectorShuffle 491 491 0 1 2
- 493: 51(fvec3) GroupNonUniformQuadSwap 35 492 478
- 494: 41(ptr) AccessChain 27(data) 489 29
- 495: 18(fvec4) Load 494
- 496: 18(fvec4) VectorShuffle 495 493 4 5 6 3
- Store 494 496
- 497: 6(int) Load 8(invocation)
- 498: 41(ptr) AccessChain 27(data) 60 29
- 499: 18(fvec4) Load 498
- 500: 18(fvec4) GroupNonUniformQuadSwap 35 499 478
- 501: 41(ptr) AccessChain 27(data) 497 29
- Store 501 500
- 502: 6(int) Load 8(invocation)
- 503: 66(ptr) AccessChain 27(data) 29 39 30
- 504: 19(int) Load 503
- 505: 19(int) GroupNonUniformQuadSwap 35 504 478
- 506: 66(ptr) AccessChain 27(data) 502 39 30
- Store 506 505
- 507: 6(int) Load 8(invocation)
- 508: 73(ptr) AccessChain 27(data) 39 39
- 509: 20(ivec4) Load 508
- 510: 72(ivec2) VectorShuffle 509 509 0 1
- 511: 72(ivec2) GroupNonUniformQuadSwap 35 510 478
- 512: 73(ptr) AccessChain 27(data) 507 39
- 513: 20(ivec4) Load 512
- 514: 20(ivec4) VectorShuffle 513 511 4 5 2 3
- Store 512 514
- 515: 6(int) Load 8(invocation)
- 516: 73(ptr) AccessChain 27(data) 50 39
- 517: 20(ivec4) Load 516
- 518: 82(ivec3) VectorShuffle 517 517 0 1 2
- 519: 82(ivec3) GroupNonUniformQuadSwap 35 518 478
- 520: 73(ptr) AccessChain 27(data) 515 39
- 521: 20(ivec4) Load 520
- 522: 20(ivec4) VectorShuffle 521 519 4 5 6 3
- Store 520 522
- 523: 6(int) Load 8(invocation)
- 524: 73(ptr) AccessChain 27(data) 60 39
- 525: 20(ivec4) Load 524
- 526: 20(ivec4) GroupNonUniformQuadSwap 35 525 478
- 527: 73(ptr) AccessChain 27(data) 523 39
- Store 527 526
- 528: 6(int) Load 8(invocation)
- 529: 96(ptr) AccessChain 27(data) 29 50 30
- 530: 6(int) Load 529
- 531: 6(int) GroupNonUniformQuadSwap 35 530 478
- 532: 96(ptr) AccessChain 27(data) 528 50 30
- Store 532 531
- 533: 6(int) Load 8(invocation)
- 534: 103(ptr) AccessChain 27(data) 39 50
- 535: 21(ivec4) Load 534
- 536: 102(ivec2) VectorShuffle 535 535 0 1
- 537: 102(ivec2) GroupNonUniformQuadSwap 35 536 478
- 538: 103(ptr) AccessChain 27(data) 533 50
- 539: 21(ivec4) Load 538
- 540: 21(ivec4) VectorShuffle 539 537 4 5 2 3
- Store 538 540
+ 469: 139(ptr) AccessChain 27(data) 29 65 30
+ 470:22(float64_t) Load 469
+ 471:22(float64_t) GroupNonUniformQuadSwap 35 470 34
+ 472: 139(ptr) AccessChain 27(data) 468 65 30
+ Store 472 471
+ 473: 6(int) Load 8(invocation)
+ 474: 146(ptr) AccessChain 27(data) 39 65
+ 475: 23(f64vec4) Load 474
+ 476:145(f64vec2) VectorShuffle 475 475 0 1
+ 477:145(f64vec2) GroupNonUniformQuadSwap 35 476 34
+ 478: 139(ptr) AccessChain 27(data) 473 65 30
+ 479:22(float64_t) CompositeExtract 477 0
+ Store 478 479
+ 480: 139(ptr) AccessChain 27(data) 473 65 34
+ 481:22(float64_t) CompositeExtract 477 1
+ Store 480 481
+ 482: 6(int) Load 8(invocation)
+ 483: 146(ptr) AccessChain 27(data) 51 65
+ 484: 23(f64vec4) Load 483
+ 485:156(f64vec3) VectorShuffle 484 484 0 1 2
+ 486:156(f64vec3) GroupNonUniformQuadSwap 35 485 34
+ 487: 139(ptr) AccessChain 27(data) 482 65 30
+ 488:22(float64_t) CompositeExtract 486 0
+ Store 487 488
+ 489: 139(ptr) AccessChain 27(data) 482 65 34
+ 490:22(float64_t) CompositeExtract 486 1
+ Store 489 490
+ 491: 139(ptr) AccessChain 27(data) 482 65 61
+ 492:22(float64_t) CompositeExtract 486 2
+ Store 491 492
+ 493: 6(int) Load 8(invocation)
+ 494: 146(ptr) AccessChain 27(data) 65 65
+ 495: 23(f64vec4) Load 494
+ 496: 23(f64vec4) GroupNonUniformQuadSwap 35 495 34
+ 497: 146(ptr) AccessChain 27(data) 493 65
+ Store 497 496
+ 498: 6(int) Load 8(invocation)
+ 499: 71(ptr) AccessChain 27(data) 29 39 30
+ 500: 19(int) Load 499
+ 501: 175(bool) SLessThan 500 29
+ 502: 175(bool) GroupNonUniformQuadSwap 35 501 34
+ 503: 19(int) Select 502 39 29
+ 504: 71(ptr) AccessChain 27(data) 498 39 30
+ Store 504 503
+ 505: 6(int) Load 8(invocation)
+ 506: 78(ptr) AccessChain 27(data) 39 39
+ 507: 20(ivec4) Load 506
+ 508: 77(ivec2) VectorShuffle 507 507 0 1
+ 509: 185(bvec2) SLessThan 508 184
+ 510: 185(bvec2) GroupNonUniformQuadSwap 35 509 34
+ 511: 77(ivec2) Select 510 188 184
+ 512: 71(ptr) AccessChain 27(data) 505 39 30
+ 513: 19(int) CompositeExtract 511 0
+ Store 512 513
+ 514: 71(ptr) AccessChain 27(data) 505 39 34
+ 515: 19(int) CompositeExtract 511 1
+ Store 514 515
+ 516: 6(int) Load 8(invocation)
+ 517: 78(ptr) AccessChain 27(data) 39 39
+ 518: 20(ivec4) Load 517
+ 519: 88(ivec3) VectorShuffle 518 518 0 1 2
+ 520: 199(bvec3) SLessThan 519 198
+ 521: 199(bvec3) GroupNonUniformQuadSwap 35 520 34
+ 522: 88(ivec3) Select 521 202 198
+ 523: 71(ptr) AccessChain 27(data) 516 39 30
+ 524: 19(int) CompositeExtract 522 0
+ Store 523 524
+ 525: 71(ptr) AccessChain 27(data) 516 39 34
+ 526: 19(int) CompositeExtract 522 1
+ Store 525 526
+ 527: 71(ptr) AccessChain 27(data) 516 39 61
+ 528: 19(int) CompositeExtract 522 2
+ Store 527 528
+ 529: 6(int) Load 8(invocation)
+ 530: 78(ptr) AccessChain 27(data) 39 39
+ 531: 20(ivec4) Load 530
+ 532: 214(bvec4) SLessThan 531 213
+ 533: 214(bvec4) GroupNonUniformQuadSwap 35 532 34
+ 534: 20(ivec4) Select 533 217 213
+ 535: 78(ptr) AccessChain 27(data) 529 39
+ Store 535 534
+ 536: 6(int) Load 8(invocation)
+ 537: 31(ptr) AccessChain 27(data) 29 29 30
+ 538: 17(float) Load 537
+ 539: 17(float) GroupNonUniformQuadSwap 35 538 61
+ 540: 31(ptr) AccessChain 27(data) 536 29 30
+ Store 540 539
541: 6(int) Load 8(invocation)
- 542: 103(ptr) AccessChain 27(data) 50 50
- 543: 21(ivec4) Load 542
- 544: 112(ivec3) VectorShuffle 543 543 0 1 2
- 545: 112(ivec3) GroupNonUniformQuadSwap 35 544 478
- 546: 103(ptr) AccessChain 27(data) 541 50
- 547: 21(ivec4) Load 546
- 548: 21(ivec4) VectorShuffle 547 545 4 5 6 3
- Store 546 548
- 549: 6(int) Load 8(invocation)
- 550: 103(ptr) AccessChain 27(data) 60 50
- 551: 21(ivec4) Load 550
- 552: 21(ivec4) GroupNonUniformQuadSwap 35 551 478
- 553: 103(ptr) AccessChain 27(data) 549 50
- Store 553 552
- 554: 6(int) Load 8(invocation)
- 555: 126(ptr) AccessChain 27(data) 29 60 30
- 556:22(float64_t) Load 555
- 557:22(float64_t) GroupNonUniformQuadSwap 35 556 478
- 558: 126(ptr) AccessChain 27(data) 554 60 30
- Store 558 557
- 559: 6(int) Load 8(invocation)
- 560: 133(ptr) AccessChain 27(data) 39 60
- 561: 23(f64vec4) Load 560
- 562:132(f64vec2) VectorShuffle 561 561 0 1
- 563:132(f64vec2) GroupNonUniformQuadSwap 35 562 478
- 564: 133(ptr) AccessChain 27(data) 559 60
- 565: 23(f64vec4) Load 564
- 566: 23(f64vec4) VectorShuffle 565 563 4 5 2 3
- Store 564 566
- 567: 6(int) Load 8(invocation)
- 568: 133(ptr) AccessChain 27(data) 50 60
- 569: 23(f64vec4) Load 568
- 570:142(f64vec3) VectorShuffle 569 569 0 1 2
- 571:142(f64vec3) GroupNonUniformQuadSwap 35 570 478
- 572: 133(ptr) AccessChain 27(data) 567 60
- 573: 23(f64vec4) Load 572
- 574: 23(f64vec4) VectorShuffle 573 571 4 5 6 3
- Store 572 574
- 575: 6(int) Load 8(invocation)
- 576: 133(ptr) AccessChain 27(data) 60 60
- 577: 23(f64vec4) Load 576
- 578: 23(f64vec4) GroupNonUniformQuadSwap 35 577 478
- 579: 133(ptr) AccessChain 27(data) 575 60
- Store 579 578
+ 542: 41(ptr) AccessChain 27(data) 39 29
+ 543: 18(fvec4) Load 542
+ 544: 40(fvec2) VectorShuffle 543 543 0 1
+ 545: 40(fvec2) GroupNonUniformQuadSwap 35 544 61
+ 546: 31(ptr) AccessChain 27(data) 541 29 30
+ 547: 17(float) CompositeExtract 545 0
+ Store 546 547
+ 548: 31(ptr) AccessChain 27(data) 541 29 34
+ 549: 17(float) CompositeExtract 545 1
+ Store 548 549
+ 550: 6(int) Load 8(invocation)
+ 551: 41(ptr) AccessChain 27(data) 51 29
+ 552: 18(fvec4) Load 551
+ 553: 52(fvec3) VectorShuffle 552 552 0 1 2
+ 554: 52(fvec3) GroupNonUniformQuadSwap 35 553 61
+ 555: 31(ptr) AccessChain 27(data) 550 29 30
+ 556: 17(float) CompositeExtract 554 0
+ Store 555 556
+ 557: 31(ptr) AccessChain 27(data) 550 29 34
+ 558: 17(float) CompositeExtract 554 1
+ Store 557 558
+ 559: 31(ptr) AccessChain 27(data) 550 29 61
+ 560: 17(float) CompositeExtract 554 2
+ Store 559 560
+ 561: 6(int) Load 8(invocation)
+ 562: 41(ptr) AccessChain 27(data) 65 29
+ 563: 18(fvec4) Load 562
+ 564: 18(fvec4) GroupNonUniformQuadSwap 35 563 61
+ 565: 41(ptr) AccessChain 27(data) 561 29
+ Store 565 564
+ 566: 6(int) Load 8(invocation)
+ 567: 71(ptr) AccessChain 27(data) 29 39 30
+ 568: 19(int) Load 567
+ 569: 19(int) GroupNonUniformQuadSwap 35 568 61
+ 570: 71(ptr) AccessChain 27(data) 566 39 30
+ Store 570 569
+ 571: 6(int) Load 8(invocation)
+ 572: 78(ptr) AccessChain 27(data) 39 39
+ 573: 20(ivec4) Load 572
+ 574: 77(ivec2) VectorShuffle 573 573 0 1
+ 575: 77(ivec2) GroupNonUniformQuadSwap 35 574 61
+ 576: 71(ptr) AccessChain 27(data) 571 39 30
+ 577: 19(int) CompositeExtract 575 0
+ Store 576 577
+ 578: 71(ptr) AccessChain 27(data) 571 39 34
+ 579: 19(int) CompositeExtract 575 1
+ Store 578 579
580: 6(int) Load 8(invocation)
- 581: 66(ptr) AccessChain 27(data) 29 39 30
- 582: 19(int) Load 581
- 583: 158(bool) SLessThan 582 29
- 584: 158(bool) GroupNonUniformQuadSwap 35 583 478
- 585: 19(int) Select 584 39 29
- 586: 66(ptr) AccessChain 27(data) 580 39 30
- Store 586 585
- 587: 6(int) Load 8(invocation)
- 588: 73(ptr) AccessChain 27(data) 39 39
- 589: 20(ivec4) Load 588
- 590: 72(ivec2) VectorShuffle 589 589 0 1
- 591: 168(bvec2) SLessThan 590 167
- 592: 168(bvec2) GroupNonUniformQuadSwap 35 591 478
- 593: 72(ivec2) Select 592 171 167
- 594: 73(ptr) AccessChain 27(data) 587 39
- 595: 20(ivec4) Load 594
- 596: 20(ivec4) VectorShuffle 595 593 4 5 2 3
- Store 594 596
- 597: 6(int) Load 8(invocation)
- 598: 73(ptr) AccessChain 27(data) 39 39
- 599: 20(ivec4) Load 598
- 600: 82(ivec3) VectorShuffle 599 599 0 1 2
- 601: 181(bvec3) SLessThan 600 180
- 602: 181(bvec3) GroupNonUniformQuadSwap 35 601 478
- 603: 82(ivec3) Select 602 184 180
- 604: 73(ptr) AccessChain 27(data) 597 39
- 605: 20(ivec4) Load 604
- 606: 20(ivec4) VectorShuffle 605 603 4 5 6 3
- Store 604 606
- 607: 6(int) Load 8(invocation)
- 608: 73(ptr) AccessChain 27(data) 39 39
- 609: 20(ivec4) Load 608
- 610: 193(bvec4) SLessThan 609 192
- 611: 193(bvec4) GroupNonUniformQuadSwap 35 610 478
- 612: 20(ivec4) Select 611 196 192
- 613: 73(ptr) AccessChain 27(data) 607 39
- Store 613 612
+ 581: 78(ptr) AccessChain 27(data) 51 39
+ 582: 20(ivec4) Load 581
+ 583: 88(ivec3) VectorShuffle 582 582 0 1 2
+ 584: 88(ivec3) GroupNonUniformQuadSwap 35 583 61
+ 585: 71(ptr) AccessChain 27(data) 580 39 30
+ 586: 19(int) CompositeExtract 584 0
+ Store 585 586
+ 587: 71(ptr) AccessChain 27(data) 580 39 34
+ 588: 19(int) CompositeExtract 584 1
+ Store 587 588
+ 589: 71(ptr) AccessChain 27(data) 580 39 61
+ 590: 19(int) CompositeExtract 584 2
+ Store 589 590
+ 591: 6(int) Load 8(invocation)
+ 592: 78(ptr) AccessChain 27(data) 65 39
+ 593: 20(ivec4) Load 592
+ 594: 20(ivec4) GroupNonUniformQuadSwap 35 593 61
+ 595: 78(ptr) AccessChain 27(data) 591 39
+ Store 595 594
+ 596: 6(int) Load 8(invocation)
+ 597: 105(ptr) AccessChain 27(data) 29 51 30
+ 598: 6(int) Load 597
+ 599: 6(int) GroupNonUniformQuadSwap 35 598 61
+ 600: 105(ptr) AccessChain 27(data) 596 51 30
+ Store 600 599
+ 601: 6(int) Load 8(invocation)
+ 602: 112(ptr) AccessChain 27(data) 39 51
+ 603: 21(ivec4) Load 602
+ 604: 111(ivec2) VectorShuffle 603 603 0 1
+ 605: 111(ivec2) GroupNonUniformQuadSwap 35 604 61
+ 606: 105(ptr) AccessChain 27(data) 601 51 30
+ 607: 6(int) CompositeExtract 605 0
+ Store 606 607
+ 608: 105(ptr) AccessChain 27(data) 601 51 34
+ 609: 6(int) CompositeExtract 605 1
+ Store 608 609
+ 610: 6(int) Load 8(invocation)
+ 611: 112(ptr) AccessChain 27(data) 51 51
+ 612: 21(ivec4) Load 611
+ 613: 122(ivec3) VectorShuffle 612 612 0 1 2
+ 614: 122(ivec3) GroupNonUniformQuadSwap 35 613 61
+ 615: 105(ptr) AccessChain 27(data) 610 51 30
+ 616: 6(int) CompositeExtract 614 0
+ Store 615 616
+ 617: 105(ptr) AccessChain 27(data) 610 51 34
+ 618: 6(int) CompositeExtract 614 1
+ Store 617 618
+ 619: 105(ptr) AccessChain 27(data) 610 51 61
+ 620: 6(int) CompositeExtract 614 2
+ Store 619 620
+ 621: 6(int) Load 8(invocation)
+ 622: 112(ptr) AccessChain 27(data) 65 51
+ 623: 21(ivec4) Load 622
+ 624: 21(ivec4) GroupNonUniformQuadSwap 35 623 61
+ 625: 112(ptr) AccessChain 27(data) 621 51
+ Store 625 624
+ 626: 6(int) Load 8(invocation)
+ 627: 139(ptr) AccessChain 27(data) 29 65 30
+ 628:22(float64_t) Load 627
+ 629:22(float64_t) GroupNonUniformQuadSwap 35 628 61
+ 630: 139(ptr) AccessChain 27(data) 626 65 30
+ Store 630 629
+ 631: 6(int) Load 8(invocation)
+ 632: 146(ptr) AccessChain 27(data) 39 65
+ 633: 23(f64vec4) Load 632
+ 634:145(f64vec2) VectorShuffle 633 633 0 1
+ 635:145(f64vec2) GroupNonUniformQuadSwap 35 634 61
+ 636: 139(ptr) AccessChain 27(data) 631 65 30
+ 637:22(float64_t) CompositeExtract 635 0
+ Store 636 637
+ 638: 139(ptr) AccessChain 27(data) 631 65 34
+ 639:22(float64_t) CompositeExtract 635 1
+ Store 638 639
+ 640: 6(int) Load 8(invocation)
+ 641: 146(ptr) AccessChain 27(data) 51 65
+ 642: 23(f64vec4) Load 641
+ 643:156(f64vec3) VectorShuffle 642 642 0 1 2
+ 644:156(f64vec3) GroupNonUniformQuadSwap 35 643 61
+ 645: 139(ptr) AccessChain 27(data) 640 65 30
+ 646:22(float64_t) CompositeExtract 644 0
+ Store 645 646
+ 647: 139(ptr) AccessChain 27(data) 640 65 34
+ 648:22(float64_t) CompositeExtract 644 1
+ Store 647 648
+ 649: 139(ptr) AccessChain 27(data) 640 65 61
+ 650:22(float64_t) CompositeExtract 644 2
+ Store 649 650
+ 651: 6(int) Load 8(invocation)
+ 652: 146(ptr) AccessChain 27(data) 65 65
+ 653: 23(f64vec4) Load 652
+ 654: 23(f64vec4) GroupNonUniformQuadSwap 35 653 61
+ 655: 146(ptr) AccessChain 27(data) 651 65
+ Store 655 654
+ 656: 6(int) Load 8(invocation)
+ 657: 71(ptr) AccessChain 27(data) 29 39 30
+ 658: 19(int) Load 657
+ 659: 175(bool) SLessThan 658 29
+ 660: 175(bool) GroupNonUniformQuadSwap 35 659 61
+ 661: 19(int) Select 660 39 29
+ 662: 71(ptr) AccessChain 27(data) 656 39 30
+ Store 662 661
+ 663: 6(int) Load 8(invocation)
+ 664: 78(ptr) AccessChain 27(data) 39 39
+ 665: 20(ivec4) Load 664
+ 666: 77(ivec2) VectorShuffle 665 665 0 1
+ 667: 185(bvec2) SLessThan 666 184
+ 668: 185(bvec2) GroupNonUniformQuadSwap 35 667 61
+ 669: 77(ivec2) Select 668 188 184
+ 670: 71(ptr) AccessChain 27(data) 663 39 30
+ 671: 19(int) CompositeExtract 669 0
+ Store 670 671
+ 672: 71(ptr) AccessChain 27(data) 663 39 34
+ 673: 19(int) CompositeExtract 669 1
+ Store 672 673
+ 674: 6(int) Load 8(invocation)
+ 675: 78(ptr) AccessChain 27(data) 39 39
+ 676: 20(ivec4) Load 675
+ 677: 88(ivec3) VectorShuffle 676 676 0 1 2
+ 678: 199(bvec3) SLessThan 677 198
+ 679: 199(bvec3) GroupNonUniformQuadSwap 35 678 61
+ 680: 88(ivec3) Select 679 202 198
+ 681: 71(ptr) AccessChain 27(data) 674 39 30
+ 682: 19(int) CompositeExtract 680 0
+ Store 681 682
+ 683: 71(ptr) AccessChain 27(data) 674 39 34
+ 684: 19(int) CompositeExtract 680 1
+ Store 683 684
+ 685: 71(ptr) AccessChain 27(data) 674 39 61
+ 686: 19(int) CompositeExtract 680 2
+ Store 685 686
+ 687: 6(int) Load 8(invocation)
+ 688: 78(ptr) AccessChain 27(data) 39 39
+ 689: 20(ivec4) Load 688
+ 690: 214(bvec4) SLessThan 689 213
+ 691: 214(bvec4) GroupNonUniformQuadSwap 35 690 61
+ 692: 20(ivec4) Select 691 217 213
+ 693: 78(ptr) AccessChain 27(data) 687 39
+ Store 693 692
Return
FunctionEnd
diff --git a/Test/baseResults/spv.subgroupShuffle.comp.out b/Test/baseResults/spv.subgroupShuffle.comp.out
index b160c5f..02cf89f 100644
--- a/Test/baseResults/spv.subgroupShuffle.comp.out
+++ b/Test/baseResults/spv.subgroupShuffle.comp.out
@@ -1,7 +1,7 @@
spv.subgroupShuffle.comp
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 379
+// Id's are bound by 420
Capability Shader
Capability Float64
@@ -39,7 +39,7 @@
Decorate 24(Buffers) Block
Decorate 27(data) DescriptorSet 0
Decorate 27(data) Binding 0
- Decorate 378 BuiltIn WorkgroupSize
+ Decorate 419 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -66,34 +66,35 @@
39: 19(int) Constant 1
40: TypeVector 17(float) 2
41: TypePointer StorageBuffer 18(fvec4)
- 51: 19(int) Constant 2
- 52: TypeVector 17(float) 3
- 62: 19(int) Constant 3
- 69: TypePointer StorageBuffer 19(int)
- 76: TypeVector 19(int) 2
- 77: TypePointer StorageBuffer 20(ivec4)
- 87: TypeVector 19(int) 3
- 103: TypePointer StorageBuffer 6(int)
- 110: TypeVector 6(int) 2
- 111: TypePointer StorageBuffer 21(ivec4)
- 121: TypeVector 6(int) 3
- 137: TypePointer StorageBuffer 22(float64_t)
- 144: TypeVector 22(float64_t) 2
- 145: TypePointer StorageBuffer 23(f64vec4)
- 155: TypeVector 22(float64_t) 3
- 173: TypeBool
- 183: 76(ivec2) ConstantComposite 29 29
- 184: TypeVector 173(bool) 2
- 188: 76(ivec2) ConstantComposite 39 39
- 197: 87(ivec3) ConstantComposite 29 29 29
- 198: TypeVector 173(bool) 3
- 202: 87(ivec3) ConstantComposite 39 39 39
- 210: 20(ivec4) ConstantComposite 29 29 29 29
- 211: TypeVector 173(bool) 4
- 215: 20(ivec4) ConstantComposite 39 39 39 39
- 376: 6(int) Constant 8
- 377: 6(int) Constant 1
- 378: 121(ivec3) ConstantComposite 376 376 377
+ 49: 6(int) Constant 1
+ 53: 19(int) Constant 2
+ 54: TypeVector 17(float) 3
+ 64: 6(int) Constant 2
+ 68: 19(int) Constant 3
+ 75: TypePointer StorageBuffer 19(int)
+ 82: TypeVector 19(int) 2
+ 83: TypePointer StorageBuffer 20(ivec4)
+ 94: TypeVector 19(int) 3
+ 113: TypePointer StorageBuffer 6(int)
+ 120: TypeVector 6(int) 2
+ 121: TypePointer StorageBuffer 21(ivec4)
+ 132: TypeVector 6(int) 3
+ 151: TypePointer StorageBuffer 22(float64_t)
+ 158: TypeVector 22(float64_t) 2
+ 159: TypePointer StorageBuffer 23(f64vec4)
+ 170: TypeVector 22(float64_t) 3
+ 191: TypeBool
+ 201: 82(ivec2) ConstantComposite 29 29
+ 202: TypeVector 191(bool) 2
+ 206: 82(ivec2) ConstantComposite 39 39
+ 216: 94(ivec3) ConstantComposite 29 29 29
+ 217: TypeVector 191(bool) 3
+ 221: 94(ivec3) ConstantComposite 39 39 39
+ 232: 20(ivec4) ConstantComposite 29 29 29 29
+ 233: TypeVector 191(bool) 4
+ 237: 20(ivec4) ConstantComposite 39 39 39 39
+ 418: 6(int) Constant 8
+ 419: 132(ivec3) ConstantComposite 418 418 49
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@@ -115,348 +116,418 @@
44: 40(fvec2) VectorShuffle 43 43 0 1
45: 6(int) Load 8(invocation)
46: 40(fvec2) GroupNonUniformShuffle 35 44 45
- 47: 41(ptr) AccessChain 27(data) 38 29
- 48: 18(fvec4) Load 47
- 49: 18(fvec4) VectorShuffle 48 46 4 5 2 3
- Store 47 49
- 50: 6(int) Load 8(invocation)
- 53: 41(ptr) AccessChain 27(data) 51 29
- 54: 18(fvec4) Load 53
- 55: 52(fvec3) VectorShuffle 54 54 0 1 2
- 56: 6(int) Load 8(invocation)
- 57: 52(fvec3) GroupNonUniformShuffle 35 55 56
- 58: 41(ptr) AccessChain 27(data) 50 29
- 59: 18(fvec4) Load 58
- 60: 18(fvec4) VectorShuffle 59 57 4 5 6 3
- Store 58 60
- 61: 6(int) Load 8(invocation)
- 63: 41(ptr) AccessChain 27(data) 62 29
- 64: 18(fvec4) Load 63
- 65: 6(int) Load 8(invocation)
- 66: 18(fvec4) GroupNonUniformShuffle 35 64 65
- 67: 41(ptr) AccessChain 27(data) 61 29
- Store 67 66
- 68: 6(int) Load 8(invocation)
- 70: 69(ptr) AccessChain 27(data) 29 39 30
- 71: 19(int) Load 70
- 72: 6(int) Load 8(invocation)
- 73: 19(int) GroupNonUniformShuffle 35 71 72
- 74: 69(ptr) AccessChain 27(data) 68 39 30
- Store 74 73
- 75: 6(int) Load 8(invocation)
- 78: 77(ptr) AccessChain 27(data) 39 39
- 79: 20(ivec4) Load 78
- 80: 76(ivec2) VectorShuffle 79 79 0 1
+ 47: 31(ptr) AccessChain 27(data) 38 29 30
+ 48: 17(float) CompositeExtract 46 0
+ Store 47 48
+ 50: 31(ptr) AccessChain 27(data) 38 29 49
+ 51: 17(float) CompositeExtract 46 1
+ Store 50 51
+ 52: 6(int) Load 8(invocation)
+ 55: 41(ptr) AccessChain 27(data) 53 29
+ 56: 18(fvec4) Load 55
+ 57: 54(fvec3) VectorShuffle 56 56 0 1 2
+ 58: 6(int) Load 8(invocation)
+ 59: 54(fvec3) GroupNonUniformShuffle 35 57 58
+ 60: 31(ptr) AccessChain 27(data) 52 29 30
+ 61: 17(float) CompositeExtract 59 0
+ Store 60 61
+ 62: 31(ptr) AccessChain 27(data) 52 29 49
+ 63: 17(float) CompositeExtract 59 1
+ Store 62 63
+ 65: 31(ptr) AccessChain 27(data) 52 29 64
+ 66: 17(float) CompositeExtract 59 2
+ Store 65 66
+ 67: 6(int) Load 8(invocation)
+ 69: 41(ptr) AccessChain 27(data) 68 29
+ 70: 18(fvec4) Load 69
+ 71: 6(int) Load 8(invocation)
+ 72: 18(fvec4) GroupNonUniformShuffle 35 70 71
+ 73: 41(ptr) AccessChain 27(data) 67 29
+ Store 73 72
+ 74: 6(int) Load 8(invocation)
+ 76: 75(ptr) AccessChain 27(data) 29 39 30
+ 77: 19(int) Load 76
+ 78: 6(int) Load 8(invocation)
+ 79: 19(int) GroupNonUniformShuffle 35 77 78
+ 80: 75(ptr) AccessChain 27(data) 74 39 30
+ Store 80 79
81: 6(int) Load 8(invocation)
- 82: 76(ivec2) GroupNonUniformShuffle 35 80 81
- 83: 77(ptr) AccessChain 27(data) 75 39
- 84: 20(ivec4) Load 83
- 85: 20(ivec4) VectorShuffle 84 82 4 5 2 3
- Store 83 85
- 86: 6(int) Load 8(invocation)
- 88: 77(ptr) AccessChain 27(data) 51 39
- 89: 20(ivec4) Load 88
- 90: 87(ivec3) VectorShuffle 89 89 0 1 2
- 91: 6(int) Load 8(invocation)
- 92: 87(ivec3) GroupNonUniformShuffle 35 90 91
- 93: 77(ptr) AccessChain 27(data) 86 39
- 94: 20(ivec4) Load 93
- 95: 20(ivec4) VectorShuffle 94 92 4 5 6 3
- Store 93 95
- 96: 6(int) Load 8(invocation)
- 97: 77(ptr) AccessChain 27(data) 62 39
- 98: 20(ivec4) Load 97
- 99: 6(int) Load 8(invocation)
- 100: 20(ivec4) GroupNonUniformShuffle 35 98 99
- 101: 77(ptr) AccessChain 27(data) 96 39
- Store 101 100
- 102: 6(int) Load 8(invocation)
- 104: 103(ptr) AccessChain 27(data) 29 51 30
- 105: 6(int) Load 104
+ 84: 83(ptr) AccessChain 27(data) 39 39
+ 85: 20(ivec4) Load 84
+ 86: 82(ivec2) VectorShuffle 85 85 0 1
+ 87: 6(int) Load 8(invocation)
+ 88: 82(ivec2) GroupNonUniformShuffle 35 86 87
+ 89: 75(ptr) AccessChain 27(data) 81 39 30
+ 90: 19(int) CompositeExtract 88 0
+ Store 89 90
+ 91: 75(ptr) AccessChain 27(data) 81 39 49
+ 92: 19(int) CompositeExtract 88 1
+ Store 91 92
+ 93: 6(int) Load 8(invocation)
+ 95: 83(ptr) AccessChain 27(data) 53 39
+ 96: 20(ivec4) Load 95
+ 97: 94(ivec3) VectorShuffle 96 96 0 1 2
+ 98: 6(int) Load 8(invocation)
+ 99: 94(ivec3) GroupNonUniformShuffle 35 97 98
+ 100: 75(ptr) AccessChain 27(data) 93 39 30
+ 101: 19(int) CompositeExtract 99 0
+ Store 100 101
+ 102: 75(ptr) AccessChain 27(data) 93 39 49
+ 103: 19(int) CompositeExtract 99 1
+ Store 102 103
+ 104: 75(ptr) AccessChain 27(data) 93 39 64
+ 105: 19(int) CompositeExtract 99 2
+ Store 104 105
106: 6(int) Load 8(invocation)
- 107: 6(int) GroupNonUniformShuffle 35 105 106
- 108: 103(ptr) AccessChain 27(data) 102 51 30
- Store 108 107
+ 107: 83(ptr) AccessChain 27(data) 68 39
+ 108: 20(ivec4) Load 107
109: 6(int) Load 8(invocation)
- 112: 111(ptr) AccessChain 27(data) 39 51
- 113: 21(ivec4) Load 112
- 114: 110(ivec2) VectorShuffle 113 113 0 1
- 115: 6(int) Load 8(invocation)
- 116: 110(ivec2) GroupNonUniformShuffle 35 114 115
- 117: 111(ptr) AccessChain 27(data) 109 51
- 118: 21(ivec4) Load 117
- 119: 21(ivec4) VectorShuffle 118 116 4 5 2 3
- Store 117 119
- 120: 6(int) Load 8(invocation)
- 122: 111(ptr) AccessChain 27(data) 51 51
+ 110: 20(ivec4) GroupNonUniformShuffle 35 108 109
+ 111: 83(ptr) AccessChain 27(data) 106 39
+ Store 111 110
+ 112: 6(int) Load 8(invocation)
+ 114: 113(ptr) AccessChain 27(data) 29 53 30
+ 115: 6(int) Load 114
+ 116: 6(int) Load 8(invocation)
+ 117: 6(int) GroupNonUniformShuffle 35 115 116
+ 118: 113(ptr) AccessChain 27(data) 112 53 30
+ Store 118 117
+ 119: 6(int) Load 8(invocation)
+ 122: 121(ptr) AccessChain 27(data) 39 53
123: 21(ivec4) Load 122
- 124: 121(ivec3) VectorShuffle 123 123 0 1 2
+ 124: 120(ivec2) VectorShuffle 123 123 0 1
125: 6(int) Load 8(invocation)
- 126: 121(ivec3) GroupNonUniformShuffle 35 124 125
- 127: 111(ptr) AccessChain 27(data) 120 51
- 128: 21(ivec4) Load 127
- 129: 21(ivec4) VectorShuffle 128 126 4 5 6 3
- Store 127 129
- 130: 6(int) Load 8(invocation)
- 131: 111(ptr) AccessChain 27(data) 62 51
- 132: 21(ivec4) Load 131
- 133: 6(int) Load 8(invocation)
- 134: 21(ivec4) GroupNonUniformShuffle 35 132 133
- 135: 111(ptr) AccessChain 27(data) 130 51
- Store 135 134
+ 126: 120(ivec2) GroupNonUniformShuffle 35 124 125
+ 127: 113(ptr) AccessChain 27(data) 119 53 30
+ 128: 6(int) CompositeExtract 126 0
+ Store 127 128
+ 129: 113(ptr) AccessChain 27(data) 119 53 49
+ 130: 6(int) CompositeExtract 126 1
+ Store 129 130
+ 131: 6(int) Load 8(invocation)
+ 133: 121(ptr) AccessChain 27(data) 53 53
+ 134: 21(ivec4) Load 133
+ 135: 132(ivec3) VectorShuffle 134 134 0 1 2
136: 6(int) Load 8(invocation)
- 138: 137(ptr) AccessChain 27(data) 29 62 30
- 139:22(float64_t) Load 138
- 140: 6(int) Load 8(invocation)
- 141:22(float64_t) GroupNonUniformShuffle 35 139 140
- 142: 137(ptr) AccessChain 27(data) 136 62 30
- Store 142 141
- 143: 6(int) Load 8(invocation)
- 146: 145(ptr) AccessChain 27(data) 39 62
- 147: 23(f64vec4) Load 146
- 148:144(f64vec2) VectorShuffle 147 147 0 1
- 149: 6(int) Load 8(invocation)
- 150:144(f64vec2) GroupNonUniformShuffle 35 148 149
- 151: 145(ptr) AccessChain 27(data) 143 62
- 152: 23(f64vec4) Load 151
- 153: 23(f64vec4) VectorShuffle 152 150 4 5 2 3
- Store 151 153
+ 137: 132(ivec3) GroupNonUniformShuffle 35 135 136
+ 138: 113(ptr) AccessChain 27(data) 131 53 30
+ 139: 6(int) CompositeExtract 137 0
+ Store 138 139
+ 140: 113(ptr) AccessChain 27(data) 131 53 49
+ 141: 6(int) CompositeExtract 137 1
+ Store 140 141
+ 142: 113(ptr) AccessChain 27(data) 131 53 64
+ 143: 6(int) CompositeExtract 137 2
+ Store 142 143
+ 144: 6(int) Load 8(invocation)
+ 145: 121(ptr) AccessChain 27(data) 68 53
+ 146: 21(ivec4) Load 145
+ 147: 6(int) Load 8(invocation)
+ 148: 21(ivec4) GroupNonUniformShuffle 35 146 147
+ 149: 121(ptr) AccessChain 27(data) 144 53
+ Store 149 148
+ 150: 6(int) Load 8(invocation)
+ 152: 151(ptr) AccessChain 27(data) 29 68 30
+ 153:22(float64_t) Load 152
154: 6(int) Load 8(invocation)
- 156: 145(ptr) AccessChain 27(data) 51 62
- 157: 23(f64vec4) Load 156
- 158:155(f64vec3) VectorShuffle 157 157 0 1 2
- 159: 6(int) Load 8(invocation)
- 160:155(f64vec3) GroupNonUniformShuffle 35 158 159
- 161: 145(ptr) AccessChain 27(data) 154 62
- 162: 23(f64vec4) Load 161
- 163: 23(f64vec4) VectorShuffle 162 160 4 5 6 3
- Store 161 163
- 164: 6(int) Load 8(invocation)
- 165: 145(ptr) AccessChain 27(data) 62 62
- 166: 23(f64vec4) Load 165
- 167: 6(int) Load 8(invocation)
- 168: 23(f64vec4) GroupNonUniformShuffle 35 166 167
- 169: 145(ptr) AccessChain 27(data) 164 62
- Store 169 168
- 170: 6(int) Load 8(invocation)
- 171: 69(ptr) AccessChain 27(data) 29 39 30
- 172: 19(int) Load 171
- 174: 173(bool) SLessThan 172 29
- 175: 6(int) Load 8(invocation)
- 176: 173(bool) GroupNonUniformShuffle 35 174 175
- 177: 19(int) Select 176 39 29
- 178: 69(ptr) AccessChain 27(data) 170 39 30
- Store 178 177
- 179: 6(int) Load 8(invocation)
- 180: 77(ptr) AccessChain 27(data) 39 39
- 181: 20(ivec4) Load 180
- 182: 76(ivec2) VectorShuffle 181 181 0 1
- 185: 184(bvec2) SLessThan 182 183
- 186: 6(int) Load 8(invocation)
- 187: 184(bvec2) GroupNonUniformShuffle 35 185 186
- 189: 76(ivec2) Select 187 188 183
- 190: 77(ptr) AccessChain 27(data) 179 39
- 191: 20(ivec4) Load 190
- 192: 20(ivec4) VectorShuffle 191 189 4 5 2 3
- Store 190 192
+ 155:22(float64_t) GroupNonUniformShuffle 35 153 154
+ 156: 151(ptr) AccessChain 27(data) 150 68 30
+ Store 156 155
+ 157: 6(int) Load 8(invocation)
+ 160: 159(ptr) AccessChain 27(data) 39 68
+ 161: 23(f64vec4) Load 160
+ 162:158(f64vec2) VectorShuffle 161 161 0 1
+ 163: 6(int) Load 8(invocation)
+ 164:158(f64vec2) GroupNonUniformShuffle 35 162 163
+ 165: 151(ptr) AccessChain 27(data) 157 68 30
+ 166:22(float64_t) CompositeExtract 164 0
+ Store 165 166
+ 167: 151(ptr) AccessChain 27(data) 157 68 49
+ 168:22(float64_t) CompositeExtract 164 1
+ Store 167 168
+ 169: 6(int) Load 8(invocation)
+ 171: 159(ptr) AccessChain 27(data) 53 68
+ 172: 23(f64vec4) Load 171
+ 173:170(f64vec3) VectorShuffle 172 172 0 1 2
+ 174: 6(int) Load 8(invocation)
+ 175:170(f64vec3) GroupNonUniformShuffle 35 173 174
+ 176: 151(ptr) AccessChain 27(data) 169 68 30
+ 177:22(float64_t) CompositeExtract 175 0
+ Store 176 177
+ 178: 151(ptr) AccessChain 27(data) 169 68 49
+ 179:22(float64_t) CompositeExtract 175 1
+ Store 178 179
+ 180: 151(ptr) AccessChain 27(data) 169 68 64
+ 181:22(float64_t) CompositeExtract 175 2
+ Store 180 181
+ 182: 6(int) Load 8(invocation)
+ 183: 159(ptr) AccessChain 27(data) 68 68
+ 184: 23(f64vec4) Load 183
+ 185: 6(int) Load 8(invocation)
+ 186: 23(f64vec4) GroupNonUniformShuffle 35 184 185
+ 187: 159(ptr) AccessChain 27(data) 182 68
+ Store 187 186
+ 188: 6(int) Load 8(invocation)
+ 189: 75(ptr) AccessChain 27(data) 29 39 30
+ 190: 19(int) Load 189
+ 192: 191(bool) SLessThan 190 29
193: 6(int) Load 8(invocation)
- 194: 77(ptr) AccessChain 27(data) 39 39
- 195: 20(ivec4) Load 194
- 196: 87(ivec3) VectorShuffle 195 195 0 1 2
- 199: 198(bvec3) SLessThan 196 197
- 200: 6(int) Load 8(invocation)
- 201: 198(bvec3) GroupNonUniformShuffle 35 199 200
- 203: 87(ivec3) Select 201 202 197
- 204: 77(ptr) AccessChain 27(data) 193 39
- 205: 20(ivec4) Load 204
- 206: 20(ivec4) VectorShuffle 205 203 4 5 6 3
- Store 204 206
- 207: 6(int) Load 8(invocation)
- 208: 77(ptr) AccessChain 27(data) 39 39
- 209: 20(ivec4) Load 208
- 212: 211(bvec4) SLessThan 209 210
- 213: 6(int) Load 8(invocation)
- 214: 211(bvec4) GroupNonUniformShuffle 35 212 213
- 216: 20(ivec4) Select 214 215 210
- 217: 77(ptr) AccessChain 27(data) 207 39
- Store 217 216
- 218: 6(int) Load 8(invocation)
- 219: 31(ptr) AccessChain 27(data) 29 29 30
- 220: 17(float) Load 219
- 221: 6(int) Load 8(invocation)
- 222: 17(float) GroupNonUniformShuffleXor 35 220 221
- 223: 31(ptr) AccessChain 27(data) 218 29 30
- Store 223 222
- 224: 6(int) Load 8(invocation)
- 225: 41(ptr) AccessChain 27(data) 39 29
- 226: 18(fvec4) Load 225
- 227: 40(fvec2) VectorShuffle 226 226 0 1
- 228: 6(int) Load 8(invocation)
- 229: 40(fvec2) GroupNonUniformShuffleXor 35 227 228
- 230: 41(ptr) AccessChain 27(data) 224 29
- 231: 18(fvec4) Load 230
- 232: 18(fvec4) VectorShuffle 231 229 4 5 2 3
- Store 230 232
- 233: 6(int) Load 8(invocation)
- 234: 41(ptr) AccessChain 27(data) 51 29
- 235: 18(fvec4) Load 234
- 236: 52(fvec3) VectorShuffle 235 235 0 1 2
- 237: 6(int) Load 8(invocation)
- 238: 52(fvec3) GroupNonUniformShuffleXor 35 236 237
- 239: 41(ptr) AccessChain 27(data) 233 29
- 240: 18(fvec4) Load 239
- 241: 18(fvec4) VectorShuffle 240 238 4 5 6 3
- Store 239 241
- 242: 6(int) Load 8(invocation)
- 243: 41(ptr) AccessChain 27(data) 62 29
- 244: 18(fvec4) Load 243
- 245: 6(int) Load 8(invocation)
- 246: 18(fvec4) GroupNonUniformShuffleXor 35 244 245
- 247: 41(ptr) AccessChain 27(data) 242 29
- Store 247 246
- 248: 6(int) Load 8(invocation)
- 249: 69(ptr) AccessChain 27(data) 29 39 30
- 250: 19(int) Load 249
- 251: 6(int) Load 8(invocation)
- 252: 19(int) GroupNonUniformShuffleXor 35 250 251
- 253: 69(ptr) AccessChain 27(data) 248 39 30
- Store 253 252
- 254: 6(int) Load 8(invocation)
- 255: 77(ptr) AccessChain 27(data) 39 39
- 256: 20(ivec4) Load 255
- 257: 76(ivec2) VectorShuffle 256 256 0 1
- 258: 6(int) Load 8(invocation)
- 259: 76(ivec2) GroupNonUniformShuffleXor 35 257 258
- 260: 77(ptr) AccessChain 27(data) 254 39
- 261: 20(ivec4) Load 260
- 262: 20(ivec4) VectorShuffle 261 259 4 5 2 3
- Store 260 262
- 263: 6(int) Load 8(invocation)
- 264: 77(ptr) AccessChain 27(data) 51 39
- 265: 20(ivec4) Load 264
- 266: 87(ivec3) VectorShuffle 265 265 0 1 2
- 267: 6(int) Load 8(invocation)
- 268: 87(ivec3) GroupNonUniformShuffleXor 35 266 267
- 269: 77(ptr) AccessChain 27(data) 263 39
- 270: 20(ivec4) Load 269
- 271: 20(ivec4) VectorShuffle 270 268 4 5 6 3
- Store 269 271
- 272: 6(int) Load 8(invocation)
- 273: 77(ptr) AccessChain 27(data) 62 39
- 274: 20(ivec4) Load 273
- 275: 6(int) Load 8(invocation)
- 276: 20(ivec4) GroupNonUniformShuffleXor 35 274 275
- 277: 77(ptr) AccessChain 27(data) 272 39
- Store 277 276
- 278: 6(int) Load 8(invocation)
- 279: 103(ptr) AccessChain 27(data) 29 51 30
- 280: 6(int) Load 279
- 281: 6(int) Load 8(invocation)
- 282: 6(int) GroupNonUniformShuffleXor 35 280 281
- 283: 103(ptr) AccessChain 27(data) 278 51 30
- Store 283 282
+ 194: 191(bool) GroupNonUniformShuffle 35 192 193
+ 195: 19(int) Select 194 39 29
+ 196: 75(ptr) AccessChain 27(data) 188 39 30
+ Store 196 195
+ 197: 6(int) Load 8(invocation)
+ 198: 83(ptr) AccessChain 27(data) 39 39
+ 199: 20(ivec4) Load 198
+ 200: 82(ivec2) VectorShuffle 199 199 0 1
+ 203: 202(bvec2) SLessThan 200 201
+ 204: 6(int) Load 8(invocation)
+ 205: 202(bvec2) GroupNonUniformShuffle 35 203 204
+ 207: 82(ivec2) Select 205 206 201
+ 208: 75(ptr) AccessChain 27(data) 197 39 30
+ 209: 19(int) CompositeExtract 207 0
+ Store 208 209
+ 210: 75(ptr) AccessChain 27(data) 197 39 49
+ 211: 19(int) CompositeExtract 207 1
+ Store 210 211
+ 212: 6(int) Load 8(invocation)
+ 213: 83(ptr) AccessChain 27(data) 39 39
+ 214: 20(ivec4) Load 213
+ 215: 94(ivec3) VectorShuffle 214 214 0 1 2
+ 218: 217(bvec3) SLessThan 215 216
+ 219: 6(int) Load 8(invocation)
+ 220: 217(bvec3) GroupNonUniformShuffle 35 218 219
+ 222: 94(ivec3) Select 220 221 216
+ 223: 75(ptr) AccessChain 27(data) 212 39 30
+ 224: 19(int) CompositeExtract 222 0
+ Store 223 224
+ 225: 75(ptr) AccessChain 27(data) 212 39 49
+ 226: 19(int) CompositeExtract 222 1
+ Store 225 226
+ 227: 75(ptr) AccessChain 27(data) 212 39 64
+ 228: 19(int) CompositeExtract 222 2
+ Store 227 228
+ 229: 6(int) Load 8(invocation)
+ 230: 83(ptr) AccessChain 27(data) 39 39
+ 231: 20(ivec4) Load 230
+ 234: 233(bvec4) SLessThan 231 232
+ 235: 6(int) Load 8(invocation)
+ 236: 233(bvec4) GroupNonUniformShuffle 35 234 235
+ 238: 20(ivec4) Select 236 237 232
+ 239: 83(ptr) AccessChain 27(data) 229 39
+ Store 239 238
+ 240: 6(int) Load 8(invocation)
+ 241: 31(ptr) AccessChain 27(data) 29 29 30
+ 242: 17(float) Load 241
+ 243: 6(int) Load 8(invocation)
+ 244: 17(float) GroupNonUniformShuffleXor 35 242 243
+ 245: 31(ptr) AccessChain 27(data) 240 29 30
+ Store 245 244
+ 246: 6(int) Load 8(invocation)
+ 247: 41(ptr) AccessChain 27(data) 39 29
+ 248: 18(fvec4) Load 247
+ 249: 40(fvec2) VectorShuffle 248 248 0 1
+ 250: 6(int) Load 8(invocation)
+ 251: 40(fvec2) GroupNonUniformShuffleXor 35 249 250
+ 252: 31(ptr) AccessChain 27(data) 246 29 30
+ 253: 17(float) CompositeExtract 251 0
+ Store 252 253
+ 254: 31(ptr) AccessChain 27(data) 246 29 49
+ 255: 17(float) CompositeExtract 251 1
+ Store 254 255
+ 256: 6(int) Load 8(invocation)
+ 257: 41(ptr) AccessChain 27(data) 53 29
+ 258: 18(fvec4) Load 257
+ 259: 54(fvec3) VectorShuffle 258 258 0 1 2
+ 260: 6(int) Load 8(invocation)
+ 261: 54(fvec3) GroupNonUniformShuffleXor 35 259 260
+ 262: 31(ptr) AccessChain 27(data) 256 29 30
+ 263: 17(float) CompositeExtract 261 0
+ Store 262 263
+ 264: 31(ptr) AccessChain 27(data) 256 29 49
+ 265: 17(float) CompositeExtract 261 1
+ Store 264 265
+ 266: 31(ptr) AccessChain 27(data) 256 29 64
+ 267: 17(float) CompositeExtract 261 2
+ Store 266 267
+ 268: 6(int) Load 8(invocation)
+ 269: 41(ptr) AccessChain 27(data) 68 29
+ 270: 18(fvec4) Load 269
+ 271: 6(int) Load 8(invocation)
+ 272: 18(fvec4) GroupNonUniformShuffleXor 35 270 271
+ 273: 41(ptr) AccessChain 27(data) 268 29
+ Store 273 272
+ 274: 6(int) Load 8(invocation)
+ 275: 75(ptr) AccessChain 27(data) 29 39 30
+ 276: 19(int) Load 275
+ 277: 6(int) Load 8(invocation)
+ 278: 19(int) GroupNonUniformShuffleXor 35 276 277
+ 279: 75(ptr) AccessChain 27(data) 274 39 30
+ Store 279 278
+ 280: 6(int) Load 8(invocation)
+ 281: 83(ptr) AccessChain 27(data) 39 39
+ 282: 20(ivec4) Load 281
+ 283: 82(ivec2) VectorShuffle 282 282 0 1
284: 6(int) Load 8(invocation)
- 285: 111(ptr) AccessChain 27(data) 39 51
- 286: 21(ivec4) Load 285
- 287: 110(ivec2) VectorShuffle 286 286 0 1
- 288: 6(int) Load 8(invocation)
- 289: 110(ivec2) GroupNonUniformShuffleXor 35 287 288
- 290: 111(ptr) AccessChain 27(data) 284 51
- 291: 21(ivec4) Load 290
- 292: 21(ivec4) VectorShuffle 291 289 4 5 2 3
- Store 290 292
- 293: 6(int) Load 8(invocation)
- 294: 111(ptr) AccessChain 27(data) 51 51
- 295: 21(ivec4) Load 294
- 296: 121(ivec3) VectorShuffle 295 295 0 1 2
- 297: 6(int) Load 8(invocation)
- 298: 121(ivec3) GroupNonUniformShuffleXor 35 296 297
- 299: 111(ptr) AccessChain 27(data) 293 51
- 300: 21(ivec4) Load 299
- 301: 21(ivec4) VectorShuffle 300 298 4 5 6 3
- Store 299 301
+ 285: 82(ivec2) GroupNonUniformShuffleXor 35 283 284
+ 286: 75(ptr) AccessChain 27(data) 280 39 30
+ 287: 19(int) CompositeExtract 285 0
+ Store 286 287
+ 288: 75(ptr) AccessChain 27(data) 280 39 49
+ 289: 19(int) CompositeExtract 285 1
+ Store 288 289
+ 290: 6(int) Load 8(invocation)
+ 291: 83(ptr) AccessChain 27(data) 53 39
+ 292: 20(ivec4) Load 291
+ 293: 94(ivec3) VectorShuffle 292 292 0 1 2
+ 294: 6(int) Load 8(invocation)
+ 295: 94(ivec3) GroupNonUniformShuffleXor 35 293 294
+ 296: 75(ptr) AccessChain 27(data) 290 39 30
+ 297: 19(int) CompositeExtract 295 0
+ Store 296 297
+ 298: 75(ptr) AccessChain 27(data) 290 39 49
+ 299: 19(int) CompositeExtract 295 1
+ Store 298 299
+ 300: 75(ptr) AccessChain 27(data) 290 39 64
+ 301: 19(int) CompositeExtract 295 2
+ Store 300 301
302: 6(int) Load 8(invocation)
- 303: 111(ptr) AccessChain 27(data) 62 51
- 304: 21(ivec4) Load 303
+ 303: 83(ptr) AccessChain 27(data) 68 39
+ 304: 20(ivec4) Load 303
305: 6(int) Load 8(invocation)
- 306: 21(ivec4) GroupNonUniformShuffleXor 35 304 305
- 307: 111(ptr) AccessChain 27(data) 302 51
+ 306: 20(ivec4) GroupNonUniformShuffleXor 35 304 305
+ 307: 83(ptr) AccessChain 27(data) 302 39
Store 307 306
308: 6(int) Load 8(invocation)
- 309: 137(ptr) AccessChain 27(data) 29 62 30
- 310:22(float64_t) Load 309
+ 309: 113(ptr) AccessChain 27(data) 29 53 30
+ 310: 6(int) Load 309
311: 6(int) Load 8(invocation)
- 312:22(float64_t) GroupNonUniformShuffleXor 35 310 311
- 313: 137(ptr) AccessChain 27(data) 308 62 30
+ 312: 6(int) GroupNonUniformShuffleXor 35 310 311
+ 313: 113(ptr) AccessChain 27(data) 308 53 30
Store 313 312
314: 6(int) Load 8(invocation)
- 315: 145(ptr) AccessChain 27(data) 39 62
- 316: 23(f64vec4) Load 315
- 317:144(f64vec2) VectorShuffle 316 316 0 1
+ 315: 121(ptr) AccessChain 27(data) 39 53
+ 316: 21(ivec4) Load 315
+ 317: 120(ivec2) VectorShuffle 316 316 0 1
318: 6(int) Load 8(invocation)
- 319:144(f64vec2) GroupNonUniformShuffleXor 35 317 318
- 320: 145(ptr) AccessChain 27(data) 314 62
- 321: 23(f64vec4) Load 320
- 322: 23(f64vec4) VectorShuffle 321 319 4 5 2 3
- Store 320 322
- 323: 6(int) Load 8(invocation)
- 324: 145(ptr) AccessChain 27(data) 51 62
- 325: 23(f64vec4) Load 324
- 326:155(f64vec3) VectorShuffle 325 325 0 1 2
- 327: 6(int) Load 8(invocation)
- 328:155(f64vec3) GroupNonUniformShuffleXor 35 326 327
- 329: 145(ptr) AccessChain 27(data) 323 62
- 330: 23(f64vec4) Load 329
- 331: 23(f64vec4) VectorShuffle 330 328 4 5 6 3
- Store 329 331
- 332: 6(int) Load 8(invocation)
- 333: 145(ptr) AccessChain 27(data) 62 62
- 334: 23(f64vec4) Load 333
- 335: 6(int) Load 8(invocation)
- 336: 23(f64vec4) GroupNonUniformShuffleXor 35 334 335
- 337: 145(ptr) AccessChain 27(data) 332 62
- Store 337 336
- 338: 6(int) Load 8(invocation)
- 339: 69(ptr) AccessChain 27(data) 29 39 30
- 340: 19(int) Load 339
- 341: 173(bool) SLessThan 340 29
+ 319: 120(ivec2) GroupNonUniformShuffleXor 35 317 318
+ 320: 113(ptr) AccessChain 27(data) 314 53 30
+ 321: 6(int) CompositeExtract 319 0
+ Store 320 321
+ 322: 113(ptr) AccessChain 27(data) 314 53 49
+ 323: 6(int) CompositeExtract 319 1
+ Store 322 323
+ 324: 6(int) Load 8(invocation)
+ 325: 121(ptr) AccessChain 27(data) 53 53
+ 326: 21(ivec4) Load 325
+ 327: 132(ivec3) VectorShuffle 326 326 0 1 2
+ 328: 6(int) Load 8(invocation)
+ 329: 132(ivec3) GroupNonUniformShuffleXor 35 327 328
+ 330: 113(ptr) AccessChain 27(data) 324 53 30
+ 331: 6(int) CompositeExtract 329 0
+ Store 330 331
+ 332: 113(ptr) AccessChain 27(data) 324 53 49
+ 333: 6(int) CompositeExtract 329 1
+ Store 332 333
+ 334: 113(ptr) AccessChain 27(data) 324 53 64
+ 335: 6(int) CompositeExtract 329 2
+ Store 334 335
+ 336: 6(int) Load 8(invocation)
+ 337: 121(ptr) AccessChain 27(data) 68 53
+ 338: 21(ivec4) Load 337
+ 339: 6(int) Load 8(invocation)
+ 340: 21(ivec4) GroupNonUniformShuffleXor 35 338 339
+ 341: 121(ptr) AccessChain 27(data) 336 53
+ Store 341 340
342: 6(int) Load 8(invocation)
- 343: 173(bool) GroupNonUniformShuffleXor 35 341 342
- 344: 19(int) Select 343 39 29
- 345: 69(ptr) AccessChain 27(data) 338 39 30
- Store 345 344
- 346: 6(int) Load 8(invocation)
- 347: 77(ptr) AccessChain 27(data) 39 39
- 348: 20(ivec4) Load 347
- 349: 76(ivec2) VectorShuffle 348 348 0 1
- 350: 184(bvec2) SLessThan 349 183
- 351: 6(int) Load 8(invocation)
- 352: 184(bvec2) GroupNonUniformShuffleXor 35 350 351
- 353: 76(ivec2) Select 352 188 183
- 354: 77(ptr) AccessChain 27(data) 346 39
- 355: 20(ivec4) Load 354
- 356: 20(ivec4) VectorShuffle 355 353 4 5 2 3
- Store 354 356
- 357: 6(int) Load 8(invocation)
- 358: 77(ptr) AccessChain 27(data) 39 39
- 359: 20(ivec4) Load 358
- 360: 87(ivec3) VectorShuffle 359 359 0 1 2
- 361: 198(bvec3) SLessThan 360 197
+ 343: 151(ptr) AccessChain 27(data) 29 68 30
+ 344:22(float64_t) Load 343
+ 345: 6(int) Load 8(invocation)
+ 346:22(float64_t) GroupNonUniformShuffleXor 35 344 345
+ 347: 151(ptr) AccessChain 27(data) 342 68 30
+ Store 347 346
+ 348: 6(int) Load 8(invocation)
+ 349: 159(ptr) AccessChain 27(data) 39 68
+ 350: 23(f64vec4) Load 349
+ 351:158(f64vec2) VectorShuffle 350 350 0 1
+ 352: 6(int) Load 8(invocation)
+ 353:158(f64vec2) GroupNonUniformShuffleXor 35 351 352
+ 354: 151(ptr) AccessChain 27(data) 348 68 30
+ 355:22(float64_t) CompositeExtract 353 0
+ Store 354 355
+ 356: 151(ptr) AccessChain 27(data) 348 68 49
+ 357:22(float64_t) CompositeExtract 353 1
+ Store 356 357
+ 358: 6(int) Load 8(invocation)
+ 359: 159(ptr) AccessChain 27(data) 53 68
+ 360: 23(f64vec4) Load 359
+ 361:170(f64vec3) VectorShuffle 360 360 0 1 2
362: 6(int) Load 8(invocation)
- 363: 198(bvec3) GroupNonUniformShuffleXor 35 361 362
- 364: 87(ivec3) Select 363 202 197
- 365: 77(ptr) AccessChain 27(data) 357 39
- 366: 20(ivec4) Load 365
- 367: 20(ivec4) VectorShuffle 366 364 4 5 6 3
- Store 365 367
- 368: 6(int) Load 8(invocation)
- 369: 77(ptr) AccessChain 27(data) 39 39
- 370: 20(ivec4) Load 369
- 371: 211(bvec4) SLessThan 370 210
- 372: 6(int) Load 8(invocation)
- 373: 211(bvec4) GroupNonUniformShuffleXor 35 371 372
- 374: 20(ivec4) Select 373 215 210
- 375: 77(ptr) AccessChain 27(data) 368 39
+ 363:170(f64vec3) GroupNonUniformShuffleXor 35 361 362
+ 364: 151(ptr) AccessChain 27(data) 358 68 30
+ 365:22(float64_t) CompositeExtract 363 0
+ Store 364 365
+ 366: 151(ptr) AccessChain 27(data) 358 68 49
+ 367:22(float64_t) CompositeExtract 363 1
+ Store 366 367
+ 368: 151(ptr) AccessChain 27(data) 358 68 64
+ 369:22(float64_t) CompositeExtract 363 2
+ Store 368 369
+ 370: 6(int) Load 8(invocation)
+ 371: 159(ptr) AccessChain 27(data) 68 68
+ 372: 23(f64vec4) Load 371
+ 373: 6(int) Load 8(invocation)
+ 374: 23(f64vec4) GroupNonUniformShuffleXor 35 372 373
+ 375: 159(ptr) AccessChain 27(data) 370 68
Store 375 374
+ 376: 6(int) Load 8(invocation)
+ 377: 75(ptr) AccessChain 27(data) 29 39 30
+ 378: 19(int) Load 377
+ 379: 191(bool) SLessThan 378 29
+ 380: 6(int) Load 8(invocation)
+ 381: 191(bool) GroupNonUniformShuffleXor 35 379 380
+ 382: 19(int) Select 381 39 29
+ 383: 75(ptr) AccessChain 27(data) 376 39 30
+ Store 383 382
+ 384: 6(int) Load 8(invocation)
+ 385: 83(ptr) AccessChain 27(data) 39 39
+ 386: 20(ivec4) Load 385
+ 387: 82(ivec2) VectorShuffle 386 386 0 1
+ 388: 202(bvec2) SLessThan 387 201
+ 389: 6(int) Load 8(invocation)
+ 390: 202(bvec2) GroupNonUniformShuffleXor 35 388 389
+ 391: 82(ivec2) Select 390 206 201
+ 392: 75(ptr) AccessChain 27(data) 384 39 30
+ 393: 19(int) CompositeExtract 391 0
+ Store 392 393
+ 394: 75(ptr) AccessChain 27(data) 384 39 49
+ 395: 19(int) CompositeExtract 391 1
+ Store 394 395
+ 396: 6(int) Load 8(invocation)
+ 397: 83(ptr) AccessChain 27(data) 39 39
+ 398: 20(ivec4) Load 397
+ 399: 94(ivec3) VectorShuffle 398 398 0 1 2
+ 400: 217(bvec3) SLessThan 399 216
+ 401: 6(int) Load 8(invocation)
+ 402: 217(bvec3) GroupNonUniformShuffleXor 35 400 401
+ 403: 94(ivec3) Select 402 221 216
+ 404: 75(ptr) AccessChain 27(data) 396 39 30
+ 405: 19(int) CompositeExtract 403 0
+ Store 404 405
+ 406: 75(ptr) AccessChain 27(data) 396 39 49
+ 407: 19(int) CompositeExtract 403 1
+ Store 406 407
+ 408: 75(ptr) AccessChain 27(data) 396 39 64
+ 409: 19(int) CompositeExtract 403 2
+ Store 408 409
+ 410: 6(int) Load 8(invocation)
+ 411: 83(ptr) AccessChain 27(data) 39 39
+ 412: 20(ivec4) Load 411
+ 413: 233(bvec4) SLessThan 412 232
+ 414: 6(int) Load 8(invocation)
+ 415: 233(bvec4) GroupNonUniformShuffleXor 35 413 414
+ 416: 20(ivec4) Select 415 237 232
+ 417: 83(ptr) AccessChain 27(data) 410 39
+ Store 417 416
Return
FunctionEnd
diff --git a/Test/baseResults/spv.subgroupShuffleRelative.comp.out b/Test/baseResults/spv.subgroupShuffleRelative.comp.out
index 68cd101..e8486b6 100644
--- a/Test/baseResults/spv.subgroupShuffleRelative.comp.out
+++ b/Test/baseResults/spv.subgroupShuffleRelative.comp.out
@@ -1,7 +1,7 @@
spv.subgroupShuffleRelative.comp
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 379
+// Id's are bound by 420
Capability Shader
Capability Float64
@@ -39,7 +39,7 @@
Decorate 24(Buffers) Block
Decorate 27(data) DescriptorSet 0
Decorate 27(data) Binding 0
- Decorate 378 BuiltIn WorkgroupSize
+ Decorate 419 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
@@ -66,34 +66,35 @@
39: 19(int) Constant 1
40: TypeVector 17(float) 2
41: TypePointer StorageBuffer 18(fvec4)
- 51: 19(int) Constant 2
- 52: TypeVector 17(float) 3
- 62: 19(int) Constant 3
- 69: TypePointer StorageBuffer 19(int)
- 76: TypeVector 19(int) 2
- 77: TypePointer StorageBuffer 20(ivec4)
- 87: TypeVector 19(int) 3
- 103: TypePointer StorageBuffer 6(int)
- 110: TypeVector 6(int) 2
- 111: TypePointer StorageBuffer 21(ivec4)
- 121: TypeVector 6(int) 3
- 137: TypePointer StorageBuffer 22(float64_t)
- 144: TypeVector 22(float64_t) 2
- 145: TypePointer StorageBuffer 23(f64vec4)
- 155: TypeVector 22(float64_t) 3
- 173: TypeBool
- 183: 76(ivec2) ConstantComposite 29 29
- 184: TypeVector 173(bool) 2
- 188: 76(ivec2) ConstantComposite 39 39
- 197: 87(ivec3) ConstantComposite 29 29 29
- 198: TypeVector 173(bool) 3
- 202: 87(ivec3) ConstantComposite 39 39 39
- 210: 20(ivec4) ConstantComposite 29 29 29 29
- 211: TypeVector 173(bool) 4
- 215: 20(ivec4) ConstantComposite 39 39 39 39
- 376: 6(int) Constant 8
- 377: 6(int) Constant 1
- 378: 121(ivec3) ConstantComposite 376 376 377
+ 49: 6(int) Constant 1
+ 53: 19(int) Constant 2
+ 54: TypeVector 17(float) 3
+ 64: 6(int) Constant 2
+ 68: 19(int) Constant 3
+ 75: TypePointer StorageBuffer 19(int)
+ 82: TypeVector 19(int) 2
+ 83: TypePointer StorageBuffer 20(ivec4)
+ 94: TypeVector 19(int) 3
+ 113: TypePointer StorageBuffer 6(int)
+ 120: TypeVector 6(int) 2
+ 121: TypePointer StorageBuffer 21(ivec4)
+ 132: TypeVector 6(int) 3
+ 151: TypePointer StorageBuffer 22(float64_t)
+ 158: TypeVector 22(float64_t) 2
+ 159: TypePointer StorageBuffer 23(f64vec4)
+ 170: TypeVector 22(float64_t) 3
+ 191: TypeBool
+ 201: 82(ivec2) ConstantComposite 29 29
+ 202: TypeVector 191(bool) 2
+ 206: 82(ivec2) ConstantComposite 39 39
+ 216: 94(ivec3) ConstantComposite 29 29 29
+ 217: TypeVector 191(bool) 3
+ 221: 94(ivec3) ConstantComposite 39 39 39
+ 232: 20(ivec4) ConstantComposite 29 29 29 29
+ 233: TypeVector 191(bool) 4
+ 237: 20(ivec4) ConstantComposite 39 39 39 39
+ 418: 6(int) Constant 8
+ 419: 132(ivec3) ConstantComposite 418 418 49
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
@@ -115,348 +116,418 @@
44: 40(fvec2) VectorShuffle 43 43 0 1
45: 6(int) Load 8(invocation)
46: 40(fvec2) GroupNonUniformShuffleUp 35 44 45
- 47: 41(ptr) AccessChain 27(data) 38 29
- 48: 18(fvec4) Load 47
- 49: 18(fvec4) VectorShuffle 48 46 4 5 2 3
- Store 47 49
- 50: 6(int) Load 8(invocation)
- 53: 41(ptr) AccessChain 27(data) 51 29
- 54: 18(fvec4) Load 53
- 55: 52(fvec3) VectorShuffle 54 54 0 1 2
- 56: 6(int) Load 8(invocation)
- 57: 52(fvec3) GroupNonUniformShuffleUp 35 55 56
- 58: 41(ptr) AccessChain 27(data) 50 29
- 59: 18(fvec4) Load 58
- 60: 18(fvec4) VectorShuffle 59 57 4 5 6 3
- Store 58 60
- 61: 6(int) Load 8(invocation)
- 63: 41(ptr) AccessChain 27(data) 62 29
- 64: 18(fvec4) Load 63
- 65: 6(int) Load 8(invocation)
- 66: 18(fvec4) GroupNonUniformShuffleUp 35 64 65
- 67: 41(ptr) AccessChain 27(data) 61 29
- Store 67 66
- 68: 6(int) Load 8(invocation)
- 70: 69(ptr) AccessChain 27(data) 29 39 30
- 71: 19(int) Load 70
- 72: 6(int) Load 8(invocation)
- 73: 19(int) GroupNonUniformShuffleUp 35 71 72
- 74: 69(ptr) AccessChain 27(data) 68 39 30
- Store 74 73
- 75: 6(int) Load 8(invocation)
- 78: 77(ptr) AccessChain 27(data) 39 39
- 79: 20(ivec4) Load 78
- 80: 76(ivec2) VectorShuffle 79 79 0 1
+ 47: 31(ptr) AccessChain 27(data) 38 29 30
+ 48: 17(float) CompositeExtract 46 0
+ Store 47 48
+ 50: 31(ptr) AccessChain 27(data) 38 29 49
+ 51: 17(float) CompositeExtract 46 1
+ Store 50 51
+ 52: 6(int) Load 8(invocation)
+ 55: 41(ptr) AccessChain 27(data) 53 29
+ 56: 18(fvec4) Load 55
+ 57: 54(fvec3) VectorShuffle 56 56 0 1 2
+ 58: 6(int) Load 8(invocation)
+ 59: 54(fvec3) GroupNonUniformShuffleUp 35 57 58
+ 60: 31(ptr) AccessChain 27(data) 52 29 30
+ 61: 17(float) CompositeExtract 59 0
+ Store 60 61
+ 62: 31(ptr) AccessChain 27(data) 52 29 49
+ 63: 17(float) CompositeExtract 59 1
+ Store 62 63
+ 65: 31(ptr) AccessChain 27(data) 52 29 64
+ 66: 17(float) CompositeExtract 59 2
+ Store 65 66
+ 67: 6(int) Load 8(invocation)
+ 69: 41(ptr) AccessChain 27(data) 68 29
+ 70: 18(fvec4) Load 69
+ 71: 6(int) Load 8(invocation)
+ 72: 18(fvec4) GroupNonUniformShuffleUp 35 70 71
+ 73: 41(ptr) AccessChain 27(data) 67 29
+ Store 73 72
+ 74: 6(int) Load 8(invocation)
+ 76: 75(ptr) AccessChain 27(data) 29 39 30
+ 77: 19(int) Load 76
+ 78: 6(int) Load 8(invocation)
+ 79: 19(int) GroupNonUniformShuffleUp 35 77 78
+ 80: 75(ptr) AccessChain 27(data) 74 39 30
+ Store 80 79
81: 6(int) Load 8(invocation)
- 82: 76(ivec2) GroupNonUniformShuffleUp 35 80 81
- 83: 77(ptr) AccessChain 27(data) 75 39
- 84: 20(ivec4) Load 83
- 85: 20(ivec4) VectorShuffle 84 82 4 5 2 3
- Store 83 85
- 86: 6(int) Load 8(invocation)
- 88: 77(ptr) AccessChain 27(data) 51 39
- 89: 20(ivec4) Load 88
- 90: 87(ivec3) VectorShuffle 89 89 0 1 2
- 91: 6(int) Load 8(invocation)
- 92: 87(ivec3) GroupNonUniformShuffleUp 35 90 91
- 93: 77(ptr) AccessChain 27(data) 86 39
- 94: 20(ivec4) Load 93
- 95: 20(ivec4) VectorShuffle 94 92 4 5 6 3
- Store 93 95
- 96: 6(int) Load 8(invocation)
- 97: 77(ptr) AccessChain 27(data) 62 39
- 98: 20(ivec4) Load 97
- 99: 6(int) Load 8(invocation)
- 100: 20(ivec4) GroupNonUniformShuffleUp 35 98 99
- 101: 77(ptr) AccessChain 27(data) 96 39
- Store 101 100
- 102: 6(int) Load 8(invocation)
- 104: 103(ptr) AccessChain 27(data) 29 51 30
- 105: 6(int) Load 104
+ 84: 83(ptr) AccessChain 27(data) 39 39
+ 85: 20(ivec4) Load 84
+ 86: 82(ivec2) VectorShuffle 85 85 0 1
+ 87: 6(int) Load 8(invocation)
+ 88: 82(ivec2) GroupNonUniformShuffleUp 35 86 87
+ 89: 75(ptr) AccessChain 27(data) 81 39 30
+ 90: 19(int) CompositeExtract 88 0
+ Store 89 90
+ 91: 75(ptr) AccessChain 27(data) 81 39 49
+ 92: 19(int) CompositeExtract 88 1
+ Store 91 92
+ 93: 6(int) Load 8(invocation)
+ 95: 83(ptr) AccessChain 27(data) 53 39
+ 96: 20(ivec4) Load 95
+ 97: 94(ivec3) VectorShuffle 96 96 0 1 2
+ 98: 6(int) Load 8(invocation)
+ 99: 94(ivec3) GroupNonUniformShuffleUp 35 97 98
+ 100: 75(ptr) AccessChain 27(data) 93 39 30
+ 101: 19(int) CompositeExtract 99 0
+ Store 100 101
+ 102: 75(ptr) AccessChain 27(data) 93 39 49
+ 103: 19(int) CompositeExtract 99 1
+ Store 102 103
+ 104: 75(ptr) AccessChain 27(data) 93 39 64
+ 105: 19(int) CompositeExtract 99 2
+ Store 104 105
106: 6(int) Load 8(invocation)
- 107: 6(int) GroupNonUniformShuffleUp 35 105 106
- 108: 103(ptr) AccessChain 27(data) 102 51 30
- Store 108 107
+ 107: 83(ptr) AccessChain 27(data) 68 39
+ 108: 20(ivec4) Load 107
109: 6(int) Load 8(invocation)
- 112: 111(ptr) AccessChain 27(data) 39 51
- 113: 21(ivec4) Load 112
- 114: 110(ivec2) VectorShuffle 113 113 0 1
- 115: 6(int) Load 8(invocation)
- 116: 110(ivec2) GroupNonUniformShuffleUp 35 114 115
- 117: 111(ptr) AccessChain 27(data) 109 51
- 118: 21(ivec4) Load 117
- 119: 21(ivec4) VectorShuffle 118 116 4 5 2 3
- Store 117 119
- 120: 6(int) Load 8(invocation)
- 122: 111(ptr) AccessChain 27(data) 51 51
+ 110: 20(ivec4) GroupNonUniformShuffleUp 35 108 109
+ 111: 83(ptr) AccessChain 27(data) 106 39
+ Store 111 110
+ 112: 6(int) Load 8(invocation)
+ 114: 113(ptr) AccessChain 27(data) 29 53 30
+ 115: 6(int) Load 114
+ 116: 6(int) Load 8(invocation)
+ 117: 6(int) GroupNonUniformShuffleUp 35 115 116
+ 118: 113(ptr) AccessChain 27(data) 112 53 30
+ Store 118 117
+ 119: 6(int) Load 8(invocation)
+ 122: 121(ptr) AccessChain 27(data) 39 53
123: 21(ivec4) Load 122
- 124: 121(ivec3) VectorShuffle 123 123 0 1 2
+ 124: 120(ivec2) VectorShuffle 123 123 0 1
125: 6(int) Load 8(invocation)
- 126: 121(ivec3) GroupNonUniformShuffleUp 35 124 125
- 127: 111(ptr) AccessChain 27(data) 120 51
- 128: 21(ivec4) Load 127
- 129: 21(ivec4) VectorShuffle 128 126 4 5 6 3
- Store 127 129
- 130: 6(int) Load 8(invocation)
- 131: 111(ptr) AccessChain 27(data) 62 51
- 132: 21(ivec4) Load 131
- 133: 6(int) Load 8(invocation)
- 134: 21(ivec4) GroupNonUniformShuffleUp 35 132 133
- 135: 111(ptr) AccessChain 27(data) 130 51
- Store 135 134
+ 126: 120(ivec2) GroupNonUniformShuffleUp 35 124 125
+ 127: 113(ptr) AccessChain 27(data) 119 53 30
+ 128: 6(int) CompositeExtract 126 0
+ Store 127 128
+ 129: 113(ptr) AccessChain 27(data) 119 53 49
+ 130: 6(int) CompositeExtract 126 1
+ Store 129 130
+ 131: 6(int) Load 8(invocation)
+ 133: 121(ptr) AccessChain 27(data) 53 53
+ 134: 21(ivec4) Load 133
+ 135: 132(ivec3) VectorShuffle 134 134 0 1 2
136: 6(int) Load 8(invocation)
- 138: 137(ptr) AccessChain 27(data) 29 62 30
- 139:22(float64_t) Load 138
- 140: 6(int) Load 8(invocation)
- 141:22(float64_t) GroupNonUniformShuffleUp 35 139 140
- 142: 137(ptr) AccessChain 27(data) 136 62 30
- Store 142 141
- 143: 6(int) Load 8(invocation)
- 146: 145(ptr) AccessChain 27(data) 39 62
- 147: 23(f64vec4) Load 146
- 148:144(f64vec2) VectorShuffle 147 147 0 1
- 149: 6(int) Load 8(invocation)
- 150:144(f64vec2) GroupNonUniformShuffleUp 35 148 149
- 151: 145(ptr) AccessChain 27(data) 143 62
- 152: 23(f64vec4) Load 151
- 153: 23(f64vec4) VectorShuffle 152 150 4 5 2 3
- Store 151 153
+ 137: 132(ivec3) GroupNonUniformShuffleUp 35 135 136
+ 138: 113(ptr) AccessChain 27(data) 131 53 30
+ 139: 6(int) CompositeExtract 137 0
+ Store 138 139
+ 140: 113(ptr) AccessChain 27(data) 131 53 49
+ 141: 6(int) CompositeExtract 137 1
+ Store 140 141
+ 142: 113(ptr) AccessChain 27(data) 131 53 64
+ 143: 6(int) CompositeExtract 137 2
+ Store 142 143
+ 144: 6(int) Load 8(invocation)
+ 145: 121(ptr) AccessChain 27(data) 68 53
+ 146: 21(ivec4) Load 145
+ 147: 6(int) Load 8(invocation)
+ 148: 21(ivec4) GroupNonUniformShuffleUp 35 146 147
+ 149: 121(ptr) AccessChain 27(data) 144 53
+ Store 149 148
+ 150: 6(int) Load 8(invocation)
+ 152: 151(ptr) AccessChain 27(data) 29 68 30
+ 153:22(float64_t) Load 152
154: 6(int) Load 8(invocation)
- 156: 145(ptr) AccessChain 27(data) 51 62
- 157: 23(f64vec4) Load 156
- 158:155(f64vec3) VectorShuffle 157 157 0 1 2
- 159: 6(int) Load 8(invocation)
- 160:155(f64vec3) GroupNonUniformShuffleUp 35 158 159
- 161: 145(ptr) AccessChain 27(data) 154 62
- 162: 23(f64vec4) Load 161
- 163: 23(f64vec4) VectorShuffle 162 160 4 5 6 3
- Store 161 163
- 164: 6(int) Load 8(invocation)
- 165: 145(ptr) AccessChain 27(data) 62 62
- 166: 23(f64vec4) Load 165
- 167: 6(int) Load 8(invocation)
- 168: 23(f64vec4) GroupNonUniformShuffleUp 35 166 167
- 169: 145(ptr) AccessChain 27(data) 164 62
- Store 169 168
- 170: 6(int) Load 8(invocation)
- 171: 69(ptr) AccessChain 27(data) 29 39 30
- 172: 19(int) Load 171
- 174: 173(bool) SLessThan 172 29
- 175: 6(int) Load 8(invocation)
- 176: 173(bool) GroupNonUniformShuffleUp 35 174 175
- 177: 19(int) Select 176 39 29
- 178: 69(ptr) AccessChain 27(data) 170 39 30
- Store 178 177
- 179: 6(int) Load 8(invocation)
- 180: 77(ptr) AccessChain 27(data) 39 39
- 181: 20(ivec4) Load 180
- 182: 76(ivec2) VectorShuffle 181 181 0 1
- 185: 184(bvec2) SLessThan 182 183
- 186: 6(int) Load 8(invocation)
- 187: 184(bvec2) GroupNonUniformShuffleUp 35 185 186
- 189: 76(ivec2) Select 187 188 183
- 190: 77(ptr) AccessChain 27(data) 179 39
- 191: 20(ivec4) Load 190
- 192: 20(ivec4) VectorShuffle 191 189 4 5 2 3
- Store 190 192
+ 155:22(float64_t) GroupNonUniformShuffleUp 35 153 154
+ 156: 151(ptr) AccessChain 27(data) 150 68 30
+ Store 156 155
+ 157: 6(int) Load 8(invocation)
+ 160: 159(ptr) AccessChain 27(data) 39 68
+ 161: 23(f64vec4) Load 160
+ 162:158(f64vec2) VectorShuffle 161 161 0 1
+ 163: 6(int) Load 8(invocation)
+ 164:158(f64vec2) GroupNonUniformShuffleUp 35 162 163
+ 165: 151(ptr) AccessChain 27(data) 157 68 30
+ 166:22(float64_t) CompositeExtract 164 0
+ Store 165 166
+ 167: 151(ptr) AccessChain 27(data) 157 68 49
+ 168:22(float64_t) CompositeExtract 164 1
+ Store 167 168
+ 169: 6(int) Load 8(invocation)
+ 171: 159(ptr) AccessChain 27(data) 53 68
+ 172: 23(f64vec4) Load 171
+ 173:170(f64vec3) VectorShuffle 172 172 0 1 2
+ 174: 6(int) Load 8(invocation)
+ 175:170(f64vec3) GroupNonUniformShuffleUp 35 173 174
+ 176: 151(ptr) AccessChain 27(data) 169 68 30
+ 177:22(float64_t) CompositeExtract 175 0
+ Store 176 177
+ 178: 151(ptr) AccessChain 27(data) 169 68 49
+ 179:22(float64_t) CompositeExtract 175 1
+ Store 178 179
+ 180: 151(ptr) AccessChain 27(data) 169 68 64
+ 181:22(float64_t) CompositeExtract 175 2
+ Store 180 181
+ 182: 6(int) Load 8(invocation)
+ 183: 159(ptr) AccessChain 27(data) 68 68
+ 184: 23(f64vec4) Load 183
+ 185: 6(int) Load 8(invocation)
+ 186: 23(f64vec4) GroupNonUniformShuffleUp 35 184 185
+ 187: 159(ptr) AccessChain 27(data) 182 68
+ Store 187 186
+ 188: 6(int) Load 8(invocation)
+ 189: 75(ptr) AccessChain 27(data) 29 39 30
+ 190: 19(int) Load 189
+ 192: 191(bool) SLessThan 190 29
193: 6(int) Load 8(invocation)
- 194: 77(ptr) AccessChain 27(data) 39 39
- 195: 20(ivec4) Load 194
- 196: 87(ivec3) VectorShuffle 195 195 0 1 2
- 199: 198(bvec3) SLessThan 196 197
- 200: 6(int) Load 8(invocation)
- 201: 198(bvec3) GroupNonUniformShuffleUp 35 199 200
- 203: 87(ivec3) Select 201 202 197
- 204: 77(ptr) AccessChain 27(data) 193 39
- 205: 20(ivec4) Load 204
- 206: 20(ivec4) VectorShuffle 205 203 4 5 6 3
- Store 204 206
- 207: 6(int) Load 8(invocation)
- 208: 77(ptr) AccessChain 27(data) 39 39
- 209: 20(ivec4) Load 208
- 212: 211(bvec4) SLessThan 209 210
- 213: 6(int) Load 8(invocation)
- 214: 211(bvec4) GroupNonUniformShuffleUp 35 212 213
- 216: 20(ivec4) Select 214 215 210
- 217: 77(ptr) AccessChain 27(data) 207 39
- Store 217 216
- 218: 6(int) Load 8(invocation)
- 219: 31(ptr) AccessChain 27(data) 29 29 30
- 220: 17(float) Load 219
- 221: 6(int) Load 8(invocation)
- 222: 17(float) GroupNonUniformShuffleDown 35 220 221
- 223: 31(ptr) AccessChain 27(data) 218 29 30
- Store 223 222
- 224: 6(int) Load 8(invocation)
- 225: 41(ptr) AccessChain 27(data) 39 29
- 226: 18(fvec4) Load 225
- 227: 40(fvec2) VectorShuffle 226 226 0 1
- 228: 6(int) Load 8(invocation)
- 229: 40(fvec2) GroupNonUniformShuffleDown 35 227 228
- 230: 41(ptr) AccessChain 27(data) 224 29
- 231: 18(fvec4) Load 230
- 232: 18(fvec4) VectorShuffle 231 229 4 5 2 3
- Store 230 232
- 233: 6(int) Load 8(invocation)
- 234: 41(ptr) AccessChain 27(data) 51 29
- 235: 18(fvec4) Load 234
- 236: 52(fvec3) VectorShuffle 235 235 0 1 2
- 237: 6(int) Load 8(invocation)
- 238: 52(fvec3) GroupNonUniformShuffleDown 35 236 237
- 239: 41(ptr) AccessChain 27(data) 233 29
- 240: 18(fvec4) Load 239
- 241: 18(fvec4) VectorShuffle 240 238 4 5 6 3
- Store 239 241
- 242: 6(int) Load 8(invocation)
- 243: 41(ptr) AccessChain 27(data) 62 29
- 244: 18(fvec4) Load 243
- 245: 6(int) Load 8(invocation)
- 246: 18(fvec4) GroupNonUniformShuffleDown 35 244 245
- 247: 41(ptr) AccessChain 27(data) 242 29
- Store 247 246
- 248: 6(int) Load 8(invocation)
- 249: 69(ptr) AccessChain 27(data) 29 39 30
- 250: 19(int) Load 249
- 251: 6(int) Load 8(invocation)
- 252: 19(int) GroupNonUniformShuffleDown 35 250 251
- 253: 69(ptr) AccessChain 27(data) 248 39 30
- Store 253 252
- 254: 6(int) Load 8(invocation)
- 255: 77(ptr) AccessChain 27(data) 39 39
- 256: 20(ivec4) Load 255
- 257: 76(ivec2) VectorShuffle 256 256 0 1
- 258: 6(int) Load 8(invocation)
- 259: 76(ivec2) GroupNonUniformShuffleDown 35 257 258
- 260: 77(ptr) AccessChain 27(data) 254 39
- 261: 20(ivec4) Load 260
- 262: 20(ivec4) VectorShuffle 261 259 4 5 2 3
- Store 260 262
- 263: 6(int) Load 8(invocation)
- 264: 77(ptr) AccessChain 27(data) 51 39
- 265: 20(ivec4) Load 264
- 266: 87(ivec3) VectorShuffle 265 265 0 1 2
- 267: 6(int) Load 8(invocation)
- 268: 87(ivec3) GroupNonUniformShuffleDown 35 266 267
- 269: 77(ptr) AccessChain 27(data) 263 39
- 270: 20(ivec4) Load 269
- 271: 20(ivec4) VectorShuffle 270 268 4 5 6 3
- Store 269 271
- 272: 6(int) Load 8(invocation)
- 273: 77(ptr) AccessChain 27(data) 62 39
- 274: 20(ivec4) Load 273
- 275: 6(int) Load 8(invocation)
- 276: 20(ivec4) GroupNonUniformShuffleDown 35 274 275
- 277: 77(ptr) AccessChain 27(data) 272 39
- Store 277 276
- 278: 6(int) Load 8(invocation)
- 279: 103(ptr) AccessChain 27(data) 29 51 30
- 280: 6(int) Load 279
- 281: 6(int) Load 8(invocation)
- 282: 6(int) GroupNonUniformShuffleDown 35 280 281
- 283: 103(ptr) AccessChain 27(data) 278 51 30
- Store 283 282
+ 194: 191(bool) GroupNonUniformShuffleUp 35 192 193
+ 195: 19(int) Select 194 39 29
+ 196: 75(ptr) AccessChain 27(data) 188 39 30
+ Store 196 195
+ 197: 6(int) Load 8(invocation)
+ 198: 83(ptr) AccessChain 27(data) 39 39
+ 199: 20(ivec4) Load 198
+ 200: 82(ivec2) VectorShuffle 199 199 0 1
+ 203: 202(bvec2) SLessThan 200 201
+ 204: 6(int) Load 8(invocation)
+ 205: 202(bvec2) GroupNonUniformShuffleUp 35 203 204
+ 207: 82(ivec2) Select 205 206 201
+ 208: 75(ptr) AccessChain 27(data) 197 39 30
+ 209: 19(int) CompositeExtract 207 0
+ Store 208 209
+ 210: 75(ptr) AccessChain 27(data) 197 39 49
+ 211: 19(int) CompositeExtract 207 1
+ Store 210 211
+ 212: 6(int) Load 8(invocation)
+ 213: 83(ptr) AccessChain 27(data) 39 39
+ 214: 20(ivec4) Load 213
+ 215: 94(ivec3) VectorShuffle 214 214 0 1 2
+ 218: 217(bvec3) SLessThan 215 216
+ 219: 6(int) Load 8(invocation)
+ 220: 217(bvec3) GroupNonUniformShuffleUp 35 218 219
+ 222: 94(ivec3) Select 220 221 216
+ 223: 75(ptr) AccessChain 27(data) 212 39 30
+ 224: 19(int) CompositeExtract 222 0
+ Store 223 224
+ 225: 75(ptr) AccessChain 27(data) 212 39 49
+ 226: 19(int) CompositeExtract 222 1
+ Store 225 226
+ 227: 75(ptr) AccessChain 27(data) 212 39 64
+ 228: 19(int) CompositeExtract 222 2
+ Store 227 228
+ 229: 6(int) Load 8(invocation)
+ 230: 83(ptr) AccessChain 27(data) 39 39
+ 231: 20(ivec4) Load 230
+ 234: 233(bvec4) SLessThan 231 232
+ 235: 6(int) Load 8(invocation)
+ 236: 233(bvec4) GroupNonUniformShuffleUp 35 234 235
+ 238: 20(ivec4) Select 236 237 232
+ 239: 83(ptr) AccessChain 27(data) 229 39
+ Store 239 238
+ 240: 6(int) Load 8(invocation)
+ 241: 31(ptr) AccessChain 27(data) 29 29 30
+ 242: 17(float) Load 241
+ 243: 6(int) Load 8(invocation)
+ 244: 17(float) GroupNonUniformShuffleDown 35 242 243
+ 245: 31(ptr) AccessChain 27(data) 240 29 30
+ Store 245 244
+ 246: 6(int) Load 8(invocation)
+ 247: 41(ptr) AccessChain 27(data) 39 29
+ 248: 18(fvec4) Load 247
+ 249: 40(fvec2) VectorShuffle 248 248 0 1
+ 250: 6(int) Load 8(invocation)
+ 251: 40(fvec2) GroupNonUniformShuffleDown 35 249 250
+ 252: 31(ptr) AccessChain 27(data) 246 29 30
+ 253: 17(float) CompositeExtract 251 0
+ Store 252 253
+ 254: 31(ptr) AccessChain 27(data) 246 29 49
+ 255: 17(float) CompositeExtract 251 1
+ Store 254 255
+ 256: 6(int) Load 8(invocation)
+ 257: 41(ptr) AccessChain 27(data) 53 29
+ 258: 18(fvec4) Load 257
+ 259: 54(fvec3) VectorShuffle 258 258 0 1 2
+ 260: 6(int) Load 8(invocation)
+ 261: 54(fvec3) GroupNonUniformShuffleDown 35 259 260
+ 262: 31(ptr) AccessChain 27(data) 256 29 30
+ 263: 17(float) CompositeExtract 261 0
+ Store 262 263
+ 264: 31(ptr) AccessChain 27(data) 256 29 49
+ 265: 17(float) CompositeExtract 261 1
+ Store 264 265
+ 266: 31(ptr) AccessChain 27(data) 256 29 64
+ 267: 17(float) CompositeExtract 261 2
+ Store 266 267
+ 268: 6(int) Load 8(invocation)
+ 269: 41(ptr) AccessChain 27(data) 68 29
+ 270: 18(fvec4) Load 269
+ 271: 6(int) Load 8(invocation)
+ 272: 18(fvec4) GroupNonUniformShuffleDown 35 270 271
+ 273: 41(ptr) AccessChain 27(data) 268 29
+ Store 273 272
+ 274: 6(int) Load 8(invocation)
+ 275: 75(ptr) AccessChain 27(data) 29 39 30
+ 276: 19(int) Load 275
+ 277: 6(int) Load 8(invocation)
+ 278: 19(int) GroupNonUniformShuffleDown 35 276 277
+ 279: 75(ptr) AccessChain 27(data) 274 39 30
+ Store 279 278
+ 280: 6(int) Load 8(invocation)
+ 281: 83(ptr) AccessChain 27(data) 39 39
+ 282: 20(ivec4) Load 281
+ 283: 82(ivec2) VectorShuffle 282 282 0 1
284: 6(int) Load 8(invocation)
- 285: 111(ptr) AccessChain 27(data) 39 51
- 286: 21(ivec4) Load 285
- 287: 110(ivec2) VectorShuffle 286 286 0 1
- 288: 6(int) Load 8(invocation)
- 289: 110(ivec2) GroupNonUniformShuffleDown 35 287 288
- 290: 111(ptr) AccessChain 27(data) 284 51
- 291: 21(ivec4) Load 290
- 292: 21(ivec4) VectorShuffle 291 289 4 5 2 3
- Store 290 292
- 293: 6(int) Load 8(invocation)
- 294: 111(ptr) AccessChain 27(data) 51 51
- 295: 21(ivec4) Load 294
- 296: 121(ivec3) VectorShuffle 295 295 0 1 2
- 297: 6(int) Load 8(invocation)
- 298: 121(ivec3) GroupNonUniformShuffleDown 35 296 297
- 299: 111(ptr) AccessChain 27(data) 293 51
- 300: 21(ivec4) Load 299
- 301: 21(ivec4) VectorShuffle 300 298 4 5 6 3
- Store 299 301
+ 285: 82(ivec2) GroupNonUniformShuffleDown 35 283 284
+ 286: 75(ptr) AccessChain 27(data) 280 39 30
+ 287: 19(int) CompositeExtract 285 0
+ Store 286 287
+ 288: 75(ptr) AccessChain 27(data) 280 39 49
+ 289: 19(int) CompositeExtract 285 1
+ Store 288 289
+ 290: 6(int) Load 8(invocation)
+ 291: 83(ptr) AccessChain 27(data) 53 39
+ 292: 20(ivec4) Load 291
+ 293: 94(ivec3) VectorShuffle 292 292 0 1 2
+ 294: 6(int) Load 8(invocation)
+ 295: 94(ivec3) GroupNonUniformShuffleDown 35 293 294
+ 296: 75(ptr) AccessChain 27(data) 290 39 30
+ 297: 19(int) CompositeExtract 295 0
+ Store 296 297
+ 298: 75(ptr) AccessChain 27(data) 290 39 49
+ 299: 19(int) CompositeExtract 295 1
+ Store 298 299
+ 300: 75(ptr) AccessChain 27(data) 290 39 64
+ 301: 19(int) CompositeExtract 295 2
+ Store 300 301
302: 6(int) Load 8(invocation)
- 303: 111(ptr) AccessChain 27(data) 62 51
- 304: 21(ivec4) Load 303
+ 303: 83(ptr) AccessChain 27(data) 68 39
+ 304: 20(ivec4) Load 303
305: 6(int) Load 8(invocation)
- 306: 21(ivec4) GroupNonUniformShuffleDown 35 304 305
- 307: 111(ptr) AccessChain 27(data) 302 51
+ 306: 20(ivec4) GroupNonUniformShuffleDown 35 304 305
+ 307: 83(ptr) AccessChain 27(data) 302 39
Store 307 306
308: 6(int) Load 8(invocation)
- 309: 137(ptr) AccessChain 27(data) 29 62 30
- 310:22(float64_t) Load 309
+ 309: 113(ptr) AccessChain 27(data) 29 53 30
+ 310: 6(int) Load 309
311: 6(int) Load 8(invocation)
- 312:22(float64_t) GroupNonUniformShuffleDown 35 310 311
- 313: 137(ptr) AccessChain 27(data) 308 62 30
+ 312: 6(int) GroupNonUniformShuffleDown 35 310 311
+ 313: 113(ptr) AccessChain 27(data) 308 53 30
Store 313 312
314: 6(int) Load 8(invocation)
- 315: 145(ptr) AccessChain 27(data) 39 62
- 316: 23(f64vec4) Load 315
- 317:144(f64vec2) VectorShuffle 316 316 0 1
+ 315: 121(ptr) AccessChain 27(data) 39 53
+ 316: 21(ivec4) Load 315
+ 317: 120(ivec2) VectorShuffle 316 316 0 1
318: 6(int) Load 8(invocation)
- 319:144(f64vec2) GroupNonUniformShuffleDown 35 317 318
- 320: 145(ptr) AccessChain 27(data) 314 62
- 321: 23(f64vec4) Load 320
- 322: 23(f64vec4) VectorShuffle 321 319 4 5 2 3
- Store 320 322
- 323: 6(int) Load 8(invocation)
- 324: 145(ptr) AccessChain 27(data) 51 62
- 325: 23(f64vec4) Load 324
- 326:155(f64vec3) VectorShuffle 325 325 0 1 2
- 327: 6(int) Load 8(invocation)
- 328:155(f64vec3) GroupNonUniformShuffleDown 35 326 327
- 329: 145(ptr) AccessChain 27(data) 323 62
- 330: 23(f64vec4) Load 329
- 331: 23(f64vec4) VectorShuffle 330 328 4 5 6 3
- Store 329 331
- 332: 6(int) Load 8(invocation)
- 333: 145(ptr) AccessChain 27(data) 62 62
- 334: 23(f64vec4) Load 333
- 335: 6(int) Load 8(invocation)
- 336: 23(f64vec4) GroupNonUniformShuffleDown 35 334 335
- 337: 145(ptr) AccessChain 27(data) 332 62
- Store 337 336
- 338: 6(int) Load 8(invocation)
- 339: 69(ptr) AccessChain 27(data) 29 39 30
- 340: 19(int) Load 339
- 341: 173(bool) SLessThan 340 29
+ 319: 120(ivec2) GroupNonUniformShuffleDown 35 317 318
+ 320: 113(ptr) AccessChain 27(data) 314 53 30
+ 321: 6(int) CompositeExtract 319 0
+ Store 320 321
+ 322: 113(ptr) AccessChain 27(data) 314 53 49
+ 323: 6(int) CompositeExtract 319 1
+ Store 322 323
+ 324: 6(int) Load 8(invocation)
+ 325: 121(ptr) AccessChain 27(data) 53 53
+ 326: 21(ivec4) Load 325
+ 327: 132(ivec3) VectorShuffle 326 326 0 1 2
+ 328: 6(int) Load 8(invocation)
+ 329: 132(ivec3) GroupNonUniformShuffleDown 35 327 328
+ 330: 113(ptr) AccessChain 27(data) 324 53 30
+ 331: 6(int) CompositeExtract 329 0
+ Store 330 331
+ 332: 113(ptr) AccessChain 27(data) 324 53 49
+ 333: 6(int) CompositeExtract 329 1
+ Store 332 333
+ 334: 113(ptr) AccessChain 27(data) 324 53 64
+ 335: 6(int) CompositeExtract 329 2
+ Store 334 335
+ 336: 6(int) Load 8(invocation)
+ 337: 121(ptr) AccessChain 27(data) 68 53
+ 338: 21(ivec4) Load 337
+ 339: 6(int) Load 8(invocation)
+ 340: 21(ivec4) GroupNonUniformShuffleDown 35 338 339
+ 341: 121(ptr) AccessChain 27(data) 336 53
+ Store 341 340
342: 6(int) Load 8(invocation)
- 343: 173(bool) GroupNonUniformShuffleDown 35 341 342
- 344: 19(int) Select 343 39 29
- 345: 69(ptr) AccessChain 27(data) 338 39 30
- Store 345 344
- 346: 6(int) Load 8(invocation)
- 347: 77(ptr) AccessChain 27(data) 39 39
- 348: 20(ivec4) Load 347
- 349: 76(ivec2) VectorShuffle 348 348 0 1
- 350: 184(bvec2) SLessThan 349 183
- 351: 6(int) Load 8(invocation)
- 352: 184(bvec2) GroupNonUniformShuffleDown 35 350 351
- 353: 76(ivec2) Select 352 188 183
- 354: 77(ptr) AccessChain 27(data) 346 39
- 355: 20(ivec4) Load 354
- 356: 20(ivec4) VectorShuffle 355 353 4 5 2 3
- Store 354 356
- 357: 6(int) Load 8(invocation)
- 358: 77(ptr) AccessChain 27(data) 39 39
- 359: 20(ivec4) Load 358
- 360: 87(ivec3) VectorShuffle 359 359 0 1 2
- 361: 198(bvec3) SLessThan 360 197
+ 343: 151(ptr) AccessChain 27(data) 29 68 30
+ 344:22(float64_t) Load 343
+ 345: 6(int) Load 8(invocation)
+ 346:22(float64_t) GroupNonUniformShuffleDown 35 344 345
+ 347: 151(ptr) AccessChain 27(data) 342 68 30
+ Store 347 346
+ 348: 6(int) Load 8(invocation)
+ 349: 159(ptr) AccessChain 27(data) 39 68
+ 350: 23(f64vec4) Load 349
+ 351:158(f64vec2) VectorShuffle 350 350 0 1
+ 352: 6(int) Load 8(invocation)
+ 353:158(f64vec2) GroupNonUniformShuffleDown 35 351 352
+ 354: 151(ptr) AccessChain 27(data) 348 68 30
+ 355:22(float64_t) CompositeExtract 353 0
+ Store 354 355
+ 356: 151(ptr) AccessChain 27(data) 348 68 49
+ 357:22(float64_t) CompositeExtract 353 1
+ Store 356 357
+ 358: 6(int) Load 8(invocation)
+ 359: 159(ptr) AccessChain 27(data) 53 68
+ 360: 23(f64vec4) Load 359
+ 361:170(f64vec3) VectorShuffle 360 360 0 1 2
362: 6(int) Load 8(invocation)
- 363: 198(bvec3) GroupNonUniformShuffleDown 35 361 362
- 364: 87(ivec3) Select 363 202 197
- 365: 77(ptr) AccessChain 27(data) 357 39
- 366: 20(ivec4) Load 365
- 367: 20(ivec4) VectorShuffle 366 364 4 5 6 3
- Store 365 367
- 368: 6(int) Load 8(invocation)
- 369: 77(ptr) AccessChain 27(data) 39 39
- 370: 20(ivec4) Load 369
- 371: 211(bvec4) SLessThan 370 210
- 372: 6(int) Load 8(invocation)
- 373: 211(bvec4) GroupNonUniformShuffleDown 35 371 372
- 374: 20(ivec4) Select 373 215 210
- 375: 77(ptr) AccessChain 27(data) 368 39
+ 363:170(f64vec3) GroupNonUniformShuffleDown 35 361 362
+ 364: 151(ptr) AccessChain 27(data) 358 68 30
+ 365:22(float64_t) CompositeExtract 363 0
+ Store 364 365
+ 366: 151(ptr) AccessChain 27(data) 358 68 49
+ 367:22(float64_t) CompositeExtract 363 1
+ Store 366 367
+ 368: 151(ptr) AccessChain 27(data) 358 68 64
+ 369:22(float64_t) CompositeExtract 363 2
+ Store 368 369
+ 370: 6(int) Load 8(invocation)
+ 371: 159(ptr) AccessChain 27(data) 68 68
+ 372: 23(f64vec4) Load 371
+ 373: 6(int) Load 8(invocation)
+ 374: 23(f64vec4) GroupNonUniformShuffleDown 35 372 373
+ 375: 159(ptr) AccessChain 27(data) 370 68
Store 375 374
+ 376: 6(int) Load 8(invocation)
+ 377: 75(ptr) AccessChain 27(data) 29 39 30
+ 378: 19(int) Load 377
+ 379: 191(bool) SLessThan 378 29
+ 380: 6(int) Load 8(invocation)
+ 381: 191(bool) GroupNonUniformShuffleDown 35 379 380
+ 382: 19(int) Select 381 39 29
+ 383: 75(ptr) AccessChain 27(data) 376 39 30
+ Store 383 382
+ 384: 6(int) Load 8(invocation)
+ 385: 83(ptr) AccessChain 27(data) 39 39
+ 386: 20(ivec4) Load 385
+ 387: 82(ivec2) VectorShuffle 386 386 0 1
+ 388: 202(bvec2) SLessThan 387 201
+ 389: 6(int) Load 8(invocation)
+ 390: 202(bvec2) GroupNonUniformShuffleDown 35 388 389
+ 391: 82(ivec2) Select 390 206 201
+ 392: 75(ptr) AccessChain 27(data) 384 39 30
+ 393: 19(int) CompositeExtract 391 0
+ Store 392 393
+ 394: 75(ptr) AccessChain 27(data) 384 39 49
+ 395: 19(int) CompositeExtract 391 1
+ Store 394 395
+ 396: 6(int) Load 8(invocation)
+ 397: 83(ptr) AccessChain 27(data) 39 39
+ 398: 20(ivec4) Load 397
+ 399: 94(ivec3) VectorShuffle 398 398 0 1 2
+ 400: 217(bvec3) SLessThan 399 216
+ 401: 6(int) Load 8(invocation)
+ 402: 217(bvec3) GroupNonUniformShuffleDown 35 400 401
+ 403: 94(ivec3) Select 402 221 216
+ 404: 75(ptr) AccessChain 27(data) 396 39 30
+ 405: 19(int) CompositeExtract 403 0
+ Store 404 405
+ 406: 75(ptr) AccessChain 27(data) 396 39 49
+ 407: 19(int) CompositeExtract 403 1
+ Store 406 407
+ 408: 75(ptr) AccessChain 27(data) 396 39 64
+ 409: 19(int) CompositeExtract 403 2
+ Store 408 409
+ 410: 6(int) Load 8(invocation)
+ 411: 83(ptr) AccessChain 27(data) 39 39
+ 412: 20(ivec4) Load 411
+ 413: 233(bvec4) SLessThan 412 232
+ 414: 6(int) Load 8(invocation)
+ 415: 233(bvec4) GroupNonUniformShuffleDown 35 413 414
+ 416: 20(ivec4) Select 415 237 232
+ 417: 83(ptr) AccessChain 27(data) 410 39
+ Store 417 416
Return
FunctionEnd
diff --git a/Test/baseResults/spv.swizzle.frag.out b/Test/baseResults/spv.swizzle.frag.out
index 7e42c3e..2aa31e8 100644
--- a/Test/baseResults/spv.swizzle.frag.out
+++ b/Test/baseResults/spv.swizzle.frag.out
@@ -1,12 +1,12 @@
spv.swizzle.frag
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 108
+// Id's are bound by 117
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 14 30 69 107
+ EntryPoint Fragment 4 "main" 14 30 78 116
ExecutionMode 4 OriginUpperLeft
Source GLSL 140
Name 4 "main"
@@ -18,16 +18,16 @@
Name 20 "w2"
Name 22 "w_flow"
Name 30 "t"
- Name 49 "w_undef"
- Name 56 "p"
- Name 69 "gl_FragColor"
- Name 81 "c"
- Name 83 "rep"
- Name 107 "blend"
+ Name 56 "w_undef"
+ Name 65 "p"
+ Name 78 "gl_FragColor"
+ Name 90 "c"
+ Name 92 "rep"
+ Name 116 "blend"
Decorate 14(u) Location 1
Decorate 30(t) Location 2
- Decorate 69(gl_FragColor) Location 0
- Decorate 107(blend) Location 0
+ Decorate 78(gl_FragColor) Location 0
+ Decorate 116(blend) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -42,21 +42,22 @@
28: TypeVector 6(float) 2
29: TypePointer Input 28(fvec2)
30(t): 29(ptr) Variable Input
- 35: 25(int) Constant 0
- 40: 25(int) Constant 1
- 54: TypeBool
- 55: TypePointer Private 54(bool)
- 56(p): 55(ptr) Variable Private
- 60: TypePointer Input 6(float)
- 68: TypePointer Output 10(fvec4)
-69(gl_FragColor): 68(ptr) Variable Output
- 80: TypePointer Function 28(fvec2)
- 84: 6(float) Constant 0
- 85: 6(float) Constant 1065353216
- 86: 10(fvec4) ConstantComposite 84 84 84 85
- 92: 6(float) Constant 3212836864
- 102: 6(float) Constant 1079613850
- 107(blend): 60(ptr) Variable Input
+ 32: 25(int) Constant 3
+ 35: 25(int) Constant 1
+ 39: 25(int) Constant 0
+ 63: TypeBool
+ 64: TypePointer Private 63(bool)
+ 65(p): 64(ptr) Variable Private
+ 69: TypePointer Input 6(float)
+ 77: TypePointer Output 10(fvec4)
+78(gl_FragColor): 77(ptr) Variable Output
+ 89: TypePointer Function 28(fvec2)
+ 93: 6(float) Constant 0
+ 94: 6(float) Constant 1065353216
+ 95: 10(fvec4) ConstantComposite 93 93 93 94
+ 101: 6(float) Constant 3212836864
+ 111: 6(float) Constant 1079613850
+ 116(blend): 69(ptr) Variable Input
4(main): 2 Function None 3
5: Label
8(blendscale): 7(ptr) Variable Function
@@ -65,9 +66,9 @@
18(w_reorder): 11(ptr) Variable Function
20(w2): 11(ptr) Variable Function
22(w_flow): 11(ptr) Variable Function
- 49(w_undef): 11(ptr) Variable Function
- 81(c): 80(ptr) Variable Function
- 83(rep): 11(ptr) Variable Function
+ 56(w_undef): 11(ptr) Variable Function
+ 90(c): 89(ptr) Variable Function
+ 92(rep): 11(ptr) Variable Function
Store 8(blendscale) 9
15: 10(fvec4) Load 14(u)
Store 12(w) 15
@@ -83,88 +84,100 @@
27: 7(ptr) AccessChain 18(w_reorder) 26
Store 27 24
31: 28(fvec2) Load 30(t)
- 32: 10(fvec4) Load 12(w)
- 33: 10(fvec4) VectorShuffle 32 31 0 5 2 4
- Store 12(w) 33
- 34: 6(float) Load 8(blendscale)
- 36: 7(ptr) AccessChain 18(w_reorder) 35
- Store 36 34
- 37: 10(fvec4) Load 14(u)
- 38: 10(fvec4) VectorShuffle 37 37 2 3 0 1
- Store 20(w2) 38
- 39: 6(float) Load 8(blendscale)
- 41: 7(ptr) AccessChain 18(w_reorder) 40
- Store 41 39
- 42: 10(fvec4) Load 20(w2)
- 43: 28(fvec2) VectorShuffle 42 42 0 2
- 44: 10(fvec4) Load 16(w_dep)
- 45: 10(fvec4) VectorShuffle 44 43 4 5 2 3
- Store 16(w_dep) 45
- 46: 28(fvec2) Load 30(t)
- 47: 10(fvec4) Load 16(w_dep)
- 48: 10(fvec4) VectorShuffle 47 46 0 1 4 5
- Store 16(w_dep) 48
- 50: 10(fvec4) Load 14(u)
- 51: 28(fvec2) VectorShuffle 50 50 2 3
- 52: 10(fvec4) Load 49(w_undef)
- 53: 10(fvec4) VectorShuffle 52 51 4 5 2 3
- Store 49(w_undef) 53
- 57: 54(bool) Load 56(p)
- SelectionMerge 59 None
- BranchConditional 57 58 64
- 58: Label
- 61: 60(ptr) AccessChain 30(t) 35
- 62: 6(float) Load 61
- 63: 7(ptr) AccessChain 22(w_flow) 35
- Store 63 62
- Branch 59
- 64: Label
- 65: 60(ptr) AccessChain 30(t) 40
- 66: 6(float) Load 65
- 67: 7(ptr) AccessChain 22(w_flow) 35
- Store 67 66
- Branch 59
- 59: Label
- 70: 10(fvec4) Load 18(w_reorder)
- 71: 10(fvec4) Load 49(w_undef)
- 72: 10(fvec4) Load 12(w)
- 73: 10(fvec4) Load 20(w2)
- 74: 10(fvec4) FMul 72 73
- 75: 10(fvec4) Load 16(w_dep)
- 76: 10(fvec4) FMul 74 75
- 77: 10(fvec4) Load 22(w_flow)
- 78: 10(fvec4) FMul 76 77
- 79: 10(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 70 71 78
- Store 69(gl_FragColor) 79
- 82: 28(fvec2) Load 30(t)
- Store 81(c) 82
- Store 83(rep) 86
- 87: 7(ptr) AccessChain 81(c) 35
- 88: 6(float) Load 87
- 89: 54(bool) FOrdLessThan 88 84
- SelectionMerge 91 None
- BranchConditional 89 90 91
- 90: Label
- 93: 7(ptr) AccessChain 81(c) 35
- 94: 6(float) Load 93
- 95: 6(float) FMul 94 92
- 96: 7(ptr) AccessChain 81(c) 35
- Store 96 95
- Branch 91
- 91: Label
- 97: 7(ptr) AccessChain 81(c) 35
- 98: 6(float) Load 97
- 99: 54(bool) FOrdLessThanEqual 98 85
- SelectionMerge 101 None
- BranchConditional 99 100 101
- 100: Label
- 103: 7(ptr) AccessChain 83(rep) 35
- Store 103 102
- Branch 101
- 101: Label
- 104: 10(fvec4) Load 83(rep)
- 105: 10(fvec4) Load 69(gl_FragColor)
- 106: 10(fvec4) FAdd 105 104
- Store 69(gl_FragColor) 106
+ 33: 7(ptr) AccessChain 12(w) 32
+ 34: 6(float) CompositeExtract 31 0
+ Store 33 34
+ 36: 7(ptr) AccessChain 12(w) 35
+ 37: 6(float) CompositeExtract 31 1
+ Store 36 37
+ 38: 6(float) Load 8(blendscale)
+ 40: 7(ptr) AccessChain 18(w_reorder) 39
+ Store 40 38
+ 41: 10(fvec4) Load 14(u)
+ 42: 10(fvec4) VectorShuffle 41 41 2 3 0 1
+ Store 20(w2) 42
+ 43: 6(float) Load 8(blendscale)
+ 44: 7(ptr) AccessChain 18(w_reorder) 35
+ Store 44 43
+ 45: 10(fvec4) Load 20(w2)
+ 46: 28(fvec2) VectorShuffle 45 45 0 2
+ 47: 7(ptr) AccessChain 16(w_dep) 39
+ 48: 6(float) CompositeExtract 46 0
+ Store 47 48
+ 49: 7(ptr) AccessChain 16(w_dep) 35
+ 50: 6(float) CompositeExtract 46 1
+ Store 49 50
+ 51: 28(fvec2) Load 30(t)
+ 52: 7(ptr) AccessChain 16(w_dep) 26
+ 53: 6(float) CompositeExtract 51 0
+ Store 52 53
+ 54: 7(ptr) AccessChain 16(w_dep) 32
+ 55: 6(float) CompositeExtract 51 1
+ Store 54 55
+ 57: 10(fvec4) Load 14(u)
+ 58: 28(fvec2) VectorShuffle 57 57 2 3
+ 59: 7(ptr) AccessChain 56(w_undef) 39
+ 60: 6(float) CompositeExtract 58 0
+ Store 59 60
+ 61: 7(ptr) AccessChain 56(w_undef) 35
+ 62: 6(float) CompositeExtract 58 1
+ Store 61 62
+ 66: 63(bool) Load 65(p)
+ SelectionMerge 68 None
+ BranchConditional 66 67 73
+ 67: Label
+ 70: 69(ptr) AccessChain 30(t) 39
+ 71: 6(float) Load 70
+ 72: 7(ptr) AccessChain 22(w_flow) 39
+ Store 72 71
+ Branch 68
+ 73: Label
+ 74: 69(ptr) AccessChain 30(t) 35
+ 75: 6(float) Load 74
+ 76: 7(ptr) AccessChain 22(w_flow) 39
+ Store 76 75
+ Branch 68
+ 68: Label
+ 79: 10(fvec4) Load 18(w_reorder)
+ 80: 10(fvec4) Load 56(w_undef)
+ 81: 10(fvec4) Load 12(w)
+ 82: 10(fvec4) Load 20(w2)
+ 83: 10(fvec4) FMul 81 82
+ 84: 10(fvec4) Load 16(w_dep)
+ 85: 10(fvec4) FMul 83 84
+ 86: 10(fvec4) Load 22(w_flow)
+ 87: 10(fvec4) FMul 85 86
+ 88: 10(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 79 80 87
+ Store 78(gl_FragColor) 88
+ 91: 28(fvec2) Load 30(t)
+ Store 90(c) 91
+ Store 92(rep) 95
+ 96: 7(ptr) AccessChain 90(c) 39
+ 97: 6(float) Load 96
+ 98: 63(bool) FOrdLessThan 97 93
+ SelectionMerge 100 None
+ BranchConditional 98 99 100
+ 99: Label
+ 102: 7(ptr) AccessChain 90(c) 39
+ 103: 6(float) Load 102
+ 104: 6(float) FMul 103 101
+ 105: 7(ptr) AccessChain 90(c) 39
+ Store 105 104
+ Branch 100
+ 100: Label
+ 106: 7(ptr) AccessChain 90(c) 39
+ 107: 6(float) Load 106
+ 108: 63(bool) FOrdLessThanEqual 107 94
+ SelectionMerge 110 None
+ BranchConditional 108 109 110
+ 109: Label
+ 112: 7(ptr) AccessChain 92(rep) 39
+ Store 112 111
+ Branch 110
+ 110: Label
+ 113: 10(fvec4) Load 92(rep)
+ 114: 10(fvec4) Load 78(gl_FragColor)
+ 115: 10(fvec4) FAdd 114 113
+ Store 78(gl_FragColor) 115
Return
FunctionEnd
diff --git a/Test/baseResults/spv.uint.frag.out b/Test/baseResults/spv.uint.frag.out
index c19064d..7dbc3b3 100644
--- a/Test/baseResults/spv.uint.frag.out
+++ b/Test/baseResults/spv.uint.frag.out
@@ -75,6 +75,7 @@
Decorate 90 RelaxedPrecision
Decorate 91 RelaxedPrecision
Decorate 92 RelaxedPrecision
+ Decorate 93 RelaxedPrecision
Decorate 97 RelaxedPrecision
Decorate 98 RelaxedPrecision
Decorate 101 RelaxedPrecision
diff --git a/Test/baseResults/spv.uniformArray.frag.out b/Test/baseResults/spv.uniformArray.frag.out
index 8134383..fa66f2b 100644
--- a/Test/baseResults/spv.uniformArray.frag.out
+++ b/Test/baseResults/spv.uniformArray.frag.out
@@ -1,27 +1,27 @@
spv.uniformArray.frag
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 53
+// Id's are bound by 60
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Fragment 4 "main" 14 25 35 47
+ EntryPoint Fragment 4 "main" 14 25 43 54
ExecutionMode 4 OriginUpperLeft
Source GLSL 140
Name 4 "main"
Name 9 "texColor"
Name 14 "color"
Name 25 "inColor"
- Name 35 "alpha"
- Name 47 "gl_FragColor"
- Name 52 "texSampler2D"
+ Name 43 "alpha"
+ Name 54 "gl_FragColor"
+ Name 59 "texSampler2D"
Decorate 14(color) Location 1
Decorate 25(inColor) Location 0
- Decorate 35(alpha) Location 7
- Decorate 47(gl_FragColor) Location 0
- Decorate 52(texSampler2D) DescriptorSet 0
- Decorate 52(texSampler2D) Binding 0
+ Decorate 43(alpha) Location 7
+ Decorate 54(gl_FragColor) Location 0
+ Decorate 59(texSampler2D) DescriptorSet 0
+ Decorate 59(texSampler2D) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -38,20 +38,23 @@
23: TypeVector 6(float) 3
24: TypePointer Input 23(fvec3)
25(inColor): 24(ptr) Variable Input
- 32: 10(int) Constant 16
- 33: TypeArray 6(float) 32
- 34: TypePointer Input 33
- 35(alpha): 34(ptr) Variable Input
- 36: 15(int) Constant 12
- 37: TypePointer Input 6(float)
- 40: 10(int) Constant 3
- 41: TypePointer Function 6(float)
- 46: TypePointer Output 7(fvec4)
-47(gl_FragColor): 46(ptr) Variable Output
- 49: TypeImage 6(float) 2D sampled format:Unknown
- 50: TypeSampledImage 49
- 51: TypePointer UniformConstant 50
-52(texSampler2D): 51(ptr) Variable UniformConstant
+ 30: 10(int) Constant 0
+ 31: TypePointer Function 6(float)
+ 34: 10(int) Constant 1
+ 37: 10(int) Constant 2
+ 40: 10(int) Constant 16
+ 41: TypeArray 6(float) 40
+ 42: TypePointer Input 41
+ 43(alpha): 42(ptr) Variable Input
+ 44: 15(int) Constant 12
+ 45: TypePointer Input 6(float)
+ 48: 10(int) Constant 3
+ 53: TypePointer Output 7(fvec4)
+54(gl_FragColor): 53(ptr) Variable Output
+ 56: TypeImage 6(float) 2D sampled format:Unknown
+ 57: TypeSampledImage 56
+ 58: TypePointer UniformConstant 57
+59(texSampler2D): 58(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(texColor): 8(ptr) Variable Function
@@ -65,17 +68,23 @@
27: 7(fvec4) Load 9(texColor)
28: 23(fvec3) VectorShuffle 27 27 0 1 2
29: 23(fvec3) FAdd 28 26
- 30: 7(fvec4) Load 9(texColor)
- 31: 7(fvec4) VectorShuffle 30 29 4 5 6 3
- Store 9(texColor) 31
- 38: 37(ptr) AccessChain 35(alpha) 36
- 39: 6(float) Load 38
- 42: 41(ptr) AccessChain 9(texColor) 40
- 43: 6(float) Load 42
- 44: 6(float) FAdd 43 39
- 45: 41(ptr) AccessChain 9(texColor) 40
- Store 45 44
- 48: 7(fvec4) Load 9(texColor)
- Store 47(gl_FragColor) 48
+ 32: 31(ptr) AccessChain 9(texColor) 30
+ 33: 6(float) CompositeExtract 29 0
+ Store 32 33
+ 35: 31(ptr) AccessChain 9(texColor) 34
+ 36: 6(float) CompositeExtract 29 1
+ Store 35 36
+ 38: 31(ptr) AccessChain 9(texColor) 37
+ 39: 6(float) CompositeExtract 29 2
+ Store 38 39
+ 46: 45(ptr) AccessChain 43(alpha) 44
+ 47: 6(float) Load 46
+ 49: 31(ptr) AccessChain 9(texColor) 48
+ 50: 6(float) Load 49
+ 51: 6(float) FAdd 50 47
+ 52: 31(ptr) AccessChain 9(texColor) 48
+ Store 52 51
+ 55: 7(fvec4) Load 9(texColor)
+ Store 54(gl_FragColor) 55
Return
FunctionEnd
diff --git a/Test/baseResults/spv.viewportArray2.tesc.out b/Test/baseResults/spv.viewportArray2.tesc.out
index 74235a5..e95ada4 100644
--- a/Test/baseResults/spv.viewportArray2.tesc.out
+++ b/Test/baseResults/spv.viewportArray2.tesc.out
@@ -1,8 +1,7 @@
spv.viewportArray2.tesc
-Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 25
+// Id's are bound by 23
Capability Tessellation
Capability ShaderViewportIndexLayerNV
@@ -11,23 +10,21 @@
Extension "SPV_NV_viewport_array2"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint TessellationControl 4 "main" 14 16 22 24
+ EntryPoint TessellationControl 4 "main" 14 16 22
ExecutionMode 4 OutputVertices 4
- Source GLSL 450
+ Source GLSL 430
SourceExtension "GL_NV_viewport_array2"
Name 4 "main"
Name 10 "gl_PerVertex"
MemberName 10(gl_PerVertex) 0 "gl_ViewportMask"
Name 14 "gl_out"
Name 16 "gl_InvocationID"
- Name 22 "gl_ViewportIndex"
- Name 24 "gl_Layer"
+ Name 22 "gl_Layer"
MemberDecorate 10(gl_PerVertex) 0 BuiltIn ViewportMaskNV
Decorate 10(gl_PerVertex) Block
Decorate 16(gl_InvocationID) BuiltIn InvocationId
- Decorate 22(gl_ViewportIndex) BuiltIn ViewportIndex
- Decorate 24(gl_Layer) BuiltIn Layer
- Decorate 24(gl_Layer) ViewportRelativeNV
+ Decorate 22(gl_Layer) BuiltIn Layer
+ Decorate 22(gl_Layer) ViewportRelativeNV
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
@@ -44,14 +41,11 @@
18: 6(int) Constant 0
19: 6(int) Constant 1
20: TypePointer Output 6(int)
-22(gl_ViewportIndex): 20(ptr) Variable Output
- 23: 6(int) Constant 2
- 24(gl_Layer): 20(ptr) Variable Output
+ 22(gl_Layer): 20(ptr) Variable Output
4(main): 2 Function None 3
5: Label
17: 6(int) Load 16(gl_InvocationID)
21: 20(ptr) AccessChain 14(gl_out) 17 18 18
Store 21 19
- Store 22(gl_ViewportIndex) 23
Return
FunctionEnd
diff --git a/Test/baseResults/spv.vulkan110.int16.frag.out b/Test/baseResults/spv.vulkan110.int16.frag.out
index 39b36cb..47388a2 100644
--- a/Test/baseResults/spv.vulkan110.int16.frag.out
+++ b/Test/baseResults/spv.vulkan110.int16.frag.out
@@ -1,7 +1,7 @@
spv.vulkan110.int16.frag
// Module Version 10300
// Generated by (magic number): 8000a
-// Id's are bound by 523
+// Id's are bound by 535
Capability Shader
Capability Float16
@@ -65,35 +65,35 @@
Name 442 "u64"
Name 445 "u16v4"
Name 457 "bv"
- Name 518 "Block"
- MemberName 518(Block) 0 "i16"
- MemberName 518(Block) 1 "i16v2"
- MemberName 518(Block) 2 "i16v3"
- MemberName 518(Block) 3 "i16v4"
- MemberName 518(Block) 4 "u16"
- MemberName 518(Block) 5 "u16v2"
- MemberName 518(Block) 6 "u16v3"
- MemberName 518(Block) 7 "u16v4"
- Name 520 "block"
- Name 521 "si16"
- Name 522 "su16"
+ Name 530 "Block"
+ MemberName 530(Block) 0 "i16"
+ MemberName 530(Block) 1 "i16v2"
+ MemberName 530(Block) 2 "i16v3"
+ MemberName 530(Block) 3 "i16v4"
+ MemberName 530(Block) 4 "u16"
+ MemberName 530(Block) 5 "u16v2"
+ MemberName 530(Block) 6 "u16v3"
+ MemberName 530(Block) 7 "u16v4"
+ Name 532 "block"
+ Name 533 "si16"
+ Name 534 "su16"
MemberDecorate 24(Uniforms) 0 Offset 0
Decorate 24(Uniforms) Block
Decorate 26 DescriptorSet 0
Decorate 26 Binding 0
- MemberDecorate 518(Block) 0 Offset 0
- MemberDecorate 518(Block) 1 Offset 4
- MemberDecorate 518(Block) 2 Offset 8
- MemberDecorate 518(Block) 3 Offset 16
- MemberDecorate 518(Block) 4 Offset 24
- MemberDecorate 518(Block) 5 Offset 28
- MemberDecorate 518(Block) 6 Offset 32
- MemberDecorate 518(Block) 7 Offset 40
- Decorate 518(Block) Block
- Decorate 520(block) DescriptorSet 0
- Decorate 520(block) Binding 1
- Decorate 521(si16) SpecId 100
- Decorate 522(su16) SpecId 101
+ MemberDecorate 530(Block) 0 Offset 0
+ MemberDecorate 530(Block) 1 Offset 4
+ MemberDecorate 530(Block) 2 Offset 8
+ MemberDecorate 530(Block) 3 Offset 16
+ MemberDecorate 530(Block) 4 Offset 24
+ MemberDecorate 530(Block) 5 Offset 28
+ MemberDecorate 530(Block) 6 Offset 32
+ MemberDecorate 530(Block) 7 Offset 40
+ Decorate 530(Block) Block
+ Decorate 532(block) DescriptorSet 0
+ Decorate 532(block) Binding 1
+ Decorate 533(si16) SpecId 100
+ Decorate 534(su16) SpecId 101
2: TypeVoid
3: TypeFunction 2
14: TypeInt 16 1
@@ -185,11 +185,11 @@
443: TypeVector 36(int16_t) 4
444: TypePointer Function 443(i16vec4)
456: TypePointer Function 425(bvec3)
- 518(Block): TypeStruct 14(int16_t) 52(i16vec2) 197(i16vec3) 432(i16vec4) 36(int16_t) 57(i16vec2) 193(i16vec3) 443(i16vec4)
- 519: TypePointer Uniform 518(Block)
- 520(block): 519(ptr) Variable Uniform
- 521(si16): 14(int16_t) SpecConstant 4294967286
- 522(su16): 36(int16_t) SpecConstant 20
+ 530(Block): TypeStruct 14(int16_t) 52(i16vec2) 197(i16vec3) 432(i16vec4) 36(int16_t) 57(i16vec2) 193(i16vec3) 443(i16vec4)
+ 531: TypePointer Uniform 530(Block)
+ 532(block): 531(ptr) Variable Uniform
+ 533(si16): 14(int16_t) SpecConstant 4294967286
+ 534(su16): 36(int16_t) SpecConstant 20
4(main): 2 Function None 3
5: Label
Return
@@ -674,68 +674,86 @@
463: 14(int16_t) Load 346(i16)
464: 52(i16vec2) CompositeConstruct 463 463
465: 174(bvec2) SLessThan 462 464
- 466: 425(bvec3) Load 457(bv)
- 467: 425(bvec3) VectorShuffle 466 465 3 4 2
- Store 457(bv) 467
- 468:193(i16vec3) Load 356(u16v)
- 469: 36(int16_t) Load 358(u16)
- 470:193(i16vec3) CompositeConstruct 469 469 469
- 471: 425(bvec3) ULessThanEqual 468 470
- Store 457(bv) 471
- 472: 52(i16vec2) Load 343(i16v)
- 473: 14(int16_t) Load 346(i16)
- 474: 52(i16vec2) CompositeConstruct 473 473
- 475: 174(bvec2) SLessThanEqual 472 474
- 476: 425(bvec3) Load 457(bv)
- 477: 425(bvec3) VectorShuffle 476 475 3 4 2
- Store 457(bv) 477
- 478:193(i16vec3) Load 356(u16v)
- 479: 36(int16_t) Load 358(u16)
- 480:193(i16vec3) CompositeConstruct 479 479 479
- 481: 425(bvec3) UGreaterThan 478 480
- Store 457(bv) 481
- 482: 52(i16vec2) Load 343(i16v)
- 483: 14(int16_t) Load 346(i16)
- 484: 52(i16vec2) CompositeConstruct 483 483
- 485: 174(bvec2) SGreaterThan 482 484
- 486: 425(bvec3) Load 457(bv)
- 487: 425(bvec3) VectorShuffle 486 485 3 4 2
- Store 457(bv) 487
- 488:193(i16vec3) Load 356(u16v)
- 489: 36(int16_t) Load 358(u16)
- 490:193(i16vec3) CompositeConstruct 489 489 489
- 491: 425(bvec3) UGreaterThanEqual 488 490
- Store 457(bv) 491
- 492: 52(i16vec2) Load 343(i16v)
- 493: 14(int16_t) Load 346(i16)
- 494: 52(i16vec2) CompositeConstruct 493 493
- 495: 174(bvec2) SGreaterThanEqual 492 494
- 496: 425(bvec3) Load 457(bv)
- 497: 425(bvec3) VectorShuffle 496 495 3 4 2
+ 466: 280(ptr) AccessChain 457(bv) 282
+ 467: 173(bool) CompositeExtract 465 0
+ Store 466 467
+ 468: 280(ptr) AccessChain 457(bv) 264
+ 469: 173(bool) CompositeExtract 465 1
+ Store 468 469
+ 470:193(i16vec3) Load 356(u16v)
+ 471: 36(int16_t) Load 358(u16)
+ 472:193(i16vec3) CompositeConstruct 471 471 471
+ 473: 425(bvec3) ULessThanEqual 470 472
+ Store 457(bv) 473
+ 474: 52(i16vec2) Load 343(i16v)
+ 475: 14(int16_t) Load 346(i16)
+ 476: 52(i16vec2) CompositeConstruct 475 475
+ 477: 174(bvec2) SLessThanEqual 474 476
+ 478: 280(ptr) AccessChain 457(bv) 282
+ 479: 173(bool) CompositeExtract 477 0
+ Store 478 479
+ 480: 280(ptr) AccessChain 457(bv) 264
+ 481: 173(bool) CompositeExtract 477 1
+ Store 480 481
+ 482:193(i16vec3) Load 356(u16v)
+ 483: 36(int16_t) Load 358(u16)
+ 484:193(i16vec3) CompositeConstruct 483 483 483
+ 485: 425(bvec3) UGreaterThan 482 484
+ Store 457(bv) 485
+ 486: 52(i16vec2) Load 343(i16v)
+ 487: 14(int16_t) Load 346(i16)
+ 488: 52(i16vec2) CompositeConstruct 487 487
+ 489: 174(bvec2) SGreaterThan 486 488
+ 490: 280(ptr) AccessChain 457(bv) 282
+ 491: 173(bool) CompositeExtract 489 0
+ Store 490 491
+ 492: 280(ptr) AccessChain 457(bv) 264
+ 493: 173(bool) CompositeExtract 489 1
+ Store 492 493
+ 494:193(i16vec3) Load 356(u16v)
+ 495: 36(int16_t) Load 358(u16)
+ 496:193(i16vec3) CompositeConstruct 495 495 495
+ 497: 425(bvec3) UGreaterThanEqual 494 496
Store 457(bv) 497
- 498:193(i16vec3) Load 356(u16v)
- 499: 36(int16_t) Load 358(u16)
- 500:193(i16vec3) CompositeConstruct 499 499 499
- 501: 425(bvec3) IEqual 498 500
- Store 457(bv) 501
- 502: 52(i16vec2) Load 343(i16v)
- 503: 14(int16_t) Load 346(i16)
- 504: 52(i16vec2) CompositeConstruct 503 503
- 505: 174(bvec2) IEqual 502 504
- 506: 425(bvec3) Load 457(bv)
- 507: 425(bvec3) VectorShuffle 506 505 3 4 2
- Store 457(bv) 507
- 508:193(i16vec3) Load 356(u16v)
- 509: 36(int16_t) Load 358(u16)
- 510:193(i16vec3) CompositeConstruct 509 509 509
- 511: 425(bvec3) INotEqual 508 510
- Store 457(bv) 511
- 512: 52(i16vec2) Load 343(i16v)
- 513: 14(int16_t) Load 346(i16)
- 514: 52(i16vec2) CompositeConstruct 513 513
- 515: 174(bvec2) INotEqual 512 514
- 516: 425(bvec3) Load 457(bv)
- 517: 425(bvec3) VectorShuffle 516 515 3 4 2
- Store 457(bv) 517
+ 498: 52(i16vec2) Load 343(i16v)
+ 499: 14(int16_t) Load 346(i16)
+ 500: 52(i16vec2) CompositeConstruct 499 499
+ 501: 174(bvec2) SGreaterThanEqual 498 500
+ 502: 280(ptr) AccessChain 457(bv) 282
+ 503: 173(bool) CompositeExtract 501 0
+ Store 502 503
+ 504: 280(ptr) AccessChain 457(bv) 264
+ 505: 173(bool) CompositeExtract 501 1
+ Store 504 505
+ 506:193(i16vec3) Load 356(u16v)
+ 507: 36(int16_t) Load 358(u16)
+ 508:193(i16vec3) CompositeConstruct 507 507 507
+ 509: 425(bvec3) IEqual 506 508
+ Store 457(bv) 509
+ 510: 52(i16vec2) Load 343(i16v)
+ 511: 14(int16_t) Load 346(i16)
+ 512: 52(i16vec2) CompositeConstruct 511 511
+ 513: 174(bvec2) IEqual 510 512
+ 514: 280(ptr) AccessChain 457(bv) 282
+ 515: 173(bool) CompositeExtract 513 0
+ Store 514 515
+ 516: 280(ptr) AccessChain 457(bv) 264
+ 517: 173(bool) CompositeExtract 513 1
+ Store 516 517
+ 518:193(i16vec3) Load 356(u16v)
+ 519: 36(int16_t) Load 358(u16)
+ 520:193(i16vec3) CompositeConstruct 519 519 519
+ 521: 425(bvec3) INotEqual 518 520
+ Store 457(bv) 521
+ 522: 52(i16vec2) Load 343(i16v)
+ 523: 14(int16_t) Load 346(i16)
+ 524: 52(i16vec2) CompositeConstruct 523 523
+ 525: 174(bvec2) INotEqual 522 524
+ 526: 280(ptr) AccessChain 457(bv) 282
+ 527: 173(bool) CompositeExtract 525 0
+ Store 526 527
+ 528: 280(ptr) AccessChain 457(bv) 264
+ 529: 173(bool) CompositeExtract 525 1
+ Store 528 529
Return
FunctionEnd
diff --git a/Test/baseResults/textureQueryLOD.frag.out b/Test/baseResults/textureQueryLOD.frag.out
new file mode 100644
index 0000000..b565a00
--- /dev/null
+++ b/Test/baseResults/textureQueryLOD.frag.out
@@ -0,0 +1,115 @@
+textureQueryLOD.frag
+WARNING: 0:7: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5
+
+Shader version: 150
+Requested GL_ARB_gpu_shader5
+Requested GL_ARB_texture_query_lod
+0:? Sequence
+0:24 Function Definition: main( ( global void)
+0:24 Function Parameters:
+0:26 Sequence
+0:26 switch
+0:26 condition
+0:26 'funct' ( uniform int)
+0:26 body
+0:26 Sequence
+0:28 case: with expression
+0:28 Constant:
+0:28 0 (const int)
+0:? Sequence
+0:29 Sequence
+0:29 move second child to first child ( temp 2-component vector of int)
+0:29 'iv2' ( temp 2-component vector of int)
+0:29 textureSize ( global 2-component vector of int)
+0:29 'sampler' ( uniform sampler2DShadow)
+0:29 Constant:
+0:29 0 (const int)
+0:31 Sequence
+0:31 move second child to first child ( temp 2-component vector of float)
+0:31 'fv2' ( temp 2-component vector of float)
+0:31 textureQueryLod ( global 2-component vector of float)
+0:31 'sampler' ( uniform sampler2DShadow)
+0:31 Constant:
+0:31 0.000000
+0:31 0.000000
+0:33 move second child to first child ( temp 4-component vector of float)
+0:33 'color' ( out 4-component vector of float)
+0:33 Construct vec4 ( temp 4-component vector of float)
+0:33 Convert int to float ( temp 2-component vector of float)
+0:33 'iv2' ( temp 2-component vector of int)
+0:33 'fv2' ( temp 2-component vector of float)
+0:34 Branch: Break
+0:35 default:
+0:? Sequence
+0:36 move second child to first child ( temp 4-component vector of float)
+0:36 'color' ( out 4-component vector of float)
+0:36 Constant:
+0:36 1.000000
+0:36 1.000000
+0:36 1.000000
+0:36 1.000000
+0:37 Branch: Break
+0:? Linker Objects
+0:? 'vUV' ( smooth in 2-component vector of float)
+0:? 'color' ( out 4-component vector of float)
+0:? 'sampler' ( uniform sampler2DShadow)
+0:? 'funct' ( uniform int)
+
+
+Linked fragment stage:
+
+
+Shader version: 150
+Requested GL_ARB_gpu_shader5
+Requested GL_ARB_texture_query_lod
+0:? Sequence
+0:24 Function Definition: main( ( global void)
+0:24 Function Parameters:
+0:26 Sequence
+0:26 switch
+0:26 condition
+0:26 'funct' ( uniform int)
+0:26 body
+0:26 Sequence
+0:28 case: with expression
+0:28 Constant:
+0:28 0 (const int)
+0:? Sequence
+0:29 Sequence
+0:29 move second child to first child ( temp 2-component vector of int)
+0:29 'iv2' ( temp 2-component vector of int)
+0:29 textureSize ( global 2-component vector of int)
+0:29 'sampler' ( uniform sampler2DShadow)
+0:29 Constant:
+0:29 0 (const int)
+0:31 Sequence
+0:31 move second child to first child ( temp 2-component vector of float)
+0:31 'fv2' ( temp 2-component vector of float)
+0:31 textureQueryLod ( global 2-component vector of float)
+0:31 'sampler' ( uniform sampler2DShadow)
+0:31 Constant:
+0:31 0.000000
+0:31 0.000000
+0:33 move second child to first child ( temp 4-component vector of float)
+0:33 'color' ( out 4-component vector of float)
+0:33 Construct vec4 ( temp 4-component vector of float)
+0:33 Convert int to float ( temp 2-component vector of float)
+0:33 'iv2' ( temp 2-component vector of int)
+0:33 'fv2' ( temp 2-component vector of float)
+0:34 Branch: Break
+0:35 default:
+0:? Sequence
+0:36 move second child to first child ( temp 4-component vector of float)
+0:36 'color' ( out 4-component vector of float)
+0:36 Constant:
+0:36 1.000000
+0:36 1.000000
+0:36 1.000000
+0:36 1.000000
+0:37 Branch: Break
+0:? Linker Objects
+0:? 'vUV' ( smooth in 2-component vector of float)
+0:? 'color' ( out 4-component vector of float)
+0:? 'sampler' ( uniform sampler2DShadow)
+0:? 'funct' ( uniform int)
+
diff --git a/Test/baseResults/uint.frag.out b/Test/baseResults/uint.frag.out
index 3a12d6b..ce6d02d 100644
--- a/Test/baseResults/uint.frag.out
+++ b/Test/baseResults/uint.frag.out
@@ -134,7 +134,7 @@
0:59 Condition
0:59 Compare Equal ( temp bool)
0:59 'shiftedii' ( temp mediump int)
-0:59 Convert uint to int ( temp int)
+0:59 Convert uint to int ( temp mediump int)
0:59 'shiftedui' ( temp mediump uint)
0:59 true case
0:60 move second child to first child ( temp mediump 4-component vector of uint)
@@ -433,7 +433,7 @@
0:59 Condition
0:59 Compare Equal ( temp bool)
0:59 'shiftedii' ( temp mediump int)
-0:59 Convert uint to int ( temp int)
+0:59 Convert uint to int ( temp mediump int)
0:59 'shiftedui' ( temp mediump uint)
0:59 true case
0:60 move second child to first child ( temp mediump 4-component vector of uint)
diff --git a/Test/baseResults/vk.relaxed.changeSet.vert.out b/Test/baseResults/vk.relaxed.changeSet.vert.out
index f6bce29..d2beff9 100755
--- a/Test/baseResults/vk.relaxed.changeSet.vert.out
+++ b/Test/baseResults/vk.relaxed.changeSet.vert.out
@@ -34,8 +34,8 @@
0:? 'Color' ( smooth out highp 4-component vector of float)
0:? 'UV' ( smooth out highp 2-component vector of float)
0:? 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance, out unsized 1-element array of float CullDistance gl_CullDistance})
-0:? 'gl_VertexID' ( in int VertexIndex)
-0:? 'gl_InstanceID' ( in int InstanceIndex)
+0:? 'gl_VertexIndex' ( in int VertexIndex)
+0:? 'gl_InstanceIndex' ( in int InstanceIndex)
vk.relaxed.changeSet.frag
Shader version: 460
@@ -108,8 +108,8 @@
0:? 'Color' ( smooth out highp 4-component vector of float)
0:? 'UV' ( smooth out highp 2-component vector of float)
0:? 'anon@1' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, out 1-element array of float CullDistance gl_CullDistance})
-0:? 'gl_VertexID' ( in int VertexIndex)
-0:? 'gl_InstanceID' ( in int InstanceIndex)
+0:? 'gl_VertexIndex' ( in int VertexIndex)
+0:? 'gl_InstanceIndex' ( in int InstanceIndex)
Shader version: 460
gl_FragCoord origin is upper left
0:? Sequence
@@ -162,8 +162,8 @@
MemberName 28(gl_DefaultUniformBlock) 0 "projectionMatrix"
Name 30 ""
Name 34 "aPos"
- Name 44 "gl_VertexID"
- Name 45 "gl_InstanceID"
+ Name 44 "gl_VertexIndex"
+ Name 45 "gl_InstanceIndex"
Decorate 9(Color) Location 0
Decorate 11(aColor) Location 2
Decorate 15(UV) Location 1
@@ -180,8 +180,8 @@
Decorate 30 DescriptorSet 0
Decorate 30 Binding 0
Decorate 34(aPos) Location 0
- Decorate 44(gl_VertexID) BuiltIn VertexIndex
- Decorate 45(gl_InstanceID) BuiltIn InstanceIndex
+ Decorate 44(gl_VertexIndex) BuiltIn VertexIndex
+ Decorate 45(gl_InstanceIndex) BuiltIn InstanceIndex
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -212,8 +212,8 @@
36: 6(float) Constant 0
37: 6(float) Constant 1065353216
43: TypePointer Input 25(int)
- 44(gl_VertexID): 43(ptr) Variable Input
-45(gl_InstanceID): 43(ptr) Variable Input
+44(gl_VertexIndex): 43(ptr) Variable Input
+45(gl_InstanceIndex): 43(ptr) Variable Input
4(main): 2 Function None 3
5: Label
12: 7(fvec4) Load 11(aColor)
diff --git a/Test/baseResults/vk.relaxed.errorcheck.vert.out b/Test/baseResults/vk.relaxed.errorcheck.vert.out
index f19eae6..5c6ecf9 100644
--- a/Test/baseResults/vk.relaxed.errorcheck.vert.out
+++ b/Test/baseResults/vk.relaxed.errorcheck.vert.out
@@ -28,8 +28,8 @@
0:? Linker Objects
0:? 'io' (layout( location=0) smooth out highp 4-component vector of float)
0:? 'anon@0' (layout( column_major std140) uniform block{ uniform highp 2-component vector of float a})
-0:? 'gl_VertexID' ( in int VertexIndex)
-0:? 'gl_InstanceID' ( in int InstanceIndex)
+0:? 'gl_VertexIndex' ( in int VertexIndex)
+0:? 'gl_InstanceIndex' ( in int InstanceIndex)
vk.relaxed.errorcheck.frag
Shader version: 460
@@ -94,8 +94,8 @@
0:? Linker Objects
0:? 'io' (layout( location=0) smooth out highp 4-component vector of float)
0:? 'anon@0' (layout( column_major std140) uniform block{ uniform highp 2-component vector of float a})
-0:? 'gl_VertexID' ( in int VertexIndex)
-0:? 'gl_InstanceID' ( in int InstanceIndex)
+0:? 'gl_VertexIndex' ( in int VertexIndex)
+0:? 'gl_InstanceIndex' ( in int InstanceIndex)
Shader version: 460
gl_FragCoord origin is upper left
0:? Sequence
diff --git a/Test/baseResults/vk.relaxed.stagelink.vert.out b/Test/baseResults/vk.relaxed.stagelink.vert.out
index a63f10c..b9173f2 100644
--- a/Test/baseResults/vk.relaxed.stagelink.vert.out
+++ b/Test/baseResults/vk.relaxed.stagelink.vert.out
@@ -93,7 +93,9 @@
0:28 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b2, uniform highp 2-component vector of float b1, uniform highp 4-component vector of float c2, uniform highp 4-component vector of float d, uniform 4-element array of highp 4-component vector of float s})
0:28 Constant:
0:28 5 (const uint)
-0:28 'gl_VertexID' ( in int VertexIndex)
+0:28 subtract ( temp int)
+0:28 'gl_VertexIndex' ( in int VertexIndex)
+0:28 'gl_VertexIndex' ( in int VertexIndex)
0:29 move second child to first child ( temp highp float)
0:29 direct index ( temp highp float)
0:29 'v' ( temp highp 4-component vector of float)
@@ -105,7 +107,9 @@
0:29 Constant:
0:29 0 (const int)
0:29 Convert int to float ( temp highp float)
-0:29 'gl_InstanceID' ( in highp int InstanceIndex)
+0:29 subtract ( temp highp int)
+0:29 'gl_InstanceIndex' ( in highp int InstanceIndex)
+0:29 'gl_InstanceIndex' ( in highp int InstanceIndex)
0:30 move second child to first child ( temp highp 4-component vector of float)
0:30 'io' (layout( location=0) smooth out highp 4-component vector of float)
0:30 'v' ( temp highp 4-component vector of float)
@@ -113,8 +117,8 @@
0:? 'io' (layout( location=0) smooth out highp 4-component vector of float)
0:? 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b2, uniform highp 2-component vector of float b1, uniform highp 4-component vector of float c2, uniform highp 4-component vector of float d, uniform 4-element array of highp 4-component vector of float s})
0:? 'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3, coherent volatile buffer highp uint counter2})
-0:? 'gl_VertexID' ( in int VertexIndex)
-0:? 'gl_InstanceID' ( in int InstanceIndex)
+0:? 'gl_VertexIndex' ( in int VertexIndex)
+0:? 'gl_InstanceIndex' ( in int InstanceIndex)
vk.relaxed.stagelink.frag
Shader version: 460
@@ -311,7 +315,9 @@
0:28 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b2, uniform highp 2-component vector of float b1, uniform highp 4-component vector of float c2, uniform highp 4-component vector of float d, uniform 4-element array of highp 4-component vector of float s})
0:28 Constant:
0:28 5 (const uint)
-0:28 'gl_VertexID' ( in int VertexIndex)
+0:28 subtract ( temp int)
+0:28 'gl_VertexIndex' ( in int VertexIndex)
+0:28 'gl_VertexIndex' ( in int VertexIndex)
0:29 move second child to first child ( temp highp float)
0:29 direct index ( temp highp float)
0:29 'v' ( temp highp 4-component vector of float)
@@ -323,7 +329,9 @@
0:29 Constant:
0:29 0 (const int)
0:29 Convert int to float ( temp highp float)
-0:29 'gl_InstanceID' ( in highp int InstanceIndex)
+0:29 subtract ( temp highp int)
+0:29 'gl_InstanceIndex' ( in highp int InstanceIndex)
+0:29 'gl_InstanceIndex' ( in highp int InstanceIndex)
0:30 move second child to first child ( temp highp 4-component vector of float)
0:30 'io' (layout( location=0) smooth out highp 4-component vector of float)
0:30 'v' ( temp highp 4-component vector of float)
@@ -331,8 +339,8 @@
0:? 'io' (layout( location=0) smooth out highp 4-component vector of float)
0:? 'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a, uniform highp 2-component vector of float b2, uniform highp 2-component vector of float b1, uniform highp 4-component vector of float c2, uniform highp 4-component vector of float d, uniform 4-element array of highp 4-component vector of float s})
0:? 'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3, coherent volatile buffer highp uint counter2})
-0:? 'gl_VertexID' ( in int VertexIndex)
-0:? 'gl_InstanceID' ( in int InstanceIndex)
+0:? 'gl_VertexIndex' ( in int VertexIndex)
+0:? 'gl_InstanceIndex' ( in int InstanceIndex)
Shader version: 460
gl_FragCoord origin is upper left
0:? Sequence
@@ -428,12 +436,12 @@
// Module Version 10000
// Generated by (magic number): 8000a
-// Id's are bound by 88
+// Id's are bound by 92
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
- EntryPoint Vertex 4 "main" 72 80 86
+ EntryPoint Vertex 4 "main" 72 82 90
Source GLSL 460
Name 4 "main"
Name 9 "foo("
@@ -454,9 +462,9 @@
MemberName 35(gl_DefaultUniformBlock) 6 "c1"
Name 37 ""
Name 67 "v"
- Name 72 "gl_VertexID"
- Name 80 "gl_InstanceID"
- Name 86 "io"
+ Name 72 "gl_VertexIndex"
+ Name 82 "gl_InstanceIndex"
+ Name 90 "io"
MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Coherent
MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Volatile
MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Coherent
@@ -483,9 +491,9 @@
Decorate 35(gl_DefaultUniformBlock) Block
Decorate 37 DescriptorSet 0
Decorate 37 Binding 0
- Decorate 72(gl_VertexID) BuiltIn VertexIndex
- Decorate 80(gl_InstanceID) BuiltIn InstanceIndex
- Decorate 86(io) Location 0
+ Decorate 72(gl_VertexIndex) BuiltIn VertexIndex
+ Decorate 82(gl_InstanceIndex) BuiltIn InstanceIndex
+ Decorate 90(io) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
@@ -517,31 +525,35 @@
57: 17(int) Constant 4
70: 17(int) Constant 5
71: TypePointer Input 17(int)
- 72(gl_VertexID): 71(ptr) Variable Input
- 77: TypePointer Function 6(float)
-80(gl_InstanceID): 71(ptr) Variable Input
- 85: TypePointer Output 7(fvec4)
- 86(io): 85(ptr) Variable Output
+72(gl_VertexIndex): 71(ptr) Variable Input
+ 79: TypePointer Function 6(float)
+82(gl_InstanceIndex): 71(ptr) Variable Input
+ 89: TypePointer Output 7(fvec4)
+ 90(io): 89(ptr) Variable Output
4(main): 2 Function None 3
5: Label
67(v): 30(ptr) Variable Function
68: 7(fvec4) FunctionCall 9(foo()
Store 67(v) 68
69: 7(fvec4) Load 67(v)
- 73: 17(int) Load 72(gl_VertexID)
- 74: 38(ptr) AccessChain 37 70 73
- 75: 7(fvec4) Load 74
- 76: 7(fvec4) FAdd 69 75
- Store 67(v) 76
- 78: 77(ptr) AccessChain 67(v) 22
- 79: 6(float) Load 78
- 81: 17(int) Load 80(gl_InstanceID)
- 82: 6(float) ConvertSToF 81
- 83: 6(float) FSub 79 82
- 84: 77(ptr) AccessChain 67(v) 22
- Store 84 83
- 87: 7(fvec4) Load 67(v)
- Store 86(io) 87
+ 73: 17(int) Load 72(gl_VertexIndex)
+ 74: 17(int) Load 72(gl_VertexIndex)
+ 75: 17(int) ISub 73 74
+ 76: 38(ptr) AccessChain 37 70 75
+ 77: 7(fvec4) Load 76
+ 78: 7(fvec4) FAdd 69 77
+ Store 67(v) 78
+ 80: 79(ptr) AccessChain 67(v) 22
+ 81: 6(float) Load 80
+ 83: 17(int) Load 82(gl_InstanceIndex)
+ 84: 17(int) Load 82(gl_InstanceIndex)
+ 85: 17(int) ISub 83 84
+ 86: 6(float) ConvertSToF 85
+ 87: 6(float) FSub 81 86
+ 88: 79(ptr) AccessChain 67(v) 22
+ Store 88 87
+ 91: 7(fvec4) Load 67(v)
+ Store 90(io) 91
Return
FunctionEnd
9(foo(): 7(fvec4) Function None 8
diff --git a/Test/baseResults/vulkan.ast.vert.out b/Test/baseResults/vulkan.ast.vert.out
index 05a6355..68e892b 100644
--- a/Test/baseResults/vulkan.ast.vert.out
+++ b/Test/baseResults/vulkan.ast.vert.out
@@ -19,10 +19,10 @@
0:14 Convert bool to float ( temp float)
0:14 'scbt' ( specialization-constant const bool)
0:14 true (const bool)
-0:15 Convert int to float ( temp float)
+0:15 Convert int to float ( temp highp float)
0:15 'sci2' ( specialization-constant const highp int)
0:15 2 (const int)
-0:17 Convert float to int ( temp int)
+0:17 Convert float to int ( temp highp int)
0:17 'scf1' ( specialization-constant const highp float)
0:17 1.000000
0:18 Convert bool to int ( specialization-constant const int)
@@ -86,34 +86,34 @@
0:35 2 (const int)
0:35 'sci2' ( specialization-constant const highp int)
0:35 2 (const int)
-0:37 Construct ivec2 ( specialization-constant const 2-component vector of int)
+0:37 Construct ivec2 ( specialization-constant const highp 2-component vector of int)
0:37 'sci2' ( specialization-constant const highp int)
0:37 2 (const int)
0:37 'sci2' ( specialization-constant const highp int)
0:37 2 (const int)
-0:38 Construct ivec2 ( temp 2-element array of 2-component vector of int)
-0:38 Construct ivec2 ( specialization-constant const 2-component vector of int)
+0:38 Construct ivec2 ( temp 2-element array of highp 2-component vector of int)
+0:38 Construct ivec2 ( specialization-constant const highp 2-component vector of int)
0:38 'sci2' ( specialization-constant const highp int)
0:38 2 (const int)
0:38 'sci2' ( specialization-constant const highp int)
0:38 2 (const int)
-0:38 Construct ivec2 ( specialization-constant const 2-component vector of int)
+0:38 Construct ivec2 ( specialization-constant const highp 2-component vector of int)
0:38 'sci2' ( specialization-constant const highp int)
0:38 2 (const int)
0:38 'sci2' ( specialization-constant const highp int)
0:38 2 (const int)
-0:40 Construct vec2 ( specialization-constant const 2-component vector of float)
+0:40 Construct vec2 ( specialization-constant const highp 2-component vector of float)
0:40 'scf1' ( specialization-constant const highp float)
0:40 1.000000
0:40 'scf1' ( specialization-constant const highp float)
0:40 1.000000
-0:41 Construct vec2 ( temp 2-element array of 2-component vector of float)
-0:41 Construct vec2 ( specialization-constant const 2-component vector of float)
+0:41 Construct vec2 ( temp 2-element array of highp 2-component vector of float)
+0:41 Construct vec2 ( specialization-constant const highp 2-component vector of float)
0:41 'scf1' ( specialization-constant const highp float)
0:41 1.000000
0:41 'scf1' ( specialization-constant const highp float)
0:41 1.000000
-0:41 Construct vec2 ( specialization-constant const 2-component vector of float)
+0:41 Construct vec2 ( specialization-constant const highp 2-component vector of float)
0:41 'scf1' ( specialization-constant const highp float)
0:41 1.000000
0:41 'scf1' ( specialization-constant const highp float)
@@ -150,10 +150,10 @@
0:14 Convert bool to float ( temp float)
0:14 'scbt' ( specialization-constant const bool)
0:14 true (const bool)
-0:15 Convert int to float ( temp float)
+0:15 Convert int to float ( temp highp float)
0:15 'sci2' ( specialization-constant const highp int)
0:15 2 (const int)
-0:17 Convert float to int ( temp int)
+0:17 Convert float to int ( temp highp int)
0:17 'scf1' ( specialization-constant const highp float)
0:17 1.000000
0:18 Convert bool to int ( specialization-constant const int)
@@ -217,34 +217,34 @@
0:35 2 (const int)
0:35 'sci2' ( specialization-constant const highp int)
0:35 2 (const int)
-0:37 Construct ivec2 ( specialization-constant const 2-component vector of int)
+0:37 Construct ivec2 ( specialization-constant const highp 2-component vector of int)
0:37 'sci2' ( specialization-constant const highp int)
0:37 2 (const int)
0:37 'sci2' ( specialization-constant const highp int)
0:37 2 (const int)
-0:38 Construct ivec2 ( temp 2-element array of 2-component vector of int)
-0:38 Construct ivec2 ( specialization-constant const 2-component vector of int)
+0:38 Construct ivec2 ( temp 2-element array of highp 2-component vector of int)
+0:38 Construct ivec2 ( specialization-constant const highp 2-component vector of int)
0:38 'sci2' ( specialization-constant const highp int)
0:38 2 (const int)
0:38 'sci2' ( specialization-constant const highp int)
0:38 2 (const int)
-0:38 Construct ivec2 ( specialization-constant const 2-component vector of int)
+0:38 Construct ivec2 ( specialization-constant const highp 2-component vector of int)
0:38 'sci2' ( specialization-constant const highp int)
0:38 2 (const int)
0:38 'sci2' ( specialization-constant const highp int)
0:38 2 (const int)
-0:40 Construct vec2 ( specialization-constant const 2-component vector of float)
+0:40 Construct vec2 ( specialization-constant const highp 2-component vector of float)
0:40 'scf1' ( specialization-constant const highp float)
0:40 1.000000
0:40 'scf1' ( specialization-constant const highp float)
0:40 1.000000
-0:41 Construct vec2 ( temp 2-element array of 2-component vector of float)
-0:41 Construct vec2 ( specialization-constant const 2-component vector of float)
+0:41 Construct vec2 ( temp 2-element array of highp 2-component vector of float)
+0:41 Construct vec2 ( specialization-constant const highp 2-component vector of float)
0:41 'scf1' ( specialization-constant const highp float)
0:41 1.000000
0:41 'scf1' ( specialization-constant const highp float)
0:41 1.000000
-0:41 Construct vec2 ( specialization-constant const 2-component vector of float)
+0:41 Construct vec2 ( specialization-constant const highp 2-component vector of float)
0:41 'scf1' ( specialization-constant const highp float)
0:41 1.000000
0:41 'scf1' ( specialization-constant const highp float)
diff --git a/Test/baseResults/vulkan.frag.out b/Test/baseResults/vulkan.frag.out
index e620898..28134ae 100644
--- a/Test/baseResults/vulkan.frag.out
+++ b/Test/baseResults/vulkan.frag.out
@@ -24,37 +24,38 @@
ERROR: 0:43: 'non-opaque uniforms outside a block' : not allowed when using GLSL for Vulkan
ERROR: 0:43: 'push_constant' : can only be used with a block
ERROR: 0:45: 'push_constant' : cannot declare a default, can only be used on a block
-ERROR: 0:51: 'binding' : sampler/texture/image requires layout(binding=X)
-ERROR: 0:52: 'binding' : sampler/texture/image requires layout(binding=X)
-ERROR: 0:52: 'input_attachment_index' : can only be used with a subpass
-ERROR: 0:53: 'binding' : sampler/texture/image requires layout(binding=X)
-ERROR: 0:53: 'input_attachment_index' : can only be used with a subpass
+ERROR: 0:46: 'binding' : cannot be used with push_constant
ERROR: 0:54: 'binding' : sampler/texture/image requires layout(binding=X)
-ERROR: 0:54: 'subpass' : requires an input_attachment_index layout qualifier
ERROR: 0:55: 'binding' : sampler/texture/image requires layout(binding=X)
-ERROR: 0:60: 'subpassLoadMS' : no matching overloaded function found
-ERROR: 0:61: 'subpassLoad' : no matching overloaded function found
+ERROR: 0:55: 'input_attachment_index' : can only be used with a subpass
+ERROR: 0:56: 'binding' : sampler/texture/image requires layout(binding=X)
+ERROR: 0:56: 'input_attachment_index' : can only be used with a subpass
+ERROR: 0:57: 'binding' : sampler/texture/image requires layout(binding=X)
+ERROR: 0:57: 'subpass' : requires an input_attachment_index layout qualifier
+ERROR: 0:58: 'binding' : sampler/texture/image requires layout(binding=X)
ERROR: 0:63: 'subpassLoadMS' : no matching overloaded function found
-ERROR: 0:66: 'subroutine' : not allowed when generating SPIR-V
-ERROR: 0:66: 'subroutine' : feature not yet implemented
-ERROR: 0:67: 'subroutine' : not allowed when generating SPIR-V
-ERROR: 0:67: 'subroutine' : feature not yet implemented
-ERROR: 0:69: 'non-opaque uniforms outside a block' : not allowed when using GLSL for Vulkan
-ERROR: 0:73: 'texture' : no matching overloaded function found
-ERROR: 0:74: 'imageStore' : no matching overloaded function found
-WARNING: 0:82: '' : all default precisions are highp; use precision statements to quiet warning, e.g.:
+ERROR: 0:64: 'subpassLoad' : no matching overloaded function found
+ERROR: 0:66: 'subpassLoadMS' : no matching overloaded function found
+ERROR: 0:69: 'subroutine' : not allowed when generating SPIR-V
+ERROR: 0:69: 'subroutine' : feature not yet implemented
+ERROR: 0:70: 'subroutine' : not allowed when generating SPIR-V
+ERROR: 0:70: 'subroutine' : feature not yet implemented
+ERROR: 0:72: 'non-opaque uniforms outside a block' : not allowed when using GLSL for Vulkan
+ERROR: 0:76: 'texture' : no matching overloaded function found
+ERROR: 0:77: 'imageStore' : no matching overloaded function found
+WARNING: 0:85: '' : all default precisions are highp; use precision statements to quiet warning, e.g.:
"precision mediump int; precision highp float;"
-ERROR: 0:91: 'call argument' : sampler constructor must appear at point of use
-ERROR: 0:92: 'call argument' : sampler constructor must appear at point of use
-ERROR: 0:93: ',' : sampler constructor must appear at point of use
-ERROR: 0:94: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type ' temp sampler2D' and a right operand of type ' temp sampler2D' (or there is no acceptable conversion)
ERROR: 0:94: 'call argument' : sampler constructor must appear at point of use
-ERROR: 0:96: 'gl_NumSamples' : undeclared identifier
-ERROR: 0:101: 'noise1' : no matching overloaded function found
-ERROR: 0:102: 'noise2' : no matching overloaded function found
-ERROR: 0:103: 'noise3' : no matching overloaded function found
-ERROR: 0:104: 'noise4' : no matching overloaded function found
-ERROR: 53 compilation errors. No code generated.
+ERROR: 0:95: 'call argument' : sampler constructor must appear at point of use
+ERROR: 0:96: ',' : sampler constructor must appear at point of use
+ERROR: 0:97: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type ' temp sampler2D' and a right operand of type ' temp sampler2D' (or there is no acceptable conversion)
+ERROR: 0:97: 'call argument' : sampler constructor must appear at point of use
+ERROR: 0:99: 'gl_NumSamples' : undeclared identifier
+ERROR: 0:104: 'noise1' : no matching overloaded function found
+ERROR: 0:105: 'noise2' : no matching overloaded function found
+ERROR: 0:106: 'noise3' : no matching overloaded function found
+ERROR: 0:107: 'noise4' : no matching overloaded function found
+ERROR: 54 compilation errors. No code generated.
ERROR: Linking fragment stage: Only one push_constant block is allowed per stage
diff --git a/Test/baseResults/xfbUnsizedArray.error.tese.out b/Test/baseResults/xfbUnsizedArray.error.tese.out
new file mode 100644
index 0000000..df3495f
--- /dev/null
+++ b/Test/baseResults/xfbUnsizedArray.error.tese.out
@@ -0,0 +1,35 @@
+xfbUnsizedArray.error.tese
+ERROR: 0:4: 'xfb_offset' : unsized array in buffer 0
+ERROR: 1 compilation errors. No code generated.
+
+
+Shader version: 430
+Requested GL_ARB_enhanced_layouts
+in xfb mode
+input primitive = isolines
+vertex spacing = none
+triangle order = none
+using point mode
+ERROR: node is still EOpNull!
+0:6 Function Definition: main( ( global void)
+0:6 Function Parameters:
+0:? Linker Objects
+0:? 'unsized' (layout( xfb_buffer=0 xfb_offset=0) out unsized 1-element array of 4-component vector of float)
+
+
+Linked tessellation evaluation stage:
+
+
+Shader version: 430
+Requested GL_ARB_enhanced_layouts
+in xfb mode
+input primitive = isolines
+vertex spacing = equal_spacing
+triangle order = ccw
+using point mode
+ERROR: node is still EOpNull!
+0:6 Function Definition: main( ( global void)
+0:6 Function Parameters:
+0:? Linker Objects
+0:? 'unsized' (layout( xfb_buffer=0 xfb_offset=0) out 1-element array of 4-component vector of float)
+
diff --git a/Test/constantUnaryConversion.comp b/Test/constantUnaryConversion.comp
index 3c479ae..f0710cd 100644
--- a/Test/constantUnaryConversion.comp
+++ b/Test/constantUnaryConversion.comp
@@ -13,11 +13,18 @@
const uint64_t uint64_t_init = uint64_t(4);
const float16_t float16_t_init = float16_t(42.0);
const float32_t float32_t_init = float32_t(13.0);
-const float64_t float64_t_init = float64_t(-4.0);
+const float64_t float64_t_init = float64_t(4.0);
+
+const float16_t neg_float16_t_init = float16_t(-42.0);
+const float32_t neg_float32_t_init = float32_t(-13.0);
+const float64_t neg_float64_t_init = float64_t(-4.0);
#define TYPE_TO_TYPE(x, y) \
const x y##_to_##x = x(y##_init)
+#define TYPE_TO_TYPE_PREFIX(prefix, x, y) \
+ const x prefix##_##y##_to_##x = x(prefix##_##y##_init)
+
#define TYPE_TO(x) \
TYPE_TO_TYPE(x, bool); \
TYPE_TO_TYPE(x, int8_t); \
@@ -45,4 +52,18 @@
TYPE_TO(float32_t);
TYPE_TO(float64_t);
+#define NEG_FLOAT_TO(x) \
+ TYPE_TO_TYPE_PREFIX(neg, x, float16_t); \
+ TYPE_TO_TYPE_PREFIX(neg, x, float32_t); \
+ TYPE_TO_TYPE_PREFIX(neg, x, float64_t)
+
+NEG_FLOAT_TO(bool);
+NEG_FLOAT_TO(int8_t);
+NEG_FLOAT_TO(int16_t);
+NEG_FLOAT_TO(int32_t);
+NEG_FLOAT_TO(int64_t);
+NEG_FLOAT_TO(float16_t);
+NEG_FLOAT_TO(float32_t);
+NEG_FLOAT_TO(float64_t);
+
void main() {}
diff --git a/Test/floatBitsToInt.vert b/Test/floatBitsToInt.vert
new file mode 100644
index 0000000..a6bb18a
--- /dev/null
+++ b/Test/floatBitsToInt.vert
@@ -0,0 +1,18 @@
+#version 150
+#extension GL_ARB_gpu_shader5 : require
+uniform int expected_value;
+uniform float value;
+out vec4 result;
+void main()
+{
+ result = vec4(1.0, 1.0, 1.0, 1.0);
+ int ret_val = floatBitsToInt(value);
+ if (expected_value != ret_val){ result = vec4(0.0, 0.0, 0.0, 0.0); }
+
+ switch (gl_VertexID) {
+ case 0: gl_Position = vec4(-1.0, 1.0, 0.0, 1.0); break;
+ case 1: gl_Position = vec4( 1.0, 1.0, 0.0, 1.0); break;
+ case 2: gl_Position = vec4(-1.0,-1.0, 0.0, 1.0); break;
+ case 3: gl_Position = vec4( 1.0,-1.0, 0.0, 1.0); break;
+ }
+}
\ No newline at end of file
diff --git a/Test/hlsl.imagefetch-subvec4.comp b/Test/hlsl.imagefetch-subvec4.comp
index 2a83dd2..a5d70c2 100644
--- a/Test/hlsl.imagefetch-subvec4.comp
+++ b/Test/hlsl.imagefetch-subvec4.comp
@@ -1,8 +1,41 @@
-Texture3D<int> IN: register(t0);
-RWTexture3D<uint> OUT: register(u1);
+Texture1D<float> i1D: register(t0);
+Texture2D<float> i2D: register(t1);
+Texture3D<float> i3D: register(t2);
+Texture1DArray<float> i1DArray: register(t3);
+Texture2DArray<float> i2DArray: register(t4);
+Texture2DMS<float> i2DMS: register(t5);
+Texture2DMSArray<float> i2DMSArray: register(t6);
+
+Texture1D<int> ii1D: register(t7);
+Texture2D<int> ii2D: register(t8);
+Texture3D<int> ii3D: register(t9);
+Texture1DArray<int> ii1DArray: register(t10);
+Texture2DArray<int> ii2DArray: register(t11);
+Texture2DMS<int> ii2DMS: register(t12);
+Texture2DMSArray<int> ii2DMSArray: register(t13);
+
+RWTexture3D<float> OUT: register(u0);
[numthreads(8,8,8)]
void main(uint3 tid: SV_DispatchThreadID)
{
- OUT[tid] = IN[tid];
+ float f = 0.0;
+ f += i1D[tid.x];
+ f += i2D[tid.xy];
+ f += i3D[tid];
+ f += i1DArray[tid.xy];
+ f += i2DArray[tid];
+ f += i2DMS.Load(tid.xy, 1);
+ f += i2DMSArray.Load(tid, 3);
+
+ int i = 0.0;
+ i += ii1D[tid.x];
+ i += ii2D[tid.xy];
+ i += ii3D[tid];
+ i += ii1DArray[tid.xy];
+ i += ii2DArray[tid];
+ i += ii2DMS.Load(tid.xy, 1);
+ i += ii2DMSArray.Load(tid, 3);
+
+ OUT[tid] = f + float(i);
}
diff --git a/Test/hlsl.imageload-subvec4.comp b/Test/hlsl.imageload-subvec4.comp
new file mode 100644
index 0000000..b465cdb
--- /dev/null
+++ b/Test/hlsl.imageload-subvec4.comp
@@ -0,0 +1,33 @@
+RWTexture1D<float> i1D: register(u0);
+RWTexture2D<float> i2D: register(u1);
+RWTexture3D<float> i3D: register(u2);
+RWTexture1DArray<float> i1DArray: register(u3);
+RWTexture2DArray<float> i2DArray: register(u4);
+
+RWTexture1D<int> ii1D: register(u5);
+RWTexture2D<int> ii2D: register(u6);
+RWTexture3D<int> ii3D: register(u7);
+RWTexture1DArray<int> ii1DArray: register(u8);
+RWTexture2DArray<int> ii2DArray: register(u9);
+
+RWTexture3D<float> OUT: register(u10);
+
+[numthreads(8,8,8)]
+void main(uint3 tid: SV_DispatchThreadID)
+{
+ float f = 0.0;
+ f += i1D[tid.x];
+ f += i2D[tid.xy];
+ f += i3D[tid];
+ f += i1DArray[tid.xy];
+ f += i2DArray[tid];
+
+ int i = 0.0;
+ i += ii1D[tid.x];
+ i += ii2D[tid.xy];
+ i += ii3D[tid];
+ i += ii1DArray[tid.xy];
+ i += ii2DArray[tid];
+
+ OUT[tid] = f + float(i);
+}
diff --git a/Test/hlsl.spv.1.6.discard.frag b/Test/hlsl.spv.1.6.discard.frag
new file mode 100644
index 0000000..7d9271c
--- /dev/null
+++ b/Test/hlsl.spv.1.6.discard.frag
@@ -0,0 +1,14 @@
+void foo(float f)
+{
+ if (f < 1.0)
+ discard;
+}
+
+void PixelShaderFunction(float4 input) : COLOR0
+{
+ foo(input.z);
+ if (input.x)
+ discard;
+ float f = input.x;
+ discard;
+}
diff --git a/Test/hlsl.structbuffer.rwbyte2.comp b/Test/hlsl.structbuffer.rwbyte2.comp
new file mode 100644
index 0000000..42d61c0
--- /dev/null
+++ b/Test/hlsl.structbuffer.rwbyte2.comp
@@ -0,0 +1,10 @@
+RWStructuredBuffer<uint> g_sbuf;
+RWByteAddressBuffer g_bbuf;
+
+
+void main()
+{
+ uint f = g_bbuf.Load(16);
+ g_sbuf[0] = f;
+}
+
diff --git a/Test/hlsl.w-recip.frag b/Test/hlsl.w-recip.frag
new file mode 100644
index 0000000..4812d26
--- /dev/null
+++ b/Test/hlsl.w-recip.frag
@@ -0,0 +1,12 @@
+float4 AmbientColor = float4(1, 0.5, 0, 1);
+float4 AmbientColor2 = float4(0.5, 1, 0, 0);
+
+float4 main(float4 vpos : SV_POSITION) : SV_TARGET
+{
+ float4 vpos_t = float4(vpos.xyz, 1 / vpos.w);
+ if (vpos_t.x < 400)
+ return AmbientColor;
+ else
+ return AmbientColor2;
+}
+
diff --git a/Test/hlsl.w-recip2.frag b/Test/hlsl.w-recip2.frag
new file mode 100644
index 0000000..8ef49c9
--- /dev/null
+++ b/Test/hlsl.w-recip2.frag
@@ -0,0 +1,19 @@
+struct VSOutput
+{
+ float4 PositionPS : SV_Position;
+ float3 PosInLightViewSpace : LIGHT_SPACE_POS;
+ float3 NormalWS : NORMALWS;
+ float2 TexCoord : TEXCOORD;
+};
+
+float4 AmbientColor = float4(1, 0.5, 0, 1);
+float4 AmbientColor2 = float4(0.5, 1, 0, 0);
+
+float4 main(VSOutput VSOut) : SV_TARGET
+{
+ if (VSOut.PositionPS.x < 400)
+ return AmbientColor;
+ else
+ return AmbientColor2;
+}
+
diff --git a/Test/iomap.blockOutVariableIn.2.vert b/Test/iomap.blockOutVariableIn.2.vert
new file mode 100644
index 0000000..67f45c9
--- /dev/null
+++ b/Test/iomap.blockOutVariableIn.2.vert
@@ -0,0 +1,14 @@
+#version 440
+
+layout(location = 0) out Block
+{
+ vec4 a1;
+ vec2 a2;
+};
+
+void main()
+{
+ a1 = vec4(1.0);
+ a2 = vec2(0.5);
+ gl_Position = vec4(1.0);
+}
diff --git a/Test/iomap.blockOutVariableIn.frag b/Test/iomap.blockOutVariableIn.frag
new file mode 100644
index 0000000..f2cb26e
--- /dev/null
+++ b/Test/iomap.blockOutVariableIn.frag
@@ -0,0 +1,11 @@
+#version 440
+
+layout(location = 0) in vec4 a1;
+layout(location = 1) in vec2 a2;
+
+layout(location = 0) out vec4 color;
+
+void main()
+{
+ color = vec4(a1.xy, a2);
+}
diff --git a/Test/iomap.blockOutVariableIn.geom b/Test/iomap.blockOutVariableIn.geom
new file mode 100644
index 0000000..feefdd1
--- /dev/null
+++ b/Test/iomap.blockOutVariableIn.geom
@@ -0,0 +1,28 @@
+#version 440
+
+layout(triangles) in;
+layout(triangle_strip, max_vertices=3) out;
+
+layout(location = 0) in vec4 in_a1[3];
+layout(location = 1) in vec2 in_a2[3];
+
+layout(location = 0) out vec4 a1;
+layout(location = 1) out vec2 a2;
+
+void main()
+{
+ a1 = in_a1[0];
+ a2 = in_a2[0];
+ gl_Position = vec4(1.0);
+ EmitVertex();
+
+ a1 = in_a1[1];
+ a2 = in_a2[1];
+ gl_Position = vec4(1.0);
+ EmitVertex();
+
+ a1 = in_a1[2];
+ a2 = in_a2[2];
+ gl_Position = vec4(1.0);
+ EmitVertex();
+}
diff --git a/Test/iomap.blockOutVariableIn.vert b/Test/iomap.blockOutVariableIn.vert
new file mode 100644
index 0000000..67f45c9
--- /dev/null
+++ b/Test/iomap.blockOutVariableIn.vert
@@ -0,0 +1,14 @@
+#version 440
+
+layout(location = 0) out Block
+{
+ vec4 a1;
+ vec2 a2;
+};
+
+void main()
+{
+ a1 = vec4(1.0);
+ a2 = vec2(0.5);
+ gl_Position = vec4(1.0);
+}
diff --git a/Test/iomap.variableOutBlockIn.2.vert b/Test/iomap.variableOutBlockIn.2.vert
new file mode 100644
index 0000000..f9b80b4
--- /dev/null
+++ b/Test/iomap.variableOutBlockIn.2.vert
@@ -0,0 +1,11 @@
+#version 440
+
+layout(location = 0) out vec4 a1;
+layout(location = 1) out vec2 a2;
+
+void main()
+{
+ a1 = vec4(1.0);
+ a2 = vec2(0.5);
+ gl_Position = vec4(1.0);
+}
diff --git a/Test/iomap.variableOutBlockIn.frag b/Test/iomap.variableOutBlockIn.frag
new file mode 100644
index 0000000..967d769
--- /dev/null
+++ b/Test/iomap.variableOutBlockIn.frag
@@ -0,0 +1,13 @@
+#version 440
+
+layout(location = 0) in Inputs {
+ vec4 a1;
+ vec2 a2;
+};
+
+layout(location = 0) out vec4 color;
+
+void main()
+{
+ color = vec4(a1.xy, a2);
+}
diff --git a/Test/iomap.variableOutBlockIn.geom b/Test/iomap.variableOutBlockIn.geom
new file mode 100644
index 0000000..637ddab
--- /dev/null
+++ b/Test/iomap.variableOutBlockIn.geom
@@ -0,0 +1,19 @@
+#version 440
+
+layout(triangles) in;
+layout(triangle_strip, max_vertices=3) out;
+
+layout(location = 0) in Inputs {
+ vec4 a1;
+ vec2 a2;
+} gin[3];
+
+layout(location = 0) out vec4 a1;
+layout(location = 1) out vec2 a2;
+
+void main()
+{
+ a1 = vec4(1.0);
+ a2 = vec2(0.5);
+ gl_Position = vec4(1.0);
+}
diff --git a/Test/iomap.variableOutBlockIn.vert b/Test/iomap.variableOutBlockIn.vert
new file mode 100644
index 0000000..f9b80b4
--- /dev/null
+++ b/Test/iomap.variableOutBlockIn.vert
@@ -0,0 +1,11 @@
+#version 440
+
+layout(location = 0) out vec4 a1;
+layout(location = 1) out vec2 a2;
+
+void main()
+{
+ a1 = vec4(1.0);
+ a2 = vec2(0.5);
+ gl_Position = vec4(1.0);
+}
diff --git a/Test/link.redeclareBuiltin.geom b/Test/link.redeclareBuiltin.geom
new file mode 100644
index 0000000..a2ceff6
--- /dev/null
+++ b/Test/link.redeclareBuiltin.geom
@@ -0,0 +1,23 @@
+#version 410
+
+layout(triangles) in;
+layout(triangle_strip, max_vertices=3) out;
+
+in gl_PerVertex
+{
+ vec4 gl_Position;
+} gl_in[];
+
+void main()
+{
+ gl_Position = gl_in[0].gl_Position;
+ EmitVertex();
+
+ gl_Position = gl_in[1].gl_Position;
+ EmitVertex();
+
+ gl_Position = gl_in[2].gl_Position;
+ EmitVertex();
+
+ EndPrimitive();
+}
\ No newline at end of file
diff --git a/Test/link.redeclareBuiltin.vert b/Test/link.redeclareBuiltin.vert
new file mode 100644
index 0000000..7cda45c
--- /dev/null
+++ b/Test/link.redeclareBuiltin.vert
@@ -0,0 +1,11 @@
+#version 410
+
+out gl_PerVertex
+{
+ vec4 gl_Position;
+};
+
+void main()
+{
+ gl_Position = vec4(1.0);
+}
\ No newline at end of file
diff --git a/Test/link.tesselation.frag b/Test/link.tesselation.frag
new file mode 100644
index 0000000..420384d
--- /dev/null
+++ b/Test/link.tesselation.frag
@@ -0,0 +1,15 @@
+#version 440
+
+layout(location = 0) in Primitive
+{
+ vec2 texCoord;
+} IN;
+
+layout(location = 0) out vec4 oColor;
+
+layout(binding = 0) uniform sampler2D mytex;
+
+void main()
+{
+ oColor = texture(mytex, IN.texCoord);
+}
diff --git a/Test/link.tesselation.tesc b/Test/link.tesselation.tesc
new file mode 100644
index 0000000..c47d2ad
--- /dev/null
+++ b/Test/link.tesselation.tesc
@@ -0,0 +1,21 @@
+#version 440
+
+layout(location = 0) in Primitive
+{
+ vec2 texCoord;
+} IN[];
+
+layout(location = 0) out Primitive
+{
+ vec2 texCoord;
+} OUT[];
+
+layout(vertices = 3) out;
+void main()
+{
+ OUT[gl_InvocationID].texCoord = IN[gl_InvocationID].texCoord;
+
+ float tessLevel = 10.0;
+ gl_TessLevelOuter[gl_InvocationID] = tessLevel;
+ gl_TessLevelInner[0] = tessLevel;
+}
diff --git a/Test/link.tesselation.tese b/Test/link.tesselation.tese
new file mode 100644
index 0000000..e111292
--- /dev/null
+++ b/Test/link.tesselation.tese
@@ -0,0 +1,26 @@
+#version 440
+
+layout(location = 0) in Primitive
+{
+ vec2 texCoord;
+} IN[];
+
+layout(location = 0) out Primitive
+{
+ vec2 texCoord;
+} OUT;
+
+layout(triangles, fractional_odd_spacing) in;
+layout(cw) in;
+void main()
+{
+ float u = gl_TessCoord.x;
+ float v = gl_TessCoord.y;
+ float w = gl_TessCoord.z;
+
+ vec2 newUv = vec2( u * IN[0].texCoord + v * IN[1].texCoord + w * IN[2].texCoord);
+ OUT.texCoord = newUv;
+ gl_Position = gl_in[gl_PatchVerticesIn].gl_Position;
+}
+
+
diff --git a/Test/link.tesselation.vert b/Test/link.tesselation.vert
new file mode 100644
index 0000000..daf3537
--- /dev/null
+++ b/Test/link.tesselation.vert
@@ -0,0 +1,16 @@
+#version 440
+
+layout(location = 0) in vec4 i_Pos;
+layout(location = 1) in vec2 i_Tex;
+
+layout(location = 0) out Primitive
+{
+ vec2 texCoord;
+} OUT;
+
+void main()
+{
+ gl_Position = i_Pos;
+ OUT.texCoord = i_Tex;
+}
+
diff --git a/Test/noMatchingFunction.frag b/Test/noMatchingFunction.frag
new file mode 100644
index 0000000..d095645
--- /dev/null
+++ b/Test/noMatchingFunction.frag
@@ -0,0 +1,19 @@
+#version 330
+
+struct S
+{
+ float a;
+};
+
+float func(S s)
+{
+ return s.a;
+}
+
+layout(location = 0) out vec4 o_color;
+
+void main()
+{
+ float c = func(1.0f); // ERROR: no matching function
+ o_color = vec4(c);
+}
diff --git a/Test/runtests b/Test/runtests
index a7bdda7..63c3a03 100755
--- a/Test/runtests
+++ b/Test/runtests
@@ -255,6 +255,15 @@
diff -b $BASEDIR/hlsl.y-negate-3.vert.out $TARGETDIR/hlsl.y-negate-3.vert.out || HASERROR=1
#
+# Testing position W reciprocal
+#
+echo "Testing position W reciprocal"
+run -H -e main -V -D -Od -H -i --hlsl-dx-position-w hlsl.w-recip.frag > $TARGETDIR/hlsl.w-recip.frag.out
+diff -b $BASEDIR/hlsl.w-recip.frag.out $TARGETDIR/hlsl.w-recip.frag.out || HASERROR=1
+run -H -e main -V -D -Od -H -i --hlsl-dx-position-w hlsl.w-recip2.frag > $TARGETDIR/hlsl.w-recip2.frag.out
+diff -b $BASEDIR/hlsl.w-recip2.frag.out $TARGETDIR/hlsl.w-recip2.frag.out || HASERROR=1
+
+#
# Testing hlsl_functionality1
#
echo "Testing hlsl_functionality1"
diff --git a/Test/spv.1.4.OpEntryPoint.frag b/Test/spv.1.4.OpEntryPoint.frag
index ef1235a..a12b1b3 100644
--- a/Test/spv.1.4.OpEntryPoint.frag
+++ b/Test/spv.1.4.OpEntryPoint.frag
@@ -13,7 +13,7 @@
float f;
} bufferv;
-layout(binding = 2, push_constant) uniform pushB {
+layout(push_constant) uniform pushB {
int a;
} pushv;
diff --git a/Test/spv.1.6.conditionalDiscard.frag b/Test/spv.1.6.conditionalDiscard.frag
new file mode 100644
index 0000000..ea80337
--- /dev/null
+++ b/Test/spv.1.6.conditionalDiscard.frag
@@ -0,0 +1,14 @@
+#version 400
+
+uniform sampler2D tex;
+in vec2 coord;
+
+void main (void)
+{
+ vec4 v = texture(tex, coord);
+
+ if (v == vec4(0.1,0.2,0.3,0.4))
+ discard;
+
+ gl_FragColor = v;
+}
diff --git a/Test/spv.1.6.helperInvocation.frag b/Test/spv.1.6.helperInvocation.frag
new file mode 100644
index 0000000..4d306db
--- /dev/null
+++ b/Test/spv.1.6.helperInvocation.frag
@@ -0,0 +1,10 @@
+#version 310 es
+precision highp float;
+
+out vec4 outp;
+void main()
+{
+ if (gl_HelperInvocation)
+ ++outp;
+}
+
diff --git a/Test/spv.1.6.specConstant.comp b/Test/spv.1.6.specConstant.comp
new file mode 100644
index 0000000..6b47515
--- /dev/null
+++ b/Test/spv.1.6.specConstant.comp
@@ -0,0 +1,18 @@
+#version 450
+
+layout(local_size_x_id = 18, local_size_z_id = 19) in;
+layout(local_size_x = 32, local_size_y = 32) in;
+
+buffer bn {
+ uint a;
+} bi;
+
+void foo(uvec3 wgs)
+{
+ bi.a = wgs.x * gl_WorkGroupSize.y * wgs.z;
+}
+
+void main()
+{
+ foo(gl_WorkGroupSize);
+}
diff --git a/Test/spv.AnyHitShaderMotion.rahit b/Test/spv.AnyHitShaderMotion.rahit
new file mode 100644
index 0000000..6972577
--- /dev/null
+++ b/Test/spv.AnyHitShaderMotion.rahit
@@ -0,0 +1,6 @@
+#version 460
+#extension GL_NV_ray_tracing_motion_blur : enable
+void main()
+{
+ float time = gl_CurrentRayTimeNV + 0.5f;
+}
diff --git a/Test/spv.ClosestHitShaderMotion.rchit b/Test/spv.ClosestHitShaderMotion.rchit
new file mode 100644
index 0000000..42a1838
--- /dev/null
+++ b/Test/spv.ClosestHitShaderMotion.rchit
@@ -0,0 +1,10 @@
+#version 460
+#extension GL_EXT_ray_tracing : enable
+#extension GL_NV_ray_tracing_motion_blur : enable
+layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
+layout(location = 0) rayPayloadInEXT vec4 incomingPayloadEXT;
+void main()
+{
+ float time = gl_CurrentRayTimeNV + 0.5f;
+ traceRayMotionNV(accEXT, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1.0, 0);
+}
diff --git a/Test/spv.IntersectShaderMotion.rint b/Test/spv.IntersectShaderMotion.rint
new file mode 100644
index 0000000..6972577
--- /dev/null
+++ b/Test/spv.IntersectShaderMotion.rint
@@ -0,0 +1,6 @@
+#version 460
+#extension GL_NV_ray_tracing_motion_blur : enable
+void main()
+{
+ float time = gl_CurrentRayTimeNV + 0.5f;
+}
diff --git a/Test/spv.MissShaderMotion.rmiss b/Test/spv.MissShaderMotion.rmiss
new file mode 100644
index 0000000..3a3dcb1
--- /dev/null
+++ b/Test/spv.MissShaderMotion.rmiss
@@ -0,0 +1,10 @@
+#version 460
+#extension GL_EXT_ray_tracing : enable
+#extension GL_NV_ray_tracing_motion_blur : enable
+layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
+layout(location = 0) rayPayloadEXT vec4 localPayloadEXT;
+void main()
+{
+ float time = gl_CurrentRayTimeNV + 0.5f;
+ traceRayMotionNV(accEXT, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1.0f, 0);
+}
diff --git a/Test/spv.RayGenShaderMotion.rgen b/Test/spv.RayGenShaderMotion.rgen
new file mode 100644
index 0000000..c38fffe
--- /dev/null
+++ b/Test/spv.RayGenShaderMotion.rgen
@@ -0,0 +1,13 @@
+#version 460
+#extension GL_EXT_ray_tracing : enable
+#extension GL_NV_ray_tracing_motion_blur : enable
+layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT;
+layout(location = 0) rayPayloadEXT vec4 payloadEXT;
+void main()
+{
+ uint lx = gl_LaunchIDEXT.x;
+ uint ly = gl_LaunchIDEXT.y;
+ uint sx = gl_LaunchSizeEXT.x;
+ uint sy = gl_LaunchSizeEXT.y;
+ traceRayMotionNV(accEXT, lx, ly, sx, sy, 0u, vec3(0.5), 0.5f, vec3(1.0), 0.75f, 0.5, 0);
+}
diff --git a/Test/spv.atomicAdd.bufferReference.comp b/Test/spv.atomicAdd.bufferReference.comp
new file mode 100644
index 0000000..fdd031d
--- /dev/null
+++ b/Test/spv.atomicAdd.bufferReference.comp
@@ -0,0 +1,50 @@
+#version 450 core
+#pragma use_vulkan_memory_model
+#extension GL_KHR_shader_subgroup_basic : enable
+#extension GL_KHR_shader_subgroup_shuffle : enable
+#extension GL_KHR_shader_subgroup_ballot : enable
+#extension GL_KHR_memory_scope_semantics : enable
+#extension GL_ARB_gpu_shader_int64 : enable
+#extension GL_EXT_buffer_reference : enable
+// DIM/NUM_WORKGROUP_EACH_DIM overriden by spec constants
+layout(constant_id = 0) const int DIM = 1;
+layout(constant_id = 1) const int NUM_WORKGROUP_EACH_DIM = 1;
+shared bool sharedSkip;
+layout(local_size_x_id = 0, local_size_y_id = 0, local_size_z = 1) in;
+layout(buffer_reference) buffer PayloadRef { uint x[]; };
+layout(buffer_reference) buffer GuardRef { uint x[]; };
+layout(set=0, binding=2) buffer Fail { uint x[]; } fail;
+layout (push_constant, std430) uniform PC {
+ layout(offset = 0) PayloadRef payloadref;
+layout(offset = 8) GuardRef guard;
+};
+void main()
+{
+ bool pass = true;
+ bool skip = false;
+ sharedSkip = false;
+ nonprivate PayloadRef payload = payloadref;
+ ivec2 globalId = ivec2(gl_GlobalInvocationID.xy);
+ ivec2 partnerGlobalId = ivec2(DIM*NUM_WORKGROUP_EACH_DIM-1) - ivec2(gl_GlobalInvocationID.xy);
+ uint bufferCoord = globalId.y * DIM*NUM_WORKGROUP_EACH_DIM + globalId.x;
+ uint partnerBufferCoord = partnerGlobalId.y * DIM*NUM_WORKGROUP_EACH_DIM + partnerGlobalId.x;
+ ivec2 imageCoord = globalId;
+ ivec2 partnerImageCoord = partnerGlobalId;
+ ivec2 globalId00 = ivec2(DIM) * ivec2(gl_WorkGroupID.xy);
+ ivec2 partnerGlobalId00 = ivec2(DIM) * (ivec2(NUM_WORKGROUP_EACH_DIM-1) - ivec2(gl_WorkGroupID.xy));
+ uint bufferCoord00 = globalId00.y * DIM*NUM_WORKGROUP_EACH_DIM + globalId00.x;
+ uint partnerBufferCoord00 = partnerGlobalId00.y * DIM*NUM_WORKGROUP_EACH_DIM + partnerGlobalId00.x;
+ ivec2 imageCoord00 = globalId00;
+ ivec2 partnerImageCoord00 = partnerGlobalId00;
+ payload.x[bufferCoord] = bufferCoord + (payload.x[partnerBufferCoord]>>31);
+ controlBarrier(gl_ScopeWorkgroup, gl_ScopeWorkgroup, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, gl_SemanticsAcquireRelease | gl_SemanticsMakeAvailable);
+ if (all(equal(gl_LocalInvocationID.xy, ivec2(0,0)))) {
+ atomicStore(guard.x[bufferCoord], uint(1u), gl_ScopeDevice, gl_StorageSemanticsBuffer, gl_SemanticsRelease | gl_SemanticsMakeAvailable);
+ skip = atomicLoad(guard.x[partnerBufferCoord00], gl_ScopeDevice, gl_StorageSemanticsBuffer, gl_SemanticsAcquire | gl_SemanticsMakeVisible) == 0;
+ sharedSkip = skip;
+ }
+ controlBarrier(gl_ScopeWorkgroup, gl_ScopeWorkgroup, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, gl_SemanticsAcquireRelease | gl_SemanticsMakeVisible);
+ skip = sharedSkip;
+ uint r = payload.x[partnerBufferCoord];
+ if (!skip && r != uint(partnerBufferCoord)) { fail.x[bufferCoord] = 1; }
+}
\ No newline at end of file
diff --git a/Test/spv.float64.frag b/Test/spv.float64.frag
index faaac23..6e9f22d 100644
--- a/Test/spv.float64.frag
+++ b/Test/spv.float64.frag
@@ -127,36 +127,12 @@
u64v = u64vec3(f64v); // float64 -> uint64
}
-void builtinAngleTrigFuncs()
-{
- f64vec4 f64v1, f64v2;
+// Trig, pow, exp and log are not supported for f64
- f64v2 = radians(f64v1);
- f64v2 = degrees(f64v1);
- f64v2 = sin(f64v1);
- f64v2 = cos(f64v1);
- f64v2 = tan(f64v1);
- f64v2 = asin(f64v1);
- f64v2 = acos(f64v1);
- f64v2 = atan(f64v1, f64v2);
- f64v2 = atan(f64v1);
- f64v2 = sinh(f64v1);
- f64v2 = cosh(f64v1);
- f64v2 = tanh(f64v1);
- f64v2 = asinh(f64v1);
- f64v2 = acosh(f64v1);
- f64v2 = atanh(f64v1);
-}
-
-void builtinExpFuncs()
+void builtinTranscendentalFuncs()
{
f64vec2 f64v1, f64v2;
- f64v2 = pow(f64v1, f64v2);
- f64v2 = exp(f64v1);
- f64v2 = log(f64v1);
- f64v2 = exp2(f64v1);
- f64v2 = log2(f64v1);
f64v2 = sqrt(f64v1);
f64v2 = inversesqrt(f64v1);
}
diff --git a/Test/spv.int16.frag b/Test/spv.int16.frag
index 2feff4f..26a8c9b 100644
--- a/Test/spv.int16.frag
+++ b/Test/spv.int16.frag
@@ -116,6 +116,8 @@
int32_t i;
int64_t i64;
bool b;
+ float f;
+ float arr[4] = {1.0, 2.0, 3.0, 4.0};
// Unary
u16v++;
@@ -163,6 +165,9 @@
uv = u16v & uv;
uv ^= i16;
u16v = u16v ^ i16;
+
+ // Index
+ f = arr[i16];
}
void builtinFuncs()
diff --git a/Test/spv.int8.frag b/Test/spv.int8.frag
index 80702b7..bd3de17 100644
--- a/Test/spv.int8.frag
+++ b/Test/spv.int8.frag
@@ -117,6 +117,8 @@
int32_t i;
int16_t i16;
bool b;
+ float arr[4] = {1.0, 2.0, 3.0, 4.0};
+ float f;
// Unary
u8v++;
@@ -164,6 +166,9 @@
uv = u8v & uv;
uv ^= i8;
u8v = u8v ^ i8;
+
+ // Index
+ f = arr[i8];
}
void builtinFuncs()
diff --git a/Test/spv.intrinsicsSpirvInstruction.vert b/Test/spv.intrinsicsSpirvInstruction.vert
index a4efb7d..2cc1842 100644
--- a/Test/spv.intrinsicsSpirvInstruction.vert
+++ b/Test/spv.intrinsicsSpirvInstruction.vert
@@ -4,10 +4,10 @@
#extension GL_ARB_gpu_shader_int64: enable
spirv_instruction (extensions = ["SPV_KHR_shader_clock"], capabilities = [5055], id = 5056)
-uvec2 clockRealtime2x32EXT(void);
+uvec2 clockRealtime2x32EXT(int);
spirv_instruction (extensions = ["SPV_KHR_shader_clock"], capabilities = [5055], id = 5056)
-int64_t clockRealtimeEXT(void);
+uint64_t clockRealtimeEXT(int);
spirv_instruction (extensions = ["SPV_AMD_shader_trinary_minmax"], set = "SPV_AMD_shader_trinary_minmax", id = 1)
vec2 min3(vec2 x, vec2 y, vec2 z);
@@ -15,12 +15,12 @@
layout(location = 0) in vec3 vec3In;
layout(location = 0) out uvec2 uvec2Out;
-layout(location = 1) out int64_t i64Out;
+layout(location = 1) out uint64_t u64Out;
layout(location = 2) out vec2 vec2Out;
void main()
{
- uvec2Out = clockRealtime2x32EXT();
- i64Out = clockRealtimeEXT();
+ uvec2Out = clockRealtime2x32EXT(1);
+ u64Out = clockRealtimeEXT(1);
vec2Out = min3(vec3In.xy, vec3In.yz, vec3In.zx);
-}
+}
\ No newline at end of file
diff --git a/Test/spv.intrinsicsSpirvTypeLocalVar.vert b/Test/spv.intrinsicsSpirvTypeLocalVar.vert
new file mode 100644
index 0000000..203d900
--- /dev/null
+++ b/Test/spv.intrinsicsSpirvTypeLocalVar.vert
@@ -0,0 +1,14 @@
+#version 460 core
+
+#extension GL_EXT_spirv_intrinsics: enable
+
+layout(constant_id = 9) const int size = 9;
+
+#define EmptyStruct spirv_type(id = 30)
+void func(EmptyStruct emptyStruct) {}
+
+void main()
+{
+ EmptyStruct dummy[size];
+ func(dummy[1]);
+}
diff --git a/Test/spv.invariantAll.vert b/Test/spv.invariantAll.vert
new file mode 100644
index 0000000..e094aa0
--- /dev/null
+++ b/Test/spv.invariantAll.vert
@@ -0,0 +1,10 @@
+#version 450 core
+#pragma STDGL invariant(all)
+
+layout(location=0) out highp float v;
+
+void main()
+{
+ gl_Position = vec4(v, v, 0, 1);
+}
+
diff --git a/Test/spv.scalarlayout.frag b/Test/spv.scalarlayout.frag
index c7ecf50..e0e1b18 100644
--- a/Test/spv.scalarlayout.frag
+++ b/Test/spv.scalarlayout.frag
@@ -27,6 +27,8 @@
S i[2]; // offset = 160 (aligned to multiple of 8) stride = 48
};
+layout (std430) uniform;
+
void main()
{
}
diff --git a/Test/spv.viewportArray2.tesc b/Test/spv.viewportArray2.tesc
index 7fc208a..24a1d8c 100644
--- a/Test/spv.viewportArray2.tesc
+++ b/Test/spv.viewportArray2.tesc
@@ -1,4 +1,4 @@
-#version 450
+#version 430
#extension GL_NV_viewport_array2 :require
layout(vertices = 4) out;
@@ -12,5 +12,4 @@
void main()
{
gl_out[gl_InvocationID].gl_ViewportMask[0] = 1;
- gl_ViewportIndex = 2;
}
diff --git a/Test/textureQueryLOD.frag b/Test/textureQueryLOD.frag
new file mode 100644
index 0000000..0d0ae3c
--- /dev/null
+++ b/Test/textureQueryLOD.frag
@@ -0,0 +1,39 @@
+#version 150
+
+#ifdef GL_ARB_texture_query_lod
+#extension GL_ARB_texture_query_lod : enable
+#endif
+#ifdef GL_ARB_gpu_shader5
+#extension GL_ARB_gpu_shader5 : enable
+#endif
+
+#ifdef GL_ES
+precision highp float;
+#endif
+
+in vec2 vUV; // vert->frag
+out vec4 color; // frag->fb
+#define UV vUV
+
+#define bias 1.5
+#define TEX 128.0
+#define offset ivec2(1,1)
+uniform highp sampler2DShadow sampler;
+uniform int funct;
+
+void main (void)
+{
+ switch (funct)
+ {
+ case 0:
+ ivec2 iv2 = textureSize(sampler, 0);
+#ifdef GL_ARB_texture_query_lod
+ vec2 fv2 = textureQueryLOD(sampler, vec2(0.0, 0.0));
+#endif
+ color = vec4(iv2,fv2);
+ break;
+ default:
+ color = vec4(1.0, 1.0, 1.0, 1.0);
+ break;
+ }
+}
diff --git a/Test/vk.relaxed.stagelink.vert b/Test/vk.relaxed.stagelink.vert
index 52396ac..d2ac6af 100644
--- a/Test/vk.relaxed.stagelink.vert
+++ b/Test/vk.relaxed.stagelink.vert
@@ -25,7 +25,7 @@
void main() {
vec4 v = foo();
- v = v + s[gl_VertexID];
- v.x = v.x - float(gl_InstanceID);
+ v = v + s[gl_VertexID - gl_VertexIndex];
+ v.x = v.x - float(gl_InstanceID - gl_InstanceIndex);
io = v;
-}
\ No newline at end of file
+}
diff --git a/Test/vulkan.frag b/Test/vulkan.frag
index 46c14f3..25bfefe 100644
--- a/Test/vulkan.frag
+++ b/Test/vulkan.frag
@@ -43,6 +43,9 @@
layout(push_constant) uniform float pcfloat; // ERROR 2X: not on a non-block, and non-opaque outside block
layout(push_constant) uniform; // ERROR, needs an object
+layout(binding=2, push_constant) uniform pcbnd1 { // ERROR, can't have binding
+ int a;
+} pcbnd1inst;
layout(std430, push_constant) uniform pcb1 { int a; } pcb1inst;
layout(push_constant) uniform pcb2 {
int a;
diff --git a/Test/xfbUnsizedArray.error.tese b/Test/xfbUnsizedArray.error.tese
new file mode 100644
index 0000000..a59069b
--- /dev/null
+++ b/Test/xfbUnsizedArray.error.tese
@@ -0,0 +1,8 @@
+#version 430 core
+#extension GL_ARB_enhanced_layouts : require
+layout(isolines, point_mode) in;
+layout (xfb_offset = 0) out vec4 unsized[]; // error: unsized array
+
+void main()
+{
+}
diff --git a/gen_extension_headers.py b/gen_extension_headers.py
new file mode 100644
index 0000000..a787f9a
--- /dev/null
+++ b/gen_extension_headers.py
@@ -0,0 +1,98 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2020 Google Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import glob
+import sys
+import os
+
+def generate_main(glsl_files, output_header_file):
+ # Write commit ID to output header file
+ with open(output_header_file, "w") as header_file:
+ # Copyright Notice
+ header_string = '/***************************************************************************\n'
+ header_string += ' *\n'
+ header_string += ' * Copyright (c) 2015-2021 The Khronos Group Inc.\n'
+ header_string += ' * Copyright (c) 2015-2021 Valve Corporation\n'
+ header_string += ' * Copyright (c) 2015-2021 LunarG, Inc.\n'
+ header_string += ' * Copyright (c) 2015-2021 Google Inc.\n'
+ header_string += ' * Copyright (c) 2021 Advanced Micro Devices, Inc.All rights reserved.\n'
+ header_string += ' *\n'
+ header_string += ' ****************************************************************************/\n'
+ header_string += '#pragma once\n\n'
+ header_string += '#ifndef _INTRINSIC_EXTENSION_HEADER_H_\n'
+ header_string += '#define _INTRINSIC_EXTENSION_HEADER_H_\n\n'
+ header_file.write(header_string)
+
+ symbol_name_list = []
+
+ for i in glsl_files:
+ glsl_contents = open(i,"r").read()
+
+ filename = os.path.basename(i)
+ symbol_name = filename.split(".")[0]
+ symbol_name_list.append(symbol_name)
+ header_name = symbol_name + ".h"
+ header_str = 'std::string %s_GLSL = R"(\n%s\n)";\n' % (symbol_name, glsl_contents)
+ header_str += '\n'
+ header_file.write(header_str)
+
+ contents = ''
+ contents += '\n'
+ contents += 'std::string getIntrinsic(const char* const* shaders, int n) {\n'
+ contents += '\tstd::string shaderString = "";\n';
+
+ contents += '\tfor (int i = 0; i < n; i++) {\n'
+
+ for symbol_name in symbol_name_list:
+ contents += '\t\tif (strstr(shaders[i], "%s") != NULL) {\n' % (symbol_name)
+ contents += '\t\t shaderString.append(%s_GLSL);\n' % (symbol_name)
+ contents += '\t\t}\n'
+
+ contents += '\t}\n'
+ contents += '\treturn shaderString;\n';
+ contents += '}\n'
+
+ contents += '\n#endif\n'
+ header_file.write(contents)
+
+def main():
+ if len(sys.argv) < 2:
+ raise Exception("Invalid number of arguments")
+
+ i = 0
+ while i < len(sys.argv):
+ opt = sys.argv[i]
+ i = i + 1
+
+ if opt == "-i" or opt == "-o":
+ if i == len(sys.argv):
+ raise Exception("Expected path after {}".format(opt))
+ val = sys.argv[i]
+ i = i + 1
+ if (opt == "-i"):
+ input_dir = val
+ elif (opt == "-o"):
+ output_file = val
+ else:
+ raise Exception("Unknown flag {}".format(opt))
+
+ glsl_files = glob.glob(input_dir + '/*.glsl')
+
+ # Generate main header
+ generate_main(glsl_files, output_file)
+
+if __name__ == '__main__':
+ main()
\ No newline at end of file
diff --git a/glslang/CInterface/glslang_c_interface.cpp b/glslang/CInterface/glslang_c_interface.cpp
index 2e04f53..47c72fc 100644
--- a/glslang/CInterface/glslang_c_interface.cpp
+++ b/glslang/CInterface/glslang_c_interface.cpp
@@ -244,6 +244,8 @@
return glslang::EShTargetSpv_1_4;
case GLSLANG_TARGET_SPV_1_5:
return glslang::EShTargetSpv_1_5;
+ case GLSLANG_TARGET_SPV_1_6:
+ return glslang::EShTargetSpv_1_6;
default:
break;
}
@@ -269,6 +271,10 @@
switch (client_version) {
case GLSLANG_TARGET_VULKAN_1_1:
return glslang::EShTargetVulkan_1_1;
+ case GLSLANG_TARGET_VULKAN_1_2:
+ return glslang::EShTargetVulkan_1_2;
+ case GLSLANG_TARGET_VULKAN_1_3:
+ return glslang::EShTargetVulkan_1_3;
case GLSLANG_TARGET_OPENGL_450:
return glslang::EShTargetOpenGL_450;
default:
@@ -344,6 +350,34 @@
return shader;
}
+GLSLANG_EXPORT void glslang_shader_shift_binding(glslang_shader_t* shader, glslang_resource_type_t res, unsigned int base)
+{
+ const glslang::TResourceType res_type = glslang::TResourceType(res);
+ shader->shader->setShiftBinding(res_type, base);
+}
+
+GLSLANG_EXPORT void glslang_shader_shift_binding_for_set(glslang_shader_t* shader, glslang_resource_type_t res, unsigned int base, unsigned int set)
+{
+ const glslang::TResourceType res_type = glslang::TResourceType(res);
+ shader->shader->setShiftBindingForSet(res_type, base, set);
+}
+
+GLSLANG_EXPORT void glslang_shader_set_options(glslang_shader_t* shader, int options)
+{
+ if (options & GLSLANG_SHADER_AUTO_MAP_BINDINGS) {
+ shader->shader->setAutoMapBindings(true);
+ }
+
+ if (options & GLSLANG_SHADER_AUTO_MAP_LOCATIONS) {
+ shader->shader->setAutoMapLocations(true);
+ }
+
+ if (options & GLSLANG_SHADER_VULKAN_RULES_RELAXED) {
+ shader->shader->setEnvInputVulkanRulesRelaxed();
+ }
+
+}
+
GLSLANG_EXPORT const char* glslang_shader_get_preprocessed_code(glslang_shader_t* shader)
{
return shader->preprocessedGLSL.c_str();
@@ -417,6 +451,11 @@
return (int)program->program->link((EShMessages)messages);
}
+GLSLANG_EXPORT int glslang_program_map_io(glslang_program_t* program)
+{
+ return (int)program->program->mapIO();
+}
+
GLSLANG_EXPORT const char* glslang_program_get_info_log(glslang_program_t* program)
{
return program->program->getInfoLog();
diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt
index dab5f8b..d0394c8 100644
--- a/glslang/CMakeLists.txt
+++ b/glslang/CMakeLists.txt
@@ -35,14 +35,14 @@
add_subdirectory(OSDependent/Windows)
elseif(UNIX OR "${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia")
add_subdirectory(OSDependent/Unix)
-else(WIN32)
+else()
message("unknown platform")
-endif(WIN32)
+endif()
if(EMSCRIPTEN OR ENABLE_GLSLANG_JS)
# May be enabled on non-Emscripten builds for binary-size testing.
add_subdirectory(OSDependent/Web)
-endif(EMSCRIPTEN OR ENABLE_GLSLANG_JS)
+endif()
################################################################################
# GenericCodeGen
@@ -129,7 +129,7 @@
HLSL/hlslTokenStream.h
HLSL/hlslGrammar.h
HLSL/hlslParseables.h)
-endif(ENABLE_HLSL)
+endif()
add_library(MachineIndependent STATIC ${MACHINEINDEPENDENT_SOURCES} ${MACHINEINDEPENDENT_HEADERS})
set_property(TARGET MachineIndependent PROPERTY POSITION_INDEPENDENT_CODE ON)
@@ -194,7 +194,7 @@
source_group("MachineIndependent\\Preprocessor" REGULAR_EXPRESSION "MachineIndependent/preprocessor/*")
source_group("HLSL" REGULAR_EXPRESSION "HLSL/*")
source_group("CInterface" REGULAR_EXPRESSION "CInterface/*")
-endif(WIN32)
+endif()
################################################################################
# install
@@ -225,4 +225,4 @@
install(FILES ${GLSLANG_BUILD_INFO_H} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glslang)
-endif(ENABLE_GLSLANG_INSTALL)
+endif()
diff --git a/glslang/ExtensionHeaders/GL_EXT_shader_realtime_clock.glsl b/glslang/ExtensionHeaders/GL_EXT_shader_realtime_clock.glsl
new file mode 100644
index 0000000..7cf545d
--- /dev/null
+++ b/glslang/ExtensionHeaders/GL_EXT_shader_realtime_clock.glsl
@@ -0,0 +1,38 @@
+//
+// Copyright (C) 2002-2005 3Dlabs Inc. Ltd.
+// Copyright (C) 2013-2016 LunarG, Inc.
+// Copyright (C) 2016-2020 Google, Inc.
+// Modifications Copyright(C) 2021 Advanced Micro Devices, Inc.All rights reserved.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+//
+// Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//
+// Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following
+// disclaimer in the documentation and/or other materials provided
+// with the distribution.
+//
+// Neither the name of 3Dlabs Inc. Ltd. nor the names of its
+// contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+//
+
diff --git a/glslang/HLSL/hlslParseHelper.cpp b/glslang/HLSL/hlslParseHelper.cpp
index d62f392..2d0a8e9 100644
--- a/glslang/HLSL/hlslParseHelper.cpp
+++ b/glslang/HLSL/hlslParseHelper.cpp
@@ -2167,8 +2167,21 @@
TIntermSymbol* arg = intermediate.addSymbol(*argVars.back());
handleFunctionArgument(&callee, callingArgs, arg);
if (param.type->getQualifier().isParamInput()) {
- intermediate.growAggregate(synthBody, handleAssign(loc, EOpAssign, arg,
- intermediate.addSymbol(**inputIt)));
+ TIntermTyped* input = intermediate.addSymbol(**inputIt);
+ if (input->getType().getQualifier().builtIn == EbvFragCoord && intermediate.getDxPositionW()) {
+ // Replace FragCoord W with reciprocal
+ auto pos_xyz = handleDotDereference(loc, input, "xyz");
+ auto pos_w = handleDotDereference(loc, input, "w");
+ auto one = intermediate.addConstantUnion(1.0, EbtFloat, loc);
+ auto recip_w = intermediate.addBinaryMath(EOpDiv, one, pos_w, loc);
+ TIntermAggregate* dst = new TIntermAggregate(EOpConstructVec4);
+ dst->getSequence().push_back(pos_xyz);
+ dst->getSequence().push_back(recip_w);
+ dst->setType(TType(EbtFloat, EvqTemporary, 4));
+ dst->setLoc(loc);
+ input = dst;
+ }
+ intermediate.growAggregate(synthBody, handleAssign(loc, EOpAssign, arg, input));
inputIt++;
}
if (param.type->getQualifier().storage == EvqUniform) {
@@ -2452,6 +2465,62 @@
arguments = newArg;
}
+// FragCoord may require special loading: we can optionally reciprocate W.
+TIntermTyped* HlslParseContext::assignFromFragCoord(const TSourceLoc& loc, TOperator op,
+ TIntermTyped* left, TIntermTyped* right)
+{
+ // If we are not asked for reciprocal W, use a plain old assign.
+ if (!intermediate.getDxPositionW())
+ return intermediate.addAssign(op, left, right, loc);
+
+ // If we get here, we should reciprocate W.
+ TIntermAggregate* assignList = nullptr;
+
+ // If this is a complex rvalue, we don't want to dereference it many times. Create a temporary.
+ TVariable* rhsTempVar = nullptr;
+ rhsTempVar = makeInternalVariable("@fragcoord", right->getType());
+ rhsTempVar->getWritableType().getQualifier().makeTemporary();
+
+ {
+ TIntermTyped* rhsTempSym = intermediate.addSymbol(*rhsTempVar, loc);
+ assignList = intermediate.growAggregate(assignList,
+ intermediate.addAssign(EOpAssign, rhsTempSym, right, loc), loc);
+ }
+
+ // tmp.w = 1.0 / tmp.w
+ {
+ const int W = 3;
+
+ TIntermTyped* tempSymL = intermediate.addSymbol(*rhsTempVar, loc);
+ TIntermTyped* tempSymR = intermediate.addSymbol(*rhsTempVar, loc);
+ TIntermTyped* index = intermediate.addConstantUnion(W, loc);
+
+ TIntermTyped* lhsElement = intermediate.addIndex(EOpIndexDirect, tempSymL, index, loc);
+ TIntermTyped* rhsElement = intermediate.addIndex(EOpIndexDirect, tempSymR, index, loc);
+
+ const TType derefType(right->getType(), 0);
+
+ lhsElement->setType(derefType);
+ rhsElement->setType(derefType);
+
+ auto one = intermediate.addConstantUnion(1.0, EbtFloat, loc);
+ auto recip_w = intermediate.addBinaryMath(EOpDiv, one, rhsElement, loc);
+
+ assignList = intermediate.growAggregate(assignList, intermediate.addAssign(EOpAssign, lhsElement, recip_w, loc));
+ }
+
+ // Assign the rhs temp (now with W reciprocal) to the final output
+ {
+ TIntermTyped* rhsTempSym = intermediate.addSymbol(*rhsTempVar, loc);
+ assignList = intermediate.growAggregate(assignList, intermediate.addAssign(op, left, rhsTempSym, loc));
+ }
+
+ assert(assignList != nullptr);
+ assignList->setOperator(EOpSequence);
+
+ return assignList;
+}
+
// Position may require special handling: we can optionally invert Y.
// See: https://github.com/KhronosGroup/glslang/issues/1173
// https://github.com/KhronosGroup/glslang/issues/494
@@ -3071,6 +3140,10 @@
subSplitLeft, subSplitRight);
assignList = intermediate.growAggregate(assignList, clipCullAssign, loc);
+ } else if (subSplitRight->getType().getQualifier().builtIn == EbvFragCoord) {
+ // FragCoord can require special handling: see comment above assignFromFragCoord
+ TIntermTyped* fragCoordAssign = assignFromFragCoord(loc, op, subSplitLeft, subSplitRight);
+ assignList = intermediate.growAggregate(assignList, fragCoordAssign, loc);
} else if (assignsClipPos(subSplitLeft)) {
// Position can require special handling: see comment above assignPosition
TIntermTyped* positionAssign = assignPosition(loc, op, subSplitLeft, subSplitRight);
@@ -4017,12 +4090,12 @@
txsample->getSequence().push_back(txcombine);
txsample->getSequence().push_back(argCoord);
- if (argBias != nullptr)
- txsample->getSequence().push_back(argBias);
-
if (argOffset != nullptr)
txsample->getSequence().push_back(argOffset);
+ if (argBias != nullptr)
+ txsample->getSequence().push_back(argBias);
+
node = convertReturn(txsample, sampler);
break;
@@ -6689,12 +6762,6 @@
//
// Merge characteristics of the 'src' qualifier into the 'dst'.
-// If there is duplication, issue error messages, unless 'force'
-// is specified, which means to just override default settings.
-//
-// Also, when force is false, it will be assumed that 'src' follows
-// 'dst', for the purpose of error checking order for versions
-// that require specific orderings of qualifiers.
//
void HlslParseContext::mergeQualifiers(TQualifier& dst, const TQualifier& src)
{
@@ -6712,8 +6779,7 @@
mergeObjectLayoutQualifiers(dst, src, false);
// individual qualifiers
- bool repeated = false;
-#define MERGE_SINGLETON(field) repeated |= dst.field && src.field; dst.field |= src.field;
+#define MERGE_SINGLETON(field) dst.field |= src.field;
MERGE_SINGLETON(invariant);
MERGE_SINGLETON(noContraction);
MERGE_SINGLETON(centroid);
@@ -6942,6 +7008,9 @@
if (lhs.isStruct() != rhs.isStruct())
return false;
+ if (lhs.getQualifier().builtIn != rhs.getQualifier().builtIn)
+ return false;
+
if (lhs.isStruct() && rhs.isStruct()) {
if (lhs.getStruct()->size() != rhs.getStruct()->size())
return false;
diff --git a/glslang/HLSL/hlslParseHelper.h b/glslang/HLSL/hlslParseHelper.h
index 2d7165c..8bebb0e 100644
--- a/glslang/HLSL/hlslParseHelper.h
+++ b/glslang/HLSL/hlslParseHelper.h
@@ -94,6 +94,7 @@
TIntermTyped* handleFunctionCall(const TSourceLoc&, TFunction*, TIntermTyped*);
TIntermAggregate* assignClipCullDistance(const TSourceLoc&, TOperator, int semanticId, TIntermTyped* left, TIntermTyped* right);
TIntermTyped* assignPosition(const TSourceLoc&, TOperator, TIntermTyped* left, TIntermTyped* right);
+ TIntermTyped* assignFromFragCoord(const TSourceLoc&, TOperator, TIntermTyped* left, TIntermTyped* right);
void decomposeIntrinsic(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments);
void decomposeSampleMethods(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments);
void decomposeStructBufferMethods(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments);
diff --git a/glslang/HLSL/hlslParseables.cpp b/glslang/HLSL/hlslParseables.cpp
index 4673b46..15918dc 100644
--- a/glslang/HLSL/hlslParseables.cpp
+++ b/glslang/HLSL/hlslParseables.cpp
@@ -665,8 +665,8 @@
{ "Sample", /*!O*/ "V4", nullptr, "%@,S,V", "FIU,S,F", EShLangPS, true },
{ "Sample", /* O*/ "V4", nullptr, "%@,S,V,", "FIU,S,F,I", EShLangPS, true },
- { "SampleBias", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,S,F,", EShLangPS, true },
- { "SampleBias", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,S,F,,I", EShLangPS, true },
+ { "SampleBias", /*!O*/ "V4", nullptr, "%@,S,V,S", "FIU,S,F,F", EShLangPS, true },
+ { "SampleBias", /* O*/ "V4", nullptr, "%@,S,V,S,V", "FIU,S,F,F,I", EShLangPS, true },
// TODO: FXC accepts int/uint samplers here. unclear what that means.
{ "SampleCmp", /*!O*/ "S", "F", "%@,S,V,S", "FIU,s,F,", EShLangPS, true },
diff --git a/glslang/Include/BaseTypes.h b/glslang/Include/BaseTypes.h
index 1d9da12..c8203c2 100644
--- a/glslang/Include/BaseTypes.h
+++ b/glslang/Include/BaseTypes.h
@@ -270,6 +270,7 @@
EbvWorldToObject,
EbvWorldToObject3x4,
EbvIncomingRayFlags,
+ EbvCurrentRayTimeNV,
// barycentrics
EbvBaryCoordNV,
EbvBaryCoordNoPerspNV,
@@ -475,6 +476,7 @@
case EbvIncomingRayFlags: return "IncomingRayFlagsNV";
case EbvObjectToWorld: return "ObjectToWorldNV";
case EbvWorldToObject: return "WorldToObjectNV";
+ case EbvCurrentRayTimeNV: return "CurrentRayTimeNV";
case EbvBaryCoordNV: return "BaryCoordNV";
case EbvBaryCoordNoPerspNV: return "BaryCoordNoPerspNV";
diff --git a/glslang/Include/Common.h b/glslang/Include/Common.h
index 1e47239..9042a1a 100644
--- a/glslang/Include/Common.h
+++ b/glslang/Include/Common.h
@@ -39,6 +39,11 @@
#include <algorithm>
#include <cassert>
+#ifdef _MSC_VER
+#include <cfloat>
+#else
+#include <cmath>
+#endif
#include <cstdio>
#include <cstdlib>
#include <list>
@@ -61,7 +66,7 @@
}
#endif
-#if (defined(_MSC_VER) && _MSC_VER < 1900 /*vs2015*/) || defined MINGW_HAS_SECURE_API
+#if (defined(_MSC_VER) && _MSC_VER < 1900 /*vs2015*/) || MINGW_HAS_SECURE_API
#include <basetsd.h>
#ifndef snprintf
#define snprintf sprintf_s
@@ -213,7 +218,7 @@
//
// Create a TString object from an integer.
//
-#if defined _MSC_VER || defined MINGW_HAS_SECURE_API
+#if defined _MSC_VER || MINGW_HAS_SECURE_API
inline const TString String(const int i, const int base = 10)
{
char text[16]; // 32 bit ints are at most 10 digits in base 10
@@ -302,6 +307,34 @@
return result;
}
+inline bool IsInfinity(double x) {
+#ifdef _MSC_VER
+ switch (_fpclass(x)) {
+ case _FPCLASS_NINF:
+ case _FPCLASS_PINF:
+ return true;
+ default:
+ return false;
+ }
+#else
+ return std::isinf(x);
+#endif
+}
+
+inline bool IsNan(double x) {
+#ifdef _MSC_VER
+ switch (_fpclass(x)) {
+ case _FPCLASS_SNAN:
+ case _FPCLASS_QNAN:
+ return true;
+ default:
+ return false;
+ }
+#else
+ return std::isnan(x);
+#endif
+}
+
} // end namespace glslang
#endif // _COMMON_INCLUDED_
diff --git a/glslang/Include/PoolAlloc.h b/glslang/Include/PoolAlloc.h
index b8eccb8..1f5cac7 100644
--- a/glslang/Include/PoolAlloc.h
+++ b/glslang/Include/PoolAlloc.h
@@ -306,6 +306,8 @@
TPoolAllocator& getAllocator() const { return allocator; }
+ pool_allocator select_on_container_copy_construction() const { return pool_allocator{}; }
+
protected:
pool_allocator& operator=(const pool_allocator&) { return *this; }
TPoolAllocator& allocator;
diff --git a/glslang/Include/SpirvIntrinsics.h b/glslang/Include/SpirvIntrinsics.h
index e7a999d..3c7d72c 100644
--- a/glslang/Include/SpirvIntrinsics.h
+++ b/glslang/Include/SpirvIntrinsics.h
@@ -65,7 +65,7 @@
// spirv_execution_mode
TMap<int, TVector<const TIntermConstantUnion*>> modes;
// spirv_execution_mode_id
- TMap<int, TVector<const TIntermConstantUnion*> > modeIds;
+ TMap<int, TVector<const TIntermTyped*> > modeIds;
};
// SPIR-V decorations
@@ -75,7 +75,7 @@
// spirv_decorate
TMap<int, TVector<const TIntermConstantUnion*> > decorates;
// spirv_decorate_id
- TMap<int, TVector<const TIntermConstantUnion*> > decorateIds;
+ TMap<int, TVector<const TIntermTyped*>> decorateIds;
// spirv_decorate_string
TMap<int, TVector<const TIntermConstantUnion*> > decorateStrings;
};
@@ -98,20 +98,12 @@
struct TSpirvTypeParameter {
POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator())
- TSpirvTypeParameter(const TIntermConstantUnion* arg) { isConstant = true; constant = arg; }
- TSpirvTypeParameter(const TType* arg) { isConstant = false; type = arg; }
+ TSpirvTypeParameter(const TIntermConstantUnion* arg) { constant = arg; }
- bool operator==(const TSpirvTypeParameter& rhs) const
- {
- return isConstant == rhs.isConstant && ((isConstant && constant == rhs.constant) || (!isConstant && type == rhs.type));
- }
+ bool operator==(const TSpirvTypeParameter& rhs) const { return constant == rhs.constant; }
bool operator!=(const TSpirvTypeParameter& rhs) const { return !operator==(rhs); }
- bool isConstant;
- union {
- const TIntermConstantUnion* constant;
- const TType* type;
- };
+ const TIntermConstantUnion* constant;
};
typedef TVector<TSpirvTypeParameter> TSpirvTypeParameters;
diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h
index a6bf191..6a7e61d 100644
--- a/glslang/Include/Types.h
+++ b/glslang/Include/Types.h
@@ -741,6 +741,16 @@
}
}
+ bool isUniform() const
+ {
+ switch (storage) {
+ case EvqUniform:
+ return true;
+ default:
+ return false;
+ }
+ }
+
bool isIo() const
{
switch (storage) {
@@ -1855,10 +1865,12 @@
bool isAtomic() const { return false; }
bool isCoopMat() const { return false; }
bool isReference() const { return false; }
+ bool isSpirvType() const { return false; }
#else
bool isAtomic() const { return basicType == EbtAtomicUint; }
bool isCoopMat() const { return coopmat; }
bool isReference() const { return getBasicType() == EbtReference; }
+ bool isSpirvType() const { return getBasicType() == EbtSpirvType; }
#endif
// return true if this type contains any subtype which satisfies the given predicate.
@@ -2434,11 +2446,15 @@
//
bool sameStructType(const TType& right) const
{
+ // TODO: Why return true when neither types are structures?
// Most commonly, they are both nullptr, or the same pointer to the same actual structure
if ((!isStruct() && !right.isStruct()) ||
(isStruct() && right.isStruct() && structure == right.structure))
return true;
+ if (!isStruct() || !right.isStruct())
+ return false;
+
// Structure names have to match
if (*typeName != *right.typeName)
return false;
@@ -2448,8 +2464,7 @@
bool isGLPerVertex = *typeName == "gl_PerVertex";
// Both being nullptr was caught above, now they both have to be structures of the same number of elements
- if (!isStruct() || !right.isStruct() ||
- (structure->size() != right.structure->size() && !isGLPerVertex))
+ if (structure->size() != right.structure->size() && !isGLPerVertex)
return false;
// Compare the names and types of all the members, which have to match
@@ -2459,6 +2474,14 @@
if (*(*structure)[li].type != *(*right.structure)[ri].type)
return false;
} else {
+ // Skip hidden members
+ if ((*structure)[li].type->hiddenMember()) {
+ ri--;
+ continue;
+ } else if ((*right.structure)[ri].type->hiddenMember()) {
+ li--;
+ continue;
+ }
// If one of the members is something that's inconsistently declared, skip over it
// for now.
if (isGLPerVertex) {
@@ -2475,10 +2498,10 @@
}
// If we get here, then there should only be inconsistently declared members left
} else if (li < structure->size()) {
- if (!isInconsistentGLPerVertexMember((*structure)[li].type->getFieldName()))
+ if (!(*structure)[li].type->hiddenMember() && !isInconsistentGLPerVertexMember((*structure)[li].type->getFieldName()))
return false;
} else {
- if (!isInconsistentGLPerVertexMember((*right.structure)[ri].type->getFieldName()))
+ if (!(*right.structure)[ri].type->hiddenMember() && !isInconsistentGLPerVertexMember((*right.structure)[ri].type->getFieldName()))
return false;
}
}
diff --git a/glslang/Include/glslang_c_interface.h b/glslang/Include/glslang_c_interface.h
index 4b32e2b..14ab6ac 100644
--- a/glslang/Include/glslang_c_interface.h
+++ b/glslang/Include/glslang_c_interface.h
@@ -224,6 +224,9 @@
GLSLANG_EXPORT glslang_shader_t* glslang_shader_create(const glslang_input_t* input);
GLSLANG_EXPORT void glslang_shader_delete(glslang_shader_t* shader);
+GLSLANG_EXPORT void glslang_shader_shift_binding(glslang_shader_t* shader, glslang_resource_type_t res, unsigned int base);
+GLSLANG_EXPORT void glslang_shader_shift_binding_for_set(glslang_shader_t* shader, glslang_resource_type_t res, unsigned int base, unsigned int set);
+GLSLANG_EXPORT void glslang_shader_set_options(glslang_shader_t* shader, int options); // glslang_shader_options_t
GLSLANG_EXPORT int glslang_shader_preprocess(glslang_shader_t* shader, const glslang_input_t* input);
GLSLANG_EXPORT int glslang_shader_parse(glslang_shader_t* shader, const glslang_input_t* input);
GLSLANG_EXPORT const char* glslang_shader_get_preprocessed_code(glslang_shader_t* shader);
@@ -234,6 +237,7 @@
GLSLANG_EXPORT void glslang_program_delete(glslang_program_t* program);
GLSLANG_EXPORT void glslang_program_add_shader(glslang_program_t* program, glslang_shader_t* shader);
GLSLANG_EXPORT int glslang_program_link(glslang_program_t* program, int messages); // glslang_messages_t
+GLSLANG_EXPORT int glslang_program_map_io(glslang_program_t* program);
GLSLANG_EXPORT void glslang_program_SPIRV_generate(glslang_program_t* program, glslang_stage_t stage);
GLSLANG_EXPORT size_t glslang_program_SPIRV_get_size(glslang_program_t* program);
GLSLANG_EXPORT void glslang_program_SPIRV_get(glslang_program_t* program, unsigned int*);
diff --git a/glslang/Include/glslang_c_shader_types.h b/glslang/Include/glslang_c_shader_types.h
index f100a9a..df19777 100644
--- a/glslang/Include/glslang_c_shader_types.h
+++ b/glslang/Include/glslang_c_shader_types.h
@@ -101,8 +101,9 @@
GLSLANG_TARGET_VULKAN_1_0 = (1 << 22),
GLSLANG_TARGET_VULKAN_1_1 = (1 << 22) | (1 << 12),
GLSLANG_TARGET_VULKAN_1_2 = (1 << 22) | (2 << 12),
+ GLSLANG_TARGET_VULKAN_1_3 = (1 << 22) | (3 << 12),
GLSLANG_TARGET_OPENGL_450 = 450,
- LAST_ELEMENT_MARKER(GLSLANG_TARGET_CLIENT_VERSION_COUNT = 4),
+ LAST_ELEMENT_MARKER(GLSLANG_TARGET_CLIENT_VERSION_COUNT = 5),
} glslang_target_client_version_t;
/* SH_TARGET_LanguageVersion counterpart */
@@ -113,7 +114,8 @@
GLSLANG_TARGET_SPV_1_3 = (1 << 16) | (3 << 8),
GLSLANG_TARGET_SPV_1_4 = (1 << 16) | (4 << 8),
GLSLANG_TARGET_SPV_1_5 = (1 << 16) | (5 << 8),
- LAST_ELEMENT_MARKER(GLSLANG_TARGET_LANGUAGE_VERSION_COUNT = 6),
+ GLSLANG_TARGET_SPV_1_6 = (1 << 16) | (6 << 8),
+ LAST_ELEMENT_MARKER(GLSLANG_TARGET_LANGUAGE_VERSION_COUNT = 7),
} glslang_target_language_version_t;
/* EShExecutable counterpart */
@@ -181,6 +183,26 @@
LAST_ELEMENT_MARKER(GLSLANG_PROFILE_COUNT),
} glslang_profile_t;
+/* Shader options */
+typedef enum {
+ GLSLANG_SHADER_DEFAULT_BIT = 0,
+ GLSLANG_SHADER_AUTO_MAP_BINDINGS = (1 << 0),
+ GLSLANG_SHADER_AUTO_MAP_LOCATIONS = (1 << 1),
+ GLSLANG_SHADER_VULKAN_RULES_RELAXED = (1 << 2),
+ LAST_ELEMENT_MARKER(GLSLANG_SHADER_COUNT),
+} glslang_shader_options_t;
+
+/* TResourceType counterpart */
+typedef enum {
+ GLSLANG_RESOURCE_TYPE_SAMPLER,
+ GLSLANG_RESOURCE_TYPE_TEXTURE,
+ GLSLANG_RESOURCE_TYPE_IMAGE,
+ GLSLANG_RESOURCE_TYPE_UBO,
+ GLSLANG_RESOURCE_TYPE_SSBO,
+ GLSLANG_RESOURCE_TYPE_UAV,
+ LAST_ELEMENT_MARKER(GLSLANG_RESOURCE_TYPE_COUNT),
+} glslang_resource_type_t;
+
#undef LAST_ELEMENT_MARKER
#endif
diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h
index 172c09c..595bd62 100644
--- a/glslang/Include/intermediate.h
+++ b/glslang/Include/intermediate.h
@@ -926,6 +926,7 @@
EOpMul32x16,
EOpTraceNV,
+ EOpTraceRayMotionNV,
EOpTraceKHR,
EOpReportIntersection,
EOpIgnoreIntersectionNV,
@@ -1642,6 +1643,7 @@
~TIntermAggregate() { delete pragmaTable; }
virtual TIntermAggregate* getAsAggregate() { return this; }
virtual const TIntermAggregate* getAsAggregate() const { return this; }
+ virtual void updatePrecision();
virtual void setOperator(TOperator o) { op = o; }
virtual TIntermSequence& getSequence() { return sequence; }
virtual const TIntermSequence& getSequence() const { return sequence; }
diff --git a/glslang/MachineIndependent/Constant.cpp b/glslang/MachineIndependent/Constant.cpp
index 4629cc2..5fc61db 100644
--- a/glslang/MachineIndependent/Constant.cpp
+++ b/glslang/MachineIndependent/Constant.cpp
@@ -46,35 +46,6 @@
using namespace glslang;
-typedef union {
- double d;
- int i[2];
-} DoubleIntUnion;
-
-// Some helper functions
-
-bool isNan(double x)
-{
- DoubleIntUnion u;
- // tough to find a platform independent library function, do it directly
- u.d = x;
- int bitPatternL = u.i[0];
- int bitPatternH = u.i[1];
- return (bitPatternH & 0x7ff80000) == 0x7ff80000 &&
- ((bitPatternH & 0xFFFFF) != 0 || bitPatternL != 0);
-}
-
-bool isInf(double x)
-{
- DoubleIntUnion u;
- // tough to find a platform independent library function, do it directly
- u.d = x;
- int bitPatternL = u.i[0];
- int bitPatternH = u.i[1];
- return (bitPatternH & 0x7ff00000) == 0x7ff00000 &&
- (bitPatternH & 0xFFFFF) == 0 && bitPatternL == 0;
-}
-
const double pi = 3.1415926535897932384626433832795;
} // end anonymous namespace
@@ -531,7 +502,7 @@
case EbtFloat: newConstArray[i].setDConst(-unionArray[i].getDConst()); break;
// Note: avoid UBSAN error regarding negating 0x80000000
case EbtInt: newConstArray[i].setIConst(
- unionArray[i].getIConst() == 0x80000000
+ static_cast<unsigned int>(unionArray[i].getIConst()) == 0x80000000
? -0x7FFFFFFF - 1
: -unionArray[i].getIConst());
break;
@@ -663,12 +634,12 @@
case EOpIsNan:
{
- newConstArray[i].setBConst(isNan(unionArray[i].getDConst()));
+ newConstArray[i].setBConst(IsNan(unionArray[i].getDConst()));
break;
}
case EOpIsInf:
{
- newConstArray[i].setBConst(isInf(unionArray[i].getDConst()));
+ newConstArray[i].setBConst(IsInfinity(unionArray[i].getDConst()));
break;
}
diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp
index a79925d..03fdce9 100644
--- a/glslang/MachineIndependent/Initialize.cpp
+++ b/glslang/MachineIndependent/Initialize.cpp
@@ -3,7 +3,7 @@
// Copyright (C) 2012-2016 LunarG, Inc.
// Copyright (C) 2015-2020 Google, Inc.
// Copyright (C) 2017 ARM Limited.
-// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved.
+// Modifications Copyright (C) 2020-2021 Advanced Micro Devices, Inc. All rights reserved.
//
// All rights reserved.
//
@@ -316,6 +316,7 @@
{ EOpTextureQuerySize, "textureSize", nullptr },
{ EOpTextureQueryLod, "textureQueryLod", nullptr },
+ { EOpTextureQueryLod, "textureQueryLOD", nullptr }, // extension GL_ARB_texture_query_lod
{ EOpTextureQueryLevels, "textureQueryLevels", nullptr },
{ EOpTextureQuerySamples, "textureSamples", nullptr },
{ EOpTexture, "texture", nullptr },
@@ -1864,6 +1865,22 @@
"\n");
}
+ if (profile != EEsProfile && version == 450) {
+ commonBuiltins.append(
+ "uint atomicCounterAddARB(atomic_uint, uint);"
+ "uint atomicCounterSubtractARB(atomic_uint, uint);"
+ "uint atomicCounterMinARB(atomic_uint, uint);"
+ "uint atomicCounterMaxARB(atomic_uint, uint);"
+ "uint atomicCounterAndARB(atomic_uint, uint);"
+ "uint atomicCounterOrARB(atomic_uint, uint);"
+ "uint atomicCounterXorARB(atomic_uint, uint);"
+ "uint atomicCounterExchangeARB(atomic_uint, uint);"
+ "uint atomicCounterCompSwapARB(atomic_uint, uint, uint);"
+
+ "\n");
+ }
+
+
if (profile != EEsProfile && version >= 460) {
commonBuiltins.append(
"uint atomicCounterAdd(atomic_uint, uint);"
@@ -4143,106 +4160,6 @@
"u16vec4 unpack16(uint64_t);"
"i32vec2 unpack32(int64_t);"
"u32vec2 unpack32(uint64_t);"
-
- "float64_t radians(float64_t);"
- "f64vec2 radians(f64vec2);"
- "f64vec3 radians(f64vec3);"
- "f64vec4 radians(f64vec4);"
-
- "float64_t degrees(float64_t);"
- "f64vec2 degrees(f64vec2);"
- "f64vec3 degrees(f64vec3);"
- "f64vec4 degrees(f64vec4);"
-
- "float64_t sin(float64_t);"
- "f64vec2 sin(f64vec2);"
- "f64vec3 sin(f64vec3);"
- "f64vec4 sin(f64vec4);"
-
- "float64_t cos(float64_t);"
- "f64vec2 cos(f64vec2);"
- "f64vec3 cos(f64vec3);"
- "f64vec4 cos(f64vec4);"
-
- "float64_t tan(float64_t);"
- "f64vec2 tan(f64vec2);"
- "f64vec3 tan(f64vec3);"
- "f64vec4 tan(f64vec4);"
-
- "float64_t asin(float64_t);"
- "f64vec2 asin(f64vec2);"
- "f64vec3 asin(f64vec3);"
- "f64vec4 asin(f64vec4);"
-
- "float64_t acos(float64_t);"
- "f64vec2 acos(f64vec2);"
- "f64vec3 acos(f64vec3);"
- "f64vec4 acos(f64vec4);"
-
- "float64_t atan(float64_t, float64_t);"
- "f64vec2 atan(f64vec2, f64vec2);"
- "f64vec3 atan(f64vec3, f64vec3);"
- "f64vec4 atan(f64vec4, f64vec4);"
-
- "float64_t atan(float64_t);"
- "f64vec2 atan(f64vec2);"
- "f64vec3 atan(f64vec3);"
- "f64vec4 atan(f64vec4);"
-
- "float64_t sinh(float64_t);"
- "f64vec2 sinh(f64vec2);"
- "f64vec3 sinh(f64vec3);"
- "f64vec4 sinh(f64vec4);"
-
- "float64_t cosh(float64_t);"
- "f64vec2 cosh(f64vec2);"
- "f64vec3 cosh(f64vec3);"
- "f64vec4 cosh(f64vec4);"
-
- "float64_t tanh(float64_t);"
- "f64vec2 tanh(f64vec2);"
- "f64vec3 tanh(f64vec3);"
- "f64vec4 tanh(f64vec4);"
-
- "float64_t asinh(float64_t);"
- "f64vec2 asinh(f64vec2);"
- "f64vec3 asinh(f64vec3);"
- "f64vec4 asinh(f64vec4);"
-
- "float64_t acosh(float64_t);"
- "f64vec2 acosh(f64vec2);"
- "f64vec3 acosh(f64vec3);"
- "f64vec4 acosh(f64vec4);"
-
- "float64_t atanh(float64_t);"
- "f64vec2 atanh(f64vec2);"
- "f64vec3 atanh(f64vec3);"
- "f64vec4 atanh(f64vec4);"
-
- "float64_t pow(float64_t, float64_t);"
- "f64vec2 pow(f64vec2, f64vec2);"
- "f64vec3 pow(f64vec3, f64vec3);"
- "f64vec4 pow(f64vec4, f64vec4);"
-
- "float64_t exp(float64_t);"
- "f64vec2 exp(f64vec2);"
- "f64vec3 exp(f64vec3);"
- "f64vec4 exp(f64vec4);"
-
- "float64_t log(float64_t);"
- "f64vec2 log(f64vec2);"
- "f64vec3 log(f64vec3);"
- "f64vec4 log(f64vec4);"
-
- "float64_t exp2(float64_t);"
- "f64vec2 exp2(f64vec2);"
- "f64vec3 exp2(f64vec3);"
- "f64vec4 exp2(f64vec4);"
-
- "float64_t log2(float64_t);"
- "f64vec2 log2(f64vec2);"
- "f64vec3 log2(f64vec3);"
- "f64vec4 log2(f64vec4);"
"\n");
}
@@ -4353,7 +4270,7 @@
//
//============================================================================
- if (profile != EEsProfile && version >= 400) {
+ if (profile != EEsProfile && (version >= 400 || version == 150)) {
stageBuiltins[EShLangGeometry].append(
"void EmitStreamVertex(int);"
"void EndStreamPrimitive(int);"
@@ -4637,7 +4554,7 @@
"\n");
}
- // GL_ARB_shader_clock & GL_EXT_shader_realtime_clock
+ // GL_ARB_shader_clock& GL_EXT_shader_realtime_clock
if (profile != EEsProfile && version >= 450) {
commonBuiltins.append(
"uvec2 clock2x32ARB();"
@@ -4661,7 +4578,7 @@
"\n");
}
- // Builtins for GL_NV_ray_tracing/GL_EXT_ray_tracing/GL_EXT_ray_query
+ // Builtins for GL_NV_ray_tracing/GL_NV_ray_tracing_motion_blur/GL_EXT_ray_tracing/GL_EXT_ray_query
if (profile != EEsProfile && version >= 460) {
commonBuiltins.append("void rayQueryInitializeEXT(rayQueryEXT, accelerationStructureEXT, uint, uint, vec3, float, vec3, float);"
"void rayQueryTerminateEXT(rayQueryEXT);"
@@ -4690,6 +4607,7 @@
stageBuiltins[EShLangRayGen].append(
"void traceNV(accelerationStructureNV,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
+ "void traceRayMotionNV(accelerationStructureNV,uint,uint,uint,uint,uint,vec3,float,vec3,float,float,int);"
"void traceRayEXT(accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
"void executeCallableNV(uint, int);"
"void executeCallableEXT(uint, int);"
@@ -4704,12 +4622,14 @@
"\n");
stageBuiltins[EShLangClosestHit].append(
"void traceNV(accelerationStructureNV,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
+ "void traceRayMotionNV(accelerationStructureNV,uint,uint,uint,uint,uint,vec3,float,vec3,float,float,int);"
"void traceRayEXT(accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
"void executeCallableNV(uint, int);"
"void executeCallableEXT(uint, int);"
"\n");
stageBuiltins[EShLangMiss].append(
"void traceNV(accelerationStructureNV,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
+ "void traceRayMotionNV(accelerationStructureNV,uint,uint,uint,uint,uint,vec3,float,vec3,float,float,int);"
"void traceRayEXT(accelerationStructureEXT,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
"void executeCallableNV(uint, int);"
"void executeCallableEXT(uint, int);"
@@ -5155,9 +5075,13 @@
);
}
- if (version >= 450)
+ if (version >= 430)
stageBuiltins[EShLangVertex].append(
"out int gl_ViewportMask[];" // GL_NV_viewport_array2
+ );
+
+ if (version >= 450)
+ stageBuiltins[EShLangVertex].append(
"out int gl_SecondaryViewportMaskNV[];" // GL_NV_stereo_view_rendering
"out vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering
"out vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes
@@ -5293,9 +5217,13 @@
"in int gl_InvocationID;"
);
- if (version >= 450)
+ if (version >= 430)
stageBuiltins[EShLangGeometry].append(
"out int gl_ViewportMask[];" // GL_NV_viewport_array2
+ );
+
+ if (version >= 450)
+ stageBuiltins[EShLangGeometry].append(
"out int gl_SecondaryViewportMaskNV[];" // GL_NV_stereo_view_rendering
"out vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering
"out vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes
@@ -5371,7 +5299,13 @@
if (version >= 450)
stageBuiltins[EShLangTessControl].append(
"float gl_CullDistance[];"
+ );
+ if (version >= 430)
+ stageBuiltins[EShLangTessControl].append(
"int gl_ViewportMask[];" // GL_NV_viewport_array2
+ );
+ if (version >= 450)
+ stageBuiltins[EShLangTessControl].append(
"vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering
"int gl_SecondaryViewportMaskNV[];" // GL_NV_stereo_view_rendering
"vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes
@@ -5474,9 +5408,13 @@
"out int gl_Layer;"
"\n");
- if (version >= 450)
+ if (version >= 430)
stageBuiltins[EShLangTessEvaluation].append(
"out int gl_ViewportMask[];" // GL_NV_viewport_array2
+ );
+
+ if (version >= 450)
+ stageBuiltins[EShLangTessEvaluation].append(
"out vec4 gl_SecondaryPositionNV;" // GL_NV_stereo_view_rendering
"out int gl_SecondaryViewportMaskNV[];" // GL_NV_stereo_view_rendering
"out vec4 gl_PositionPerViewNV[];" // GL_NVX_multiview_per_view_attributes
@@ -5918,6 +5856,7 @@
"in mat3x4 gl_WorldToObject3x4EXT;"
"in uint gl_IncomingRayFlagsNV;"
"in uint gl_IncomingRayFlagsEXT;"
+ "in float gl_CurrentRayTimeNV;"
"\n";
const char *hitDecls =
"in uvec3 gl_LaunchIDNV;"
@@ -5953,6 +5892,7 @@
"in mat3x4 gl_WorldToObject3x4EXT;"
"in uint gl_IncomingRayFlagsNV;"
"in uint gl_IncomingRayFlagsEXT;"
+ "in float gl_CurrentRayTimeNV;"
"\n";
const char *missDecls =
"in uvec3 gl_LaunchIDNV;"
@@ -5971,6 +5911,7 @@
"in float gl_RayTmaxEXT;"
"in uint gl_IncomingRayFlagsNV;"
"in uint gl_IncomingRayFlagsEXT;"
+ "in float gl_CurrentRayTimeNV;"
"\n";
const char *callableDecls =
@@ -6307,38 +6248,44 @@
//
// textureQueryLod(), fragment stage only
// Also enabled with extension GL_ARB_texture_query_lod
+ // Extension GL_ARB_texture_query_lod says that textureQueryLOD() also exist at extension.
if (profile != EEsProfile && version >= 150 && sampler.isCombined() && sampler.dim != EsdRect &&
! sampler.isMultiSample() && ! sampler.isBuffer()) {
- for (int f16TexAddr = 0; f16TexAddr < 2; ++f16TexAddr) {
- if (f16TexAddr && sampler.type != EbtFloat16)
- continue;
- stageBuiltins[EShLangFragment].append("vec2 textureQueryLod(");
- stageBuiltins[EShLangFragment].append(typeName);
- if (dimMap[sampler.dim] == 1)
- if (f16TexAddr)
- stageBuiltins[EShLangFragment].append(", float16_t");
- else
- stageBuiltins[EShLangFragment].append(", float");
- else {
- if (f16TexAddr)
- stageBuiltins[EShLangFragment].append(", f16vec");
- else
- stageBuiltins[EShLangFragment].append(", vec");
- stageBuiltins[EShLangFragment].append(postfixes[dimMap[sampler.dim]]);
- }
- stageBuiltins[EShLangFragment].append(");\n");
- }
- stageBuiltins[EShLangCompute].append("vec2 textureQueryLod(");
- stageBuiltins[EShLangCompute].append(typeName);
- if (dimMap[sampler.dim] == 1)
- stageBuiltins[EShLangCompute].append(", float");
- else {
- stageBuiltins[EShLangCompute].append(", vec");
- stageBuiltins[EShLangCompute].append(postfixes[dimMap[sampler.dim]]);
+ const TString funcName[2] = {"vec2 textureQueryLod(", "vec2 textureQueryLOD("};
+
+ for (int i = 0; i < 2; ++i){
+ for (int f16TexAddr = 0; f16TexAddr < 2; ++f16TexAddr) {
+ if (f16TexAddr && sampler.type != EbtFloat16)
+ continue;
+ stageBuiltins[EShLangFragment].append(funcName[i]);
+ stageBuiltins[EShLangFragment].append(typeName);
+ if (dimMap[sampler.dim] == 1)
+ if (f16TexAddr)
+ stageBuiltins[EShLangFragment].append(", float16_t");
+ else
+ stageBuiltins[EShLangFragment].append(", float");
+ else {
+ if (f16TexAddr)
+ stageBuiltins[EShLangFragment].append(", f16vec");
+ else
+ stageBuiltins[EShLangFragment].append(", vec");
+ stageBuiltins[EShLangFragment].append(postfixes[dimMap[sampler.dim]]);
+ }
+ stageBuiltins[EShLangFragment].append(");\n");
+ }
+
+ stageBuiltins[EShLangCompute].append(funcName[i]);
+ stageBuiltins[EShLangCompute].append(typeName);
+ if (dimMap[sampler.dim] == 1)
+ stageBuiltins[EShLangCompute].append(", float");
+ else {
+ stageBuiltins[EShLangCompute].append(", vec");
+ stageBuiltins[EShLangCompute].append(postfixes[dimMap[sampler.dim]]);
+ }
+ stageBuiltins[EShLangCompute].append(");\n");
}
- stageBuiltins[EShLangCompute].append(");\n");
}
//
@@ -7679,6 +7626,11 @@
symQualifier.builtIn = builtIn;
}
+static void RetargetVariable(const char* from, const char* to, TSymbolTable& symbolTable)
+{
+ symbolTable.retargetSymbol(from, to);
+}
+
//
// For built-in variables inside a named block.
// SpecialQualifier() won't ever go inside a block; their member's qualifier come
@@ -7746,8 +7698,8 @@
if (spvVersion.vulkan > 0 && spvVersion.vulkanRelaxed) {
// treat these built-ins as aliases of VertexIndex and InstanceIndex
- BuiltInVariable("gl_VertexID", EbvVertexIndex, symbolTable);
- BuiltInVariable("gl_InstanceID", EbvInstanceIndex, symbolTable);
+ RetargetVariable("gl_InstanceID", "gl_InstanceIndex", symbolTable);
+ RetargetVariable("gl_VertexID", "gl_VertexIndex", symbolTable);
}
if (profile != EEsProfile) {
@@ -8118,7 +8070,7 @@
}
if (profile != EEsProfile && version < 400) {
- symbolTable.setFunctionExtensions("textureQueryLod", 1, &E_GL_ARB_texture_query_lod);
+ symbolTable.setFunctionExtensions("textureQueryLOD", 1, &E_GL_ARB_texture_query_lod);
}
if (profile != EEsProfile && version >= 460) {
@@ -8261,6 +8213,19 @@
symbolTable.setFunctionExtensions("atomicCounter" , 1, &E_GL_ARB_shader_atomic_counters);
}
+ // E_GL_ARB_shader_atomic_counter_ops
+ if (profile != EEsProfile && version == 450) {
+ symbolTable.setFunctionExtensions("atomicCounterAddARB" , 1, &E_GL_ARB_shader_atomic_counter_ops);
+ symbolTable.setFunctionExtensions("atomicCounterSubtractARB", 1, &E_GL_ARB_shader_atomic_counter_ops);
+ symbolTable.setFunctionExtensions("atomicCounterMinARB" , 1, &E_GL_ARB_shader_atomic_counter_ops);
+ symbolTable.setFunctionExtensions("atomicCounterMaxARB" , 1, &E_GL_ARB_shader_atomic_counter_ops);
+ symbolTable.setFunctionExtensions("atomicCounterAndARB" , 1, &E_GL_ARB_shader_atomic_counter_ops);
+ symbolTable.setFunctionExtensions("atomicCounterOrARB" , 1, &E_GL_ARB_shader_atomic_counter_ops);
+ symbolTable.setFunctionExtensions("atomicCounterXorARB" , 1, &E_GL_ARB_shader_atomic_counter_ops);
+ symbolTable.setFunctionExtensions("atomicCounterExchangeARB", 1, &E_GL_ARB_shader_atomic_counter_ops);
+ symbolTable.setFunctionExtensions("atomicCounterCompSwapARB", 1, &E_GL_ARB_shader_atomic_counter_ops);
+ }
+
// E_GL_ARB_derivative_control
if (profile != EEsProfile && version < 450) {
symbolTable.setFunctionExtensions("dFdxFine", 1, &E_GL_ARB_derivative_control);
@@ -8368,7 +8333,7 @@
symbolTable.setFunctionExtensions("clockARB", 1, &E_GL_ARB_shader_clock);
symbolTable.setFunctionExtensions("clock2x32ARB", 1, &E_GL_ARB_shader_clock);
- symbolTable.setFunctionExtensions("clockRealtimeEXT", 1, &E_GL_EXT_shader_realtime_clock);
+ symbolTable.setFunctionExtensions("clockRealtimeEXT", 1, &E_GL_EXT_shader_realtime_clock);
symbolTable.setFunctionExtensions("clockRealtime2x32EXT", 1, &E_GL_EXT_shader_realtime_clock);
if (profile == EEsProfile && version < 320) {
@@ -8388,10 +8353,11 @@
}
if (profile != EEsProfile && version < 330 ) {
- symbolTable.setFunctionExtensions("floatBitsToInt", 1, &E_GL_ARB_shader_bit_encoding);
- symbolTable.setFunctionExtensions("floatBitsToUint", 1, &E_GL_ARB_shader_bit_encoding);
- symbolTable.setFunctionExtensions("intBitsToFloat", 1, &E_GL_ARB_shader_bit_encoding);
- symbolTable.setFunctionExtensions("uintBitsToFloat", 1, &E_GL_ARB_shader_bit_encoding);
+ const char* bitsConvertExt[2] = {E_GL_ARB_shader_bit_encoding, E_GL_ARB_gpu_shader5};
+ symbolTable.setFunctionExtensions("floatBitsToInt", 2, bitsConvertExt);
+ symbolTable.setFunctionExtensions("floatBitsToUint", 2, bitsConvertExt);
+ symbolTable.setFunctionExtensions("intBitsToFloat", 2, bitsConvertExt);
+ symbolTable.setFunctionExtensions("uintBitsToFloat", 2, bitsConvertExt);
}
if (profile != EEsProfile && version < 430 ) {
@@ -8789,11 +8755,13 @@
symbolTable.setVariableExtensions("gl_WorldToObject3x4EXT", 1, &E_GL_EXT_ray_tracing);
symbolTable.setVariableExtensions("gl_IncomingRayFlagsNV", 1, &E_GL_NV_ray_tracing);
symbolTable.setVariableExtensions("gl_IncomingRayFlagsEXT", 1, &E_GL_EXT_ray_tracing);
+ symbolTable.setVariableExtensions("gl_CurrentRayTimeNV", 1, &E_GL_NV_ray_tracing_motion_blur);
symbolTable.setVariableExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group);
symbolTable.setFunctionExtensions("traceNV", 1, &E_GL_NV_ray_tracing);
+ symbolTable.setFunctionExtensions("traceRayMotionNV", 1, &E_GL_NV_ray_tracing_motion_blur);
symbolTable.setFunctionExtensions("traceRayEXT", 1, &E_GL_EXT_ray_tracing);
symbolTable.setFunctionExtensions("reportIntersectionNV", 1, &E_GL_NV_ray_tracing);
symbolTable.setFunctionExtensions("reportIntersectionEXT", 1, &E_GL_EXT_ray_tracing);
@@ -8837,6 +8805,7 @@
BuiltInVariable("gl_IncomingRayFlagsNV", EbvIncomingRayFlags, symbolTable);
BuiltInVariable("gl_IncomingRayFlagsEXT", EbvIncomingRayFlags, symbolTable);
BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable);
+ BuiltInVariable("gl_CurrentRayTimeNV", EbvCurrentRayTimeNV, symbolTable);
// GL_ARB_shader_ballot
symbolTable.setVariableExtensions("gl_SubGroupSizeARB", 1, &E_GL_ARB_shader_ballot);
@@ -9261,6 +9230,18 @@
symbolTable.relateToOperator("clockRealtimeEXT", EOpReadClockDeviceKHR);
symbolTable.relateToOperator("clockRealtime2x32EXT", EOpReadClockDeviceKHR);
+ if (profile != EEsProfile && version == 450) {
+ symbolTable.relateToOperator("atomicCounterAddARB", EOpAtomicCounterAdd);
+ symbolTable.relateToOperator("atomicCounterSubtractARB", EOpAtomicCounterSubtract);
+ symbolTable.relateToOperator("atomicCounterMinARB", EOpAtomicCounterMin);
+ symbolTable.relateToOperator("atomicCounterMaxARB", EOpAtomicCounterMax);
+ symbolTable.relateToOperator("atomicCounterAndARB", EOpAtomicCounterAnd);
+ symbolTable.relateToOperator("atomicCounterOrARB", EOpAtomicCounterOr);
+ symbolTable.relateToOperator("atomicCounterXorARB", EOpAtomicCounterXor);
+ symbolTable.relateToOperator("atomicCounterExchangeARB", EOpAtomicCounterExchange);
+ symbolTable.relateToOperator("atomicCounterCompSwapARB", EOpAtomicCounterCompSwap);
+ }
+
if (profile != EEsProfile && version >= 460) {
symbolTable.relateToOperator("atomicCounterAdd", EOpAtomicCounterAdd);
symbolTable.relateToOperator("atomicCounterSubtract", EOpAtomicCounterSubtract);
@@ -9668,6 +9649,7 @@
case EShLangMiss:
if (profile != EEsProfile && version >= 460) {
symbolTable.relateToOperator("traceNV", EOpTraceNV);
+ symbolTable.relateToOperator("traceRayMotionNV", EOpTraceRayMotionNV);
symbolTable.relateToOperator("traceRayEXT", EOpTraceKHR);
symbolTable.relateToOperator("executeCallableNV", EOpExecuteCallableNV);
symbolTable.relateToOperator("executeCallableEXT", EOpExecuteCallableKHR);
diff --git a/glslang/MachineIndependent/Intermediate.cpp b/glslang/MachineIndependent/Intermediate.cpp
index d1123d4..6aea5b3 100644
--- a/glslang/MachineIndependent/Intermediate.cpp
+++ b/glslang/MachineIndependent/Intermediate.cpp
@@ -416,20 +416,24 @@
// TODO: but, did this bypass constant folding?
//
switch (op) {
- case EOpConstructInt8:
- case EOpConstructUint8:
- case EOpConstructInt16:
- case EOpConstructUint16:
- case EOpConstructInt:
- case EOpConstructUint:
- case EOpConstructInt64:
- case EOpConstructUint64:
- case EOpConstructBool:
- case EOpConstructFloat:
- case EOpConstructDouble:
- case EOpConstructFloat16:
- return child;
- default: break; // some compilers want this
+ case EOpConstructInt8:
+ case EOpConstructUint8:
+ case EOpConstructInt16:
+ case EOpConstructUint16:
+ case EOpConstructInt:
+ case EOpConstructUint:
+ case EOpConstructInt64:
+ case EOpConstructUint64:
+ case EOpConstructBool:
+ case EOpConstructFloat:
+ case EOpConstructDouble:
+ case EOpConstructFloat16: {
+ TIntermUnary* unary_node = child->getAsUnaryNode();
+ if (unary_node != nullptr)
+ unary_node->updatePrecision();
+ return child;
+ }
+ default: break; // some compilers want this
}
//
@@ -1739,7 +1743,7 @@
case EbtUint:
switch (from) {
case EbtInt:
- return version >= 400 || getSource() == EShSourceHlsl;
+ return version >= 400 || getSource() == EShSourceHlsl || IsRequestedExtension(E_GL_ARB_gpu_shader5);
case EbtBool:
return getSource() == EShSourceHlsl;
case EbtInt16:
@@ -2676,7 +2680,11 @@
// 'swizzleOkay' says whether or not it is okay to consider a swizzle
// a valid part of the dereference chain.
//
-const TIntermTyped* TIntermediate::findLValueBase(const TIntermTyped* node, bool swizzleOkay)
+// 'BufferReferenceOk' says if type is buffer_reference, the routine stop to find the most left node.
+//
+//
+
+const TIntermTyped* TIntermediate::findLValueBase(const TIntermTyped* node, bool swizzleOkay , bool bufferReferenceOk)
{
do {
const TIntermBinary* binary = node->getAsBinaryNode();
@@ -2694,6 +2702,8 @@
return nullptr;
}
node = node->getAsBinaryNode()->getLeft();
+ if (bufferReferenceOk && node->isReference())
+ return node;
} while (true);
}
@@ -3772,6 +3782,28 @@
// Propagate precision qualifiers *up* from children to parent, and then
// back *down* again to the children's subtrees.
+void TIntermAggregate::updatePrecision()
+{
+ if (getBasicType() == EbtInt || getBasicType() == EbtUint ||
+ getBasicType() == EbtFloat || getBasicType() == EbtFloat16) {
+ TPrecisionQualifier maxPrecision = EpqNone;
+ TIntermSequence operands = getSequence();
+ for (unsigned int i = 0; i < operands.size(); ++i) {
+ TIntermTyped* typedNode = operands[i]->getAsTyped();
+ assert(typedNode);
+ maxPrecision = std::max(maxPrecision, typedNode->getQualifier().precision);
+ }
+ getQualifier().precision = maxPrecision;
+ for (unsigned int i = 0; i < operands.size(); ++i) {
+ TIntermTyped* typedNode = operands[i]->getAsTyped();
+ assert(typedNode);
+ typedNode->propagatePrecision(maxPrecision);
+ }
+ }
+}
+
+// Propagate precision qualifiers *up* from children to parent, and then
+// back *down* again to the children's subtrees.
void TIntermBinary::updatePrecision()
{
if (getBasicType() == EbtInt || getBasicType() == EbtUint ||
@@ -3870,7 +3902,7 @@
case EbtFloat16: PROMOTE(setDConst, double, Get); break; \
case EbtFloat: PROMOTE(setDConst, double, Get); break; \
case EbtDouble: PROMOTE(setDConst, double, Get); break; \
- case EbtInt8: PROMOTE(setI8Const, char, Get); break; \
+ case EbtInt8: PROMOTE(setI8Const, signed char, Get); break; \
case EbtInt16: PROMOTE(setI16Const, short, Get); break; \
case EbtInt: PROMOTE(setIConst, int, Get); break; \
case EbtInt64: PROMOTE(setI64Const, long long, Get); break; \
diff --git a/glslang/MachineIndependent/ParseContextBase.cpp b/glslang/MachineIndependent/ParseContextBase.cpp
index 02cca40..1da50d6 100644
--- a/glslang/MachineIndependent/ParseContextBase.cpp
+++ b/glslang/MachineIndependent/ParseContextBase.cpp
@@ -622,6 +622,19 @@
globalUniformBlock->getWritableType().getQualifier().layoutBinding = globalUniformBinding;
globalUniformBlock->getWritableType().getQualifier().layoutSet = globalUniformSet;
+ // Check for declarations of this default uniform that already exist due to other compilation units.
+ TSymbol* symbol = symbolTable.find(memberName);
+ if (symbol) {
+ if (memberType != symbol->getType()) {
+ TString err;
+ err += "\"" + memberType.getCompleteString() + "\"";
+ err += " versus ";
+ err += "\"" + symbol->getType().getCompleteString() + "\"";
+ error(loc, "Types must match:", memberType.getFieldName().c_str(), err.c_str());
+ }
+ return;
+ }
+
// Add the requested member as a member to the global block.
TType* type = new TType;
type->shallowCopy(memberType);
diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp
index c2b9edc..fa29116 100644
--- a/glslang/MachineIndependent/ParseHelper.cpp
+++ b/glslang/MachineIndependent/ParseHelper.cpp
@@ -327,6 +327,16 @@
block.getQualifier().layoutMatrix = ElmRowMajor;
}
+void TParseContext::setInvariant(const TSourceLoc& loc, const char* builtin) {
+ TSymbol* symbol = symbolTable.find(builtin);
+ if (symbol && symbol->getType().getQualifier().isPipeOutput()) {
+ if (intermediate.inIoAccessed(builtin))
+ warn(loc, "changing qualification after use", "invariant", builtin);
+ TSymbol* csymbol = symbolTable.copyUp(symbol);
+ csymbol->getWritableType().getQualifier().invariant = true;
+ }
+}
+
void TParseContext::handlePragma(const TSourceLoc& loc, const TVector<TString>& tokens)
{
#ifndef GLSLANG_WEB
@@ -404,8 +414,33 @@
intermediate.setUseVariablePointers();
} else if (tokens[0].compare("once") == 0) {
warn(loc, "not implemented", "#pragma once", "");
- } else if (tokens[0].compare("glslang_binary_double_output") == 0)
+ } else if (tokens[0].compare("glslang_binary_double_output") == 0) {
intermediate.setBinaryDoubleOutput();
+ } else if (spvVersion.spv > 0 && tokens[0].compare("STDGL") == 0 &&
+ tokens[1].compare("invariant") == 0 && tokens[3].compare("all") == 0) {
+ intermediate.setInvariantAll();
+ // Set all builtin out variables invariant if declared
+ setInvariant(loc, "gl_Position");
+ setInvariant(loc, "gl_PointSize");
+ setInvariant(loc, "gl_ClipDistance");
+ setInvariant(loc, "gl_CullDistance");
+ setInvariant(loc, "gl_TessLevelOuter");
+ setInvariant(loc, "gl_TessLevelInner");
+ setInvariant(loc, "gl_PrimitiveID");
+ setInvariant(loc, "gl_Layer");
+ setInvariant(loc, "gl_ViewportIndex");
+ setInvariant(loc, "gl_FragDepth");
+ setInvariant(loc, "gl_SampleMask");
+ setInvariant(loc, "gl_ClipVertex");
+ setInvariant(loc, "gl_FrontColor");
+ setInvariant(loc, "gl_BackColor");
+ setInvariant(loc, "gl_FrontSecondaryColor");
+ setInvariant(loc, "gl_BackSecondaryColor");
+ setInvariant(loc, "gl_TexCoord");
+ setInvariant(loc, "gl_FogFragCoord");
+ setInvariant(loc, "gl_FragColor");
+ setInvariant(loc, "gl_FragData");
+ }
#endif
}
@@ -1286,7 +1321,7 @@
// Find it in the symbol table.
//
const TFunction* fnCandidate;
- bool builtIn;
+ bool builtIn {false};
fnCandidate = findFunction(loc, *function, builtIn);
if (fnCandidate) {
// This is a declared function that might map to
@@ -2273,6 +2308,10 @@
if (!(*argp)[10]->getAsConstantUnion())
error(loc, "argument must be compile-time constant", "payload number", "a");
break;
+ case EOpTraceRayMotionNV:
+ if (!(*argp)[11]->getAsConstantUnion())
+ error(loc, "argument must be compile-time constant", "payload number", "a");
+ break;
case EOpTraceKHR:
if (!(*argp)[10]->getAsConstantUnion())
error(loc, "argument must be compile-time constant", "payload number", "a");
@@ -2409,6 +2448,14 @@
arg0->getType().isFloatingDomain()) {
requireExtensions(loc, 1, &E_GL_EXT_shader_atomic_float2, fnCandidate.getName().c_str());
}
+
+ const TIntermTyped* base = TIntermediate::findLValueBase(arg0, true , true);
+ const TType* refType = (base->getType().isReference()) ? base->getType().getReferentType() : nullptr;
+ const TQualifier& qualifier = (refType != nullptr) ? refType->getQualifier() : base->getType().getQualifier();
+ if (qualifier.storage != EvqShared && qualifier.storage != EvqBuffer)
+ error(loc,"Atomic memory function can only be used for shader storage block member or shared variable.",
+ fnCandidate.getName().c_str(), "");
+
break;
}
@@ -2448,6 +2495,8 @@
case EOpEmitStreamVertex:
case EOpEndStreamPrimitive:
+ if (version == 150)
+ requireExtensions(loc, 1, &E_GL_ARB_gpu_shader5, "if the verison is 150 , the EmitStreamVertex and EndStreamPrimitive only support at extension GL_ARB_gpu_shader5");
intermediate.setMultiStream();
break;
@@ -2982,11 +3031,14 @@
//
// Both test, and if necessary spit out an error, to see if the node is really
-// an integer.
+// a 32-bit integer or can implicitly convert to one.
//
void TParseContext::integerCheck(const TIntermTyped* node, const char* token)
{
- if ((node->getBasicType() == EbtInt || node->getBasicType() == EbtUint) && node->isScalar())
+ auto from_type = node->getBasicType();
+ if ((from_type == EbtInt || from_type == EbtUint ||
+ intermediate.canImplicitlyPromote(from_type, EbtInt, EOpNull) ||
+ intermediate.canImplicitlyPromote(from_type, EbtUint, EOpNull)) && node->isScalar())
return;
error(node->getLoc(), "scalar integer expression required", token, "");
@@ -3651,6 +3703,8 @@
profileRequires(loc, ENoProfile, 130, nullptr, "out for stage outputs");
profileRequires(loc, EEsProfile, 300, nullptr, "out for stage outputs");
qualifier.storage = EvqVaryingOut;
+ if (intermediate.isInvariantAll())
+ qualifier.invariant = true;
break;
case EvqInOut:
qualifier.storage = EvqVaryingIn;
@@ -3667,7 +3721,7 @@
if (blockName == nullptr &&
qualifier.layoutPacking == ElpStd430)
{
- error(loc, "it is invalid to declare std430 qualifier on uniform", "", "");
+ requireExtensions(loc, 1, &E_GL_EXT_scalar_block_layout, "default std430 layout for uniform");
}
break;
default:
@@ -6158,11 +6212,13 @@
#ifndef GLSLANG_WEB
if (qualifier.hasXfbOffset() && qualifier.hasXfbBuffer()) {
- int repeated = intermediate.addXfbBufferOffset(type);
- if (repeated >= 0)
- error(loc, "overlapping offsets at", "xfb_offset", "offset %d in buffer %d", repeated, qualifier.layoutXfbBuffer);
- if (type.isUnsizedArray())
+ if (type.isUnsizedArray()) {
error(loc, "unsized array", "xfb_offset", "in buffer %d", qualifier.layoutXfbBuffer);
+ } else {
+ int repeated = intermediate.addXfbBufferOffset(type);
+ if (repeated >= 0)
+ error(loc, "overlapping offsets at", "xfb_offset", "offset %d in buffer %d", repeated, qualifier.layoutXfbBuffer);
+ }
// "The offset must be a multiple of the size of the first component of the first
// qualified variable or block member, or a compile-time error results. Further, if applied to an aggregate
@@ -6444,6 +6500,8 @@
error(loc, "can only be used with a uniform", "push_constant", "");
if (qualifier.hasSet())
error(loc, "cannot be used with push_constant", "set", "");
+ if (qualifier.hasBinding())
+ error(loc, "cannot be used with push_constant", "binding", "");
}
if (qualifier.hasBufferReference()) {
if (qualifier.storage != EvqBuffer)
@@ -6598,8 +6656,10 @@
: findFunctionExact(loc, call, builtIn));
else if (version < 120)
function = findFunctionExact(loc, call, builtIn);
- else if (version < 400)
- function = extensionTurnedOn(E_GL_ARB_gpu_shader_fp64) ? findFunction400(loc, call, builtIn) : findFunction120(loc, call, builtIn);
+ else if (version < 400) {
+ bool needfindFunction400 = extensionTurnedOn(E_GL_ARB_gpu_shader_fp64) || extensionTurnedOn(E_GL_ARB_gpu_shader5);
+ function = needfindFunction400 ? findFunction400(loc, call, builtIn) : findFunction120(loc, call, builtIn);
+ }
else if (explicitTypesEnabled)
function = findFunctionExplicitTypes(loc, call, builtIn);
else
@@ -7642,7 +7702,13 @@
return nullptr;
}
- return intermediate.setAggregateOperator(aggrNode, op, type, loc);
+ TIntermTyped *ret_node = intermediate.setAggregateOperator(aggrNode, op, type, loc);
+
+ TIntermAggregate *agg_node = ret_node->getAsAggregate();
+ if (agg_node && (agg_node->isVector() || agg_node->isArray() || agg_node->isMatrix()))
+ agg_node->updatePrecision();
+
+ return ret_node;
}
// Function for constructor implementation. Calls addUnaryMath with appropriate EOp value
@@ -9188,11 +9254,14 @@
// "it is an error to have no statement between a label and the end of the switch statement."
// The specifications were updated to remove this (being ill-defined what a "statement" was),
// so, this became a warning. However, 3.0 tests still check for the error.
- if (isEsProfile() && version <= 300 && ! relaxedErrors())
+ if (isEsProfile() && (version <= 300 || version >= 320) && ! relaxedErrors())
+ error(loc, "last case/default label not followed by statements", "switch", "");
+ else if (!isEsProfile() && (version <= 430 || version >= 460))
error(loc, "last case/default label not followed by statements", "switch", "");
else
warn(loc, "last case/default label not followed by statements", "switch", "");
+
// emulate a break for error recovery
lastStatements = intermediate.makeAggregate(intermediate.addBranch(EOpBreak, loc));
lastStatements->setOperator(EOpSequence);
diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h
index c9e6334..885fd90 100644
--- a/glslang/MachineIndependent/ParseHelper.h
+++ b/glslang/MachineIndependent/ParseHelper.h
@@ -241,6 +241,7 @@
// override this to set the language-specific name
virtual const char* getAtomicCounterBlockName() const { return ""; }
virtual void setAtomicCounterBlockDefaults(TType&) const {}
+ virtual void setInvariant(const TSourceLoc&, const char*) {}
virtual void finalizeAtomicCounterBlockLayout(TVariable&) {}
bool isAtomicCounterBlock(const TSymbol& symbol) {
const TVariable* var = symbol.getAsVariable();
@@ -471,7 +472,7 @@
// Determine loop control from attributes
void handleLoopAttributes(const TAttributes& attributes, TIntermNode*);
// Function attributes
- void handleFunctionAttributes(const TSourceLoc&, const TAttributes&, TFunction*);
+ void handleFunctionAttributes(const TSourceLoc&, const TAttributes&);
// GL_EXT_spirv_intrinsics
TSpirvRequirement* makeSpirvRequirement(const TSourceLoc& loc, const TString& name,
@@ -479,7 +480,6 @@
TSpirvRequirement* mergeSpirvRequirements(const TSourceLoc& loc, TSpirvRequirement* spirvReq1,
TSpirvRequirement* spirvReq2);
TSpirvTypeParameters* makeSpirvTypeParameters(const TSourceLoc& loc, const TIntermConstantUnion* constant);
- TSpirvTypeParameters* makeSpirvTypeParameters(const TPublicType& type);
TSpirvTypeParameters* mergeSpirvTypeParameters(TSpirvTypeParameters* spirvTypeParams1,
TSpirvTypeParameters* spirvTypeParams2);
TSpirvInstruction* makeSpirvInstruction(const TSourceLoc& loc, const TString& name, const TString& value);
@@ -511,6 +511,7 @@
virtual const char* getAtomicCounterBlockName() const override;
virtual void finalizeAtomicCounterBlockLayout(TVariable&) override;
virtual void setAtomicCounterBlockDefaults(TType& block) const override;
+ virtual void setInvariant(const TSourceLoc& loc, const char* builtin) override;
public:
//
diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp
index d02eae6..bcf2c33 100644
--- a/glslang/MachineIndependent/ShaderLang.cpp
+++ b/glslang/MachineIndependent/ShaderLang.cpp
@@ -1343,7 +1343,6 @@
glslang::GetGlobalLock();
++NumberOfClients;
- glslang::ReleaseGlobalLock();
if (PerProcessGPA == nullptr)
PerProcessGPA = new TPoolAllocator();
@@ -1353,6 +1352,7 @@
glslang::HlslScanContext::fillInKeywordMap();
#endif
+ glslang::ReleaseGlobalLock();
return 1;
}
@@ -1415,9 +1415,10 @@
--NumberOfClients;
assert(NumberOfClients >= 0);
bool finalize = NumberOfClients == 0;
- glslang::ReleaseGlobalLock();
- if (! finalize)
+ if (! finalize) {
+ glslang::ReleaseGlobalLock();
return 1;
+ }
for (int version = 0; version < VersionCount; ++version) {
for (int spvVersion = 0; spvVersion < SpvVersionCount; ++spvVersion) {
@@ -1455,6 +1456,7 @@
glslang::HlslScanContext::deleteKeywordMap();
#endif
+ glslang::ReleaseGlobalLock();
return 1;
}
@@ -1827,6 +1829,7 @@
}
void TShader::setInvertY(bool invert) { intermediate->setInvertY(invert); }
+void TShader::setDxPositionW(bool invert) { intermediate->setDxPositionW(invert); }
void TShader::setNanMinMaxClamp(bool useNonNan) { intermediate->setNanMinMaxClamp(useNonNan); }
#ifndef GLSLANG_WEB
diff --git a/glslang/MachineIndependent/SpirvIntrinsics.cpp b/glslang/MachineIndependent/SpirvIntrinsics.cpp
index 38094ea..6650f7d 100644
--- a/glslang/MachineIndependent/SpirvIntrinsics.cpp
+++ b/glslang/MachineIndependent/SpirvIntrinsics.cpp
@@ -130,11 +130,11 @@
spirvExecutionMode = new TSpirvExecutionMode;
assert(args);
- TVector<const TIntermConstantUnion*> extraOperands;
+ TVector<const TIntermTyped*> extraOperands;
for (auto arg : args->getSequence()) {
- auto extraOperand = arg->getAsConstantUnion();
- assert(extraOperand != nullptr);
+ auto extraOperand = arg->getAsTyped();
+ assert(extraOperand != nullptr && extraOperand->getQualifier().isConstant());
extraOperands.push_back(extraOperand);
}
spirvExecutionMode->modeIds[executionMode] = extraOperands;
@@ -165,10 +165,10 @@
spirvDecorate = new TSpirvDecorate;
assert(args);
- TVector<const TIntermConstantUnion*> extraOperands;
+ TVector<const TIntermTyped*> extraOperands;
for (auto arg : args->getSequence()) {
- auto extraOperand = arg->getAsConstantUnion();
- assert(extraOperand != nullptr);
+ auto extraOperand = arg->getAsTyped();
+ assert(extraOperand != nullptr && extraOperand->getQualifier().isConstant());
extraOperands.push_back(extraOperand);
}
spirvDecorate->decorateIds[decoration] = extraOperands;
@@ -201,25 +201,27 @@
const auto appendBool = [&](bool b) { qualifierString.append(std::to_string(b).c_str()); };
const auto appendStr = [&](const char* s) { qualifierString.append(s); };
- const auto appendDecorate = [&](const TIntermConstantUnion* constant) {
+ const auto appendDecorate = [&](const TIntermTyped* constant) {
+ auto& constArray = constant->getAsConstantUnion() != nullptr ? constant->getAsConstantUnion()->getConstArray()
+ : constant->getAsSymbolNode()->getConstArray();
if (constant->getBasicType() == EbtFloat) {
- float value = static_cast<float>(constant->getConstArray()[0].getDConst());
+ float value = static_cast<float>(constArray[0].getDConst());
appendFloat(value);
}
else if (constant->getBasicType() == EbtInt) {
- int value = constant->getConstArray()[0].getIConst();
+ int value = constArray[0].getIConst();
appendInt(value);
}
else if (constant->getBasicType() == EbtUint) {
- unsigned value = constant->getConstArray()[0].getUConst();
+ unsigned value = constArray[0].getUConst();
appendUint(value);
}
else if (constant->getBasicType() == EbtBool) {
- bool value = constant->getConstArray()[0].getBConst();
+ bool value = constArray[0].getBConst();
appendBool(value);
}
else if (constant->getBasicType() == EbtString) {
- const TString* value = constant->getConstArray()[0].getSConst();
+ const TString* value = constArray[0].getSConst();
appendStr(value->c_str());
}
else
@@ -290,13 +292,6 @@
return spirvTypeParams;
}
-TSpirvTypeParameters* TParseContext::makeSpirvTypeParameters(const TPublicType& type)
-{
- TSpirvTypeParameters* spirvTypeParams = new TSpirvTypeParameters;
- spirvTypeParams->push_back(TSpirvTypeParameter(new TType(type)));
- return spirvTypeParams;
-}
-
TSpirvTypeParameters* TParseContext::mergeSpirvTypeParameters(TSpirvTypeParameters* spirvTypeParams1, TSpirvTypeParameters* spirvTypeParams2)
{
// Merge SPIR-V type parameters of the second one to the first one
diff --git a/glslang/MachineIndependent/SymbolTable.cpp b/glslang/MachineIndependent/SymbolTable.cpp
index 747b436..a3ffa0c 100644
--- a/glslang/MachineIndependent/SymbolTable.cpp
+++ b/glslang/MachineIndependent/SymbolTable.cpp
@@ -279,8 +279,14 @@
//
TSymbolTableLevel::~TSymbolTableLevel()
{
- for (tLevel::iterator it = level.begin(); it != level.end(); ++it)
- delete (*it).second;
+ for (tLevel::iterator it = level.begin(); it != level.end(); ++it) {
+ const TString& name = it->first;
+ auto retargetIter = std::find_if(retargetedSymbols.begin(), retargetedSymbols.end(),
+ [&name](const std::pair<TString, TString>& i) { return i.first == name; });
+ if (retargetIter == retargetedSymbols.end())
+ delete (*it).second;
+ }
+
delete [] defaultPrecision;
}
@@ -418,6 +424,10 @@
TSymbolTableLevel *symTableLevel = new TSymbolTableLevel();
symTableLevel->anonId = anonId;
symTableLevel->thisLevel = thisLevel;
+ symTableLevel->retargetedSymbols.clear();
+ for (auto &s : retargetedSymbols) {
+ symTableLevel->retargetedSymbols.push_back({s.first, s.second});
+ }
std::vector<bool> containerCopied(anonId, false);
tLevel::const_iterator iter;
for (iter = level.begin(); iter != level.end(); ++iter) {
@@ -433,8 +443,21 @@
symTableLevel->insert(*container, false);
containerCopied[anon->getAnonId()] = true;
}
- } else
+ } else {
+ const TString& name = iter->first;
+ auto retargetIter = std::find_if(retargetedSymbols.begin(), retargetedSymbols.end(),
+ [&name](const std::pair<TString, TString>& i) { return i.first == name; });
+ if (retargetIter != retargetedSymbols.end())
+ continue;
symTableLevel->insert(*iter->second->clone(), false);
+ }
+ }
+ // Now point retargeted symbols to the newly created versions of them
+ for (auto &s : retargetedSymbols) {
+ TSymbol* sym = symTableLevel->find(s.second);
+ if (!sym)
+ continue;
+ symTableLevel->insert(s.first, sym);
}
return symTableLevel;
diff --git a/glslang/MachineIndependent/SymbolTable.h b/glslang/MachineIndependent/SymbolTable.h
index 2196093..31312ec 100644
--- a/glslang/MachineIndependent/SymbolTable.h
+++ b/glslang/MachineIndependent/SymbolTable.h
@@ -84,7 +84,7 @@
class TSymbol {
public:
POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator())
- explicit TSymbol(const TString *n) : name(n), extensions(0), writable(true) { }
+ explicit TSymbol(const TString *n) : name(n), uniqueId(0), extensions(0), writable(true) { }
virtual TSymbol* clone() const = 0;
virtual ~TSymbol() { } // rely on all symbol owned memory coming from the pool
@@ -413,13 +413,20 @@
TSymbolTableLevel() : defaultPrecision(0), anonId(0), thisLevel(false) { }
~TSymbolTableLevel();
- bool insert(TSymbol& symbol, bool separateNameSpaces)
+ bool insert(const TString& name, TSymbol* symbol) {
+ return level.insert(tLevelPair(name, symbol)).second;
+ }
+
+ bool insert(TSymbol& symbol, bool separateNameSpaces, const TString& forcedKeyName = TString())
{
//
// returning true means symbol was added to the table with no semantic errors
//
const TString& name = symbol.getName();
- if (name == "") {
+ if (forcedKeyName.length()) {
+ return level.insert(tLevelPair(forcedKeyName, &symbol)).second;
+ }
+ else if (name == "") {
symbol.getAsVariable()->setAnonId(anonId++);
// An empty name means an anonymous container, exposing its members to the external scope.
// Give it a name and insert its members in the symbol table, pointing to the container.
@@ -471,6 +478,16 @@
return true;
}
+ void retargetSymbol(const TString& from, const TString& to) {
+ tLevel::const_iterator fromIt = level.find(from);
+ tLevel::const_iterator toIt = level.find(to);
+ if (fromIt == level.end() || toIt == level.end())
+ return;
+ delete fromIt->second;
+ level[from] = toIt->second;
+ retargetedSymbols.push_back({from, to});
+ }
+
TSymbol* find(const TString& name) const
{
tLevel::const_iterator it = level.find(name);
@@ -583,6 +600,8 @@
tLevel level; // named mappings
TPrecisionQualifier *defaultPrecision;
+ // pair<FromName, ToName>
+ TVector<std::pair<TString, TString>> retargetedSymbols;
int anonId;
bool thisLevel; // True if this level of the symbol table is a structure scope containing member function
// that are supposed to see anonymous access to member variables.
@@ -788,6 +807,12 @@
return symbol;
}
+ void retargetSymbol(const TString& from, const TString& to) {
+ int level = currentLevel();
+ table[level]->retargetSymbol(from, to);
+ }
+
+
// Find of a symbol that returns how many layers deep of nested
// structures-with-member-functions ('this' scopes) deep the symbol was
// found in.
diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp
index 2698dd9..8d96e0e 100644
--- a/glslang/MachineIndependent/Versions.cpp
+++ b/glslang/MachineIndependent/Versions.cpp
@@ -165,7 +165,9 @@
EShTargetLanguageVersion minSpvVersion;
} extensionData;
- const extensionData exts[] = { {E_GL_EXT_ray_tracing, EShTargetSpv_1_4} };
+ const extensionData exts[] = { {E_GL_EXT_ray_tracing, EShTargetSpv_1_4},
+ {E_GL_NV_ray_tracing_motion_blur, EShTargetSpv_1_4}
+ };
for (size_t ii = 0; ii < sizeof(exts) / sizeof(exts[0]); ii++) {
// Add only extensions which require > spv1.0 to save space in map
@@ -198,6 +200,7 @@
extensionBehavior[E_GL_ARB_explicit_uniform_location] = EBhDisable;
extensionBehavior[E_GL_ARB_shader_image_load_store] = EBhDisable;
extensionBehavior[E_GL_ARB_shader_atomic_counters] = EBhDisable;
+ extensionBehavior[E_GL_ARB_shader_atomic_counter_ops] = EBhDisable;
extensionBehavior[E_GL_ARB_shader_draw_parameters] = EBhDisable;
extensionBehavior[E_GL_ARB_shader_group_vote] = EBhDisable;
extensionBehavior[E_GL_ARB_derivative_control] = EBhDisable;
@@ -222,6 +225,9 @@
extensionBehavior[E_GL_ARB_shading_language_packing] = EBhDisable;
extensionBehavior[E_GL_ARB_texture_query_lod] = EBhDisable;
extensionBehavior[E_GL_ARB_vertex_attrib_64bit] = EBhDisable;
+ extensionBehavior[E_GL_ARB_draw_instanced] = EBhDisable;
+ extensionBehavior[E_GL_ARB_fragment_coord_conventions] = EBhDisable;
+
extensionBehavior[E_GL_KHR_shader_subgroup_basic] = EBhDisable;
extensionBehavior[E_GL_KHR_shader_subgroup_vote] = EBhDisable;
@@ -281,6 +287,7 @@
extensionBehavior[E_GL_NV_shader_subgroup_partitioned] = EBhDisable;
extensionBehavior[E_GL_NV_shading_rate_image] = EBhDisable;
extensionBehavior[E_GL_NV_ray_tracing] = EBhDisable;
+ extensionBehavior[E_GL_NV_ray_tracing_motion_blur] = EBhDisable;
extensionBehavior[E_GL_NV_fragment_shader_barycentric] = EBhDisable;
extensionBehavior[E_GL_NV_compute_shader_derivatives] = EBhDisable;
extensionBehavior[E_GL_NV_shader_texture_footprint] = EBhDisable;
@@ -461,6 +468,8 @@
"#define GL_ARB_shader_storage_buffer_object 1\n"
"#define GL_ARB_texture_query_lod 1\n"
"#define GL_ARB_vertex_attrib_64bit 1\n"
+ "#define GL_ARB_draw_instanced 1\n"
+ "#define GL_ARB_fragment_coord_conventions 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"
@@ -478,6 +487,7 @@
"#define GL_EXT_debug_printf 1\n"
"#define GL_EXT_fragment_shading_rate 1\n"
"#define GL_EXT_shared_memory_block 1\n"
+ "#define GL_EXT_shader_integer_mix 1\n"
// GL_KHR_shader_subgroup
"#define GL_KHR_shader_subgroup_basic 1\n"
@@ -518,6 +528,7 @@
"#define GL_NV_shader_subgroup_partitioned 1\n"
"#define GL_NV_shading_rate_image 1\n"
"#define GL_NV_ray_tracing 1\n"
+ "#define GL_NV_ray_tracing_motion_blur 1\n"
"#define GL_NV_fragment_shader_barycentric 1\n"
"#define GL_NV_compute_shader_derivatives 1\n"
"#define GL_NV_shader_texture_footprint 1\n"
diff --git a/glslang/MachineIndependent/Versions.h b/glslang/MachineIndependent/Versions.h
index 2e8cc29..96a6e1f 100644
--- a/glslang/MachineIndependent/Versions.h
+++ b/glslang/MachineIndependent/Versions.h
@@ -136,6 +136,7 @@
const char* const E_GL_ARB_explicit_uniform_location = "GL_ARB_explicit_uniform_location";
const char* const E_GL_ARB_shader_image_load_store = "GL_ARB_shader_image_load_store";
const char* const E_GL_ARB_shader_atomic_counters = "GL_ARB_shader_atomic_counters";
+const char* const E_GL_ARB_shader_atomic_counter_ops = "GL_ARB_shader_atomic_counter_ops";
const char* const E_GL_ARB_shader_draw_parameters = "GL_ARB_shader_draw_parameters";
const char* const E_GL_ARB_shader_group_vote = "GL_ARB_shader_group_vote";
const char* const E_GL_ARB_derivative_control = "GL_ARB_derivative_control";
@@ -160,6 +161,8 @@
const char* const E_GL_ARB_shading_language_packing = "GL_ARB_shading_language_packing";
const char* const E_GL_ARB_texture_query_lod = "GL_ARB_texture_query_lod";
const char* const E_GL_ARB_vertex_attrib_64bit = "GL_ARB_vertex_attrib_64bit";
+const char* const E_GL_ARB_draw_instanced = "GL_ARB_draw_instanced";
+const char* const E_GL_ARB_fragment_coord_conventions = "GL_ARB_fragment_coord_conventions";
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";
@@ -247,6 +250,7 @@
const char* const E_GL_NV_shader_subgroup_partitioned = "GL_NV_shader_subgroup_partitioned";
const char* const E_GL_NV_shading_rate_image = "GL_NV_shading_rate_image";
const char* const E_GL_NV_ray_tracing = "GL_NV_ray_tracing";
+const char* const E_GL_NV_ray_tracing_motion_blur = "GL_NV_ray_tracing_motion_blur";
const char* const E_GL_NV_fragment_shader_barycentric = "GL_NV_fragment_shader_barycentric";
const char* const E_GL_NV_compute_shader_derivatives = "GL_NV_compute_shader_derivatives";
const char* const E_GL_NV_shader_texture_footprint = "GL_NV_shader_texture_footprint";
diff --git a/glslang/MachineIndependent/attribute.cpp b/glslang/MachineIndependent/attribute.cpp
index 8a92f6a..df7fdc2 100644
--- a/glslang/MachineIndependent/attribute.cpp
+++ b/glslang/MachineIndependent/attribute.cpp
@@ -347,7 +347,7 @@
//
// Function attributes
//
-void TParseContext::handleFunctionAttributes(const TSourceLoc& loc, const TAttributes& attributes, TFunction* function)
+void TParseContext::handleFunctionAttributes(const TSourceLoc& loc, const TAttributes& attributes)
{
for (auto it = attributes.begin(); it != attributes.end(); ++it) {
if (it->size() > 0) {
diff --git a/glslang/MachineIndependent/glslang.m4 b/glslang/MachineIndependent/glslang.m4
index 93041ce..d4cc5bc 100644
--- a/glslang/MachineIndependent/glslang.m4
+++ b/glslang/MachineIndependent/glslang.m4
@@ -983,20 +983,20 @@
$$.function = $1;
$$.loc = $2.loc;
parseContext.requireExtensions($2.loc, 1, &E_GL_EXT_subgroup_uniform_control_flow, "attribute");
- parseContext.handleFunctionAttributes($2.loc, *$3, $$.function);
+ parseContext.handleFunctionAttributes($2.loc, *$3);
}
| attribute function_declarator RIGHT_PAREN {
$$.function = $2;
$$.loc = $3.loc;
parseContext.requireExtensions($3.loc, 1, &E_GL_EXT_subgroup_uniform_control_flow, "attribute");
- parseContext.handleFunctionAttributes($3.loc, *$1, $$.function);
+ parseContext.handleFunctionAttributes($3.loc, *$1);
}
| attribute function_declarator RIGHT_PAREN attribute {
$$.function = $2;
$$.loc = $3.loc;
parseContext.requireExtensions($3.loc, 1, &E_GL_EXT_subgroup_uniform_control_flow, "attribute");
- parseContext.handleFunctionAttributes($3.loc, *$1, $$.function);
- parseContext.handleFunctionAttributes($3.loc, *$4, $$.function);
+ parseContext.handleFunctionAttributes($3.loc, *$1);
+ parseContext.handleFunctionAttributes($3.loc, *$4);
}
;
@@ -3926,6 +3926,7 @@
--parseContext.controlFlowNestingLevel;
}
| DO {
+ parseContext.symbolTable.push();
++parseContext.loopNestingLevel;
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
@@ -3937,6 +3938,7 @@
parseContext.boolCheck($8.loc, $6);
$$ = parseContext.intermediate.addLoop($3, $6, 0, false, $4.loc);
+ parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
--parseContext.loopNestingLevel;
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
@@ -4365,9 +4367,6 @@
: constant_expression {
$$ = parseContext.makeSpirvTypeParameters($1->getLoc(), $1->getAsConstantUnion());
}
- | type_specifier {
- $$ = parseContext.makeSpirvTypeParameters($1);
- }
spirv_instruction_qualifier
: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN {
diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y
index b77f461..df53eb5 100644
--- a/glslang/MachineIndependent/glslang.y
+++ b/glslang/MachineIndependent/glslang.y
@@ -983,20 +983,20 @@
$$.function = $1;
$$.loc = $2.loc;
parseContext.requireExtensions($2.loc, 1, &E_GL_EXT_subgroup_uniform_control_flow, "attribute");
- parseContext.handleFunctionAttributes($2.loc, *$3, $$.function);
+ parseContext.handleFunctionAttributes($2.loc, *$3);
}
| attribute function_declarator RIGHT_PAREN {
$$.function = $2;
$$.loc = $3.loc;
parseContext.requireExtensions($3.loc, 1, &E_GL_EXT_subgroup_uniform_control_flow, "attribute");
- parseContext.handleFunctionAttributes($3.loc, *$1, $$.function);
+ parseContext.handleFunctionAttributes($3.loc, *$1);
}
| attribute function_declarator RIGHT_PAREN attribute {
$$.function = $2;
$$.loc = $3.loc;
parseContext.requireExtensions($3.loc, 1, &E_GL_EXT_subgroup_uniform_control_flow, "attribute");
- parseContext.handleFunctionAttributes($3.loc, *$1, $$.function);
- parseContext.handleFunctionAttributes($3.loc, *$4, $$.function);
+ parseContext.handleFunctionAttributes($3.loc, *$1);
+ parseContext.handleFunctionAttributes($3.loc, *$4);
}
;
@@ -3926,6 +3926,7 @@
--parseContext.controlFlowNestingLevel;
}
| DO {
+ parseContext.symbolTable.push();
++parseContext.loopNestingLevel;
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
@@ -3937,6 +3938,7 @@
parseContext.boolCheck($8.loc, $6);
$$ = parseContext.intermediate.addLoop($3, $6, 0, false, $4.loc);
+ parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
--parseContext.loopNestingLevel;
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
@@ -4365,9 +4367,6 @@
: constant_expression {
$$ = parseContext.makeSpirvTypeParameters($1->getLoc(), $1->getAsConstantUnion());
}
- | type_specifier {
- $$ = parseContext.makeSpirvTypeParameters($1);
- }
spirv_instruction_qualifier
: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN {
diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp
index dba06ae..5ba6a6d 100644
--- a/glslang/MachineIndependent/glslang_tab.cpp
+++ b/glslang/MachineIndependent/glslang_tab.cpp
@@ -1034,16 +1034,16 @@
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 442
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 12453
+#define YYLAST 12452
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 455
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 131
/* YYNRULES -- Number of rules. */
-#define YYNRULES 684
+#define YYNRULES 683
/* YYNSTATES -- Number of states. */
-#define YYNSTATES 930
+#define YYNSTATES 929
/* YYMAXUTOK -- Last valid token kind. */
#define YYMAXUTOK 709
@@ -1197,15 +1197,15 @@
3732, 3739, 3739, 3753, 3756, 3764, 3772, 3783, 3784, 3788,
3792, 3800, 3807, 3811, 3819, 3823, 3836, 3840, 3848, 3848,
3868, 3871, 3877, 3889, 3901, 3905, 3913, 3913, 3928, 3928,
- 3944, 3944, 3965, 3968, 3974, 3977, 3983, 3987, 3994, 3999,
- 4004, 4011, 4014, 4018, 4023, 4027, 4037, 4041, 4050, 4053,
- 4057, 4066, 4066, 4108, 4113, 4116, 4121, 4124, 4131, 4134,
- 4139, 4142, 4147, 4150, 4155, 4158, 4163, 4167, 4172, 4176,
- 4181, 4185, 4192, 4195, 4200, 4203, 4206, 4209, 4212, 4217,
- 4226, 4237, 4242, 4250, 4254, 4259, 4263, 4268, 4272, 4277,
- 4281, 4288, 4291, 4296, 4299, 4302, 4305, 4310, 4318, 4328,
- 4332, 4337, 4341, 4346, 4350, 4357, 4360, 4365, 4368, 4373,
- 4376, 4382, 4385, 4390, 4393
+ 3946, 3946, 3967, 3970, 3976, 3979, 3985, 3989, 3996, 4001,
+ 4006, 4013, 4016, 4020, 4025, 4029, 4039, 4043, 4052, 4055,
+ 4059, 4068, 4068, 4110, 4115, 4118, 4123, 4126, 4133, 4136,
+ 4141, 4144, 4149, 4152, 4157, 4160, 4165, 4169, 4174, 4178,
+ 4183, 4187, 4194, 4197, 4202, 4205, 4208, 4211, 4214, 4219,
+ 4228, 4239, 4244, 4252, 4256, 4261, 4265, 4270, 4274, 4279,
+ 4283, 4290, 4293, 4298, 4301, 4304, 4307, 4312, 4320, 4330,
+ 4334, 4339, 4343, 4348, 4352, 4359, 4362, 4367, 4372, 4375,
+ 4381, 4384, 4389, 4392
};
#endif
@@ -1433,7 +1433,7 @@
};
#endif
-#define YYPACT_NINF (-863)
+#define YYPACT_NINF (-859)
#define yypact_value_is_default(Yyn) \
((Yyn) == YYPACT_NINF)
@@ -1447,99 +1447,99 @@
STATE-NUM. */
static const yytype_int16 yypact[] =
{
- 4549, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -260, -182, -177, -163, -130,
- -115, -100, -89, -863, -863, -196, -863, -863, -863, -863,
- -863, -324, -863, -863, -863, -863, -863, -306, -863, -863,
- -863, -863, -863, -863, -77, -66, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -332, -175,
- -153, -161, 7713, -266, -863, -71, -863, -863, -863, -863,
- 5453, -863, -863, -863, -863, -116, -863, -863, 933, -863,
- -863, 7713, -35, -863, -863, -863, 5905, -54, -139, -138,
- -137, -128, -124, -54, -123, -51, 12061, -863, -15, -347,
- -44, -863, -295, -863, -9, -6, 7713, -863, -863, -863,
- 7713, -39, -38, -863, -303, -863, -226, -863, -863, 10762,
- -3, -863, -863, -863, 1, -32, 7713, -863, -5, -8,
- -1, -863, -230, -863, -219, -2, 3, 4, 5, -215,
- 6, 8, 10, 11, 12, 15, -214, 13, 16, 21,
- -134, -863, 17, 7713, -863, 19, -863, -212, -863, -863,
- -211, 9030, -863, -273, 1385, -863, -863, -863, -863, -863,
- -3, -263, -863, 9463, -236, -863, -28, -863, -106, 10762,
- 10762, -863, 10762, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -264, -863, -863, -863, 23, -203, 11195, 25,
- -863, 10762, -863, -863, -311, 24, -6, 29, -863, -309,
- -54, -863, -20, -863, -323, 28, -118, 10762, -112, -863,
- -155, -111, 10762, -103, 35, -98, -54, -863, 11628, -863,
- -94, 10762, 32, -51, -863, 7713, 18, 6357, -863, 7713,
- 10762, -863, -347, -863, 33, -863, -863, -72, -254, -86,
- -297, -68, -13, 26, 20, 50, 49, -300, 42, 9896,
- -863, 43, -863, -863, 55, 58, 60, -863, 65, 71,
- 62, 10329, 73, 10762, 66, 69, 70, 72, 74, -241,
- -863, -863, -41, -863, -175, 83, 85, -863, -863, -863,
- -863, -863, 1837, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, 5001, 24, 9463, -233, 8164, -863, -863, 9463,
- 7713, -863, 51, -863, -863, -863, -194, -863, -863, 10762,
- 52, -863, -863, 10762, 88, -863, -863, -863, 10762, -863,
- -863, -863, -315, -863, -863, -191, 82, -863, -863, -863,
- -863, -863, -863, -190, -863, -187, -863, -863, -186, 86,
- -863, -863, -863, -863, -169, -863, -168, -863, -167, 89,
- -863, -165, 91, -157, 82, -863, 85, -156, -863, 94,
- 98, -863, -863, 18, -3, -40, -863, -863, -863, 6809,
- -863, -863, -863, 10762, 10762, 10762, 10762, 10762, 10762, 10762,
- 10762, 10762, 10762, 10762, 10762, 10762, 10762, 10762, 10762, 10762,
- 10762, 10762, -863, -863, -863, 97, -863, 2289, -863, -863,
- -863, 2289, -863, 10762, -863, -863, -34, 10762, -79, -863,
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, 10762, 10762, -863, -863, -863,
- -863, -863, -863, -863, 9463, -863, -863, -208, -863, 7261,
- -863, -863, 99, 96, -863, -863, -863, -863, -863, -132,
- -131, -863, -307, -863, -323, -863, -323, -863, 10762, 10762,
- -863, -155, -863, -155, -863, 10762, 10762, -863, 93, 35,
- -863, 11628, -863, 10762, -863, -863, -33, 24, 18, -863,
- -863, -863, -863, -863, -72, -72, -254, -254, -86, -86,
- -86, -86, -297, -297, -68, -13, 26, 20, 50, 49,
- 10762, -863, 2289, 4097, 57, 3645, -154, -863, -152, -863,
- -863, -863, -863, -863, 8597, -863, -863, -863, 105, -863,
- 75, -863, -145, -863, -144, -863, -143, -863, -142, -863,
- -141, -140, -863, -863, -863, -27, 100, 96, 76, 106,
- 109, -863, -863, 4097, 107, -863, -863, -863, -863, -863,
- -863, -863, -863, -863, -863, -863, 10762, -863, 101, 2741,
- 10762, -863, 103, 113, 67, 112, 3193, -863, 114, -863,
- 9463, -863, -863, -863, -133, 10762, 2741, 107, -863, -863,
- 2289, -863, 110, 96, -863, -863, 2289, 116, -863, -863
+ 4548, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -312, -274, -244, -212, -208,
+ -201, -181, -169, -859, -859, -194, -859, -859, -859, -859,
+ -859, -285, -859, -859, -859, -859, -859, -317, -859, -859,
+ -859, -859, -859, -859, -132, -73, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -329, -70,
+ -158, -145, 7712, -221, -859, -164, -859, -859, -859, -859,
+ 5452, -859, -859, -859, -859, -68, -859, -859, 932, -859,
+ -859, 7712, -55, -859, -859, -859, 5904, -80, -154, -150,
+ -142, -135, -130, -80, -129, -79, 12060, -859, -45, -354,
+ -76, -859, -308, -859, -43, -40, 7712, -859, -859, -859,
+ 7712, -72, -71, -859, -265, -859, -257, -859, -859, 10761,
+ -39, -859, -859, -859, -35, -69, 7712, -859, -42, -38,
+ -37, -859, -302, -859, -235, -32, -33, -28, -27, -217,
+ -26, -23, -22, -21, -20, -16, -216, -29, -15, -31,
+ -303, -859, -13, 7712, -859, -14, -859, -214, -859, -859,
+ -205, 9029, -859, -279, 1384, -859, -859, -859, -859, -859,
+ -39, -299, -859, 9462, -275, -859, -34, -859, -137, 10761,
+ 10761, -859, 10761, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -248, -859, -859, -859, -3, -203, 11194, -1,
+ -859, 10761, -859, -859, -310, 3, -40, 1, -859, -309,
+ -80, -859, -30, -859, -319, 5, -128, 10761, -124, -859,
+ -157, -122, 10761, -120, 10, -118, -80, -859, 11627, -859,
+ -116, 10761, 7, -79, -859, 7712, -25, 6356, -859, 7712,
+ 10761, -859, -354, -859, -19, -859, -859, -78, -263, -94,
+ -298, -52, -18, -8, -12, 29, 28, -301, 15, 9895,
+ -859, 16, -859, -859, 19, 12, 17, -859, 20, 23,
+ 18, 10328, 24, 10761, 21, 22, 25, 27, 30, -215,
+ -859, -859, -117, -859, -70, 26, 34, -859, -859, -859,
+ -859, -859, 1836, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, 5000, 3, 9462, -264, 8163, -859, -859, 9462,
+ 7712, -859, -11, -859, -859, -859, -195, -859, -859, 10761,
+ -6, -859, -859, 10761, 37, -859, -859, -859, 10761, -859,
+ -859, -859, -322, -859, -859, -192, 35, -859, -859, -859,
+ -859, -859, -859, -179, -859, -178, -859, -859, -177, 32,
+ -859, -859, -859, -859, -175, -859, -174, -859, -167, 36,
+ -859, -166, 38, -165, 35, -859, -163, -859, 45, 46,
+ -859, -859, -25, -39, -115, -859, -859, -859, 6808, -859,
+ -859, -859, 10761, 10761, 10761, 10761, 10761, 10761, 10761, 10761,
+ 10761, 10761, 10761, 10761, 10761, 10761, 10761, 10761, 10761, 10761,
+ 10761, -859, -859, -859, 51, -859, 2288, -859, -859, -859,
+ 2288, -859, 10761, -859, -859, -88, 10761, -63, -859, -859,
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, 10761, 10761, -859, -859, -859, -859,
+ -859, -859, -859, 9462, -859, -859, -108, -859, 7260, -859,
+ -859, 52, 53, -859, -859, -859, -859, -859, -138, -136,
+ -859, -304, -859, -319, -859, -319, -859, 10761, 10761, -859,
+ -157, -859, -157, -859, 10761, 10761, -859, 65, 10, -859,
+ 11627, -859, 10761, -859, -859, -86, 3, -25, -859, -859,
+ -859, -859, -859, -78, -78, -263, -263, -94, -94, -94,
+ -94, -298, -298, -52, -18, -8, -12, 29, 28, 10761,
+ -859, 2288, 4096, 31, 3644, -156, -859, -155, -859, -859,
+ -859, -859, -859, 8596, -859, -859, -859, 66, -859, 39,
+ -859, -153, -859, -151, -859, -148, -859, -146, -859, -144,
+ -143, -859, -859, -859, -61, 64, 53, 40, 72, 74,
+ -859, -859, 4096, 75, -859, -859, -859, -859, -859, -859,
+ -859, -859, -859, -859, -859, 10761, -859, 71, 2740, 10761,
+ -859, 73, 81, 41, 80, 3192, -859, 83, -859, 9462,
+ -859, -859, -859, -141, 10761, 2740, 75, -859, -859, 2288,
+ -859, 78, 53, -859, -859, 2288, 86, -859, -859
};
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1592,7 +1592,7 @@
0, 99, 0, 94, 0, 109, 0, 121, 115, 123,
0, 124, 0, 97, 131, 102, 0, 154, 136, 0,
204, 210, 1, 617, 0, 0, 0, 96, 0, 0,
- 0, 628, 0, 681, 0, 0, 0, 0, 0, 0,
+ 0, 628, 0, 680, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 626,
0, 624, 0, 0, 533, 149, 151, 0, 147, 202,
0, 0, 100, 0, 0, 622, 110, 116, 120, 122,
@@ -1601,7 +1601,7 @@
8, 2, 16, 14, 15, 17, 10, 11, 12, 13,
3, 18, 37, 20, 25, 26, 0, 0, 30, 0,
213, 0, 36, 34, 0, 205, 111, 0, 95, 0,
- 0, 679, 0, 636, 0, 0, 0, 0, 0, 653,
+ 0, 678, 0, 636, 0, 0, 0, 0, 0, 653,
0, 0, 0, 0, 0, 0, 0, 673, 0, 651,
0, 0, 0, 0, 98, 0, 0, 0, 537, 0,
0, 146, 0, 200, 0, 206, 45, 49, 52, 55,
@@ -1613,70 +1613,70 @@
594, 560, 0, 119, 0, 127, 0, 545, 134, 0,
0, 107, 0, 104, 38, 39, 0, 22, 23, 0,
0, 28, 27, 0, 215, 31, 33, 40, 0, 212,
- 112, 683, 0, 684, 629, 0, 0, 682, 648, 644,
+ 112, 682, 0, 683, 629, 0, 0, 681, 648, 644,
645, 646, 647, 0, 642, 0, 93, 649, 0, 0,
663, 664, 665, 666, 0, 661, 0, 667, 0, 0,
- 669, 0, 0, 0, 2, 677, 678, 0, 675, 0,
- 0, 623, 625, 0, 543, 0, 541, 536, 538, 0,
- 150, 148, 203, 0, 0, 0, 0, 0, 0, 0,
+ 669, 0, 0, 0, 2, 677, 0, 675, 0, 0,
+ 623, 625, 0, 543, 0, 541, 536, 538, 0, 150,
+ 148, 203, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 76, 207, 208, 0, 563, 0, 596, 609,
- 608, 0, 600, 0, 612, 610, 0, 0, 0, 593,
- 613, 614, 615, 562, 81, 82, 84, 83, 86, 87,
- 88, 89, 90, 85, 80, 0, 0, 578, 574, 576,
- 580, 587, 595, 129, 0, 548, 549, 0, 133, 0,
- 108, 4, 0, 24, 21, 32, 214, 632, 634, 0,
- 0, 680, 0, 638, 0, 637, 0, 640, 0, 0,
- 655, 0, 654, 0, 657, 0, 0, 659, 0, 0,
- 674, 0, 671, 0, 652, 627, 0, 544, 0, 539,
- 534, 46, 47, 48, 51, 50, 53, 54, 58, 59,
- 56, 57, 61, 62, 64, 66, 68, 70, 72, 74,
- 0, 209, 565, 0, 0, 0, 0, 611, 0, 592,
- 79, 92, 128, 546, 0, 106, 19, 630, 0, 631,
- 0, 643, 0, 650, 0, 662, 0, 668, 0, 670,
- 0, 0, 676, 540, 542, 0, 0, 584, 0, 0,
- 0, 603, 602, 605, 571, 588, 547, 550, 633, 635,
- 639, 641, 656, 658, 660, 672, 0, 566, 0, 0,
- 0, 604, 0, 0, 583, 0, 0, 581, 0, 77,
- 0, 568, 597, 567, 0, 606, 0, 571, 570, 572,
- 590, 585, 0, 607, 601, 582, 591, 0, 599, 589
+ 0, 76, 207, 208, 0, 563, 0, 596, 609, 608,
+ 0, 600, 0, 612, 610, 0, 0, 0, 593, 613,
+ 614, 615, 562, 81, 82, 84, 83, 86, 87, 88,
+ 89, 90, 85, 80, 0, 0, 578, 574, 576, 580,
+ 587, 595, 129, 0, 548, 549, 0, 133, 0, 108,
+ 4, 0, 24, 21, 32, 214, 632, 634, 0, 0,
+ 679, 0, 638, 0, 637, 0, 640, 0, 0, 655,
+ 0, 654, 0, 657, 0, 0, 659, 0, 0, 674,
+ 0, 671, 0, 652, 627, 0, 544, 0, 539, 534,
+ 46, 47, 48, 51, 50, 53, 54, 58, 59, 56,
+ 57, 61, 62, 64, 66, 68, 70, 72, 74, 0,
+ 209, 565, 0, 0, 0, 0, 611, 0, 592, 79,
+ 92, 128, 546, 0, 106, 19, 630, 0, 631, 0,
+ 643, 0, 650, 0, 662, 0, 668, 0, 670, 0,
+ 0, 676, 540, 542, 0, 0, 584, 0, 0, 0,
+ 603, 602, 605, 571, 588, 547, 550, 633, 635, 639,
+ 641, 656, 658, 660, 672, 0, 566, 0, 0, 0,
+ 604, 0, 0, 583, 0, 0, 581, 0, 77, 0,
+ 568, 597, 567, 0, 606, 0, 571, 570, 572, 590,
+ 585, 0, 607, 601, 582, 591, 0, 599, 589
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
- -863, -863, -418, -863, -380, -379, -484, -382, -258, -256,
- -253, -257, -252, -255, -863, -478, -863, -485, -863, -491,
- -530, 14, -863, -863, -863, 7, -397, -863, -863, 44,
- 53, 47, -863, -863, -400, -863, -863, -863, -863, -92,
- -863, -377, -362, -863, 9, -863, 0, -414, -863, -863,
- -863, -863, 150, -863, -863, -863, -546, -548, -218, -331,
- -624, -863, -359, -609, -862, -863, -417, -863, -863, -427,
- -426, -863, -863, 68, -719, -355, -863, -136, -863, -389,
- -863, -135, -863, -863, -863, -863, -129, -863, -863, -863,
- -863, -863, -863, -863, -863, 102, -863, -863, 2, -863,
- -65, -234, -432, -863, -863, -863, -301, -293, -294, -863,
- -863, -304, -299, -302, -298, -863, -296, -305, -863, -383,
- -526
+ -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
+ -859, -859, -209, -859, -418, -417, -602, -421, -291, -284,
+ -286, -283, -281, -287, -859, -473, -859, -490, -859, -497,
+ -520, 13, -859, -859, -859, 14, -394, -859, -859, 33,
+ 42, 44, -859, -859, -395, -859, -859, -859, -859, -121,
+ -859, -381, -369, -859, 9, -859, 0, -424, -859, -859,
+ -859, -859, 113, -859, -859, -859, -545, -549, -252, -365,
+ -617, -859, -391, -618, -858, -859, -450, -859, -859, -459,
+ -458, -859, -859, 43, -721, -387, -859, -173, -859, -422,
+ -859, -170, -859, -859, -859, -859, -168, -859, -859, -859,
+ -859, -859, -859, -859, -859, 67, -859, -859, 2, -859,
+ -97, -300, -386, -859, -859, -859, -326, -323, -327, -859,
+ -859, -330, -325, -328, -332, -859, -331, -334, -859, -390,
+ -530
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 520, 521, 522, 782, 523, 524, 525, 526, 527,
+ -1, 520, 521, 522, 781, 523, 524, 525, 526, 527,
528, 529, 609, 531, 577, 578, 579, 580, 581, 582,
- 583, 584, 585, 586, 587, 610, 840, 611, 765, 612,
+ 583, 584, 585, 586, 587, 610, 839, 611, 764, 612,
695, 613, 378, 640, 498, 614, 380, 381, 382, 427,
428, 429, 383, 384, 385, 386, 387, 388, 477, 478,
389, 390, 391, 392, 532, 480, 533, 483, 440, 441,
- 534, 395, 396, 397, 569, 473, 567, 568, 705, 706,
- 638, 777, 617, 618, 619, 620, 621, 737, 876, 912,
- 904, 905, 906, 913, 622, 623, 624, 625, 907, 879,
- 626, 627, 908, 927, 628, 629, 630, 843, 741, 845,
- 883, 902, 903, 631, 398, 399, 400, 424, 632, 470,
- 471, 450, 451, 789, 790, 402, 673, 674, 678, 403,
- 404, 684, 685, 688, 691, 405, 697, 698, 406, 452,
+ 534, 395, 396, 397, 569, 473, 567, 568, 704, 705,
+ 638, 776, 617, 618, 619, 620, 621, 736, 875, 911,
+ 903, 904, 905, 912, 622, 623, 624, 625, 906, 878,
+ 626, 627, 907, 926, 628, 629, 630, 842, 740, 844,
+ 882, 901, 902, 631, 398, 399, 400, 424, 632, 470,
+ 471, 450, 451, 788, 789, 402, 673, 674, 678, 403,
+ 404, 684, 685, 688, 691, 405, 696, 697, 406, 452,
453
};
@@ -1685,67 +1685,67 @@
number is the opposite. If YYTABLE_NINF, syntax error. */
static const yytype_int16 yytable[] =
{
- 394, 445, 401, 588, 444, 430, 445, 379, 637, 393,
- 773, 646, 776, 769, 377, 778, 667, 677, 842, 708,
- 494, 530, 687, 709, 446, 668, 535, 421, 437, 446,
- 466, 700, 667, 787, 720, 721, 731, 911, 475, 661,
- 710, 661, 662, 655, 919, 658, 492, 417, 481, 430,
- 328, 329, 330, 422, 911, 493, 481, 659, 669, 670,
- 671, 672, 476, 576, 482, 647, 648, 788, 437, 676,
- 722, 723, 732, 663, 676, 663, 633, 635, 589, 418,
- 676, 644, 645, 676, 437, -35, 590, 649, 481, 407,
- 432, 650, 676, 433, 779, 634, 565, 754, 755, 756,
- 757, 758, 759, 760, 761, 762, 763, 716, 664, 717,
- 746, 735, 748, 657, 664, 589, 664, 764, 589, 664,
- 541, 664, 639, 664, 664, 774, 542, 495, 664, 576,
- 496, 543, 844, 497, 576, 549, 557, 544, 571, 573,
- 576, 550, 558, 576, 572, 574, 853, 652, 854, 637,
- 852, 637, 576, 653, 637, 415, 781, 665, 783, 791,
- 793, 708, 766, 795, 797, 542, 794, 408, 785, 796,
- 798, 576, 409, 693, 456, 458, 460, 462, 464, 465,
- 468, 800, 802, 804, 423, 807, 410, 801, 803, 805,
- 565, 808, 565, 810, 812, 426, 884, 425, 885, 811,
- 813, 926, 766, 437, 766, 890, 891, 892, 893, 894,
- 895, 794, 798, 801, 805, 808, 813, 922, 562, 411,
- 857, 859, 563, 766, 858, 860, 680, 681, 682, 683,
- 887, 708, 445, 769, 412, 444, 828, 829, 830, 831,
- 786, 718, 719, 454, 457, 459, 455, 455, 455, 413,
- 642, 439, 846, 643, 461, 446, 848, 455, 463, 467,
- 414, 455, 455, 565, 675, 724, 725, 455, 863, 677,
- 679, 686, 419, 455, 455, 867, 687, 766, 849, 689,
- 850, 851, 455, 420, 692, 667, 921, 455, 699, 637,
- 817, 455, 713, 714, 715, 821, 822, 823, 576, 576,
+ 394, 430, 401, 637, 768, 646, 445, 444, 588, 393,
+ 494, 445, 667, 377, 379, 841, 535, 772, 707, 775,
+ 446, 437, 777, 466, 708, 446, 786, 677, 667, 668,
+ 421, 475, 687, 719, 720, 730, 417, 407, 655, 661,
+ 910, 699, 662, 481, 661, 430, 658, 918, 541, 562,
+ 709, 482, 481, 563, 542, 476, 422, 910, 659, 634,
+ 787, 437, 669, 670, 671, 672, 633, 635, 418, 721,
+ 722, 731, 589, 663, 676, 408, 589, 437, 663, 676,
+ 590, 647, 648, 639, 492, 676, 481, 589, 676, 328,
+ 329, 330, 565, 493, 773, 778, 495, 676, 715, 496,
+ 716, -35, 497, 649, 745, 409, 747, 650, 456, 458,
+ 460, 462, 464, 465, 468, 543, 734, 827, 828, 829,
+ 830, 544, 843, 753, 754, 755, 756, 757, 758, 759,
+ 760, 761, 762, 549, 557, 432, 571, 410, 433, 550,
+ 558, 411, 572, 763, 637, 573, 637, 652, 412, 637,
+ 665, 574, 782, 653, 664, 780, 851, 415, 790, 707,
+ 664, 765, 664, 784, 542, 664, 693, 664, 413, 664,
+ 664, 792, 794, 796, 664, 799, 801, 793, 795, 797,
+ 414, 800, 802, 803, 806, 809, 565, 811, 565, 804,
+ 807, 810, 425, 812, 883, 884, 437, 889, 925, 890,
+ 765, 765, 891, 793, 892, 797, 893, 894, 800, 921,
+ 804, 426, 807, 812, 856, 765, 858, 419, 857, 642,
+ 859, 434, 643, 768, 680, 681, 682, 683, 454, 707,
+ 530, 455, 457, 717, 718, 455, 886, 445, 444, 765,
+ 459, 817, 766, 455, 818, 845, 852, 461, 853, 847,
+ 455, 446, 463, 467, 675, 455, 455, 455, 679, 565,
+ 686, 455, 689, 455, 692, 455, 698, 455, 765, 455,
+ 817, 846, 576, 872, 849, 850, 420, 862, 677, 816,
+ 667, 723, 724, 637, 866, 687, 712, 713, 714, 423,
+ 644, 645, 920, 765, 848, 765, 895, 823, 824, 439,
+ 825, 826, 831, 832, 447, 449, 469, 768, 474, 479,
+ 484, 325, 481, 490, 491, 536, 537, 538, 561, 540,
+ 539, 559, 657, 546, 676, 676, 545, 565, 547, 548,
+ 551, 676, 676, 552, 553, 554, 555, 676, 576, 676,
+ 556, 560, 874, 576, 570, 876, 564, 651, 656, 576,
+ 492, 641, 576, 725, 589, 666, 662, 727, 690, 700,
+ 703, 576, 726, 637, 728, 729, 711, 732, 737, 741,
+ 735, 738, 742, 746, 779, -36, 739, 743, 748, 783,
+ 576, 749, 431, -34, 750, 876, 751, -29, 798, 752,
+ 438, 393, 805, 791, 808, 813, 814, 565, 394, 393,
+ 401, 394, 913, 840, 855, 908, 394, 393, 401, 765,
+ 393, 377, 379, 868, 887, 393, 472, 922, 896, 637,
+ 448, 888, 898, 899, 879, 897, 431, 486, -569, 909,
+ 431, 915, 914, 591, 833, 393, 919, 927, 916, 393,
+ 928, 835, 834, 838, 416, 836, 438, 877, 837, 785,
+ 815, 710, 873, 880, 917, 393, 923, 881, 924, 769,
+ 900, 446, 770, 488, 771, 443, 701, 485, 487, 861,
+ 860, 863, 865, 566, 489, 864, 869, 867, 871, 870,
+ 0, 0, 393, 0, 616, 0, 0, 877, 0, 0,
+ 0, 0, 0, 615, 0, 0, 0, 0, 0, 0,
+ 0, 446, 0, 820, 821, 822, 576, 576, 576, 576,
576, 576, 576, 576, 576, 576, 576, 576, 576, 576,
- 576, 576, 576, 576, 434, 766, 818, 769, 767, 819,
- 676, 676, 766, 818, 447, 847, 873, 676, 676, 766,
- 896, 449, 565, 676, 469, 676, 824, 825, 474, 826,
- 827, 479, 832, 833, 484, 325, 490, 491, 481, 875,
- 539, 536, 877, 537, 538, 540, 545, 641, 726, 546,
- 547, 548, 551, 559, 552, 666, 553, 554, 555, 637,
- 561, 556, 560, 651, 656, 589, 564, 570, 492, 662,
- 576, 576, 431, 690, 701, 729, 730, 576, 576, 728,
- 438, 393, 877, 576, 733, 576, 727, 736, 394, 393,
- 401, 394, 565, 704, 738, 379, 394, 393, 401, 914,
- 393, 909, 377, 448, 742, 393, 472, 739, 712, 740,
- 743, 744, 747, 749, 923, 637, 431, 486, 750, 751,
- 431, 752, -36, 753, -34, 393, 780, 784, -29, 393,
- 792, 869, 799, 878, 814, 806, 438, 809, 815, 841,
- 880, 856, 766, 888, 897, 393, 899, 889, 900, 910,
- -569, 898, 915, 916, 917, 591, 446, 920, 834, 928,
- 929, 835, 837, 566, 488, 836, 839, 489, 838, 487,
- 711, 416, 393, 878, 616, 816, 881, 874, 918, 924,
- 882, 925, 485, 615, 901, 862, 770, 771, 702, 866,
- 443, 861, 865, 772, 868, 864, 446, 0, 872, 0,
- 0, 870, 0, 0, 0, 871, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 576, 576, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 660, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 696, 0,
- 0, 0, 0, 0, 0, 703, 0, 566, 0, 566,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 702, 0, 566, 0, 566,
0, 0, 0, 0, 393, 0, 393, 0, 393, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 576, 576,
+ 0, 0, 0, 0, 0, 576, 576, 0, 0, 0,
+ 0, 576, 0, 576, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 616, 0, 0, 0, 0, 0, 0, 0,
0, 615, 394, 0, 0, 0, 0, 0, 0, 0,
@@ -1755,759 +1755,81 @@
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 566,
- 0, 0, 0, 0, 0, 0, 0, 0, 393, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 566, 0,
+ 0, 0, 0, 0, 0, 0, 0, 393, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 616, 0, 0,
- 0, 616, 0, 0, 0, 0, 615, 0, 0, 0,
- 615, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 566,
- 0, 0, 0, 0, 0, 0, 0, 0, 393, 0,
+ 0, 0, 0, 0, 0, 0, 616, 0, 0, 0,
+ 616, 0, 0, 0, 0, 615, 0, 0, 0, 615,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 696, 0, 696, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 616, 616, 0, 616, 0, 401, 0, 0,
- 0, 615, 615, 0, 615, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 616, 0, 0, 0, 0, 0, 0,
- 0, 0, 615, 0, 0, 0, 0, 0, 0, 616,
- 0, 0, 0, 0, 0, 0, 616, 0, 615, 0,
- 0, 0, 0, 0, 0, 615, 616, 0, 0, 0,
- 616, 0, 0, 0, 0, 615, 616, 0, 0, 615,
- 0, 0, 0, 442, 0, 615, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 325, 0, 0, 0, 0, 0,
- 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 327, 328, 329, 330,
- 331, 0, 0, 0, 0, 0, 0, 0, 0, 332,
- 333, 334, 335, 336, 337, 338, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 339, 340, 341, 342, 343, 344, 0, 0, 0,
- 0, 0, 0, 0, 0, 345, 0, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
- 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
- 369, 370, 371, 372, 373, 374, 375, 376, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 0, 0, 499, 500, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 501, 502, 0, 325, 0, 591, 592,
- 0, 0, 0, 0, 593, 503, 504, 505, 506, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 331, 0, 0, 0, 507, 508, 509, 510,
- 511, 332, 333, 334, 335, 336, 337, 338, 594, 595,
- 596, 597, 0, 598, 599, 600, 601, 602, 603, 604,
- 605, 606, 607, 339, 340, 341, 342, 343, 344, 512,
- 513, 514, 515, 516, 517, 518, 519, 345, 608, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 324, 0, 0, 499, 500, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 501, 502, 0, 325, 0,
- 591, 768, 0, 0, 0, 0, 593, 503, 504, 505,
- 506, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 327, 328, 329, 330, 331, 0, 0, 0, 507, 508,
- 509, 510, 511, 332, 333, 334, 335, 336, 337, 338,
- 594, 595, 596, 597, 0, 598, 599, 600, 601, 602,
- 603, 604, 605, 606, 607, 339, 340, 341, 342, 343,
- 344, 512, 513, 514, 515, 516, 517, 518, 519, 345,
- 608, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- 375, 376, 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
- 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 324, 0, 0, 499, 500,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 501, 502, 0,
- 325, 0, 591, 0, 0, 0, 0, 0, 593, 503,
- 504, 505, 506, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 327, 328, 329, 330, 331, 0, 0, 0,
- 507, 508, 509, 510, 511, 332, 333, 334, 335, 336,
- 337, 338, 594, 595, 596, 597, 0, 598, 599, 600,
- 601, 602, 603, 604, 605, 606, 607, 339, 340, 341,
- 342, 343, 344, 512, 513, 514, 515, 516, 517, 518,
- 519, 345, 608, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
- 373, 374, 375, 376, 1, 2, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 324, 0, 0,
- 499, 500, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 501,
- 502, 0, 325, 0, 484, 0, 0, 0, 0, 0,
- 593, 503, 504, 505, 506, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 327, 328, 329, 330, 331, 0,
- 0, 0, 507, 508, 509, 510, 511, 332, 333, 334,
- 335, 336, 337, 338, 594, 595, 596, 597, 0, 598,
- 599, 600, 601, 602, 603, 604, 605, 606, 607, 339,
- 340, 341, 342, 343, 344, 512, 513, 514, 515, 516,
- 517, 518, 519, 345, 608, 346, 347, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
- 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
- 371, 372, 373, 374, 375, 376, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 0, 0, 499, 500, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 501, 502, 0, 325, 0, 0, 0, 0, 0,
- 0, 0, 593, 503, 504, 505, 506, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 327, 328, 329, 330,
- 331, 0, 0, 0, 507, 508, 509, 510, 511, 332,
- 333, 334, 335, 336, 337, 338, 594, 595, 596, 597,
- 0, 598, 599, 600, 601, 602, 603, 604, 605, 606,
- 607, 339, 340, 341, 342, 343, 344, 512, 513, 514,
- 515, 516, 517, 518, 519, 345, 608, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
- 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
- 369, 370, 371, 372, 373, 374, 375, 376, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 0, 0, 499, 500, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 501, 502, 0, 325, 0, 0, 0,
- 0, 0, 0, 0, 593, 503, 504, 505, 506, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 331, 0, 0, 0, 507, 508, 509, 510,
- 511, 332, 333, 334, 335, 336, 337, 338, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 340, 341, 342, 343, 344, 512,
- 513, 514, 515, 516, 517, 518, 519, 345, 0, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 0, 0, 0, 318, 319, 320,
- 321, 322, 323, 324, 0, 0, 499, 500, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 501, 502, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 503, 504, 505,
- 506, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 327, 328, 329, 330, 0, 0, 0, 0, 507, 508,
- 509, 510, 511, 332, 333, 334, 335, 336, 337, 338,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 339, 340, 341, 342, 343,
- 344, 512, 513, 514, 515, 516, 517, 518, 519, 345,
- 0, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- 375, 376, 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
- 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 324, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 325, 0, 0, 0, 0, 0, 0, 0, 326, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 327, 328, 329, 330, 331, 0, 0, 0,
- 0, 0, 0, 0, 0, 332, 333, 334, 335, 336,
- 337, 338, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 339, 340, 341,
- 342, 343, 344, 0, 0, 0, 0, 0, 0, 0,
- 0, 345, 0, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
- 373, 374, 375, 376, 1, 2, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 0, 0,
- 0, 318, 319, 320, 321, 322, 323, 324, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 566, 0,
+ 0, 0, 0, 0, 0, 0, 0, 393, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 327, 328, 329, 330, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 332, 333, 334,
- 335, 336, 337, 338, 594, 0, 0, 597, 0, 598,
- 599, 0, 0, 602, 0, 0, 0, 0, 0, 339,
- 340, 341, 342, 343, 344, 0, 0, 0, 0, 0,
- 0, 0, 0, 345, 0, 346, 347, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
- 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
- 371, 372, 373, 374, 375, 376, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 0, 0, 0, 318, 319, 320, 321, 322, 323, 324,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 616, 616, 0, 616, 0, 401, 0, 0, 0,
+ 615, 615, 0, 615, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 435, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 327, 328, 329, 330,
- 0, 0, 0, 0, 0, 0, 0, 0, 436, 332,
- 333, 334, 335, 336, 337, 338, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 339, 340, 341, 342, 343, 344, 0, 0, 0,
- 0, 0, 0, 0, 0, 345, 0, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
- 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
- 369, 370, 371, 372, 373, 374, 375, 376, 1, 2,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 0, 0, 0, 318, 319, 320, 321, 322,
- 323, 324, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 325, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 327, 328,
- 329, 330, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 332, 333, 334, 335, 336, 337, 338, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 339, 340, 341, 342, 343, 344, 0,
- 0, 0, 0, 0, 0, 0, 0, 345, 0, 346,
- 347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
- 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
- 367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 0, 0, 0, 318, 319, 320,
- 321, 322, 323, 324, 0, 0, 0, 0, 0, 0,
+ 0, 0, 616, 0, 0, 0, 0, 0, 0, 0,
+ 0, 615, 0, 0, 0, 0, 0, 0, 616, 0,
+ 0, 0, 0, 0, 0, 616, 0, 615, 0, 0,
+ 0, 0, 0, 0, 615, 616, 0, 0, 0, 616,
+ 0, 0, 0, 0, 615, 616, 0, 0, 615, 0,
+ 0, 0, 442, 0, 615, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 707, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 325, 0, 0, 0, 0, 0, 0,
+ 0, 326, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 327, 328, 329, 330, 331,
+ 0, 0, 0, 0, 0, 0, 0, 0, 332, 333,
+ 334, 335, 336, 337, 338, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 327, 328, 329, 330, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 332, 333, 334, 335, 336, 337, 338,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 339, 340, 341, 342, 343,
- 344, 0, 0, 0, 0, 0, 0, 0, 0, 345,
- 0, 346, 347, 348, 349, 350, 351, 352, 353, 354,
- 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
- 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
- 375, 376, 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
- 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 0, 0, 0, 318,
- 319, 320, 321, 322, 323, 324, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 820, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 327, 328, 329, 330, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 332, 333, 334, 335, 336,
- 337, 338, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 339, 340, 341,
- 342, 343, 344, 0, 0, 0, 0, 0, 0, 0,
- 0, 345, 0, 346, 347, 348, 349, 350, 351, 352,
- 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
- 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
- 373, 374, 375, 376, 1, 2, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 0, 0,
- 0, 318, 319, 320, 321, 322, 323, 324, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 855, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 327, 328, 329, 330, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 332, 333, 334,
- 335, 336, 337, 338, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 339,
- 340, 341, 342, 343, 344, 0, 0, 0, 0, 0,
- 0, 0, 0, 345, 0, 346, 347, 348, 349, 350,
- 351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
- 361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
- 371, 372, 373, 374, 375, 376, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 0, 0, 0, 318, 319, 320, 321, 322, 323, 324,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 327, 328, 329, 330,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 332,
- 333, 334, 335, 336, 337, 338, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 339, 340, 341, 342, 343, 344, 0, 0, 0,
- 0, 0, 0, 0, 0, 345, 0, 346, 347, 348,
- 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
- 359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
- 369, 370, 371, 372, 373, 374, 375, 376, 2, 3,
+ 339, 340, 341, 342, 343, 344, 0, 0, 0, 0,
+ 0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 374, 375, 376, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 0, 0, 61, 62, 63,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
@@ -2533,68 +1855,343 @@
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
- 314, 0, 0, 0, 0, 0, 0, 321, 0, 0,
- 0, 0, 0, 499, 500, 0, 0, 0, 0, 0,
+ 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
+ 324, 0, 0, 499, 500, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 501, 502, 0, 0, 0, 636, 775, 0,
- 0, 0, 0, 0, 503, 504, 505, 506, 0, 0,
+ 0, 0, 501, 502, 0, 325, 0, 591, 592, 0,
+ 0, 0, 0, 593, 503, 504, 505, 506, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 327, 328, 329,
+ 330, 331, 0, 0, 0, 507, 508, 509, 510, 511,
+ 332, 333, 334, 335, 336, 337, 338, 594, 595, 596,
+ 597, 0, 598, 599, 600, 601, 602, 603, 604, 605,
+ 606, 607, 339, 340, 341, 342, 343, 344, 512, 513,
+ 514, 515, 516, 517, 518, 519, 345, 608, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 1,
+ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
+ 322, 323, 324, 0, 0, 499, 500, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 507, 508, 509, 510, 511,
- 332, 0, 0, 0, 0, 337, 338, 0, 0, 0,
+ 0, 0, 0, 0, 501, 502, 0, 325, 0, 591,
+ 767, 0, 0, 0, 0, 593, 503, 504, 505, 506,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 327,
+ 328, 329, 330, 331, 0, 0, 0, 507, 508, 509,
+ 510, 511, 332, 333, 334, 335, 336, 337, 338, 594,
+ 595, 596, 597, 0, 598, 599, 600, 601, 602, 603,
+ 604, 605, 606, 607, 339, 340, 341, 342, 343, 344,
+ 512, 513, 514, 515, 516, 517, 518, 519, 345, 608,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
+ 376, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
+ 320, 321, 322, 323, 324, 0, 0, 499, 500, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 512, 513,
- 514, 515, 516, 517, 518, 519, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 358, 2, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 0, 0,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 0, 0, 0, 0, 0, 0,
- 321, 0, 0, 0, 0, 0, 499, 500, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 501, 502, 0, 0, 0,
- 636, 886, 0, 0, 0, 0, 0, 503, 504, 505,
- 506, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 507, 508,
- 509, 510, 511, 332, 0, 0, 0, 0, 337, 338,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 512, 513, 514, 515, 516, 517, 518, 519, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 358, 2, 3, 4, 5, 6, 7,
+ 0, 0, 0, 0, 0, 0, 501, 502, 0, 325,
+ 0, 591, 0, 0, 0, 0, 0, 593, 503, 504,
+ 505, 506, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 327, 328, 329, 330, 331, 0, 0, 0, 507,
+ 508, 509, 510, 511, 332, 333, 334, 335, 336, 337,
+ 338, 594, 595, 596, 597, 0, 598, 599, 600, 601,
+ 602, 603, 604, 605, 606, 607, 339, 340, 341, 342,
+ 343, 344, 512, 513, 514, 515, 516, 517, 518, 519,
+ 345, 608, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 0, 0, 61, 62, 63, 64, 65, 66, 67,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, 319, 320, 321, 322, 323, 324, 0, 0, 499,
+ 500, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 501, 502,
+ 0, 325, 0, 484, 0, 0, 0, 0, 0, 593,
+ 503, 504, 505, 506, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 327, 328, 329, 330, 331, 0, 0,
+ 0, 507, 508, 509, 510, 511, 332, 333, 334, 335,
+ 336, 337, 338, 594, 595, 596, 597, 0, 598, 599,
+ 600, 601, 602, 603, 604, 605, 606, 607, 339, 340,
+ 341, 342, 343, 344, 512, 513, 514, 515, 516, 517,
+ 518, 519, 345, 608, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, 374, 375, 376, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 0,
+ 0, 499, 500, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 501, 502, 0, 325, 0, 0, 0, 0, 0, 0,
+ 0, 593, 503, 504, 505, 506, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 327, 328, 329, 330, 331,
+ 0, 0, 0, 507, 508, 509, 510, 511, 332, 333,
+ 334, 335, 336, 337, 338, 594, 595, 596, 597, 0,
+ 598, 599, 600, 601, 602, 603, 604, 605, 606, 607,
+ 339, 340, 341, 342, 343, 344, 512, 513, 514, 515,
+ 516, 517, 518, 519, 345, 608, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 374, 375, 376, 1, 2, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
+ 324, 0, 0, 499, 500, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 501, 502, 0, 325, 0, 0, 0, 0,
+ 0, 0, 0, 593, 503, 504, 505, 506, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 327, 328, 329,
+ 330, 331, 0, 0, 0, 507, 508, 509, 510, 511,
+ 332, 333, 334, 335, 336, 337, 338, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 339, 340, 341, 342, 343, 344, 512, 513,
+ 514, 515, 516, 517, 518, 519, 345, 0, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 1,
+ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 0, 0, 0, 318, 319, 320, 321,
+ 322, 323, 324, 0, 0, 499, 500, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 501, 502, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 503, 504, 505, 506,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 327,
+ 328, 329, 330, 0, 0, 0, 0, 507, 508, 509,
+ 510, 511, 332, 333, 334, 335, 336, 337, 338, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 339, 340, 341, 342, 343, 344,
+ 512, 513, 514, 515, 516, 517, 518, 519, 345, 0,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
+ 376, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
+ 320, 321, 322, 323, 324, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 325,
+ 0, 0, 0, 0, 0, 0, 0, 326, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 327, 328, 329, 330, 331, 0, 0, 0, 0,
+ 0, 0, 0, 0, 332, 333, 334, 335, 336, 337,
+ 338, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 339, 340, 341, 342,
+ 343, 344, 0, 0, 0, 0, 0, 0, 0, 0,
+ 345, 0, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 1, 2, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
@@ -2620,18 +2217,291 @@
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
308, 309, 310, 311, 312, 313, 314, 0, 0, 0,
- 0, 0, 0, 321, 0, 0, 0, 0, 0, 499,
- 500, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 501, 502,
- 0, 0, 575, 0, 0, 0, 0, 0, 0, 0,
- 503, 504, 505, 506, 0, 0, 0, 0, 0, 0,
+ 318, 319, 320, 321, 322, 323, 324, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 507, 508, 509, 510, 511, 332, 0, 0, 0,
- 0, 337, 338, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 512, 513, 514, 515, 516, 517,
- 518, 519, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 358, 2, 3, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 327, 328, 329, 330, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 332, 333, 334, 335,
+ 336, 337, 338, 594, 0, 0, 597, 0, 598, 599,
+ 0, 0, 602, 0, 0, 0, 0, 0, 339, 340,
+ 341, 342, 343, 344, 0, 0, 0, 0, 0, 0,
+ 0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, 374, 375, 376, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 0,
+ 0, 0, 318, 319, 320, 321, 322, 323, 324, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 435, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 327, 328, 329, 330, 0,
+ 0, 0, 0, 0, 0, 0, 0, 436, 332, 333,
+ 334, 335, 336, 337, 338, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 339, 340, 341, 342, 343, 344, 0, 0, 0, 0,
+ 0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 374, 375, 376, 1, 2, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 0, 0, 0, 318, 319, 320, 321, 322, 323,
+ 324, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 325, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 327, 328, 329,
+ 330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 332, 333, 334, 335, 336, 337, 338, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 339, 340, 341, 342, 343, 344, 0, 0,
+ 0, 0, 0, 0, 0, 0, 345, 0, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
+ 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
+ 368, 369, 370, 371, 372, 373, 374, 375, 376, 1,
+ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 0, 0, 0, 318, 319, 320, 321,
+ 322, 323, 324, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 706, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 327,
+ 328, 329, 330, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 332, 333, 334, 335, 336, 337, 338, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 339, 340, 341, 342, 343, 344,
+ 0, 0, 0, 0, 0, 0, 0, 0, 345, 0,
+ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
+ 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
+ 376, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 0, 0, 0, 318, 319,
+ 320, 321, 322, 323, 324, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 819, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 327, 328, 329, 330, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 332, 333, 334, 335, 336, 337,
+ 338, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 339, 340, 341, 342,
+ 343, 344, 0, 0, 0, 0, 0, 0, 0, 0,
+ 345, 0, 346, 347, 348, 349, 350, 351, 352, 353,
+ 354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
+ 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
+ 374, 375, 376, 1, 2, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 0, 0, 0,
+ 318, 319, 320, 321, 322, 323, 324, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 854, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 327, 328, 329, 330, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 332, 333, 334, 335,
+ 336, 337, 338, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 339, 340,
+ 341, 342, 343, 344, 0, 0, 0, 0, 0, 0,
+ 0, 0, 345, 0, 346, 347, 348, 349, 350, 351,
+ 352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
+ 362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
+ 372, 373, 374, 375, 376, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 0,
+ 0, 0, 318, 319, 320, 321, 322, 323, 324, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 327, 328, 329, 330, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 332, 333,
+ 334, 335, 336, 337, 338, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 339, 340, 341, 342, 343, 344, 0, 0, 0, 0,
+ 0, 0, 0, 0, 345, 0, 346, 347, 348, 349,
+ 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
+ 360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
+ 370, 371, 372, 373, 374, 375, 376, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
@@ -2666,7 +2536,7 @@
0, 0, 0, 0, 0, 0, 321, 0, 0, 0,
0, 0, 499, 500, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 501, 502, 0, 0, 0, 636, 0, 0, 0,
+ 0, 501, 502, 0, 0, 0, 636, 774, 0, 0,
0, 0, 0, 503, 504, 505, 506, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 507, 508, 509, 510, 511, 332,
@@ -2709,8 +2579,8 @@
312, 313, 314, 0, 0, 0, 0, 0, 0, 321,
0, 0, 0, 0, 0, 499, 500, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 501, 502, 0, 0, 734, 0,
- 0, 0, 0, 0, 0, 0, 503, 504, 505, 506,
+ 0, 0, 0, 0, 501, 502, 0, 0, 0, 636,
+ 885, 0, 0, 0, 0, 0, 503, 504, 505, 506,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 507, 508, 509,
510, 511, 332, 0, 0, 0, 0, 337, 338, 0,
@@ -2753,7 +2623,7 @@
0, 0, 321, 0, 0, 0, 0, 0, 499, 500,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 501, 502, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 745, 503,
+ 0, 575, 0, 0, 0, 0, 0, 0, 0, 503,
504, 505, 506, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
507, 508, 509, 510, 511, 332, 0, 0, 0, 0,
@@ -2796,7 +2666,7 @@
0, 0, 0, 0, 0, 321, 0, 0, 0, 0,
0, 499, 500, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 501, 502, 0, 0, 0, 0, 0, 0, 0, 0,
+ 501, 502, 0, 0, 0, 636, 0, 0, 0, 0,
0, 0, 503, 504, 505, 506, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 507, 508, 509, 510, 511, 332, 0,
@@ -2839,11 +2709,11 @@
313, 314, 0, 0, 0, 0, 0, 0, 321, 0,
0, 0, 0, 0, 499, 500, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 501, 502, 0, 0, 0, 0, 0,
+ 0, 0, 0, 501, 502, 0, 0, 733, 0, 0,
0, 0, 0, 0, 0, 503, 504, 505, 506, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 507, 508, 509, 510,
- 511, 332, 0, 0, 0, 0, 337, 654, 0, 0,
+ 511, 332, 0, 0, 0, 0, 337, 338, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 512,
513, 514, 515, 516, 517, 518, 519, 0, 0, 0,
@@ -2883,10 +2753,10 @@
0, 321, 0, 0, 0, 0, 0, 499, 500, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 501, 502, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 503, 504,
+ 0, 0, 0, 0, 0, 0, 0, 744, 503, 504,
505, 506, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 507,
- 508, 509, 510, 694, 332, 0, 0, 0, 0, 337,
+ 508, 509, 510, 511, 332, 0, 0, 0, 0, 337,
338, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 512, 513, 514, 515, 516, 517, 518, 519,
@@ -2924,78 +2794,208 @@
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 0, 0,
0, 0, 0, 0, 321, 0, 0, 0, 0, 0,
+ 499, 500, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 501,
+ 502, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 503, 504, 505, 506, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 507, 508, 509, 510, 511, 332, 0, 0,
+ 0, 0, 337, 338, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 512, 513, 514, 515, 516,
+ 517, 518, 519, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 358, 2, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 0, 0, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 0, 0, 0, 0, 0, 0, 321, 0, 0,
+ 0, 0, 0, 499, 500, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 501, 502, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 503, 504, 505, 506, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 507, 508, 509, 510, 511,
+ 332, 0, 0, 0, 0, 337, 654, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 512, 513,
+ 514, 515, 516, 517, 518, 519, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 358, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 0, 0,
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
+ 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
+ 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
+ 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
+ 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
+ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
+ 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
+ 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
+ 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
+ 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
+ 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
+ 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
+ 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
+ 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
+ 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
+ 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
+ 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
+ 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
+ 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
+ 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
+ 311, 312, 313, 314, 0, 0, 0, 0, 0, 0,
+ 321, 0, 0, 0, 0, 0, 499, 500, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 501, 502, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 503, 504, 505,
+ 506, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 507, 508,
+ 509, 510, 694, 332, 0, 0, 0, 0, 337, 338,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 512, 513, 514, 515, 516, 517, 518, 519, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 358, 2, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 0, 0, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 0, 0, 0,
+ 0, 0, 0, 321, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 332, 0, 0,
- 0, 0, 337, 338
+ 0, 0, 0, 0, 0, 0, 332, 0, 0, 0,
+ 0, 337, 338
};
static const yytype_int16 yycheck[] =
{
- 0, 401, 0, 481, 401, 382, 406, 0, 493, 0,
- 634, 502, 636, 622, 0, 639, 542, 547, 737, 567,
- 434, 439, 552, 569, 401, 348, 440, 359, 390, 406,
- 413, 561, 558, 348, 331, 332, 336, 899, 385, 348,
- 570, 348, 351, 528, 906, 356, 349, 353, 351, 426,
- 374, 375, 376, 385, 916, 358, 351, 368, 381, 382,
- 383, 384, 409, 481, 359, 329, 330, 382, 430, 547,
- 367, 368, 372, 382, 552, 382, 490, 491, 351, 385,
- 558, 499, 500, 561, 446, 349, 359, 351, 351, 349,
- 356, 355, 570, 359, 640, 358, 473, 338, 339, 340,
- 341, 342, 343, 344, 345, 346, 347, 361, 540, 363,
- 601, 589, 603, 531, 546, 351, 548, 358, 351, 551,
- 350, 553, 358, 555, 556, 358, 356, 353, 560, 547,
- 356, 350, 741, 359, 552, 350, 350, 356, 350, 350,
- 558, 356, 356, 561, 356, 356, 354, 350, 356, 634,
- 774, 636, 570, 356, 639, 351, 350, 540, 649, 350,
- 350, 709, 356, 350, 350, 356, 356, 349, 653, 356,
- 356, 589, 349, 556, 408, 409, 410, 411, 412, 413,
- 414, 350, 350, 350, 359, 350, 349, 356, 356, 356,
- 567, 356, 569, 350, 350, 356, 350, 350, 350, 356,
- 356, 920, 356, 565, 356, 350, 350, 350, 350, 350,
- 350, 356, 356, 356, 356, 356, 356, 350, 352, 349,
- 352, 352, 356, 356, 356, 356, 381, 382, 383, 384,
- 854, 779, 632, 842, 349, 632, 720, 721, 722, 723,
- 658, 327, 328, 382, 382, 382, 385, 385, 385, 349,
- 356, 367, 743, 359, 382, 632, 747, 385, 382, 382,
- 349, 385, 385, 640, 382, 333, 334, 385, 798, 799,
- 382, 382, 349, 385, 385, 805, 806, 356, 357, 382,
- 765, 766, 385, 349, 382, 811, 910, 385, 382, 774,
- 704, 385, 364, 365, 366, 713, 714, 715, 716, 717,
- 718, 719, 720, 721, 722, 723, 724, 725, 726, 727,
- 728, 729, 730, 731, 385, 356, 356, 926, 359, 359,
- 798, 799, 356, 356, 359, 359, 359, 805, 806, 356,
- 357, 385, 709, 811, 385, 813, 716, 717, 353, 718,
- 719, 385, 724, 725, 353, 351, 385, 385, 351, 840,
- 358, 350, 843, 385, 359, 356, 358, 385, 371, 356,
- 356, 356, 356, 350, 356, 385, 356, 356, 356, 854,
- 349, 356, 356, 350, 349, 351, 359, 358, 349, 351,
- 798, 799, 382, 348, 352, 335, 337, 805, 806, 369,
- 390, 382, 883, 811, 352, 813, 370, 354, 398, 390,
- 398, 401, 779, 385, 349, 398, 406, 398, 406, 900,
- 401, 896, 398, 406, 349, 406, 416, 359, 385, 359,
- 349, 359, 349, 357, 915, 910, 426, 425, 359, 359,
- 430, 359, 349, 359, 349, 426, 385, 385, 350, 430,
- 358, 348, 356, 843, 350, 356, 446, 356, 350, 352,
- 393, 352, 356, 348, 354, 446, 350, 382, 349, 358,
- 353, 385, 359, 350, 397, 353, 843, 353, 726, 359,
- 354, 727, 729, 473, 430, 728, 731, 430, 730, 426,
- 572, 331, 473, 883, 484, 703, 845, 818, 905, 916,
- 845, 917, 424, 484, 883, 796, 632, 632, 563, 803,
- 398, 794, 801, 632, 806, 799, 883, -1, 813, -1,
- -1, 809, -1, -1, -1, 811, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 0, 382, 0, 493, 622, 502, 401, 401, 481, 0,
+ 434, 406, 542, 0, 0, 736, 440, 634, 567, 636,
+ 401, 390, 639, 413, 569, 406, 348, 547, 558, 348,
+ 359, 385, 552, 331, 332, 336, 353, 349, 528, 348,
+ 898, 561, 351, 351, 348, 426, 356, 905, 350, 352,
+ 570, 359, 351, 356, 356, 409, 385, 915, 368, 358,
+ 382, 430, 381, 382, 383, 384, 490, 491, 385, 367,
+ 368, 372, 351, 382, 547, 349, 351, 446, 382, 552,
+ 359, 329, 330, 358, 349, 558, 351, 351, 561, 374,
+ 375, 376, 473, 358, 358, 640, 353, 570, 361, 356,
+ 363, 349, 359, 351, 601, 349, 603, 355, 408, 409,
+ 410, 411, 412, 413, 414, 350, 589, 719, 720, 721,
+ 722, 356, 740, 338, 339, 340, 341, 342, 343, 344,
+ 345, 346, 347, 350, 350, 356, 350, 349, 359, 356,
+ 356, 349, 356, 358, 634, 350, 636, 350, 349, 639,
+ 540, 356, 649, 356, 540, 350, 773, 351, 350, 708,
+ 546, 356, 548, 653, 356, 551, 556, 553, 349, 555,
+ 556, 350, 350, 350, 560, 350, 350, 356, 356, 356,
+ 349, 356, 356, 350, 350, 350, 567, 350, 569, 356,
+ 356, 356, 350, 356, 350, 350, 565, 350, 919, 350,
+ 356, 356, 350, 356, 350, 356, 350, 350, 356, 350,
+ 356, 356, 356, 356, 352, 356, 352, 349, 356, 356,
+ 356, 385, 359, 841, 381, 382, 383, 384, 382, 778,
+ 439, 385, 382, 327, 328, 385, 853, 632, 632, 356,
+ 382, 356, 359, 385, 359, 742, 354, 382, 356, 746,
+ 385, 632, 382, 382, 382, 385, 385, 385, 382, 640,
+ 382, 385, 382, 385, 382, 385, 382, 385, 356, 385,
+ 356, 359, 481, 359, 764, 765, 349, 797, 798, 703,
+ 810, 333, 334, 773, 804, 805, 364, 365, 366, 359,
+ 499, 500, 909, 356, 357, 356, 357, 715, 716, 367,
+ 717, 718, 723, 724, 359, 385, 385, 925, 353, 385,
+ 353, 351, 351, 385, 385, 350, 385, 359, 349, 356,
+ 358, 350, 531, 356, 797, 798, 358, 708, 356, 356,
+ 356, 804, 805, 356, 356, 356, 356, 810, 547, 812,
+ 356, 356, 839, 552, 358, 842, 359, 350, 349, 558,
+ 349, 385, 561, 371, 351, 385, 351, 369, 348, 352,
+ 385, 570, 370, 853, 335, 337, 385, 352, 349, 349,
+ 354, 359, 349, 349, 385, 349, 359, 359, 357, 385,
+ 589, 359, 382, 349, 359, 882, 359, 350, 356, 359,
+ 390, 382, 356, 358, 356, 350, 350, 778, 398, 390,
+ 398, 401, 899, 352, 352, 895, 406, 398, 406, 356,
+ 401, 398, 398, 348, 348, 406, 416, 914, 354, 909,
+ 406, 382, 350, 349, 393, 385, 426, 425, 353, 358,
+ 430, 350, 359, 353, 725, 426, 353, 359, 397, 430,
+ 354, 727, 726, 730, 331, 728, 446, 842, 729, 658,
+ 702, 572, 817, 844, 904, 446, 915, 844, 916, 632,
+ 882, 842, 632, 430, 632, 398, 563, 424, 426, 795,
+ 793, 798, 802, 473, 430, 800, 808, 805, 812, 810,
+ -1, -1, 473, -1, 484, -1, -1, 882, -1, -1,
+ -1, -1, -1, 484, -1, -1, -1, -1, -1, -1,
+ -1, 882, -1, 712, 713, 714, 715, 716, 717, 718,
+ 719, 720, 721, 722, 723, 724, 725, 726, 727, 728,
+ 729, 730, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 536, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 558, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 565, -1, 567, -1, 569,
-1, -1, -1, -1, 565, -1, 567, -1, 569, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 797, 798,
+ -1, -1, -1, -1, -1, 804, 805, -1, -1, -1,
+ -1, 810, -1, 812, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 622, -1, -1, -1, -1, -1, -1, -1,
-1, 622, 632, -1, -1, -1, -1, -1, -1, -1,
@@ -3005,759 +3005,81 @@
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 709,
- -1, -1, -1, -1, -1, -1, -1, -1, 709, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 708, -1,
+ -1, -1, -1, -1, -1, -1, -1, 708, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 737, -1, -1,
- -1, 741, -1, -1, -1, -1, 737, -1, -1, -1,
- 741, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 779,
- -1, -1, -1, -1, -1, -1, -1, -1, 779, -1,
+ -1, -1, -1, -1, -1, -1, 736, -1, -1, -1,
+ 740, -1, -1, -1, -1, 736, -1, -1, -1, 740,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 811, -1, 813, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 842, 843, -1, 845, -1, 845, -1, -1,
- -1, 842, 843, -1, 845, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 883, -1, -1, -1, -1, -1, -1,
- -1, -1, 883, -1, -1, -1, -1, -1, -1, 899,
- -1, -1, -1, -1, -1, -1, 906, -1, 899, -1,
- -1, -1, -1, -1, -1, 906, 916, -1, -1, -1,
- 920, -1, -1, -1, -1, 916, 926, -1, -1, 920,
- -1, -1, -1, 0, -1, 926, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 351, -1, -1, -1, -1, -1,
- -1, -1, 359, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 373, 374, 375, 376,
- 377, -1, -1, -1, -1, -1, -1, -1, -1, 386,
- 387, 388, 389, 390, 391, 392, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 408, 409, 410, 411, 412, 413, -1, -1, -1,
- -1, -1, -1, -1, -1, 422, -1, 424, 425, 426,
- 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 450, 451, 452, 453, 454, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, 329, 330, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 348, 349, -1, 351, -1, 353, 354,
- -1, -1, -1, -1, 359, 360, 361, 362, 363, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, 377, -1, -1, -1, 381, 382, 383, 384,
- 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
- 395, 396, -1, 398, 399, 400, 401, 402, 403, 404,
- 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
- 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
- 323, 324, 325, 326, -1, -1, 329, 330, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 348, 349, -1, 351, -1,
- 353, 354, -1, -1, -1, -1, 359, 360, 361, 362,
- 363, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 373, 374, 375, 376, 377, -1, -1, -1, 381, 382,
- 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
- 393, 394, 395, 396, -1, 398, 399, 400, 401, 402,
- 403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
- 413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
- 423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
- 453, 454, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 324, 325, 326, -1, -1, 329, 330,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 348, 349, -1,
- 351, -1, 353, -1, -1, -1, -1, -1, 359, 360,
- 361, 362, 363, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 373, 374, 375, 376, 377, -1, -1, -1,
- 381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
- 391, 392, 393, 394, 395, 396, -1, 398, 399, 400,
- 401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
- 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
- 421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
- 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
- 451, 452, 453, 454, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
- 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
- 319, 320, 321, 322, 323, 324, 325, 326, -1, -1,
- 329, 330, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 348,
- 349, -1, 351, -1, 353, -1, -1, -1, -1, -1,
- 359, 360, 361, 362, 363, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 373, 374, 375, 376, 377, -1,
- -1, -1, 381, 382, 383, 384, 385, 386, 387, 388,
- 389, 390, 391, 392, 393, 394, 395, 396, -1, 398,
- 399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
- 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
- 419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
- 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 450, 451, 452, 453, 454, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- 317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
- -1, -1, 329, 330, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 348, 349, -1, 351, -1, -1, -1, -1, -1,
- -1, -1, 359, 360, 361, 362, 363, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 373, 374, 375, 376,
- 377, -1, -1, -1, 381, 382, 383, 384, 385, 386,
- 387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
- -1, 398, 399, 400, 401, 402, 403, 404, 405, 406,
- 407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
- 417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
- 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 450, 451, 452, 453, 454, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, 329, 330, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 348, 349, -1, 351, -1, -1, -1,
- -1, -1, -1, -1, 359, 360, 361, 362, 363, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, 377, -1, -1, -1, 381, 382, 383, 384,
- 385, 386, 387, 388, 389, 390, 391, 392, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 408, 409, 410, 411, 412, 413, 414,
- 415, 416, 417, 418, 419, 420, 421, 422, -1, 424,
- 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, -1, -1, -1, 320, 321, 322,
- 323, 324, 325, 326, -1, -1, 329, 330, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 348, 349, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 360, 361, 362,
- 363, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 373, 374, 375, 376, -1, -1, -1, -1, 381, 382,
- 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 408, 409, 410, 411, 412,
- 413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
- -1, 424, 425, 426, 427, 428, 429, 430, 431, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
- 453, 454, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, 316, 317, 318, 319, 320,
- 321, 322, 323, 324, 325, 326, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 351, -1, -1, -1, -1, -1, -1, -1, 359, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 373, 374, 375, 376, 377, -1, -1, -1,
- -1, -1, -1, -1, -1, 386, 387, 388, 389, 390,
- 391, 392, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 408, 409, 410,
- 411, 412, 413, -1, -1, -1, -1, -1, -1, -1,
- -1, 422, -1, 424, 425, 426, 427, 428, 429, 430,
- 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
- 451, 452, 453, 454, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
- 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 315, 316, -1, -1,
- -1, 320, 321, 322, 323, 324, 325, 326, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 778, -1,
+ -1, -1, -1, -1, -1, -1, -1, 778, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 373, 374, 375, 376, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 386, 387, 388,
- 389, 390, 391, 392, 393, -1, -1, 396, -1, 398,
- 399, -1, -1, 402, -1, -1, -1, -1, -1, 408,
- 409, 410, 411, 412, 413, -1, -1, -1, -1, -1,
- -1, -1, -1, 422, -1, 424, 425, 426, 427, 428,
- 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 450, 451, 452, 453, 454, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- -1, -1, -1, 320, 321, 322, 323, 324, 325, 326,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 841, 842, -1, 844, -1, 844, -1, -1, -1,
+ 841, 842, -1, 844, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 359, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 373, 374, 375, 376,
- -1, -1, -1, -1, -1, -1, -1, -1, 385, 386,
- 387, 388, 389, 390, 391, 392, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 408, 409, 410, 411, 412, 413, -1, -1, -1,
- -1, -1, -1, -1, -1, 422, -1, 424, 425, 426,
- 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 450, 451, 452, 453, 454, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
- 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
- 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
- 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
- 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
- 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
- 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
- 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
- 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
- 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
- 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
- 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
- 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
- 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
- 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
- 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
- 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
- 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
- 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
- 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
- 315, 316, -1, -1, -1, 320, 321, 322, 323, 324,
- 325, 326, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 351, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 373, 374,
- 375, 376, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 386, 387, 388, 389, 390, 391, 392, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 408, 409, 410, 411, 412, 413, -1,
- -1, -1, -1, -1, -1, -1, -1, 422, -1, 424,
- 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
- 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
- 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, -1, -1, -1, 320, 321, 322,
- 323, 324, 325, 326, -1, -1, -1, -1, -1, -1,
+ -1, -1, 882, -1, -1, -1, -1, -1, -1, -1,
+ -1, 882, -1, -1, -1, -1, -1, -1, 898, -1,
+ -1, -1, -1, -1, -1, 905, -1, 898, -1, -1,
+ -1, -1, -1, -1, 905, 915, -1, -1, -1, 919,
+ -1, -1, -1, -1, 915, 925, -1, -1, 919, -1,
+ -1, -1, 0, -1, 925, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 354, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 351, -1, -1, -1, -1, -1, -1,
+ -1, 359, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 373, 374, 375, 376, 377,
+ -1, -1, -1, -1, -1, -1, -1, -1, 386, 387,
+ 388, 389, 390, 391, 392, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 373, 374, 375, 376, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 386, 387, 388, 389, 390, 391, 392,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 408, 409, 410, 411, 412,
- 413, -1, -1, -1, -1, -1, -1, -1, -1, 422,
- -1, 424, 425, 426, 427, 428, 429, 430, 431, 432,
- 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
- 443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
- 453, 454, 3, 4, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
- 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
- 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
- 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
- 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
- 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
- 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
- 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
- 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
- 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
- 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
- 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
- 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
- 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
- 291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
- 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
- 311, 312, 313, 314, 315, 316, -1, -1, -1, 320,
- 321, 322, 323, 324, 325, 326, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 354, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 373, 374, 375, 376, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 386, 387, 388, 389, 390,
- 391, 392, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 408, 409, 410,
- 411, 412, 413, -1, -1, -1, -1, -1, -1, -1,
- -1, 422, -1, 424, 425, 426, 427, 428, 429, 430,
- 431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
- 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
- 451, 452, 453, 454, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
- 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
- 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
- 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
- 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
- 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
- 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
- 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
- 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
- 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
- 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
- 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
- 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
- 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
- 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
- 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
- 299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
- 309, 310, 311, 312, 313, 314, 315, 316, -1, -1,
- -1, 320, 321, 322, 323, 324, 325, 326, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 354, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 373, 374, 375, 376, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 386, 387, 388,
- 389, 390, 391, 392, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 408,
- 409, 410, 411, 412, 413, -1, -1, -1, -1, -1,
- -1, -1, -1, 422, -1, 424, 425, 426, 427, 428,
- 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
- 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
- 449, 450, 451, 452, 453, 454, 3, 4, 5, 6,
- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
- 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
- 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
- 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
- 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
- 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
- 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
- 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
- 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
- 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
- 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
- 227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
- 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
- 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
- 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
- 267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
- 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
- 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
- -1, -1, -1, 320, 321, 322, 323, 324, 325, 326,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 373, 374, 375, 376,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 386,
- 387, 388, 389, 390, 391, 392, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 408, 409, 410, 411, 412, 413, -1, -1, -1,
- -1, -1, -1, -1, -1, 422, -1, 424, 425, 426,
- 427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
- 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
- 447, 448, 449, 450, 451, 452, 453, 454, 4, 5,
+ 408, 409, 410, 411, 412, 413, -1, -1, -1, -1,
+ -1, -1, -1, -1, 422, -1, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
+ 448, 449, 450, 451, 452, 453, 454, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, -1, -1, 63, 64, 65,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
@@ -3783,68 +3105,343 @@
286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
- 316, -1, -1, -1, -1, -1, -1, 323, -1, -1,
- -1, -1, -1, 329, 330, -1, -1, -1, -1, -1,
+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, -1, -1, 329, 330, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 348, 349, -1, -1, -1, 353, 354, -1,
- -1, -1, -1, -1, 360, 361, 362, 363, -1, -1,
+ -1, -1, 348, 349, -1, 351, -1, 353, 354, -1,
+ -1, -1, -1, 359, 360, 361, 362, 363, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 373, 374, 375,
+ 376, 377, -1, -1, -1, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
+ 396, -1, 398, 399, 400, 401, 402, 403, 404, 405,
+ 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 447, 448, 449, 450, 451, 452, 453, 454, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
+ 324, 325, 326, -1, -1, 329, 330, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 381, 382, 383, 384, 385,
- 386, -1, -1, -1, -1, 391, 392, -1, -1, -1,
+ -1, -1, -1, -1, 348, 349, -1, 351, -1, 353,
+ 354, -1, -1, -1, -1, 359, 360, 361, 362, 363,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 373,
+ 374, 375, 376, 377, -1, -1, -1, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
+ 394, 395, 396, -1, 398, 399, 400, 401, 402, 403,
+ 404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
+ 454, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, -1, -1, 329, 330, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 414, 415,
- 416, 417, 418, 419, 420, 421, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 436, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
- 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, -1, -1,
- 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
- 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
- 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
- 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
- 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
- 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
- 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
- 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
- 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
- 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
- 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
- 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
- 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
- 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
- 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
- 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
- 313, 314, 315, 316, -1, -1, -1, -1, -1, -1,
- 323, -1, -1, -1, -1, -1, 329, 330, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 348, 349, -1, -1, -1,
- 353, 354, -1, -1, -1, -1, -1, 360, 361, 362,
- 363, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 381, 382,
- 383, 384, 385, 386, -1, -1, -1, -1, 391, 392,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 414, 415, 416, 417, 418, 419, 420, 421, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 436, 4, 5, 6, 7, 8, 9,
+ -1, -1, -1, -1, -1, -1, 348, 349, -1, 351,
+ -1, 353, -1, -1, -1, -1, -1, 359, 360, 361,
+ 362, 363, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 373, 374, 375, 376, 377, -1, -1, -1, 381,
+ 382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
+ 392, 393, 394, 395, 396, -1, 398, 399, 400, 401,
+ 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
+ 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
+ 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
+ 452, 453, 454, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, -1, -1, 63, 64, 65, 66, 67, 68, 69,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
+ 320, 321, 322, 323, 324, 325, 326, -1, -1, 329,
+ 330, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 348, 349,
+ -1, 351, -1, 353, -1, -1, -1, -1, -1, 359,
+ 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 373, 374, 375, 376, 377, -1, -1,
+ -1, 381, 382, 383, 384, 385, 386, 387, 388, 389,
+ 390, 391, 392, 393, 394, 395, 396, -1, 398, 399,
+ 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
+ 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
+ 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
+ 450, 451, 452, 453, 454, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, 319, 320, 321, 322, 323, 324, 325, 326, -1,
+ -1, 329, 330, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 348, 349, -1, 351, -1, -1, -1, -1, -1, -1,
+ -1, 359, 360, 361, 362, 363, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 373, 374, 375, 376, 377,
+ -1, -1, -1, 381, 382, 383, 384, 385, 386, 387,
+ 388, 389, 390, 391, 392, 393, 394, 395, 396, -1,
+ 398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
+ 408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
+ 418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
+ 448, 449, 450, 451, 452, 453, 454, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
+ 326, -1, -1, 329, 330, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 348, 349, -1, 351, -1, -1, -1, -1,
+ -1, -1, -1, 359, 360, 361, 362, 363, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 373, 374, 375,
+ 376, 377, -1, -1, -1, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 408, 409, 410, 411, 412, 413, 414, 415,
+ 416, 417, 418, 419, 420, 421, 422, -1, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 447, 448, 449, 450, 451, 452, 453, 454, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, -1, -1, -1, 320, 321, 322, 323,
+ 324, 325, 326, -1, -1, 329, 330, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 348, 349, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 360, 361, 362, 363,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 373,
+ 374, 375, 376, -1, -1, -1, -1, 381, 382, 383,
+ 384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 408, 409, 410, 411, 412, 413,
+ 414, 415, 416, 417, 418, 419, 420, 421, 422, -1,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
+ 454, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
+ 322, 323, 324, 325, 326, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 351,
+ -1, -1, -1, -1, -1, -1, -1, 359, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 373, 374, 375, 376, 377, -1, -1, -1, -1,
+ -1, -1, -1, -1, 386, 387, 388, 389, 390, 391,
+ 392, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 408, 409, 410, 411,
+ 412, 413, -1, -1, -1, -1, -1, -1, -1, -1,
+ 422, -1, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
+ 452, 453, 454, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
@@ -3870,18 +3467,291 @@
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
- -1, -1, -1, 323, -1, -1, -1, -1, -1, 329,
- 330, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 348, 349,
- -1, -1, 352, -1, -1, -1, -1, -1, -1, -1,
- 360, 361, 362, 363, -1, -1, -1, -1, -1, -1,
+ 320, 321, 322, 323, 324, 325, 326, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 381, 382, 383, 384, 385, 386, -1, -1, -1,
- -1, 391, 392, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 414, 415, 416, 417, 418, 419,
- 420, 421, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 436, 4, 5, 6,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 373, 374, 375, 376, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 386, 387, 388, 389,
+ 390, 391, 392, 393, -1, -1, 396, -1, 398, 399,
+ -1, -1, 402, -1, -1, -1, -1, -1, 408, 409,
+ 410, 411, 412, 413, -1, -1, -1, -1, -1, -1,
+ -1, -1, 422, -1, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
+ 450, 451, 452, 453, 454, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
+ -1, -1, 320, 321, 322, 323, 324, 325, 326, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 359, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 373, 374, 375, 376, -1,
+ -1, -1, -1, -1, -1, -1, -1, 385, 386, 387,
+ 388, 389, 390, 391, 392, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 408, 409, 410, 411, 412, 413, -1, -1, -1, -1,
+ -1, -1, -1, -1, 422, -1, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
+ 448, 449, 450, 451, 452, 453, 454, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, -1, -1, -1, 320, 321, 322, 323, 324, 325,
+ 326, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 351, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 373, 374, 375,
+ 376, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 386, 387, 388, 389, 390, 391, 392, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 408, 409, 410, 411, 412, 413, -1, -1,
+ -1, -1, -1, -1, -1, -1, 422, -1, 424, 425,
+ 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
+ 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
+ 446, 447, 448, 449, 450, 451, 452, 453, 454, 3,
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
+ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
+ 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
+ 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
+ 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
+ 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
+ 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
+ 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
+ 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
+ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
+ 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
+ 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
+ 274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
+ 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
+ 294, 295, 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
+ 314, 315, 316, -1, -1, -1, 320, 321, 322, 323,
+ 324, 325, 326, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 354, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 373,
+ 374, 375, 376, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 386, 387, 388, 389, 390, 391, 392, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 408, 409, 410, 411, 412, 413,
+ -1, -1, -1, -1, -1, -1, -1, -1, 422, -1,
+ 424, 425, 426, 427, 428, 429, 430, 431, 432, 433,
+ 434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
+ 444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
+ 454, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
+ 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
+ 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
+ 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
+ 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
+ 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
+ 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
+ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
+ 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
+ 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
+ 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
+ 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
+ 292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
+ 312, 313, 314, 315, 316, -1, -1, -1, 320, 321,
+ 322, 323, 324, 325, 326, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 354, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 373, 374, 375, 376, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 386, 387, 388, 389, 390, 391,
+ 392, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 408, 409, 410, 411,
+ 412, 413, -1, -1, -1, -1, -1, -1, -1, -1,
+ 422, -1, 424, 425, 426, 427, 428, 429, 430, 431,
+ 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
+ 442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
+ 452, 453, 454, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
+ 320, 321, 322, 323, 324, 325, 326, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 354, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 373, 374, 375, 376, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 386, 387, 388, 389,
+ 390, 391, 392, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 408, 409,
+ 410, 411, 412, 413, -1, -1, -1, -1, -1, -1,
+ -1, -1, 422, -1, 424, 425, 426, 427, 428, 429,
+ 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
+ 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
+ 450, 451, 452, 453, 454, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+ 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
+ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
+ 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
+ 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
+ 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
+ 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
+ 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
+ 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
+ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
+ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
+ 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
+ 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
+ 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
+ 308, 309, 310, 311, 312, 313, 314, 315, 316, -1,
+ -1, -1, 320, 321, 322, 323, 324, 325, 326, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 373, 374, 375, 376, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 386, 387,
+ 388, 389, 390, 391, 392, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 408, 409, 410, 411, 412, 413, -1, -1, -1, -1,
+ -1, -1, -1, -1, 422, -1, 424, 425, 426, 427,
+ 428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
+ 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
+ 448, 449, 450, 451, 452, 453, 454, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
@@ -3916,7 +3786,7 @@
-1, -1, -1, -1, -1, -1, 323, -1, -1, -1,
-1, -1, 329, 330, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 348, 349, -1, -1, -1, 353, -1, -1, -1,
+ -1, 348, 349, -1, -1, -1, 353, 354, -1, -1,
-1, -1, -1, 360, 361, 362, 363, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 381, 382, 383, 384, 385, 386,
@@ -3959,8 +3829,8 @@
314, 315, 316, -1, -1, -1, -1, -1, -1, 323,
-1, -1, -1, -1, -1, 329, 330, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 348, 349, -1, -1, 352, -1,
- -1, -1, -1, -1, -1, -1, 360, 361, 362, 363,
+ -1, -1, -1, -1, 348, 349, -1, -1, -1, 353,
+ 354, -1, -1, -1, -1, -1, 360, 361, 362, 363,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 381, 382, 383,
384, 385, 386, -1, -1, -1, -1, 391, 392, -1,
@@ -4003,7 +3873,7 @@
-1, -1, 323, -1, -1, -1, -1, -1, 329, 330,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 348, 349, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 359, 360,
+ -1, 352, -1, -1, -1, -1, -1, -1, -1, 360,
361, 362, 363, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
381, 382, 383, 384, 385, 386, -1, -1, -1, -1,
@@ -4046,7 +3916,7 @@
-1, -1, -1, -1, -1, 323, -1, -1, -1, -1,
-1, 329, 330, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 348, 349, -1, -1, -1, -1, -1, -1, -1, -1,
+ 348, 349, -1, -1, -1, 353, -1, -1, -1, -1,
-1, -1, 360, 361, 362, 363, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 381, 382, 383, 384, 385, 386, -1,
@@ -4089,7 +3959,7 @@
315, 316, -1, -1, -1, -1, -1, -1, 323, -1,
-1, -1, -1, -1, 329, 330, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 348, 349, -1, -1, -1, -1, -1,
+ -1, -1, -1, 348, 349, -1, -1, 352, -1, -1,
-1, -1, -1, -1, -1, 360, 361, 362, 363, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 381, 382, 383, 384,
@@ -4133,7 +4003,7 @@
-1, 323, -1, -1, -1, -1, -1, 329, 330, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 348, 349, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 360, 361,
+ -1, -1, -1, -1, -1, -1, -1, 359, 360, 361,
362, 363, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 381,
382, 383, 384, 385, 386, -1, -1, -1, -1, 391,
@@ -4174,13 +4044,143 @@
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 316, -1, -1,
-1, -1, -1, -1, 323, -1, -1, -1, -1, -1,
+ 329, 330, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 348,
+ 349, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 360, 361, 362, 363, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 381, 382, 383, 384, 385, 386, -1, -1,
+ -1, -1, 391, 392, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 414, 415, 416, 417, 418,
+ 419, 420, 421, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 436, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, -1, -1, 63, 64, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
+ 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
+ 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
+ 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
+ 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
+ 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
+ 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
+ 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
+ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
+ 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
+ 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
+ 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
+ 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
+ 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
+ 316, -1, -1, -1, -1, -1, -1, 323, -1, -1,
+ -1, -1, -1, 329, 330, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 348, 349, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 360, 361, 362, 363, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 381, 382, 383, 384, 385,
+ 386, -1, -1, -1, -1, 391, 392, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 414, 415,
+ 416, 417, 418, 419, 420, 421, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 436, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
+ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
+ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, -1, -1,
+ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
+ 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
+ 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+ 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
+ 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
+ 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
+ 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
+ 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
+ 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
+ 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
+ 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
+ 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
+ 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
+ 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
+ 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
+ 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
+ 313, 314, 315, 316, -1, -1, -1, -1, -1, -1,
+ 323, -1, -1, -1, -1, -1, 329, 330, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 348, 349, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 360, 361, 362,
+ 363, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 381, 382,
+ 383, 384, 385, 386, -1, -1, -1, -1, 391, 392,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 414, 415, 416, 417, 418, 419, 420, 421, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 436, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
+ 60, -1, -1, 63, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
+ 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
+ 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
+ 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
+ 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
+ 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
+ 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
+ 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
+ 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
+ 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
+ 270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
+ 290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 311, 312, 313, 314, 315, 316, -1, -1, -1,
+ -1, -1, -1, 323, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 386, -1, -1,
- -1, -1, 391, 392
+ -1, -1, -1, -1, -1, -1, 386, -1, -1, -1,
+ -1, 391, 392
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -4256,30 +4256,30 @@
563, 348, 351, 382, 567, 584, 385, 585, 348, 381,
382, 383, 384, 571, 572, 382, 480, 485, 573, 382,
381, 382, 383, 384, 576, 577, 382, 485, 578, 382,
- 348, 579, 382, 584, 385, 485, 511, 581, 582, 382,
- 485, 352, 565, 511, 385, 523, 524, 354, 522, 521,
- 485, 504, 385, 364, 365, 366, 361, 363, 327, 328,
- 331, 332, 367, 368, 333, 334, 371, 370, 369, 335,
- 337, 336, 372, 352, 352, 480, 354, 532, 349, 359,
- 359, 553, 349, 349, 359, 359, 484, 349, 484, 357,
- 359, 359, 359, 359, 338, 339, 340, 341, 342, 343,
- 344, 345, 346, 347, 358, 483, 356, 359, 354, 528,
- 542, 546, 551, 525, 358, 354, 525, 526, 525, 521,
- 385, 350, 459, 484, 385, 482, 467, 348, 382, 568,
- 569, 350, 358, 350, 356, 350, 356, 350, 356, 356,
- 350, 356, 350, 356, 350, 356, 356, 350, 356, 356,
- 350, 356, 350, 356, 350, 350, 523, 512, 356, 359,
- 354, 467, 467, 467, 469, 469, 470, 470, 471, 471,
- 471, 471, 472, 472, 473, 474, 475, 476, 477, 478,
- 481, 352, 539, 552, 528, 554, 484, 359, 484, 357,
- 482, 482, 525, 354, 356, 354, 352, 352, 356, 352,
- 356, 572, 571, 485, 573, 577, 576, 485, 578, 348,
- 579, 581, 582, 359, 524, 484, 533, 484, 499, 544,
- 393, 527, 540, 555, 350, 350, 354, 525, 348, 382,
- 350, 350, 350, 350, 350, 350, 357, 354, 385, 350,
- 349, 544, 556, 557, 535, 536, 537, 543, 547, 482,
- 358, 529, 534, 538, 484, 359, 350, 397, 531, 529,
- 353, 525, 350, 484, 534, 535, 539, 548, 359, 354
+ 348, 579, 382, 584, 385, 485, 581, 582, 382, 485,
+ 352, 565, 511, 385, 523, 524, 354, 522, 521, 485,
+ 504, 385, 364, 365, 366, 361, 363, 327, 328, 331,
+ 332, 367, 368, 333, 334, 371, 370, 369, 335, 337,
+ 336, 372, 352, 352, 480, 354, 532, 349, 359, 359,
+ 553, 349, 349, 359, 359, 484, 349, 484, 357, 359,
+ 359, 359, 359, 338, 339, 340, 341, 342, 343, 344,
+ 345, 346, 347, 358, 483, 356, 359, 354, 528, 542,
+ 546, 551, 525, 358, 354, 525, 526, 525, 521, 385,
+ 350, 459, 484, 385, 482, 467, 348, 382, 568, 569,
+ 350, 358, 350, 356, 350, 356, 350, 356, 356, 350,
+ 356, 350, 356, 350, 356, 356, 350, 356, 356, 350,
+ 356, 350, 356, 350, 350, 523, 512, 356, 359, 354,
+ 467, 467, 467, 469, 469, 470, 470, 471, 471, 471,
+ 471, 472, 472, 473, 474, 475, 476, 477, 478, 481,
+ 352, 539, 552, 528, 554, 484, 359, 484, 357, 482,
+ 482, 525, 354, 356, 354, 352, 352, 356, 352, 356,
+ 572, 571, 485, 573, 577, 576, 485, 578, 348, 579,
+ 581, 582, 359, 524, 484, 533, 484, 499, 544, 393,
+ 527, 540, 555, 350, 350, 354, 525, 348, 382, 350,
+ 350, 350, 350, 350, 350, 357, 354, 385, 350, 349,
+ 544, 556, 557, 535, 536, 537, 543, 547, 482, 358,
+ 529, 534, 538, 484, 359, 350, 397, 531, 529, 353,
+ 525, 350, 484, 534, 535, 539, 548, 359, 354
};
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
@@ -4352,8 +4352,8 @@
570, 570, 571, 571, 572, 572, 572, 572, 572, 573,
573, 574, 574, 575, 575, 575, 575, 575, 575, 575,
575, 576, 576, 577, 577, 577, 577, 578, 578, 579,
- 579, 580, 580, 580, 580, 581, 581, 582, 582, 583,
- 583, 584, 584, 585, 585
+ 579, 580, 580, 580, 580, 581, 581, 582, 583, 583,
+ 584, 584, 585, 585
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
@@ -4426,8 +4426,8 @@
6, 8, 1, 3, 1, 1, 1, 1, 1, 1,
3, 4, 6, 4, 6, 6, 8, 6, 8, 6,
8, 1, 3, 1, 1, 1, 1, 1, 3, 1,
- 3, 6, 8, 4, 6, 1, 3, 1, 1, 4,
- 6, 1, 3, 3, 3
+ 3, 6, 8, 4, 6, 1, 3, 1, 4, 6,
+ 1, 3, 3, 3
};
@@ -6204,7 +6204,7 @@
(yyval.interm).function = (yyvsp[-2].interm.function);
(yyval.interm).loc = (yyvsp[-1].lex).loc;
parseContext.requireExtensions((yyvsp[-1].lex).loc, 1, &E_GL_EXT_subgroup_uniform_control_flow, "attribute");
- parseContext.handleFunctionAttributes((yyvsp[-1].lex).loc, *(yyvsp[0].interm.attributes), (yyval.interm).function);
+ parseContext.handleFunctionAttributes((yyvsp[-1].lex).loc, *(yyvsp[0].interm.attributes));
}
#line 6210 "MachineIndependent/glslang_tab.cpp"
break;
@@ -6215,7 +6215,7 @@
(yyval.interm).function = (yyvsp[-1].interm.function);
(yyval.interm).loc = (yyvsp[0].lex).loc;
parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_EXT_subgroup_uniform_control_flow, "attribute");
- parseContext.handleFunctionAttributes((yyvsp[0].lex).loc, *(yyvsp[-2].interm.attributes), (yyval.interm).function);
+ parseContext.handleFunctionAttributes((yyvsp[0].lex).loc, *(yyvsp[-2].interm.attributes));
}
#line 6221 "MachineIndependent/glslang_tab.cpp"
break;
@@ -6226,8 +6226,8 @@
(yyval.interm).function = (yyvsp[-2].interm.function);
(yyval.interm).loc = (yyvsp[-1].lex).loc;
parseContext.requireExtensions((yyvsp[-1].lex).loc, 1, &E_GL_EXT_subgroup_uniform_control_flow, "attribute");
- parseContext.handleFunctionAttributes((yyvsp[-1].lex).loc, *(yyvsp[-3].interm.attributes), (yyval.interm).function);
- parseContext.handleFunctionAttributes((yyvsp[-1].lex).loc, *(yyvsp[0].interm.attributes), (yyval.interm).function);
+ parseContext.handleFunctionAttributes((yyvsp[-1].lex).loc, *(yyvsp[-3].interm.attributes));
+ parseContext.handleFunctionAttributes((yyvsp[-1].lex).loc, *(yyvsp[0].interm.attributes));
}
#line 6233 "MachineIndependent/glslang_tab.cpp"
break;
@@ -11387,15 +11387,16 @@
case 598: /* $@11: %empty */
#line 3928 "MachineIndependent/glslang.y"
{
+ parseContext.symbolTable.push();
++parseContext.loopNestingLevel;
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 11395 "MachineIndependent/glslang_tab.cpp"
+#line 11396 "MachineIndependent/glslang_tab.cpp"
break;
case 599: /* iteration_statement_nonattributed: DO $@11 statement WHILE LEFT_PAREN expression RIGHT_PAREN SEMICOLON */
-#line 3933 "MachineIndependent/glslang.y"
+#line 3934 "MachineIndependent/glslang.y"
{
if (! parseContext.limits.whileLoops)
parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", "");
@@ -11403,26 +11404,27 @@
parseContext.boolCheck((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode));
(yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[-5].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, false, (yyvsp[-4].lex).loc);
+ parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
--parseContext.loopNestingLevel;
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 11411 "MachineIndependent/glslang_tab.cpp"
+#line 11413 "MachineIndependent/glslang_tab.cpp"
break;
case 600: /* $@12: %empty */
-#line 3944 "MachineIndependent/glslang.y"
+#line 3946 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.push();
++parseContext.loopNestingLevel;
++parseContext.statementNestingLevel;
++parseContext.controlFlowNestingLevel;
}
-#line 11422 "MachineIndependent/glslang_tab.cpp"
+#line 11424 "MachineIndependent/glslang_tab.cpp"
break;
case 601: /* iteration_statement_nonattributed: FOR LEFT_PAREN $@12 for_init_statement for_rest_statement RIGHT_PAREN statement_no_new_scope */
-#line 3950 "MachineIndependent/glslang.y"
+#line 3952 "MachineIndependent/glslang.y"
{
parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc);
@@ -11435,81 +11437,81 @@
--parseContext.statementNestingLevel;
--parseContext.controlFlowNestingLevel;
}
-#line 11439 "MachineIndependent/glslang_tab.cpp"
+#line 11441 "MachineIndependent/glslang_tab.cpp"
break;
case 602: /* for_init_statement: expression_statement */
-#line 3965 "MachineIndependent/glslang.y"
+#line 3967 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11447 "MachineIndependent/glslang_tab.cpp"
+#line 11449 "MachineIndependent/glslang_tab.cpp"
break;
case 603: /* for_init_statement: declaration_statement */
-#line 3968 "MachineIndependent/glslang.y"
+#line 3970 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11455 "MachineIndependent/glslang_tab.cpp"
+#line 11457 "MachineIndependent/glslang_tab.cpp"
break;
case 604: /* conditionopt: condition */
-#line 3974 "MachineIndependent/glslang.y"
+#line 3976 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
}
-#line 11463 "MachineIndependent/glslang_tab.cpp"
+#line 11465 "MachineIndependent/glslang_tab.cpp"
break;
case 605: /* conditionopt: %empty */
-#line 3977 "MachineIndependent/glslang.y"
+#line 3979 "MachineIndependent/glslang.y"
{
(yyval.interm.intermTypedNode) = 0;
}
-#line 11471 "MachineIndependent/glslang_tab.cpp"
+#line 11473 "MachineIndependent/glslang_tab.cpp"
break;
case 606: /* for_rest_statement: conditionopt SEMICOLON */
-#line 3983 "MachineIndependent/glslang.y"
+#line 3985 "MachineIndependent/glslang.y"
{
(yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode);
(yyval.interm.nodePair).node2 = 0;
}
-#line 11480 "MachineIndependent/glslang_tab.cpp"
+#line 11482 "MachineIndependent/glslang_tab.cpp"
break;
case 607: /* for_rest_statement: conditionopt SEMICOLON expression */
-#line 3987 "MachineIndependent/glslang.y"
+#line 3989 "MachineIndependent/glslang.y"
{
(yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode);
(yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode);
}
-#line 11489 "MachineIndependent/glslang_tab.cpp"
+#line 11491 "MachineIndependent/glslang_tab.cpp"
break;
case 608: /* jump_statement: CONTINUE SEMICOLON */
-#line 3994 "MachineIndependent/glslang.y"
+#line 3996 "MachineIndependent/glslang.y"
{
if (parseContext.loopNestingLevel <= 0)
parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", "");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc);
}
-#line 11499 "MachineIndependent/glslang_tab.cpp"
+#line 11501 "MachineIndependent/glslang_tab.cpp"
break;
case 609: /* jump_statement: BREAK SEMICOLON */
-#line 3999 "MachineIndependent/glslang.y"
+#line 4001 "MachineIndependent/glslang.y"
{
if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0)
parseContext.error((yyvsp[-1].lex).loc, "break statement only allowed in switch and loops", "", "");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpBreak, (yyvsp[-1].lex).loc);
}
-#line 11509 "MachineIndependent/glslang_tab.cpp"
+#line 11511 "MachineIndependent/glslang_tab.cpp"
break;
case 610: /* jump_statement: RETURN SEMICOLON */
-#line 4004 "MachineIndependent/glslang.y"
+#line 4006 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc);
if (parseContext.currentFunctionType->getBasicType() != EbtVoid)
@@ -11517,101 +11519,101 @@
if (parseContext.inMain)
parseContext.postEntryPointReturn = true;
}
-#line 11521 "MachineIndependent/glslang_tab.cpp"
+#line 11523 "MachineIndependent/glslang_tab.cpp"
break;
case 611: /* jump_statement: RETURN expression SEMICOLON */
-#line 4011 "MachineIndependent/glslang.y"
+#line 4013 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode));
}
-#line 11529 "MachineIndependent/glslang_tab.cpp"
+#line 11531 "MachineIndependent/glslang_tab.cpp"
break;
case 612: /* jump_statement: DISCARD SEMICOLON */
-#line 4014 "MachineIndependent/glslang.y"
+#line 4016 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc);
}
-#line 11538 "MachineIndependent/glslang_tab.cpp"
+#line 11540 "MachineIndependent/glslang_tab.cpp"
break;
case 613: /* jump_statement: TERMINATE_INVOCATION SEMICOLON */
-#line 4018 "MachineIndependent/glslang.y"
+#line 4020 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "terminateInvocation");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateInvocation, (yyvsp[-1].lex).loc);
}
-#line 11547 "MachineIndependent/glslang_tab.cpp"
+#line 11549 "MachineIndependent/glslang_tab.cpp"
break;
case 614: /* jump_statement: TERMINATE_RAY SEMICOLON */
-#line 4023 "MachineIndependent/glslang.y"
+#line 4025 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "terminateRayEXT");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateRayKHR, (yyvsp[-1].lex).loc);
}
-#line 11556 "MachineIndependent/glslang_tab.cpp"
+#line 11558 "MachineIndependent/glslang_tab.cpp"
break;
case 615: /* jump_statement: IGNORE_INTERSECTION SEMICOLON */
-#line 4027 "MachineIndependent/glslang.y"
+#line 4029 "MachineIndependent/glslang.y"
{
parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "ignoreIntersectionEXT");
(yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpIgnoreIntersectionKHR, (yyvsp[-1].lex).loc);
}
-#line 11565 "MachineIndependent/glslang_tab.cpp"
+#line 11567 "MachineIndependent/glslang_tab.cpp"
break;
case 616: /* translation_unit: external_declaration */
-#line 4037 "MachineIndependent/glslang.y"
+#line 4039 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
}
-#line 11574 "MachineIndependent/glslang_tab.cpp"
+#line 11576 "MachineIndependent/glslang_tab.cpp"
break;
case 617: /* translation_unit: translation_unit external_declaration */
-#line 4041 "MachineIndependent/glslang.y"
+#line 4043 "MachineIndependent/glslang.y"
{
if ((yyvsp[0].interm.intermNode) != nullptr) {
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
}
}
-#line 11585 "MachineIndependent/glslang_tab.cpp"
+#line 11587 "MachineIndependent/glslang_tab.cpp"
break;
case 618: /* external_declaration: function_definition */
-#line 4050 "MachineIndependent/glslang.y"
+#line 4052 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11593 "MachineIndependent/glslang_tab.cpp"
+#line 11595 "MachineIndependent/glslang_tab.cpp"
break;
case 619: /* external_declaration: declaration */
-#line 4053 "MachineIndependent/glslang.y"
+#line 4055 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
}
-#line 11601 "MachineIndependent/glslang_tab.cpp"
+#line 11603 "MachineIndependent/glslang_tab.cpp"
break;
case 620: /* external_declaration: SEMICOLON */
-#line 4057 "MachineIndependent/glslang.y"
+#line 4059 "MachineIndependent/glslang.y"
{
parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "extraneous semicolon");
parseContext.profileRequires((yyvsp[0].lex).loc, ~EEsProfile, 460, nullptr, "extraneous semicolon");
(yyval.interm.intermNode) = nullptr;
}
-#line 11611 "MachineIndependent/glslang_tab.cpp"
+#line 11613 "MachineIndependent/glslang_tab.cpp"
break;
case 621: /* $@13: %empty */
-#line 4066 "MachineIndependent/glslang.y"
+#line 4068 "MachineIndependent/glslang.y"
{
(yyvsp[0].interm).function = parseContext.handleFunctionDeclarator((yyvsp[0].interm).loc, *(yyvsp[0].interm).function, false /* not prototype */);
(yyvsp[0].interm).intermNode = parseContext.handleFunctionDefinition((yyvsp[0].interm).loc, *(yyvsp[0].interm).function);
@@ -11624,11 +11626,11 @@
++parseContext.statementNestingLevel;
}
}
-#line 11628 "MachineIndependent/glslang_tab.cpp"
+#line 11630 "MachineIndependent/glslang_tab.cpp"
break;
case 622: /* function_definition: function_prototype $@13 compound_statement_no_new_scope */
-#line 4078 "MachineIndependent/glslang.y"
+#line 4080 "MachineIndependent/glslang.y"
{
// May be best done as post process phase on intermediate code
if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue)
@@ -11655,228 +11657,228 @@
--parseContext.statementNestingLevel;
}
}
-#line 11659 "MachineIndependent/glslang_tab.cpp"
+#line 11661 "MachineIndependent/glslang_tab.cpp"
break;
case 623: /* attribute: LEFT_BRACKET LEFT_BRACKET attribute_list RIGHT_BRACKET RIGHT_BRACKET */
-#line 4108 "MachineIndependent/glslang.y"
+#line 4110 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = (yyvsp[-2].interm.attributes);
}
-#line 11667 "MachineIndependent/glslang_tab.cpp"
+#line 11669 "MachineIndependent/glslang_tab.cpp"
break;
case 624: /* attribute_list: single_attribute */
-#line 4113 "MachineIndependent/glslang.y"
+#line 4115 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = (yyvsp[0].interm.attributes);
}
-#line 11675 "MachineIndependent/glslang_tab.cpp"
+#line 11677 "MachineIndependent/glslang_tab.cpp"
break;
case 625: /* attribute_list: attribute_list COMMA single_attribute */
-#line 4116 "MachineIndependent/glslang.y"
+#line 4118 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes));
}
-#line 11683 "MachineIndependent/glslang_tab.cpp"
+#line 11685 "MachineIndependent/glslang_tab.cpp"
break;
case 626: /* single_attribute: IDENTIFIER */
-#line 4121 "MachineIndependent/glslang.y"
+#line 4123 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string);
}
-#line 11691 "MachineIndependent/glslang_tab.cpp"
+#line 11693 "MachineIndependent/glslang_tab.cpp"
break;
case 627: /* single_attribute: IDENTIFIER LEFT_PAREN constant_expression RIGHT_PAREN */
-#line 4124 "MachineIndependent/glslang.y"
+#line 4126 "MachineIndependent/glslang.y"
{
(yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode));
}
-#line 11699 "MachineIndependent/glslang_tab.cpp"
+#line 11701 "MachineIndependent/glslang_tab.cpp"
break;
case 628: /* spirv_requirements_list: spirv_requirements_parameter */
-#line 4131 "MachineIndependent/glslang.y"
+#line 4133 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvReq) = (yyvsp[0].interm.spirvReq);
}
-#line 11707 "MachineIndependent/glslang_tab.cpp"
+#line 11709 "MachineIndependent/glslang_tab.cpp"
break;
case 629: /* spirv_requirements_list: spirv_requirements_list COMMA spirv_requirements_parameter */
-#line 4134 "MachineIndependent/glslang.y"
+#line 4136 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvReq) = parseContext.mergeSpirvRequirements((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvReq), (yyvsp[0].interm.spirvReq));
}
-#line 11715 "MachineIndependent/glslang_tab.cpp"
+#line 11717 "MachineIndependent/glslang_tab.cpp"
break;
case 630: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_extension_list RIGHT_BRACKET */
-#line 4139 "MachineIndependent/glslang.y"
+#line 4141 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvReq) = parseContext.makeSpirvRequirement((yyvsp[-3].lex).loc, *(yyvsp[-4].lex).string, (yyvsp[-1].interm.intermNode)->getAsAggregate(), nullptr);
}
-#line 11723 "MachineIndependent/glslang_tab.cpp"
+#line 11725 "MachineIndependent/glslang_tab.cpp"
break;
case 631: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_capability_list RIGHT_BRACKET */
-#line 4142 "MachineIndependent/glslang.y"
+#line 4144 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvReq) = parseContext.makeSpirvRequirement((yyvsp[-3].lex).loc, *(yyvsp[-4].lex).string, nullptr, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 11731 "MachineIndependent/glslang_tab.cpp"
+#line 11733 "MachineIndependent/glslang_tab.cpp"
break;
case 632: /* spirv_extension_list: STRING_LITERAL */
-#line 4147 "MachineIndependent/glslang.y"
+#line 4149 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true));
}
-#line 11739 "MachineIndependent/glslang_tab.cpp"
+#line 11741 "MachineIndependent/glslang_tab.cpp"
break;
case 633: /* spirv_extension_list: spirv_extension_list COMMA STRING_LITERAL */
-#line 4150 "MachineIndependent/glslang.y"
+#line 4152 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true));
}
-#line 11747 "MachineIndependent/glslang_tab.cpp"
+#line 11749 "MachineIndependent/glslang_tab.cpp"
break;
case 634: /* spirv_capability_list: INTCONSTANT */
-#line 4155 "MachineIndependent/glslang.y"
+#line 4157 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true));
}
-#line 11755 "MachineIndependent/glslang_tab.cpp"
+#line 11757 "MachineIndependent/glslang_tab.cpp"
break;
case 635: /* spirv_capability_list: spirv_capability_list COMMA INTCONSTANT */
-#line 4158 "MachineIndependent/glslang.y"
+#line 4160 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true));
}
-#line 11763 "MachineIndependent/glslang_tab.cpp"
+#line 11765 "MachineIndependent/glslang_tab.cpp"
break;
case 636: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT RIGHT_PAREN */
-#line 4163 "MachineIndependent/glslang.y"
+#line 4165 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-1].lex).i);
(yyval.interm.intermNode) = 0;
}
-#line 11772 "MachineIndependent/glslang_tab.cpp"
+#line 11774 "MachineIndependent/glslang_tab.cpp"
break;
case 637: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */
-#line 4167 "MachineIndependent/glslang.y"
+#line 4169 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));
parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-1].lex).i);
(yyval.interm.intermNode) = 0;
}
-#line 11782 "MachineIndependent/glslang_tab.cpp"
+#line 11784 "MachineIndependent/glslang_tab.cpp"
break;
case 638: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */
-#line 4172 "MachineIndependent/glslang.y"
+#line 4174 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
(yyval.interm.intermNode) = 0;
}
-#line 11791 "MachineIndependent/glslang_tab.cpp"
+#line 11793 "MachineIndependent/glslang_tab.cpp"
break;
case 639: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */
-#line 4176 "MachineIndependent/glslang.y"
+#line 4178 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
(yyval.interm.intermNode) = 0;
}
-#line 11801 "MachineIndependent/glslang_tab.cpp"
+#line 11803 "MachineIndependent/glslang_tab.cpp"
break;
case 640: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */
-#line 4181 "MachineIndependent/glslang.y"
+#line 4183 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvExecutionModeId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
(yyval.interm.intermNode) = 0;
}
-#line 11810 "MachineIndependent/glslang_tab.cpp"
+#line 11812 "MachineIndependent/glslang_tab.cpp"
break;
case 641: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */
-#line 4185 "MachineIndependent/glslang.y"
+#line 4187 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
parseContext.intermediate.insertSpirvExecutionModeId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
(yyval.interm.intermNode) = 0;
}
-#line 11820 "MachineIndependent/glslang_tab.cpp"
+#line 11822 "MachineIndependent/glslang_tab.cpp"
break;
case 642: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter */
-#line 4192 "MachineIndependent/glslang.y"
+#line 4194 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));
}
-#line 11828 "MachineIndependent/glslang_tab.cpp"
+#line 11830 "MachineIndependent/glslang_tab.cpp"
break;
case 643: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter_list COMMA spirv_execution_mode_parameter */
-#line 4195 "MachineIndependent/glslang.y"
+#line 4197 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode));
}
-#line 11836 "MachineIndependent/glslang_tab.cpp"
+#line 11838 "MachineIndependent/glslang_tab.cpp"
break;
case 644: /* spirv_execution_mode_parameter: FLOATCONSTANT */
-#line 4200 "MachineIndependent/glslang.y"
+#line 4202 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
}
-#line 11844 "MachineIndependent/glslang_tab.cpp"
+#line 11846 "MachineIndependent/glslang_tab.cpp"
break;
case 645: /* spirv_execution_mode_parameter: INTCONSTANT */
-#line 4203 "MachineIndependent/glslang.y"
+#line 4205 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
}
-#line 11852 "MachineIndependent/glslang_tab.cpp"
+#line 11854 "MachineIndependent/glslang_tab.cpp"
break;
case 646: /* spirv_execution_mode_parameter: UINTCONSTANT */
-#line 4206 "MachineIndependent/glslang.y"
+#line 4208 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
}
-#line 11860 "MachineIndependent/glslang_tab.cpp"
+#line 11862 "MachineIndependent/glslang_tab.cpp"
break;
case 647: /* spirv_execution_mode_parameter: BOOLCONSTANT */
-#line 4209 "MachineIndependent/glslang.y"
+#line 4211 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
}
-#line 11868 "MachineIndependent/glslang_tab.cpp"
+#line 11870 "MachineIndependent/glslang_tab.cpp"
break;
case 648: /* spirv_execution_mode_parameter: STRING_LITERAL */
-#line 4212 "MachineIndependent/glslang.y"
+#line 4214 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true);
}
-#line 11876 "MachineIndependent/glslang_tab.cpp"
+#line 11878 "MachineIndependent/glslang_tab.cpp"
break;
case 649: /* spirv_execution_mode_id_parameter_list: constant_expression */
-#line 4217 "MachineIndependent/glslang.y"
+#line 4219 "MachineIndependent/glslang.y"
{
if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat &&
(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt &&
@@ -11886,11 +11888,11 @@
parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "this type not allowed", (yyvsp[0].interm.intermTypedNode)->getType().getBasicString(), "");
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermTypedNode));
}
-#line 11890 "MachineIndependent/glslang_tab.cpp"
+#line 11892 "MachineIndependent/glslang_tab.cpp"
break;
case 650: /* spirv_execution_mode_id_parameter_list: spirv_execution_mode_id_parameter_list COMMA constant_expression */
-#line 4226 "MachineIndependent/glslang.y"
+#line 4228 "MachineIndependent/glslang.y"
{
if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat &&
(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt &&
@@ -11900,156 +11902,156 @@
parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "this type not allowed", (yyvsp[0].interm.intermTypedNode)->getType().getBasicString(), "");
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermTypedNode));
}
-#line 11904 "MachineIndependent/glslang_tab.cpp"
+#line 11906 "MachineIndependent/glslang_tab.cpp"
break;
case 651: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN INTCONSTANT RIGHT_PAREN */
-#line 4237 "MachineIndependent/glslang.y"
+#line 4239 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-3].lex).loc);
(yyval.interm.type).qualifier.storage = EvqSpirvStorageClass;
(yyval.interm.type).qualifier.spirvStorageClass = (yyvsp[-1].lex).i;
}
-#line 11914 "MachineIndependent/glslang_tab.cpp"
+#line 11916 "MachineIndependent/glslang_tab.cpp"
break;
case 652: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */
-#line 4242 "MachineIndependent/glslang.y"
+#line 4244 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc);
parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));
(yyval.interm.type).qualifier.storage = EvqSpirvStorageClass;
(yyval.interm.type).qualifier.spirvStorageClass = (yyvsp[-1].lex).i;
}
-#line 11925 "MachineIndependent/glslang_tab.cpp"
+#line 11927 "MachineIndependent/glslang_tab.cpp"
break;
case 653: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT RIGHT_PAREN */
-#line 4250 "MachineIndependent/glslang.y"
+#line 4252 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-3].lex).loc);
(yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-1].lex).i);
}
-#line 11934 "MachineIndependent/glslang_tab.cpp"
+#line 11936 "MachineIndependent/glslang_tab.cpp"
break;
case 654: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */
-#line 4254 "MachineIndependent/glslang.y"
+#line 4256 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc);
parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));
(yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-1].lex).i);
}
-#line 11944 "MachineIndependent/glslang_tab.cpp"
+#line 11946 "MachineIndependent/glslang_tab.cpp"
break;
case 655: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */
-#line 4259 "MachineIndependent/glslang.y"
+#line 4261 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc);
(yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 11953 "MachineIndependent/glslang_tab.cpp"
+#line 11955 "MachineIndependent/glslang_tab.cpp"
break;
case 656: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */
-#line 4263 "MachineIndependent/glslang.y"
+#line 4265 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-7].lex).loc);
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
(yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 11963 "MachineIndependent/glslang_tab.cpp"
+#line 11965 "MachineIndependent/glslang_tab.cpp"
break;
case 657: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */
-#line 4268 "MachineIndependent/glslang.y"
+#line 4270 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc);
(yyval.interm.type).qualifier.setSpirvDecorateId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 11972 "MachineIndependent/glslang_tab.cpp"
+#line 11974 "MachineIndependent/glslang_tab.cpp"
break;
case 658: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */
-#line 4272 "MachineIndependent/glslang.y"
+#line 4274 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-7].lex).loc);
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
(yyval.interm.type).qualifier.setSpirvDecorateId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 11982 "MachineIndependent/glslang_tab.cpp"
+#line 11984 "MachineIndependent/glslang_tab.cpp"
break;
case 659: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */
-#line 4277 "MachineIndependent/glslang.y"
+#line 4279 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc);
(yyval.interm.type).qualifier.setSpirvDecorateString((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 11991 "MachineIndependent/glslang_tab.cpp"
+#line 11993 "MachineIndependent/glslang_tab.cpp"
break;
case 660: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */
-#line 4281 "MachineIndependent/glslang.y"
+#line 4283 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-7].lex).loc);
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
(yyval.interm.type).qualifier.setSpirvDecorateString((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate());
}
-#line 12001 "MachineIndependent/glslang_tab.cpp"
+#line 12003 "MachineIndependent/glslang_tab.cpp"
break;
case 661: /* spirv_decorate_parameter_list: spirv_decorate_parameter */
-#line 4288 "MachineIndependent/glslang.y"
+#line 4290 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));
}
-#line 12009 "MachineIndependent/glslang_tab.cpp"
+#line 12011 "MachineIndependent/glslang_tab.cpp"
break;
case 662: /* spirv_decorate_parameter_list: spirv_decorate_parameter_list COMMA spirv_decorate_parameter */
-#line 4291 "MachineIndependent/glslang.y"
+#line 4293 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode));
}
-#line 12017 "MachineIndependent/glslang_tab.cpp"
+#line 12019 "MachineIndependent/glslang_tab.cpp"
break;
case 663: /* spirv_decorate_parameter: FLOATCONSTANT */
-#line 4296 "MachineIndependent/glslang.y"
+#line 4298 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
}
-#line 12025 "MachineIndependent/glslang_tab.cpp"
+#line 12027 "MachineIndependent/glslang_tab.cpp"
break;
case 664: /* spirv_decorate_parameter: INTCONSTANT */
-#line 4299 "MachineIndependent/glslang.y"
+#line 4301 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
}
-#line 12033 "MachineIndependent/glslang_tab.cpp"
+#line 12035 "MachineIndependent/glslang_tab.cpp"
break;
case 665: /* spirv_decorate_parameter: UINTCONSTANT */
-#line 4302 "MachineIndependent/glslang.y"
+#line 4304 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
}
-#line 12041 "MachineIndependent/glslang_tab.cpp"
+#line 12043 "MachineIndependent/glslang_tab.cpp"
break;
case 666: /* spirv_decorate_parameter: BOOLCONSTANT */
-#line 4305 "MachineIndependent/glslang.y"
+#line 4307 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
}
-#line 12049 "MachineIndependent/glslang_tab.cpp"
+#line 12051 "MachineIndependent/glslang_tab.cpp"
break;
case 667: /* spirv_decorate_id_parameter_list: constant_expression */
-#line 4310 "MachineIndependent/glslang.y"
+#line 4312 "MachineIndependent/glslang.y"
{
if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat &&
(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt &&
@@ -12058,11 +12060,11 @@
parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "this type not allowed", (yyvsp[0].interm.intermTypedNode)->getType().getBasicString(), "");
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermTypedNode));
}
-#line 12062 "MachineIndependent/glslang_tab.cpp"
+#line 12064 "MachineIndependent/glslang_tab.cpp"
break;
case 668: /* spirv_decorate_id_parameter_list: spirv_decorate_id_parameter_list COMMA constant_expression */
-#line 4318 "MachineIndependent/glslang.y"
+#line 4320 "MachineIndependent/glslang.y"
{
if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat &&
(yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt &&
@@ -12071,147 +12073,139 @@
parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "this type not allowed", (yyvsp[0].interm.intermTypedNode)->getType().getBasicString(), "");
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermTypedNode));
}
-#line 12075 "MachineIndependent/glslang_tab.cpp"
+#line 12077 "MachineIndependent/glslang_tab.cpp"
break;
case 669: /* spirv_decorate_string_parameter_list: STRING_LITERAL */
-#line 4328 "MachineIndependent/glslang.y"
+#line 4330 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(
parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true));
}
-#line 12084 "MachineIndependent/glslang_tab.cpp"
+#line 12086 "MachineIndependent/glslang_tab.cpp"
break;
case 670: /* spirv_decorate_string_parameter_list: spirv_decorate_string_parameter_list COMMA STRING_LITERAL */
-#line 4332 "MachineIndependent/glslang.y"
+#line 4334 "MachineIndependent/glslang.y"
{
(yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true));
}
-#line 12092 "MachineIndependent/glslang_tab.cpp"
+#line 12094 "MachineIndependent/glslang_tab.cpp"
break;
case 671: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */
-#line 4337 "MachineIndependent/glslang.y"
+#line 4339 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).setSpirvType(*(yyvsp[-3].interm.spirvInst), (yyvsp[-1].interm.spirvTypeParams));
}
-#line 12101 "MachineIndependent/glslang_tab.cpp"
+#line 12103 "MachineIndependent/glslang_tab.cpp"
break;
case 672: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */
-#line 4341 "MachineIndependent/glslang.y"
+#line 4343 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-7].lex).loc, parseContext.symbolTable.atGlobalLevel());
parseContext.intermediate.insertSpirvRequirement((yyvsp[-5].interm.spirvReq));
(yyval.interm.type).setSpirvType(*(yyvsp[-3].interm.spirvInst), (yyvsp[-1].interm.spirvTypeParams));
}
-#line 12111 "MachineIndependent/glslang_tab.cpp"
+#line 12113 "MachineIndependent/glslang_tab.cpp"
break;
case 673: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */
-#line 4346 "MachineIndependent/glslang.y"
+#line 4348 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-3].lex).loc, parseContext.symbolTable.atGlobalLevel());
(yyval.interm.type).setSpirvType(*(yyvsp[-1].interm.spirvInst));
}
-#line 12120 "MachineIndependent/glslang_tab.cpp"
+#line 12122 "MachineIndependent/glslang_tab.cpp"
break;
case 674: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */
-#line 4350 "MachineIndependent/glslang.y"
+#line 4352 "MachineIndependent/glslang.y"
{
(yyval.interm.type).init((yyvsp[-5].lex).loc, parseContext.symbolTable.atGlobalLevel());
parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));
(yyval.interm.type).setSpirvType(*(yyvsp[-1].interm.spirvInst));
}
-#line 12130 "MachineIndependent/glslang_tab.cpp"
+#line 12132 "MachineIndependent/glslang_tab.cpp"
break;
case 675: /* spirv_type_parameter_list: spirv_type_parameter */
-#line 4357 "MachineIndependent/glslang.y"
+#line 4359 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvTypeParams) = (yyvsp[0].interm.spirvTypeParams);
}
-#line 12138 "MachineIndependent/glslang_tab.cpp"
+#line 12140 "MachineIndependent/glslang_tab.cpp"
break;
case 676: /* spirv_type_parameter_list: spirv_type_parameter_list COMMA spirv_type_parameter */
-#line 4360 "MachineIndependent/glslang.y"
+#line 4362 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvTypeParams) = parseContext.mergeSpirvTypeParameters((yyvsp[-2].interm.spirvTypeParams), (yyvsp[0].interm.spirvTypeParams));
}
-#line 12146 "MachineIndependent/glslang_tab.cpp"
+#line 12148 "MachineIndependent/glslang_tab.cpp"
break;
case 677: /* spirv_type_parameter: constant_expression */
-#line 4365 "MachineIndependent/glslang.y"
+#line 4367 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvTypeParams) = parseContext.makeSpirvTypeParameters((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode)->getAsConstantUnion());
}
-#line 12154 "MachineIndependent/glslang_tab.cpp"
+#line 12156 "MachineIndependent/glslang_tab.cpp"
break;
- case 678: /* spirv_type_parameter: type_specifier */
-#line 4368 "MachineIndependent/glslang.y"
- {
- (yyval.interm.spirvTypeParams) = parseContext.makeSpirvTypeParameters((yyvsp[0].interm.type));
- }
-#line 12162 "MachineIndependent/glslang_tab.cpp"
- break;
-
- case 679: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */
-#line 4373 "MachineIndependent/glslang.y"
+ case 678: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */
+#line 4372 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst);
}
-#line 12170 "MachineIndependent/glslang_tab.cpp"
+#line 12164 "MachineIndependent/glslang_tab.cpp"
break;
- case 680: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */
-#line 4376 "MachineIndependent/glslang.y"
+ case 679: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */
+#line 4375 "MachineIndependent/glslang.y"
{
parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq));
(yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst);
}
-#line 12179 "MachineIndependent/glslang_tab.cpp"
+#line 12173 "MachineIndependent/glslang_tab.cpp"
break;
- case 681: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_id */
-#line 4382 "MachineIndependent/glslang.y"
+ case 680: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_id */
+#line 4381 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvInst) = (yyvsp[0].interm.spirvInst);
}
-#line 12187 "MachineIndependent/glslang_tab.cpp"
+#line 12181 "MachineIndependent/glslang_tab.cpp"
break;
- case 682: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_list COMMA spirv_instruction_qualifier_id */
-#line 4385 "MachineIndependent/glslang.y"
+ case 681: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_list COMMA spirv_instruction_qualifier_id */
+#line 4384 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvInst) = parseContext.mergeSpirvInstruction((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvInst), (yyvsp[0].interm.spirvInst));
}
-#line 12195 "MachineIndependent/glslang_tab.cpp"
+#line 12189 "MachineIndependent/glslang_tab.cpp"
break;
- case 683: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL STRING_LITERAL */
-#line 4390 "MachineIndependent/glslang.y"
+ case 682: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL STRING_LITERAL */
+#line 4389 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, *(yyvsp[0].lex).string);
}
-#line 12203 "MachineIndependent/glslang_tab.cpp"
+#line 12197 "MachineIndependent/glslang_tab.cpp"
break;
- case 684: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL INTCONSTANT */
-#line 4393 "MachineIndependent/glslang.y"
+ case 683: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL INTCONSTANT */
+#line 4392 "MachineIndependent/glslang.y"
{
(yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[0].lex).i);
}
-#line 12211 "MachineIndependent/glslang_tab.cpp"
+#line 12205 "MachineIndependent/glslang_tab.cpp"
break;
-#line 12215 "MachineIndependent/glslang_tab.cpp"
+#line 12209 "MachineIndependent/glslang_tab.cpp"
default: break;
}
@@ -12436,5 +12430,5 @@
return yyresult;
}
-#line 4398 "MachineIndependent/glslang.y"
+#line 4397 "MachineIndependent/glslang.y"
diff --git a/glslang/MachineIndependent/intermOut.cpp b/glslang/MachineIndependent/intermOut.cpp
index 105adc4..d8a3aab 100644
--- a/glslang/MachineIndependent/intermOut.cpp
+++ b/glslang/MachineIndependent/intermOut.cpp
@@ -48,37 +48,6 @@
#endif
#include <cstdint>
-namespace {
-
-bool IsInfinity(double x) {
-#ifdef _MSC_VER
- switch (_fpclass(x)) {
- case _FPCLASS_NINF:
- case _FPCLASS_PINF:
- return true;
- default:
- return false;
- }
-#else
- return std::isinf(x);
-#endif
-}
-
-bool IsNan(double x) {
-#ifdef _MSC_VER
- switch (_fpclass(x)) {
- case _FPCLASS_SNAN:
- case _FPCLASS_QNAN:
- return true;
- default:
- return false;
- }
-#else
- return std::isnan(x);
-#endif
-}
-
-}
namespace glslang {
@@ -1089,6 +1058,7 @@
case EOpSubpassLoadMS: out.debug << "subpassLoadMS"; break;
case EOpTraceNV: out.debug << "traceNV"; break;
+ case EOpTraceRayMotionNV: out.debug << "traceRayMotionNV"; break;
case EOpTraceKHR: out.debug << "traceRayKHR"; break;
case EOpReportIntersection: out.debug << "reportIntersectionNV"; break;
case EOpIgnoreIntersectionNV: out.debug << "ignoreIntersectionNV"; break;
diff --git a/glslang/MachineIndependent/iomapper.cpp b/glslang/MachineIndependent/iomapper.cpp
index 7e12864..a3c53f5 100644
--- a/glslang/MachineIndependent/iomapper.cpp
+++ b/glslang/MachineIndependent/iomapper.cpp
@@ -79,7 +79,7 @@
target = &inputList;
else if (base->getQualifier().storage == EvqVaryingOut)
target = &outputList;
- else if (base->getQualifier().isUniformOrBuffer() && !base->getQualifier().isPushConstant())
+ else if (base->getQualifier().isUniformOrBuffer() && !base->getQualifier().isPushConstant() && !base->getQualifier().isShaderRecord())
target = &uniformList;
// If a global is being visited, then we should also traverse it incase it's evaluation
// ends up visiting inputs we want to tag as live
@@ -514,6 +514,24 @@
return;
}
else {
+ // Deal with input/output pairs where one is a block member but the other is loose,
+ // e.g. with ARB_separate_shader_objects
+ if (type1.getBasicType() == EbtBlock &&
+ type1.isStruct() && !type2.isStruct()) {
+ // Iterate through block members tracking layout
+ glslang::TString name;
+ type1.getStruct()->begin()->type->appendMangledName(name);
+ if (name == mangleName2
+ && type1.getQualifier().layoutLocation == type2.getQualifier().layoutLocation) return;
+ }
+ if (type2.getBasicType() == EbtBlock &&
+ type2.isStruct() && !type1.isStruct()) {
+ // Iterate through block members tracking layout
+ glslang::TString name;
+ type2.getStruct()->begin()->type->appendMangledName(name);
+ if (name == mangleName1
+ && type1.getQualifier().layoutLocation == type2.getQualifier().layoutLocation) return;
+ }
TString err = "Invalid In/Out variable type : " + entKey.first;
infoSink.info.message(EPrefixInternalError, err.c_str());
hadError = true;
@@ -748,7 +766,7 @@
};
TDefaultIoResolverBase::TDefaultIoResolverBase(const TIntermediate& intermediate)
- : intermediate(intermediate)
+ : referenceIntermediate(intermediate)
, nextUniformLocation(intermediate.getUniformLocationBase())
, nextInputLocation(0)
, nextOutputLocation(0)
@@ -760,17 +778,17 @@
int TDefaultIoResolverBase::getBaseBinding(EShLanguage stage, TResourceType res, unsigned int set) const {
return stageIntermediates[stage] ? selectBaseBinding(stageIntermediates[stage]->getShiftBinding(res), stageIntermediates[stage]->getShiftBindingForSet(res, set))
- : selectBaseBinding(intermediate.getShiftBinding(res), intermediate.getShiftBindingForSet(res, set));
+ : selectBaseBinding(referenceIntermediate.getShiftBinding(res), referenceIntermediate.getShiftBindingForSet(res, set));
}
const std::vector<std::string>& TDefaultIoResolverBase::getResourceSetBinding(EShLanguage stage) const {
return stageIntermediates[stage] ? stageIntermediates[stage]->getResourceSetBinding()
- : intermediate.getResourceSetBinding();
+ : referenceIntermediate.getResourceSetBinding();
}
-bool TDefaultIoResolverBase::doAutoBindingMapping() const { return intermediate.getAutoMapBindings(); }
+bool TDefaultIoResolverBase::doAutoBindingMapping() const { return referenceIntermediate.getAutoMapBindings(); }
-bool TDefaultIoResolverBase::doAutoLocationMapping() const { return intermediate.getAutoMapLocations(); }
+bool TDefaultIoResolverBase::doAutoLocationMapping() const { return referenceIntermediate.getAutoMapLocations(); }
TDefaultIoResolverBase::TSlotSet::iterator TDefaultIoResolverBase::findSlot(int set, int slot) {
return std::lower_bound(slots[set].begin(), slots[set].end(), slot);
@@ -827,7 +845,7 @@
}
// no locations added if already present, a built-in variable, a block, or an opaque
if (type.getQualifier().hasLocation() || type.isBuiltIn() || type.getBasicType() == EbtBlock ||
- type.isAtomic() || (type.containsOpaque() && intermediate.getSpv().openGl == 0)) {
+ type.isAtomic() || type.isSpirvType() || (type.containsOpaque() && referenceIntermediate.getSpv().openGl == 0)) {
return ent.newLocation = -1;
}
// no locations on blocks of built-in variables
@@ -839,7 +857,7 @@
return ent.newLocation = -1;
}
}
- int location = intermediate.getUniformLocationOverride(name);
+ int location = referenceIntermediate.getUniformLocationOverride(name);
if (location != -1) {
return ent.newLocation = location;
}
@@ -855,8 +873,8 @@
return ent.newLocation = -1;
}
- // no locations added if already present, or a built-in variable
- if (type.getQualifier().hasLocation() || type.isBuiltIn()) {
+ // no locations added if already present, a built-in variable, or a variable with SPIR-V decorate
+ if (type.getQualifier().hasLocation() || type.isBuiltIn() || type.getQualifier().hasSprivDecorate()) {
return ent.newLocation = -1;
}
@@ -942,8 +960,8 @@
if (type.getQualifier().hasLocation()) {
return ent.newLocation = type.getQualifier().layoutLocation;
}
- // no locations added if already present, or a built-in variable
- if (type.isBuiltIn()) {
+ // no locations added if already present, a built-in variable, or a variable with SPIR-V decorate
+ if (type.isBuiltIn() || type.getQualifier().hasSprivDecorate()) {
return ent.newLocation = -1;
}
// no locations on blocks of built-in variables
@@ -1024,7 +1042,8 @@
} else {
// no locations added if already present, a built-in variable, a block, or an opaque
if (type.getQualifier().hasLocation() || type.isBuiltIn() || type.getBasicType() == EbtBlock ||
- type.isAtomic() || (type.containsOpaque() && intermediate.getSpv().openGl == 0)) {
+ type.isAtomic() || type.isSpirvType() ||
+ (type.containsOpaque() && referenceIntermediate.getSpv().openGl == 0)) {
return ent.newLocation = -1;
}
// no locations on blocks of built-in variables
@@ -1037,7 +1056,7 @@
}
}
}
- int location = intermediate.getUniformLocationOverride(name.c_str());
+ int location = referenceIntermediate.getUniformLocationOverride(name.c_str());
if (location != -1) {
return ent.newLocation = location;
}
@@ -1086,7 +1105,7 @@
const TType& type = ent.symbol->getType();
const TString& name = ent.symbol->getAccessName();
// On OpenGL arrays of opaque types take a separate binding for each element
- int numBindings = intermediate.getSpv().openGl != 0 && type.isSizedArray() ? type.getCumulativeArraySize() : 1;
+ int numBindings = referenceIntermediate.getSpv().openGl != 0 && type.isSizedArray() ? type.getCumulativeArraySize() : 1;
TResourceType resource = getResourceType(type);
// don't need to handle uniform symbol, it will be handled in resolveUniformLocation
if (resource == EResUbo && type.getBasicType() != EbtBlock) {
@@ -1095,7 +1114,7 @@
// There is no 'set' qualifier in OpenGL shading language, each resource has its own
// binding name space, so remap the 'set' to resource type which make each resource
// binding is valid from 0 to MAX_XXRESOURCE_BINDINGS
- int set = intermediate.getSpv().openGl != 0 ? resource : ent.newSet;
+ int set = referenceIntermediate.getSpv().openGl != 0 ? resource : ent.newSet;
int resourceKey = set;
if (resource < EResCount) {
if (type.getQualifier().hasBinding()) {
@@ -1223,7 +1242,7 @@
const TType& type = ent.symbol->getType();
const TString& name = ent.symbol->getAccessName();
TResourceType resource = getResourceType(type);
- int set = intermediate.getSpv().openGl != 0 ? resource : resolveSet(ent.stage, ent);
+ int set = referenceIntermediate.getSpv().openGl != 0 ? resource : resolveSet(ent.stage, ent);
int resourceKey = set;
if (type.getQualifier().hasBinding()) {
@@ -1233,7 +1252,7 @@
if (iter == varSlotMap.end()) {
// Reserve the slots for the ubo, ssbo and opaques who has explicit binding
- int numBindings = intermediate.getSpv().openGl != 0 && type.isSizedArray() ? type.getCumulativeArraySize() : 1;
+ int numBindings = referenceIntermediate.getSpv().openGl != 0 && type.isSizedArray() ? type.getCumulativeArraySize() : 1;
varSlotMap[name] = binding;
reserveSlot(resourceKey, binding, numBindings);
} else {
@@ -1288,7 +1307,7 @@
const TType& type = ent.symbol->getType();
const int set = getLayoutSet(type);
// On OpenGL arrays of opaque types take a seperate binding for each element
- int numBindings = intermediate.getSpv().openGl != 0 && type.isSizedArray() ? type.getCumulativeArraySize() : 1;
+ int numBindings = referenceIntermediate.getSpv().openGl != 0 && type.isSizedArray() ? type.getCumulativeArraySize() : 1;
TResourceType resource = getResourceType(type);
if (resource < EResCount) {
if (type.getQualifier().hasBinding()) {
@@ -1633,6 +1652,37 @@
return TVarEntryInfo::TOrderByPriority()(p1.second, p2.second);
});
resolver->endResolve(EShLangCount);
+ if (autoPushConstantBlockName.length()) {
+ bool upgraded = false;
+ for (size_t stage = 0; stage < EShLangCount; stage++) {
+ if (intermediates[stage] != nullptr) {
+ TVarLiveMap** pUniformVarMap = uniformResolve.uniformVarMap;
+ auto at = pUniformVarMap[stage]->find(autoPushConstantBlockName);
+ if (at == pUniformVarMap[stage]->end())
+ continue;
+ TQualifier& qualifier = at->second.symbol->getQualifier();
+ if (!qualifier.isUniform())
+ continue;
+ TType& t = at->second.symbol->getWritableType();
+ int size, stride;
+ TIntermediate::getBaseAlignment(t, size, stride, autoPushConstantBlockPacking,
+ qualifier.layoutMatrix == ElmRowMajor);
+ if (size <= int(autoPushConstantMaxSize)) {
+ qualifier.setBlockStorage(EbsPushConstant);
+ qualifier.layoutPacking = autoPushConstantBlockPacking;
+ upgraded = true;
+ }
+ }
+ }
+ // If it's been upgraded to push_constant, then remove it from the uniformVector
+ // so it doesn't get a set/binding assigned to it.
+ if (upgraded) {
+ auto at = std::find_if(uniformVector.begin(), uniformVector.end(),
+ [this](const TVarLivePair& p) { return p.first == autoPushConstantBlockName; });
+ if (at != uniformVector.end())
+ uniformVector.erase(at);
+ }
+ }
for (size_t stage = 0; stage < EShLangCount; stage++) {
if (intermediates[stage] != nullptr) {
// traverse each stage, set new location to each input/output and unifom symbol, set new binding to
diff --git a/glslang/MachineIndependent/iomapper.h b/glslang/MachineIndependent/iomapper.h
index 07357c2..c43864e 100644
--- a/glslang/MachineIndependent/iomapper.h
+++ b/glslang/MachineIndependent/iomapper.h
@@ -165,7 +165,7 @@
protected:
TDefaultIoResolverBase(TDefaultIoResolverBase&);
TDefaultIoResolverBase& operator=(TDefaultIoResolverBase&);
- const TIntermediate& intermediate;
+ const TIntermediate& referenceIntermediate;
int nextUniformLocation;
int nextInputLocation;
int nextOutputLocation;
@@ -291,7 +291,7 @@
bool virtual doMap(TIoMapResolver*, TInfoSink&) { return true; }
};
-// I/O mapper for OpenGL
+// I/O mapper for GLSL
class TGlslIoMapper : public TIoMapper {
public:
TGlslIoMapper() {
@@ -301,6 +301,8 @@
memset(intermediates, 0, sizeof(TIntermediate*) * (EShLangCount + 1));
profile = ENoProfile;
version = 0;
+ autoPushConstantMaxSize = 128;
+ autoPushConstantBlockPacking = ElpStd430;
}
virtual ~TGlslIoMapper() {
for (size_t stage = 0; stage < EShLangCount; stage++) {
@@ -320,6 +322,13 @@
intermediates[stage] = nullptr;
}
}
+ // If set, the uniform block with the given name will be changed to be backed by
+ // push_constant if it's size is <= maxSize
+ void setAutoPushConstantBlock(const char* name, unsigned int maxSize, TLayoutPacking packing) {
+ autoPushConstantBlockName = name;
+ autoPushConstantMaxSize = maxSize;
+ autoPushConstantBlockPacking = packing;
+ }
// grow the reflection stage by stage
bool addStage(EShLanguage, TIntermediate&, TInfoSink&, TIoMapResolver*) override;
bool doMap(TIoMapResolver*, TInfoSink&) override;
@@ -329,6 +338,11 @@
bool hadError = false;
EProfile profile;
int version;
+
+private:
+ TString autoPushConstantBlockName;
+ unsigned int autoPushConstantMaxSize;
+ TLayoutPacking autoPushConstantBlockPacking;
};
} // end namespace glslang
diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp
index 42b416d..620be97 100644
--- a/glslang/MachineIndependent/linkValidate.cpp
+++ b/glslang/MachineIndependent/linkValidate.cpp
@@ -312,10 +312,12 @@
MERGE_TRUE(autoMapBindings);
MERGE_TRUE(autoMapLocations);
MERGE_TRUE(invertY);
+ MERGE_TRUE(dxPositionW);
MERGE_TRUE(flattenUniformArrays);
MERGE_TRUE(useUnknownFormat);
MERGE_TRUE(hlslOffsets);
MERGE_TRUE(useStorageBuffer);
+ MERGE_TRUE(invariantAll);
MERGE_TRUE(hlslIoMapping);
// TODO: sourceFile
@@ -758,7 +760,10 @@
auto checkName = [this, unitSymbol, &infoSink](const TString& name) {
for (unsigned int i = 0; i < unitSymbol->getType().getStruct()->size(); ++i) {
- if (name == (*unitSymbol->getType().getStruct())[i].type->getFieldName()) {
+ if (name == (*unitSymbol->getType().getStruct())[i].type->getFieldName()
+ && !((*unitSymbol->getType().getStruct())[i].type->getQualifier().hasLocation()
+ || unitSymbol->getType().getQualifier().hasLocation())
+ ) {
error(infoSink, "Anonymous member name used for global variable or other anonymous member: ");
infoSink.info << (*unitSymbol->getType().getStruct())[i].type->getCompleteString() << "\n";
}
@@ -857,9 +862,19 @@
if (symbol.getType().getBasicType() == EbtBlock && unitSymbol.getType().getBasicType() == EbtBlock &&
symbol.getType().getStruct() && unitSymbol.getType().getStruct() &&
symbol.getType().sameStructType(unitSymbol.getType())) {
- for (unsigned int i = 0; i < symbol.getType().getStruct()->size(); ++i) {
- const TQualifier& qualifier = (*symbol.getType().getStruct())[i].type->getQualifier();
- const TQualifier& unitQualifier = (*unitSymbol.getType().getStruct())[i].type->getQualifier();
+ unsigned int li = 0;
+ unsigned int ri = 0;
+ while (li < symbol.getType().getStruct()->size() && ri < unitSymbol.getType().getStruct()->size()) {
+ if ((*symbol.getType().getStruct())[li].type->hiddenMember()) {
+ ++li;
+ continue;
+ }
+ if ((*unitSymbol.getType().getStruct())[ri].type->hiddenMember()) {
+ ++ri;
+ continue;
+ }
+ const TQualifier& qualifier = (*symbol.getType().getStruct())[li].type->getQualifier();
+ const TQualifier & unitQualifier = (*unitSymbol.getType().getStruct())[ri].type->getQualifier();
if (qualifier.layoutMatrix != unitQualifier.layoutMatrix ||
qualifier.layoutOffset != unitQualifier.layoutOffset ||
qualifier.layoutAlign != unitQualifier.layoutAlign ||
@@ -868,6 +883,8 @@
error(infoSink, "Interface block member layout qualifiers must match:");
writeTypeComparison = true;
}
+ ++li;
+ ++ri;
}
}
@@ -953,10 +970,10 @@
// current implementation only has one offset.
if (symbol.getQualifier().layoutMatrix != unitSymbol.getQualifier().layoutMatrix ||
symbol.getQualifier().layoutPacking != unitSymbol.getQualifier().layoutPacking ||
- symbol.getQualifier().layoutLocation != unitSymbol.getQualifier().layoutLocation ||
+ (symbol.getQualifier().hasLocation() && unitSymbol.getQualifier().hasLocation() && symbol.getQualifier().layoutLocation != unitSymbol.getQualifier().layoutLocation) ||
symbol.getQualifier().layoutComponent != unitSymbol.getQualifier().layoutComponent ||
symbol.getQualifier().layoutIndex != unitSymbol.getQualifier().layoutIndex ||
- symbol.getQualifier().layoutBinding != unitSymbol.getQualifier().layoutBinding ||
+ (symbol.getQualifier().hasBinding() && unitSymbol.getQualifier().hasBinding() && symbol.getQualifier().layoutBinding != unitSymbol.getQualifier().layoutBinding) ||
(symbol.getQualifier().hasBinding() && (symbol.getQualifier().layoutOffset != unitSymbol.getQualifier().layoutOffset))) {
error(infoSink, "Layout qualification must match:");
writeTypeComparison = true;
@@ -1785,7 +1802,7 @@
return size;
}
- int numComponents;
+ int numComponents {0};
if (type.isScalar())
numComponents = 1;
else if (type.isVector())
@@ -1933,7 +1950,7 @@
}
// rule 9
- if (type.getBasicType() == EbtStruct) {
+ if (type.getBasicType() == EbtStruct || type.getBasicType() == EbtBlock) {
const TTypeList& memberList = *type.getStruct();
size = 0;
@@ -2158,8 +2175,9 @@
bool TIntermediate::isIoResizeArray(const TType& type, EShLanguage language) {
return type.isArray() &&
((language == EShLangGeometry && type.getQualifier().storage == EvqVaryingIn) ||
- (language == EShLangTessControl && type.getQualifier().storage == EvqVaryingOut &&
+ (language == EShLangTessControl && (type.getQualifier().storage == EvqVaryingIn || type.getQualifier().storage == EvqVaryingOut) &&
! type.getQualifier().patch) ||
+ (language == EShLangTessEvaluation && type.getQualifier().storage == EvqVaryingIn) ||
(language == EShLangFragment && type.getQualifier().storage == EvqVaryingIn &&
type.getQualifier().pervertexNV) ||
(language == EShLangMeshNV && type.getQualifier().storage == EvqVaryingOut &&
diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h
index 5cc9930..a658c09 100644
--- a/glslang/MachineIndependent/localintermediate.h
+++ b/glslang/MachineIndependent/localintermediate.h
@@ -290,7 +290,9 @@
resources(TBuiltInResource{}),
numEntryPoints(0), numErrors(0), numPushConstants(0), recursive(false),
invertY(false),
+ dxPositionW(false),
useStorageBuffer(false),
+ invariantAll(false),
nanMinMaxClamp(false),
depthReplacing(false),
uniqueId(0),
@@ -396,6 +398,9 @@
case EShTargetSpv_1_5:
processes.addProcess("target-env spirv1.5");
break;
+ case EShTargetSpv_1_6:
+ processes.addProcess("target-env spirv1.6");
+ break;
default:
processes.addProcess("target-env spirvUnknown");
break;
@@ -414,6 +419,9 @@
case EShTargetVulkan_1_2:
processes.addProcess("target-env vulkan1.2");
break;
+ case EShTargetVulkan_1_3:
+ processes.addProcess("target-env vulkan1.3");
+ break;
default:
processes.addProcess("target-env vulkanUnknown");
break;
@@ -459,6 +467,14 @@
}
bool getInvertY() const { return invertY; }
+ void setDxPositionW(bool dxPosW)
+ {
+ dxPositionW = dxPosW;
+ if (dxPositionW)
+ processes.addProcess("dx-position-w");
+ }
+ bool getDxPositionW() const { return dxPositionW; }
+
#ifdef ENABLE_HLSL
void setSource(EShSource s) { source = s; }
EShSource getSource() const { return source; }
@@ -538,7 +554,7 @@
TIntermTyped* foldSwizzle(TIntermTyped* node, TSwizzleSelectors<TVectorSelector>& fields, const TSourceLoc&);
// Tree ops
- static const TIntermTyped* findLValueBase(const TIntermTyped*, bool swizzleOkay);
+ static const TIntermTyped* findLValueBase(const TIntermTyped*, bool swizzleOkay , bool BufferReferenceOk = false);
// Linkage related
void addSymbolLinkageNodes(TIntermAggregate*& linkage, EShLanguage, TSymbolTable&);
@@ -560,6 +576,8 @@
void setUseStorageBuffer() { useStorageBuffer = true; }
bool usingStorageBuffer() const { return useStorageBuffer; }
+ void setInvariantAll() { invariantAll = true; }
+ bool isInvariantAll() const { return invariantAll; }
void setDepthReplacing() { depthReplacing = true; }
bool isDepthReplacing() const { return depthReplacing; }
bool setLocalSize(int dim, int size)
@@ -926,6 +944,11 @@
return false;
}
+ bool IsRequestedExtension(const char* extension) const
+ {
+ return (requestedExtensions.find(extension) != requestedExtensions.end());
+ }
+
void addToCallGraph(TInfoSink&, const TString& caller, const TString& callee);
void merge(TInfoSink&, TIntermediate&);
void finalCheck(TInfoSink&, bool keepUncalled);
@@ -1062,7 +1085,9 @@
int numPushConstants;
bool recursive;
bool invertY;
+ bool dxPositionW;
bool useStorageBuffer;
+ bool invariantAll;
bool nanMinMaxClamp; // true if desiring min/max/clamp to favor non-NaN over NaN
bool depthReplacing;
int localSize[3];
diff --git a/glslang/OSDependent/Unix/CMakeLists.txt b/glslang/OSDependent/Unix/CMakeLists.txt
index 354a3e9..d521da1 100644
--- a/glslang/OSDependent/Unix/CMakeLists.txt
+++ b/glslang/OSDependent/Unix/CMakeLists.txt
@@ -56,4 +56,4 @@
install(TARGETS OSDependent EXPORT OSDependentTargets
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(EXPORT OSDependentTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
-endif(ENABLE_GLSLANG_INSTALL)
+endif()
diff --git a/glslang/OSDependent/Unix/ossource.cpp b/glslang/OSDependent/Unix/ossource.cpp
index 3f029f0..81da99c 100644
--- a/glslang/OSDependent/Unix/ossource.cpp
+++ b/glslang/OSDependent/Unix/ossource.cpp
@@ -172,7 +172,7 @@
pthread_mutex_t gMutex;
}
-void InitGlobalLock()
+static void InitMutex(void)
{
pthread_mutexattr_t mutexattr;
pthread_mutexattr_init(&mutexattr);
@@ -180,6 +180,12 @@
pthread_mutex_init(&gMutex, &mutexattr);
}
+void InitGlobalLock()
+{
+ static pthread_once_t once = PTHREAD_ONCE_INIT;
+ pthread_once(&once, InitMutex);
+}
+
void GetGlobalLock()
{
pthread_mutex_lock(&gMutex);
diff --git a/glslang/OSDependent/Web/CMakeLists.txt b/glslang/OSDependent/Web/CMakeLists.txt
index 0f60dbc..5bfbed4 100644
--- a/glslang/OSDependent/Web/CMakeLists.txt
+++ b/glslang/OSDependent/Web/CMakeLists.txt
@@ -55,7 +55,7 @@
if(ENABLE_EMSCRIPTEN_SINGLE_FILE)
target_link_libraries(glslang.js "-s SINGLE_FILE=1")
- endif(ENABLE_EMSCRIPTEN_SINGLE_FILE)
+ endif()
if(ENABLE_EMSCRIPTEN_ENVIRONMENT_NODE)
target_link_libraries(glslang.js "-s ENVIRONMENT=node -s BINARYEN_ASYNC_COMPILATION=0")
@@ -67,5 +67,5 @@
add_custom_command(TARGET glslang.js POST_BUILD
COMMAND cat ${CMAKE_CURRENT_SOURCE_DIR}/glslang.after.js >> ${CMAKE_CURRENT_BINARY_DIR}/glslang.js)
endif()
- endif(EMSCRIPTEN)
-endif(ENABLE_GLSLANG_JS)
+ endif()
+endif()
diff --git a/glslang/OSDependent/Windows/CMakeLists.txt b/glslang/OSDependent/Windows/CMakeLists.txt
index 9cf1b7f..21d603e 100644
--- a/glslang/OSDependent/Windows/CMakeLists.txt
+++ b/glslang/OSDependent/Windows/CMakeLists.txt
@@ -45,10 +45,10 @@
if(WIN32)
source_group("Source" FILES ${SOURCES})
-endif(WIN32)
+endif()
if(ENABLE_GLSLANG_INSTALL)
install(TARGETS OSDependent EXPORT OSDependentTargets
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(EXPORT OSDependentTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
-endif(ENABLE_GLSLANG_INSTALL)
+endif()
diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h
index d2a4bf4..3c0e291 100644
--- a/glslang/Public/ShaderLang.h
+++ b/glslang/Public/ShaderLang.h
@@ -150,8 +150,8 @@
typedef enum {
EShClientNone, // use when there is no client, e.g. for validation
- EShClientVulkan,
- EShClientOpenGL,
+ EShClientVulkan, // as GLSL dialect, specifies KHR_vulkan_glsl extension
+ EShClientOpenGL, // as GLSL dialect, specifies ARB_gl_spirv extension
LAST_ELEMENT_MARKER(EShClientCount),
} EShClient;
@@ -166,8 +166,9 @@
EShTargetVulkan_1_0 = (1 << 22), // Vulkan 1.0
EShTargetVulkan_1_1 = (1 << 22) | (1 << 12), // Vulkan 1.1
EShTargetVulkan_1_2 = (1 << 22) | (2 << 12), // Vulkan 1.2
+ EShTargetVulkan_1_3 = (1 << 22) | (3 << 12), // Vulkan 1.3
EShTargetOpenGL_450 = 450, // OpenGL
- LAST_ELEMENT_MARKER(EShTargetClientVersionCount = 4),
+ LAST_ELEMENT_MARKER(EShTargetClientVersionCount = 5),
} EShTargetClientVersion;
typedef EShTargetClientVersion EshTargetClientVersion;
@@ -179,7 +180,8 @@
EShTargetSpv_1_3 = (1 << 16) | (3 << 8), // SPIR-V 1.3
EShTargetSpv_1_4 = (1 << 16) | (4 << 8), // SPIR-V 1.4
EShTargetSpv_1_5 = (1 << 16) | (5 << 8), // SPIR-V 1.5
- LAST_ELEMENT_MARKER(EShTargetLanguageVersionCount = 6),
+ EShTargetSpv_1_6 = (1 << 16) | (6 << 8), // SPIR-V 1.6
+ LAST_ELEMENT_MARKER(EShTargetLanguageVersionCount = 7),
} EShTargetLanguageVersion;
struct TInputLanguage {
@@ -485,6 +487,7 @@
GLSLANG_EXPORT void addUniformLocationOverride(const char* name, int loc);
GLSLANG_EXPORT void setUniformLocationBase(int base);
GLSLANG_EXPORT void setInvertY(bool invert);
+ GLSLANG_EXPORT void setDxPositionW(bool dxPosW);
#ifdef ENABLE_HLSL
GLSLANG_EXPORT void setHlslIoMapping(bool hlslIoMap);
GLSLANG_EXPORT void setFlattenUniformArrays(bool flatten);
@@ -512,6 +515,9 @@
// use EShClientNone and version of 0, e.g. for validation mode.
// Note 'version' does not describe the target environment,
// just the version of the source dialect to compile under.
+ // For example, to choose the Vulkan dialect of GLSL defined by
+ // version 100 of the KHR_vulkan_glsl extension: lang = EShSourceGlsl,
+ // dialect = EShClientVulkan, and version = 100.
//
// See the definitions of TEnvironment, EShSource, EShLanguage,
// and EShClient for choices and more detail.
diff --git a/gtests/AST.FromFile.cpp b/gtests/AST.FromFile.cpp
index 77f0aaf..c0ced5e 100644
--- a/gtests/AST.FromFile.cpp
+++ b/gtests/AST.FromFile.cpp
@@ -233,8 +233,10 @@
"precise_struct_block.vert",
"maxClipDistances.vert",
"findFunction.frag",
+ "noMatchingFunction.frag",
"constantUnaryConversion.comp",
"xfbUnsizedArray.error.vert",
+ "xfbUnsizedArray.error.tese",
"glsl.140.layoutOffset.error.vert",
"glsl.430.layoutOffset.error.vert",
"glsl.450.subgroup.frag",
@@ -282,6 +284,16 @@
"terminate.vert",
"negativeWorkGroupSize.comp",
"textureoffset_sampler2darrayshadow.vert",
+ "atomicAdd.comp",
+ "GL_ARB_gpu_shader5.u2i.vert",
+ "textureQueryLOD.frag",
+ "atomicCounterARBOps.vert",
+ "GL_EXT_shader_integer_mix.vert",
+ "GL_ARB_draw_instanced.vert",
+ "GL_ARB_fragment_coord_conventions.vert",
+ "BestMatchFunction.vert",
+ "EndStreamPrimitive.geom",
+ "floatBitsToInt.vert",
})),
FileNameAsCustomTestSuffix
);
diff --git a/gtests/CMakeLists.txt b/gtests/CMakeLists.txt
index befe240..c8f0282 100644
--- a/gtests/CMakeLists.txt
+++ b/gtests/CMakeLists.txt
@@ -72,7 +72,7 @@
install(TARGETS glslangtests EXPORT glslangtestsTargets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(EXPORT glslangtestsTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
- endif(ENABLE_GLSLANG_INSTALL)
+ endif()
set(GLSLANG_TEST_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../Test")
# Supply a default test root directory, so that manual testing
@@ -90,7 +90,7 @@
target_include_directories(glslangtests
PRIVATE ${spirv-tools_SOURCE_DIR}/include
)
- endif(ENABLE_OPT)
+ endif()
set(LIBRARIES
glslang OSDependent OGLCompiler glslang
@@ -102,7 +102,7 @@
if(ENABLE_HLSL)
set(LIBRARIES ${LIBRARIES} HLSL)
- endif(ENABLE_HLSL)
+ endif()
target_link_libraries(glslangtests PRIVATE ${LIBRARIES} gmock)
add_test(NAME glslang-gtests
diff --git a/gtests/GlslMapIO.FromFile.cpp b/gtests/GlslMapIO.FromFile.cpp
index 574e905..aabb4ae 100644
--- a/gtests/GlslMapIO.FromFile.cpp
+++ b/gtests/GlslMapIO.FromFile.cpp
@@ -109,7 +109,52 @@
success &= outQualifier.layoutLocation == inQualifier.layoutLocation;
}
else {
- success &= false;
+ if (!in.getType()->isStruct()) {
+ bool found = false;
+ for (auto outIt : pipeOut) {
+ if (outIt.second->getType()->isStruct()) {
+ unsigned int baseLoc = outIt.second->getType()->getQualifier().hasLocation() ?
+ outIt.second->getType()->getQualifier().layoutLocation :
+ std::numeric_limits<unsigned int>::max();
+ for (size_t j = 0; j < outIt.second->getType()->getStruct()->size(); j++) {
+ baseLoc = (*outIt.second->getType()->getStruct())[j].type->getQualifier().hasLocation() ?
+ (*outIt.second->getType()->getStruct())[j].type->getQualifier().layoutLocation : baseLoc;
+ if (baseLoc != std::numeric_limits<unsigned int>::max()) {
+ if (baseLoc == in.getType()->getQualifier().layoutLocation) {
+ found = true;
+ break;
+ }
+ baseLoc += glslang::TIntermediate::computeTypeLocationSize(*(*outIt.second->getType()->getStruct())[j].type, EShLangVertex);
+ }
+ }
+ if (found) {
+ break;
+ }
+ }
+ }
+ success &= found;
+ }
+ else {
+ unsigned int baseLoc = in.getType()->getQualifier().hasLocation() ? in.getType()->getQualifier().layoutLocation : -1;
+ for (size_t j = 0; j < in.getType()->getStruct()->size(); j++) {
+ baseLoc = (*in.getType()->getStruct())[j].type->getQualifier().hasLocation() ?
+ (*in.getType()->getStruct())[j].type->getQualifier().layoutLocation : baseLoc;
+ if (baseLoc != std::numeric_limits<unsigned int>::max()) {
+ bool isMemberFound = false;
+ for (auto outIt : pipeOut) {
+ if (baseLoc == outIt.second->getType()->getQualifier().layoutLocation) {
+ isMemberFound = true;
+ break;
+ }
+ }
+ if (!isMemberFound) {
+ success &= false;
+ break;
+ }
+ baseLoc += glslang::TIntermediate::computeTypeLocationSize(*(*in.getType()->getStruct())[j].type, EShLangVertex);
+ }
+ }
+ }
}
}
}
@@ -295,6 +340,10 @@
::testing::ValuesIn(std::vector<IoMapData>({
{{"iomap.crossStage.vert", "iomap.crossStage.frag" }, Semantics::OpenGL},
{{"iomap.crossStage.2.vert", "iomap.crossStage.2.geom", "iomap.crossStage.2.frag" }, Semantics::OpenGL},
+ {{"iomap.blockOutVariableIn.vert", "iomap.blockOutVariableIn.frag"}, Semantics::OpenGL},
+ {{"iomap.variableOutBlockIn.vert", "iomap.variableOutBlockIn.frag"}, Semantics::OpenGL},
+ {{"iomap.blockOutVariableIn.2.vert", "iomap.blockOutVariableIn.geom"}, Semantics::OpenGL},
+ {{"iomap.variableOutBlockIn.2.vert", "iomap.variableOutBlockIn.geom"}, Semantics::OpenGL},
// vulkan semantics
{{"iomap.crossStage.vk.vert", "iomap.crossStage.vk.geom", "iomap.crossStage.vk.frag" }, Semantics::Vulkan},
}))
@@ -303,4 +352,4 @@
} // anonymous namespace
} // namespace glslangtest
-#endif
\ No newline at end of file
+#endif
diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp
index 33deef5..519be25 100644
--- a/gtests/Hlsl.FromFile.cpp
+++ b/gtests/Hlsl.FromFile.cpp
@@ -59,6 +59,7 @@
using HlslCompileTest = GlslangTest<::testing::TestWithParam<FileNameEntryPointPair>>;
using HlslVulkan1_1CompileTest = GlslangTest<::testing::TestWithParam<FileNameEntryPointPair>>;
+using HlslSpv1_6CompileTest = GlslangTest<::testing::TestWithParam<FileNameEntryPointPair>>;
using HlslCompileAndFlattenTest = GlslangTest<::testing::TestWithParam<FileNameEntryPointPair>>;
using HlslLegalizeTest = GlslangTest<::testing::TestWithParam<FileNameEntryPointPair>>;
using HlslDebugTest = GlslangTest<::testing::TestWithParam<FileNameEntryPointPair>>;
@@ -81,6 +82,13 @@
Target::BothASTAndSpv, true, GetParam().entryPoint);
}
+TEST_P(HlslSpv1_6CompileTest, FromFile)
+{
+ loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam().fileName,
+ Source::HLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_3, glslang::EShTargetSpv_1_6,
+ Target::BothASTAndSpv, true, GetParam().entryPoint);
+}
+
TEST_P(HlslCompileAndFlattenTest, FromFile)
{
loadFileCompileFlattenUniformsAndCheck(GlobalTestSettings.testRoot, GetParam().fileName,
@@ -235,6 +243,7 @@
{"hlsl.groupid.comp", "main"},
{"hlsl.identifier.sample.frag", "main"},
{"hlsl.if.frag", "PixelShaderFunction"},
+ {"hlsl.imageload-subvec4.comp", "main"},
{"hlsl.imagefetch-subvec4.comp", "main"},
{"hlsl.implicitBool.frag", "main"},
{"hlsl.inf.vert", "main"},
@@ -384,6 +393,7 @@
{"hlsl.structbuffer.fn2.comp", "main"},
{"hlsl.structbuffer.rw.frag", "main"},
{"hlsl.structbuffer.rwbyte.frag", "main"},
+ {"hlsl.structbuffer.rwbyte2.comp", "main"},
{"hlsl.structin.vert", "main"},
{"hlsl.structIoFourWay.frag", "main"},
{"hlsl.structStructName.frag", "main"},
@@ -450,6 +460,16 @@
// clang-format off
INSTANTIATE_TEST_SUITE_P(
+ ToSpirv, HlslSpv1_6CompileTest,
+ ::testing::ValuesIn(std::vector<FileNameEntryPointPair>{
+ {"hlsl.spv.1.6.discard.frag", "PixelShaderFunction"}
+ }),
+ FileNameAsCustomTestSuffix
+);
+// clang-format on
+
+// clang-format off
+INSTANTIATE_TEST_SUITE_P(
ToSpirv, HlslCompileAndFlattenTest,
::testing::ValuesIn(std::vector<FileNameEntryPointPair>{
{"hlsl.array.flatten.frag", "main"},
diff --git a/gtests/Link.FromFile.cpp b/gtests/Link.FromFile.cpp
index 29590c0..9e029fc 100644
--- a/gtests/Link.FromFile.cpp
+++ b/gtests/Link.FromFile.cpp
@@ -106,6 +106,9 @@
{"link.multiAnonBlocksValid.0.0.vert", "link.multiAnonBlocksValid.0.1.vert"},
{"link.multiBlocksInvalid.0.0.vert", "link.multiBlocksInvalid.0.1.vert"},
{"link.multiBlocksValid.1.0.vert", "link.multiBlocksValid.1.1.vert"},
+ {"link.tesselation.vert", "link.tesselation.frag"},
+ {"link.tesselation.tese", "link.tesselation.tesc"},
+ {"link.redeclareBuiltin.vert", "link.redeclareBuiltin.geom"},
}))
);
// clang-format on
diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp
index 80ce0b1..ba08226 100644
--- a/gtests/Spv.FromFile.cpp
+++ b/gtests/Spv.FromFile.cpp
@@ -69,6 +69,7 @@
using CompileVulkanToDebugSpirvTest = GlslangTest<::testing::TestWithParam<std::string>>;
using CompileVulkan1_1ToSpirvTest = GlslangTest<::testing::TestWithParam<std::string>>;
using CompileToSpirv14Test = GlslangTest<::testing::TestWithParam<std::string>>;
+using CompileToSpirv16Test = GlslangTest<::testing::TestWithParam<std::string>>;
using CompileOpenGLToSpirvTest = GlslangTest<::testing::TestWithParam<std::string>>;
using VulkanSemantics = GlslangTest<::testing::TestWithParam<std::string>>;
using OpenGLSemantics = GlslangTest<::testing::TestWithParam<std::string>>;
@@ -77,6 +78,7 @@
using GlslIoMap = GlslangTest<::testing::TestWithParam<IoMapData>>;
using CompileVulkanToSpirvTestAMD = GlslangTest<::testing::TestWithParam<std::string>>;
using CompileVulkanToSpirvTestNV = GlslangTest<::testing::TestWithParam<std::string>>;
+using CompileVulkanToSpirv14TestNV = GlslangTest<::testing::TestWithParam<std::string>>;
using CompileUpgradeTextureToSampledTextureAndDropSamplersTest = GlslangTest<::testing::TestWithParam<std::string>>;
// Compiling GLSL to SPIR-V under Vulkan semantics. Expected to successfully
@@ -121,6 +123,13 @@
Target::Spv);
}
+TEST_P(CompileToSpirv16Test, FromFile)
+{
+ loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(),
+ Source::GLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_3, glslang::EShTargetSpv_1_6,
+ Target::Spv);
+}
+
// Compiling GLSL to SPIR-V under OpenGL semantics. Expected to successfully
// generate SPIR-V.
TEST_P(CompileOpenGLToSpirvTest, FromFile)
@@ -204,6 +213,13 @@
Target::Spv);
}
+TEST_P(CompileVulkanToSpirv14TestNV, FromFile)
+{
+ loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam(),
+ Source::GLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_1, glslang::EShTargetSpv_1_4,
+ Target::Spv);
+}
+
TEST_P(CompileUpgradeTextureToSampledTextureAndDropSamplersTest, FromFile)
{
loadCompileUpgradeTextureToSampledTextureAndDropSamplersAndCheck(GlobalTestSettings.testRoot,
@@ -364,6 +380,8 @@
"spv.intrinsicsSpirvLiteral.vert",
"spv.intrinsicsSpirvStorageClass.rchit",
"spv.intrinsicsSpirvType.rgen",
+ "spv.intrinsicsSpirvTypeLocalVar.vert",
+ "spv.invariantAll.vert",
"spv.layer.tese",
"spv.layoutNested.vert",
"spv.length.frag",
@@ -466,6 +484,7 @@
"spv.smBuiltins.frag",
"spv.builtin.PrimitiveShadingRateEXT.vert",
"spv.builtin.ShadingRateEXT.frag",
+ "spv.atomicAdd.bufferReference.comp"
})),
FileNameAsCustomTestSuffix
);
@@ -612,6 +631,18 @@
// clang-format off
INSTANTIATE_TEST_SUITE_P(
+ Glsl, CompileToSpirv16Test,
+ ::testing::ValuesIn(std::vector<std::string>({
+ "spv.1.6.conditionalDiscard.frag",
+ "spv.1.6.helperInvocation.frag",
+ "spv.1.6.specConstant.comp",
+ })),
+ FileNameAsCustomTestSuffix
+);
+
+
+// clang-format off
+INSTANTIATE_TEST_SUITE_P(
Hlsl, HlslIoMap,
::testing::ValuesIn(std::vector<IoMapData>{
{ "spv.register.autoassign.frag", "main_ep", 5, 10, 0, 20, 30, true, false },
@@ -764,6 +795,17 @@
);
INSTANTIATE_TEST_SUITE_P(
+ Glsl, CompileVulkanToSpirv14TestNV,
+ ::testing::ValuesIn(std::vector<std::string>({
+ "spv.RayGenShaderMotion.rgen",
+ "spv.IntersectShaderMotion.rint",
+ "spv.AnyHitShaderMotion.rahit",
+ "spv.ClosestHitShaderMotion.rchit",
+ "spv.MissShaderMotion.rmiss",
+})),
+FileNameAsCustomTestSuffix
+);
+INSTANTIATE_TEST_SUITE_P(
Glsl, CompileUpgradeTextureToSampledTextureAndDropSamplersTest,
::testing::ValuesIn(std::vector<std::string>({
"spv.texture.sampler.transform.frag",
diff --git a/hlsl/CMakeLists.txt b/hlsl/CMakeLists.txt
index 62faa19..7d5bc15 100644
--- a/hlsl/CMakeLists.txt
+++ b/hlsl/CMakeLists.txt
@@ -56,4 +56,4 @@
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
install(EXPORT HLSLTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake)
-endif(ENABLE_GLSLANG_INSTALL)
+endif()
diff --git a/known_good.json b/known_good.json
index c6fd4ff..0eebc7d 100644
--- a/known_good.json
+++ b/known_good.json
@@ -5,14 +5,14 @@
"site" : "github",
"subrepo" : "KhronosGroup/SPIRV-Tools",
"subdir" : "External/spirv-tools",
- "commit" : "5dd2f76918bb2d0d67628e338f60f724f3e02e13"
+ "commit" : "73735db943d7165d725883a1da0ad9eac79c1e34"
},
{
"name" : "spirv-tools/external/spirv-headers",
"site" : "github",
"subrepo" : "KhronosGroup/SPIRV-Headers",
"subdir" : "External/spirv-tools/external/spirv-headers",
- "commit" : "07f259e68af3a540038fa32df522554e74f53ed5"
+ "commit" : "b42ba6d92faf6b4938e6f22ddd186dbdacc98d78"
}
]
}
diff --git a/license-checker.cfg b/license-checker.cfg
index 409f18e..51ce276 100644
--- a/license-checker.cfg
+++ b/license-checker.cfg
@@ -15,6 +15,8 @@
"_config.yml",
".*",
+ ".github/workflows/*.yml",
+ ".github/workflows/*.js",
"CMakeSettings.json",
"known_good_khr.json",
"known_good.json",