diff --git a/.github/workflows/continuous_deployment.yml b/.github/workflows/continuous_deployment.yml index ac7e3d1c..b7941084 100644 --- a/.github/workflows/continuous_deployment.yml +++ b/.github/workflows/continuous_deployment.yml @@ -41,9 +41,9 @@ jobs: compiler: [{cc: clang, cxx: clang++}, {cc: gcc, cxx: g++}] cmake_build_type: [Debug, Release] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - name: Install Ubuntu Package Dependencies @@ -62,8 +62,7 @@ jobs: - name: Test run: | cd build - ctest --output-on-failure && - cd ../Test && ./runtests + ctest --output-on-failure - name: Zip if: ${{ matrix.compiler.cc == 'clang' }} env: @@ -101,13 +100,13 @@ jobs: strategy: fail-fast: false matrix: - os: [{genus: macos-11, family: osx}] + os: [{genus: macos-13, family: osx}] compiler: [{cc: clang, cxx: clang++}] cmake_build_type: [Debug, Release] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - run: ./update_glslang_sources.py @@ -122,8 +121,7 @@ jobs: - name: Test run: | cd build - ctest --output-on-failure && - cd ../Test && ./runtests + ctest --output-on-failure - name: Zip env: ARCHIVE: glslang-main-${{matrix.os.family}}-${{matrix.cmake_build_type}}.zip @@ -162,9 +160,9 @@ jobs: os: [{genus: windows-2019, family: windows}] cmake_build_type: [Debug, Release] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - run: python update_glslang_sources.py @@ -176,7 +174,6 @@ jobs: run: | cd build ctest -C ${{matrix.cmake_build_type}} --output-on-failure - cd ../Test && bash runtests - name: Zip if: ${{ matrix.cmake_build_type == 'Debug' }} env: diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml index 642eef10..75ea8895 100644 --- a/.github/workflows/continuous_integration.yml +++ b/.github/workflows/continuous_integration.yml @@ -17,13 +17,13 @@ jobs: compiler: [{cc: clang, cxx: clang++}, {cc: gcc, cxx: g++}] cmake_build_type: [Debug, Release] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - name: Setup ccache - uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 + uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: key: ubuntu-22-${{ matrix.cmake_build_type }}-${{ matrix.compiler.cc }}-${{matrix.compiler.cxx}} - run: ./update_glslang_sources.py @@ -41,8 +41,41 @@ jobs: run: cmake --install build --prefix build/install - name: Test run: ctest --output-on-failure --test-dir build - - name: Test (standalone) - run: cd Test && ./runtests + - name: Check known validation failure list + run: grep -l 'Validation failed' Test/baseResults/* | sort -fd | diff -u Test/baseResults/validation_fails.txt - + + linux-shared: + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + compiler: [{cc: clang, cxx: clang++}, {cc: gcc, cxx: g++}] + cmake_build_type: [Release] + steps: + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 + with: + python-version: '3.7' + - name: Setup ccache + uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 + with: + key: ubuntu-22-${{ matrix.cmake_build_type }}-${{ matrix.compiler.cc }}-${{matrix.compiler.cxx}} + - run: ./update_glslang_sources.py + - name: Configure + run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{ matrix.cmake_build_type }} -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON -DBUILD_SHARED_LIBS=ON + env: + CC: ${{matrix.compiler.cc}} + CXX: ${{matrix.compiler.cxx}} + CMAKE_GENERATOR: Ninja + CMAKE_C_COMPILER_LAUNCHER: ccache + CMAKE_CXX_COMPILER_LAUNCHER: ccache + - name: Build + run: cmake --build build + - name: Install + run: cmake --install build --prefix build/install + - name: Test + run: ctest --output-on-failure --test-dir build linux-asan: runs-on: ubuntu-22.04 @@ -51,15 +84,15 @@ jobs: matrix: compiler: [{cc: gcc, cxx: g++}] cmake_build_type: [Debug] - flags: ['-fsanitize=address', '-fsanitize=thread'] + flags: ['-fsanitize=address', '-fsanitize=thread', '-fsanitize=undefined'] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - name: Setup ccache - uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 + uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: key: ubuntu-22-${{ matrix.cmake_build_type }}-${{ matrix.compiler.cc }}-${{matrix.compiler.cxx}}-${{matrix.flags}} # This is to combat a bug when using 6.6 linux kernels with thread/address sanitizer @@ -82,24 +115,24 @@ jobs: - name: Install run: cmake --install build --prefix build/install - name: Test + env: + UBSAN_OPTIONS: 'halt_on_error=1:print_stacktrace=1' run: ctest --output-on-failure --test-dir build - - name: Test (standalone) - run: cd Test && ./runtests # Ensure we can compile/run on an older distro linux_min: name: Linux Backcompat runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 with: cmakeVersion: 3.17.2 - name: Setup ccache - uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 + uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: key: linux_backcompat - run: ./update_glslang_sources.py @@ -114,8 +147,6 @@ jobs: run: cmake --install build --prefix build/install - name: Test run: ctest --output-on-failure --test-dir build - - name: Test (standalone) - run: cd Test && ./runtests macos: runs-on: ${{matrix.os}} @@ -126,8 +157,8 @@ jobs: compiler: [{cc: clang, cxx: clang++}, {cc: gcc, cxx: g++}] cmake_build_type: [Debug, Release] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 - run: ./update_glslang_sources.py - run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -G Ninja -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON env: @@ -136,9 +167,26 @@ jobs: - run: cmake --build build - run: cmake --install build --prefix build/install - run: ctest --output-on-failure --test-dir build - - name: Test Script (standalone) - run: ./runtests - working-directory: Test + + macos-shared: + runs-on: ${{matrix.os}} + strategy: + fail-fast: false + matrix: + os: [macos-14] + compiler: [{cc: clang, cxx: clang++}] + cmake_build_type: [Release] + steps: + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 + - run: ./update_glslang_sources.py + - run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{matrix.cmake_build_type}} -G Ninja -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON -DBUILD_SHARED_LIBS=ON + env: + CC: ${{matrix.compiler.cc}} + CXX: ${{matrix.compiler.cxx}} + - run: cmake --build build + - run: cmake --install build --prefix build/install + - run: ctest --output-on-failure --test-dir build windows: runs-on: ${{matrix.os.genus}} @@ -150,9 +198,9 @@ jobs: os: [{genus: windows-2019, family: windows}] cmake_build_type: [Debug, Release] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - run: python update_glslang_sources.py @@ -162,16 +210,38 @@ jobs: cmake --build build --config ${{matrix.cmake_build_type}} --target install - name: Test run: ctest -C ${{matrix.cmake_build_type}} --output-on-failure --test-dir build - - name: Test (standalone) - run: bash -c 'cd ./Test && ./runtests' + + windows-shared: + runs-on: ${{matrix.os.genus}} + permissions: + contents: write + strategy: + fail-fast: false + matrix: + os: [{genus: windows-2019, family: windows}] + cmake_build_type: [Debug, Release] + steps: + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 + with: + python-version: '3.7' + - run: python update_glslang_sources.py + - name: Build + run: | + cmake -S. -Bbuild -G "Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX="$PWD/build/install" -DBUILD_WERROR=ON -D GLSLANG_TESTS=ON -DBUILD_SHARED_LIBS=ON + cmake --build build --config ${{matrix.cmake_build_type}} --target install + # disabled until we figure out DLL issues. + # - name: Test + # run: ctest -C ${{matrix.cmake_build_type}} --output-on-failure --test-dir build iOS: runs-on: macos-13 steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 - name: Setup ccache - uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 + uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: key: IOS - run: ./update_glslang_sources.py @@ -197,10 +267,10 @@ jobs: # Test both to ensure we are compatible with either approach. LEGACY: [ON, OFF] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 - name: Setup ccache - uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 + uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: key: android-${{ matrix.LEGACY }} - run: ./update_glslang_sources.py @@ -220,13 +290,13 @@ jobs: emscripten: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 with: python-version: '3.7' - - uses: lukka/get-cmake@18d87816d12dd87ec1449d47b9b3a587e0a1cc19 # v3.29.5 + - uses: lukka/get-cmake@b516803a3c5fac40e2e922349d15cdebdba01e60 # v3.30.5 - name: Setup ccache - uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 # v1.2.13 + uses: hendrikmuhs/ccache-action@ed74d11c0b343532753ecead8a951bb09bb34bc9 # v1.2.14 with: key: ubuntu-emscripten - uses: mymindstorm/setup-emsdk@6ab9eb1bda2574c4ddb79809fc9247783eaf9021 # v14 diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 06ba4a06..6f3a0101 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -23,12 +23,12 @@ jobs: steps: - name: "Checkout code" - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 with: persist-credentials: false - name: "Run analysis" - uses: ossf/scorecard-action@dc50aa9510b46c811795eb24b2f1ba02a914e534 # v2.3.3 + uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0 with: results_file: results.sarif results_format: sarif @@ -40,7 +40,7 @@ jobs: # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # format to the repository Actions tab. - name: "Upload artifact" - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 with: name: SARIF file path: results.sarif @@ -48,6 +48,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3.25.10 + uses: github/codeql-action/upload-sarif@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12 with: sarif_file: results.sarif diff --git a/Android.mk b/Android.mk index dcb99584..3cd88c82 100644 --- a/Android.mk +++ b/Android.mk @@ -59,9 +59,8 @@ include $(CLEAR_VARS) LOCAL_MODULE:=OSDependent LOCAL_CXXFLAGS:=-std=c++17 -fno-exceptions -fno-rtti $(GLSLANG_DEFINES) LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH) -LOCAL_SRC_FILES:=glslang/OSDependent/Unix/ossource.cpp -LOCAL_C_INCLUDES:=$(LOCAL_PATH) $(LOCAL_PATH)/glslang/OSDependent/Unix/ -LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH)/glslang/OSDependent/Unix/ +LOCAL_SRC_FILES:=glslang/stub.cpp +LOCAL_C_INCLUDES:=$(LOCAL_PATH) include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) @@ -73,7 +72,8 @@ $(LOCAL_PATH)/glslang/MachineIndependent/ShaderLang.cpp: \ LOCAL_MODULE:=glslang LOCAL_CXXFLAGS:=-std=c++17 -fno-exceptions -fno-rtti $(GLSLANG_DEFINES) -LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH) +LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH) \ + $(LOCAL_PATH)/glslang/OSDependent/Unix LOCAL_SRC_FILES:= \ glslang/CInterface/glslang_c_interface.cpp \ glslang/GenericCodeGen/CodeGen.cpp \ @@ -112,12 +112,24 @@ LOCAL_SRC_FILES:= \ glslang/MachineIndependent/preprocessor/PpContext.cpp \ glslang/MachineIndependent/preprocessor/Pp.cpp \ glslang/MachineIndependent/preprocessor/PpScanner.cpp \ - glslang/MachineIndependent/preprocessor/PpTokens.cpp + glslang/MachineIndependent/preprocessor/PpTokens.cpp \ + glslang/OSDependent/Unix/ossource.cpp \ + SPIRV/CInterface/spirv_c_interface.cpp \ + SPIRV/GlslangToSpv.cpp \ + SPIRV/InReadableOrder.cpp \ + SPIRV/Logger.cpp \ + SPIRV/SPVRemapper.cpp \ + SPIRV/SpvBuilder.cpp \ + SPIRV/SpvPostProcess.cpp \ + SPIRV/SpvTools.cpp \ + SPIRV/disassemble.cpp \ + SPIRV/doc.cpp LOCAL_C_INCLUDES:=$(LOCAL_PATH) \ $(LOCAL_PATH)/glslang/MachineIndependent \ + $(LOCAL_PATH)/glslang/OSDependent/Unix \ + $(LOCAL_PATH)/SPIRV \ $(GLSLANG_GENERATED_INCLUDEDIR) \ $(GLSLANG_OUT_PATH) -LOCAL_STATIC_LIBRARIES:=OSDependent include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) @@ -128,20 +140,7 @@ $(LOCAL_PATH)/SPIRV/GlslangToSpv.cpp: \ LOCAL_MODULE:=SPIRV LOCAL_CXXFLAGS:=-std=c++17 -fno-exceptions -fno-rtti -Werror $(GLSLANG_DEFINES) -LOCAL_SRC_FILES:= \ - SPIRV/CInterface/spirv_c_interface.cpp \ - SPIRV/GlslangToSpv.cpp \ - SPIRV/InReadableOrder.cpp \ - SPIRV/Logger.cpp \ - SPIRV/SPVRemapper.cpp \ - SPIRV/SpvBuilder.cpp \ - SPIRV/SpvPostProcess.cpp \ - SPIRV/SpvTools.cpp \ - SPIRV/disassemble.cpp \ - SPIRV/doc.cpp -LOCAL_C_INCLUDES:=$(LOCAL_PATH) \ - $(LOCAL_PATH)/glslang/SPIRV \ - $(GLSLANG_GENERATED_INCLUDEDIR) -LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH)/glslang/SPIRV -LOCAL_STATIC_LIBRARIES:=glslang +LOCAL_SRC_FILES:=glslang/stub.cpp +LOCAL_C_INCLUDES:=$(LOCAL_PATH) +LOCAL_EXPORT_C_INCLUDES:=$(LOCAL_PATH) include $(BUILD_STATIC_LIBRARY) diff --git a/BUILD.gn b/BUILD.gn index 6384de04..894cd95b 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -159,6 +159,7 @@ template("glslang_sources_common") { "glslang/Include/Types.h", "glslang/Include/arrays.h", "glslang/Include/intermediate.h", + "glslang/Include/visibility.h", "glslang/MachineIndependent/Constant.cpp", "glslang/MachineIndependent/InfoSink.cpp", "glslang/MachineIndependent/Initialize.cpp", @@ -234,7 +235,7 @@ template("glslang_sources_common") { ] } - defines = [] + defines = [ "ENABLE_SPIRV=1" ] if (invoker.enable_opt) { sources += [ "SPIRV/SpvTools.cpp" ] defines += [ "ENABLE_OPT=1" ] @@ -301,6 +302,7 @@ source_set("glslang_default_resource_limits_sources") { "glslang/ResourceLimits/ResourceLimits.cpp", "glslang/Public/ResourceLimits.h", "glslang/Include/ResourceLimits.h", + "glslang/Include/visibility.h", ] public_configs = [ ":glslang_public" ] @@ -316,7 +318,10 @@ executable("glslang_validator") { if (!is_win) { cflags = [ "-Woverflow" ] } - defines = [ "ENABLE_OPT=1" ] + defines = [ + "ENABLE_OPT=1", + "ENABLE_SPIRV=1", + ] deps = [ ":glslang_build_info", ":glslang_default_resource_limits_sources", @@ -336,7 +341,10 @@ executable("glslang_validator") { executable("spirv-remap") { sources = [ "StandAlone/spirv-remap.cpp" ] - defines = [ "ENABLE_OPT=1" ] + defines = [ + "ENABLE_OPT=1", + "ENABLE_SPIRV=1", + ] deps = [ ":glslang_sources" ] include_dirs = [ "${spirv_tools_dir}/include" ] diff --git a/CHANGES.md b/CHANGES.md index 13fa1556..60a7667a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,6 +3,54 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/). +## 15.0.0 2024-09-23 +### Breaking changes +* Explicitly export all symbols that are part of the public API and hide other symbols by default + +### Other changes +* Allow building glslang without the SPIR-V backend using the new ENABLE_SPIRV build option +* Add setResourceSetBinding method to the API +* Add interface to get the GLSL IO mapper and resolver +* Allow compute derivative modes when the workgroup dimensions are spec constants +* Improve debug location of branch/return instructions +* Silence preprocessor '#' error reporting in inactive #if/#ifdef/#elif/#else blocks +* Apply GLSL memory decorations to top-level OpVariable +* Move definition of GLSLANG_EXPORT to visibility.h +* Merge ancillary libraries into main glslang library and stub originals +* Add public setSourceFile and addSourceText methods to TShader class +* Add type checks for hitObjectNV +* Add optimizerAllowExpandedIDBound to SpvOptions +* Add SpvTools.h back to public headers +* Add cross-stage check for missing outputs +* Fix HLSL offsets for non-buffers +* Add types and functions for IO mapping to API +* Add function to set preprocessed code to API +* Add set/get version functions to API +* Expose setGlobalUniform functions to API +* Don't emit debug instructions before an OpPhi +* Add command-line and API option to enable reporting column location for compiler errors +* Improve location aliasing checks +* Support constant expression calculated by matrixCompMult +* Fix crash caused by atomicCounter() use without arguments +* Fix multi-line function call line numbers +* Add line info to OpDebugDeclare for function parameters +* Fix HLSL OpDebugFunction file name +* Fix duplicate decorations +* Enable compilation of glslang without thread support for WASI + +## 14.3.0 2024-06-25 +* Generate vector constructions more efficiently when sizes match +* Skip identity conversions for 8-bit and 16-bit types +* Add cmake aliases for public libraries +* Support ARM extended matrix layout +* Emit debug info for buffer references +* Add support for OpExtInstWithForwardRefsKHR +* Generate SPV_EXT_replicated_compisites when requested by pragma +* Reuse loads generated for repeated function arguments +* Fix gl_HitT alias of gl_RayTmax +* Fix some cases where invalid SPIR-V was being generated when using separate samplers +* Add back layoutLocation to public API + ## 14.2.0 2024-05-02 * Improve checking for location aliasing errors * Fix undefined behavior in parser diff --git a/CMakeLists.txt b/CMakeLists.txt index 1f1680cf..1b97ecd5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -97,6 +97,7 @@ option(GLSLANG_TESTS "Enable glslang testing" ${GLSLANG_TESTS_DEFAULT}) # Always expose this as an option, so the defaults can be overridden. option(GLSLANG_ENABLE_INSTALL "Enable glslang installation" ${GLSLANG_ENABLE_INSTALL_DEFAULT}) +option(ENABLE_SPIRV "Enables SPIRV output support" ON) option(ENABLE_SPVREMAPPER "Enables building of SPVRemapper" ON) option(ENABLE_GLSLANG_BINARIES "Builds glslang and spirv-remap" ON) @@ -114,7 +115,7 @@ CMAKE_DEPENDENT_OPTION(ENABLE_EMSCRIPTEN_ENVIRONMENT_NODE option(ENABLE_HLSL "Enables HLSL input support" ON) option(ENABLE_RTTI "Enables RTTI") option(ENABLE_EXCEPTIONS "Enables Exceptions") -option(ENABLE_OPT "Enables spirv-opt capability if present" ON) +CMAKE_DEPENDENT_OPTION(ENABLE_OPT "Enables spirv-opt capability if present" ON "ENABLE_SPIRV" OFF) if(MINGW OR (APPLE AND ${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")) # Workaround for CMake behavior on Mac OS with gcc, cmake generates -Xarch_* arguments @@ -125,6 +126,10 @@ endif() option(ENABLE_PCH "Enables Precompiled header" ON) +if(ENABLE_SPIRV) + add_compile_definitions(ENABLE_SPIRV) +endif() + if(ENABLE_HLSL) add_compile_definitions(ENABLE_HLSL) endif() @@ -262,7 +267,8 @@ endfunction() function(glslang_only_export_explicit_symbols target) if(BUILD_SHARED_LIBS) target_compile_definitions(${target} PUBLIC "GLSLANG_IS_SHARED_LIBRARY=1") - set_target_properties(${target} PROPERTIES CMAKE_CXX_VISIBILITY_PRESET hidden) + set_target_properties(${target} PROPERTIES CXX_VISIBILITY_PRESET hidden) + set_target_properties(${target} PROPERTIES C_VISIBILITY_PRESET hidden) if(WIN32) target_compile_definitions(${target} PRIVATE "GLSLANG_EXPORTING=1") endif() @@ -313,11 +319,13 @@ else() add_definitions(-DENABLE_OPT=0) endif() +if(ENABLE_SPIRV) + add_subdirectory(SPIRV) +endif() add_subdirectory(glslang) if(ENABLE_GLSLANG_BINARIES) add_subdirectory(StandAlone) endif() -add_subdirectory(SPIRV) if(GLSLANG_TESTS) enable_testing() diff --git a/README.md b/README.md index cac2352b..8c740ef4 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,13 @@ # News -1. `OGLCompiler` and `HLSL` stub libraries have been fully removed from the build. +1. Building glslang as a DLL or shared library is now possible and supported. -2. `OVERRIDE_MSVCCRT` has been removed in favor of `CMAKE_MSVC_RUNTIME_LIBRARY` +2. The `GenericCodeGen`, `MachineIndependent`, `OSDependent`, and `SPIRV` libraries have been integrated into the main `glslang` library. The old separate libraries have replaced with empty stubs for a temporary compatibility period, and they will be removed entirely in the future. + +3. A new CMake `ENABLE_SPIRV` option has been added to control whether glslang is built with SPIR-V support. Its default value is `ON`. + +4. `OGLCompiler` and `HLSL` stub libraries have been fully removed from the build. Users are encouraged to utilize the standard approach via [CMAKE_MSVC_RUNTIME_LIBRARY](https://cmake.org/cmake/help/latest/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html). diff --git a/SPIRV/CInterface/spirv_c_interface.cpp b/SPIRV/CInterface/spirv_c_interface.cpp index 240a0aaf..fca64e91 100644 --- a/SPIRV/CInterface/spirv_c_interface.cpp +++ b/SPIRV/CInterface/spirv_c_interface.cpp @@ -34,6 +34,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "glslang/Include/glslang_c_interface.h" +#include +#include "glslang/Public/ShaderLang.h" #include "SPIRV/GlslangToSpv.h" #include "SPIRV/Logger.h" #include "SPIRV/SpvTools.h" diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt index 66808812..b5fd5b6c 100644 --- a/SPIRV/CMakeLists.txt +++ b/SPIRV/CMakeLists.txt @@ -31,41 +31,43 @@ # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -set(SOURCES - GlslangToSpv.cpp - InReadableOrder.cpp - Logger.cpp - SpvBuilder.cpp - SpvPostProcess.cpp - doc.cpp - SpvTools.cpp - disassemble.cpp - CInterface/spirv_c_interface.cpp) +set(SPIRV_SOURCES + ${CMAKE_CURRENT_SOURCE_DIR}/GlslangToSpv.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/InReadableOrder.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/Logger.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/SpvBuilder.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/SpvPostProcess.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/doc.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/SpvTools.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/disassemble.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/CInterface/spirv_c_interface.cpp + PARENT_SCOPE) set(SPVREMAP_SOURCES SPVRemapper.cpp doc.cpp) -set(HEADERS - bitutils.h - spirv.hpp - GLSL.std.450.h - GLSL.ext.EXT.h - GLSL.ext.KHR.h - GlslangToSpv.h - hex_float.h - Logger.h - SpvBuilder.h - spvIR.h - doc.h - SpvTools.h - disassemble.h - GLSL.ext.AMD.h - GLSL.ext.NV.h - GLSL.ext.ARM.h - GLSL.ext.QCOM.h - NonSemanticDebugPrintf.h - NonSemanticShaderDebugInfo100.h) +set(SPIRV_HEADERS + ${CMAKE_CURRENT_SOURCE_DIR}/bitutils.h + ${CMAKE_CURRENT_SOURCE_DIR}/spirv.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/GLSL.std.450.h + ${CMAKE_CURRENT_SOURCE_DIR}/GLSL.ext.EXT.h + ${CMAKE_CURRENT_SOURCE_DIR}/GLSL.ext.KHR.h + ${CMAKE_CURRENT_SOURCE_DIR}/GlslangToSpv.h + ${CMAKE_CURRENT_SOURCE_DIR}/hex_float.h + ${CMAKE_CURRENT_SOURCE_DIR}/Logger.h + ${CMAKE_CURRENT_SOURCE_DIR}/SpvBuilder.h + ${CMAKE_CURRENT_SOURCE_DIR}/spvIR.h + ${CMAKE_CURRENT_SOURCE_DIR}/doc.h + ${CMAKE_CURRENT_SOURCE_DIR}/SpvTools.h + ${CMAKE_CURRENT_SOURCE_DIR}/disassemble.h + ${CMAKE_CURRENT_SOURCE_DIR}/GLSL.ext.AMD.h + ${CMAKE_CURRENT_SOURCE_DIR}/GLSL.ext.NV.h + ${CMAKE_CURRENT_SOURCE_DIR}/GLSL.ext.ARM.h + ${CMAKE_CURRENT_SOURCE_DIR}/GLSL.ext.QCOM.h + ${CMAKE_CURRENT_SOURCE_DIR}/NonSemanticDebugPrintf.h + ${CMAKE_CURRENT_SOURCE_DIR}/NonSemanticShaderDebugInfo100.h + PARENT_SCOPE) set(SPVREMAP_HEADERS SPVRemapper.h @@ -76,9 +78,10 @@ set(PUBLIC_HEADERS disassemble.h Logger.h spirv.hpp - SPVRemapper.h) + SPVRemapper.h + SpvTools.h) -add_library(SPIRV ${LIB_TYPE} ${SOURCES} ${HEADERS}) +add_library(SPIRV ${LIB_TYPE} ${CMAKE_CURRENT_SOURCE_DIR}/../glslang/stub.cpp) add_library(glslang::SPIRV ALIAS SPIRV) set_target_properties(SPIRV PROPERTIES FOLDER glslang @@ -89,8 +92,6 @@ target_include_directories(SPIRV PUBLIC $ $) -glslang_add_build_info_dependency(SPIRV) - if (ENABLE_SPVREMAPPER) add_library(SPVRemapper ${LIB_TYPE} ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS}) add_library(glslang::SPVRemapper ALIAS SPVRemapper) @@ -99,6 +100,7 @@ if (ENABLE_SPVREMAPPER) POSITION_INDEPENDENT_CODE ON VERSION "${GLSLANG_VERSION}" SOVERSION "${GLSLANG_VERSION_MAJOR}") + glslang_only_export_explicit_symbols(SPVRemapper) endif() if(WIN32 AND BUILD_SHARED_LIBS) @@ -109,11 +111,11 @@ if(WIN32 AND BUILD_SHARED_LIBS) endif() if(ENABLE_OPT) - target_link_libraries(SPIRV PRIVATE MachineIndependent PUBLIC SPIRV-Tools-opt) + target_link_libraries(SPIRV PRIVATE glslang PUBLIC SPIRV-Tools-opt) target_include_directories(SPIRV PUBLIC $) else() - target_link_libraries(SPIRV PRIVATE MachineIndependent) + target_link_libraries(SPIRV PRIVATE glslang) endif() if(WIN32) diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp old mode 100755 new mode 100644 index 0fd79b1a..4348fdf8 --- a/SPIRV/GlslangToSpv.cpp +++ b/SPIRV/GlslangToSpv.cpp @@ -1558,7 +1558,7 @@ TGlslangToSpvTraverser::TGlslangToSpvTraverser(unsigned int spvVersion, else { builder.setEmitSpirvDebugInfo(); } - builder.setDebugSourceFile(glslangIntermediate->getSourceFile()); + builder.setDebugMainSourceFile(glslangIntermediate->getSourceFile()); // Set the source shader's text. If for SPV version 1.0, include // a preamble in comments stating the OpModuleProcessed instructions. @@ -2858,9 +2858,16 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt // SPIR-V, for an out parameter std::vector temporaryLvalues; // temporaries to pass, as proxies for complexLValues - auto resultType = [&invertedType, &node, this](){ return invertedType != spv::NoType ? - invertedType : - convertGlslangToSpvType(node->getType()); }; + auto resultType = [&invertedType, &node, this](){ + if (invertedType != spv::NoType) { + return invertedType; + } else { + auto ret = convertGlslangToSpvType(node->getType()); + // convertGlslangToSpvType may clobber the debug location, reset it + builder.setDebugSourceLocation(node->getLoc().line, node->getLoc().getFilename()); + return ret; + } + }; // try texturing result = createImageTextureFunctionCall(node); @@ -2917,8 +2924,10 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt return false; } else { - if (node->getOp() == glslang::EOpScope) - builder.enterLexicalBlock(0); + if (node->getOp() == glslang::EOpScope) { + auto loc = node->getLoc(); + builder.enterLexicalBlock(loc.line, loc.column); + } } } else { if (sequenceDepth > 1 && node->getOp() == glslang::EOpScope) @@ -2967,6 +2976,12 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt currentFunction->setDebugLineInfo(sourceFileId, loc.line, loc.column); } } else { + if (options.generateDebugInfo) { + if (glslangIntermediate->getSource() == glslang::EShSourceGlsl && node->getSequence().size() > 1) { + auto endLoc = node->getSequence()[1]->getAsAggregate()->getEndLoc(); + builder.setDebugSourceLocation(endLoc.line, endLoc.getFilename()); + } + } if (inEntryPoint) entryPointTerminated = true; builder.leaveFunction(); @@ -4120,7 +4135,7 @@ bool TGlslangToSpvTraverser::visitSwitch(glslang::TVisit /* visit */, glslang::T if (codeSegments[s]) codeSegments[s]->traverse(this); else - builder.addSwitchBreak(); + builder.addSwitchBreak(true); } breakForLoop.pop(); @@ -4144,7 +4159,7 @@ void TGlslangToSpvTraverser::visitConstantUnion(glslang::TIntermConstantUnion* n bool TGlslangToSpvTraverser::visitLoop(glslang::TVisit /* visit */, glslang::TIntermLoop* node) { auto blocks = builder.makeNewLoop(); - builder.createBranch(&blocks.head); + builder.createBranch(true, &blocks.head); // Loop control: std::vector operands; @@ -4161,7 +4176,7 @@ bool TGlslangToSpvTraverser::visitLoop(glslang::TVisit /* visit */, glslang::TIn builder.createLoopMerge(&blocks.merge, &blocks.continue_target, control, operands); if (node->testFirst() && node->getTest()) { spv::Block& test = builder.makeNewBlock(); - builder.createBranch(&test); + builder.createBranch(true, &test); builder.setBuildPoint(&test); node->getTest()->traverse(this); @@ -4172,22 +4187,22 @@ bool TGlslangToSpvTraverser::visitLoop(glslang::TVisit /* visit */, glslang::TIn breakForLoop.push(true); if (node->getBody()) node->getBody()->traverse(this); - builder.createBranch(&blocks.continue_target); + builder.createBranch(true, &blocks.continue_target); breakForLoop.pop(); builder.setBuildPoint(&blocks.continue_target); if (node->getTerminal()) node->getTerminal()->traverse(this); - builder.createBranch(&blocks.head); + builder.createBranch(true, &blocks.head); } else { builder.setDebugSourceLocation(node->getLoc().line, node->getLoc().getFilename()); - builder.createBranch(&blocks.body); + builder.createBranch(true, &blocks.body); breakForLoop.push(true); builder.setBuildPoint(&blocks.body); if (node->getBody()) node->getBody()->traverse(this); - builder.createBranch(&blocks.continue_target); + builder.createBranch(true, &blocks.continue_target); breakForLoop.pop(); builder.setBuildPoint(&blocks.continue_target); @@ -4202,7 +4217,7 @@ bool TGlslangToSpvTraverser::visitLoop(glslang::TVisit /* visit */, glslang::TIn // TODO: unless there was a break/return/discard instruction // somewhere in the body, this is an infinite loop, so we should // issue a warning. - builder.createBranch(&blocks.head); + builder.createBranch(true, &blocks.head); } } builder.setBuildPoint(&blocks.merge); @@ -4238,7 +4253,7 @@ bool TGlslangToSpvTraverser::visitBranch(glslang::TVisit /* visit */, glslang::T if (breakForLoop.top()) builder.createLoopExit(); else - builder.addSwitchBreak(); + builder.addSwitchBreak(false); break; case glslang::EOpContinue: builder.createLoopContinue(); @@ -4372,7 +4387,14 @@ spv::Id TGlslangToSpvTraverser::createSpvVariable(const glslang::TIntermSymbol* initializer = builder.makeNullConstant(spvType); } - return builder.createVariable(spv::NoPrecision, storageClass, spvType, name, initializer, false); + spv::Id var = builder.createVariable(spv::NoPrecision, storageClass, spvType, name, initializer, false); + std::vector topLevelDecorations; + glslang::TQualifier typeQualifier = node->getType().getQualifier(); + TranslateMemoryDecoration(typeQualifier, topLevelDecorations, glslangIntermediate->usingVulkanMemoryModel()); + for (auto deco : topLevelDecorations) { + builder.addDecoration(var, deco); + } + return var; } // Return type Id of the sampled type. @@ -4861,7 +4883,7 @@ bool TGlslangToSpvTraverser::filterMember(const glslang::TType& member) } return false; -}; +} // Do full recursive conversion of a glslang structure (or block) type to a SPIR-V Id. // explicitLayout can be kept the same throughout the hierarchical recursive walk. @@ -5404,13 +5426,16 @@ void TGlslangToSpvTraverser::updateMemberOffset(const glslang::TType& structType memberAlignment = componentAlignment; // Don't add unnecessary padding after this member - if (memberType.isMatrix()) { - if (matrixLayout == glslang::ElmRowMajor) - memberSize -= componentSize * (4 - memberType.getMatrixCols()); - else - memberSize -= componentSize * (4 - memberType.getMatrixRows()); - } else if (memberType.isArray()) - memberSize -= componentSize * (4 - memberType.getVectorSize()); + // (undo std140 bumping size to a mutliple of vec4) + if (explicitLayout == glslang::ElpStd140) { + if (memberType.isMatrix()) { + if (matrixLayout == glslang::ElmRowMajor) + memberSize -= componentSize * (4 - memberType.getMatrixCols()); + else + memberSize -= componentSize * (4 - memberType.getMatrixRows()); + } else if (memberType.isArray()) + memberSize -= componentSize * (4 - memberType.getVectorSize()); + } } // Bump up to member alignment @@ -5518,12 +5543,16 @@ void TGlslangToSpvTraverser::makeFunctions(const glslang::TIntermSequence& glslF glslang::TIntermAggregate* glslFunction = glslFunctions[f]->getAsAggregate(); if (! glslFunction || glslFunction->getOp() != glslang::EOpFunction) continue; + + builder.setDebugSourceLocation(glslFunction->getLoc().line, glslFunction->getLoc().getFilename()); + if (isShaderEntryPoint(glslFunction)) { + // For HLSL, the entry function is actually a compiler generated function to resolve the difference of + // entry function signature between HLSL and SPIR-V. So we don't emit debug information for that. if (glslangIntermediate->getSource() != glslang::EShSourceHlsl) { - builder.setupDebugFunctionEntry(shaderEntry, glslangIntermediate->getEntryPointMangledName().c_str(), - glslFunction->getLoc().line, - std::vector(), // main function has no param - std::vector()); + builder.setupFunctionDebugInfo(shaderEntry, glslangIntermediate->getEntryPointMangledName().c_str(), + std::vector(), // main function has no param + std::vector()); } continue; } @@ -5576,8 +5605,7 @@ void TGlslangToSpvTraverser::makeFunctions(const glslang::TIntermSequence& glslF TranslatePrecisionDecoration(glslFunction->getType()), convertGlslangToSpvType(glslFunction->getType()), glslFunction->getName().c_str(), convertGlslangLinkageToSpv(glslFunction->getLinkType()), paramTypes, paramDecorations, &functionBlock); - builder.setupDebugFunctionEntry(function, glslFunction->getName().c_str(), glslFunction->getLoc().line, - paramTypes, paramNames); + builder.setupFunctionDebugInfo(function, glslFunction->getName().c_str(), paramTypes, paramNames); if (implicitThis) function->setImplicitThis(); @@ -6441,6 +6469,9 @@ spv::Id TGlslangToSpvTraverser::handleUserFunctionCall(const glslang::TIntermAgg } } + // Reset source location to the function call location after argument evaluation + builder.setDebugSourceLocation(node->getLoc().line, node->getLoc().getFilename()); + // 2. Allocate space for anything needing a copy, and if it's "in" or "inout" // copy the original into that space. // @@ -10280,7 +10311,7 @@ spv::Id TGlslangToSpvTraverser::getExtBuiltins(const char* name) } } -}; // end anonymous namespace +} // end anonymous namespace namespace glslang { @@ -10417,4 +10448,4 @@ void GlslangToSpv(const TIntermediate& intermediate, std::vector& GetThreadPoolAllocator().pop(); } -}; // end namespace glslang +} // end namespace glslang diff --git a/SPIRV/GlslangToSpv.h b/SPIRV/GlslangToSpv.h index 1b9ef3c5..9fb4f3ff 100644 --- a/SPIRV/GlslangToSpv.h +++ b/SPIRV/GlslangToSpv.h @@ -39,6 +39,7 @@ #include #include "Logger.h" +#include "glslang/Include/visibility.h" namespace glslang { class TIntermediate; @@ -53,15 +54,16 @@ struct SpvOptions { bool emitNonSemanticShaderDebugInfo {false}; bool emitNonSemanticShaderDebugSource{ false }; bool compileOnly{false}; + bool optimizerAllowExpandedIDBound{false}; }; -void GetSpirvVersion(std::string&); -int GetSpirvGeneratorVersion(); -void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector& spirv, - SpvOptions* options = nullptr); -void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector& spirv, - spv::SpvBuildLogger* logger, SpvOptions* options = nullptr); -bool OutputSpvBin(const std::vector& spirv, const char* baseName); -bool OutputSpvHex(const std::vector& spirv, const char* baseName, const char* varName); +GLSLANG_EXPORT void GetSpirvVersion(std::string&); +GLSLANG_EXPORT int GetSpirvGeneratorVersion(); +GLSLANG_EXPORT void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector& spirv, + SpvOptions* options = nullptr); +GLSLANG_EXPORT void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector& spirv, + spv::SpvBuildLogger* logger, SpvOptions* options = nullptr); +GLSLANG_EXPORT bool OutputSpvBin(const std::vector& spirv, const char* baseName); +GLSLANG_EXPORT bool OutputSpvHex(const std::vector& spirv, const char* baseName, const char* varName); } diff --git a/SPIRV/Logger.h b/SPIRV/Logger.h index 2e4ddaf5..c64a3b8a 100644 --- a/SPIRV/Logger.h +++ b/SPIRV/Logger.h @@ -37,12 +37,13 @@ #include #include +#include "glslang/Include/visibility.h" namespace spv { // A class for holding all SPIR-V build status messages, including // missing/TBD functionalities, warnings, and errors. -class SpvBuildLogger { +class GLSLANG_EXPORT SpvBuildLogger { public: SpvBuildLogger() {} diff --git a/SPIRV/SPVRemapper.cpp b/SPIRV/SPVRemapper.cpp index f8f50a95..2ef3bf75 100644 --- a/SPIRV/SPVRemapper.cpp +++ b/SPIRV/SPVRemapper.cpp @@ -38,7 +38,6 @@ #include #include -#include "../glslang/Include/Common.h" namespace spv { diff --git a/SPIRV/SPVRemapper.h b/SPIRV/SPVRemapper.h index 33efe331..e60da792 100644 --- a/SPIRV/SPVRemapper.h +++ b/SPIRV/SPVRemapper.h @@ -41,6 +41,21 @@ #include #include +#ifdef GLSLANG_IS_SHARED_LIBRARY + #ifdef _WIN32 + #ifdef GLSLANG_EXPORTING + #define GLSLANG_EXPORT __declspec(dllexport) + #else + #define GLSLANG_EXPORT __declspec(dllimport) + #endif + #elif __GNUC__ >= 4 + #define GLSLANG_EXPORT __attribute__((visibility("default"))) + #endif +#endif // GLSLANG_IS_SHARED_LIBRARY +#ifndef GLSLANG_EXPORT +#define GLSLANG_EXPORT +#endif + namespace spv { class spirvbin_base_t @@ -79,10 +94,11 @@ public: #include "spirv.hpp" namespace spv { -const Id NoResult = 0; + +static inline constexpr Id NoResult = 0; // class to hold SPIR-V binary data for remapping, DCE, and debug stripping -class spirvbin_t : public spirvbin_base_t +class GLSLANG_EXPORT spirvbin_t : public spirvbin_base_t { public: spirvbin_t(int verbose = 0) : entryPoint(spv::NoResult), largestNewId(0), verbose(verbose), errorLatch(false) diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp index 51c6bc21..500c78f9 100644 --- a/SPIRV/SpvBuilder.cpp +++ b/SPIRV/SpvBuilder.cpp @@ -439,6 +439,43 @@ Id Builder::makeCooperativeMatrixTypeKHR(Id component, Id scope, Id rows, Id col constantsTypesGlobals.push_back(std::unique_ptr(type)); module.mapInstruction(type); + if (emitNonSemanticShaderDebugInfo) + { + // Find a name for one of the parameters. It can either come from debuginfo for another + // type, or an OpName from a constant. + auto const findName = [&](Id id) { + Id id2 = debugId[id]; + for (auto &t : groupedDebugTypes[NonSemanticShaderDebugInfo100DebugTypeBasic]) { + if (t->getResultId() == id2) { + for (auto &s : strings) { + if (s->getResultId() == t->getIdOperand(2)) { + return s->getNameString(); + } + } + } + } + for (auto &t : names) { + if (t->getIdOperand(0) == id) { + return t->getNameString(); + } + } + return "unknown"; + }; + std::string debugName = "coopmat<"; + debugName += std::string(findName(component)) + ", "; + if (isConstantScalar(scope)) { + debugName += std::string("gl_Scope") + std::string(spv::ScopeToString((spv::Scope)getConstantScalar(scope))) + ", "; + } else { + debugName += std::string(findName(scope)) + ", "; + } + debugName += std::string(findName(rows)) + ", "; + debugName += std::string(findName(cols)) + ">"; + // There's no nonsemantic debug info instruction for cooperative matrix types, + // use opaque composite instead. + auto const debugResultId = makeCompositeDebugType({}, debugName.c_str(), NonSemanticShaderDebugInfo100Structure, true); + debugId[type->getResultId()] = debugResultId; + } + return type->getResultId(); } @@ -1312,7 +1349,7 @@ Op Builder::getMostBasicTypeClass(Id typeId) const } } -int Builder::getNumTypeConstituents(Id typeId) const +unsigned int Builder::getNumTypeConstituents(Id typeId) const { Instruction* instr = module.getInstruction(typeId); @@ -1979,7 +2016,7 @@ void Builder::addDecoration(Id id, Decoration decoration, int num) if (num >= 0) dec->addImmediateOperand(num); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addDecoration(Id id, Decoration decoration, const char* s) @@ -1993,7 +2030,7 @@ void Builder::addDecoration(Id id, Decoration decoration, const char* s) dec->addImmediateOperand(decoration); dec->addStringOperand(s); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addDecoration(Id id, Decoration decoration, const std::vector& literals) @@ -2008,7 +2045,7 @@ void Builder::addDecoration(Id id, Decoration decoration, const std::vectoraddImmediateOperand(literal); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addDecoration(Id id, Decoration decoration, const std::vector& strings) @@ -2023,7 +2060,7 @@ void Builder::addDecoration(Id id, Decoration decoration, const std::vectoraddStringOperand(string); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addLinkageDecoration(Id id, const char* name, spv::LinkageType linkType) { @@ -2034,7 +2071,7 @@ void Builder::addLinkageDecoration(Id id, const char* name, spv::LinkageType lin dec->addStringOperand(name); dec->addImmediateOperand(linkType); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addDecorationId(Id id, Decoration decoration, Id idDecoration) @@ -2048,7 +2085,7 @@ void Builder::addDecorationId(Id id, Decoration decoration, Id idDecoration) dec->addImmediateOperand(decoration); dec->addIdOperand(idDecoration); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addDecorationId(Id id, Decoration decoration, const std::vector& operandIds) @@ -2064,7 +2101,7 @@ void Builder::addDecorationId(Id id, Decoration decoration, const std::vectoraddIdOperand(operandId); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decoration, int num) @@ -2080,7 +2117,7 @@ void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decorat if (num >= 0) dec->addImmediateOperand(num); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decoration, const char *s) @@ -2095,7 +2132,7 @@ void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decorat dec->addImmediateOperand(decoration); dec->addStringOperand(s); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decoration, const std::vector& literals) @@ -2111,7 +2148,7 @@ void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decorat for (auto literal : literals) dec->addImmediateOperand(literal); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decoration, const std::vector& strings) @@ -2127,10 +2164,16 @@ void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decorat for (auto string : strings) dec->addStringOperand(string); - decorations.push_back(std::unique_ptr(dec)); + decorations.insert(std::unique_ptr(dec)); } void Builder::addInstruction(std::unique_ptr inst) { + // Phis must appear first in their block, don't insert line tracking instructions + // in front of them, just add the OpPhi and return. + if (inst->getOpCode() == OpPhi) { + buildPoint->addInstruction(std::move(inst)); + return; + } // Optionally insert OpDebugScope if (emitNonSemanticShaderDebugInfo && dirtyScopeTracker) { if (buildPoint->updateDebugScope(currentDebugScopeId.top())) { @@ -2176,6 +2219,10 @@ void Builder::addInstruction(std::unique_ptr inst) { buildPoint->addInstruction(std::move(inst)); } +void Builder::addInstructionNoDebugInfo(std::unique_ptr inst) { + buildPoint->addInstruction(std::move(inst)); +} + // Comments in header Function* Builder::makeEntryPoint(const char* entryPoint) { @@ -2236,14 +2283,13 @@ Function* Builder::makeFunctionEntry(Decoration precision, Id returnType, const return function; } -void Builder::setupDebugFunctionEntry(Function* function, const char* name, int line, const std::vector& paramTypes, - const std::vector& paramNames) +void Builder::setupFunctionDebugInfo(Function* function, const char* name, const std::vector& paramTypes, + const std::vector& paramNames) { if (!emitNonSemanticShaderDebugInfo) return; - currentLine = line; Id nameId = getStringId(unmangleFunctionName(name)); Id funcTypeId = function->getFuncTypeId(); assert(debugId[funcTypeId] != 0); @@ -2315,7 +2361,7 @@ Id Builder::makeDebugFunction([[maybe_unused]] Function* function, Id nameId, Id return funcId; } -Id Builder::makeDebugLexicalBlock(uint32_t line) { +Id Builder::makeDebugLexicalBlock(uint32_t line, uint32_t column) { assert(!currentDebugScopeId.empty()); Id lexId = getUniqueId(); @@ -2325,7 +2371,7 @@ Id Builder::makeDebugLexicalBlock(uint32_t line) { lex->addImmediateOperand(NonSemanticShaderDebugInfo100DebugLexicalBlock); lex->addIdOperand(makeDebugSource(currentFileId)); lex->addIdOperand(makeUintConstant(line)); - lex->addIdOperand(makeUintConstant(0)); // column + lex->addIdOperand(makeUintConstant(column)); // column lex->addIdOperand(currentDebugScopeId.top()); // scope constantsTypesGlobals.push_back(std::unique_ptr(lex)); module.mapInstruction(lex); @@ -2358,10 +2404,14 @@ void Builder::makeReturn(bool implicit, Id retVal) } // Comments in header -void Builder::enterLexicalBlock(uint32_t line) +void Builder::enterLexicalBlock(uint32_t line, uint32_t column) { + if (!emitNonSemanticShaderDebugInfo) { + return; + } + // Generate new lexical scope debug instruction - Id lexId = makeDebugLexicalBlock(line); + Id lexId = makeDebugLexicalBlock(line, column); currentDebugScopeId.push(lexId); dirtyScopeTracker = true; } @@ -2369,6 +2419,10 @@ void Builder::enterLexicalBlock(uint32_t line) // Comments in header void Builder::leaveLexicalBlock() { + if (!emitNonSemanticShaderDebugInfo) { + return; + } + // Pop current scope from stack and clear current scope currentDebugScopeId.pop(); dirtyScopeTracker = true; @@ -2924,7 +2978,7 @@ Id Builder::createLvalueSwizzle(Id typeId, Id target, Id source, const std::vect swizzle->reserveOperands(2); swizzle->addIdOperand(target); - assert(getNumComponents(source) == (int)channels.size()); + assert(getNumComponents(source) == channels.size()); assert(isVector(source)); swizzle->addIdOperand(source); @@ -3371,7 +3425,7 @@ Id Builder::createCompositeCompare(Decoration precision, Id value1, Id value2, b Id Builder::createCompositeConstruct(Id typeId, const std::vector& constituents) { assert(isAggregateType(typeId) || (getNumTypeConstituents(typeId) > 1 && - getNumTypeConstituents(typeId) == (int)constituents.size())); + getNumTypeConstituents(typeId) == constituents.size())); if (generatingOpCodeForSpecConst) { // Sometime, even in spec-constant-op mode, the constant composite to be @@ -3424,6 +3478,12 @@ Id Builder::createConstructor(Decoration precision, const std::vector& sourc if (sources.size() == 1 && isScalar(sources[0]) && numTargetComponents > 1) return smearScalar(precision, sources[0], resultTypeId); + // Special case: 2 vectors of equal size + if (sources.size() == 1 && isVector(sources[0]) && numTargetComponents == getNumComponents(sources[0])) { + assert(resultTypeId == getTypeId(sources[0])); + return sources[0]; + } + // accumulate the arguments for OpCompositeConstruct std::vector constituents; Id scalarTypeId = getScalarTypeId(resultTypeId); @@ -3458,8 +3518,8 @@ Id Builder::createConstructor(Decoration precision, const std::vector& sourc if (sourcesToUse + targetComponent > numTargetComponents) sourcesToUse = numTargetComponents - targetComponent; - int col = 0; - int row = 0; + unsigned int col = 0; + unsigned int row = 0; for (unsigned int s = 0; s < sourcesToUse; ++s) { if (row >= getNumRows(sourceArg)) { row = 0; @@ -3504,8 +3564,8 @@ Id Builder::createConstructor(Decoration precision, const std::vector& sourc Id Builder::createMatrixConstructor(Decoration precision, const std::vector& sources, Id resultTypeId) { Id componentTypeId = getScalarTypeId(resultTypeId); - int numCols = getTypeNumColumns(resultTypeId); - int numRows = getTypeNumRows(resultTypeId); + unsigned int numCols = getTypeNumColumns(resultTypeId); + unsigned int numRows = getTypeNumRows(resultTypeId); Instruction* instr = module.getInstruction(componentTypeId); const unsigned bitCount = instr->getImmediateOperand(0); @@ -3520,11 +3580,11 @@ Id Builder::createMatrixConstructor(Decoration precision, const std::vector& Id sourceColumnTypeId = getContainedTypeId(getTypeId(matrix)); std::vector channels; - for (int row = 0; row < numRows; ++row) + for (unsigned int row = 0; row < numRows; ++row) channels.push_back(row); std::vector matrixColumns; - for (int col = 0; col < numCols; ++col) { + for (unsigned int col = 0; col < numCols; ++col) { std::vector indexes; indexes.push_back(col); Id colv = createCompositeExtract(matrix, sourceColumnTypeId, indexes); @@ -3542,7 +3602,7 @@ Id Builder::createMatrixConstructor(Decoration precision, const std::vector& // Detect a matrix being constructed from a repeated vector of the correct size. // Create the composite directly from it. - if ((int)sources.size() == numCols && isVector(sources[0]) && getNumComponents(sources[0]) == numRows && + if (sources.size() == numCols && isVector(sources[0]) && getNumComponents(sources[0]) == numRows && std::equal(sources.begin() + 1, sources.end(), sources.begin())) { return setPrecision(createCompositeConstruct(resultTypeId, sources), precision); } @@ -3574,12 +3634,12 @@ Id Builder::createMatrixConstructor(Decoration precision, const std::vector& } else if (isMatrix(sources[0])) { // constructing from another matrix; copy over the parts that exist in both the argument and constructee Id matrix = sources[0]; - int minCols = std::min(numCols, getNumColumns(matrix)); - int minRows = std::min(numRows, getNumRows(matrix)); - for (int col = 0; col < minCols; ++col) { + unsigned int minCols = std::min(numCols, getNumColumns(matrix)); + unsigned int minRows = std::min(numRows, getNumRows(matrix)); + for (unsigned int col = 0; col < minCols; ++col) { std::vector indexes; indexes.push_back(col); - for (int row = 0; row < minRows; ++row) { + for (unsigned int row = 0; row < minRows; ++row) { indexes.push_back(row); ids[col][row] = createCompositeExtract(matrix, componentTypeId, indexes); indexes.pop_back(); @@ -3588,12 +3648,12 @@ Id Builder::createMatrixConstructor(Decoration precision, const std::vector& } } else { // fill in the matrix in column-major order with whatever argument components are available - int row = 0; - int col = 0; + unsigned int row = 0; + unsigned int col = 0; - for (int arg = 0; arg < (int)sources.size() && col < numCols; ++arg) { + for (unsigned int arg = 0; arg < sources.size() && col < numCols; ++arg) { Id argComp = sources[arg]; - for (int comp = 0; comp < getNumComponents(sources[arg]); ++comp) { + for (unsigned int comp = 0; comp < getNumComponents(sources[arg]); ++comp) { if (getNumComponents(sources[arg]) > 1) { argComp = createCompositeExtract(sources[arg], componentTypeId, comp); setPrecision(argComp, precision); @@ -3617,9 +3677,9 @@ Id Builder::createMatrixConstructor(Decoration precision, const std::vector& // make the column vectors Id columnTypeId = getContainedTypeId(resultTypeId); std::vector matrixColumns; - for (int col = 0; col < numCols; ++col) { + for (unsigned int col = 0; col < numCols; ++col) { std::vector vectorComponents; - for (int row = 0; row < numRows; ++row) + for (unsigned int row = 0; row < numRows; ++row) vectorComponents.push_back(ids[col][row]); Id column = createCompositeConstruct(columnTypeId, vectorComponents); setPrecision(column, precision); @@ -3648,6 +3708,7 @@ Builder::If::If(Id cond, unsigned int ctrl, Builder& gb) : // Save the current block, so that we can add in the flow control split when // makeEndIf is called. headerBlock = builder.getBuildPoint(); + builder.createSelectionMerge(mergeBlock, control); function->addBlock(thenBlock); builder.setBuildPoint(thenBlock); @@ -3657,7 +3718,7 @@ Builder::If::If(Id cond, unsigned int ctrl, Builder& gb) : void Builder::If::makeBeginElse() { // Close out the "then" by having it jump to the mergeBlock - builder.createBranch(mergeBlock); + builder.createBranch(true, mergeBlock); // Make the first else block and add it to the function elseBlock = new Block(builder.getUniqueId(), *function); @@ -3671,11 +3732,10 @@ void Builder::If::makeBeginElse() void Builder::If::makeEndIf() { // jump to the merge block - builder.createBranch(mergeBlock); + builder.createBranch(true, mergeBlock); // Go back to the headerBlock and make the flow control split builder.setBuildPoint(headerBlock); - builder.createSelectionMerge(mergeBlock, control); if (elseBlock) builder.createConditionalBranch(condition, thenBlock, elseBlock); else @@ -3721,10 +3781,10 @@ void Builder::makeSwitch(Id selector, unsigned int control, int numSegments, con } // Comments in header -void Builder::addSwitchBreak() +void Builder::addSwitchBreak(bool implicit) { // branch to the top of the merge block stack - createBranch(switchMerges.top()); + createBranch(implicit, switchMerges.top()); createAndSetNoPredecessorBlock("post-switch-break"); } @@ -3735,7 +3795,7 @@ void Builder::nextSwitchSegment(std::vector& segmentBlock, int nextSegme if (lastSegment >= 0) { // Close out previous segment by jumping, if necessary, to next segment if (! buildPoint->isTerminated()) - createBranch(segmentBlock[nextSegment]); + createBranch(true, segmentBlock[nextSegment]); } Block* block = segmentBlock[nextSegment]; block->getParent().addBlock(block); @@ -3747,7 +3807,7 @@ void Builder::endSwitch(std::vector& /*segmentBlock*/) { // Close out previous segment by jumping, if necessary, to next segment if (! buildPoint->isTerminated()) - addSwitchBreak(); + addSwitchBreak(true); switchMerges.top()->getParent().addBlock(switchMerges.top()); setBuildPoint(switchMerges.top()); @@ -3780,14 +3840,14 @@ Builder::LoopBlocks& Builder::makeNewLoop() void Builder::createLoopContinue() { - createBranch(&loops.top().continue_target); + createBranch(false, &loops.top().continue_target); // Set up a block for dead code. createAndSetNoPredecessorBlock("post-loop-continue"); } void Builder::createLoopExit() { - createBranch(&loops.top().merge); + createBranch(false, &loops.top().merge); // Set up a block for dead code. createAndSetNoPredecessorBlock("post-loop-break"); } @@ -3846,7 +3906,7 @@ void Builder::accessChainStore(Id rvalue, Decoration nonUniform, spv::MemoryAcce // 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() && + getNumTypeComponents(getResultingAccessChainType()) != accessChain.swizzle.size() && accessChain.component == NoResult) { for (unsigned int i = 0; i < accessChain.swizzle.size(); ++i) { accessChain.indexChain.push_back(makeUintConstant(accessChain.swizzle[i])); @@ -4166,7 +4226,7 @@ void Builder::simplifyAccessChainSwizzle() { // If the swizzle has fewer components than the vector, it is subsetting, and must stay // to preserve that fact. - if (getNumTypeComponents(accessChain.preSwizzleBaseType) > (int)accessChain.swizzle.size()) + if (getNumTypeComponents(accessChain.preSwizzleBaseType) > accessChain.swizzle.size()) return; // if components are out of order, it is a swizzle @@ -4229,11 +4289,16 @@ void Builder::createAndSetNoPredecessorBlock(const char* /*name*/) } // Comments in header -void Builder::createBranch(Block* block) +void Builder::createBranch(bool implicit, Block* block) { Instruction* branch = new Instruction(OpBranch); branch->addIdOperand(block->getId()); - addInstruction(std::unique_ptr(branch)); + if (implicit) { + addInstructionNoDebugInfo(std::unique_ptr(branch)); + } + else { + addInstruction(std::unique_ptr(branch)); + } block->addPredecessor(buildPoint); } @@ -4266,7 +4331,10 @@ void Builder::createConditionalBranch(Id condition, Block* thenBlock, Block* els branch->addIdOperand(condition); branch->addIdOperand(thenBlock->getId()); branch->addIdOperand(elseBlock->getId()); - addInstruction(std::unique_ptr(branch)); + + // A conditional branch is always attached to a condition expression + addInstructionNoDebugInfo(std::unique_ptr(branch)); + thenBlock->addPredecessor(buildPoint); elseBlock->addPredecessor(buildPoint); } @@ -4324,11 +4392,10 @@ void Builder::dumpSourceInstructions(std::vector& out) const dumpSourceInstructions(iItr->first, *iItr->second, out); } -void Builder::dumpInstructions(std::vector& out, - const std::vector >& instructions) const +template void Builder::dumpInstructions(std::vector& out, const Range& instructions) const { - for (int i = 0; i < (int)instructions.size(); ++i) { - instructions[i]->dump(out); + for (const auto& inst : instructions) { + inst->dump(out); } } @@ -4341,4 +4408,40 @@ void Builder::dumpModuleProcesses(std::vector& out) const } } +bool Builder::DecorationInstructionLessThan::operator()(const std::unique_ptr& lhs, + const std::unique_ptr& rhs) const +{ + // Order by the id to which the decoration applies first. This is more intuitive. + assert(lhs->isIdOperand(0) && rhs->isIdOperand(0)); + if (lhs->getIdOperand(0) != rhs->getIdOperand(0)) { + return lhs->getIdOperand(0) < rhs->getIdOperand(0); + } + + if (lhs->getOpCode() != rhs->getOpCode()) + return lhs->getOpCode() < rhs->getOpCode(); + + // Now compare the operands. + int minSize = std::min(lhs->getNumOperands(), rhs->getNumOperands()); + for (int i = 1; i < minSize; ++i) { + if (lhs->isIdOperand(i) != rhs->isIdOperand(i)) { + return lhs->isIdOperand(i) < rhs->isIdOperand(i); + } + + if (lhs->isIdOperand(i)) { + if (lhs->getIdOperand(i) != rhs->getIdOperand(i)) { + return lhs->getIdOperand(i) < rhs->getIdOperand(i); + } + } else { + if (lhs->getImmediateOperand(i) != rhs->getImmediateOperand(i)) { + return lhs->getImmediateOperand(i) < rhs->getImmediateOperand(i); + } + } + } + + if (lhs->getNumOperands() != rhs->getNumOperands()) + return lhs->getNumOperands() < rhs->getNumOperands(); + + // In this case they are equal. + return false; +} } // end spv namespace diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h index 35327d6e..4bae1d5c 100644 --- a/SPIRV/SpvBuilder.h +++ b/SPIRV/SpvBuilder.h @@ -48,6 +48,7 @@ #define SpvBuilder_H #include "Logger.h" +#define SPV_ENABLE_UTILITY_CODE #include "spirv.hpp" #include "spvIR.h" namespace spv { @@ -56,6 +57,7 @@ namespace spv { } #include +#include #include #include #include @@ -107,7 +109,7 @@ public: spv::Id getMainFileId() const { return mainFileId; } // Initialize the main source file name - void setDebugSourceFile(const std::string& file) + void setDebugMainSourceFile(const std::string& file) { if (trackDebugInfo) { dirtyLineTracker = true; @@ -245,11 +247,14 @@ public: Id makeDebugValue(Id const debugLocalVariable, Id const value); Id makeDebugFunctionType(Id returnType, const std::vector& paramTypes); Id makeDebugFunction(Function* function, Id nameId, Id funcTypeId); - Id makeDebugLexicalBlock(uint32_t line); + Id makeDebugLexicalBlock(uint32_t line, uint32_t column); std::string unmangleFunctionName(std::string const& name) const; - void setupDebugFunctionEntry(Function* function, const char* name, int line, - const std::vector& paramTypes, - const std::vector& paramNames); + + // Initialize non-semantic debug information for a function, including those of: + // - The function definition + // - The function parameters + void setupFunctionDebugInfo(Function* function, const char* name, const std::vector& paramTypes, + const std::vector& paramNames); // accelerationStructureNV type Id makeAccelerationStructureType(); @@ -264,9 +269,9 @@ public: Op getOpCode(Id id) const { return module.getInstruction(id)->getOpCode(); } Op getTypeClass(Id typeId) const { return getOpCode(typeId); } Op getMostBasicTypeClass(Id typeId) const; - int getNumComponents(Id resultId) const { return getNumTypeComponents(getTypeId(resultId)); } - int getNumTypeConstituents(Id typeId) const; - int getNumTypeComponents(Id typeId) const { return getNumTypeConstituents(typeId); } + unsigned int getNumComponents(Id resultId) const { return getNumTypeComponents(getTypeId(resultId)); } + unsigned int getNumTypeConstituents(Id typeId) const; + unsigned int getNumTypeComponents(Id typeId) const { return getNumTypeConstituents(typeId); } Id getScalarTypeId(Id typeId) const; Id getContainedTypeId(Id typeId) const; Id getContainedTypeId(Id typeId, int) const; @@ -334,18 +339,18 @@ public: return module.getInstruction(scalarTypeId)->getImmediateOperand(0); } - int getTypeNumColumns(Id typeId) const + unsigned int getTypeNumColumns(Id typeId) const { assert(isMatrixType(typeId)); return getNumTypeConstituents(typeId); } - int getNumColumns(Id resultId) const { return getTypeNumColumns(getTypeId(resultId)); } - int getTypeNumRows(Id typeId) const + unsigned int getNumColumns(Id resultId) const { return getTypeNumColumns(getTypeId(resultId)); } + unsigned int getTypeNumRows(Id typeId) const { assert(isMatrixType(typeId)); return getNumTypeComponents(getContainedTypeId(typeId)); } - int getNumRows(Id resultId) const { return getTypeNumRows(getTypeId(resultId)); } + unsigned int getNumRows(Id resultId) const { return getTypeNumRows(getTypeId(resultId)); } Dim getTypeDimensionality(Id typeId) const { @@ -416,8 +421,7 @@ public: // Also reset current last DebugScope and current source line to unknown void setBuildPoint(Block* bp) { buildPoint = bp; - // TODO: Technically, change of build point should set line tracker dirty. But we'll have bad line info for - // branch instructions. Commenting this for now because at least this matches the old behavior. + dirtyLineTracker = true; dirtyScopeTracker = true; } Block* getBuildPoint() const { return buildPoint; } @@ -426,6 +430,11 @@ public: // Optionally, additional debug info instructions may also be prepended. void addInstruction(std::unique_ptr inst); + // Append an instruction to the end of the current build point without prepending any debug instructions. + // This is useful for insertion of some debug info instructions themselves or some control flow instructions + // that are attached to its predecessor instruction. + void addInstructionNoDebugInfo(std::unique_ptr inst); + // Make the entry-point function. The returned pointer is only valid // for the lifetime of this builder. Function* makeEntryPoint(const char*); @@ -442,7 +451,7 @@ public: void makeReturn(bool implicit, Id retVal = 0); // Initialize state and generate instructions for new lexical scope - void enterLexicalBlock(uint32_t line); + void enterLexicalBlock(uint32_t line, uint32_t column); // Set state and generate instructions to exit current lexical scope void leaveLexicalBlock(); @@ -639,7 +648,7 @@ public: const std::vector& valueToSegment, int defaultSegment, std::vector& segmentBB); // Add a branch to the innermost switch's merge block. - void addSwitchBreak(); + void addSwitchBreak(bool implicit); // Move to the next code segment, passing in the return argument in makeSwitch() void nextSwitchSegment(std::vector& segmentBB, int segment); @@ -861,7 +870,9 @@ public: void dump(std::vector&) const; - void createBranch(Block* block); + // Add a branch to the target block. + // If set implicit, the branch instruction shouldn't have debug source location. + void createBranch(bool implicit, Block* block); void createConditionalBranch(Id condition, Block* thenBlock, Block* elseBlock); void createLoopMerge(Block* mergeBlock, Block* continueBlock, unsigned int control, const std::vector& operands); @@ -890,10 +901,13 @@ public: void createSelectionMerge(Block* mergeBlock, unsigned int control); void dumpSourceInstructions(std::vector&) const; void dumpSourceInstructions(const spv::Id fileId, const std::string& text, std::vector&) const; - void dumpInstructions(std::vector&, const std::vector >&) const; + template void dumpInstructions(std::vector& out, const Range& instructions) const; void dumpModuleProcesses(std::vector&) const; spv::MemoryAccessMask sanitizeMemoryAccessForStorageClass(spv::MemoryAccessMask memoryAccess, StorageClass sc) const; + struct DecorationInstructionLessThan { + bool operator()(const std::unique_ptr& lhs, const std::unique_ptr& rhs) const; + }; unsigned int spvVersion; // the version of SPIR-V to emit in the header SourceLanguage sourceLang; @@ -950,7 +964,7 @@ public: std::vector > entryPoints; std::vector > executionModes; std::vector > names; - std::vector > decorations; + std::set, DecorationInstructionLessThan> decorations; std::vector > constantsTypesGlobals; std::vector > externals; std::vector > functions; @@ -990,6 +1004,6 @@ public: SpvBuildLogger* logger; }; // end Builder class -}; // end spv namespace +} // end spv namespace #endif // SpvBuilder_H diff --git a/SPIRV/SpvPostProcess.cpp b/SPIRV/SpvPostProcess.cpp index 5b3fbb56..4cd01102 100644 --- a/SPIRV/SpvPostProcess.cpp +++ b/SPIRV/SpvPostProcess.cpp @@ -387,12 +387,14 @@ void Builder::postProcessCFG() } // Remove unneeded decorations, for unreachable instructions - decorations.erase(std::remove_if(decorations.begin(), decorations.end(), - [&unreachableDefinitions](std::unique_ptr& I) -> bool { - Id decoration_id = I.get()->getIdOperand(0); - return unreachableDefinitions.count(decoration_id) != 0; - }), - decorations.end()); + for (auto decorationIter = decorations.begin(); decorationIter != decorations.end();) { + Id decorationId = (*decorationIter)->getIdOperand(0); + if (unreachableDefinitions.count(decorationId) != 0) { + decorationIter = decorations.erase(decorationIter); + } else { + ++decorationIter; + } + } } // comment in header @@ -546,4 +548,4 @@ void Builder::postProcess(bool compileOnly) postProcessSamplers(); } -}; // end spv namespace +} // end spv namespace diff --git a/SPIRV/SpvTools.cpp b/SPIRV/SpvTools.cpp index ff04f4f9..8cd03ef5 100644 --- a/SPIRV/SpvTools.cpp +++ b/SPIRV/SpvTools.cpp @@ -44,6 +44,7 @@ #include "SpvTools.h" #include "spirv-tools/optimizer.hpp" +#include "glslang/MachineIndependent/localintermediate.h" namespace glslang { @@ -81,6 +82,11 @@ spv_target_env MapToSpirvToolsEnv(const SpvVersion& spvVersion, spv::SpvBuildLog return spv_target_env::SPV_ENV_UNIVERSAL_1_0; } +spv_target_env MapToSpirvToolsEnv(const glslang::TIntermediate& intermediate, spv::SpvBuildLogger* logger) +{ + return MapToSpirvToolsEnv(intermediate.getSpv(), logger); +} + // Callback passed to spvtools::Optimizer::SetMessageConsumer void OptimizerMesssageConsumer(spv_message_level_t level, const char *source, const spv_position_t &position, const char *message) @@ -218,9 +224,20 @@ void SpirvToolsTransform(const glslang::TIntermediate& intermediate, std::vector optimizer.RegisterPass(spvtools::CreateCFGCleanupPass()); spvtools::OptimizerOptions spvOptOptions; + if (options->optimizerAllowExpandedIDBound) + spvOptOptions.set_max_id_bound(0x3FFFFFFF); optimizer.SetTargetEnv(MapToSpirvToolsEnv(intermediate.getSpv(), logger)); spvOptOptions.set_run_validator(false); // The validator may run as a separate step later on optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions); + + if (options->optimizerAllowExpandedIDBound) { + if (spirv.size() > 3 && spirv[3] > kDefaultMaxIdBound) { + spvtools::Optimizer optimizer2(target_env); + optimizer2.SetMessageConsumer(OptimizerMesssageConsumer); + optimizer2.RegisterPass(spvtools::CreateCompactIdsPass()); + optimizer2.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions); + } + } } bool SpirvToolsAnalyzeDeadOutputStores(spv_target_env target_env, std::vector& spirv, @@ -292,6 +309,6 @@ void SpirvToolsStripDebugInfo(const glslang::TIntermediate& intermediate, optimizer.Run(spirv.data(), spirv.size(), &spirv, spvOptOptions); } -}; // end namespace glslang +} // end namespace glslang #endif diff --git a/SPIRV/SpvTools.h b/SPIRV/SpvTools.h index eabde466..45585723 100644 --- a/SPIRV/SpvTools.h +++ b/SPIRV/SpvTools.h @@ -44,10 +44,12 @@ #if ENABLE_OPT #include #include +#include #include "spirv-tools/libspirv.h" #endif -#include "glslang/MachineIndependent/localintermediate.h" +#include "glslang/MachineIndependent/Versions.h" +#include "glslang/Include/visibility.h" #include "GlslangToSpv.h" #include "Logger.h" @@ -55,45 +57,50 @@ namespace glslang { #if ENABLE_OPT +class TIntermediate; + // Translate glslang's view of target versioning to what SPIRV-Tools uses. -spv_target_env MapToSpirvToolsEnv(const SpvVersion& spvVersion, spv::SpvBuildLogger* logger); +GLSLANG_EXPORT spv_target_env MapToSpirvToolsEnv(const SpvVersion& spvVersion, spv::SpvBuildLogger* logger); +GLSLANG_EXPORT spv_target_env MapToSpirvToolsEnv(const glslang::TIntermediate& intermediate, spv::SpvBuildLogger* logger); // Use the SPIRV-Tools disassembler to print SPIR-V using a SPV_ENV_UNIVERSAL_1_3 environment. -void SpirvToolsDisassemble(std::ostream& out, const std::vector& spirv); +GLSLANG_EXPORT void SpirvToolsDisassemble(std::ostream& out, const std::vector& spirv); // Use the SPIRV-Tools disassembler to print SPIR-V with a provided SPIR-V environment. -void SpirvToolsDisassemble(std::ostream& out, const std::vector& spirv, - spv_target_env requested_context); +GLSLANG_EXPORT void SpirvToolsDisassemble(std::ostream& out, const std::vector& spirv, + spv_target_env requested_context); // Apply the SPIRV-Tools validator to generated SPIR-V. -void SpirvToolsValidate(const glslang::TIntermediate& intermediate, std::vector& spirv, - spv::SpvBuildLogger*, bool prelegalization); +GLSLANG_EXPORT void SpirvToolsValidate(const glslang::TIntermediate& intermediate, std::vector& spirv, + spv::SpvBuildLogger*, bool prelegalization); // Apply the SPIRV-Tools optimizer to generated SPIR-V. HLSL SPIR-V is legalized in the process. -void SpirvToolsTransform(const glslang::TIntermediate& intermediate, std::vector& spirv, - spv::SpvBuildLogger*, const SpvOptions*); +GLSLANG_EXPORT void SpirvToolsTransform(const glslang::TIntermediate& intermediate, std::vector& spirv, + spv::SpvBuildLogger*, const SpvOptions*); // Apply the SPIRV-Tools EliminateDeadInputComponents pass to generated SPIR-V. Put result in |spirv|. -void SpirvToolsEliminateDeadInputComponents(spv_target_env target_env, std::vector& spirv, - spv::SpvBuildLogger*); +GLSLANG_EXPORT void SpirvToolsEliminateDeadInputComponents(spv_target_env target_env, std::vector& spirv, + spv::SpvBuildLogger*); // Apply the SPIRV-Tools AnalyzeDeadOutputStores pass to generated SPIR-V. Put result in |live_locs|. // Return true if the result is valid. -bool SpirvToolsAnalyzeDeadOutputStores(spv_target_env target_env, std::vector& spirv, - std::unordered_set* live_locs, - std::unordered_set* live_builtins, spv::SpvBuildLogger*); +GLSLANG_EXPORT bool SpirvToolsAnalyzeDeadOutputStores(spv_target_env target_env, std::vector& spirv, + std::unordered_set* live_locs, + std::unordered_set* live_builtins, + spv::SpvBuildLogger*); // Apply the SPIRV-Tools EliminateDeadOutputStores and AggressiveDeadCodeElimination passes to generated SPIR-V using // |live_locs|. Put result in |spirv|. -void SpirvToolsEliminateDeadOutputStores(spv_target_env target_env, std::vector& spirv, - std::unordered_set* live_locs, - std::unordered_set* live_builtins, spv::SpvBuildLogger*); +GLSLANG_EXPORT void SpirvToolsEliminateDeadOutputStores(spv_target_env target_env, std::vector& spirv, + std::unordered_set* live_locs, + std::unordered_set* live_builtins, + spv::SpvBuildLogger*); // Apply the SPIRV-Tools optimizer to strip debug info from SPIR-V. This is implicitly done by // SpirvToolsTransform if spvOptions->stripDebugInfo is set, but can be called separately if // optimization is disabled. -void SpirvToolsStripDebugInfo(const glslang::TIntermediate& intermediate, - std::vector& spirv, spv::SpvBuildLogger*); +GLSLANG_EXPORT void SpirvToolsStripDebugInfo(const glslang::TIntermediate& intermediate, + std::vector& spirv, spv::SpvBuildLogger*); #endif diff --git a/SPIRV/disassemble.cpp b/SPIRV/disassemble.cpp index ab77610c..be364b33 100644 --- a/SPIRV/disassemble.cpp +++ b/SPIRV/disassemble.cpp @@ -825,4 +825,4 @@ void Disassemble(std::ostream& out, const std::vector& stream) SpirvStream.processInstructions(); } -}; // end namespace spv +} // end namespace spv diff --git a/SPIRV/disassemble.h b/SPIRV/disassemble.h index b6a46357..3bded14f 100644 --- a/SPIRV/disassemble.h +++ b/SPIRV/disassemble.h @@ -43,10 +43,12 @@ #include #include +#include "glslang/Include/visibility.h" + namespace spv { // disassemble with glslang custom disassembler - void Disassemble(std::ostream& out, const std::vector&); + GLSLANG_EXPORT void Disassemble(std::ostream& out, const std::vector&); } // end namespace spv diff --git a/SPIRV/doc.cpp b/SPIRV/doc.cpp old mode 100755 new mode 100644 index 0105caa2..2051486b --- a/SPIRV/doc.cpp +++ b/SPIRV/doc.cpp @@ -3491,4 +3491,4 @@ void Parameterize() }); } -}; // end spv namespace +} // end spv namespace diff --git a/SPIRV/spirv.hpp b/SPIRV/spirv.hpp index afa89a58..157fee19 100644 --- a/SPIRV/spirv.hpp +++ b/SPIRV/spirv.hpp @@ -385,7 +385,7 @@ enum ImageOperandsShift { ImageOperandsMax = 0x7fffffff, }; -enum ImageOperandsMask { +enum ImageOperandsMask : unsigned { ImageOperandsMaskNone = 0, ImageOperandsBiasMask = 0x00000001, ImageOperandsLodMask = 0x00000002, @@ -420,7 +420,7 @@ enum FPFastMathModeShift { FPFastMathModeMax = 0x7fffffff, }; -enum FPFastMathModeMask { +enum FPFastMathModeMask : unsigned { FPFastMathModeMaskNone = 0, FPFastMathModeNotNaNMask = 0x00000001, FPFastMathModeNotInfMask = 0x00000002, @@ -745,7 +745,7 @@ enum SelectionControlShift { SelectionControlMax = 0x7fffffff, }; -enum SelectionControlMask { +enum SelectionControlMask : unsigned { SelectionControlMaskNone = 0, SelectionControlFlattenMask = 0x00000001, SelectionControlDontFlattenMask = 0x00000002, @@ -774,7 +774,7 @@ enum LoopControlShift { LoopControlMax = 0x7fffffff, }; -enum LoopControlMask { +enum LoopControlMask : unsigned { LoopControlMaskNone = 0, LoopControlUnrollMask = 0x00000001, LoopControlDontUnrollMask = 0x00000002, @@ -806,7 +806,7 @@ enum FunctionControlShift { FunctionControlMax = 0x7fffffff, }; -enum FunctionControlMask { +enum FunctionControlMask : unsigned { FunctionControlMaskNone = 0, FunctionControlInlineMask = 0x00000001, FunctionControlDontInlineMask = 0x00000002, @@ -836,7 +836,7 @@ enum MemorySemanticsShift { MemorySemanticsMax = 0x7fffffff, }; -enum MemorySemanticsMask { +enum MemorySemanticsMask : unsigned { MemorySemanticsMaskNone = 0, MemorySemanticsAcquireMask = 0x00000002, MemorySemanticsReleaseMask = 0x00000004, @@ -872,7 +872,7 @@ enum MemoryAccessShift { MemoryAccessMax = 0x7fffffff, }; -enum MemoryAccessMask { +enum MemoryAccessMask : unsigned { MemoryAccessMaskNone = 0, MemoryAccessVolatileMask = 0x00000001, MemoryAccessAlignedMask = 0x00000002, @@ -922,7 +922,7 @@ enum KernelProfilingInfoShift { KernelProfilingInfoMax = 0x7fffffff, }; -enum KernelProfilingInfoMask { +enum KernelProfilingInfoMask : unsigned { KernelProfilingInfoMaskNone = 0, KernelProfilingInfoCmdExecTimeMask = 0x00000001, }; @@ -1163,7 +1163,7 @@ enum Capability { CapabilityDotProduct = 6019, CapabilityDotProductKHR = 6019, CapabilityRayCullMaskKHR = 6020, - CapabilityCooperativeMatrixKHR = 6022, + CapabilityCooperativeMatrixKHR = 6022, CapabilityReplicatedCompositesEXT = 6024, CapabilityBitInstructions = 6025, CapabilityGroupNonUniformRotateKHR = 6026, @@ -1194,7 +1194,7 @@ enum RayFlagsShift { RayFlagsMax = 0x7fffffff, }; -enum RayFlagsMask { +enum RayFlagsMask : unsigned { RayFlagsMaskNone = 0, RayFlagsOpaqueKHRMask = 0x00000001, RayFlagsNoOpaqueKHRMask = 0x00000002, @@ -1236,7 +1236,7 @@ enum FragmentShadingRateShift { FragmentShadingRateMax = 0x7fffffff, }; -enum FragmentShadingRateMask { +enum FragmentShadingRateMask : unsigned { FragmentShadingRateMaskNone = 0, FragmentShadingRateVertical2PixelsMask = 0x00000001, FragmentShadingRateVertical4PixelsMask = 0x00000002, @@ -1291,7 +1291,7 @@ enum CooperativeMatrixOperandsShift { CooperativeMatrixOperandsMax = 0x7fffffff, }; -enum CooperativeMatrixOperandsMask { +enum CooperativeMatrixOperandsMask : unsigned { CooperativeMatrixOperandsMaskNone = 0, CooperativeMatrixOperandsMatrixASignedComponentsKHRMask = 0x00000001, CooperativeMatrixOperandsMatrixBSignedComponentsKHRMask = 0x00000002, @@ -1693,9 +1693,9 @@ enum Op { OpCooperativeMatrixLoadKHR = 4457, OpCooperativeMatrixStoreKHR = 4458, OpCooperativeMatrixMulAddKHR = 4459, - OpCooperativeMatrixLengthKHR = 4460, - OpConstantCompositeReplicateEXT = 4461, - OpSpecConstantCompositeReplicateEXT = 4462, + OpCooperativeMatrixLengthKHR = 4460, + OpConstantCompositeReplicateEXT = 4461, + OpSpecConstantCompositeReplicateEXT = 4462, OpCompositeConstructReplicateEXT = 4463, OpTypeRayQueryKHR = 4472, OpRayQueryInitializeKHR = 4473, @@ -2426,9 +2426,9 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) { case OpCooperativeMatrixLoadKHR: *hasResult = true; *hasResultType = true; break; case OpCooperativeMatrixStoreKHR: *hasResult = false; *hasResultType = false; break; case OpCooperativeMatrixMulAddKHR: *hasResult = true; *hasResultType = true; break; - case OpCooperativeMatrixLengthKHR: *hasResult = true; *hasResultType = true; break; - case OpConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break; - case OpSpecConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break; + case OpCooperativeMatrixLengthKHR: *hasResult = true; *hasResultType = true; break; + case OpConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break; + case OpSpecConstantCompositeReplicateEXT: *hasResult = true; *hasResultType = true; break; case OpCompositeConstructReplicateEXT: *hasResult = true; *hasResultType = true; break; case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break; case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break; @@ -2772,6 +2772,20 @@ inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) { case OpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break; } } + +inline const char* ScopeToString(Scope value) { + switch (value) { + case ScopeCrossDevice: return "CrossDevice"; + case ScopeDevice: return "Device"; + case ScopeWorkgroup: return "Workgroup"; + case ScopeSubgroup: return "Subgroup"; + case ScopeInvocation: return "Invocation"; + case ScopeQueueFamily: return "QueueFamily"; + case ScopeShaderCallKHR: return "ShaderCallKHR"; + default: return "Unknown"; + } +} + #endif /* SPV_ENABLE_UTILITY_CODE */ // Overload bitwise operators for mask bit combining diff --git a/SPIRV/spvIR.h b/SPIRV/spvIR.h index bd639d8f..e723f0e1 100644 --- a/SPIRV/spvIR.h +++ b/SPIRV/spvIR.h @@ -189,6 +189,15 @@ public: out.push_back(operands[op]); } + const char *getNameString() const { + if (opCode == OpString) { + return (const char *)&operands[0]; + } else { + assert(opCode == OpName); + return (const char *)&operands[1]; + } + } + protected: Instruction(const Instruction&); Id resultId; diff --git a/StandAlone/CMakeLists.txt b/StandAlone/CMakeLists.txt index e0fdb487..30e8d030 100644 --- a/StandAlone/CMakeLists.txt +++ b/StandAlone/CMakeLists.txt @@ -59,8 +59,6 @@ glslang_set_link_args(glslang-standalone) set(LIBRARIES glslang - OSDependent - SPIRV glslang-default-resource-limits) if(WIN32) @@ -75,12 +73,14 @@ target_link_libraries(glslang-standalone ${LIBRARIES}) target_include_directories(glslang-standalone PUBLIC $) -if(ENABLE_SPVREMAPPER) - set(REMAPPER_SOURCES spirv-remap.cpp) - add_executable(spirv-remap ${REMAPPER_SOURCES}) - set_property(TARGET spirv-remap PROPERTY FOLDER tools) - glslang_set_link_args(spirv-remap) - target_link_libraries(spirv-remap SPVRemapper ${LIBRARIES}) +if(ENABLE_SPIRV) + if(ENABLE_SPVREMAPPER) + set(REMAPPER_SOURCES spirv-remap.cpp) + add_executable(spirv-remap ${REMAPPER_SOURCES}) + set_property(TARGET spirv-remap PROPERTY FOLDER tools) + glslang_set_link_args(spirv-remap) + target_link_libraries(spirv-remap SPVRemapper ${LIBRARIES}) + endif() endif() if(WIN32) @@ -90,23 +90,32 @@ endif() # Create a symbolic link to glslang named glslangValidator for backwards compatibility set(legacy_glslang_name "glslangValidator${CMAKE_EXECUTABLE_SUFFIX}") set(link_method create_symlink) -if (WIN32 OR MINGW) -set(link_method copy_if_different) +if(WIN32 OR MINGW) + set(link_method copy_if_different) endif() -add_custom_command(TARGET glslang-standalone - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E ${link_method} $ ${legacy_glslang_name} - WORKING_DIRECTORY $) + +add_custom_command( + TARGET glslang-standalone POST_BUILD + COMMAND "${CMAKE_COMMAND}" -E "${link_method}" "\$" "${legacy_glslang_name}" + WORKING_DIRECTORY "\$" + VERBATIM +) if(GLSLANG_ENABLE_INSTALL) install(TARGETS glslang-standalone EXPORT glslang-targets) # Create the same symlink at install time - install(CODE "execute_process( \ - COMMAND ${CMAKE_COMMAND} -E ${link_method} $ ${legacy_glslang_name} \ - WORKING_DIRECTORY \$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})") + install(CODE "\ + message(STATUS \"Installing (${link_method}): \$ -> \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}\") + execute_process( + COMMAND \"\${CMAKE_COMMAND}\" -E ${link_method} [=[\$]=] [=[${legacy_glslang_name}]=] + WORKING_DIRECTORY \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}\" + ) + ") - if(ENABLE_SPVREMAPPER) - install(TARGETS spirv-remap EXPORT glslang-targets) + if(ENABLE_SPIRV) + if(ENABLE_SPVREMAPPER) + install(TARGETS spirv-remap EXPORT glslang-targets) + endif() endif() endif(GLSLANG_ENABLE_INSTALL) diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp index ac967f2b..e7153b7a 100644 --- a/StandAlone/StandAlone.cpp +++ b/StandAlone/StandAlone.cpp @@ -44,12 +44,10 @@ #include "glslang/Public/ResourceLimits.h" #include "Worklist.h" #include "DirStackFileIncluder.h" -#include "./../glslang/Include/ShHandle.h" #include "./../glslang/Public/ShaderLang.h" #include "../glslang/MachineIndependent/localintermediate.h" #include "../SPIRV/GlslangToSpv.h" #include "../SPIRV/GLSL.std.450.h" -#include "../SPIRV/doc.h" #include "../SPIRV/disassemble.h" #include @@ -110,6 +108,8 @@ enum TOptions : uint64_t { EOptionInvertY = (1ull << 30), EOptionDumpBareVersion = (1ull << 31), EOptionCompileOnly = (1ull << 32), + EOptionDisplayErrorColumn = (1ull << 33), + EOptionLinkTimeOptimization = (1ull << 34), }; bool targetHlslFunctionality1 = false; bool SpvToolsDisassembler = false; @@ -898,6 +898,10 @@ void ProcessArguments(std::vector>& workItem Options |= EOptionDumpVersions; } else if (lowerword == "no-link") { Options |= EOptionCompileOnly; + } else if (lowerword == "error-column") { + Options |= EOptionDisplayErrorColumn; + } else if (lowerword == "lto") { + Options |= EOptionLinkTimeOptimization; } else if (lowerword == "help") { usage(); break; @@ -1082,6 +1086,10 @@ void ProcessArguments(std::vector>& workItem if ((Options & EOptionDumpReflection) && !(Options & EOptionLinkProgram)) Error("reflection requires -l for linking"); + // link time optimization makes no sense unless linking + if ((Options & EOptionLinkTimeOptimization) && !(Options & EOptionLinkProgram)) + Error("link time optimization requires -l for linking"); + // -o or -x makes no sense if there is no target binary if (binaryFileName && (Options & EOptionSpv) == 0) Error("no binary generation requested (e.g., -V)"); @@ -1164,6 +1172,10 @@ void SetMessageOptions(EShMessages& messages) messages = (EShMessages)(messages | EShMsgEnhanced); if (AbsolutePath) messages = (EShMessages)(messages | EShMsgAbsolutePath); + if (Options & EOptionDisplayErrorColumn) + messages = (EShMessages)(messages | EShMsgDisplayErrorColumn); + if (Options & EOptionLinkTimeOptimization) + messages = (EShMessages)(messages | EShMsgLinkTimeOptimization); } // @@ -1506,6 +1518,7 @@ void CompileAndLinkShaderUnits(std::vector compUnits) // Dump SPIR-V if (Options & EOptionSpv) { +#ifdef ENABLE_SPIRV CompileOrLinkFailed.fetch_or(CompileFailed); CompileOrLinkFailed.fetch_or(LinkFailed); if (static_cast(CompileOrLinkFailed.load())) @@ -1565,6 +1578,9 @@ void CompileAndLinkShaderUnits(std::vector compUnits) } } } +#else + Error("This configuration of glslang does not have SPIR-V support"); +#endif } CompileOrLinkFailed.fetch_or(CompileFailed); @@ -1664,21 +1680,31 @@ int singleMain() } if (Options & EOptionDumpBareVersion) { - printf("%d:%d.%d.%d%s\n", glslang::GetSpirvGeneratorVersion(), GLSLANG_VERSION_MAJOR, GLSLANG_VERSION_MINOR, + int spirvGeneratorVersion = 0; +#ifdef ENABLE_SPIRV + spirvGeneratorVersion = glslang::GetSpirvGeneratorVersion(); +#endif + printf("%d:%d.%d.%d%s\n", spirvGeneratorVersion, GLSLANG_VERSION_MAJOR, GLSLANG_VERSION_MINOR, GLSLANG_VERSION_PATCH, GLSLANG_VERSION_FLAVOR); if (workList.empty()) return ESuccess; } else if (Options & EOptionDumpVersions) { - printf("Glslang Version: %d:%d.%d.%d%s\n", glslang::GetSpirvGeneratorVersion(), GLSLANG_VERSION_MAJOR, + int spirvGeneratorVersion = 0; +#ifdef ENABLE_SPIRV + spirvGeneratorVersion = glslang::GetSpirvGeneratorVersion(); +#endif + printf("Glslang Version: %d:%d.%d.%d%s\n", spirvGeneratorVersion, GLSLANG_VERSION_MAJOR, GLSLANG_VERSION_MINOR, GLSLANG_VERSION_PATCH, GLSLANG_VERSION_FLAVOR); printf("ESSL Version: %s\n", glslang::GetEsslVersionString()); printf("GLSL Version: %s\n", glslang::GetGlslVersionString()); std::string spirvVersion; +#if ENABLE_SPIRV glslang::GetSpirvVersion(spirvVersion); +#endif printf("SPIR-V Version %s\n", spirvVersion.c_str()); printf("GLSL.std.450 Version %d, Revision %d\n", GLSLstd450Version, GLSLstd450Revision); printf("Khronos Tool ID %d\n", glslang::GetKhronosToolId()); - printf("SPIR-V Generator Version %d\n", glslang::GetSpirvGeneratorVersion()); + printf("SPIR-V Generator Version %d\n", spirvGeneratorVersion); printf("GL_KHR_vulkan_glsl version %d\n", 100); printf("ARB_GL_gl_spirv version %d\n", 100); if (workList.empty()) @@ -2024,6 +2050,7 @@ void usage() " shaders compatible with DirectX\n" " --invert-y | --iy invert position.Y output in vertex shader\n" " --enhanced-msgs print more readable error messages (GLSL only)\n" + " --error-column display the column of the error along the line\n" " --keep-uncalled | --ku don't eliminate uncalled functions\n" " --nan-clamp favor non-NaN operand in min, max, and clamp\n" " --no-storage-format | --nsf use Unknown image format\n" @@ -2117,7 +2144,8 @@ void usage() " initialized with the shader binary code\n" " --no-link Only compile shader; do not link (GLSL-only)\n" " NOTE: this option will set the export linkage\n" - " attribute on all functions\n"); + " attribute on all functions\n" + " --lto perform link time optimization\n"); exit(EFailUsage); } diff --git a/StandAlone/Worklist.h b/StandAlone/Worklist.h index 91b6f516..dc726270 100644 --- a/StandAlone/Worklist.h +++ b/StandAlone/Worklist.h @@ -35,7 +35,6 @@ #ifndef WORKLIST_H_INCLUDED #define WORKLIST_H_INCLUDED -#include "../glslang/OSDependent/osinclude.h" #include #include #include diff --git a/Test/baseLegalResults/hlsl.aliasOpaque.frag.out b/Test/baseLegalResults/hlsl.aliasOpaque.frag.out index 100f6d71..1e6521e6 100644 --- a/Test/baseLegalResults/hlsl.aliasOpaque.frag.out +++ b/Test/baseLegalResults/hlsl.aliasOpaque.frag.out @@ -13,10 +13,10 @@ hlsl.aliasOpaque.frag Name 47 "gss" Name 51 "gtex" Name 62 "@entryPointOutput" - Decorate 47(gss) DescriptorSet 0 Decorate 47(gss) Binding 0 - Decorate 51(gtex) DescriptorSet 0 + Decorate 47(gss) DescriptorSet 0 Decorate 51(gtex) Binding 2 + Decorate 51(gtex) DescriptorSet 0 Decorate 62(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseLegalResults/hlsl.flattenOpaque.frag.out b/Test/baseLegalResults/hlsl.flattenOpaque.frag.out index be1637ff..3a839db9 100644 --- a/Test/baseLegalResults/hlsl.flattenOpaque.frag.out +++ b/Test/baseLegalResults/hlsl.flattenOpaque.frag.out @@ -15,14 +15,14 @@ hlsl.flattenOpaque.frag Name 97 "s2.s2D" Name 100 "s2.tex" Name 120 "@entryPointOutput" - Decorate 38(tex) DescriptorSet 0 Decorate 38(tex) Binding 0 - Decorate 82(s.s2D) DescriptorSet 0 + Decorate 38(tex) DescriptorSet 0 Decorate 82(s.s2D) Binding 1 - Decorate 97(s2.s2D) DescriptorSet 0 + Decorate 82(s.s2D) DescriptorSet 0 Decorate 97(s2.s2D) Binding 2 - Decorate 100(s2.tex) DescriptorSet 0 + Decorate 97(s2.s2D) DescriptorSet 0 Decorate 100(s2.tex) Binding 3 + Decorate 100(s2.tex) DescriptorSet 0 Decorate 120(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out b/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out index 18d76949..5aa5fdc2 100644 --- a/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out +++ b/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out @@ -12,10 +12,10 @@ hlsl.flattenOpaqueInit.vert Name 43 "g_tInputTexture_sampler" Name 47 "g_tInputTexture" Name 80 "@entryPointOutput" - Decorate 43(g_tInputTexture_sampler) DescriptorSet 0 Decorate 43(g_tInputTexture_sampler) Binding 0 - Decorate 47(g_tInputTexture) DescriptorSet 0 + Decorate 43(g_tInputTexture_sampler) DescriptorSet 0 Decorate 47(g_tInputTexture) Binding 1 + Decorate 47(g_tInputTexture) DescriptorSet 0 Decorate 80(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out b/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out index 914d9b5d..60e71516 100644 --- a/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out +++ b/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out @@ -12,10 +12,10 @@ hlsl.flattenOpaqueInitMix.vert Name 44 "g_tInputTexture_sampler" Name 47 "g_tInputTexture" Name 57 "@entryPointOutput" - Decorate 44(g_tInputTexture_sampler) DescriptorSet 0 Decorate 44(g_tInputTexture_sampler) Binding 0 - Decorate 47(g_tInputTexture) DescriptorSet 0 + Decorate 44(g_tInputTexture_sampler) DescriptorSet 0 Decorate 47(g_tInputTexture) Binding 1 + Decorate 47(g_tInputTexture) DescriptorSet 0 Decorate 57(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseLegalResults/hlsl.flattenSubset.frag.out b/Test/baseLegalResults/hlsl.flattenSubset.frag.out index 2be41f04..92c62cf0 100644 --- a/Test/baseLegalResults/hlsl.flattenSubset.frag.out +++ b/Test/baseLegalResults/hlsl.flattenSubset.frag.out @@ -13,10 +13,10 @@ hlsl.flattenSubset.frag Name 21 "samp" Name 33 "tex" Name 50 "@entryPointOutput" - Decorate 21(samp) DescriptorSet 0 Decorate 21(samp) Binding 0 - Decorate 33(tex) DescriptorSet 0 + Decorate 21(samp) DescriptorSet 0 Decorate 33(tex) Binding 1 + Decorate 33(tex) DescriptorSet 0 Decorate 50(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/error-column.vert.out b/Test/baseResults/error-column.vert.out new file mode 100644 index 00000000..6538e82a --- /dev/null +++ b/Test/baseResults/error-column.vert.out @@ -0,0 +1,12 @@ +error-column.vert +ERROR: error-column.vert:7:16: 'model' : member storage qualifier cannot contradict block storage qualifier +ERROR: error-column.vert:8:16: 'view' : member storage qualifier cannot contradict block storage qualifier +ERROR: error-column.vert:9:16: 'projection' : member storage qualifier cannot contradict block storage qualifier +ERROR: error-column.vert:17:16: 'texCoord1' : member storage qualifier cannot contradict block storage qualifier +ERROR: error-column.vert:24:52: 'Pos' : undeclared identifier +ERROR: error-column.vert:24:60: 'constructor' : not enough data provided for construction +ERROR: error-column.vert:24:17: 'assign' : cannot convert from ' temp highp 4X4 matrix of float' to ' gl_Position 4-component vector of float Position' +ERROR: 7 compilation errors. No code generated. + + +SPIR-V is not generated for failed compile or link diff --git a/Test/baseResults/glsl.autosampledtextures.frag.out b/Test/baseResults/glsl.autosampledtextures.frag.out index cbbb2021..522cc4ad 100644 --- a/Test/baseResults/glsl.autosampledtextures.frag.out +++ b/Test/baseResults/glsl.autosampledtextures.frag.out @@ -14,8 +14,8 @@ glsl.autosampledtextures.frag Name 13 "u_Tex" Name 17 "in_UV" Name 21 "out_Color" - Decorate 13(u_Tex) DescriptorSet 0 Decorate 13(u_Tex) Binding 0 + Decorate 13(u_Tex) DescriptorSet 0 Decorate 17(in_UV) Location 0 Decorate 21(out_Color) Location 0 2: TypeVoid diff --git a/Test/baseResults/glsl.entryPointRename.vert.bad.out b/Test/baseResults/glsl.entryPointRename.vert.bad.out index ae5de6e3..d46ef59a 100644 --- a/Test/baseResults/glsl.entryPointRename.vert.bad.out +++ b/Test/baseResults/glsl.entryPointRename.vert.bad.out @@ -17,11 +17,11 @@ ERROR: Source entry point must be "main" MemberName 11(gl_PerVertex) 2 "gl_ClipDistance" MemberName 11(gl_PerVertex) 3 "gl_CullDistance" Name 13 "" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 11(gl_PerVertex) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/glsl.entryPointRename.vert.out b/Test/baseResults/glsl.entryPointRename.vert.out index bc142a58..87ddf2a0 100644 --- a/Test/baseResults/glsl.entryPointRename.vert.out +++ b/Test/baseResults/glsl.entryPointRename.vert.out @@ -15,11 +15,11 @@ glsl.entryPointRename.vert MemberName 11(gl_PerVertex) 2 "gl_ClipDistance" MemberName 11(gl_PerVertex) 3 "gl_CullDistance" Name 13 "" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 11(gl_PerVertex) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.aliasOpaque.frag.out b/Test/baseResults/hlsl.aliasOpaque.frag.out index 7bea6917..af6d18ba 100644 --- a/Test/baseResults/hlsl.aliasOpaque.frag.out +++ b/Test/baseResults/hlsl.aliasOpaque.frag.out @@ -166,12 +166,12 @@ gl_FragCoord origin is upper left Name 51 "gtex" Name 56 "param" Name 62 "@entryPointOutput" - Decorate 44(gss2) DescriptorSet 0 Decorate 44(gss2) Binding 1 - Decorate 47(gss) DescriptorSet 0 + Decorate 44(gss2) DescriptorSet 0 Decorate 47(gss) Binding 0 - Decorate 51(gtex) DescriptorSet 0 + Decorate 47(gss) DescriptorSet 0 Decorate 51(gtex) Binding 2 + Decorate 51(gtex) DescriptorSet 0 Decorate 62(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.amend.frag.out b/Test/baseResults/hlsl.amend.frag.out index b8ac133c..89b0c948 100644 --- a/Test/baseResults/hlsl.amend.frag.out +++ b/Test/baseResults/hlsl.amend.frag.out @@ -182,14 +182,14 @@ gl_FragCoord origin is upper left MemberName 20($Global) 3 "d" MemberName 20($Global) 4 "e" Name 22 "" + Decorate 20($Global) Block MemberDecorate 20($Global) 0 Offset 0 MemberDecorate 20($Global) 1 Offset 16 MemberDecorate 20($Global) 2 Offset 32 MemberDecorate 20($Global) 3 Offset 44 MemberDecorate 20($Global) 4 Offset 48 - Decorate 20($Global) Block - Decorate 22 DescriptorSet 0 Decorate 22 Binding 0 + Decorate 22 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 14: TypeFloat 32 diff --git a/Test/baseResults/hlsl.array.flatten.frag.out b/Test/baseResults/hlsl.array.flatten.frag.out index 264a716c..e225f196 100644 --- a/Test/baseResults/hlsl.array.flatten.frag.out +++ b/Test/baseResults/hlsl.array.flatten.frag.out @@ -392,44 +392,44 @@ gl_FragCoord origin is upper left Name 140 "g_samp_explicit[0]" Name 141 "g_samp_explicit[1]" Name 142 "g_samp_explicit[2]" - Decorate 42(g_tex[1]) DescriptorSet 0 Decorate 42(g_tex[1]) Binding 4 - Decorate 45(g_samp[1]) DescriptorSet 0 + Decorate 42(g_tex[1]) DescriptorSet 0 Decorate 45(g_samp[1]) Binding 10 - Decorate 65(g_samp[0]) DescriptorSet 0 + Decorate 45(g_samp[1]) DescriptorSet 0 Decorate 65(g_samp[0]) Binding 9 - Decorate 70(g_samp[2]) DescriptorSet 0 + Decorate 65(g_samp[0]) DescriptorSet 0 Decorate 70(g_samp[2]) Binding 11 - Decorate 74(g_tex[0]) DescriptorSet 0 + Decorate 70(g_samp[2]) DescriptorSet 0 Decorate 74(g_tex[0]) Binding 0 - Decorate 79(g_tex[2]) DescriptorSet 0 + Decorate 74(g_tex[0]) DescriptorSet 0 Decorate 79(g_tex[2]) Binding 8 + Decorate 79(g_tex[2]) DescriptorSet 0 Decorate 88 ArrayStride 48 Decorate 89 ArrayStride 48 Decorate 90 ArrayStride 16 - MemberDecorate 91($Global) 0 RowMajor - MemberDecorate 91($Global) 0 Offset 0 - MemberDecorate 91($Global) 0 MatrixStride 16 - MemberDecorate 91($Global) 1 RowMajor - MemberDecorate 91($Global) 1 Offset 192 - MemberDecorate 91($Global) 1 MatrixStride 16 - MemberDecorate 91($Global) 2 Offset 384 Decorate 91($Global) Block - Decorate 93 DescriptorSet 0 + MemberDecorate 91($Global) 0 RowMajor + MemberDecorate 91($Global) 0 MatrixStride 16 + MemberDecorate 91($Global) 0 Offset 0 + MemberDecorate 91($Global) 1 RowMajor + MemberDecorate 91($Global) 1 MatrixStride 16 + MemberDecorate 91($Global) 1 Offset 192 + MemberDecorate 91($Global) 2 Offset 384 Decorate 93 Binding 12 + Decorate 93 DescriptorSet 0 Decorate 134(ps_output.color) Location 0 - Decorate 137(g_tex_explicit[0]) DescriptorSet 0 Decorate 137(g_tex_explicit[0]) Binding 1 - Decorate 138(g_tex_explicit[1]) DescriptorSet 0 + Decorate 137(g_tex_explicit[0]) DescriptorSet 0 Decorate 138(g_tex_explicit[1]) Binding 2 - Decorate 139(g_tex_explicit[2]) DescriptorSet 0 + Decorate 138(g_tex_explicit[1]) DescriptorSet 0 Decorate 139(g_tex_explicit[2]) Binding 3 - Decorate 140(g_samp_explicit[0]) DescriptorSet 0 + Decorate 139(g_tex_explicit[2]) DescriptorSet 0 Decorate 140(g_samp_explicit[0]) Binding 5 - Decorate 141(g_samp_explicit[1]) DescriptorSet 0 + Decorate 140(g_samp_explicit[0]) DescriptorSet 0 Decorate 141(g_samp_explicit[1]) Binding 6 - Decorate 142(g_samp_explicit[2]) DescriptorSet 0 + Decorate 141(g_samp_explicit[1]) DescriptorSet 0 Decorate 142(g_samp_explicit[2]) Binding 7 + Decorate 142(g_samp_explicit[2]) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.array.frag.out b/Test/baseResults/hlsl.array.frag.out index 6a13326a..45307eac 100644 --- a/Test/baseResults/hlsl.array.frag.out +++ b/Test/baseResults/hlsl.array.frag.out @@ -328,13 +328,13 @@ gl_FragCoord origin is upper left Decorate 47 ArrayStride 112 Decorate 49 ArrayStride 16 Decorate 50 ArrayStride 16 + Decorate 51($Global) Block MemberDecorate 51($Global) 0 Offset 0 MemberDecorate 51($Global) 1 Offset 64 MemberDecorate 51($Global) 2 Offset 1296 MemberDecorate 51($Global) 3 Offset 1312 - Decorate 51($Global) Block - Decorate 53 DescriptorSet 0 Decorate 53 Binding 0 + Decorate 53 DescriptorSet 0 Decorate 103(i) Flat Decorate 103(i) Location 0 Decorate 107(input) Location 1 diff --git a/Test/baseResults/hlsl.array.multidim.frag.out b/Test/baseResults/hlsl.array.multidim.frag.out index 7b9d9621..50cfeb21 100644 --- a/Test/baseResults/hlsl.array.multidim.frag.out +++ b/Test/baseResults/hlsl.array.multidim.frag.out @@ -157,10 +157,10 @@ gl_FragCoord origin is upper left Decorate 22 ArrayStride 16 Decorate 24 ArrayStride 48 Decorate 26 ArrayStride 192 - MemberDecorate 27($Global) 0 Offset 0 Decorate 27($Global) Block - Decorate 29 DescriptorSet 0 + MemberDecorate 27($Global) 0 Offset 0 Decorate 29 Binding 0 + Decorate 29 DescriptorSet 0 Decorate 54(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.attribute.expression.comp.out b/Test/baseResults/hlsl.attribute.expression.comp.out index ee183c8d..910ccfdb 100644 --- a/Test/baseResults/hlsl.attribute.expression.comp.out +++ b/Test/baseResults/hlsl.attribute.expression.comp.out @@ -79,10 +79,10 @@ local_size = (4, 6, 8) Name 18 "$Global" MemberName 18($Global) 0 "bound" Name 20 "" - MemberDecorate 18($Global) 0 Offset 0 Decorate 18($Global) Block - Decorate 20 DescriptorSet 0 + MemberDecorate 18($Global) 0 Offset 0 Decorate 20 Binding 0 + Decorate 20 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.attributeC11.frag.out b/Test/baseResults/hlsl.attributeC11.frag.out index c97c300a..721bfaf9 100644 --- a/Test/baseResults/hlsl.attributeC11.frag.out +++ b/Test/baseResults/hlsl.attributeC11.frag.out @@ -122,23 +122,25 @@ Validation failed Name 48 "pcBuf" MemberName 48(pcBuf) 0 "a" Name 50 "" - Decorate 16(attach) DescriptorSet 0 Decorate 16(attach) Binding 0 + Decorate 16(attach) DescriptorSet 0 Decorate 16(attach) InputAttachmentIndex 4 Decorate 33(input) Location 8 Decorate 36(@entryPointOutput) Location 7 MemberDecorate 41(S) 0 Offset 0 Decorate 42 ArrayStride 8 + Decorate 43(buffer1) BufferBlock MemberDecorate 43(buffer1) 0 NonWritable MemberDecorate 43(buffer1) 0 Offset 0 - Decorate 43(buffer1) BufferBlock - Decorate 45(buffer1) DescriptorSet 0 + Decorate 45(buffer1) NonWritable Decorate 45(buffer1) Binding 1 - Decorate 46(buffer3) DescriptorSet 2 + Decorate 45(buffer1) DescriptorSet 0 + Decorate 46(buffer3) NonWritable Decorate 46(buffer3) Binding 3 + Decorate 46(buffer3) DescriptorSet 2 Decorate 47(ci) SpecId 13 - MemberDecorate 48(pcBuf) 0 Offset 0 Decorate 48(pcBuf) Block + MemberDecorate 48(pcBuf) 0 Offset 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out b/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out index 4726ddd0..ec3be437 100644 --- a/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out +++ b/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out @@ -72,11 +72,11 @@ gl_FragCoord origin is upper left MemberName 11($Global) 1 "u2" Name 13 "" Name 26 "@entryPointOutput" + Decorate 11($Global) Block MemberDecorate 11($Global) 0 Offset 0 MemberDecorate 11($Global) 1 Offset 16 - Decorate 11($Global) Block - Decorate 13 DescriptorSet 2 Decorate 13 Binding 5 + Decorate 13 DescriptorSet 2 Decorate 26(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.autosampledtextures.frag.out b/Test/baseResults/hlsl.autosampledtextures.frag.out index 070af823..4a54526a 100644 --- a/Test/baseResults/hlsl.autosampledtextures.frag.out +++ b/Test/baseResults/hlsl.autosampledtextures.frag.out @@ -22,8 +22,8 @@ hlsl.autosampledtextures.frag Name 36 "i.vTextureCoords" Name 40 "@entryPointOutput.vColor" Name 41 "param" - Decorate 23(g_tColor) DescriptorSet 0 Decorate 23(g_tColor) Binding 0 + Decorate 23(g_tColor) DescriptorSet 0 Decorate 36(i.vTextureCoords) Location 0 Decorate 40(@entryPointOutput.vColor) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.buffer-offsets.comp.out b/Test/baseResults/hlsl.buffer-offsets.comp.out new file mode 100644 index 00000000..c2204a6f --- /dev/null +++ b/Test/baseResults/hlsl.buffer-offsets.comp.out @@ -0,0 +1,82 @@ +hlsl.buffer-offsets.comp +Shader version: 500 +local_size = (1, 1, 1) +0:? Sequence +0:12 Function Definition: @main( ( temp void) +0:12 Function Parameters: +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 Function Call: @main( ( temp void) +0:? Linker Objects +0:? 'bIterData' (layout( binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 24-element array of float mIntegrationTrafo, temp 3-element array of float mWind, temp uint mIsTurning} @data}) + + +Linked compute stage: + + +Shader version: 500 +local_size = (1, 1, 1) +0:? Sequence +0:12 Function Definition: @main( ( temp void) +0:12 Function Parameters: +0:12 Function Definition: main( ( temp void) +0:12 Function Parameters: +0:? Sequence +0:12 Function Call: @main( ( temp void) +0:? Linker Objects +0:? 'bIterData' (layout( binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element array of structure{ temp 24-element array of float mIntegrationTrafo, temp 3-element array of float mWind, temp uint mIsTurning} @data}) + +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 20 + + 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 15 "GfxIterationData" + MemberName 15(GfxIterationData) 0 "mIntegrationTrafo" + MemberName 15(GfxIterationData) 1 "mWind" + MemberName 15(GfxIterationData) 2 "mIsTurning" + Name 17 "bIterData" + MemberName 17(bIterData) 0 "@data" + Name 19 "bIterData" + Decorate 12 ArrayStride 4 + Decorate 14 ArrayStride 4 + MemberDecorate 15(GfxIterationData) 0 Offset 0 + MemberDecorate 15(GfxIterationData) 1 Offset 96 + MemberDecorate 15(GfxIterationData) 2 Offset 108 + Decorate 16 ArrayStride 112 + Decorate 17(bIterData) BufferBlock + MemberDecorate 17(bIterData) 0 NonWritable + MemberDecorate 17(bIterData) 0 Offset 0 + Decorate 19(bIterData) NonWritable + Decorate 19(bIterData) Binding 2 + Decorate 19(bIterData) DescriptorSet 0 + 2: TypeVoid + 3: TypeFunction 2 + 9: TypeFloat 32 + 10: TypeInt 32 0 + 11: 10(int) Constant 24 + 12: TypeArray 9(float) 11 + 13: 10(int) Constant 3 + 14: TypeArray 9(float) 13 +15(GfxIterationData): TypeStruct 12 14 10(int) + 16: TypeRuntimeArray 15(GfxIterationData) + 17(bIterData): TypeStruct 16 + 18: TypePointer Uniform 17(bIterData) + 19(bIterData): 18(ptr) Variable Uniform + 4(main): 2 Function None 3 + 5: Label + 8: 2 FunctionCall 6(@main() + Return + FunctionEnd + 6(@main(): 2 Function None 3 + 7: Label + Return + FunctionEnd diff --git a/Test/baseResults/hlsl.buffer.frag.out b/Test/baseResults/hlsl.buffer.frag.out index f95b8398..6c746eb1 100644 --- a/Test/baseResults/hlsl.buffer.frag.out +++ b/Test/baseResults/hlsl.buffer.frag.out @@ -194,24 +194,26 @@ Validation failed Name 65 "input" Name 68 "@entryPointOutput.a" Name 69 "param" - MemberDecorate 24(cbufName2) 0 Offset 0 Decorate 24(cbufName2) Block - Decorate 26 DescriptorSet 0 + MemberDecorate 24(cbufName2) 0 Offset 0 Decorate 26 Binding 3 - MemberDecorate 31(buf1) 0 Offset 0 + Decorate 26 DescriptorSet 0 Decorate 31(buf1) Block - Decorate 33 DescriptorSet 0 + MemberDecorate 31(buf1) 0 Offset 0 Decorate 33 Binding 0 + Decorate 33 DescriptorSet 0 + Decorate 37(buf2) BufferBlock MemberDecorate 37(buf2) 0 NonWritable MemberDecorate 37(buf2) 0 Offset 0 - Decorate 37(buf2) BufferBlock - Decorate 39 DescriptorSet 0 + Decorate 39 NonWritable Decorate 39 Binding 1 + Decorate 39 DescriptorSet 0 + Decorate 43(cbufName) Block MemberDecorate 43(cbufName) 0 Offset 0 MemberDecorate 43(cbufName) 1 Offset 20 - Decorate 43(cbufName) Block - Decorate 45 DescriptorSet 0 Decorate 45 Binding 2 + Decorate 45 DescriptorSet 0 + Decorate 50(tbufName) BufferBlock MemberDecorate 50(tbufName) 0 NonWritable MemberDecorate 50(tbufName) 0 Offset 16 MemberDecorate 50(tbufName) 1 NonWritable @@ -229,24 +231,24 @@ Validation failed MemberDecorate 50(tbufName) 7 NonWritable MemberDecorate 50(tbufName) 7 Offset 128 MemberDecorate 50(tbufName) 8 RowMajor + MemberDecorate 50(tbufName) 8 MatrixStride 16 MemberDecorate 50(tbufName) 8 NonWritable MemberDecorate 50(tbufName) 8 Offset 112 - MemberDecorate 50(tbufName) 8 MatrixStride 16 MemberDecorate 50(tbufName) 9 ColMajor + MemberDecorate 50(tbufName) 9 MatrixStride 16 MemberDecorate 50(tbufName) 9 NonWritable MemberDecorate 50(tbufName) 9 Offset 176 - MemberDecorate 50(tbufName) 9 MatrixStride 16 MemberDecorate 50(tbufName) 10 RowMajor + MemberDecorate 50(tbufName) 10 MatrixStride 16 MemberDecorate 50(tbufName) 10 NonWritable MemberDecorate 50(tbufName) 10 Offset 240 - MemberDecorate 50(tbufName) 10 MatrixStride 16 MemberDecorate 50(tbufName) 11 RowMajor + MemberDecorate 50(tbufName) 11 MatrixStride 16 MemberDecorate 50(tbufName) 11 NonWritable MemberDecorate 50(tbufName) 11 Offset 304 - MemberDecorate 50(tbufName) 11 MatrixStride 16 - Decorate 50(tbufName) BufferBlock - Decorate 52 DescriptorSet 0 + Decorate 52 NonWritable Decorate 52 Binding 8 + Decorate 52 DescriptorSet 0 Decorate 65(input) BuiltIn FragCoord Decorate 68(@entryPointOutput.a) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.buffer_ref_parameter.comp.out b/Test/baseResults/hlsl.buffer_ref_parameter.comp.out index 4ddf6f70..8c8cde02 100644 --- a/Test/baseResults/hlsl.buffer_ref_parameter.comp.out +++ b/Test/baseResults/hlsl.buffer_ref_parameter.comp.out @@ -275,17 +275,18 @@ local_size = (64, 1, 1) Name 85 "gi" Name 87 "param" Decorate 7 ArrayStride 4 + Decorate 8 Block MemberDecorate 8 0 NonWritable MemberDecorate 8 0 Offset 0 - Decorate 8 Block Decorate 14(buffer_position) NonWritable - Decorate 53(buffer_position_ms) DescriptorSet 0 + Decorate 53(buffer_position_ms) NonWritable Decorate 53(buffer_position_ms) Binding 0 + Decorate 53(buffer_position_ms) DescriptorSet 0 Decorate 59 ArrayStride 4 - MemberDecorate 60(r) 0 Offset 0 Decorate 60(r) Block - Decorate 62(r) DescriptorSet 0 + MemberDecorate 60(r) 0 Offset 0 Decorate 62(r) Binding 1 + Decorate 62(r) DescriptorSet 0 Decorate 85(gi) BuiltIn LocalInvocationIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.calculatelod.dx10.frag.out b/Test/baseResults/hlsl.calculatelod.dx10.frag.out index 7d896cea..14ed71e2 100644 --- a/Test/baseResults/hlsl.calculatelod.dx10.frag.out +++ b/Test/baseResults/hlsl.calculatelod.dx10.frag.out @@ -400,30 +400,30 @@ using depth_any Name 140 "@entryPointOutput.Color" Name 144 "@entryPointOutput.Depth" Name 147 "g_tTex1df4" - Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 16(g_tTex1df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex1di4a) Binding 2 - Decorate 45(g_tTex1du4a) DescriptorSet 0 + Decorate 33(g_tTex1di4a) DescriptorSet 0 Decorate 45(g_tTex1du4a) Binding 3 - Decorate 56(g_tTex2df4a) DescriptorSet 0 + Decorate 45(g_tTex1du4a) DescriptorSet 0 Decorate 56(g_tTex2df4a) Binding 4 - Decorate 67(g_tTex2di4a) DescriptorSet 0 + Decorate 56(g_tTex2df4a) DescriptorSet 0 Decorate 67(g_tTex2di4a) Binding 5 - Decorate 79(g_tTex2du4a) DescriptorSet 0 + Decorate 67(g_tTex2di4a) DescriptorSet 0 Decorate 79(g_tTex2du4a) Binding 6 - Decorate 92(g_tTexcdf4a) DescriptorSet 0 + Decorate 79(g_tTex2du4a) DescriptorSet 0 Decorate 92(g_tTexcdf4a) Binding 7 - Decorate 104(g_tTexcdi4a) DescriptorSet 0 + Decorate 92(g_tTexcdf4a) DescriptorSet 0 Decorate 104(g_tTexcdi4a) Binding 8 - Decorate 115(g_tTexcdu4a) DescriptorSet 0 + Decorate 104(g_tTexcdi4a) DescriptorSet 0 Decorate 115(g_tTexcdu4a) Binding 9 + Decorate 115(g_tTexcdu4a) DescriptorSet 0 Decorate 140(@entryPointOutput.Color) Location 0 Decorate 144(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 147(g_tTex1df4) DescriptorSet 0 Decorate 147(g_tTex1df4) Binding 0 + Decorate 147(g_tTex1df4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out index 3ce857d9..c052200a 100644 --- a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out +++ b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out @@ -400,30 +400,30 @@ using depth_any Name 140 "@entryPointOutput.Color" Name 144 "@entryPointOutput.Depth" Name 147 "g_tTex1df4" - Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 16(g_tTex1df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex1di4a) Binding 2 - Decorate 45(g_tTex1du4a) DescriptorSet 0 + Decorate 33(g_tTex1di4a) DescriptorSet 0 Decorate 45(g_tTex1du4a) Binding 3 - Decorate 56(g_tTex2df4a) DescriptorSet 0 + Decorate 45(g_tTex1du4a) DescriptorSet 0 Decorate 56(g_tTex2df4a) Binding 4 - Decorate 67(g_tTex2di4a) DescriptorSet 0 + Decorate 56(g_tTex2df4a) DescriptorSet 0 Decorate 67(g_tTex2di4a) Binding 5 - Decorate 79(g_tTex2du4a) DescriptorSet 0 + Decorate 67(g_tTex2di4a) DescriptorSet 0 Decorate 79(g_tTex2du4a) Binding 6 - Decorate 92(g_tTexcdf4a) DescriptorSet 0 + Decorate 79(g_tTex2du4a) DescriptorSet 0 Decorate 92(g_tTexcdf4a) Binding 7 - Decorate 104(g_tTexcdi4a) DescriptorSet 0 + Decorate 92(g_tTexcdf4a) DescriptorSet 0 Decorate 104(g_tTexcdi4a) Binding 8 - Decorate 115(g_tTexcdu4a) DescriptorSet 0 + Decorate 104(g_tTexcdi4a) DescriptorSet 0 Decorate 115(g_tTexcdu4a) Binding 9 + Decorate 115(g_tTexcdu4a) DescriptorSet 0 Decorate 140(@entryPointOutput.Color) Location 0 Decorate 144(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 147(g_tTex1df4) DescriptorSet 0 Decorate 147(g_tTex1df4) Binding 0 + Decorate 147(g_tTex1df4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.cbuffer-identifier.vert.out b/Test/baseResults/hlsl.cbuffer-identifier.vert.out index de9deea7..3fa3d5d2 100644 --- a/Test/baseResults/hlsl.cbuffer-identifier.vert.out +++ b/Test/baseResults/hlsl.cbuffer-identifier.vert.out @@ -281,18 +281,18 @@ Shader version: 500 Name 82 "param" Name 86 "@entryPointOutput.Pos" Name 90 "@entryPointOutput.Norm" - MemberDecorate 28(C) 0 RowMajor - MemberDecorate 28(C) 0 Offset 0 - MemberDecorate 28(C) 0 MatrixStride 16 - MemberDecorate 28(C) 1 RowMajor - MemberDecorate 28(C) 1 Offset 64 - MemberDecorate 28(C) 1 MatrixStride 16 - MemberDecorate 28(C) 2 RowMajor - MemberDecorate 28(C) 2 Offset 128 - MemberDecorate 28(C) 2 MatrixStride 16 Decorate 28(C) Block - Decorate 30 DescriptorSet 0 + MemberDecorate 28(C) 0 RowMajor + MemberDecorate 28(C) 0 MatrixStride 16 + MemberDecorate 28(C) 0 Offset 0 + MemberDecorate 28(C) 1 RowMajor + MemberDecorate 28(C) 1 MatrixStride 16 + MemberDecorate 28(C) 1 Offset 64 + MemberDecorate 28(C) 2 RowMajor + MemberDecorate 28(C) 2 MatrixStride 16 + MemberDecorate 28(C) 2 Offset 128 Decorate 30 Binding 0 + Decorate 30 DescriptorSet 0 Decorate 74(input.Pos) Location 0 Decorate 78(input.Norm) Location 1 Decorate 86(@entryPointOutput.Pos) BuiltIn Position diff --git a/Test/baseResults/hlsl.cbuffer-offsets.comp.out b/Test/baseResults/hlsl.cbuffer-offsets.comp.out index feb0bb69..793d5b91 100644 --- a/Test/baseResults/hlsl.cbuffer-offsets.comp.out +++ b/Test/baseResults/hlsl.cbuffer-offsets.comp.out @@ -70,63 +70,63 @@ Validation failed Name 27 "" Decorate 13 ArrayStride 16 Decorate 24 ArrayStride 16 + Decorate 25(CB) Block MemberDecorate 25(CB) 0 Offset 0 MemberDecorate 25(CB) 1 Offset 16 MemberDecorate 25(CB) 2 Offset 60 MemberDecorate 25(CB) 3 Offset 64 MemberDecorate 25(CB) 4 RowMajor - MemberDecorate 25(CB) 4 Offset 68 MemberDecorate 25(CB) 4 MatrixStride 16 + MemberDecorate 25(CB) 4 Offset 68 MemberDecorate 25(CB) 5 RowMajor - MemberDecorate 25(CB) 5 Offset 80 MemberDecorate 25(CB) 5 MatrixStride 16 + MemberDecorate 25(CB) 5 Offset 80 MemberDecorate 25(CB) 6 RowMajor - MemberDecorate 25(CB) 6 Offset 100 MemberDecorate 25(CB) 6 MatrixStride 16 + MemberDecorate 25(CB) 6 Offset 100 MemberDecorate 25(CB) 7 RowMajor - MemberDecorate 25(CB) 7 Offset 112 MemberDecorate 25(CB) 7 MatrixStride 16 + MemberDecorate 25(CB) 7 Offset 112 MemberDecorate 25(CB) 8 RowMajor - MemberDecorate 25(CB) 8 Offset 144 MemberDecorate 25(CB) 8 MatrixStride 16 + MemberDecorate 25(CB) 8 Offset 144 MemberDecorate 25(CB) 9 Offset 188 MemberDecorate 25(CB) 10 RowMajor - MemberDecorate 25(CB) 10 Offset 192 MemberDecorate 25(CB) 10 MatrixStride 16 + MemberDecorate 25(CB) 10 Offset 192 MemberDecorate 25(CB) 11 Offset 252 MemberDecorate 25(CB) 12 RowMajor - MemberDecorate 25(CB) 12 Offset 256 MemberDecorate 25(CB) 12 MatrixStride 16 + MemberDecorate 25(CB) 12 Offset 256 MemberDecorate 25(CB) 13 Offset 304 MemberDecorate 25(CB) 14 ColMajor - MemberDecorate 25(CB) 14 Offset 308 MemberDecorate 25(CB) 14 MatrixStride 16 + MemberDecorate 25(CB) 14 Offset 308 MemberDecorate 25(CB) 15 ColMajor - MemberDecorate 25(CB) 15 Offset 312 MemberDecorate 25(CB) 15 MatrixStride 16 + MemberDecorate 25(CB) 15 Offset 312 MemberDecorate 25(CB) 16 ColMajor - MemberDecorate 25(CB) 16 Offset 320 MemberDecorate 25(CB) 16 MatrixStride 16 + MemberDecorate 25(CB) 16 Offset 320 MemberDecorate 25(CB) 17 ColMajor - MemberDecorate 25(CB) 17 Offset 352 MemberDecorate 25(CB) 17 MatrixStride 16 + MemberDecorate 25(CB) 17 Offset 352 MemberDecorate 25(CB) 18 ColMajor - MemberDecorate 25(CB) 18 Offset 384 MemberDecorate 25(CB) 18 MatrixStride 16 + MemberDecorate 25(CB) 18 Offset 384 MemberDecorate 25(CB) 19 Offset 428 MemberDecorate 25(CB) 20 ColMajor - MemberDecorate 25(CB) 20 Offset 432 MemberDecorate 25(CB) 20 MatrixStride 16 + MemberDecorate 25(CB) 20 Offset 432 MemberDecorate 25(CB) 21 Offset 480 MemberDecorate 25(CB) 22 ColMajor - MemberDecorate 25(CB) 22 Offset 496 MemberDecorate 25(CB) 22 MatrixStride 16 + MemberDecorate 25(CB) 22 Offset 496 MemberDecorate 25(CB) 23 Offset 556 MemberDecorate 25(CB) 24 Offset 560 MemberDecorate 25(CB) 25 Offset 596 - Decorate 25(CB) Block - Decorate 27 DescriptorSet 0 Decorate 27 Binding 0 + Decorate 27 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 9: TypeFloat 32 diff --git a/Test/baseResults/hlsl.color.hull.tesc.out b/Test/baseResults/hlsl.color.hull.tesc.out index 7a1f8305..39a7597b 100644 --- a/Test/baseResults/hlsl.color.hull.tesc.out +++ b/Test/baseResults/hlsl.color.hull.tesc.out @@ -583,21 +583,21 @@ triangle order = cw Name 137 "param" Name 142 "@patchConstantOutput.edges" Name 155 "@patchConstantOutput.inside" + Decorate 33(TessellationBuffer) Block MemberDecorate 33(TessellationBuffer) 0 Offset 0 MemberDecorate 33(TessellationBuffer) 1 Offset 4 - Decorate 33(TessellationBuffer) Block - Decorate 35 DescriptorSet 0 Decorate 35 Binding 0 + Decorate 35 DescriptorSet 0 Decorate 73(patch.position) Location 0 Decorate 80(patch.color) Location 1 Decorate 99(pointId) BuiltIn InvocationId Decorate 102(patchId) BuiltIn PrimitiveId Decorate 113(@entryPointOutput.position) Location 0 Decorate 120(@entryPointOutput.color) Location 1 - Decorate 142(@patchConstantOutput.edges) Patch Decorate 142(@patchConstantOutput.edges) BuiltIn TessLevelOuter - Decorate 155(@patchConstantOutput.inside) Patch + Decorate 142(@patchConstantOutput.edges) Patch Decorate 155(@patchConstantOutput.inside) BuiltIn TessLevelInner + Decorate 155(@patchConstantOutput.inside) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.comparison.vec.frag.out b/Test/baseResults/hlsl.comparison.vec.frag.out index 720aea24..67b82d55 100644 --- a/Test/baseResults/hlsl.comparison.vec.frag.out +++ b/Test/baseResults/hlsl.comparison.vec.frag.out @@ -297,10 +297,10 @@ gl_FragCoord origin is upper left MemberName 93($Global) 0 "uf4" Name 95 "" Decorate 90(@entryPointOutput.Color) Location 0 - MemberDecorate 93($Global) 0 Offset 0 Decorate 93($Global) Block - Decorate 95 DescriptorSet 0 + MemberDecorate 93($Global) 0 Offset 0 Decorate 95 Binding 0 + Decorate 95 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.conditional.frag.out b/Test/baseResults/hlsl.conditional.frag.out index 47c7877a..a56178ec 100644 --- a/Test/baseResults/hlsl.conditional.frag.out +++ b/Test/baseResults/hlsl.conditional.frag.out @@ -696,14 +696,14 @@ gl_FragCoord origin is upper left Name 226 "input" Name 229 "@entryPointOutput" Name 230 "param" + Decorate 29($Global) Block MemberDecorate 29($Global) 0 Offset 0 MemberDecorate 29($Global) 1 Offset 16 MemberDecorate 29($Global) 2 Offset 32 MemberDecorate 29($Global) 3 Offset 48 MemberDecorate 29($Global) 4 Offset 52 - Decorate 29($Global) Block - Decorate 31 DescriptorSet 0 Decorate 31 Binding 0 + Decorate 31 DescriptorSet 0 Decorate 226(input) Location 0 Decorate 229(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.constantbuffer.frag.out b/Test/baseResults/hlsl.constantbuffer.frag.out index 78ad5770..e321d6d9 100644 --- a/Test/baseResults/hlsl.constantbuffer.frag.out +++ b/Test/baseResults/hlsl.constantbuffer.frag.out @@ -156,21 +156,21 @@ Validation failed MemberName 46(cbuff) 0 "c1" Name 48 "" Name 64 "@entryPointOutput" + Decorate 12(cb3) Block MemberDecorate 12(cb3) 0 Offset 0 MemberDecorate 12(cb3) 1 Offset 4 - Decorate 12(cb3) Block - Decorate 18(cb3) DescriptorSet 0 Decorate 18(cb3) Binding 1 - MemberDecorate 31(cb1) 0 Offset 0 + Decorate 18(cb3) DescriptorSet 0 Decorate 31(cb1) Block - Decorate 33(cb1) DescriptorSet 0 + MemberDecorate 31(cb1) 0 Offset 0 Decorate 33(cb1) Binding 12 - Decorate 40(cb2) DescriptorSet 0 + Decorate 33(cb1) DescriptorSet 0 Decorate 40(cb2) Binding 0 - MemberDecorate 46(cbuff) 0 Offset 0 + Decorate 40(cb2) DescriptorSet 0 Decorate 46(cbuff) Block - Decorate 48 DescriptorSet 0 + MemberDecorate 46(cbuff) 0 Offset 0 Decorate 48 Binding 2 + Decorate 48 DescriptorSet 0 Decorate 64(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.dashI.vert.out b/Test/baseResults/hlsl.dashI.vert.out index ccd530af..125b4bdd 100644 --- a/Test/baseResults/hlsl.dashI.vert.out +++ b/Test/baseResults/hlsl.dashI.vert.out @@ -18,14 +18,14 @@ hlsl.dashI.vert MemberName 11($Global) 4 "i4" Name 13 "" Name 38 "@entryPointOutput" + Decorate 11($Global) Block MemberDecorate 11($Global) 0 Offset 0 MemberDecorate 11($Global) 1 Offset 16 MemberDecorate 11($Global) 2 Offset 32 MemberDecorate 11($Global) 3 Offset 48 MemberDecorate 11($Global) 4 Offset 64 - Decorate 11($Global) Block - Decorate 13 DescriptorSet 0 Decorate 13 Binding 0 + Decorate 13 DescriptorSet 0 Decorate 38(@entryPointOutput) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.domain.1.tese.out b/Test/baseResults/hlsl.domain.1.tese.out index 738f7cd0..41a5ab07 100644 --- a/Test/baseResults/hlsl.domain.1.tese.out +++ b/Test/baseResults/hlsl.domain.1.tese.out @@ -473,12 +473,12 @@ triangle order = none Decorate 62(i.norm) Location 1 Decorate 82(f) Patch Decorate 82(f) Location 2 - Decorate 85(tesscoord) Patch Decorate 85(tesscoord) BuiltIn TessCoord - Decorate 91(pcf_data.flTessFactor) Patch + Decorate 85(tesscoord) Patch Decorate 91(pcf_data.flTessFactor) BuiltIn TessLevelOuter - Decorate 104(pcf_data.flInsideTessFactor) Patch + Decorate 91(pcf_data.flTessFactor) Patch Decorate 104(pcf_data.flInsideTessFactor) BuiltIn TessLevelInner + Decorate 104(pcf_data.flInsideTessFactor) Patch Decorate 118(@entryPointOutput.pos) Location 0 Decorate 122(@entryPointOutput.norm) Location 1 2: TypeVoid diff --git a/Test/baseResults/hlsl.domain.2.tese.out b/Test/baseResults/hlsl.domain.2.tese.out index ddb176a0..97590ffa 100644 --- a/Test/baseResults/hlsl.domain.2.tese.out +++ b/Test/baseResults/hlsl.domain.2.tese.out @@ -465,16 +465,16 @@ triangle order = none Name 109 "param" Name 113 "@entryPointOutput.pos" Name 117 "@entryPointOutput.norm" - Decorate 52(pcf_data.flTessFactor) Patch Decorate 52(pcf_data.flTessFactor) BuiltIn TessLevelOuter - Decorate 67(pcf_data.flInsideTessFactor) Patch + Decorate 52(pcf_data.flTessFactor) Patch Decorate 67(pcf_data.flInsideTessFactor) BuiltIn TessLevelInner + Decorate 67(pcf_data.flInsideTessFactor) Patch Decorate 71(pcf_data.foo) Patch Decorate 71(pcf_data.foo) Location 2 Decorate 78(i.pos) Location 0 Decorate 85(i.norm) Location 1 - Decorate 103(tesscoord) Patch Decorate 103(tesscoord) BuiltIn TessCoord + Decorate 103(tesscoord) Patch Decorate 113(@entryPointOutput.pos) Location 0 Decorate 117(@entryPointOutput.norm) Location 1 2: TypeVoid diff --git a/Test/baseResults/hlsl.domain.3.tese.out b/Test/baseResults/hlsl.domain.3.tese.out index 1dc7b2fd..552f3fdb 100644 --- a/Test/baseResults/hlsl.domain.3.tese.out +++ b/Test/baseResults/hlsl.domain.3.tese.out @@ -397,12 +397,12 @@ triangle order = none Name 113 "@entryPointOutput.norm" Decorate 55(i.pos) Location 0 Decorate 62(i.norm) Location 1 - Decorate 74(tesscoord) Patch Decorate 74(tesscoord) BuiltIn TessCoord - Decorate 83(pcf_data.flTessFactor) Patch + Decorate 74(tesscoord) Patch Decorate 83(pcf_data.flTessFactor) BuiltIn TessLevelOuter - Decorate 97(pcf_data.flInsideTessFactor) Patch + Decorate 83(pcf_data.flTessFactor) Patch Decorate 97(pcf_data.flInsideTessFactor) BuiltIn TessLevelInner + Decorate 97(pcf_data.flInsideTessFactor) Patch Decorate 109(@entryPointOutput.pos) Location 0 Decorate 113(@entryPointOutput.norm) Location 1 2: TypeVoid diff --git a/Test/baseResults/hlsl.earlydepthstencil.frag.out b/Test/baseResults/hlsl.earlydepthstencil.frag.out index a629bdc7..60d90699 100644 --- a/Test/baseResults/hlsl.earlydepthstencil.frag.out +++ b/Test/baseResults/hlsl.earlydepthstencil.frag.out @@ -129,8 +129,8 @@ using early_fragment_tests Name 41 "input.Position" Name 46 "@entryPointOutput" Name 47 "param" - Decorate 19(Values) DescriptorSet 0 Decorate 19(Values) Binding 0 + Decorate 19(Values) DescriptorSet 0 Decorate 41(input.Position) BuiltIn FragCoord Decorate 46(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.emptystructreturn.tesc.out b/Test/baseResults/hlsl.emptystructreturn.tesc.out index ffdbb02d..0d82b7b2 100644 --- a/Test/baseResults/hlsl.emptystructreturn.tesc.out +++ b/Test/baseResults/hlsl.emptystructreturn.tesc.out @@ -439,10 +439,10 @@ Validation failed Decorate 65(patch.position) BuiltIn Position Decorate 79(pointId) BuiltIn InvocationId Decorate 82(patchId) BuiltIn PrimitiveId - Decorate 115(@patchConstantOutput.edges) Patch Decorate 115(@patchConstantOutput.edges) BuiltIn TessLevelOuter - Decorate 128(@patchConstantOutput.inside) Patch + Decorate 115(@patchConstantOutput.edges) Patch Decorate 128(@patchConstantOutput.inside) BuiltIn TessLevelInner + Decorate 128(@patchConstantOutput.inside) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.entry.rename.frag.out b/Test/baseResults/hlsl.entry.rename.frag.out index d635c67a..d1758052 100644 --- a/Test/baseResults/hlsl.entry.rename.frag.out +++ b/Test/baseResults/hlsl.entry.rename.frag.out @@ -92,10 +92,10 @@ gl_FragCoord origin is upper left MemberName 29($Global) 0 "also_not_the_entry_point" Name 31 "" Decorate 26(@entryPointOutput.Color) Location 0 - MemberDecorate 29($Global) 0 Offset 0 Decorate 29($Global) Block - Decorate 31 DescriptorSet 0 + MemberDecorate 29($Global) 0 Offset 0 Decorate 31 Binding 0 + Decorate 31 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 diff --git a/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out b/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out index 5c89f7e0..ac6364db 100644 --- a/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out +++ b/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out @@ -21,19 +21,19 @@ hlsl.explicitDescriptorSet.frag MemberName 25($Global) 0 "floatval_amb" Name 27 "" Name 30 "floatbuff" - Decorate 13(g_sSamp2_amb) DescriptorSet 3 Decorate 13(g_sSamp2_amb) Binding 10 + Decorate 13(g_sSamp2_amb) DescriptorSet 3 Decorate 19(@entryPointOutput) Location 0 - Decorate 21(g_sSamp) DescriptorSet 3 Decorate 21(g_sSamp) Binding 11 - Decorate 24(g_tTex1df4) DescriptorSet 3 + Decorate 21(g_sSamp) DescriptorSet 3 Decorate 24(g_tTex1df4) Binding 20 - MemberDecorate 25($Global) 0 Offset 0 + Decorate 24(g_tTex1df4) DescriptorSet 3 Decorate 25($Global) Block - Decorate 27 DescriptorSet 3 + MemberDecorate 25($Global) 0 Offset 0 Decorate 27 Binding 0 - Decorate 30(floatbuff) DescriptorSet 3 + Decorate 27 DescriptorSet 3 Decorate 30(floatbuff) Binding 0 + Decorate 30(floatbuff) DescriptorSet 3 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.explicitDescriptorSet.frag.out b/Test/baseResults/hlsl.explicitDescriptorSet.frag.out index 1b0e45f0..0693f026 100644 --- a/Test/baseResults/hlsl.explicitDescriptorSet.frag.out +++ b/Test/baseResults/hlsl.explicitDescriptorSet.frag.out @@ -21,19 +21,19 @@ hlsl.explicitDescriptorSet.frag MemberName 25($Global) 0 "floatval_amb" Name 27 "" Name 30 "floatbuff" - Decorate 13(g_sSamp2_amb) DescriptorSet 4 Decorate 13(g_sSamp2_amb) Binding 10 + Decorate 13(g_sSamp2_amb) DescriptorSet 4 Decorate 19(@entryPointOutput) Location 0 - Decorate 21(g_sSamp) DescriptorSet 4 Decorate 21(g_sSamp) Binding 11 - Decorate 24(g_tTex1df4) DescriptorSet 4 + Decorate 21(g_sSamp) DescriptorSet 4 Decorate 24(g_tTex1df4) Binding 20 - MemberDecorate 25($Global) 0 Offset 0 + Decorate 24(g_tTex1df4) DescriptorSet 4 Decorate 25($Global) Block - Decorate 27 DescriptorSet 4 + MemberDecorate 25($Global) 0 Offset 0 Decorate 27 Binding 0 - Decorate 30(floatbuff) DescriptorSet 4 + Decorate 27 DescriptorSet 4 Decorate 30(floatbuff) Binding 0 + Decorate 30(floatbuff) DescriptorSet 4 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.flattenOpaque.frag.out b/Test/baseResults/hlsl.flattenOpaque.frag.out index 589b1e1f..47ea7d3f 100644 --- a/Test/baseResults/hlsl.flattenOpaque.frag.out +++ b/Test/baseResults/hlsl.flattenOpaque.frag.out @@ -336,14 +336,14 @@ gl_FragCoord origin is upper left Name 112 "param" Name 114 "param" Name 120 "@entryPointOutput" - Decorate 38(tex) DescriptorSet 0 Decorate 38(tex) Binding 0 - Decorate 82(s.s2D) DescriptorSet 0 + Decorate 38(tex) DescriptorSet 0 Decorate 82(s.s2D) Binding 1 - Decorate 97(s2.s2D) DescriptorSet 0 + Decorate 82(s.s2D) DescriptorSet 0 Decorate 97(s2.s2D) Binding 2 - Decorate 100(s2.tex) DescriptorSet 0 + Decorate 97(s2.s2D) DescriptorSet 0 Decorate 100(s2.tex) Binding 3 + Decorate 100(s2.tex) DescriptorSet 0 Decorate 120(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.flattenOpaqueInit.vert.out b/Test/baseResults/hlsl.flattenOpaqueInit.vert.out index dbd64469..482f8182 100644 --- a/Test/baseResults/hlsl.flattenOpaqueInit.vert.out +++ b/Test/baseResults/hlsl.flattenOpaqueInit.vert.out @@ -192,10 +192,10 @@ Shader version: 500 Name 69 "tex3" Name 71 "param" Name 80 "@entryPointOutput" - Decorate 43(g_tInputTexture_sampler) DescriptorSet 0 Decorate 43(g_tInputTexture_sampler) Binding 0 - Decorate 47(g_tInputTexture) DescriptorSet 0 + Decorate 43(g_tInputTexture_sampler) DescriptorSet 0 Decorate 47(g_tInputTexture) Binding 1 + Decorate 47(g_tInputTexture) DescriptorSet 0 Decorate 80(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out b/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out index 66084f67..7ff5c4aa 100644 --- a/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out +++ b/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out @@ -128,10 +128,10 @@ Shader version: 500 Name 47 "g_tInputTexture" Name 51 "param" Name 57 "@entryPointOutput" - Decorate 44(g_tInputTexture_sampler) DescriptorSet 0 Decorate 44(g_tInputTexture_sampler) Binding 0 - Decorate 47(g_tInputTexture) DescriptorSet 0 + Decorate 44(g_tInputTexture_sampler) DescriptorSet 0 Decorate 47(g_tInputTexture) Binding 1 + Decorate 47(g_tInputTexture) DescriptorSet 0 Decorate 57(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.flattenSubset.frag.out b/Test/baseResults/hlsl.flattenSubset.frag.out index 65d34677..b96c1415 100644 --- a/Test/baseResults/hlsl.flattenSubset.frag.out +++ b/Test/baseResults/hlsl.flattenSubset.frag.out @@ -151,10 +151,10 @@ gl_FragCoord origin is upper left Name 47 "vpos" Name 50 "@entryPointOutput" Name 51 "param" - Decorate 21(samp) DescriptorSet 0 Decorate 21(samp) Binding 0 - Decorate 33(tex) DescriptorSet 0 + Decorate 21(samp) DescriptorSet 0 Decorate 33(tex) Binding 1 + Decorate 33(tex) DescriptorSet 0 Decorate 47(vpos) Location 0 Decorate 50(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.flattenSubset2.frag.out b/Test/baseResults/hlsl.flattenSubset2.frag.out index c8a91932..46cbcd4e 100644 --- a/Test/baseResults/hlsl.flattenSubset2.frag.out +++ b/Test/baseResults/hlsl.flattenSubset2.frag.out @@ -179,8 +179,8 @@ gl_FragCoord origin is upper left Name 49 "vpos" Name 52 "@entryPointOutput" Name 53 "param" - Decorate 36(someTex) DescriptorSet 0 Decorate 36(someTex) Binding 0 + Decorate 36(someTex) DescriptorSet 0 Decorate 49(vpos) Location 0 Decorate 52(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.float4.frag.out b/Test/baseResults/hlsl.float4.frag.out index 5fcc3c14..8b9fc02c 100644 --- a/Test/baseResults/hlsl.float4.frag.out +++ b/Test/baseResults/hlsl.float4.frag.out @@ -61,14 +61,14 @@ gl_FragCoord origin is upper left MemberName 15($Global) 3 "ff3" MemberName 15($Global) 4 "ff4" Name 17 "" + Decorate 15($Global) Block MemberDecorate 15($Global) 0 Offset 0 MemberDecorate 15($Global) 1 Offset 16 MemberDecorate 15($Global) 2 Offset 20 MemberDecorate 15($Global) 3 Offset 32 MemberDecorate 15($Global) 4 Offset 48 - Decorate 15($Global) Block - Decorate 17 DescriptorSet 0 Decorate 17 Binding 0 + Decorate 17 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.format.rwtexture.frag.out b/Test/baseResults/hlsl.format.rwtexture.frag.out index 3edbbb6e..eb81229d 100644 --- a/Test/baseResults/hlsl.format.rwtexture.frag.out +++ b/Test/baseResults/hlsl.format.rwtexture.frag.out @@ -248,92 +248,92 @@ using depth_any Name 159 "g_tTex25" Decorate 29(@entryPointOutput.Color) Location 0 Decorate 33(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 38(g_sSamp) DescriptorSet 0 Decorate 38(g_sSamp) Binding 0 - Decorate 41(g_tTex1df4) DescriptorSet 0 + Decorate 38(g_sSamp) DescriptorSet 0 Decorate 41(g_tTex1df4) Binding 0 - Decorate 44(g_tTex1di4) DescriptorSet 0 + Decorate 41(g_tTex1df4) DescriptorSet 0 Decorate 44(g_tTex1di4) Binding 0 - Decorate 48(g_tTex1du4) DescriptorSet 0 + Decorate 44(g_tTex1di4) DescriptorSet 0 Decorate 48(g_tTex1du4) Binding 0 - Decorate 51(g_tTex2df4) DescriptorSet 0 + Decorate 48(g_tTex1du4) DescriptorSet 0 Decorate 51(g_tTex2df4) Binding 0 - Decorate 54(g_tTex2di4) DescriptorSet 0 + Decorate 51(g_tTex2df4) DescriptorSet 0 Decorate 54(g_tTex2di4) Binding 0 - Decorate 57(g_tTex2du4) DescriptorSet 0 + Decorate 54(g_tTex2di4) DescriptorSet 0 Decorate 57(g_tTex2du4) Binding 0 - Decorate 60(g_tTex3df4) DescriptorSet 0 - Decorate 60(g_tTex3df4) Binding 0 + Decorate 57(g_tTex2du4) DescriptorSet 0 Decorate 60(g_tTex3df4) NonWritable - Decorate 63(g_tTex3di4) DescriptorSet 0 - Decorate 63(g_tTex3di4) Binding 0 + Decorate 60(g_tTex3df4) Binding 0 + Decorate 60(g_tTex3df4) DescriptorSet 0 Decorate 63(g_tTex3di4) NonReadable - Decorate 66(g_tTex3du4) DescriptorSet 0 - Decorate 66(g_tTex3du4) Binding 0 + Decorate 63(g_tTex3di4) Binding 0 + Decorate 63(g_tTex3di4) DescriptorSet 0 Decorate 66(g_tTex3du4) NonWritable Decorate 66(g_tTex3du4) NonReadable - Decorate 69(g_tTex1df4a) DescriptorSet 0 + Decorate 66(g_tTex3du4) Binding 0 + Decorate 66(g_tTex3du4) DescriptorSet 0 Decorate 69(g_tTex1df4a) Binding 0 - Decorate 72(g_tTex1di4a) DescriptorSet 0 + Decorate 69(g_tTex1df4a) DescriptorSet 0 Decorate 72(g_tTex1di4a) Binding 0 - Decorate 75(g_tTex1du4a) DescriptorSet 0 + Decorate 72(g_tTex1di4a) DescriptorSet 0 Decorate 75(g_tTex1du4a) Binding 0 - Decorate 78(g_tTex2df4a) DescriptorSet 0 + Decorate 75(g_tTex1du4a) DescriptorSet 0 Decorate 78(g_tTex2df4a) Binding 0 - Decorate 81(g_tTex2di4a) DescriptorSet 0 + Decorate 78(g_tTex2df4a) DescriptorSet 0 Decorate 81(g_tTex2di4a) Binding 0 - Decorate 84(g_tTex2du4a) DescriptorSet 0 + Decorate 81(g_tTex2di4a) DescriptorSet 0 Decorate 84(g_tTex2du4a) Binding 0 - Decorate 87(g_tTex01) DescriptorSet 0 + Decorate 84(g_tTex2du4a) DescriptorSet 0 Decorate 87(g_tTex01) Binding 0 - Decorate 90(g_tTex02) DescriptorSet 0 + Decorate 87(g_tTex01) DescriptorSet 0 Decorate 90(g_tTex02) Binding 0 - Decorate 93(g_tTex03) DescriptorSet 0 + Decorate 90(g_tTex02) DescriptorSet 0 Decorate 93(g_tTex03) Binding 0 - Decorate 96(g_tTex04) DescriptorSet 0 + Decorate 93(g_tTex03) DescriptorSet 0 Decorate 96(g_tTex04) Binding 0 - Decorate 99(g_tTex05) DescriptorSet 0 + Decorate 96(g_tTex04) DescriptorSet 0 Decorate 99(g_tTex05) Binding 0 - Decorate 102(g_tTex06) DescriptorSet 0 + Decorate 99(g_tTex05) DescriptorSet 0 Decorate 102(g_tTex06) Binding 0 - Decorate 105(g_tTex07) DescriptorSet 0 + Decorate 102(g_tTex06) DescriptorSet 0 Decorate 105(g_tTex07) Binding 0 - Decorate 108(g_tTex08) DescriptorSet 0 + Decorate 105(g_tTex07) DescriptorSet 0 Decorate 108(g_tTex08) Binding 0 - Decorate 111(g_tTex09) DescriptorSet 0 + Decorate 108(g_tTex08) DescriptorSet 0 Decorate 111(g_tTex09) Binding 0 - Decorate 114(g_tTex10) DescriptorSet 0 + Decorate 111(g_tTex09) DescriptorSet 0 Decorate 114(g_tTex10) Binding 0 - Decorate 117(g_tTex11) DescriptorSet 0 + Decorate 114(g_tTex10) DescriptorSet 0 Decorate 117(g_tTex11) Binding 0 - Decorate 120(g_tTex12) DescriptorSet 0 + Decorate 117(g_tTex11) DescriptorSet 0 Decorate 120(g_tTex12) Binding 0 - Decorate 123(g_tTex13) DescriptorSet 0 + Decorate 120(g_tTex12) DescriptorSet 0 Decorate 123(g_tTex13) Binding 0 - Decorate 126(g_tTex14) DescriptorSet 0 + Decorate 123(g_tTex13) DescriptorSet 0 Decorate 126(g_tTex14) Binding 0 - Decorate 129(g_tTex15) DescriptorSet 0 + Decorate 126(g_tTex14) DescriptorSet 0 Decorate 129(g_tTex15) Binding 0 - Decorate 132(g_tTex16) DescriptorSet 0 + Decorate 129(g_tTex15) DescriptorSet 0 Decorate 132(g_tTex16) Binding 0 - Decorate 135(g_tTex17) DescriptorSet 0 + Decorate 132(g_tTex16) DescriptorSet 0 Decorate 135(g_tTex17) Binding 0 - Decorate 138(g_tTex18) DescriptorSet 0 + Decorate 135(g_tTex17) DescriptorSet 0 Decorate 138(g_tTex18) Binding 0 - Decorate 141(g_tTex19) DescriptorSet 0 + Decorate 138(g_tTex18) DescriptorSet 0 Decorate 141(g_tTex19) Binding 0 - Decorate 144(g_tTex20) DescriptorSet 0 + Decorate 141(g_tTex19) DescriptorSet 0 Decorate 144(g_tTex20) Binding 0 - Decorate 147(g_tTex21) DescriptorSet 0 + Decorate 144(g_tTex20) DescriptorSet 0 Decorate 147(g_tTex21) Binding 0 - Decorate 150(g_tTex22) DescriptorSet 0 + Decorate 147(g_tTex21) DescriptorSet 0 Decorate 150(g_tTex22) Binding 0 - Decorate 153(g_tTex23) DescriptorSet 0 + Decorate 150(g_tTex22) DescriptorSet 0 Decorate 153(g_tTex23) Binding 0 - Decorate 156(g_tTex24) DescriptorSet 0 + Decorate 153(g_tTex23) DescriptorSet 0 Decorate 156(g_tTex24) Binding 0 - Decorate 159(g_tTex25) DescriptorSet 0 + Decorate 156(g_tTex24) DescriptorSet 0 Decorate 159(g_tTex25) Binding 0 + Decorate 159(g_tTex25) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gather.array.dx10.frag.out b/Test/baseResults/hlsl.gather.array.dx10.frag.out index 13b7ebb3..e0a1901f 100644 --- a/Test/baseResults/hlsl.gather.array.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.array.dx10.frag.out @@ -300,30 +300,30 @@ using depth_any Name 117 "g_tTex1df4" Name 120 "g_tTex1di4a" Name 123 "g_tTex1du4a" - Decorate 16(g_tTex2df4a) DescriptorSet 0 Decorate 16(g_tTex2df4a) Binding 2 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 37(g_tTex2di4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 37(g_tTex2di4a) Binding 3 - Decorate 52(g_tTex2du4a) DescriptorSet 0 + Decorate 37(g_tTex2di4a) DescriptorSet 0 Decorate 52(g_tTex2du4a) Binding 4 - Decorate 64(g_tTexcdf4a) DescriptorSet 0 + Decorate 52(g_tTex2du4a) DescriptorSet 0 Decorate 64(g_tTexcdf4a) Binding 5 - Decorate 74(g_tTexcdi4a) DescriptorSet 0 + Decorate 64(g_tTexcdf4a) DescriptorSet 0 Decorate 74(g_tTexcdi4a) Binding 6 - Decorate 84(g_tTexcdu4a) DescriptorSet 0 + Decorate 74(g_tTexcdi4a) DescriptorSet 0 Decorate 84(g_tTexcdu4a) Binding 7 + Decorate 84(g_tTexcdu4a) DescriptorSet 0 Decorate 107(@entryPointOutput.Color) Location 0 Decorate 111(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 116(g_tTex1df4a) DescriptorSet 0 Decorate 116(g_tTex1df4a) Binding 1 - Decorate 117(g_tTex1df4) DescriptorSet 0 + Decorate 116(g_tTex1df4a) DescriptorSet 0 Decorate 117(g_tTex1df4) Binding 0 - Decorate 120(g_tTex1di4a) DescriptorSet 0 + Decorate 117(g_tTex1df4) DescriptorSet 0 Decorate 120(g_tTex1di4a) Binding 0 - Decorate 123(g_tTex1du4a) DescriptorSet 0 + Decorate 120(g_tTex1di4a) DescriptorSet 0 Decorate 123(g_tTex1du4a) Binding 0 + Decorate 123(g_tTex1du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gather.basic.dx10.frag.out b/Test/baseResults/hlsl.gather.basic.dx10.frag.out index 0aa00f74..6a9df41d 100644 --- a/Test/baseResults/hlsl.gather.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.basic.dx10.frag.out @@ -299,38 +299,38 @@ using depth_any Name 128 "g_tTex3df4" Name 131 "g_tTex3di4" Name 134 "g_tTex3du4" - Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 16(g_tTex2df4) Binding 2 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 36(g_tTex2di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 36(g_tTex2di4) Binding 3 - Decorate 51(g_tTex2du4) DescriptorSet 0 + Decorate 36(g_tTex2di4) DescriptorSet 0 Decorate 51(g_tTex2du4) Binding 4 - Decorate 63(g_tTexcdf4) DescriptorSet 0 + Decorate 51(g_tTex2du4) DescriptorSet 0 Decorate 63(g_tTexcdf4) Binding 5 - Decorate 74(g_tTexcdi4) DescriptorSet 0 + Decorate 63(g_tTexcdf4) DescriptorSet 0 Decorate 74(g_tTexcdi4) Binding 6 - Decorate 84(g_tTexcdu4) DescriptorSet 0 + Decorate 74(g_tTexcdi4) DescriptorSet 0 Decorate 84(g_tTexcdu4) Binding 7 + Decorate 84(g_tTexcdu4) DescriptorSet 0 Decorate 108(@entryPointOutput.Color) Location 0 Decorate 112(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 115(g_sSamp2d) DescriptorSet 0 Decorate 115(g_sSamp2d) Binding 0 - Decorate 118(g_tTex1df4a) DescriptorSet 0 + Decorate 115(g_sSamp2d) DescriptorSet 0 Decorate 118(g_tTex1df4a) Binding 1 - Decorate 119(g_tTex1df4) DescriptorSet 0 + Decorate 118(g_tTex1df4a) DescriptorSet 0 Decorate 119(g_tTex1df4) Binding 0 - Decorate 122(g_tTex1di4) DescriptorSet 0 + Decorate 119(g_tTex1df4) DescriptorSet 0 Decorate 122(g_tTex1di4) Binding 0 - Decorate 125(g_tTex1du4) DescriptorSet 0 + Decorate 122(g_tTex1di4) DescriptorSet 0 Decorate 125(g_tTex1du4) Binding 0 - Decorate 128(g_tTex3df4) DescriptorSet 0 + Decorate 125(g_tTex1du4) DescriptorSet 0 Decorate 128(g_tTex3df4) Binding 0 - Decorate 131(g_tTex3di4) DescriptorSet 0 + Decorate 128(g_tTex3df4) DescriptorSet 0 Decorate 131(g_tTex3di4) Binding 0 - Decorate 134(g_tTex3du4) DescriptorSet 0 + Decorate 131(g_tTex3di4) DescriptorSet 0 Decorate 134(g_tTex3du4) Binding 0 + Decorate 134(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gather.basic.dx10.vert.out b/Test/baseResults/hlsl.gather.basic.dx10.vert.out index d743074e..8bffb131 100644 --- a/Test/baseResults/hlsl.gather.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.gather.basic.dx10.vert.out @@ -256,37 +256,37 @@ Shader version: 500 Name 119 "g_tTex3df4" Name 122 "g_tTex3di4" Name 125 "g_tTex3du4" - Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 16(g_tTex2df4) Binding 2 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 36(g_tTex2di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 36(g_tTex2di4) Binding 3 - Decorate 51(g_tTex2du4) DescriptorSet 0 + Decorate 36(g_tTex2di4) DescriptorSet 0 Decorate 51(g_tTex2du4) Binding 4 - Decorate 63(g_tTexcdf4) DescriptorSet 0 + Decorate 51(g_tTex2du4) DescriptorSet 0 Decorate 63(g_tTexcdf4) Binding 5 - Decorate 74(g_tTexcdi4) DescriptorSet 0 + Decorate 63(g_tTexcdf4) DescriptorSet 0 Decorate 74(g_tTexcdi4) Binding 6 - Decorate 84(g_tTexcdu4) DescriptorSet 0 + Decorate 74(g_tTexcdi4) DescriptorSet 0 Decorate 84(g_tTexcdu4) Binding 7 + Decorate 84(g_tTexcdu4) DescriptorSet 0 Decorate 103(@entryPointOutput.Pos) BuiltIn Position - Decorate 106(g_sSamp2d) DescriptorSet 0 Decorate 106(g_sSamp2d) Binding 0 - Decorate 109(g_tTex1df4a) DescriptorSet 0 + Decorate 106(g_sSamp2d) DescriptorSet 0 Decorate 109(g_tTex1df4a) Binding 1 - Decorate 110(g_tTex1df4) DescriptorSet 0 + Decorate 109(g_tTex1df4a) DescriptorSet 0 Decorate 110(g_tTex1df4) Binding 0 - Decorate 113(g_tTex1di4) DescriptorSet 0 + Decorate 110(g_tTex1df4) DescriptorSet 0 Decorate 113(g_tTex1di4) Binding 0 - Decorate 116(g_tTex1du4) DescriptorSet 0 + Decorate 113(g_tTex1di4) DescriptorSet 0 Decorate 116(g_tTex1du4) Binding 0 - Decorate 119(g_tTex3df4) DescriptorSet 0 + Decorate 116(g_tTex1du4) DescriptorSet 0 Decorate 119(g_tTex3df4) Binding 0 - Decorate 122(g_tTex3di4) DescriptorSet 0 + Decorate 119(g_tTex3df4) DescriptorSet 0 Decorate 122(g_tTex3di4) Binding 0 - Decorate 125(g_tTex3du4) DescriptorSet 0 + Decorate 122(g_tTex3di4) DescriptorSet 0 Decorate 125(g_tTex3du4) Binding 0 + Decorate 125(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gather.offset.dx10.frag.out b/Test/baseResults/hlsl.gather.offset.dx10.frag.out index 9656db57..ae409bbd 100644 --- a/Test/baseResults/hlsl.gather.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.offset.dx10.frag.out @@ -245,36 +245,36 @@ using depth_any Name 107 "g_tTexcdf4" Name 110 "g_tTexcdi4" Name 113 "g_tTexcdu4" - Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 16(g_tTex2df4) Binding 2 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 39(g_tTex2di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 39(g_tTex2di4) Binding 3 - Decorate 55(g_tTex2du4) DescriptorSet 0 + Decorate 39(g_tTex2di4) DescriptorSet 0 Decorate 55(g_tTex2du4) Binding 4 + Decorate 55(g_tTex2du4) DescriptorSet 0 Decorate 79(@entryPointOutput.Color) Location 0 Decorate 83(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 88(g_tTex1df4a) DescriptorSet 0 Decorate 88(g_tTex1df4a) Binding 1 - Decorate 89(g_tTex1df4) DescriptorSet 0 + Decorate 88(g_tTex1df4a) DescriptorSet 0 Decorate 89(g_tTex1df4) Binding 0 - Decorate 92(g_tTex1di4) DescriptorSet 0 + Decorate 89(g_tTex1df4) DescriptorSet 0 Decorate 92(g_tTex1di4) Binding 0 - Decorate 95(g_tTex1du4) DescriptorSet 0 + Decorate 92(g_tTex1di4) DescriptorSet 0 Decorate 95(g_tTex1du4) Binding 0 - Decorate 98(g_tTex3df4) DescriptorSet 0 + Decorate 95(g_tTex1du4) DescriptorSet 0 Decorate 98(g_tTex3df4) Binding 0 - Decorate 101(g_tTex3di4) DescriptorSet 0 + Decorate 98(g_tTex3df4) DescriptorSet 0 Decorate 101(g_tTex3di4) Binding 0 - Decorate 104(g_tTex3du4) DescriptorSet 0 + Decorate 101(g_tTex3di4) DescriptorSet 0 Decorate 104(g_tTex3du4) Binding 0 - Decorate 107(g_tTexcdf4) DescriptorSet 0 + Decorate 104(g_tTex3du4) DescriptorSet 0 Decorate 107(g_tTexcdf4) Binding 0 - Decorate 110(g_tTexcdi4) DescriptorSet 0 + Decorate 107(g_tTexcdf4) DescriptorSet 0 Decorate 110(g_tTexcdi4) Binding 0 - Decorate 113(g_tTexcdu4) DescriptorSet 0 + Decorate 110(g_tTexcdi4) DescriptorSet 0 Decorate 113(g_tTexcdu4) Binding 0 + Decorate 113(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out index 2e6221a2..695428ae 100644 --- a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out @@ -233,24 +233,24 @@ using depth_any Name 90 "g_tTex1df4" Name 93 "g_tTex1di4" Name 96 "g_tTex1du4" - Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 16(g_tTex2df4) Binding 2 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 40(g_tTex2di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 40(g_tTex2di4) Binding 3 - Decorate 55(g_tTex2du4) DescriptorSet 0 + Decorate 40(g_tTex2di4) DescriptorSet 0 Decorate 55(g_tTex2du4) Binding 4 + Decorate 55(g_tTex2du4) DescriptorSet 0 Decorate 80(@entryPointOutput.Color) Location 0 Decorate 84(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 89(g_tTex1df4a) DescriptorSet 0 Decorate 89(g_tTex1df4a) Binding 1 - Decorate 90(g_tTex1df4) DescriptorSet 0 + Decorate 89(g_tTex1df4a) DescriptorSet 0 Decorate 90(g_tTex1df4) Binding 0 - Decorate 93(g_tTex1di4) DescriptorSet 0 + Decorate 90(g_tTex1df4) DescriptorSet 0 Decorate 93(g_tTex1di4) Binding 0 - Decorate 96(g_tTex1du4) DescriptorSet 0 + Decorate 93(g_tTex1di4) DescriptorSet 0 Decorate 96(g_tTex1du4) Binding 0 + Decorate 96(g_tTex1du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out index 904aaece..3bf68b55 100644 --- a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out @@ -812,37 +812,37 @@ using depth_any Name 248 "g_tTex1df4a" Name 251 "g_tTex1di4a" Name 254 "g_tTex1du4a" - Decorate 16(g_tTex2df4a) DescriptorSet 0 Decorate 16(g_tTex2df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 26($Global) Block MemberDecorate 26($Global) 0 Offset 0 MemberDecorate 26($Global) 1 Offset 8 MemberDecorate 26($Global) 2 Offset 16 MemberDecorate 26($Global) 3 Offset 32 - Decorate 26($Global) Block - Decorate 28 DescriptorSet 0 Decorate 28 Binding 7 - Decorate 41(g_tTex2di4a) DescriptorSet 0 + Decorate 28 DescriptorSet 0 Decorate 41(g_tTex2di4a) Binding 2 - Decorate 55(g_tTex2du4a) DescriptorSet 0 + Decorate 41(g_tTex2di4a) DescriptorSet 0 Decorate 55(g_tTex2du4a) Binding 3 - Decorate 131(g_tTexcdf4a) DescriptorSet 0 + Decorate 55(g_tTex2du4a) DescriptorSet 0 Decorate 131(g_tTexcdf4a) Binding 4 - Decorate 143(g_tTexcdi4a) DescriptorSet 0 + Decorate 131(g_tTexcdf4a) DescriptorSet 0 Decorate 143(g_tTexcdi4a) Binding 5 - Decorate 154(g_tTexcdu4a) DescriptorSet 0 + Decorate 143(g_tTexcdi4a) DescriptorSet 0 Decorate 154(g_tTexcdu4a) Binding 6 + Decorate 154(g_tTexcdu4a) DescriptorSet 0 Decorate 238(@entryPointOutput.Color) Location 0 Decorate 242(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 245(g_sSamp2d) DescriptorSet 0 Decorate 245(g_sSamp2d) Binding 0 - Decorate 248(g_tTex1df4a) DescriptorSet 0 + Decorate 245(g_sSamp2d) DescriptorSet 0 Decorate 248(g_tTex1df4a) Binding 0 - Decorate 251(g_tTex1di4a) DescriptorSet 0 + Decorate 248(g_tTex1df4a) DescriptorSet 0 Decorate 251(g_tTex1di4a) Binding 0 - Decorate 254(g_tTex1du4a) DescriptorSet 0 + Decorate 251(g_tTex1di4a) DescriptorSet 0 Decorate 254(g_tTex1du4a) Binding 0 + Decorate 254(g_tTex1du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out index f8fa2f46..e94789a3 100644 --- a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out @@ -823,45 +823,45 @@ using depth_any Name 258 "g_tTex3df4" Name 261 "g_tTex3di4" Name 264 "g_tTex3du4" - Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 16(g_tTex2df4) Binding 2 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 26($Global) Block MemberDecorate 26($Global) 0 Offset 0 MemberDecorate 26($Global) 1 Offset 8 MemberDecorate 26($Global) 2 Offset 16 MemberDecorate 26($Global) 3 Offset 32 - Decorate 26($Global) Block - Decorate 28 DescriptorSet 0 Decorate 28 Binding 8 - Decorate 41(g_tTex2di4) DescriptorSet 0 + Decorate 28 DescriptorSet 0 Decorate 41(g_tTex2di4) Binding 3 - Decorate 55(g_tTex2du4) DescriptorSet 0 + Decorate 41(g_tTex2di4) DescriptorSet 0 Decorate 55(g_tTex2du4) Binding 4 - Decorate 131(g_tTexcdf4) DescriptorSet 0 + Decorate 55(g_tTex2du4) DescriptorSet 0 Decorate 131(g_tTexcdf4) Binding 5 - Decorate 143(g_tTexcdi4) DescriptorSet 0 + Decorate 131(g_tTexcdf4) DescriptorSet 0 Decorate 143(g_tTexcdi4) Binding 6 - Decorate 154(g_tTexcdu4) DescriptorSet 0 + Decorate 143(g_tTexcdi4) DescriptorSet 0 Decorate 154(g_tTexcdu4) Binding 7 + Decorate 154(g_tTexcdu4) DescriptorSet 0 Decorate 238(@entryPointOutput.Color) Location 0 Decorate 242(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 245(g_sSamp2d) DescriptorSet 0 Decorate 245(g_sSamp2d) Binding 0 - Decorate 248(g_tTex1df4a) DescriptorSet 0 + Decorate 245(g_sSamp2d) DescriptorSet 0 Decorate 248(g_tTex1df4a) Binding 1 - Decorate 249(g_tTex1df4) DescriptorSet 0 + Decorate 248(g_tTex1df4a) DescriptorSet 0 Decorate 249(g_tTex1df4) Binding 0 - Decorate 252(g_tTex1di4) DescriptorSet 0 + Decorate 249(g_tTex1df4) DescriptorSet 0 Decorate 252(g_tTex1di4) Binding 0 - Decorate 255(g_tTex1du4) DescriptorSet 0 + Decorate 252(g_tTex1di4) DescriptorSet 0 Decorate 255(g_tTex1du4) Binding 0 - Decorate 258(g_tTex3df4) DescriptorSet 0 + Decorate 255(g_tTex1du4) DescriptorSet 0 Decorate 258(g_tTex3df4) Binding 0 - Decorate 261(g_tTex3di4) DescriptorSet 0 + Decorate 258(g_tTex3df4) DescriptorSet 0 Decorate 261(g_tTex3di4) Binding 0 - Decorate 264(g_tTex3du4) DescriptorSet 0 + Decorate 261(g_tTex3di4) DescriptorSet 0 Decorate 264(g_tTex3du4) Binding 0 + Decorate 264(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out index 63cb39fc..165c10c9 100644 --- a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out @@ -1333,10 +1333,11 @@ Validation failed Name 392 "g_tTexcdf4" Name 395 "g_tTexcdi4" Name 398 "g_tTexcdu4" - Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 16(g_tTex2df4) Binding 2 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 30($Global) Block MemberDecorate 30($Global) 0 Offset 0 MemberDecorate 30($Global) 1 Offset 8 MemberDecorate 30($Global) 2 Offset 16 @@ -1345,37 +1346,36 @@ Validation failed MemberDecorate 30($Global) 5 Offset 56 MemberDecorate 30($Global) 6 Offset 64 MemberDecorate 30($Global) 7 Offset 80 - Decorate 30($Global) Block - Decorate 32 DescriptorSet 0 Decorate 32 Binding 5 - Decorate 47(g_tTex2di4) DescriptorSet 0 + Decorate 32 DescriptorSet 0 Decorate 47(g_tTex2di4) Binding 3 - Decorate 63(g_tTex2du4) DescriptorSet 0 + Decorate 47(g_tTex2di4) DescriptorSet 0 Decorate 63(g_tTex2du4) Binding 4 + Decorate 63(g_tTex2du4) DescriptorSet 0 Decorate 363(@entryPointOutput.Color) Location 0 Decorate 367(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 370(g_sSamp2d) DescriptorSet 0 Decorate 370(g_sSamp2d) Binding 0 - Decorate 373(g_tTex1df4a) DescriptorSet 0 + Decorate 370(g_sSamp2d) DescriptorSet 0 Decorate 373(g_tTex1df4a) Binding 1 - Decorate 374(g_tTex1df4) DescriptorSet 0 + Decorate 373(g_tTex1df4a) DescriptorSet 0 Decorate 374(g_tTex1df4) Binding 0 - Decorate 377(g_tTex1di4) DescriptorSet 0 + Decorate 374(g_tTex1df4) DescriptorSet 0 Decorate 377(g_tTex1di4) Binding 0 - Decorate 380(g_tTex1du4) DescriptorSet 0 + Decorate 377(g_tTex1di4) DescriptorSet 0 Decorate 380(g_tTex1du4) Binding 0 - Decorate 383(g_tTex3df4) DescriptorSet 0 + Decorate 380(g_tTex1du4) DescriptorSet 0 Decorate 383(g_tTex3df4) Binding 0 - Decorate 386(g_tTex3di4) DescriptorSet 0 + Decorate 383(g_tTex3df4) DescriptorSet 0 Decorate 386(g_tTex3di4) Binding 0 - Decorate 389(g_tTex3du4) DescriptorSet 0 + Decorate 386(g_tTex3di4) DescriptorSet 0 Decorate 389(g_tTex3du4) Binding 0 - Decorate 392(g_tTexcdf4) DescriptorSet 0 + Decorate 389(g_tTex3du4) DescriptorSet 0 Decorate 392(g_tTexcdf4) Binding 0 - Decorate 395(g_tTexcdi4) DescriptorSet 0 + Decorate 392(g_tTexcdf4) DescriptorSet 0 Decorate 395(g_tTexcdi4) Binding 0 - Decorate 398(g_tTexcdu4) DescriptorSet 0 + Decorate 395(g_tTexcdi4) DescriptorSet 0 Decorate 398(g_tTexcdu4) Binding 0 + Decorate 398(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out index da83e011..42360c59 100644 --- a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out @@ -1322,10 +1322,11 @@ Validation failed Name 382 "g_tTexcdf4a" Name 385 "g_tTexcdi4a" Name 388 "g_tTexcdu4a" - Decorate 16(g_tTex2df4a) DescriptorSet 0 Decorate 16(g_tTex2df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex2df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 + Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 30($Global) Block MemberDecorate 30($Global) 0 Offset 0 MemberDecorate 30($Global) 1 Offset 8 MemberDecorate 30($Global) 2 Offset 16 @@ -1334,29 +1335,28 @@ Validation failed MemberDecorate 30($Global) 5 Offset 56 MemberDecorate 30($Global) 6 Offset 64 MemberDecorate 30($Global) 7 Offset 80 - Decorate 30($Global) Block - Decorate 32 DescriptorSet 0 Decorate 32 Binding 4 - Decorate 47(g_tTex2di4a) DescriptorSet 0 + Decorate 32 DescriptorSet 0 Decorate 47(g_tTex2di4a) Binding 2 - Decorate 63(g_tTex2du4a) DescriptorSet 0 + Decorate 47(g_tTex2di4a) DescriptorSet 0 Decorate 63(g_tTex2du4a) Binding 3 + Decorate 63(g_tTex2du4a) DescriptorSet 0 Decorate 363(@entryPointOutput.Color) Location 0 Decorate 367(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 370(g_sSamp2d) DescriptorSet 0 Decorate 370(g_sSamp2d) Binding 0 - Decorate 373(g_tTex1df4a) DescriptorSet 0 + Decorate 370(g_sSamp2d) DescriptorSet 0 Decorate 373(g_tTex1df4a) Binding 0 - Decorate 376(g_tTex1di4a) DescriptorSet 0 + Decorate 373(g_tTex1df4a) DescriptorSet 0 Decorate 376(g_tTex1di4a) Binding 0 - Decorate 379(g_tTex1du4a) DescriptorSet 0 + Decorate 376(g_tTex1di4a) DescriptorSet 0 Decorate 379(g_tTex1du4a) Binding 0 - Decorate 382(g_tTexcdf4a) DescriptorSet 0 + Decorate 379(g_tTex1du4a) DescriptorSet 0 Decorate 382(g_tTexcdf4a) Binding 0 - Decorate 385(g_tTexcdi4a) DescriptorSet 0 + Decorate 382(g_tTexcdf4a) DescriptorSet 0 Decorate 385(g_tTexcdi4a) Binding 0 - Decorate 388(g_tTexcdu4a) DescriptorSet 0 + Decorate 385(g_tTexcdi4a) DescriptorSet 0 Decorate 388(g_tTexcdu4a) Binding 0 + Decorate 388(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out index ff834ec4..b734da5e 100644 --- a/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out @@ -506,43 +506,43 @@ using depth_any Name 157 "g_tTexcdf4" Name 160 "g_tTexcdi4" Name 163 "g_tTexcdu4" - Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 16(g_tTex2df4) Binding 2 - Decorate 20(g_sSampCmp) DescriptorSet 0 + Decorate 16(g_tTex2df4) DescriptorSet 0 Decorate 20(g_sSampCmp) Binding 0 + Decorate 20(g_sSampCmp) DescriptorSet 0 + Decorate 26($Global) Block MemberDecorate 26($Global) 0 Offset 0 MemberDecorate 26($Global) 1 Offset 8 MemberDecorate 26($Global) 2 Offset 16 MemberDecorate 26($Global) 3 Offset 32 - Decorate 26($Global) Block - Decorate 28 DescriptorSet 0 Decorate 28 Binding 5 - Decorate 44(g_tTex2di4) DescriptorSet 0 + Decorate 28 DescriptorSet 0 Decorate 44(g_tTex2di4) Binding 3 - Decorate 60(g_tTex2du4) DescriptorSet 0 + Decorate 44(g_tTex2di4) DescriptorSet 0 Decorate 60(g_tTex2du4) Binding 4 + Decorate 60(g_tTex2du4) DescriptorSet 0 Decorate 129(@entryPointOutput.Color) Location 0 Decorate 133(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 138(g_tTex1df4a) DescriptorSet 0 Decorate 138(g_tTex1df4a) Binding 1 - Decorate 139(g_tTex1df4) DescriptorSet 0 + Decorate 138(g_tTex1df4a) DescriptorSet 0 Decorate 139(g_tTex1df4) Binding 0 - Decorate 142(g_tTex1di4) DescriptorSet 0 + Decorate 139(g_tTex1df4) DescriptorSet 0 Decorate 142(g_tTex1di4) Binding 0 - Decorate 145(g_tTex1du4) DescriptorSet 0 + Decorate 142(g_tTex1di4) DescriptorSet 0 Decorate 145(g_tTex1du4) Binding 0 - Decorate 148(g_tTex3df4) DescriptorSet 0 + Decorate 145(g_tTex1du4) DescriptorSet 0 Decorate 148(g_tTex3df4) Binding 0 - Decorate 151(g_tTex3di4) DescriptorSet 0 + Decorate 148(g_tTex3df4) DescriptorSet 0 Decorate 151(g_tTex3di4) Binding 0 - Decorate 154(g_tTex3du4) DescriptorSet 0 + Decorate 151(g_tTex3di4) DescriptorSet 0 Decorate 154(g_tTex3du4) Binding 0 - Decorate 157(g_tTexcdf4) DescriptorSet 0 + Decorate 154(g_tTex3du4) DescriptorSet 0 Decorate 157(g_tTexcdf4) Binding 0 - Decorate 160(g_tTexcdi4) DescriptorSet 0 + Decorate 157(g_tTexcdf4) DescriptorSet 0 Decorate 160(g_tTexcdi4) Binding 0 - Decorate 163(g_tTexcdu4) DescriptorSet 0 + Decorate 160(g_tTexcdi4) DescriptorSet 0 Decorate 163(g_tTexcdu4) Binding 0 + Decorate 163(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.getdimensions.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.dx10.frag.out index 9e1d5439..18d55009 100644 --- a/Test/baseResults/hlsl.getdimensions.dx10.frag.out +++ b/Test/baseResults/hlsl.getdimensions.dx10.frag.out @@ -2422,64 +2422,64 @@ using depth_any Name 540 "@entryPointOutput.Color" Name 544 "@entryPointOutput.Depth" Name 549 "g_sSamp" - Decorate 17(g_tTex1df4) DescriptorSet 0 Decorate 17(g_tTex1df4) Binding 0 - Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 17(g_tTex1df4) DescriptorSet 0 Decorate 35(g_tTex1di4) Binding 1 - Decorate 48(g_tTex1du4) DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 Decorate 48(g_tTex1du4) Binding 2 - Decorate 63(g_tTex1df4a) DescriptorSet 0 + Decorate 48(g_tTex1du4) DescriptorSet 0 Decorate 63(g_tTex1df4a) Binding 12 - Decorate 85(g_tTex1di4a) DescriptorSet 0 + Decorate 63(g_tTex1df4a) DescriptorSet 0 Decorate 85(g_tTex1di4a) Binding 13 - Decorate 104(g_tTex1du4a) DescriptorSet 0 + Decorate 85(g_tTex1di4a) DescriptorSet 0 Decorate 104(g_tTex1du4a) Binding 14 - Decorate 123(g_tTex2df4) DescriptorSet 0 + Decorate 104(g_tTex1du4a) DescriptorSet 0 Decorate 123(g_tTex2df4) Binding 3 - Decorate 143(g_tTex2di4) DescriptorSet 0 + Decorate 123(g_tTex2df4) DescriptorSet 0 Decorate 143(g_tTex2di4) Binding 4 - Decorate 162(g_tTex2du4) DescriptorSet 0 + Decorate 143(g_tTex2di4) DescriptorSet 0 Decorate 162(g_tTex2du4) Binding 5 - Decorate 183(g_tTex2df4a) DescriptorSet 0 + Decorate 162(g_tTex2du4) DescriptorSet 0 Decorate 183(g_tTex2df4a) Binding 15 - Decorate 207(g_tTex2di4a) DescriptorSet 0 + Decorate 183(g_tTex2df4a) DescriptorSet 0 Decorate 207(g_tTex2di4a) Binding 16 - Decorate 230(g_tTex2du4a) DescriptorSet 0 + Decorate 207(g_tTex2di4a) DescriptorSet 0 Decorate 230(g_tTex2du4a) Binding 17 - Decorate 253(g_tTex3df4) DescriptorSet 0 + Decorate 230(g_tTex2du4a) DescriptorSet 0 Decorate 253(g_tTex3df4) Binding 6 - Decorate 277(g_tTex3di4) DescriptorSet 0 + Decorate 253(g_tTex3df4) DescriptorSet 0 Decorate 277(g_tTex3di4) Binding 7 - Decorate 300(g_tTex3du4) DescriptorSet 0 + Decorate 277(g_tTex3di4) DescriptorSet 0 Decorate 300(g_tTex3du4) Binding 8 - Decorate 323(g_tTexcdf4) DescriptorSet 0 + Decorate 300(g_tTex3du4) DescriptorSet 0 Decorate 323(g_tTexcdf4) Binding 9 - Decorate 342(g_tTexcdi4) DescriptorSet 0 + Decorate 323(g_tTexcdf4) DescriptorSet 0 Decorate 342(g_tTexcdi4) Binding 10 - Decorate 361(g_tTexcdu4) DescriptorSet 0 + Decorate 342(g_tTexcdi4) DescriptorSet 0 Decorate 361(g_tTexcdu4) Binding 11 - Decorate 380(g_tTexcdf4a) DescriptorSet 0 + Decorate 361(g_tTexcdu4) DescriptorSet 0 Decorate 380(g_tTexcdf4a) Binding 18 - Decorate 403(g_tTexcdi4a) DescriptorSet 0 + Decorate 380(g_tTexcdf4a) DescriptorSet 0 Decorate 403(g_tTexcdi4a) Binding 19 - Decorate 426(g_tTexcdu4a) DescriptorSet 0 + Decorate 403(g_tTexcdi4a) DescriptorSet 0 Decorate 426(g_tTexcdu4a) Binding 20 - Decorate 449(g_tTex2dmsf4) DescriptorSet 0 + Decorate 426(g_tTexcdu4a) DescriptorSet 0 Decorate 449(g_tTex2dmsf4) Binding 21 - Decorate 462(g_tTex2dmsi4) DescriptorSet 0 + Decorate 449(g_tTex2dmsf4) DescriptorSet 0 Decorate 462(g_tTex2dmsi4) Binding 22 - Decorate 474(g_tTex2dmsu4) DescriptorSet 0 + Decorate 462(g_tTex2dmsi4) DescriptorSet 0 Decorate 474(g_tTex2dmsu4) Binding 23 - Decorate 486(g_tTex2dmsf4a) DescriptorSet 0 + Decorate 474(g_tTex2dmsu4) DescriptorSet 0 Decorate 486(g_tTex2dmsf4a) Binding 24 - Decorate 500(g_tTex2dmsi4a) DescriptorSet 0 + Decorate 486(g_tTex2dmsf4a) DescriptorSet 0 Decorate 500(g_tTex2dmsi4a) Binding 25 - Decorate 514(g_tTex2dmsu4a) DescriptorSet 0 + Decorate 500(g_tTex2dmsi4a) DescriptorSet 0 Decorate 514(g_tTex2dmsu4a) Binding 26 + Decorate 514(g_tTex2dmsu4a) DescriptorSet 0 Decorate 540(@entryPointOutput.Color) Location 0 Decorate 544(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 549(g_sSamp) DescriptorSet 0 Decorate 549(g_sSamp) Binding 0 + Decorate 549(g_sSamp) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.getdimensions.dx10.vert.out b/Test/baseResults/hlsl.getdimensions.dx10.vert.out index a7d27a86..925dd7e3 100644 --- a/Test/baseResults/hlsl.getdimensions.dx10.vert.out +++ b/Test/baseResults/hlsl.getdimensions.dx10.vert.out @@ -138,11 +138,11 @@ Shader version: 500 Name 33 "vsout" Name 42 "@entryPointOutput.Pos" Name 47 "g_sSamp" - Decorate 17(g_tTex1df4) DescriptorSet 0 Decorate 17(g_tTex1df4) Binding 0 + Decorate 17(g_tTex1df4) DescriptorSet 0 Decorate 42(@entryPointOutput.Pos) BuiltIn Position - Decorate 47(g_sSamp) DescriptorSet 0 Decorate 47(g_sSamp) Binding 0 + Decorate 47(g_sSamp) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out index 7af13b23..01e99844 100644 --- a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out +++ b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out @@ -791,46 +791,47 @@ using depth_any MemberName 229($Global) 6 "o3" MemberName 229($Global) 7 "o4" Name 231 "" - Decorate 17(g_tTex1df4) DescriptorSet 0 Decorate 17(g_tTex1df4) Binding 0 - Decorate 26(g_tTex1di4) DescriptorSet 0 + Decorate 17(g_tTex1df4) DescriptorSet 0 Decorate 26(g_tTex1di4) Binding 1 - Decorate 33(g_tTex1du4) DescriptorSet 0 + Decorate 26(g_tTex1di4) DescriptorSet 0 Decorate 33(g_tTex1du4) Binding 2 - Decorate 40(g_tBuffF) DescriptorSet 0 + Decorate 33(g_tTex1du4) DescriptorSet 0 Decorate 40(g_tBuffF) Binding 15 - Decorate 47(g_tBuffI) DescriptorSet 0 + Decorate 40(g_tBuffF) DescriptorSet 0 Decorate 47(g_tBuffI) Binding 16 - Decorate 54(g_tBuffU) DescriptorSet 0 + Decorate 47(g_tBuffI) DescriptorSet 0 Decorate 54(g_tBuffU) Binding 17 - Decorate 63(g_tTex1df4a) DescriptorSet 0 + Decorate 54(g_tBuffU) DescriptorSet 0 Decorate 63(g_tTex1df4a) Binding 9 - Decorate 76(g_tTex1di4a) DescriptorSet 0 + Decorate 63(g_tTex1df4a) DescriptorSet 0 Decorate 76(g_tTex1di4a) Binding 10 - Decorate 86(g_tTex1du4a) DescriptorSet 0 + Decorate 76(g_tTex1di4a) DescriptorSet 0 Decorate 86(g_tTex1du4a) Binding 11 - Decorate 96(g_tTex2df4) DescriptorSet 0 + Decorate 86(g_tTex1du4a) DescriptorSet 0 Decorate 96(g_tTex2df4) Binding 3 - Decorate 107(g_tTex2di4) DescriptorSet 0 + Decorate 96(g_tTex2df4) DescriptorSet 0 Decorate 107(g_tTex2di4) Binding 4 - Decorate 117(g_tTex2du4) DescriptorSet 0 + Decorate 107(g_tTex2di4) DescriptorSet 0 Decorate 117(g_tTex2du4) Binding 5 - Decorate 129(g_tTex2df4a) DescriptorSet 0 + Decorate 117(g_tTex2du4) DescriptorSet 0 Decorate 129(g_tTex2df4a) Binding 12 - Decorate 142(g_tTex2di4a) DescriptorSet 0 + Decorate 129(g_tTex2df4a) DescriptorSet 0 Decorate 142(g_tTex2di4a) Binding 13 - Decorate 154(g_tTex2du4a) DescriptorSet 0 + Decorate 142(g_tTex2di4a) DescriptorSet 0 Decorate 154(g_tTex2du4a) Binding 14 - Decorate 166(g_tTex3df4) DescriptorSet 0 + Decorate 154(g_tTex2du4a) DescriptorSet 0 Decorate 166(g_tTex3df4) Binding 6 - Decorate 179(g_tTex3di4) DescriptorSet 0 + Decorate 166(g_tTex3df4) DescriptorSet 0 Decorate 179(g_tTex3di4) Binding 7 - Decorate 191(g_tTex3du4) DescriptorSet 0 + Decorate 179(g_tTex3di4) DescriptorSet 0 Decorate 191(g_tTex3du4) Binding 8 + Decorate 191(g_tTex3du4) DescriptorSet 0 Decorate 216(@entryPointOutput.Color) Location 0 Decorate 220(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 225(g_sSamp) DescriptorSet 0 Decorate 225(g_sSamp) Binding 0 + Decorate 225(g_sSamp) DescriptorSet 0 + Decorate 229($Global) Block MemberDecorate 229($Global) 0 Offset 0 MemberDecorate 229($Global) 1 Offset 8 MemberDecorate 229($Global) 2 Offset 16 @@ -839,9 +840,8 @@ using depth_any MemberDecorate 229($Global) 5 Offset 56 MemberDecorate 229($Global) 6 Offset 64 MemberDecorate 229($Global) 7 Offset 80 - Decorate 229($Global) Block - Decorate 231 DescriptorSet 0 Decorate 231 Binding 0 + Decorate 231 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out index f08a91cd..c2b97094 100644 --- a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out +++ b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out @@ -619,16 +619,16 @@ using depth_any Name 188 "@entryPointOutput.Color" Name 192 "@entryPointOutput.Depth" Name 197 "g_sSamp" - Decorate 23(g_tTex2dmsf4) DescriptorSet 0 Decorate 23(g_tTex2dmsf4) Binding 1 - Decorate 131(g_tTex2dmsf4a) DescriptorSet 0 + Decorate 23(g_tTex2dmsf4) DescriptorSet 0 Decorate 131(g_tTex2dmsf4a) Binding 2 + Decorate 131(g_tTex2dmsf4a) DescriptorSet 0 Decorate 181(sample) Flat Decorate 181(sample) Location 0 Decorate 188(@entryPointOutput.Color) Location 0 Decorate 192(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 197(g_sSamp) DescriptorSet 0 Decorate 197(g_sSamp) Binding 0 + Decorate 197(g_sSamp) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.global-const-init.frag.out b/Test/baseResults/hlsl.global-const-init.frag.out index 0510b3e8..4b9d98e7 100644 --- a/Test/baseResults/hlsl.global-const-init.frag.out +++ b/Test/baseResults/hlsl.global-const-init.frag.out @@ -119,10 +119,10 @@ gl_FragCoord origin is upper left Name 15 "" Name 26 "a1" Name 41 "@entryPointOutput" - MemberDecorate 13(CB) 0 Offset 0 Decorate 13(CB) Block - Decorate 15 DescriptorSet 0 + MemberDecorate 13(CB) 0 Offset 0 Decorate 15 Binding 0 + Decorate 15 DescriptorSet 0 Decorate 41(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.groupid.comp.out b/Test/baseResults/hlsl.groupid.comp.out index 39c5fede..ba1eb136 100644 --- a/Test/baseResults/hlsl.groupid.comp.out +++ b/Test/baseResults/hlsl.groupid.comp.out @@ -99,8 +99,8 @@ local_size = (8, 8, 1) Name 26 "vGroupId" Name 29 "vGroupId" Name 34 "param" - Decorate 22(OutputTexture) DescriptorSet 0 Decorate 22(OutputTexture) Binding 0 + Decorate 22(OutputTexture) DescriptorSet 0 Decorate 29(vGroupId) BuiltIn WorkgroupId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.gs-hs-mix.tesc.out b/Test/baseResults/hlsl.gs-hs-mix.tesc.out index 5071a474..8dcbe4db 100644 --- a/Test/baseResults/hlsl.gs-hs-mix.tesc.out +++ b/Test/baseResults/hlsl.gs-hs-mix.tesc.out @@ -1057,32 +1057,32 @@ triangle order = ccw Name 204 "Q1" Name 213 "Q2" Name 222 "vertex" + Decorate 42(UniformBlock0) Block MemberDecorate 42(UniformBlock0) 0 RowMajor - MemberDecorate 42(UniformBlock0) 0 Offset 0 MemberDecorate 42(UniformBlock0) 0 MatrixStride 16 + MemberDecorate 42(UniformBlock0) 0 Offset 0 MemberDecorate 42(UniformBlock0) 1 RowMajor - MemberDecorate 42(UniformBlock0) 1 Offset 64 MemberDecorate 42(UniformBlock0) 1 MatrixStride 16 + MemberDecorate 42(UniformBlock0) 1 Offset 64 MemberDecorate 42(UniformBlock0) 2 RowMajor - MemberDecorate 42(UniformBlock0) 2 Offset 128 MemberDecorate 42(UniformBlock0) 2 MatrixStride 16 + MemberDecorate 42(UniformBlock0) 2 Offset 128 MemberDecorate 42(UniformBlock0) 3 RowMajor - MemberDecorate 42(UniformBlock0) 3 Offset 192 MemberDecorate 42(UniformBlock0) 3 MatrixStride 16 + MemberDecorate 42(UniformBlock0) 3 Offset 192 MemberDecorate 42(UniformBlock0) 4 Offset 240 MemberDecorate 42(UniformBlock0) 5 Offset 256 MemberDecorate 42(UniformBlock0) 6 Offset 272 - Decorate 42(UniformBlock0) Block - Decorate 44 DescriptorSet 0 Decorate 44 Binding 0 + Decorate 44 DescriptorSet 0 Decorate 97(patch.PositionWS) Location 0 Decorate 102(patch.NormalWS) Location 1 Decorate 120(id) BuiltIn InvocationId Decorate 123(@entryPointOutput.PositionWS) Location 0 - Decorate 145(@patchConstantOutput.EdgeTessFactor) Patch Decorate 145(@patchConstantOutput.EdgeTessFactor) BuiltIn TessLevelOuter - Decorate 158(@patchConstantOutput.InsideTessFactor) Patch + Decorate 145(@patchConstantOutput.EdgeTessFactor) Patch Decorate 158(@patchConstantOutput.InsideTessFactor) BuiltIn TessLevelInner + Decorate 158(@patchConstantOutput.InsideTessFactor) Patch Decorate 162(@patchConstantOutput.NormalWS[0]) Patch Decorate 162(@patchConstantOutput.NormalWS[0]) Location 1 Decorate 165(@patchConstantOutput.NormalWS[1]) Patch diff --git a/Test/baseResults/hlsl.hlslOffset.vert.out b/Test/baseResults/hlsl.hlslOffset.vert.out index 0f7b09bf..d4b90dbf 100644 --- a/Test/baseResults/hlsl.hlslOffset.vert.out +++ b/Test/baseResults/hlsl.hlslOffset.vert.out @@ -50,6 +50,7 @@ Shader version: 500 MemberName 15(b) 10 "m96" Name 17 "" Decorate 14 ArrayStride 16 + Decorate 15(b) Block MemberDecorate 15(b) 0 Offset 0 MemberDecorate 15(b) 1 Offset 4 MemberDecorate 15(b) 2 Offset 16 @@ -61,9 +62,8 @@ Shader version: 500 MemberDecorate 15(b) 8 Offset 76 MemberDecorate 15(b) 9 Offset 80 MemberDecorate 15(b) 10 Offset 96 - Decorate 15(b) Block - Decorate 17 DescriptorSet 0 Decorate 17 Binding 0 + Decorate 17 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 9: TypeFloat 32 diff --git a/Test/baseResults/hlsl.hull.1.tesc.out b/Test/baseResults/hlsl.hull.1.tesc.out index 41889420..6914456d 100644 --- a/Test/baseResults/hlsl.hull.1.tesc.out +++ b/Test/baseResults/hlsl.hull.1.tesc.out @@ -364,8 +364,8 @@ vertex spacing = equal_spacing Decorate 60(m_cpid) BuiltIn InvocationId Decorate 63(@entryPointOutput.cpoint) Location 0 Decorate 81(pid) BuiltIn PrimitiveId - Decorate 87(@patchConstantOutput.edges) Patch Decorate 87(@patchConstantOutput.edges) BuiltIn TessLevelOuter + Decorate 87(@patchConstantOutput.edges) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.hull.2.tesc.out b/Test/baseResults/hlsl.hull.2.tesc.out index 0d08b681..1a117359 100644 --- a/Test/baseResults/hlsl.hull.2.tesc.out +++ b/Test/baseResults/hlsl.hull.2.tesc.out @@ -361,8 +361,8 @@ vertex spacing = equal_spacing Decorate 63(InvocationId) BuiltIn InvocationId Decorate 79(pid) BuiltIn PrimitiveId Decorate 81(pos) BuiltIn Position - Decorate 89(@patchConstantOutput.edges) Patch Decorate 89(@patchConstantOutput.edges) BuiltIn TessLevelOuter + Decorate 89(@patchConstantOutput.edges) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.hull.3.tesc.out b/Test/baseResults/hlsl.hull.3.tesc.out index 808edd3a..4e0bf678 100644 --- a/Test/baseResults/hlsl.hull.3.tesc.out +++ b/Test/baseResults/hlsl.hull.3.tesc.out @@ -362,8 +362,8 @@ vertex spacing = equal_spacing Decorate 63(InvocationId) BuiltIn InvocationId Decorate 79(pid) BuiltIn PrimitiveId Decorate 81(pos) BuiltIn Position - Decorate 89(@patchConstantOutput.edges) Patch Decorate 89(@patchConstantOutput.edges) BuiltIn TessLevelOuter + Decorate 89(@patchConstantOutput.edges) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.hull.4.tesc.out b/Test/baseResults/hlsl.hull.4.tesc.out index bffc4646..343844b9 100644 --- a/Test/baseResults/hlsl.hull.4.tesc.out +++ b/Test/baseResults/hlsl.hull.4.tesc.out @@ -502,10 +502,10 @@ triangle order = cw Decorate 61(I.m_Normal) Location 0 Decorate 80(cpid) BuiltIn InvocationId Decorate 83(@entryPointOutput.m_Position) BuiltIn Position - Decorate 107(@patchConstantOutput.fTessFactor) Patch Decorate 107(@patchConstantOutput.fTessFactor) BuiltIn TessLevelOuter - Decorate 120(@patchConstantOutput.fInsideTessFactor) Patch + Decorate 107(@patchConstantOutput.fTessFactor) Patch Decorate 120(@patchConstantOutput.fInsideTessFactor) BuiltIn TessLevelInner + Decorate 120(@patchConstantOutput.fInsideTessFactor) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.hull.6.tesc.out b/Test/baseResults/hlsl.hull.6.tesc.out index b673a8c5..8522e94b 100644 --- a/Test/baseResults/hlsl.hull.6.tesc.out +++ b/Test/baseResults/hlsl.hull.6.tesc.out @@ -503,10 +503,10 @@ triangle order = ccw Decorate 97(@entryPointOutput.Position) Location 0 Decorate 104(@entryPointOutput.Color) Location 1 Decorate 117(BlockID) BuiltIn PrimitiveId - Decorate 119(Inside) Patch Decorate 119(Inside) BuiltIn TessLevelInner - Decorate 128(@patchConstantOutput.Edges) Patch + Decorate 119(Inside) Patch Decorate 128(@patchConstantOutput.Edges) BuiltIn TessLevelOuter + Decorate 128(@patchConstantOutput.Edges) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out b/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out index 4e706c0f..38927652 100644 --- a/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out +++ b/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out @@ -522,10 +522,10 @@ triangle order = cw Decorate 42(i.val) Location 0 Decorate 57(cpid) BuiltIn InvocationId Decorate 60(@entryPointOutput.val) Location 0 - Decorate 105(@patchConstantOutput.tfactor) Patch Decorate 105(@patchConstantOutput.tfactor) BuiltIn TessLevelOuter - Decorate 119(@patchConstantOutput.flInFactor) Patch + Decorate 105(@patchConstantOutput.tfactor) Patch Decorate 119(@patchConstantOutput.flInFactor) BuiltIn TessLevelInner + Decorate 119(@patchConstantOutput.flInFactor) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out b/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out index fd7cf0b6..a1894468 100644 --- a/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out +++ b/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out @@ -541,10 +541,10 @@ triangle order = cw Decorate 43(i.val) Location 0 Decorate 58(cpid) BuiltIn InvocationId Decorate 61(@entryPointOutput.val) Location 0 - Decorate 107(@patchConstantOutput.tfactor) Patch Decorate 107(@patchConstantOutput.tfactor) BuiltIn TessLevelOuter - Decorate 121(@patchConstantOutput.flInFactor) Patch + Decorate 107(@patchConstantOutput.tfactor) Patch Decorate 121(@patchConstantOutput.flInFactor) BuiltIn TessLevelInner + Decorate 121(@patchConstantOutput.flInFactor) Patch 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.imagefetch-subvec4.comp.out b/Test/baseResults/hlsl.imagefetch-subvec4.comp.out index 6573820d..83f04cfc 100644 --- a/Test/baseResults/hlsl.imagefetch-subvec4.comp.out +++ b/Test/baseResults/hlsl.imagefetch-subvec4.comp.out @@ -444,36 +444,36 @@ local_size = (8, 8, 8) 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 19(i1D) DescriptorSet 0 Decorate 34(i2D) Binding 1 - Decorate 45(i3D) DescriptorSet 0 + Decorate 34(i2D) DescriptorSet 0 Decorate 45(i3D) Binding 2 - Decorate 54(i1DArray) DescriptorSet 0 + Decorate 45(i3D) DescriptorSet 0 Decorate 54(i1DArray) Binding 3 - Decorate 64(i2DArray) DescriptorSet 0 + Decorate 54(i1DArray) DescriptorSet 0 Decorate 64(i2DArray) Binding 4 - Decorate 73(i2DMS) DescriptorSet 0 + Decorate 64(i2DArray) DescriptorSet 0 Decorate 73(i2DMS) Binding 5 - Decorate 86(i2DMSArray) DescriptorSet 0 + Decorate 73(i2DMS) DescriptorSet 0 Decorate 86(i2DMSArray) Binding 6 - Decorate 100(ii1D) DescriptorSet 0 + Decorate 86(i2DMSArray) DescriptorSet 0 Decorate 100(ii1D) Binding 7 - Decorate 111(ii2D) DescriptorSet 0 + Decorate 100(ii1D) DescriptorSet 0 Decorate 111(ii2D) Binding 8 - Decorate 121(ii3D) DescriptorSet 0 + Decorate 111(ii2D) DescriptorSet 0 Decorate 121(ii3D) Binding 9 - Decorate 130(ii1DArray) DescriptorSet 0 + Decorate 121(ii3D) DescriptorSet 0 Decorate 130(ii1DArray) Binding 10 - Decorate 140(ii2DArray) DescriptorSet 0 + Decorate 130(ii1DArray) DescriptorSet 0 Decorate 140(ii2DArray) Binding 11 - Decorate 149(ii2DMS) DescriptorSet 0 + Decorate 140(ii2DArray) DescriptorSet 0 Decorate 149(ii2DMS) Binding 12 - Decorate 160(ii2DMSArray) DescriptorSet 0 + Decorate 149(ii2DMS) DescriptorSet 0 Decorate 160(ii2DMSArray) Binding 13 - Decorate 175(OUT) DescriptorSet 0 + Decorate 160(ii2DMSArray) DescriptorSet 0 Decorate 175(OUT) Binding 0 + Decorate 175(OUT) DescriptorSet 0 Decorate 181(tid) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.imageload-subvec4.comp.out b/Test/baseResults/hlsl.imageload-subvec4.comp.out index d54075f1..e1714172 100644 --- a/Test/baseResults/hlsl.imageload-subvec4.comp.out +++ b/Test/baseResults/hlsl.imageload-subvec4.comp.out @@ -296,28 +296,28 @@ local_size = (8, 8, 8) 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 19(i1D) DescriptorSet 0 Decorate 32(i2D) Binding 1 - Decorate 43(i3D) DescriptorSet 0 + Decorate 32(i2D) DescriptorSet 0 Decorate 43(i3D) Binding 2 - Decorate 52(i1DArray) DescriptorSet 0 + Decorate 43(i3D) DescriptorSet 0 Decorate 52(i1DArray) Binding 3 - Decorate 62(i2DArray) DescriptorSet 0 + Decorate 52(i1DArray) DescriptorSet 0 Decorate 62(i2DArray) Binding 4 - Decorate 75(ii1D) DescriptorSet 0 + Decorate 62(i2DArray) DescriptorSet 0 Decorate 75(ii1D) Binding 5 - Decorate 86(ii2D) DescriptorSet 0 + Decorate 75(ii1D) DescriptorSet 0 Decorate 86(ii2D) Binding 6 - Decorate 96(ii3D) DescriptorSet 0 + Decorate 86(ii2D) DescriptorSet 0 Decorate 96(ii3D) Binding 7 - Decorate 105(ii1DArray) DescriptorSet 0 + Decorate 96(ii3D) DescriptorSet 0 Decorate 105(ii1DArray) Binding 8 - Decorate 115(ii2DArray) DescriptorSet 0 + Decorate 105(ii1DArray) DescriptorSet 0 Decorate 115(ii2DArray) Binding 9 - Decorate 127(OUT) DescriptorSet 0 + Decorate 115(ii2DArray) DescriptorSet 0 Decorate 127(OUT) Binding 10 + Decorate 127(OUT) DescriptorSet 0 Decorate 133(tid) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.implicitBool.frag.out b/Test/baseResults/hlsl.implicitBool.frag.out index 381e835c..03d04876 100644 --- a/Test/baseResults/hlsl.implicitBool.frag.out +++ b/Test/baseResults/hlsl.implicitBool.frag.out @@ -354,13 +354,13 @@ gl_FragCoord origin is upper left Name 100 "i" Name 120 "g" Name 137 "@entryPointOutput" + Decorate 16($Global) Block MemberDecorate 16($Global) 0 Offset 0 MemberDecorate 16($Global) 1 Offset 4 MemberDecorate 16($Global) 2 Offset 8 MemberDecorate 16($Global) 3 Offset 12 - Decorate 16($Global) Block - Decorate 18 DescriptorSet 0 Decorate 18 Binding 0 + Decorate 18 DescriptorSet 0 Decorate 137(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.include.vert.out b/Test/baseResults/hlsl.include.vert.out index 95a5b906..d2e147bd 100644 --- a/Test/baseResults/hlsl.include.vert.out +++ b/Test/baseResults/hlsl.include.vert.out @@ -19,15 +19,15 @@ MemberName 11($Global) 5 "i5" Name 13 "" Name 42 "@entryPointOutput" + Decorate 11($Global) Block MemberDecorate 11($Global) 0 Offset 0 MemberDecorate 11($Global) 1 Offset 16 MemberDecorate 11($Global) 2 Offset 32 MemberDecorate 11($Global) 3 Offset 48 MemberDecorate 11($Global) 4 Offset 64 MemberDecorate 11($Global) 5 Offset 80 - Decorate 11($Global) Block - Decorate 13 DescriptorSet 0 Decorate 13 Binding 0 + Decorate 13 DescriptorSet 0 Decorate 42(@entryPointOutput) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.init.frag.out b/Test/baseResults/hlsl.init.frag.out index 35a89f04..89b1a74f 100644 --- a/Test/baseResults/hlsl.init.frag.out +++ b/Test/baseResults/hlsl.init.frag.out @@ -392,12 +392,12 @@ gl_FragCoord origin is upper left Name 109 "" Decorate 98(input) Location 0 Decorate 101(@entryPointOutput) Location 0 + Decorate 107(Constants) Block MemberDecorate 107(Constants) 0 Offset 0 MemberDecorate 107(Constants) 1 Offset 4 MemberDecorate 107(Constants) 2 Offset 8 - Decorate 107(Constants) Block - Decorate 109 DescriptorSet 0 Decorate 109 Binding 0 + Decorate 109 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.inoutquals.frag.out b/Test/baseResults/hlsl.inoutquals.frag.out index 931208b9..acea80bf 100644 --- a/Test/baseResults/hlsl.inoutquals.frag.out +++ b/Test/baseResults/hlsl.inoutquals.frag.out @@ -253,8 +253,8 @@ using depth_any Name 78 "@entryPointOutput.Color" Name 82 "@entryPointOutput.Depth" Name 88 "sampleMask" - Decorate 68(inpos) NoPerspective Decorate 68(inpos) BuiltIn FragCoord + Decorate 68(inpos) NoPerspective Decorate 78(@entryPointOutput.Color) Location 0 Decorate 82(@entryPointOutput.Depth) BuiltIn FragDepth Decorate 88(sampleMask) BuiltIn SampleMask diff --git a/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out b/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out index 75a66d6f..69416c37 100644 --- a/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out +++ b/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out @@ -89,10 +89,10 @@ gl_FragCoord origin is upper left MemberName 14($Global) 0 "col4" Name 16 "" Name 27 "@entryPointOutput" - MemberDecorate 14($Global) 0 Offset 0 Decorate 14($Global) Block - Decorate 16 DescriptorSet 0 + MemberDecorate 14($Global) 0 Offset 0 Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 Decorate 27(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.intrinsics.promote.down.frag.out b/Test/baseResults/hlsl.intrinsics.promote.down.frag.out index c68fc960..592bb887 100644 --- a/Test/baseResults/hlsl.intrinsics.promote.down.frag.out +++ b/Test/baseResults/hlsl.intrinsics.promote.down.frag.out @@ -131,6 +131,7 @@ gl_FragCoord origin is upper left Name 29 "r01" Name 37 "ps_output" Name 47 "@entryPointOutput.color" + Decorate 19($Global) Block MemberDecorate 19($Global) 0 Offset 0 MemberDecorate 19($Global) 1 Offset 4 MemberDecorate 19($Global) 2 Offset 8 @@ -139,9 +140,8 @@ gl_FragCoord origin is upper left MemberDecorate 19($Global) 5 Offset 24 MemberDecorate 19($Global) 6 Offset 32 MemberDecorate 19($Global) 7 Offset 40 - Decorate 19($Global) Block - Decorate 21 DescriptorSet 0 Decorate 21 Binding 0 + Decorate 21 DescriptorSet 0 Decorate 47(@entryPointOutput.color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.intrinsics.promote.frag.out b/Test/baseResults/hlsl.intrinsics.promote.frag.out index 99176f1a..e0a1c7d9 100644 --- a/Test/baseResults/hlsl.intrinsics.promote.frag.out +++ b/Test/baseResults/hlsl.intrinsics.promote.frag.out @@ -952,6 +952,7 @@ gl_FragCoord origin is upper left Name 301 "sizeQueryTemp" Name 310 "ps_output" Name 319 "@entryPointOutput.color" + Decorate 19($Global) Block MemberDecorate 19($Global) 0 Offset 0 MemberDecorate 19($Global) 1 Offset 4 MemberDecorate 19($Global) 2 Offset 8 @@ -962,13 +963,12 @@ gl_FragCoord origin is upper left MemberDecorate 19($Global) 7 Offset 40 MemberDecorate 19($Global) 8 Offset 48 MemberDecorate 19($Global) 9 Offset 52 - Decorate 19($Global) Block - Decorate 21 DescriptorSet 0 Decorate 21 Binding 0 - Decorate 258(g_tTexbfs) DescriptorSet 0 + Decorate 21 DescriptorSet 0 Decorate 258(g_tTexbfs) Binding 1 - Decorate 277(g_tTex1df4) DescriptorSet 0 + Decorate 258(g_tTexbfs) DescriptorSet 0 Decorate 277(g_tTex1df4) Binding 2 + Decorate 277(g_tTex1df4) DescriptorSet 0 Decorate 319(@entryPointOutput.color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out b/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out index e0fbfe6d..48d4cc8b 100644 --- a/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out +++ b/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out @@ -244,6 +244,7 @@ gl_FragCoord origin is upper left Name 66 "ps_output" Name 74 "@entryPointOutput.color" Name 79 "g_tTexbfs" + Decorate 17($Global) Block MemberDecorate 17($Global) 0 Offset 0 MemberDecorate 17($Global) 1 Offset 4 MemberDecorate 17($Global) 2 Offset 8 @@ -254,14 +255,13 @@ gl_FragCoord origin is upper left MemberDecorate 17($Global) 7 Offset 40 MemberDecorate 17($Global) 8 Offset 48 MemberDecorate 17($Global) 9 Offset 52 - Decorate 17($Global) Block - Decorate 19 DescriptorSet 0 Decorate 19 Binding 0 - Decorate 31(g_tTex1df4) DescriptorSet 0 + Decorate 19 DescriptorSet 0 Decorate 31(g_tTex1df4) Binding 1 + Decorate 31(g_tTex1df4) DescriptorSet 0 Decorate 74(@entryPointOutput.color) Location 0 - Decorate 79(g_tTexbfs) DescriptorSet 0 Decorate 79(g_tTexbfs) Binding 0 + Decorate 79(g_tTexbfs) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.isfinite.frag.out b/Test/baseResults/hlsl.isfinite.frag.out index e46e7718..9f562e3b 100644 --- a/Test/baseResults/hlsl.isfinite.frag.out +++ b/Test/baseResults/hlsl.isfinite.frag.out @@ -195,12 +195,12 @@ gl_FragCoord origin is upper left Name 51 "@finitetmp" Name 65 "@finitetmp" Name 83 "@entryPointOutput" + Decorate 35($Global) Block MemberDecorate 35($Global) 0 Offset 0 MemberDecorate 35($Global) 1 Offset 8 MemberDecorate 35($Global) 2 Offset 16 - Decorate 35($Global) Block - Decorate 37 DescriptorSet 0 Decorate 37 Binding 0 + Decorate 37 DescriptorSet 0 Decorate 83(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.layout.frag.out b/Test/baseResults/hlsl.layout.frag.out index b2306d07..7979015a 100644 --- a/Test/baseResults/hlsl.layout.frag.out +++ b/Test/baseResults/hlsl.layout.frag.out @@ -111,19 +111,22 @@ Validation failed MemberName 33(tbufName2) 0 "v1PostLayout" Name 35 "" Name 43 "specConst" + Decorate 17(tbufName) BufferBlock MemberDecorate 17(tbufName) 0 NonWritable MemberDecorate 17(tbufName) 0 Offset 16 - Decorate 17(tbufName) BufferBlock - Decorate 19 DescriptorSet 3 + Decorate 19 NonWritable Decorate 19 Binding 5 + Decorate 19 DescriptorSet 3 + Decorate 26(tbufName2) BufferBlock MemberDecorate 26(tbufName2) 0 NonWritable MemberDecorate 26(tbufName2) 0 Offset 0 - Decorate 26(tbufName2) BufferBlock + Decorate 28 NonWritable + Decorate 33(tbufName2) BufferBlock MemberDecorate 33(tbufName2) 0 NonWritable MemberDecorate 33(tbufName2) 0 Offset 16 - Decorate 33(tbufName2) BufferBlock - Decorate 35 DescriptorSet 4 + Decorate 35 NonWritable Decorate 35 Binding 7 + Decorate 35 DescriptorSet 4 Decorate 43(specConst) SpecId 17 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.layoutOverride.vert.out b/Test/baseResults/hlsl.layoutOverride.vert.out index 80c3e456..a0d8ad84 100644 --- a/Test/baseResults/hlsl.layoutOverride.vert.out +++ b/Test/baseResults/hlsl.layoutOverride.vert.out @@ -65,10 +65,10 @@ Shader version: 500 Name 13 "tex" Name 17 "samp" Name 30 "@entryPointOutput" - Decorate 13(tex) DescriptorSet 2 Decorate 13(tex) Binding 0 - Decorate 17(samp) DescriptorSet 0 + Decorate 13(tex) DescriptorSet 2 Decorate 17(samp) Binding 0 + Decorate 17(samp) DescriptorSet 0 Decorate 30(@entryPointOutput) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.load.2dms.dx10.frag.out b/Test/baseResults/hlsl.load.2dms.dx10.frag.out index 09086cbc..f8ede047 100644 --- a/Test/baseResults/hlsl.load.2dms.dx10.frag.out +++ b/Test/baseResults/hlsl.load.2dms.dx10.frag.out @@ -370,29 +370,29 @@ using depth_any Name 119 "@entryPointOutput.Color" Name 123 "@entryPointOutput.Depth" Name 128 "g_sSamp" - Decorate 23(g_tTex2dmsf4) DescriptorSet 0 Decorate 23(g_tTex2dmsf4) Binding 1 + Decorate 23(g_tTex2dmsf4) DescriptorSet 0 + Decorate 27($Global) Block MemberDecorate 27($Global) 0 Offset 0 MemberDecorate 27($Global) 1 Offset 8 MemberDecorate 27($Global) 2 Offset 16 MemberDecorate 27($Global) 3 Offset 32 - Decorate 27($Global) Block - Decorate 29 DescriptorSet 0 Decorate 29 Binding 7 - Decorate 37(g_tTex2dmsi4) DescriptorSet 0 + Decorate 29 DescriptorSet 0 Decorate 37(g_tTex2dmsi4) Binding 2 - Decorate 45(g_tTex2dmsu4) DescriptorSet 0 + Decorate 37(g_tTex2dmsi4) DescriptorSet 0 Decorate 45(g_tTex2dmsu4) Binding 3 - Decorate 68(g_tTex2dmsf4a) DescriptorSet 0 + Decorate 45(g_tTex2dmsu4) DescriptorSet 0 Decorate 68(g_tTex2dmsf4a) Binding 4 - Decorate 77(g_tTex2dmsi4a) DescriptorSet 0 + Decorate 68(g_tTex2dmsf4a) DescriptorSet 0 Decorate 77(g_tTex2dmsi4a) Binding 5 - Decorate 84(g_tTex2dmsu4a) DescriptorSet 0 + Decorate 77(g_tTex2dmsi4a) DescriptorSet 0 Decorate 84(g_tTex2dmsu4a) Binding 6 + Decorate 84(g_tTex2dmsu4a) DescriptorSet 0 Decorate 119(@entryPointOutput.Color) Location 0 Decorate 123(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 128(g_sSamp) DescriptorSet 0 Decorate 128(g_sSamp) Binding 0 + Decorate 128(g_sSamp) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.load.array.dx10.frag.out b/Test/baseResults/hlsl.load.array.dx10.frag.out index 96792a95..4bc42a6b 100644 --- a/Test/baseResults/hlsl.load.array.dx10.frag.out +++ b/Test/baseResults/hlsl.load.array.dx10.frag.out @@ -441,8 +441,9 @@ using depth_any Name 152 "g_tTexcdf4a" Name 155 "g_tTexcdi4a" Name 158 "g_tTexcdu4a" - Decorate 14(g_tTex1df4a) DescriptorSet 0 Decorate 14(g_tTex1df4a) Binding 1 + Decorate 14(g_tTex1df4a) DescriptorSet 0 + Decorate 20($Global) Block MemberDecorate 20($Global) 0 Offset 0 MemberDecorate 20($Global) 1 Offset 8 MemberDecorate 20($Global) 2 Offset 16 @@ -451,53 +452,52 @@ using depth_any MemberDecorate 20($Global) 5 Offset 56 MemberDecorate 20($Global) 6 Offset 64 MemberDecorate 20($Global) 7 Offset 80 - Decorate 20($Global) Block - Decorate 22 DescriptorSet 0 Decorate 22 Binding 7 - Decorate 36(g_tTex1di4a) DescriptorSet 0 + Decorate 22 DescriptorSet 0 Decorate 36(g_tTex1di4a) Binding 2 - Decorate 46(g_tTex1du4a) DescriptorSet 0 + Decorate 36(g_tTex1di4a) DescriptorSet 0 Decorate 46(g_tTex1du4a) Binding 3 - Decorate 57(g_tTex2df4a) DescriptorSet 0 + Decorate 46(g_tTex1du4a) DescriptorSet 0 Decorate 57(g_tTex2df4a) Binding 4 - Decorate 70(g_tTex2di4a) DescriptorSet 0 + Decorate 57(g_tTex2df4a) DescriptorSet 0 Decorate 70(g_tTex2di4a) Binding 5 - Decorate 80(g_tTex2du4a) DescriptorSet 0 + Decorate 70(g_tTex2di4a) DescriptorSet 0 Decorate 80(g_tTex2du4a) Binding 6 + Decorate 80(g_tTex2du4a) DescriptorSet 0 Decorate 104(@entryPointOutput.Color) Location 0 Decorate 108(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 113(g_sSamp) DescriptorSet 0 Decorate 113(g_sSamp) Binding 0 - Decorate 116(g_tTex1df4) DescriptorSet 0 + Decorate 113(g_sSamp) DescriptorSet 0 Decorate 116(g_tTex1df4) Binding 0 - Decorate 119(g_tTex1di4) DescriptorSet 0 + Decorate 116(g_tTex1df4) DescriptorSet 0 Decorate 119(g_tTex1di4) Binding 0 - Decorate 122(g_tTex1du4) DescriptorSet 0 + Decorate 119(g_tTex1di4) DescriptorSet 0 Decorate 122(g_tTex1du4) Binding 0 - Decorate 125(g_tTex2df4) DescriptorSet 0 + Decorate 122(g_tTex1du4) DescriptorSet 0 Decorate 125(g_tTex2df4) Binding 0 - Decorate 128(g_tTex2di4) DescriptorSet 0 + Decorate 125(g_tTex2df4) DescriptorSet 0 Decorate 128(g_tTex2di4) Binding 0 - Decorate 131(g_tTex2du4) DescriptorSet 0 + Decorate 128(g_tTex2di4) DescriptorSet 0 Decorate 131(g_tTex2du4) Binding 0 - Decorate 134(g_tTex3df4) DescriptorSet 0 + Decorate 131(g_tTex2du4) DescriptorSet 0 Decorate 134(g_tTex3df4) Binding 0 - Decorate 137(g_tTex3di4) DescriptorSet 0 + Decorate 134(g_tTex3df4) DescriptorSet 0 Decorate 137(g_tTex3di4) Binding 0 - Decorate 140(g_tTex3du4) DescriptorSet 0 + Decorate 137(g_tTex3di4) DescriptorSet 0 Decorate 140(g_tTex3du4) Binding 0 - Decorate 143(g_tTexcdf4) DescriptorSet 0 + Decorate 140(g_tTex3du4) DescriptorSet 0 Decorate 143(g_tTexcdf4) Binding 0 - Decorate 146(g_tTexcdi4) DescriptorSet 0 + Decorate 143(g_tTexcdf4) DescriptorSet 0 Decorate 146(g_tTexcdi4) Binding 0 - Decorate 149(g_tTexcdu4) DescriptorSet 0 + Decorate 146(g_tTexcdi4) DescriptorSet 0 Decorate 149(g_tTexcdu4) Binding 0 - Decorate 152(g_tTexcdf4a) DescriptorSet 0 + Decorate 149(g_tTexcdu4) DescriptorSet 0 Decorate 152(g_tTexcdf4a) Binding 0 - Decorate 155(g_tTexcdi4a) DescriptorSet 0 + Decorate 152(g_tTexcdf4a) DescriptorSet 0 Decorate 155(g_tTexcdi4a) Binding 0 - Decorate 158(g_tTexcdu4a) DescriptorSet 0 + Decorate 155(g_tTexcdi4a) DescriptorSet 0 Decorate 158(g_tTexcdu4a) Binding 0 + Decorate 158(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.load.basic.dx10.frag.out b/Test/baseResults/hlsl.load.basic.dx10.frag.out index b9730f37..d1be427e 100644 --- a/Test/baseResults/hlsl.load.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.load.basic.dx10.frag.out @@ -543,8 +543,9 @@ using depth_any Name 172 "g_tTexcdf4a" Name 175 "g_tTexcdi4a" Name 178 "g_tTexcdu4a" - Decorate 14(g_tTex1df4) DescriptorSet 0 Decorate 14(g_tTex1df4) Binding 0 + Decorate 14(g_tTex1df4) DescriptorSet 0 + Decorate 20($Global) Block MemberDecorate 20($Global) 0 Offset 0 MemberDecorate 20($Global) 1 Offset 8 MemberDecorate 20($Global) 2 Offset 16 @@ -553,53 +554,52 @@ using depth_any MemberDecorate 20($Global) 5 Offset 56 MemberDecorate 20($Global) 6 Offset 64 MemberDecorate 20($Global) 7 Offset 80 - Decorate 20($Global) Block - Decorate 22 DescriptorSet 0 Decorate 22 Binding 9 - Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 22 DescriptorSet 0 Decorate 35(g_tTex1di4) Binding 1 - Decorate 44(g_tTex1du4) DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 Decorate 44(g_tTex1du4) Binding 2 - Decorate 54(g_tTex2df4) DescriptorSet 0 + Decorate 44(g_tTex1du4) DescriptorSet 0 Decorate 54(g_tTex2df4) Binding 3 - Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 54(g_tTex2df4) DescriptorSet 0 Decorate 67(g_tTex2di4) Binding 4 - Decorate 77(g_tTex2du4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 Decorate 77(g_tTex2du4) Binding 5 - Decorate 87(g_tTex3df4) DescriptorSet 0 + Decorate 77(g_tTex2du4) DescriptorSet 0 Decorate 87(g_tTex3df4) Binding 6 - Decorate 100(g_tTex3di4) DescriptorSet 0 + Decorate 87(g_tTex3df4) DescriptorSet 0 Decorate 100(g_tTex3di4) Binding 7 - Decorate 110(g_tTex3du4) DescriptorSet 0 + Decorate 100(g_tTex3di4) DescriptorSet 0 Decorate 110(g_tTex3du4) Binding 8 + Decorate 110(g_tTex3du4) DescriptorSet 0 Decorate 133(@entryPointOutput.Color) Location 0 Decorate 137(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 142(g_sSamp) DescriptorSet 0 Decorate 142(g_sSamp) Binding 0 - Decorate 145(g_tTexcdf4) DescriptorSet 0 + Decorate 142(g_sSamp) DescriptorSet 0 Decorate 145(g_tTexcdf4) Binding 0 - Decorate 148(g_tTexcdi4) DescriptorSet 0 + Decorate 145(g_tTexcdf4) DescriptorSet 0 Decorate 148(g_tTexcdi4) Binding 0 - Decorate 151(g_tTexcdu4) DescriptorSet 0 + Decorate 148(g_tTexcdi4) DescriptorSet 0 Decorate 151(g_tTexcdu4) Binding 0 - Decorate 154(g_tTex1df4a) DescriptorSet 0 + Decorate 151(g_tTexcdu4) DescriptorSet 0 Decorate 154(g_tTex1df4a) Binding 0 - Decorate 157(g_tTex1di4a) DescriptorSet 0 + Decorate 154(g_tTex1df4a) DescriptorSet 0 Decorate 157(g_tTex1di4a) Binding 0 - Decorate 160(g_tTex1du4a) DescriptorSet 0 + Decorate 157(g_tTex1di4a) DescriptorSet 0 Decorate 160(g_tTex1du4a) Binding 0 - Decorate 163(g_tTex2df4a) DescriptorSet 0 + Decorate 160(g_tTex1du4a) DescriptorSet 0 Decorate 163(g_tTex2df4a) Binding 0 - Decorate 166(g_tTex2di4a) DescriptorSet 0 + Decorate 163(g_tTex2df4a) DescriptorSet 0 Decorate 166(g_tTex2di4a) Binding 0 - Decorate 169(g_tTex2du4a) DescriptorSet 0 + Decorate 166(g_tTex2di4a) DescriptorSet 0 Decorate 169(g_tTex2du4a) Binding 0 - Decorate 172(g_tTexcdf4a) DescriptorSet 0 + Decorate 169(g_tTex2du4a) DescriptorSet 0 Decorate 172(g_tTexcdf4a) Binding 0 - Decorate 175(g_tTexcdi4a) DescriptorSet 0 + Decorate 172(g_tTexcdf4a) DescriptorSet 0 Decorate 175(g_tTexcdi4a) Binding 0 - Decorate 178(g_tTexcdu4a) DescriptorSet 0 + Decorate 175(g_tTexcdi4a) DescriptorSet 0 Decorate 178(g_tTexcdu4a) Binding 0 + Decorate 178(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.load.basic.dx10.vert.out b/Test/baseResults/hlsl.load.basic.dx10.vert.out index c387d5f9..1dc4464f 100644 --- a/Test/baseResults/hlsl.load.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.load.basic.dx10.vert.out @@ -500,8 +500,9 @@ Shader version: 500 Name 164 "g_tTexcdf4a" Name 167 "g_tTexcdi4a" Name 170 "g_tTexcdu4a" - Decorate 14(g_tTex1df4) DescriptorSet 0 Decorate 14(g_tTex1df4) Binding 0 + Decorate 14(g_tTex1df4) DescriptorSet 0 + Decorate 20($Global) Block MemberDecorate 20($Global) 0 Offset 0 MemberDecorate 20($Global) 1 Offset 8 MemberDecorate 20($Global) 2 Offset 16 @@ -510,52 +511,51 @@ Shader version: 500 MemberDecorate 20($Global) 5 Offset 56 MemberDecorate 20($Global) 6 Offset 64 MemberDecorate 20($Global) 7 Offset 80 - Decorate 20($Global) Block - Decorate 22 DescriptorSet 0 Decorate 22 Binding 9 - Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 22 DescriptorSet 0 Decorate 35(g_tTex1di4) Binding 1 - Decorate 44(g_tTex1du4) DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 Decorate 44(g_tTex1du4) Binding 2 - Decorate 54(g_tTex2df4) DescriptorSet 0 + Decorate 44(g_tTex1du4) DescriptorSet 0 Decorate 54(g_tTex2df4) Binding 3 - Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 54(g_tTex2df4) DescriptorSet 0 Decorate 67(g_tTex2di4) Binding 4 - Decorate 77(g_tTex2du4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 Decorate 77(g_tTex2du4) Binding 5 - Decorate 87(g_tTex3df4) DescriptorSet 0 + Decorate 77(g_tTex2du4) DescriptorSet 0 Decorate 87(g_tTex3df4) Binding 6 - Decorate 100(g_tTex3di4) DescriptorSet 0 + Decorate 87(g_tTex3df4) DescriptorSet 0 Decorate 100(g_tTex3di4) Binding 7 - Decorate 110(g_tTex3du4) DescriptorSet 0 + Decorate 100(g_tTex3di4) DescriptorSet 0 Decorate 110(g_tTex3du4) Binding 8 + Decorate 110(g_tTex3du4) DescriptorSet 0 Decorate 129(@entryPointOutput.Pos) BuiltIn Position - Decorate 134(g_sSamp) DescriptorSet 0 Decorate 134(g_sSamp) Binding 0 - Decorate 137(g_tTexcdf4) DescriptorSet 0 + Decorate 134(g_sSamp) DescriptorSet 0 Decorate 137(g_tTexcdf4) Binding 0 - Decorate 140(g_tTexcdi4) DescriptorSet 0 + Decorate 137(g_tTexcdf4) DescriptorSet 0 Decorate 140(g_tTexcdi4) Binding 0 - Decorate 143(g_tTexcdu4) DescriptorSet 0 + Decorate 140(g_tTexcdi4) DescriptorSet 0 Decorate 143(g_tTexcdu4) Binding 0 - Decorate 146(g_tTex1df4a) DescriptorSet 0 + Decorate 143(g_tTexcdu4) DescriptorSet 0 Decorate 146(g_tTex1df4a) Binding 0 - Decorate 149(g_tTex1di4a) DescriptorSet 0 + Decorate 146(g_tTex1df4a) DescriptorSet 0 Decorate 149(g_tTex1di4a) Binding 0 - Decorate 152(g_tTex1du4a) DescriptorSet 0 + Decorate 149(g_tTex1di4a) DescriptorSet 0 Decorate 152(g_tTex1du4a) Binding 0 - Decorate 155(g_tTex2df4a) DescriptorSet 0 + Decorate 152(g_tTex1du4a) DescriptorSet 0 Decorate 155(g_tTex2df4a) Binding 0 - Decorate 158(g_tTex2di4a) DescriptorSet 0 + Decorate 155(g_tTex2df4a) DescriptorSet 0 Decorate 158(g_tTex2di4a) Binding 0 - Decorate 161(g_tTex2du4a) DescriptorSet 0 + Decorate 158(g_tTex2di4a) DescriptorSet 0 Decorate 161(g_tTex2du4a) Binding 0 - Decorate 164(g_tTexcdf4a) DescriptorSet 0 + Decorate 161(g_tTex2du4a) DescriptorSet 0 Decorate 164(g_tTexcdf4a) Binding 0 - Decorate 167(g_tTexcdi4a) DescriptorSet 0 + Decorate 164(g_tTexcdf4a) DescriptorSet 0 Decorate 167(g_tTexcdi4a) Binding 0 - Decorate 170(g_tTexcdu4a) DescriptorSet 0 + Decorate 167(g_tTexcdi4a) DescriptorSet 0 Decorate 170(g_tTexcdu4a) Binding 0 + Decorate 170(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.load.buffer.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.dx10.frag.out index b37e3c93..900c1184 100644 --- a/Test/baseResults/hlsl.load.buffer.dx10.frag.out +++ b/Test/baseResults/hlsl.load.buffer.dx10.frag.out @@ -203,8 +203,9 @@ using depth_any Name 64 "@entryPointOutput.Color" Name 68 "@entryPointOutput.Depth" Name 71 "g_tTexbf4_test" - Decorate 16(g_tTexbf4) DescriptorSet 0 Decorate 16(g_tTexbf4) Binding 1 + Decorate 16(g_tTexbf4) DescriptorSet 0 + Decorate 22($Global) Block MemberDecorate 22($Global) 0 Offset 0 MemberDecorate 22($Global) 1 Offset 8 MemberDecorate 22($Global) 2 Offset 16 @@ -213,17 +214,16 @@ using depth_any MemberDecorate 22($Global) 5 Offset 56 MemberDecorate 22($Global) 6 Offset 64 MemberDecorate 22($Global) 7 Offset 80 - Decorate 22($Global) Block - Decorate 24 DescriptorSet 0 Decorate 24 Binding 4 - Decorate 34(g_tTexbi4) DescriptorSet 0 + Decorate 24 DescriptorSet 0 Decorate 34(g_tTexbi4) Binding 2 - Decorate 45(g_tTexbu4) DescriptorSet 0 + Decorate 34(g_tTexbi4) DescriptorSet 0 Decorate 45(g_tTexbu4) Binding 3 + Decorate 45(g_tTexbu4) DescriptorSet 0 Decorate 64(@entryPointOutput.Color) Location 0 Decorate 68(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 71(g_tTexbf4_test) DescriptorSet 0 Decorate 71(g_tTexbf4_test) Binding 0 + Decorate 71(g_tTexbf4_test) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out index b248ed6b..c88fd6a2 100644 --- a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out +++ b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out @@ -209,8 +209,9 @@ using depth_any Name 67 "@entryPointOutput.Color" Name 71 "@entryPointOutput.Depth" Name 74 "g_tTexbfs_test" - Decorate 16(g_tTexbfs) DescriptorSet 0 Decorate 16(g_tTexbfs) Binding 1 + Decorate 16(g_tTexbfs) DescriptorSet 0 + Decorate 22($Global) Block MemberDecorate 22($Global) 0 Offset 0 MemberDecorate 22($Global) 1 Offset 8 MemberDecorate 22($Global) 2 Offset 16 @@ -219,17 +220,16 @@ using depth_any MemberDecorate 22($Global) 5 Offset 56 MemberDecorate 22($Global) 6 Offset 64 MemberDecorate 22($Global) 7 Offset 80 - Decorate 22($Global) Block - Decorate 24 DescriptorSet 0 Decorate 24 Binding 4 - Decorate 35(g_tTexbis) DescriptorSet 0 + Decorate 24 DescriptorSet 0 Decorate 35(g_tTexbis) Binding 2 - Decorate 46(g_tTexbus) DescriptorSet 0 + Decorate 35(g_tTexbis) DescriptorSet 0 Decorate 46(g_tTexbus) Binding 3 + Decorate 46(g_tTexbus) DescriptorSet 0 Decorate 67(@entryPointOutput.Color) Location 0 Decorate 71(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 74(g_tTexbfs_test) DescriptorSet 0 Decorate 74(g_tTexbfs_test) Binding 0 + Decorate 74(g_tTexbfs_test) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.load.offset.dx10.frag.out b/Test/baseResults/hlsl.load.offset.dx10.frag.out index f8d43837..0d07130d 100644 --- a/Test/baseResults/hlsl.load.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.load.offset.dx10.frag.out @@ -603,59 +603,59 @@ using depth_any Name 198 "g_tTexcdf4a" Name 201 "g_tTexcdi4a" Name 204 "g_tTexcdu4a" - Decorate 35(g_tTex1df4) DescriptorSet 0 Decorate 35(g_tTex1df4) Binding 0 + Decorate 35(g_tTex1df4) DescriptorSet 0 + Decorate 38($Global) Block MemberDecorate 38($Global) 0 Offset 0 MemberDecorate 38($Global) 1 Offset 8 MemberDecorate 38($Global) 2 Offset 16 MemberDecorate 38($Global) 3 Offset 32 - Decorate 38($Global) Block - Decorate 40 DescriptorSet 0 Decorate 40 Binding 9 - Decorate 53(g_tTex1di4) DescriptorSet 0 + Decorate 40 DescriptorSet 0 Decorate 53(g_tTex1di4) Binding 1 - Decorate 63(g_tTex1du4) DescriptorSet 0 + Decorate 53(g_tTex1di4) DescriptorSet 0 Decorate 63(g_tTex1du4) Binding 2 - Decorate 74(g_tTex2df4) DescriptorSet 0 + Decorate 63(g_tTex1du4) DescriptorSet 0 Decorate 74(g_tTex2df4) Binding 3 - Decorate 88(g_tTex2di4) DescriptorSet 0 + Decorate 74(g_tTex2df4) DescriptorSet 0 Decorate 88(g_tTex2di4) Binding 4 - Decorate 99(g_tTex2du4) DescriptorSet 0 + Decorate 88(g_tTex2di4) DescriptorSet 0 Decorate 99(g_tTex2du4) Binding 5 - Decorate 110(g_tTex3df4) DescriptorSet 0 + Decorate 99(g_tTex2du4) DescriptorSet 0 Decorate 110(g_tTex3df4) Binding 6 - Decorate 124(g_tTex3di4) DescriptorSet 0 + Decorate 110(g_tTex3df4) DescriptorSet 0 Decorate 124(g_tTex3di4) Binding 7 - Decorate 135(g_tTex3du4) DescriptorSet 0 + Decorate 124(g_tTex3di4) DescriptorSet 0 Decorate 135(g_tTex3du4) Binding 8 + Decorate 135(g_tTex3du4) DescriptorSet 0 Decorate 159(@entryPointOutput.Color) Location 0 Decorate 163(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 168(g_sSamp) DescriptorSet 0 Decorate 168(g_sSamp) Binding 0 - Decorate 171(g_tTexcdf4) DescriptorSet 0 + Decorate 168(g_sSamp) DescriptorSet 0 Decorate 171(g_tTexcdf4) Binding 0 - Decorate 174(g_tTexcdi4) DescriptorSet 0 + Decorate 171(g_tTexcdf4) DescriptorSet 0 Decorate 174(g_tTexcdi4) Binding 0 - Decorate 177(g_tTexcdu4) DescriptorSet 0 + Decorate 174(g_tTexcdi4) DescriptorSet 0 Decorate 177(g_tTexcdu4) Binding 0 - Decorate 180(g_tTex1df4a) DescriptorSet 0 + Decorate 177(g_tTexcdu4) DescriptorSet 0 Decorate 180(g_tTex1df4a) Binding 0 - Decorate 183(g_tTex1di4a) DescriptorSet 0 + Decorate 180(g_tTex1df4a) DescriptorSet 0 Decorate 183(g_tTex1di4a) Binding 0 - Decorate 186(g_tTex1du4a) DescriptorSet 0 + Decorate 183(g_tTex1di4a) DescriptorSet 0 Decorate 186(g_tTex1du4a) Binding 0 - Decorate 189(g_tTex2df4a) DescriptorSet 0 + Decorate 186(g_tTex1du4a) DescriptorSet 0 Decorate 189(g_tTex2df4a) Binding 0 - Decorate 192(g_tTex2di4a) DescriptorSet 0 + Decorate 189(g_tTex2df4a) DescriptorSet 0 Decorate 192(g_tTex2di4a) Binding 0 - Decorate 195(g_tTex2du4a) DescriptorSet 0 + Decorate 192(g_tTex2di4a) DescriptorSet 0 Decorate 195(g_tTex2du4a) Binding 0 - Decorate 198(g_tTexcdf4a) DescriptorSet 0 + Decorate 195(g_tTex2du4a) DescriptorSet 0 Decorate 198(g_tTexcdf4a) Binding 0 - Decorate 201(g_tTexcdi4a) DescriptorSet 0 + Decorate 198(g_tTexcdf4a) DescriptorSet 0 Decorate 201(g_tTexcdi4a) Binding 0 - Decorate 204(g_tTexcdu4a) DescriptorSet 0 + Decorate 201(g_tTexcdi4a) DescriptorSet 0 Decorate 204(g_tTexcdu4a) Binding 0 + Decorate 204(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out index bc5f632d..0cfd2a87 100644 --- a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out @@ -478,59 +478,59 @@ using depth_any Name 169 "g_tTexcdf4a" Name 172 "g_tTexcdi4a" Name 175 "g_tTexcdu4a" - Decorate 28(g_tTex1df4a) DescriptorSet 0 Decorate 28(g_tTex1df4a) Binding 1 + Decorate 28(g_tTex1df4a) DescriptorSet 0 + Decorate 32($Global) Block MemberDecorate 32($Global) 0 Offset 0 MemberDecorate 32($Global) 1 Offset 8 MemberDecorate 32($Global) 2 Offset 16 MemberDecorate 32($Global) 3 Offset 32 - Decorate 32($Global) Block - Decorate 34 DescriptorSet 0 Decorate 34 Binding 7 - Decorate 49(g_tTex1di4a) DescriptorSet 0 + Decorate 34 DescriptorSet 0 Decorate 49(g_tTex1di4a) Binding 2 - Decorate 60(g_tTex1du4a) DescriptorSet 0 + Decorate 49(g_tTex1di4a) DescriptorSet 0 Decorate 60(g_tTex1du4a) Binding 3 - Decorate 72(g_tTex2df4a) DescriptorSet 0 + Decorate 60(g_tTex1du4a) DescriptorSet 0 Decorate 72(g_tTex2df4a) Binding 4 - Decorate 86(g_tTex2di4a) DescriptorSet 0 + Decorate 72(g_tTex2df4a) DescriptorSet 0 Decorate 86(g_tTex2di4a) Binding 5 - Decorate 97(g_tTex2du4a) DescriptorSet 0 + Decorate 86(g_tTex2di4a) DescriptorSet 0 Decorate 97(g_tTex2du4a) Binding 6 + Decorate 97(g_tTex2du4a) DescriptorSet 0 Decorate 121(@entryPointOutput.Color) Location 0 Decorate 125(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 130(g_sSamp) DescriptorSet 0 Decorate 130(g_sSamp) Binding 0 - Decorate 133(g_tTex1df4) DescriptorSet 0 + Decorate 130(g_sSamp) DescriptorSet 0 Decorate 133(g_tTex1df4) Binding 0 - Decorate 136(g_tTex1di4) DescriptorSet 0 + Decorate 133(g_tTex1df4) DescriptorSet 0 Decorate 136(g_tTex1di4) Binding 0 - Decorate 139(g_tTex1du4) DescriptorSet 0 + Decorate 136(g_tTex1di4) DescriptorSet 0 Decorate 139(g_tTex1du4) Binding 0 - Decorate 142(g_tTex2df4) DescriptorSet 0 + Decorate 139(g_tTex1du4) DescriptorSet 0 Decorate 142(g_tTex2df4) Binding 0 - Decorate 145(g_tTex2di4) DescriptorSet 0 + Decorate 142(g_tTex2df4) DescriptorSet 0 Decorate 145(g_tTex2di4) Binding 0 - Decorate 148(g_tTex2du4) DescriptorSet 0 + Decorate 145(g_tTex2di4) DescriptorSet 0 Decorate 148(g_tTex2du4) Binding 0 - Decorate 151(g_tTex3df4) DescriptorSet 0 + Decorate 148(g_tTex2du4) DescriptorSet 0 Decorate 151(g_tTex3df4) Binding 0 - Decorate 154(g_tTex3di4) DescriptorSet 0 + Decorate 151(g_tTex3df4) DescriptorSet 0 Decorate 154(g_tTex3di4) Binding 0 - Decorate 157(g_tTex3du4) DescriptorSet 0 + Decorate 154(g_tTex3di4) DescriptorSet 0 Decorate 157(g_tTex3du4) Binding 0 - Decorate 160(g_tTexcdf4) DescriptorSet 0 + Decorate 157(g_tTex3du4) DescriptorSet 0 Decorate 160(g_tTexcdf4) Binding 0 - Decorate 163(g_tTexcdi4) DescriptorSet 0 + Decorate 160(g_tTexcdf4) DescriptorSet 0 Decorate 163(g_tTexcdi4) Binding 0 - Decorate 166(g_tTexcdu4) DescriptorSet 0 + Decorate 163(g_tTexcdi4) DescriptorSet 0 Decorate 166(g_tTexcdu4) Binding 0 - Decorate 169(g_tTexcdf4a) DescriptorSet 0 + Decorate 166(g_tTexcdu4) DescriptorSet 0 Decorate 169(g_tTexcdf4a) Binding 0 - Decorate 172(g_tTexcdi4a) DescriptorSet 0 + Decorate 169(g_tTexcdf4a) DescriptorSet 0 Decorate 172(g_tTexcdi4a) Binding 0 - Decorate 175(g_tTexcdu4a) DescriptorSet 0 + Decorate 172(g_tTexcdi4a) DescriptorSet 0 Decorate 175(g_tTexcdu4a) Binding 0 + Decorate 175(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out index ed6f5286..78fbf417 100644 --- a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out +++ b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out @@ -139,8 +139,9 @@ gl_FragCoord origin is upper left Name 39 "g_tBuffI" Name 45 "psout" Name 54 "@entryPointOutput.Color" - Decorate 14(g_tBuffF) DescriptorSet 0 Decorate 14(g_tBuffF) Binding 0 + Decorate 14(g_tBuffF) DescriptorSet 0 + Decorate 20($Global) Block MemberDecorate 20($Global) 0 Offset 0 MemberDecorate 20($Global) 1 Offset 8 MemberDecorate 20($Global) 2 Offset 16 @@ -149,13 +150,12 @@ gl_FragCoord origin is upper left MemberDecorate 20($Global) 5 Offset 56 MemberDecorate 20($Global) 6 Offset 64 MemberDecorate 20($Global) 7 Offset 80 - Decorate 20($Global) Block - Decorate 22 DescriptorSet 0 Decorate 22 Binding 3 - Decorate 31(g_tBuffU) DescriptorSet 0 + Decorate 22 DescriptorSet 0 Decorate 31(g_tBuffU) Binding 2 - Decorate 39(g_tBuffI) DescriptorSet 0 + Decorate 31(g_tBuffU) DescriptorSet 0 Decorate 39(g_tBuffI) Binding 1 + Decorate 39(g_tBuffI) DescriptorSet 0 Decorate 54(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out index a94da2fc..e8bf2901 100644 --- a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out +++ b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out @@ -254,8 +254,9 @@ using depth_any Name 112 "g_tTex3df4" Name 115 "g_tTex3di4" Name 118 "g_tTex3du4" - Decorate 14(g_tTex1df4a) DescriptorSet 0 Decorate 14(g_tTex1df4a) Binding 1 + Decorate 14(g_tTex1df4a) DescriptorSet 0 + Decorate 20($Global) Block MemberDecorate 20($Global) 0 Offset 0 MemberDecorate 20($Global) 1 Offset 8 MemberDecorate 20($Global) 2 Offset 16 @@ -264,41 +265,40 @@ using depth_any MemberDecorate 20($Global) 5 Offset 56 MemberDecorate 20($Global) 6 Offset 64 MemberDecorate 20($Global) 7 Offset 80 - Decorate 20($Global) Block - Decorate 22 DescriptorSet 0 Decorate 22 Binding 7 - Decorate 30(g_tTex1di4a) DescriptorSet 0 + Decorate 22 DescriptorSet 0 Decorate 30(g_tTex1di4a) Binding 2 - Decorate 38(g_tTex1du4a) DescriptorSet 0 + Decorate 30(g_tTex1di4a) DescriptorSet 0 Decorate 38(g_tTex1du4a) Binding 3 - Decorate 46(g_tTex2df4a) DescriptorSet 0 + Decorate 38(g_tTex1du4a) DescriptorSet 0 Decorate 46(g_tTex2df4a) Binding 4 - Decorate 55(g_tTex2di4a) DescriptorSet 0 + Decorate 46(g_tTex2df4a) DescriptorSet 0 Decorate 55(g_tTex2di4a) Binding 5 - Decorate 62(g_tTex2du4a) DescriptorSet 0 + Decorate 55(g_tTex2di4a) DescriptorSet 0 Decorate 62(g_tTex2du4a) Binding 6 + Decorate 62(g_tTex2du4a) DescriptorSet 0 Decorate 82(@entryPointOutput.Color) Location 0 Decorate 86(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 91(g_sSamp) DescriptorSet 0 Decorate 91(g_sSamp) Binding 0 - Decorate 94(g_tTex1df4) DescriptorSet 0 + Decorate 91(g_sSamp) DescriptorSet 0 Decorate 94(g_tTex1df4) Binding 0 - Decorate 97(g_tTex1di4) DescriptorSet 0 + Decorate 94(g_tTex1df4) DescriptorSet 0 Decorate 97(g_tTex1di4) Binding 0 - Decorate 100(g_tTex1du4) DescriptorSet 0 + Decorate 97(g_tTex1di4) DescriptorSet 0 Decorate 100(g_tTex1du4) Binding 0 - Decorate 103(g_tTex2df4) DescriptorSet 0 + Decorate 100(g_tTex1du4) DescriptorSet 0 Decorate 103(g_tTex2df4) Binding 0 - Decorate 106(g_tTex2di4) DescriptorSet 0 + Decorate 103(g_tTex2df4) DescriptorSet 0 Decorate 106(g_tTex2di4) Binding 0 - Decorate 109(g_tTex2du4) DescriptorSet 0 + Decorate 106(g_tTex2di4) DescriptorSet 0 Decorate 109(g_tTex2du4) Binding 0 - Decorate 112(g_tTex3df4) DescriptorSet 0 + Decorate 109(g_tTex2du4) DescriptorSet 0 Decorate 112(g_tTex3df4) Binding 0 - Decorate 115(g_tTex3di4) DescriptorSet 0 + Decorate 112(g_tTex3df4) DescriptorSet 0 Decorate 115(g_tTex3di4) Binding 0 - Decorate 118(g_tTex3du4) DescriptorSet 0 + Decorate 115(g_tTex3di4) DescriptorSet 0 Decorate 118(g_tTex3du4) Binding 0 + Decorate 118(g_tTex3du4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out index b00da802..d829dda5 100644 --- a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out +++ b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out @@ -290,8 +290,9 @@ using depth_any Name 125 "g_tTex2df4a" Name 128 "g_tTex2di4a" Name 131 "g_tTex2du4a" - Decorate 14(g_tTex1df4) DescriptorSet 0 Decorate 14(g_tTex1df4) Binding 0 + Decorate 14(g_tTex1df4) DescriptorSet 0 + Decorate 20($Global) Block MemberDecorate 20($Global) 0 Offset 0 MemberDecorate 20($Global) 1 Offset 8 MemberDecorate 20($Global) 2 Offset 16 @@ -300,41 +301,40 @@ using depth_any MemberDecorate 20($Global) 5 Offset 56 MemberDecorate 20($Global) 6 Offset 64 MemberDecorate 20($Global) 7 Offset 80 - Decorate 20($Global) Block - Decorate 22 DescriptorSet 0 Decorate 22 Binding 9 - Decorate 30(g_tTex1di4) DescriptorSet 0 + Decorate 22 DescriptorSet 0 Decorate 30(g_tTex1di4) Binding 1 - Decorate 38(g_tTex1du4) DescriptorSet 0 + Decorate 30(g_tTex1di4) DescriptorSet 0 Decorate 38(g_tTex1du4) Binding 2 - Decorate 46(g_tTex2df4) DescriptorSet 0 + Decorate 38(g_tTex1du4) DescriptorSet 0 Decorate 46(g_tTex2df4) Binding 3 - Decorate 55(g_tTex2di4) DescriptorSet 0 + Decorate 46(g_tTex2df4) DescriptorSet 0 Decorate 55(g_tTex2di4) Binding 4 - Decorate 62(g_tTex2du4) DescriptorSet 0 + Decorate 55(g_tTex2di4) DescriptorSet 0 Decorate 62(g_tTex2du4) Binding 5 - Decorate 69(g_tTex3df4) DescriptorSet 0 + Decorate 62(g_tTex2du4) DescriptorSet 0 Decorate 69(g_tTex3df4) Binding 6 - Decorate 78(g_tTex3di4) DescriptorSet 0 + Decorate 69(g_tTex3df4) DescriptorSet 0 Decorate 78(g_tTex3di4) Binding 7 - Decorate 85(g_tTex3du4) DescriptorSet 0 + Decorate 78(g_tTex3di4) DescriptorSet 0 Decorate 85(g_tTex3du4) Binding 8 + Decorate 85(g_tTex3du4) DescriptorSet 0 Decorate 104(@entryPointOutput.Color) Location 0 Decorate 108(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 113(g_sSamp) DescriptorSet 0 Decorate 113(g_sSamp) Binding 0 - Decorate 116(g_tTex1df4a) DescriptorSet 0 + Decorate 113(g_sSamp) DescriptorSet 0 Decorate 116(g_tTex1df4a) Binding 0 - Decorate 119(g_tTex1di4a) DescriptorSet 0 + Decorate 116(g_tTex1df4a) DescriptorSet 0 Decorate 119(g_tTex1di4a) Binding 0 - Decorate 122(g_tTex1du4a) DescriptorSet 0 + Decorate 119(g_tTex1di4a) DescriptorSet 0 Decorate 122(g_tTex1du4a) Binding 0 - Decorate 125(g_tTex2df4a) DescriptorSet 0 + Decorate 122(g_tTex1du4a) DescriptorSet 0 Decorate 125(g_tTex2df4a) Binding 0 - Decorate 128(g_tTex2di4a) DescriptorSet 0 + Decorate 125(g_tTex2df4a) DescriptorSet 0 Decorate 128(g_tTex2di4a) Binding 0 - Decorate 131(g_tTex2du4a) DescriptorSet 0 + Decorate 128(g_tTex2di4a) DescriptorSet 0 Decorate 131(g_tTex2du4a) Binding 0 + Decorate 131(g_tTex2du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.logical.binary.frag.out b/Test/baseResults/hlsl.logical.binary.frag.out index e6f484e4..97d1de1f 100644 --- a/Test/baseResults/hlsl.logical.binary.frag.out +++ b/Test/baseResults/hlsl.logical.binary.frag.out @@ -145,13 +145,13 @@ gl_FragCoord origin is upper left Name 16 "" Name 44 "psout" Name 53 "@entryPointOutput.Color" + Decorate 14($Global) Block MemberDecorate 14($Global) 0 Offset 0 MemberDecorate 14($Global) 1 Offset 16 MemberDecorate 14($Global) 2 Offset 32 MemberDecorate 14($Global) 3 Offset 48 - Decorate 14($Global) Block - Decorate 16 DescriptorSet 0 Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 Decorate 53(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.logical.binary.vec.frag.out b/Test/baseResults/hlsl.logical.binary.vec.frag.out index 986d83fd..04b02d4e 100644 --- a/Test/baseResults/hlsl.logical.binary.vec.frag.out +++ b/Test/baseResults/hlsl.logical.binary.vec.frag.out @@ -282,13 +282,13 @@ gl_FragCoord origin is upper left Name 77 "r21" Name 87 "psout" Name 112 "@entryPointOutput.Color" + Decorate 18($Global) Block MemberDecorate 18($Global) 0 Offset 0 MemberDecorate 18($Global) 1 Offset 16 MemberDecorate 18($Global) 2 Offset 32 MemberDecorate 18($Global) 3 Offset 36 - Decorate 18($Global) Block - Decorate 20 DescriptorSet 0 Decorate 20 Binding 0 + Decorate 20 DescriptorSet 0 Decorate 112(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.logical.unary.frag.out b/Test/baseResults/hlsl.logical.unary.frag.out index cc933bbc..23655d8d 100644 --- a/Test/baseResults/hlsl.logical.unary.frag.out +++ b/Test/baseResults/hlsl.logical.unary.frag.out @@ -205,13 +205,13 @@ gl_FragCoord origin is upper left Name 16 "" Name 72 "psout" Name 81 "@entryPointOutput.Color" + Decorate 14($Global) Block MemberDecorate 14($Global) 0 Offset 0 MemberDecorate 14($Global) 1 Offset 16 MemberDecorate 14($Global) 2 Offset 32 MemberDecorate 14($Global) 3 Offset 48 - Decorate 14($Global) Block - Decorate 16 DescriptorSet 0 Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 Decorate 81(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.matType.frag.out b/Test/baseResults/hlsl.matType.frag.out index 92d44a46..47fb02a1 100644 --- a/Test/baseResults/hlsl.matType.frag.out +++ b/Test/baseResults/hlsl.matType.frag.out @@ -54,25 +54,25 @@ Validation failed MemberName 27($Global) 4 "dmat23" MemberName 27($Global) 5 "int44" Name 29 "" + Decorate 27($Global) Block MemberDecorate 27($Global) 0 Offset 0 MemberDecorate 27($Global) 1 RowMajor - MemberDecorate 27($Global) 1 Offset 16 MemberDecorate 27($Global) 1 MatrixStride 16 + MemberDecorate 27($Global) 1 Offset 16 MemberDecorate 27($Global) 2 RowMajor - MemberDecorate 27($Global) 2 Offset 32 MemberDecorate 27($Global) 2 MatrixStride 16 + MemberDecorate 27($Global) 2 Offset 32 MemberDecorate 27($Global) 3 RowMajor - MemberDecorate 27($Global) 3 Offset 48 MemberDecorate 27($Global) 3 MatrixStride 16 + MemberDecorate 27($Global) 3 Offset 48 MemberDecorate 27($Global) 4 RowMajor - MemberDecorate 27($Global) 4 Offset 80 MemberDecorate 27($Global) 4 MatrixStride 16 + MemberDecorate 27($Global) 4 Offset 80 MemberDecorate 27($Global) 5 RowMajor - MemberDecorate 27($Global) 5 Offset 128 MemberDecorate 27($Global) 5 MatrixStride 16 - Decorate 27($Global) Block - Decorate 29 DescriptorSet 0 + MemberDecorate 27($Global) 5 Offset 128 Decorate 29 Binding 0 + Decorate 29 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.matpack-1.frag.out b/Test/baseResults/hlsl.matpack-1.frag.out index 5af6c2b5..844b0855 100644 --- a/Test/baseResults/hlsl.matpack-1.frag.out +++ b/Test/baseResults/hlsl.matpack-1.frag.out @@ -126,25 +126,25 @@ gl_FragCoord origin is upper left Name 16 "" Name 37 "@entryPointOutput" MemberDecorate 12(MyBuffer1) 0 RowMajor - MemberDecorate 12(MyBuffer1) 0 Offset 0 MemberDecorate 12(MyBuffer1) 0 MatrixStride 16 + MemberDecorate 12(MyBuffer1) 0 Offset 0 MemberDecorate 12(MyBuffer1) 1 ColMajor - MemberDecorate 12(MyBuffer1) 1 Offset 64 MemberDecorate 12(MyBuffer1) 1 MatrixStride 16 + MemberDecorate 12(MyBuffer1) 1 Offset 64 MemberDecorate 12(MyBuffer1) 2 Offset 128 MemberDecorate 12(MyBuffer1) 3 Offset 144 MemberDecorate 13(MyBuffer2) 0 ColMajor - MemberDecorate 13(MyBuffer2) 0 Offset 0 MemberDecorate 13(MyBuffer2) 0 MatrixStride 16 + MemberDecorate 13(MyBuffer2) 0 Offset 0 MemberDecorate 13(MyBuffer2) 1 Offset 64 + Decorate 14(Example) Block MemberDecorate 14(Example) 0 Offset 0 MemberDecorate 14(Example) 1 Offset 160 MemberDecorate 14(Example) 2 RowMajor - MemberDecorate 14(Example) 2 Offset 240 MemberDecorate 14(Example) 2 MatrixStride 16 - Decorate 14(Example) Block - Decorate 16 DescriptorSet 0 + MemberDecorate 14(Example) 2 Offset 240 Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 Decorate 37(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.matpack-pragma-global.frag.out b/Test/baseResults/hlsl.matpack-pragma-global.frag.out index d6afb4e9..c64fcb0a 100644 --- a/Test/baseResults/hlsl.matpack-pragma-global.frag.out +++ b/Test/baseResults/hlsl.matpack-pragma-global.frag.out @@ -67,12 +67,12 @@ gl_FragCoord origin is upper left MemberName 12($Global) 0 "g_GlobalMat1" Name 14 "" Name 23 "@entryPointOutput" - MemberDecorate 12($Global) 0 ColMajor - MemberDecorate 12($Global) 0 Offset 0 - MemberDecorate 12($Global) 0 MatrixStride 16 Decorate 12($Global) Block - Decorate 14 DescriptorSet 0 + MemberDecorate 12($Global) 0 ColMajor + MemberDecorate 12($Global) 0 MatrixStride 16 + MemberDecorate 12($Global) 0 Offset 0 Decorate 14 Binding 0 + Decorate 14 DescriptorSet 0 Decorate 23(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.matpack-pragma.frag.out b/Test/baseResults/hlsl.matpack-pragma.frag.out index aac5af5f..5938a031 100644 --- a/Test/baseResults/hlsl.matpack-pragma.frag.out +++ b/Test/baseResults/hlsl.matpack-pragma.frag.out @@ -196,31 +196,31 @@ gl_FragCoord origin is upper left Name 16 "" Name 42 "@entryPointOutput" MemberDecorate 12(MyBuffer1) 0 RowMajor - MemberDecorate 12(MyBuffer1) 0 Offset 0 MemberDecorate 12(MyBuffer1) 0 MatrixStride 16 + MemberDecorate 12(MyBuffer1) 0 Offset 0 MemberDecorate 12(MyBuffer1) 1 ColMajor - MemberDecorate 12(MyBuffer1) 1 Offset 64 MemberDecorate 12(MyBuffer1) 1 MatrixStride 16 + MemberDecorate 12(MyBuffer1) 1 Offset 64 MemberDecorate 12(MyBuffer1) 2 ColMajor - MemberDecorate 12(MyBuffer1) 2 Offset 128 MemberDecorate 12(MyBuffer1) 2 MatrixStride 16 + MemberDecorate 12(MyBuffer1) 2 Offset 128 MemberDecorate 13(MyBuffer2) 0 RowMajor - MemberDecorate 13(MyBuffer2) 0 Offset 0 MemberDecorate 13(MyBuffer2) 0 MatrixStride 16 + MemberDecorate 13(MyBuffer2) 0 Offset 0 MemberDecorate 13(MyBuffer2) 1 ColMajor - MemberDecorate 13(MyBuffer2) 1 Offset 64 MemberDecorate 13(MyBuffer2) 1 MatrixStride 16 + MemberDecorate 13(MyBuffer2) 1 Offset 64 MemberDecorate 13(MyBuffer2) 2 RowMajor - MemberDecorate 13(MyBuffer2) 2 Offset 128 MemberDecorate 13(MyBuffer2) 2 MatrixStride 16 + MemberDecorate 13(MyBuffer2) 2 Offset 128 + Decorate 14(Example) Block MemberDecorate 14(Example) 0 Offset 0 MemberDecorate 14(Example) 1 Offset 192 MemberDecorate 14(Example) 2 RowMajor - MemberDecorate 14(Example) 2 Offset 384 MemberDecorate 14(Example) 2 MatrixStride 16 - Decorate 14(Example) Block - Decorate 16 DescriptorSet 0 + MemberDecorate 14(Example) 2 Offset 384 Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 Decorate 42(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.matrixindex.frag.out b/Test/baseResults/hlsl.matrixindex.frag.out index cf75c056..418bc2f5 100644 --- a/Test/baseResults/hlsl.matrixindex.frag.out +++ b/Test/baseResults/hlsl.matrixindex.frag.out @@ -309,13 +309,13 @@ gl_FragCoord origin is upper left Name 63 "r0c" Name 71 "psout" Name 80 "@entryPointOutput.Color" + Decorate 52($Global) Block MemberDecorate 52($Global) 0 Offset 0 MemberDecorate 52($Global) 1 RowMajor - MemberDecorate 52($Global) 1 Offset 16 MemberDecorate 52($Global) 1 MatrixStride 16 - Decorate 52($Global) Block - Decorate 54 DescriptorSet 0 + MemberDecorate 52($Global) 1 Offset 16 Decorate 54 Binding 0 + Decorate 54 DescriptorSet 0 Decorate 80(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.mintypes.frag.out b/Test/baseResults/hlsl.mintypes.frag.out index 2b51d12c..9d0b3c94 100644 --- a/Test/baseResults/hlsl.mintypes.frag.out +++ b/Test/baseResults/hlsl.mintypes.frag.out @@ -294,13 +294,13 @@ gl_FragCoord origin is upper left Decorate 114 RelaxedPrecision Decorate 115 RelaxedPrecision Decorate 126(@entryPointOutput.Color) Location 0 + Decorate 129($Global) Block MemberDecorate 129($Global) 0 RelaxedPrecision MemberDecorate 129($Global) 0 Offset 0 MemberDecorate 129($Global) 1 RelaxedPrecision MemberDecorate 129($Global) 1 Offset 4 - Decorate 129($Global) Block - Decorate 131 DescriptorSet 0 Decorate 131 Binding 0 + Decorate 131 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.mip.operator.frag.out b/Test/baseResults/hlsl.mip.operator.frag.out index 2c03a260..c69cf8df 100644 --- a/Test/baseResults/hlsl.mip.operator.frag.out +++ b/Test/baseResults/hlsl.mip.operator.frag.out @@ -142,10 +142,10 @@ gl_FragCoord origin is upper left Name 13 "g_tTex2df4" Name 25 "g_tTex2df4a" Name 59 "@entryPointOutput" - Decorate 13(g_tTex2df4) DescriptorSet 0 Decorate 13(g_tTex2df4) Binding 1 - Decorate 25(g_tTex2df4a) DescriptorSet 0 + Decorate 13(g_tTex2df4) DescriptorSet 0 Decorate 25(g_tTex2df4a) Binding 0 + Decorate 25(g_tTex2df4a) DescriptorSet 0 Decorate 59(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.mul-truncate.frag.out b/Test/baseResults/hlsl.mul-truncate.frag.out index 806d2419..c736d25f 100644 --- a/Test/baseResults/hlsl.mul-truncate.frag.out +++ b/Test/baseResults/hlsl.mul-truncate.frag.out @@ -416,30 +416,30 @@ gl_FragCoord origin is upper left Name 133 "r32" Name 146 "r33" Name 188 "@entryPointOutput" + Decorate 21(Matrix) Block MemberDecorate 21(Matrix) 0 RowMajor - MemberDecorate 21(Matrix) 0 Offset 0 MemberDecorate 21(Matrix) 0 MatrixStride 16 + MemberDecorate 21(Matrix) 0 Offset 0 MemberDecorate 21(Matrix) 1 RowMajor - MemberDecorate 21(Matrix) 1 Offset 64 MemberDecorate 21(Matrix) 1 MatrixStride 16 + MemberDecorate 21(Matrix) 1 Offset 64 MemberDecorate 21(Matrix) 2 RowMajor - MemberDecorate 21(Matrix) 2 Offset 112 MemberDecorate 21(Matrix) 2 MatrixStride 16 + MemberDecorate 21(Matrix) 2 Offset 112 MemberDecorate 21(Matrix) 3 RowMajor - MemberDecorate 21(Matrix) 3 Offset 176 MemberDecorate 21(Matrix) 3 MatrixStride 16 + MemberDecorate 21(Matrix) 3 Offset 176 MemberDecorate 21(Matrix) 4 RowMajor - MemberDecorate 21(Matrix) 4 Offset 224 MemberDecorate 21(Matrix) 4 MatrixStride 16 + MemberDecorate 21(Matrix) 4 Offset 224 MemberDecorate 21(Matrix) 5 RowMajor - MemberDecorate 21(Matrix) 5 Offset 288 MemberDecorate 21(Matrix) 5 MatrixStride 16 + MemberDecorate 21(Matrix) 5 Offset 288 MemberDecorate 21(Matrix) 6 Offset 320 MemberDecorate 21(Matrix) 7 Offset 336 MemberDecorate 21(Matrix) 8 Offset 352 - Decorate 21(Matrix) Block - Decorate 23 DescriptorSet 0 Decorate 23 Binding 0 + Decorate 23 DescriptorSet 0 Decorate 188(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.multiDescriptorSet.frag.out b/Test/baseResults/hlsl.multiDescriptorSet.frag.out index d79b1213..bf0b7b13 100644 --- a/Test/baseResults/hlsl.multiDescriptorSet.frag.out +++ b/Test/baseResults/hlsl.multiDescriptorSet.frag.out @@ -35,36 +35,36 @@ hlsl.multiDescriptorSet.frag Name 87 "param" Name 90 "txDiffuseB" Name 91 "samLinearB" - MemberDecorate 23(cbChangesEveryFrame) 0 RowMajor - MemberDecorate 23(cbChangesEveryFrame) 0 Offset 0 - MemberDecorate 23(cbChangesEveryFrame) 0 MatrixStride 16 - MemberDecorate 23(cbChangesEveryFrame) 1 Offset 64 Decorate 23(cbChangesEveryFrame) Block - Decorate 25 DescriptorSet 2 + MemberDecorate 23(cbChangesEveryFrame) 0 RowMajor + MemberDecorate 23(cbChangesEveryFrame) 0 MatrixStride 16 + MemberDecorate 23(cbChangesEveryFrame) 0 Offset 0 + MemberDecorate 23(cbChangesEveryFrame) 1 Offset 64 Decorate 25 Binding 2 - MemberDecorate 34(cbNeverChanges) 0 RowMajor - MemberDecorate 34(cbNeverChanges) 0 Offset 0 - MemberDecorate 34(cbNeverChanges) 0 MatrixStride 16 + Decorate 25 DescriptorSet 2 Decorate 34(cbNeverChanges) Block - Decorate 36 DescriptorSet 2 + MemberDecorate 34(cbNeverChanges) 0 RowMajor + MemberDecorate 34(cbNeverChanges) 0 MatrixStride 16 + MemberDecorate 34(cbNeverChanges) 0 Offset 0 Decorate 36 Binding 0 - MemberDecorate 43(cbChangeOnResize) 0 RowMajor - MemberDecorate 43(cbChangeOnResize) 0 Offset 0 - MemberDecorate 43(cbChangeOnResize) 0 MatrixStride 16 + Decorate 36 DescriptorSet 2 Decorate 43(cbChangeOnResize) Block - Decorate 45 DescriptorSet 2 + MemberDecorate 43(cbChangeOnResize) 0 RowMajor + MemberDecorate 43(cbChangeOnResize) 0 MatrixStride 16 + MemberDecorate 43(cbChangeOnResize) 0 Offset 0 Decorate 45 Binding 1 - Decorate 59(txDiffuseA) DescriptorSet 0 + Decorate 45 DescriptorSet 2 Decorate 59(txDiffuseA) Binding 0 - Decorate 63(samLinearA) DescriptorSet 0 + Decorate 59(txDiffuseA) DescriptorSet 0 Decorate 63(samLinearA) Binding 1 + Decorate 63(samLinearA) DescriptorSet 0 Decorate 78(input.Pos) BuiltIn FragCoord Decorate 82(input.Tex) Location 0 Decorate 86(@entryPointOutput) Location 0 - Decorate 90(txDiffuseB) DescriptorSet 1 Decorate 90(txDiffuseB) Binding 0 - Decorate 91(samLinearB) DescriptorSet 1 + Decorate 90(txDiffuseB) DescriptorSet 1 Decorate 91(samLinearB) Binding 1 + Decorate 91(samLinearB) DescriptorSet 1 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.multiEntry.vert.out b/Test/baseResults/hlsl.multiEntry.vert.out index 0e31ed6e..3bf8d79c 100644 --- a/Test/baseResults/hlsl.multiEntry.vert.out +++ b/Test/baseResults/hlsl.multiEntry.vert.out @@ -90,8 +90,8 @@ Shader version: 500 Name 34 "Index" Name 37 "@entryPointOutput" Name 38 "param" - Decorate 19(Position) DescriptorSet 0 Decorate 19(Position) Binding 0 + Decorate 19(Position) DescriptorSet 0 Decorate 34(Index) BuiltIn VertexIndex Decorate 37(@entryPointOutput) BuiltIn Position 2: TypeVoid diff --git a/Test/baseResults/hlsl.multiReturn.frag.out b/Test/baseResults/hlsl.multiReturn.frag.out index fbe7fbf9..38df9f05 100644 --- a/Test/baseResults/hlsl.multiReturn.frag.out +++ b/Test/baseResults/hlsl.multiReturn.frag.out @@ -74,12 +74,12 @@ gl_FragCoord origin is upper left MemberDecorate 15(S) 0 Offset 0 MemberDecorate 15(S) 1 Offset 4 MemberDecorate 15(S) 2 RowMajor - MemberDecorate 15(S) 2 Offset 16 MemberDecorate 15(S) 2 MatrixStride 16 - MemberDecorate 16(bufName) 0 Offset 0 + MemberDecorate 15(S) 2 Offset 16 Decorate 16(bufName) Block - Decorate 18 DescriptorSet 0 + MemberDecorate 16(bufName) 0 Offset 0 Decorate 18 Binding 0 + Decorate 18 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.multiView.frag.out b/Test/baseResults/hlsl.multiView.frag.out index 32e669ca..95c93444 100644 --- a/Test/baseResults/hlsl.multiView.frag.out +++ b/Test/baseResults/hlsl.multiView.frag.out @@ -84,8 +84,8 @@ gl_FragCoord origin is upper left Name 22 "ViewIndex" Name 25 "@entryPointOutput" Name 26 "param" - Decorate 22(ViewIndex) Flat Decorate 22(ViewIndex) BuiltIn ViewIndex + Decorate 22(ViewIndex) Flat Decorate 25(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.nested-runtimeArray.frag.out b/Test/baseResults/hlsl.nested-runtimeArray.frag.out index f019290c..c80ea850 100644 --- a/Test/baseResults/hlsl.nested-runtimeArray.frag.out +++ b/Test/baseResults/hlsl.nested-runtimeArray.frag.out @@ -82,13 +82,13 @@ gl_FragCoord origin is upper left Name 15 "B" Name 24 "@entryPointOutput" Decorate 10 ArrayStride 4 - MemberDecorate 11(A) 0 Offset 0 Decorate 11(A) BufferBlock + MemberDecorate 11(A) 0 Offset 0 Decorate 12 ArrayStride 4 - MemberDecorate 13(B) 0 Offset 0 Decorate 13(B) BufferBlock - Decorate 15(B) DescriptorSet 0 + MemberDecorate 13(B) 0 Offset 0 Decorate 15(B) Binding 0 + Decorate 15(B) DescriptorSet 0 Decorate 24(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.noSemantic.functionality1.comp.out b/Test/baseResults/hlsl.noSemantic.functionality1.comp.out index 1121e0b0..ab02db0e 100644 --- a/Test/baseResults/hlsl.noSemantic.functionality1.comp.out +++ b/Test/baseResults/hlsl.noSemantic.functionality1.comp.out @@ -19,15 +19,15 @@ hlsl.noSemantic.functionality1.comp MemberName 17(Buf@count) 0 "@count" Name 19 "Buf@count" Decorate 10 ArrayStride 16 - MemberDecorate 11(Buf) 0 Offset 0 Decorate 11(Buf) BufferBlock - Decorate 13(Buf) DescriptorSet 0 + MemberDecorate 11(Buf) 0 Offset 0 Decorate 13(Buf) Binding 0 - MemberDecorate 17(Buf@count) 0 Offset 0 - Decorate 17(Buf@count) BufferBlock - Decorate 19(Buf@count) DescriptorSet 0 - Decorate 19(Buf@count) Binding 0 + Decorate 13(Buf) DescriptorSet 0 DecorateId 13(Buf) DecorationHlslCounterBufferGOOGLE 19(Buf@count) + Decorate 17(Buf@count) BufferBlock + MemberDecorate 17(Buf@count) 0 Offset 0 + Decorate 19(Buf@count) Binding 0 + Decorate 19(Buf@count) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 diff --git a/Test/baseResults/hlsl.opaque-type-bug.frag.out b/Test/baseResults/hlsl.opaque-type-bug.frag.out index d82509d6..2c8a5546 100644 --- a/Test/baseResults/hlsl.opaque-type-bug.frag.out +++ b/Test/baseResults/hlsl.opaque-type-bug.frag.out @@ -75,8 +75,8 @@ gl_FragCoord origin is upper left Name 20 "MyTexture" Name 22 "final_RGB" Name 23 "param" - Decorate 20(MyTexture) DescriptorSet 0 Decorate 20(MyTexture) Binding 0 + Decorate 20(MyTexture) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.params.default.frag.out b/Test/baseResults/hlsl.params.default.frag.out index be1f6416..81fc98c6 100644 --- a/Test/baseResults/hlsl.params.default.frag.out +++ b/Test/baseResults/hlsl.params.default.frag.out @@ -437,10 +437,10 @@ gl_FragCoord origin is upper left Name 168 "param" Name 169 "param" Name 175 "@entryPointOutput" - MemberDecorate 108($Global) 0 Offset 0 Decorate 108($Global) Block - Decorate 110 DescriptorSet 0 + MemberDecorate 108($Global) 0 Offset 0 Decorate 110 Binding 0 + Decorate 110 DescriptorSet 0 Decorate 175(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.partialFlattenLocal.vert.out b/Test/baseResults/hlsl.partialFlattenLocal.vert.out index 6a1b1ded..c18f10d3 100644 --- a/Test/baseResults/hlsl.partialFlattenLocal.vert.out +++ b/Test/baseResults/hlsl.partialFlattenLocal.vert.out @@ -262,8 +262,8 @@ Shader version: 500 Name 86 "pos" Name 89 "@entryPointOutput" Name 90 "param" - Decorate 27(tex) DescriptorSet 0 Decorate 27(tex) Binding 0 + Decorate 27(tex) DescriptorSet 0 Decorate 86(pos) Location 0 Decorate 89(@entryPointOutput) BuiltIn Position 2: TypeVoid diff --git a/Test/baseResults/hlsl.partialFlattenMixed.vert.out b/Test/baseResults/hlsl.partialFlattenMixed.vert.out index eae3c98b..a34caad1 100644 --- a/Test/baseResults/hlsl.partialFlattenMixed.vert.out +++ b/Test/baseResults/hlsl.partialFlattenMixed.vert.out @@ -113,10 +113,10 @@ Shader version: 500 Name 36 "pos" Name 39 "@entryPointOutput" Name 40 "param" - Decorate 24(tex[0]) DescriptorSet 0 Decorate 24(tex[0]) Binding 0 - Decorate 28(tex[1]) DescriptorSet 0 + Decorate 24(tex[0]) DescriptorSet 0 Decorate 28(tex[1]) Binding 1 + Decorate 28(tex[1]) DescriptorSet 0 Decorate 36(pos) Location 0 Decorate 39(@entryPointOutput) BuiltIn Position 2: TypeVoid diff --git a/Test/baseResults/hlsl.pp.line2.frag.out b/Test/baseResults/hlsl.pp.line2.frag.out index 1c73bceb..81b8d470 100644 --- a/Test/baseResults/hlsl.pp.line2.frag.out +++ b/Test/baseResults/hlsl.pp.line2.frag.out @@ -9,9 +9,9 @@ hlsl.pp.line2.frag EntryPoint Fragment 5 "MainPs" 71 75 ExecutionMode 5 OriginUpperLeft 1: String "hlsl.pp.line2.frag" - 17: String "foo.frag" - 32: String "foo.h" - 42: String "foo2.h" + 7: String "foo.frag" + 36: String "foo.h" + 44: String "foo2.h" Source HLSL 500 1 "// OpModuleProcessed auto-map-locations // OpModuleProcessed auto-map-bindings // OpModuleProcessed entry-point MainPs @@ -62,59 +62,59 @@ PS_OUTPUT MainPs ( PS_INPUT i ) " Name 5 "MainPs" - Name 9 "PS_INPUT" - MemberName 9(PS_INPUT) 0 "vTextureCoords" - Name 12 "PS_OUTPUT" - MemberName 12(PS_OUTPUT) 0 "vColor" - Name 15 "@MainPs(struct-PS_INPUT-vf21;" - Name 14 "i" - Name 19 "PerViewConstantBuffer_t" - MemberName 19(PerViewConstantBuffer_t) 0 "g_nDataIdx" - MemberName 19(PerViewConstantBuffer_t) 1 "g_nDataIdx2" - MemberName 19(PerViewConstantBuffer_t) 2 "g_B" - Name 21 "" - Name 34 "u" - Name 44 "ps_output" + Name 10 "PS_INPUT" + MemberName 10(PS_INPUT) 0 "vTextureCoords" + Name 13 "PS_OUTPUT" + MemberName 13(PS_OUTPUT) 0 "vColor" + Name 16 "@MainPs(struct-PS_INPUT-vf21;" + Name 15 "i" + Name 19 "ps_output" + Name 22 "u" + Name 23 "PerViewConstantBuffer_t" + MemberName 23(PerViewConstantBuffer_t) 0 "g_nDataIdx" + MemberName 23(PerViewConstantBuffer_t) 1 "g_nDataIdx2" + MemberName 23(PerViewConstantBuffer_t) 2 "g_B" + Name 25 "" Name 49 "g_tColor" Name 56 "g_sAniso" Name 69 "i" Name 71 "i.vTextureCoords" Name 75 "@entryPointOutput.vColor" Name 76 "param" - MemberDecorate 19(PerViewConstantBuffer_t) 0 Offset 0 - MemberDecorate 19(PerViewConstantBuffer_t) 1 Offset 4 - MemberDecorate 19(PerViewConstantBuffer_t) 2 Offset 8 - Decorate 19(PerViewConstantBuffer_t) Block - Decorate 49(g_tColor) DescriptorSet 0 + Decorate 23(PerViewConstantBuffer_t) Block + MemberDecorate 23(PerViewConstantBuffer_t) 0 Offset 0 + MemberDecorate 23(PerViewConstantBuffer_t) 1 Offset 4 + MemberDecorate 23(PerViewConstantBuffer_t) 2 Offset 8 Decorate 49(g_tColor) Binding 0 - Decorate 56(g_sAniso) DescriptorSet 0 + Decorate 49(g_tColor) DescriptorSet 0 Decorate 56(g_sAniso) Binding 1 + Decorate 56(g_sAniso) DescriptorSet 0 Decorate 71(i.vTextureCoords) Location 0 Decorate 75(@entryPointOutput.vColor) Location 0 3: TypeVoid 4: TypeFunction 3 - 7: TypeFloat 32 - 8: TypeVector 7(float) 2 - 9(PS_INPUT): TypeStruct 8(fvec2) - 10: TypePointer Function 9(PS_INPUT) - 11: TypeVector 7(float) 4 - 12(PS_OUTPUT): TypeStruct 11(fvec4) - 13: TypeFunction 12(PS_OUTPUT) 10(ptr) - 18: TypeInt 32 0 -19(PerViewConstantBuffer_t): TypeStruct 18(int) 18(int) 18(int) - 20: TypePointer PushConstant 19(PerViewConstantBuffer_t) - 21: 20(ptr) Variable PushConstant - 22: TypeInt 32 1 - 23: 22(int) Constant 2 - 24: TypePointer PushConstant 18(int) - 27: TypeBool - 28: 18(int) Constant 0 - 33: TypePointer Function 18(int) - 35: 22(int) Constant 0 - 39: 22(int) Constant 1 - 43: TypePointer Function 12(PS_OUTPUT) - 45: TypeImage 7(float) 2D sampled format:Unknown - 46: 18(int) Constant 128 + 8: TypeFloat 32 + 9: TypeVector 8(float) 2 + 10(PS_INPUT): TypeStruct 9(fvec2) + 11: TypePointer Function 10(PS_INPUT) + 12: TypeVector 8(float) 4 + 13(PS_OUTPUT): TypeStruct 12(fvec4) + 14: TypeFunction 13(PS_OUTPUT) 11(ptr) + 18: TypePointer Function 13(PS_OUTPUT) + 20: TypeInt 32 0 + 21: TypePointer Function 20(int) +23(PerViewConstantBuffer_t): TypeStruct 20(int) 20(int) 20(int) + 24: TypePointer PushConstant 23(PerViewConstantBuffer_t) + 25: 24(ptr) Variable PushConstant + 26: TypeInt 32 1 + 27: 26(int) Constant 2 + 28: TypePointer PushConstant 20(int) + 31: TypeBool + 32: 20(int) Constant 0 + 37: 26(int) Constant 0 + 41: 26(int) Constant 1 + 45: TypeImage 8(float) 2D sampled format:Unknown + 46: 20(int) Constant 128 47: TypeArray 45 46 48: TypePointer UniformConstant 47 49(g_tColor): 48(ptr) Variable UniformConstant @@ -123,65 +123,65 @@ PS_OUTPUT MainPs ( PS_INPUT i ) 55: TypePointer UniformConstant 54 56(g_sAniso): 55(ptr) Variable UniformConstant 58: TypeSampledImage 45 - 60: TypePointer Function 8(fvec2) - 64: TypePointer Function 11(fvec4) - 70: TypePointer Input 8(fvec2) + 60: TypePointer Function 9(fvec2) + 64: TypePointer Function 12(fvec4) + 70: TypePointer Input 9(fvec2) 71(i.vTextureCoords): 70(ptr) Variable Input - 74: TypePointer Output 11(fvec4) + 74: TypePointer Output 12(fvec4) 75(@entryPointOutput.vColor): 74(ptr) Variable Output - Line 17 23 1 + Line 7 23 1 5(MainPs): 3 Function None 4 6: Label - 69(i): 10(ptr) Variable Function - 76(param): 10(ptr) Variable Function - Line 17 23 0 - 72: 8(fvec2) Load 71(i.vTextureCoords) - 73: 60(ptr) AccessChain 69(i) 35 + 69(i): 11(ptr) Variable Function + 76(param): 11(ptr) Variable Function + Line 7 23 0 + 72: 9(fvec2) Load 71(i.vTextureCoords) + 73: 60(ptr) AccessChain 69(i) 37 Store 73 72 - 77: 9(PS_INPUT) Load 69(i) + 77:10(PS_INPUT) Load 69(i) Store 76(param) 77 - 78:12(PS_OUTPUT) FunctionCall 15(@MainPs(struct-PS_INPUT-vf21;) 76(param) - 79: 11(fvec4) CompositeExtract 78 0 + 78:13(PS_OUTPUT) FunctionCall 16(@MainPs(struct-PS_INPUT-vf21;) 76(param) + 79: 12(fvec4) CompositeExtract 78 0 Store 75(@entryPointOutput.vColor) 79 Return FunctionEnd - Line 17 23 1 -15(@MainPs(struct-PS_INPUT-vf21;):12(PS_OUTPUT) Function None 13 - 14(i): 10(ptr) FunctionParameter - 16: Label - 34(u): 33(ptr) Variable Function - 44(ps_output): 43(ptr) Variable Function - Line 17 47 0 - 25: 24(ptr) AccessChain 21 23 - 26: 18(int) Load 25 - 29: 27(bool) INotEqual 26 28 - SelectionMerge 31 None - BranchConditional 29 30 38 - 30: Label - Line 32 3 0 - 36: 24(ptr) AccessChain 21 35 - 37: 18(int) Load 36 - Store 34(u) 37 - Branch 31 - 38: Label - Line 32 67 0 - 40: 24(ptr) AccessChain 21 39 - 41: 18(int) Load 40 - Store 34(u) 41 - Branch 31 - 31: Label - Line 42 7 0 - 50: 18(int) Load 34(u) + Line 7 23 1 +16(@MainPs(struct-PS_INPUT-vf21;):13(PS_OUTPUT) Function None 14 + 15(i): 11(ptr) FunctionParameter + 17: Label + 19(ps_output): 18(ptr) Variable Function + 22(u): 21(ptr) Variable Function + Line 7 47 0 + 29: 28(ptr) AccessChain 25 27 + 30: 20(int) Load 29 + 33: 31(bool) INotEqual 30 32 + SelectionMerge 35 None + BranchConditional 33 34 40 + 34: Label + Line 36 3 0 + 38: 28(ptr) AccessChain 25 37 + 39: 20(int) Load 38 + Store 22(u) 39 + Branch 35 + 40: Label + Line 36 67 0 + 42: 28(ptr) AccessChain 25 41 + 43: 20(int) Load 42 + Store 22(u) 43 + Branch 35 + 35: Label + Line 44 7 0 + 50: 20(int) Load 22(u) 52: 51(ptr) AccessChain 49(g_tColor) 50 53: 45 Load 52 57: 54 Load 56(g_sAniso) 59: 58 SampledImage 53 57 - 61: 60(ptr) AccessChain 14(i) 35 - 62: 8(fvec2) Load 61 - 63: 11(fvec4) ImageSampleImplicitLod 59 62 - 65: 64(ptr) AccessChain 44(ps_output) 35 + 61: 60(ptr) AccessChain 15(i) 37 + 62: 9(fvec2) Load 61 + 63: 12(fvec4) ImageSampleImplicitLod 59 62 + 65: 64(ptr) AccessChain 19(ps_output) 37 Store 65 63 - Line 42 105 0 - 66:12(PS_OUTPUT) Load 44(ps_output) + Line 44 105 0 + 66:13(PS_OUTPUT) Load 19(ps_output) ReturnValue 66 FunctionEnd diff --git a/Test/baseResults/hlsl.pp.line3.frag.out b/Test/baseResults/hlsl.pp.line3.frag.out index 717a21b9..a2c43de8 100644 --- a/Test/baseResults/hlsl.pp.line3.frag.out +++ b/Test/baseResults/hlsl.pp.line3.frag.out @@ -72,14 +72,14 @@ PS_OUTPUT MainPs ( PS_INPUT i ) Name 69 "i.vTextureCoords" Name 73 "@entryPointOutput.vColor" Name 74 "param" + Decorate 19(PerViewConstantBuffer_t) Block MemberDecorate 19(PerViewConstantBuffer_t) 0 Offset 0 MemberDecorate 19(PerViewConstantBuffer_t) 1 Offset 4 MemberDecorate 19(PerViewConstantBuffer_t) 2 Offset 8 - Decorate 19(PerViewConstantBuffer_t) Block - Decorate 47(g_tColor) DescriptorSet 0 Decorate 47(g_tColor) Binding 0 - Decorate 54(g_sAniso) DescriptorSet 0 + Decorate 47(g_tColor) DescriptorSet 0 Decorate 54(g_sAniso) Binding 0 + Decorate 54(g_sAniso) DescriptorSet 0 Decorate 69(i.vTextureCoords) Location 0 Decorate 73(@entryPointOutput.vColor) Location 0 4: TypeVoid diff --git a/Test/baseResults/hlsl.pp.line4.frag.out b/Test/baseResults/hlsl.pp.line4.frag.out index da968b23..a7dfd504 100644 --- a/Test/baseResults/hlsl.pp.line4.frag.out +++ b/Test/baseResults/hlsl.pp.line4.frag.out @@ -9,8 +9,8 @@ hlsl.pp.line4.frag EntryPoint Fragment 5 "MainPs" 70 74 ExecutionMode 5 OriginUpperLeft 1: String "hlsl.pp.line4.frag" - 17: String "C:\\Users\\Greg\\shaders\\line\\foo4.frag" - 32: String "C:\\Users\\Greg\\shaders\\line\\u1.h" + 7: String "C:\\Users\\Greg\\shaders\\line\\foo4.frag" + 36: String "C:\\Users\\Greg\\shaders\\line\\u1.h" Source HLSL 500 1 "// OpModuleProcessed auto-map-locations // OpModuleProcessed auto-map-bindings // OpModuleProcessed entry-point MainPs @@ -63,43 +63,43 @@ PS_OUTPUT MainPs ( PS_INPUT i ) " Name 5 "MainPs" - Name 19 "PerViewConstantBuffer_t" - MemberName 19(PerViewConstantBuffer_t) 0 "g_nDataIdx" - MemberName 19(PerViewConstantBuffer_t) 1 "g_nDataIdx2" - MemberName 19(PerViewConstantBuffer_t) 2 "g_B" - Name 21 "" + Name 23 "PerViewConstantBuffer_t" + MemberName 23(PerViewConstantBuffer_t) 0 "g_nDataIdx" + MemberName 23(PerViewConstantBuffer_t) 1 "g_nDataIdx2" + MemberName 23(PerViewConstantBuffer_t) 2 "g_B" + Name 25 "" Name 48 "g_tColor" Name 55 "g_sAniso" Name 70 "i.vTextureCoords" Name 74 "@entryPointOutput.vColor" - MemberDecorate 19(PerViewConstantBuffer_t) 0 Offset 0 - MemberDecorate 19(PerViewConstantBuffer_t) 1 Offset 4 - MemberDecorate 19(PerViewConstantBuffer_t) 2 Offset 8 - Decorate 19(PerViewConstantBuffer_t) Block - Decorate 48(g_tColor) DescriptorSet 0 + Decorate 23(PerViewConstantBuffer_t) Block + MemberDecorate 23(PerViewConstantBuffer_t) 0 Offset 0 + MemberDecorate 23(PerViewConstantBuffer_t) 1 Offset 4 + MemberDecorate 23(PerViewConstantBuffer_t) 2 Offset 8 Decorate 48(g_tColor) Binding 0 - Decorate 55(g_sAniso) DescriptorSet 0 + Decorate 48(g_tColor) DescriptorSet 0 Decorate 55(g_sAniso) Binding 1 + Decorate 55(g_sAniso) DescriptorSet 0 Decorate 70(i.vTextureCoords) Location 0 Decorate 74(@entryPointOutput.vColor) Location 0 3: TypeVoid 4: TypeFunction 3 - 7: TypeFloat 32 - 8: TypeVector 7(float) 2 - 11: TypeVector 7(float) 4 - 18: TypeInt 32 0 -19(PerViewConstantBuffer_t): TypeStruct 18(int) 18(int) 18(int) - 20: TypePointer PushConstant 19(PerViewConstantBuffer_t) - 21: 20(ptr) Variable PushConstant - 22: TypeInt 32 1 - 23: 22(int) Constant 2 - 24: TypePointer PushConstant 18(int) - 27: TypeBool - 28: 18(int) Constant 0 - 35: 22(int) Constant 0 - 39: 22(int) Constant 1 - 44: TypeImage 7(float) 2D sampled format:Unknown - 45: 18(int) Constant 128 + 8: TypeFloat 32 + 9: TypeVector 8(float) 2 + 12: TypeVector 8(float) 4 + 20: TypeInt 32 0 +23(PerViewConstantBuffer_t): TypeStruct 20(int) 20(int) 20(int) + 24: TypePointer PushConstant 23(PerViewConstantBuffer_t) + 25: 24(ptr) Variable PushConstant + 26: TypeInt 32 1 + 27: 26(int) Constant 2 + 28: TypePointer PushConstant 20(int) + 31: TypeBool + 32: 20(int) Constant 0 + 37: 26(int) Constant 0 + 41: 26(int) Constant 1 + 44: TypeImage 8(float) 2D sampled format:Unknown + 45: 20(int) Constant 128 46: TypeArray 44 45 47: TypePointer UniformConstant 46 48(g_tColor): 47(ptr) Variable UniformConstant @@ -108,41 +108,41 @@ PS_OUTPUT MainPs ( PS_INPUT i ) 54: TypePointer UniformConstant 53 55(g_sAniso): 54(ptr) Variable UniformConstant 57: TypeSampledImage 44 - 69: TypePointer Input 8(fvec2) + 69: TypePointer Input 9(fvec2) 70(i.vTextureCoords): 69(ptr) Variable Input - 73: TypePointer Output 11(fvec4) + 73: TypePointer Output 12(fvec4) 74(@entryPointOutput.vColor): 73(ptr) Variable Output - Line 17 25 1 + Line 7 25 1 5(MainPs): 3 Function None 4 NoLine 6: Label - Line 17 25 0 - 71: 8(fvec2) Load 70(i.vTextureCoords) - Line 17 29 0 - 83: 24(ptr) AccessChain 21 23 - 84: 18(int) Load 83 - 85: 27(bool) INotEqual 84 28 + Line 7 25 0 + 71: 9(fvec2) Load 70(i.vTextureCoords) + Line 7 29 0 + 83: 28(ptr) AccessChain 25 27 + 84: 20(int) Load 83 + 85: 31(bool) INotEqual 84 32 SelectionMerge 92 None BranchConditional 85 86 89 86: Label - Line 32 1 0 - 87: 24(ptr) AccessChain 21 35 - 88: 18(int) Load 87 + Line 36 1 0 + 87: 28(ptr) AccessChain 25 37 + 88: 20(int) Load 87 Branch 92 89: Label - Line 17 32 0 - 90: 24(ptr) AccessChain 21 39 - 91: 18(int) Load 90 + Line 7 32 0 + 90: 28(ptr) AccessChain 25 41 + 91: 20(int) Load 90 Branch 92 92: Label - 115: 18(int) Phi 88 86 91 89 - Line 17 33 0 + 115: 20(int) Phi 88 86 91 89 + Line 7 33 0 94: 50(ptr) AccessChain 48(g_tColor) 115 95: 44 Load 94 96: 53 Load 55(g_sAniso) 97: 57 SampledImage 95 96 - 100: 11(fvec4) ImageSampleImplicitLod 97 71 - Line 17 25 0 + 100: 12(fvec4) ImageSampleImplicitLod 97 71 + Line 7 25 0 Store 74(@entryPointOutput.vColor) 100 Return FunctionEnd diff --git a/Test/baseResults/hlsl.pp.vert.out b/Test/baseResults/hlsl.pp.vert.out index 652cf174..c0850415 100644 --- a/Test/baseResults/hlsl.pp.vert.out +++ b/Test/baseResults/hlsl.pp.vert.out @@ -40,11 +40,11 @@ Shader version: 500 MemberName 10($Global) 0 "goodGlobal1" MemberName 10($Global) 1 "goodGlobal2" Name 12 "" + Decorate 10($Global) Block MemberDecorate 10($Global) 0 Offset 0 MemberDecorate 10($Global) 1 Offset 4 - Decorate 10($Global) Block - Decorate 12 DescriptorSet 0 Decorate 12 Binding 0 + Decorate 12 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 9: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.preprocessor.frag.out b/Test/baseResults/hlsl.preprocessor.frag.out index 106762bf..d0795d8a 100644 --- a/Test/baseResults/hlsl.preprocessor.frag.out +++ b/Test/baseResults/hlsl.preprocessor.frag.out @@ -113,10 +113,10 @@ gl_FragCoord origin is upper left Name 33 "input" Name 36 "@entryPointOutput" Name 37 "param" - Decorate 16(test_texture) DescriptorSet 0 Decorate 16(test_texture) Binding 0 - Decorate 20(test_texture_ss) DescriptorSet 0 + Decorate 16(test_texture) DescriptorSet 0 Decorate 20(test_texture_ss) Binding 1 + Decorate 20(test_texture_ss) DescriptorSet 0 Decorate 33(input) Location 0 Decorate 36(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.promote.atomic.frag.out b/Test/baseResults/hlsl.promote.atomic.frag.out index 91b1d587..22d578e3 100644 --- a/Test/baseResults/hlsl.promote.atomic.frag.out +++ b/Test/baseResults/hlsl.promote.atomic.frag.out @@ -81,8 +81,8 @@ gl_FragCoord origin is upper left Name 18 "Loc" Name 20 "Inc" Name 34 "@entryPointOutput" - Decorate 17(s_uintbuff) DescriptorSet 0 Decorate 17(s_uintbuff) Binding 0 + Decorate 17(s_uintbuff) DescriptorSet 0 Decorate 34(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.promote.binary.frag.out b/Test/baseResults/hlsl.promote.binary.frag.out index f9f57a43..d2dee888 100644 --- a/Test/baseResults/hlsl.promote.binary.frag.out +++ b/Test/baseResults/hlsl.promote.binary.frag.out @@ -196,15 +196,15 @@ gl_FragCoord origin is upper left Name 66 "l_int" Name 73 "psout" Name 80 "@entryPointOutput.Color" + Decorate 16($Global) Block MemberDecorate 16($Global) 0 Offset 0 MemberDecorate 16($Global) 1 Offset 16 MemberDecorate 16($Global) 2 Offset 32 MemberDecorate 16($Global) 3 Offset 48 MemberDecorate 16($Global) 4 Offset 64 MemberDecorate 16($Global) 5 Offset 80 - Decorate 16($Global) Block - Decorate 18 DescriptorSet 0 Decorate 18 Binding 0 + Decorate 18 DescriptorSet 0 Decorate 80(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.promotions.frag.out b/Test/baseResults/hlsl.promotions.frag.out index 6d73cc7c..7bc2bb63 100644 --- a/Test/baseResults/hlsl.promotions.frag.out +++ b/Test/baseResults/hlsl.promotions.frag.out @@ -1683,6 +1683,7 @@ gl_FragCoord origin is upper left Name 578 "outval" Name 586 "psout" Name 593 "@entryPointOutput.Color" + Decorate 111($Global) Block MemberDecorate 111($Global) 0 Offset 0 MemberDecorate 111($Global) 1 Offset 16 MemberDecorate 111($Global) 2 Offset 32 @@ -1693,9 +1694,8 @@ gl_FragCoord origin is upper left MemberDecorate 111($Global) 7 Offset 96 MemberDecorate 111($Global) 8 Offset 100 MemberDecorate 111($Global) 9 Offset 104 - Decorate 111($Global) Block - Decorate 113 DescriptorSet 0 Decorate 113 Binding 0 + Decorate 113 DescriptorSet 0 Decorate 593(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.round.dx9.frag.out b/Test/baseResults/hlsl.round.dx9.frag.out index d4ff02a2..4e0a7918 100644 --- a/Test/baseResults/hlsl.round.dx9.frag.out +++ b/Test/baseResults/hlsl.round.dx9.frag.out @@ -5,7 +5,7 @@ gl_FragCoord origin is upper left 0:2 Function Definition: PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: 0:2 'input' ( in 4-component vector of float) -0:? Sequence +0:? Scope 0:3 Branch: Return with expression 0:3 round ( temp 4-component vector of float) 0:3 'input' ( in 4-component vector of float) @@ -22,7 +22,7 @@ gl_FragCoord origin is upper left 0:2 Function Definition: PixelShaderFunction(vf4; ( temp 4-component vector of float) 0:2 Function Parameters: 0:2 'input' ( in 4-component vector of float) -0:? Sequence +0:? Scope 0:3 Branch: Return with expression 0:3 round ( temp 4-component vector of float) 0:3 'input' ( in 4-component vector of float) @@ -58,6 +58,7 @@ gl_FragCoord origin is upper left 10: TypeFunction 8(fvec4) 9(ptr) 5(main): 3 Function None 4 6: Label + Line 1 3 0 Return FunctionEnd Line 1 2 1 diff --git a/Test/baseResults/hlsl.rw.atomics.frag.out b/Test/baseResults/hlsl.rw.atomics.frag.out index 83169f13..80754191 100644 --- a/Test/baseResults/hlsl.rw.atomics.frag.out +++ b/Test/baseResults/hlsl.rw.atomics.frag.out @@ -3996,8 +3996,9 @@ gl_FragCoord origin is upper left Name 1140 "g_tTex2di1a" Name 1143 "g_tTex2du1a" Name 1146 "g_tBuffF" - Decorate 15(g_tTex1di1) DescriptorSet 0 Decorate 15(g_tTex1di1) Binding 0 + Decorate 15(g_tTex1di1) DescriptorSet 0 + Decorate 21($Global) Block MemberDecorate 21($Global) 0 Offset 0 MemberDecorate 21($Global) 1 Offset 8 MemberDecorate 21($Global) 2 Offset 16 @@ -4008,46 +4009,45 @@ gl_FragCoord origin is upper left MemberDecorate 21($Global) 7 Offset 48 MemberDecorate 21($Global) 8 Offset 60 MemberDecorate 21($Global) 9 Offset 64 - Decorate 21($Global) Block - Decorate 23 DescriptorSet 0 Decorate 23 Binding 10 - Decorate 121(g_tTex1du1) DescriptorSet 0 + Decorate 23 DescriptorSet 0 Decorate 121(g_tTex1du1) Binding 1 - Decorate 217(g_tTex2di1) DescriptorSet 0 + Decorate 121(g_tTex1du1) DescriptorSet 0 Decorate 217(g_tTex2di1) Binding 2 - Decorate 308(g_tTex2du1) DescriptorSet 0 + Decorate 217(g_tTex2di1) DescriptorSet 0 Decorate 308(g_tTex2du1) Binding 3 - Decorate 399(g_tTex3di1) DescriptorSet 0 + Decorate 308(g_tTex2du1) DescriptorSet 0 Decorate 399(g_tTex3di1) Binding 4 - Decorate 490(g_tTex3du1) DescriptorSet 0 + Decorate 399(g_tTex3di1) DescriptorSet 0 Decorate 490(g_tTex3du1) Binding 5 - Decorate 581(g_tTex1di1a) DescriptorSet 0 + Decorate 490(g_tTex3du1) DescriptorSet 0 Decorate 581(g_tTex1di1a) Binding 6 - Decorate 670(g_tTex1du1a) DescriptorSet 0 + Decorate 581(g_tTex1di1a) DescriptorSet 0 Decorate 670(g_tTex1du1a) Binding 7 - Decorate 931(g_tBuffI) DescriptorSet 0 + Decorate 670(g_tTex1du1a) DescriptorSet 0 Decorate 931(g_tBuffI) Binding 8 - Decorate 1020(g_tBuffU) DescriptorSet 0 + Decorate 931(g_tBuffI) DescriptorSet 0 Decorate 1020(g_tBuffU) Binding 9 + Decorate 1020(g_tBuffU) DescriptorSet 0 Decorate 1117(@entryPointOutput.Color) Location 0 - Decorate 1122(g_sSamp) DescriptorSet 0 Decorate 1122(g_sSamp) Binding 0 - Decorate 1125(g_tTex1df1) DescriptorSet 0 + Decorate 1122(g_sSamp) DescriptorSet 0 Decorate 1125(g_tTex1df1) Binding 0 - Decorate 1128(g_tTex2df1) DescriptorSet 0 + Decorate 1125(g_tTex1df1) DescriptorSet 0 Decorate 1128(g_tTex2df1) Binding 0 - Decorate 1131(g_tTex3df1) DescriptorSet 0 + Decorate 1128(g_tTex2df1) DescriptorSet 0 Decorate 1131(g_tTex3df1) Binding 0 - Decorate 1134(g_tTex1df1a) DescriptorSet 0 + Decorate 1131(g_tTex3df1) DescriptorSet 0 Decorate 1134(g_tTex1df1a) Binding 0 - Decorate 1137(g_tTex2df1a) DescriptorSet 0 + Decorate 1134(g_tTex1df1a) DescriptorSet 0 Decorate 1137(g_tTex2df1a) Binding 0 - Decorate 1140(g_tTex2di1a) DescriptorSet 0 + Decorate 1137(g_tTex2df1a) DescriptorSet 0 Decorate 1140(g_tTex2di1a) Binding 0 - Decorate 1143(g_tTex2du1a) DescriptorSet 0 + Decorate 1140(g_tTex2di1a) DescriptorSet 0 Decorate 1143(g_tTex2du1a) Binding 0 - Decorate 1146(g_tBuffF) DescriptorSet 0 + Decorate 1143(g_tTex2du1a) DescriptorSet 0 Decorate 1146(g_tBuffF) Binding 0 + Decorate 1146(g_tBuffF) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.rw.bracket.frag.out b/Test/baseResults/hlsl.rw.bracket.frag.out index 02ed3799..f199c620 100644 --- a/Test/baseResults/hlsl.rw.bracket.frag.out +++ b/Test/baseResults/hlsl.rw.bracket.frag.out @@ -1880,6 +1880,7 @@ gl_FragCoord origin is upper left Name 600 "g_tTex2df4a" Name 603 "g_tTex2di4a" Name 606 "g_tTex2du4a" + Decorate 63($Global) Block MemberDecorate 63($Global) 0 Offset 0 MemberDecorate 63($Global) 1 Offset 8 MemberDecorate 63($Global) 2 Offset 16 @@ -1891,42 +1892,41 @@ gl_FragCoord origin is upper left MemberDecorate 63($Global) 8 Offset 96 MemberDecorate 63($Global) 9 Offset 112 MemberDecorate 63($Global) 10 Offset 128 - Decorate 63($Global) Block - Decorate 65 DescriptorSet 0 Decorate 65 Binding 9 - Decorate 75(g_tTex1df4) DescriptorSet 0 + Decorate 65 DescriptorSet 0 Decorate 75(g_tTex1df4) Binding 0 - Decorate 89(g_tTex1di4) DescriptorSet 0 + Decorate 75(g_tTex1df4) DescriptorSet 0 Decorate 89(g_tTex1di4) Binding 1 - Decorate 97(g_tTex1du4) DescriptorSet 0 + Decorate 89(g_tTex1di4) DescriptorSet 0 Decorate 97(g_tTex1du4) Binding 2 - Decorate 105(g_tTex2df4) DescriptorSet 0 + Decorate 97(g_tTex1du4) DescriptorSet 0 Decorate 105(g_tTex2df4) Binding 3 - Decorate 115(g_tTex2di4) DescriptorSet 0 + Decorate 105(g_tTex2df4) DescriptorSet 0 Decorate 115(g_tTex2di4) Binding 4 - Decorate 123(g_tTex2du4) DescriptorSet 0 + Decorate 115(g_tTex2di4) DescriptorSet 0 Decorate 123(g_tTex2du4) Binding 5 - Decorate 131(g_tTex3df4) DescriptorSet 0 + Decorate 123(g_tTex2du4) DescriptorSet 0 Decorate 131(g_tTex3df4) Binding 6 - Decorate 141(g_tTex3di4) DescriptorSet 0 + Decorate 131(g_tTex3df4) DescriptorSet 0 Decorate 141(g_tTex3di4) Binding 7 - Decorate 149(g_tTex3du4) DescriptorSet 0 + Decorate 141(g_tTex3di4) DescriptorSet 0 Decorate 149(g_tTex3du4) Binding 8 + Decorate 149(g_tTex3du4) DescriptorSet 0 Decorate 583(@entryPointOutput.Color) Location 0 - Decorate 588(g_sSamp) DescriptorSet 0 Decorate 588(g_sSamp) Binding 0 - Decorate 591(g_tTex1df4a) DescriptorSet 0 + Decorate 588(g_sSamp) DescriptorSet 0 Decorate 591(g_tTex1df4a) Binding 0 - Decorate 594(g_tTex1di4a) DescriptorSet 0 + Decorate 591(g_tTex1df4a) DescriptorSet 0 Decorate 594(g_tTex1di4a) Binding 0 - Decorate 597(g_tTex1du4a) DescriptorSet 0 + Decorate 594(g_tTex1di4a) DescriptorSet 0 Decorate 597(g_tTex1du4a) Binding 0 - Decorate 600(g_tTex2df4a) DescriptorSet 0 + Decorate 597(g_tTex1du4a) DescriptorSet 0 Decorate 600(g_tTex2df4a) Binding 0 - Decorate 603(g_tTex2di4a) DescriptorSet 0 + Decorate 600(g_tTex2df4a) DescriptorSet 0 Decorate 603(g_tTex2di4a) Binding 0 - Decorate 606(g_tTex2du4a) DescriptorSet 0 + Decorate 603(g_tTex2di4a) DescriptorSet 0 Decorate 606(g_tTex2du4a) Binding 0 + Decorate 606(g_tTex2du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.rw.register.frag.out b/Test/baseResults/hlsl.rw.register.frag.out index 558bf424..a4f37730 100644 --- a/Test/baseResults/hlsl.rw.register.frag.out +++ b/Test/baseResults/hlsl.rw.register.frag.out @@ -119,10 +119,10 @@ gl_FragCoord origin is upper left Name 27 "g_tBuf1du1" Name 33 "psout" Name 42 "@entryPointOutput.Color" - Decorate 16(g_tTex1df1) DescriptorSet 0 Decorate 16(g_tTex1df1) Binding 2 - Decorate 27(g_tBuf1du1) DescriptorSet 0 + Decorate 16(g_tTex1df1) DescriptorSet 0 Decorate 27(g_tBuf1du1) Binding 3 + Decorate 27(g_tBuf1du1) DescriptorSet 0 Decorate 42(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out index f2bef19a..20c7600f 100644 --- a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out +++ b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out @@ -1826,6 +1826,7 @@ gl_FragCoord origin is upper left Name 600 "g_tTex2df1a" Name 603 "g_tTex2di1a" Name 606 "g_tTex2du1a" + Decorate 59($Global) Block MemberDecorate 59($Global) 0 Offset 0 MemberDecorate 59($Global) 1 Offset 8 MemberDecorate 59($Global) 2 Offset 16 @@ -1837,42 +1838,41 @@ gl_FragCoord origin is upper left MemberDecorate 59($Global) 8 Offset 96 MemberDecorate 59($Global) 9 Offset 100 MemberDecorate 59($Global) 10 Offset 104 - Decorate 59($Global) Block - Decorate 61 DescriptorSet 0 Decorate 61 Binding 10 - Decorate 70(g_tTex1df1) DescriptorSet 0 + Decorate 61 DescriptorSet 0 Decorate 70(g_tTex1df1) Binding 1 - Decorate 85(g_tTex1di1) DescriptorSet 0 + Decorate 70(g_tTex1df1) DescriptorSet 0 Decorate 85(g_tTex1di1) Binding 2 - Decorate 94(g_tTex1du1) DescriptorSet 0 + Decorate 85(g_tTex1di1) DescriptorSet 0 Decorate 94(g_tTex1du1) Binding 3 - Decorate 104(g_tTex2df1) DescriptorSet 0 + Decorate 94(g_tTex1du1) DescriptorSet 0 Decorate 104(g_tTex2df1) Binding 4 - Decorate 115(g_tTex2di1) DescriptorSet 0 + Decorate 104(g_tTex2df1) DescriptorSet 0 Decorate 115(g_tTex2di1) Binding 5 - Decorate 124(g_tTex2du1) DescriptorSet 0 + Decorate 115(g_tTex2di1) DescriptorSet 0 Decorate 124(g_tTex2du1) Binding 6 - Decorate 133(g_tTex3df1) DescriptorSet 0 + Decorate 124(g_tTex2du1) DescriptorSet 0 Decorate 133(g_tTex3df1) Binding 7 - Decorate 144(g_tTex3di1) DescriptorSet 0 + Decorate 133(g_tTex3df1) DescriptorSet 0 Decorate 144(g_tTex3di1) Binding 8 - Decorate 153(g_tTex3du1) DescriptorSet 0 + Decorate 144(g_tTex3di1) DescriptorSet 0 Decorate 153(g_tTex3du1) Binding 9 + Decorate 153(g_tTex3du1) DescriptorSet 0 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 588(g_sSamp) DescriptorSet 0 Decorate 591(g_tTex1df1a) Binding 0 - Decorate 594(g_tTex1di1a) DescriptorSet 0 + Decorate 591(g_tTex1df1a) DescriptorSet 0 Decorate 594(g_tTex1di1a) Binding 0 - Decorate 597(g_tTex1du1a) DescriptorSet 0 + Decorate 594(g_tTex1di1a) DescriptorSet 0 Decorate 597(g_tTex1du1a) Binding 0 - Decorate 600(g_tTex2df1a) DescriptorSet 0 + Decorate 597(g_tTex1du1a) DescriptorSet 0 Decorate 600(g_tTex2df1a) Binding 0 - Decorate 603(g_tTex2di1a) DescriptorSet 0 + Decorate 600(g_tTex2df1a) DescriptorSet 0 Decorate 603(g_tTex2di1a) Binding 0 - Decorate 606(g_tTex2du1a) DescriptorSet 0 + Decorate 603(g_tTex2di1a) DescriptorSet 0 Decorate 606(g_tTex2du1a) Binding 0 + Decorate 606(g_tTex2du1a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.rw.swizzle.frag.out b/Test/baseResults/hlsl.rw.swizzle.frag.out index 5121cebd..28788f9d 100644 --- a/Test/baseResults/hlsl.rw.swizzle.frag.out +++ b/Test/baseResults/hlsl.rw.swizzle.frag.out @@ -223,11 +223,11 @@ gl_FragCoord origin is upper left Name 46 "storeTemp" Name 58 "@entryPointOutput" Name 62 "buf" - Decorate 35(rwtx) DescriptorSet 0 Decorate 35(rwtx) Binding 0 + Decorate 35(rwtx) DescriptorSet 0 Decorate 58(@entryPointOutput) Location 0 - Decorate 62(buf) DescriptorSet 0 Decorate 62(buf) Binding 0 + Decorate 62(buf) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out index a0c639bf..304ff9c0 100644 --- a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out +++ b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out @@ -1845,6 +1845,7 @@ gl_FragCoord origin is upper left Name 704 "g_tTex2df2a" Name 707 "g_tTex2di2a" Name 710 "g_tTex2du2a" + Decorate 64($Global) Block MemberDecorate 64($Global) 0 Offset 0 MemberDecorate 64($Global) 1 Offset 8 MemberDecorate 64($Global) 2 Offset 16 @@ -1856,42 +1857,41 @@ gl_FragCoord origin is upper left MemberDecorate 64($Global) 8 Offset 96 MemberDecorate 64($Global) 9 Offset 104 MemberDecorate 64($Global) 10 Offset 112 - Decorate 64($Global) Block - Decorate 66 DescriptorSet 0 Decorate 66 Binding 10 - Decorate 76(g_tTex1df2) DescriptorSet 0 + Decorate 66 DescriptorSet 0 Decorate 76(g_tTex1df2) Binding 1 - Decorate 96(g_tTex1di2) DescriptorSet 0 + Decorate 76(g_tTex1df2) DescriptorSet 0 Decorate 96(g_tTex1di2) Binding 2 - Decorate 107(g_tTex1du2) DescriptorSet 0 + Decorate 96(g_tTex1di2) DescriptorSet 0 Decorate 107(g_tTex1du2) Binding 3 - Decorate 119(g_tTex2df2) DescriptorSet 0 + Decorate 107(g_tTex1du2) DescriptorSet 0 Decorate 119(g_tTex2df2) Binding 4 - Decorate 130(g_tTex2di2) DescriptorSet 0 + Decorate 119(g_tTex2df2) DescriptorSet 0 Decorate 130(g_tTex2di2) Binding 5 - Decorate 141(g_tTex2du2) DescriptorSet 0 + Decorate 130(g_tTex2di2) DescriptorSet 0 Decorate 141(g_tTex2du2) Binding 6 - Decorate 152(g_tTex3df2) DescriptorSet 0 + Decorate 141(g_tTex2du2) DescriptorSet 0 Decorate 152(g_tTex3df2) Binding 7 - Decorate 165(g_tTex3di2) DescriptorSet 0 + Decorate 152(g_tTex3df2) DescriptorSet 0 Decorate 165(g_tTex3di2) Binding 8 - Decorate 176(g_tTex3du2) DescriptorSet 0 + Decorate 165(g_tTex3di2) DescriptorSet 0 Decorate 176(g_tTex3du2) Binding 9 + Decorate 176(g_tTex3du2) DescriptorSet 0 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 692(g_sSamp) DescriptorSet 0 Decorate 695(g_tTex1df2a) Binding 0 - Decorate 698(g_tTex1di2a) DescriptorSet 0 + Decorate 695(g_tTex1df2a) DescriptorSet 0 Decorate 698(g_tTex1di2a) Binding 0 - Decorate 701(g_tTex1du2a) DescriptorSet 0 + Decorate 698(g_tTex1di2a) DescriptorSet 0 Decorate 701(g_tTex1du2a) Binding 0 - Decorate 704(g_tTex2df2a) DescriptorSet 0 + Decorate 701(g_tTex1du2a) DescriptorSet 0 Decorate 704(g_tTex2df2a) Binding 0 - Decorate 707(g_tTex2di2a) DescriptorSet 0 + Decorate 704(g_tTex2df2a) DescriptorSet 0 Decorate 707(g_tTex2di2a) Binding 0 - Decorate 710(g_tTex2du2a) DescriptorSet 0 + Decorate 707(g_tTex2di2a) DescriptorSet 0 Decorate 710(g_tTex2du2a) Binding 0 + Decorate 710(g_tTex2du2a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.sample.array.dx10.frag.out b/Test/baseResults/hlsl.sample.array.dx10.frag.out index 1acca183..eb5ed7b9 100644 --- a/Test/baseResults/hlsl.sample.array.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.array.dx10.frag.out @@ -363,30 +363,30 @@ using depth_any Name 138 "@entryPointOutput.Color" Name 142 "@entryPointOutput.Depth" Name 145 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 35(g_tTex1di4) Binding 2 - Decorate 49(g_tTex1du4) DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 Decorate 49(g_tTex1du4) Binding 3 - Decorate 60(g_tTex2df4) DescriptorSet 0 + Decorate 49(g_tTex1du4) DescriptorSet 0 Decorate 60(g_tTex2df4) Binding 4 - Decorate 71(g_tTex2di4) DescriptorSet 0 + Decorate 60(g_tTex2df4) DescriptorSet 0 Decorate 71(g_tTex2di4) Binding 5 - Decorate 82(g_tTex2du4) DescriptorSet 0 + Decorate 71(g_tTex2di4) DescriptorSet 0 Decorate 82(g_tTex2du4) Binding 6 - Decorate 94(g_tTexcdf4) DescriptorSet 0 + Decorate 82(g_tTex2du4) DescriptorSet 0 Decorate 94(g_tTexcdf4) Binding 7 - Decorate 104(g_tTexcdi4) DescriptorSet 0 + Decorate 94(g_tTexcdf4) DescriptorSet 0 Decorate 104(g_tTexcdi4) Binding 8 - Decorate 114(g_tTexcdu4) DescriptorSet 0 + Decorate 104(g_tTexcdi4) DescriptorSet 0 Decorate 114(g_tTexcdu4) Binding 9 + Decorate 114(g_tTexcdu4) DescriptorSet 0 Decorate 138(@entryPointOutput.Color) Location 0 Decorate 142(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 145(g_tTex1df4a) DescriptorSet 0 Decorate 145(g_tTex1df4a) Binding 1 + Decorate 145(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.sample.basic.dx10.frag.out b/Test/baseResults/hlsl.sample.basic.dx10.frag.out index e3063178..8e2739d9 100644 --- a/Test/baseResults/hlsl.sample.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.basic.dx10.frag.out @@ -612,40 +612,40 @@ using depth_any Name 195 "g_sSamp2d" Name 196 "g_sSamp2D_b" Name 197 "g_tTex1df4a" - Decorate 45(g_tTex1df4) DescriptorSet 0 Decorate 45(g_tTex1df4) Binding 0 - Decorate 49(g_sSamp) DescriptorSet 0 + Decorate 45(g_tTex1df4) DescriptorSet 0 Decorate 49(g_sSamp) Binding 0 - Decorate 60(g_tTex1di4) DescriptorSet 0 + Decorate 49(g_sSamp) DescriptorSet 0 Decorate 60(g_tTex1di4) Binding 2 - Decorate 73(g_tTex1du4) DescriptorSet 0 + Decorate 60(g_tTex1di4) DescriptorSet 0 Decorate 73(g_tTex1du4) Binding 3 - Decorate 83(g_tTex2df4) DescriptorSet 0 + Decorate 73(g_tTex1du4) DescriptorSet 0 Decorate 83(g_tTex2df4) Binding 4 - Decorate 94(g_tTex2di4) DescriptorSet 0 + Decorate 83(g_tTex2df4) DescriptorSet 0 Decorate 94(g_tTex2di4) Binding 5 - Decorate 105(g_tTex2du4) DescriptorSet 0 + Decorate 94(g_tTex2di4) DescriptorSet 0 Decorate 105(g_tTex2du4) Binding 6 - Decorate 117(g_tTex3df4) DescriptorSet 0 + Decorate 105(g_tTex2du4) DescriptorSet 0 Decorate 117(g_tTex3df4) Binding 7 - Decorate 128(g_tTex3di4) DescriptorSet 0 + Decorate 117(g_tTex3df4) DescriptorSet 0 Decorate 128(g_tTex3di4) Binding 8 - Decorate 138(g_tTex3du4) DescriptorSet 0 + Decorate 128(g_tTex3di4) DescriptorSet 0 Decorate 138(g_tTex3du4) Binding 9 - Decorate 151(g_tTexcdf4) DescriptorSet 0 + Decorate 138(g_tTex3du4) DescriptorSet 0 Decorate 151(g_tTexcdf4) Binding 10 - Decorate 160(g_tTexcdi4) DescriptorSet 0 + Decorate 151(g_tTexcdf4) DescriptorSet 0 Decorate 160(g_tTexcdi4) Binding 11 - Decorate 169(g_tTexcdu4) DescriptorSet 0 + Decorate 160(g_tTexcdi4) DescriptorSet 0 Decorate 169(g_tTexcdu4) Binding 12 + Decorate 169(g_tTexcdu4) DescriptorSet 0 Decorate 188(@entryPointOutput.Color) Location 0 Decorate 192(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 195(g_sSamp2d) DescriptorSet 0 Decorate 195(g_sSamp2d) Binding 0 - Decorate 196(g_sSamp2D_b) DescriptorSet 0 + Decorate 195(g_sSamp2d) DescriptorSet 0 Decorate 196(g_sSamp2D_b) Binding 0 - Decorate 197(g_tTex1df4a) DescriptorSet 0 + Decorate 196(g_sSamp2D_b) DescriptorSet 0 Decorate 197(g_tTex1df4a) Binding 1 + Decorate 197(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.sample.dx9.frag.out b/Test/baseResults/hlsl.sample.dx9.frag.out index 04eb9d36..1d1924cc 100644 --- a/Test/baseResults/hlsl.sample.dx9.frag.out +++ b/Test/baseResults/hlsl.sample.dx9.frag.out @@ -5,7 +5,10 @@ using depth_any 0:? Sequence 0:15 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:15 Function Parameters: -0:? Sequence +0:? Scope +0:16 Sequence +0:16 Declare ( temp void) +0:16 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:18 Sequence 0:18 move second child to first child ( temp 4-component vector of float) 0:18 'ColorOut' ( temp 4-component vector of float) @@ -196,7 +199,10 @@ using depth_any 0:? Sequence 0:15 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:15 Function Parameters: -0:? Sequence +0:? Scope +0:16 Sequence +0:16 Declare ( temp void) +0:16 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth}) 0:18 Sequence 0:18 move second child to first child ( temp 4-component vector of float) 0:18 'ColorOut' ( temp 4-component vector of float) @@ -403,26 +409,26 @@ using depth_any MemberName 9(PS_OUTPUT) 0 "Color" MemberName 9(PS_OUTPUT) 1 "Depth" Name 11 "@main(" - Name 14 "ColorOut" - Name 20 "g_sam" - Name 32 "g_sam1D" - Name 38 "g_sam2D" - Name 48 "g_sam3D" - Name 58 "g_samCube" - Name 110 "psout" + Name 14 "psout" + Name 16 "ColorOut" + Name 22 "g_sam" + Name 34 "g_sam1D" + Name 40 "g_sam2D" + Name 50 "g_sam3D" + Name 60 "g_samCube" Name 125 "flattenTemp" Name 128 "@entryPointOutput.Color" Name 132 "@entryPointOutput.Depth" - Decorate 20(g_sam) DescriptorSet 0 - Decorate 20(g_sam) Binding 0 - Decorate 32(g_sam1D) DescriptorSet 0 - Decorate 32(g_sam1D) Binding 1 - Decorate 38(g_sam2D) DescriptorSet 0 - Decorate 38(g_sam2D) Binding 2 - Decorate 48(g_sam3D) DescriptorSet 0 - Decorate 48(g_sam3D) Binding 3 - Decorate 58(g_samCube) DescriptorSet 0 - Decorate 58(g_samCube) Binding 4 + Decorate 22(g_sam) Binding 0 + Decorate 22(g_sam) DescriptorSet 0 + Decorate 34(g_sam1D) Binding 1 + Decorate 34(g_sam1D) DescriptorSet 0 + Decorate 40(g_sam2D) Binding 2 + Decorate 40(g_sam2D) DescriptorSet 0 + Decorate 50(g_sam3D) Binding 3 + Decorate 50(g_sam3D) DescriptorSet 0 + Decorate 60(g_samCube) Binding 4 + Decorate 60(g_samCube) DescriptorSet 0 Decorate 128(@entryPointOutput.Color) Location 0 Decorate 132(@entryPointOutput.Depth) BuiltIn FragDepth 3: TypeVoid @@ -431,42 +437,42 @@ using depth_any 8: TypeVector 7(float) 4 9(PS_OUTPUT): TypeStruct 8(fvec4) 7(float) 10: TypeFunction 9(PS_OUTPUT) - 13: TypePointer Function 8(fvec4) - 15: 7(float) Constant 0 - 16: 8(fvec4) ConstantComposite 15 15 15 15 - 17: TypeImage 7(float) 2D sampled format:Unknown - 18: TypeSampledImage 17 - 19: TypePointer UniformConstant 18 - 20(g_sam): 19(ptr) Variable UniformConstant - 22: TypeVector 7(float) 2 - 23: 7(float) Constant 1053609165 - 24: 7(float) Constant 1050253722 - 25: 22(fvec2) ConstantComposite 23 24 - 29: TypeImage 7(float) 1D sampled format:Unknown - 30: TypeSampledImage 29 - 31: TypePointer UniformConstant 30 - 32(g_sam1D): 31(ptr) Variable UniformConstant - 34: 7(float) Constant 1056964608 - 38(g_sam2D): 19(ptr) Variable UniformConstant - 40: 7(float) Constant 1058642330 - 41: 22(fvec2) ConstantComposite 34 40 - 45: TypeImage 7(float) 3D sampled format:Unknown - 46: TypeSampledImage 45 - 47: TypePointer UniformConstant 46 - 48(g_sam3D): 47(ptr) Variable UniformConstant - 50: TypeVector 7(float) 3 - 51: 50(fvec3) ConstantComposite 34 40 23 - 55: TypeImage 7(float) Cube sampled format:Unknown - 56: TypeSampledImage 55 - 57: TypePointer UniformConstant 56 - 58(g_samCube): 57(ptr) Variable UniformConstant - 64: 8(fvec4) ConstantComposite 23 24 15 15 - 68: TypeInt 32 0 - 69: 68(int) Constant 3 - 75: 8(fvec4) ConstantComposite 34 15 15 15 - 82: 8(fvec4) ConstantComposite 34 40 15 15 - 91: 8(fvec4) ConstantComposite 34 40 23 15 - 109: TypePointer Function 9(PS_OUTPUT) + 13: TypePointer Function 9(PS_OUTPUT) + 15: TypePointer Function 8(fvec4) + 17: 7(float) Constant 0 + 18: 8(fvec4) ConstantComposite 17 17 17 17 + 19: TypeImage 7(float) 2D sampled format:Unknown + 20: TypeSampledImage 19 + 21: TypePointer UniformConstant 20 + 22(g_sam): 21(ptr) Variable UniformConstant + 24: TypeVector 7(float) 2 + 25: 7(float) Constant 1053609165 + 26: 7(float) Constant 1050253722 + 27: 24(fvec2) ConstantComposite 25 26 + 31: TypeImage 7(float) 1D sampled format:Unknown + 32: TypeSampledImage 31 + 33: TypePointer UniformConstant 32 + 34(g_sam1D): 33(ptr) Variable UniformConstant + 36: 7(float) Constant 1056964608 + 40(g_sam2D): 21(ptr) Variable UniformConstant + 42: 7(float) Constant 1058642330 + 43: 24(fvec2) ConstantComposite 36 42 + 47: TypeImage 7(float) 3D sampled format:Unknown + 48: TypeSampledImage 47 + 49: TypePointer UniformConstant 48 + 50(g_sam3D): 49(ptr) Variable UniformConstant + 52: TypeVector 7(float) 3 + 53: 52(fvec3) ConstantComposite 36 42 25 + 57: TypeImage 7(float) Cube sampled format:Unknown + 58: TypeSampledImage 57 + 59: TypePointer UniformConstant 58 + 60(g_samCube): 59(ptr) Variable UniformConstant + 66: 8(fvec4) ConstantComposite 25 26 17 17 + 70: TypeInt 32 0 + 71: 70(int) Constant 3 + 77: 8(fvec4) ConstantComposite 36 17 17 17 + 84: 8(fvec4) ConstantComposite 36 42 17 17 + 93: 8(fvec4) ConstantComposite 36 42 25 17 111: TypeInt 32 1 112: 111(int) Constant 0 114: 7(float) Constant 1092616192 @@ -480,11 +486,11 @@ using depth_any Line 1 15 1 5(main): 3 Function None 4 6: Label -125(flattenTemp): 109(ptr) Variable Function +125(flattenTemp): 13(ptr) Variable Function Line 1 15 0 126:9(PS_OUTPUT) FunctionCall 11(@main() Store 125(flattenTemp) 126 - 129: 13(ptr) AccessChain 125(flattenTemp) 112 + 129: 15(ptr) AccessChain 125(flattenTemp) 112 130: 8(fvec4) Load 129 Store 128(@entryPointOutput.Color) 130 133: 120(ptr) AccessChain 125(flattenTemp) 118 @@ -495,100 +501,100 @@ using depth_any Line 1 15 1 11(@main():9(PS_OUTPUT) Function None 10 12: Label - 14(ColorOut): 13(ptr) Variable Function - 110(psout): 109(ptr) Variable Function + 14(psout): 13(ptr) Variable Function + 16(ColorOut): 15(ptr) Variable Function Line 1 18 0 - Store 14(ColorOut) 16 + Store 16(ColorOut) 18 Line 1 20 0 - 21: 18 Load 20(g_sam) - 26: 8(fvec4) ImageSampleImplicitLod 21 25 - 27: 8(fvec4) Load 14(ColorOut) - 28: 8(fvec4) FAdd 27 26 - Store 14(ColorOut) 28 + 23: 20 Load 22(g_sam) + 28: 8(fvec4) ImageSampleImplicitLod 23 27 + 29: 8(fvec4) Load 16(ColorOut) + 30: 8(fvec4) FAdd 29 28 + Store 16(ColorOut) 30 Line 1 21 0 - 33: 30 Load 32(g_sam1D) - 35: 8(fvec4) ImageSampleImplicitLod 33 34 - 36: 8(fvec4) Load 14(ColorOut) - 37: 8(fvec4) FAdd 36 35 - Store 14(ColorOut) 37 + 35: 32 Load 34(g_sam1D) + 37: 8(fvec4) ImageSampleImplicitLod 35 36 + 38: 8(fvec4) Load 16(ColorOut) + 39: 8(fvec4) FAdd 38 37 + Store 16(ColorOut) 39 Line 1 22 0 - 39: 18 Load 38(g_sam2D) - 42: 8(fvec4) ImageSampleImplicitLod 39 41 - 43: 8(fvec4) Load 14(ColorOut) - 44: 8(fvec4) FAdd 43 42 - Store 14(ColorOut) 44 + 41: 20 Load 40(g_sam2D) + 44: 8(fvec4) ImageSampleImplicitLod 41 43 + 45: 8(fvec4) Load 16(ColorOut) + 46: 8(fvec4) FAdd 45 44 + Store 16(ColorOut) 46 Line 1 23 0 - 49: 46 Load 48(g_sam3D) - 52: 8(fvec4) ImageSampleImplicitLod 49 51 - 53: 8(fvec4) Load 14(ColorOut) - 54: 8(fvec4) FAdd 53 52 - Store 14(ColorOut) 54 + 51: 48 Load 50(g_sam3D) + 54: 8(fvec4) ImageSampleImplicitLod 51 53 + 55: 8(fvec4) Load 16(ColorOut) + 56: 8(fvec4) FAdd 55 54 + Store 16(ColorOut) 56 Line 1 24 0 - 59: 56 Load 58(g_samCube) - 60: 8(fvec4) ImageSampleImplicitLod 59 51 - 61: 8(fvec4) Load 14(ColorOut) - 62: 8(fvec4) FAdd 61 60 - Store 14(ColorOut) 62 + 61: 58 Load 60(g_samCube) + 62: 8(fvec4) ImageSampleImplicitLod 61 53 + 63: 8(fvec4) Load 16(ColorOut) + 64: 8(fvec4) FAdd 63 62 + Store 16(ColorOut) 64 Line 1 26 0 - 63: 18 Load 20(g_sam) - 65: 7(float) CompositeExtract 64 0 - 66: 7(float) CompositeExtract 64 1 - 67: 22(fvec2) CompositeConstruct 65 66 - 70: 7(float) CompositeExtract 64 3 - 71: 8(fvec4) ImageSampleExplicitLod 63 67 Lod 70 - 72: 8(fvec4) Load 14(ColorOut) - 73: 8(fvec4) FAdd 72 71 - Store 14(ColorOut) 73 + 65: 20 Load 22(g_sam) + 67: 7(float) CompositeExtract 66 0 + 68: 7(float) CompositeExtract 66 1 + 69: 24(fvec2) CompositeConstruct 67 68 + 72: 7(float) CompositeExtract 66 3 + 73: 8(fvec4) ImageSampleExplicitLod 65 69 Lod 72 + 74: 8(fvec4) Load 16(ColorOut) + 75: 8(fvec4) FAdd 74 73 + Store 16(ColorOut) 75 Line 1 27 0 - 74: 30 Load 32(g_sam1D) - 76: 7(float) CompositeExtract 75 0 - 77: 7(float) CompositeExtract 75 3 - 78: 8(fvec4) ImageSampleExplicitLod 74 76 Lod 77 - 79: 8(fvec4) Load 14(ColorOut) - 80: 8(fvec4) FAdd 79 78 - Store 14(ColorOut) 80 + 76: 32 Load 34(g_sam1D) + 78: 7(float) CompositeExtract 77 0 + 79: 7(float) CompositeExtract 77 3 + 80: 8(fvec4) ImageSampleExplicitLod 76 78 Lod 79 + 81: 8(fvec4) Load 16(ColorOut) + 82: 8(fvec4) FAdd 81 80 + Store 16(ColorOut) 82 Line 1 28 0 - 81: 18 Load 38(g_sam2D) - 83: 7(float) CompositeExtract 82 0 - 84: 7(float) CompositeExtract 82 1 - 85: 22(fvec2) CompositeConstruct 83 84 - 86: 7(float) CompositeExtract 82 3 - 87: 8(fvec4) ImageSampleExplicitLod 81 85 Lod 86 - 88: 8(fvec4) Load 14(ColorOut) - 89: 8(fvec4) FAdd 88 87 - Store 14(ColorOut) 89 + 83: 20 Load 40(g_sam2D) + 85: 7(float) CompositeExtract 84 0 + 86: 7(float) CompositeExtract 84 1 + 87: 24(fvec2) CompositeConstruct 85 86 + 88: 7(float) CompositeExtract 84 3 + 89: 8(fvec4) ImageSampleExplicitLod 83 87 Lod 88 + 90: 8(fvec4) Load 16(ColorOut) + 91: 8(fvec4) FAdd 90 89 + Store 16(ColorOut) 91 Line 1 29 0 - 90: 46 Load 48(g_sam3D) - 92: 7(float) CompositeExtract 91 0 - 93: 7(float) CompositeExtract 91 1 - 94: 7(float) CompositeExtract 91 2 - 95: 50(fvec3) CompositeConstruct 92 93 94 - 96: 7(float) CompositeExtract 91 3 - 97: 8(fvec4) ImageSampleExplicitLod 90 95 Lod 96 - 98: 8(fvec4) Load 14(ColorOut) - 99: 8(fvec4) FAdd 98 97 - Store 14(ColorOut) 99 + 92: 48 Load 50(g_sam3D) + 94: 7(float) CompositeExtract 93 0 + 95: 7(float) CompositeExtract 93 1 + 96: 7(float) CompositeExtract 93 2 + 97: 52(fvec3) CompositeConstruct 94 95 96 + 98: 7(float) CompositeExtract 93 3 + 99: 8(fvec4) ImageSampleExplicitLod 92 97 Lod 98 + 100: 8(fvec4) Load 16(ColorOut) + 101: 8(fvec4) FAdd 100 99 + Store 16(ColorOut) 101 Line 1 30 0 - 100: 56 Load 58(g_samCube) - 101: 7(float) CompositeExtract 91 0 - 102: 7(float) CompositeExtract 91 1 - 103: 7(float) CompositeExtract 91 2 - 104: 50(fvec3) CompositeConstruct 101 102 103 - 105: 7(float) CompositeExtract 91 3 - 106: 8(fvec4) ImageSampleExplicitLod 100 104 Lod 105 - 107: 8(fvec4) Load 14(ColorOut) - 108: 8(fvec4) FAdd 107 106 - Store 14(ColorOut) 108 + 102: 58 Load 60(g_samCube) + 103: 7(float) CompositeExtract 93 0 + 104: 7(float) CompositeExtract 93 1 + 105: 7(float) CompositeExtract 93 2 + 106: 52(fvec3) CompositeConstruct 103 104 105 + 107: 7(float) CompositeExtract 93 3 + 108: 8(fvec4) ImageSampleExplicitLod 102 106 Lod 107 + 109: 8(fvec4) Load 16(ColorOut) + 110: 8(fvec4) FAdd 109 108 + Store 16(ColorOut) 110 Line 1 32 0 - 113: 8(fvec4) Load 14(ColorOut) + 113: 8(fvec4) Load 16(ColorOut) 115: 8(fvec4) CompositeConstruct 114 114 114 114 116: 8(fvec4) FDiv 113 115 - 117: 13(ptr) AccessChain 110(psout) 112 + 117: 15(ptr) AccessChain 14(psout) 112 Store 117 116 Line 1 33 0 - 121: 120(ptr) AccessChain 110(psout) 118 + 121: 120(ptr) AccessChain 14(psout) 118 Store 121 119 Line 1 35 0 - 122:9(PS_OUTPUT) Load 110(psout) + 122:9(PS_OUTPUT) Load 14(psout) ReturnValue 122 FunctionEnd diff --git a/Test/baseResults/hlsl.sample.dx9.vert.out b/Test/baseResults/hlsl.sample.dx9.vert.out index 59878a99..96e7143f 100644 --- a/Test/baseResults/hlsl.sample.dx9.vert.out +++ b/Test/baseResults/hlsl.sample.dx9.vert.out @@ -3,7 +3,10 @@ Shader version: 500 0:? Sequence 0:11 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:11 Function Parameters: -0:? Sequence +0:? Scope +0:12 Sequence +0:12 Declare ( temp void) +0:12 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 0:14 Sequence 0:14 move second child to first child ( temp 4-component vector of float) 0:14 'PosOut' ( temp 4-component vector of float) @@ -82,7 +85,10 @@ Shader version: 500 0:? Sequence 0:11 Function Definition: @main( ( temp structure{ temp 4-component vector of float Pos}) 0:11 Function Parameters: -0:? Sequence +0:? Scope +0:12 Sequence +0:12 Declare ( temp void) +0:12 'vsout' ( temp structure{ temp 4-component vector of float Pos}) 0:14 Sequence 0:14 move second child to first child ( temp 4-component vector of float) 0:14 'PosOut' ( temp 4-component vector of float) @@ -175,15 +181,15 @@ Shader version: 500 Name 9 "VS_OUTPUT" MemberName 9(VS_OUTPUT) 0 "Pos" Name 11 "@main(" - Name 14 "PosOut" - Name 20 "g_sam" - Name 36 "g_sam2D" - Name 49 "vsout" + Name 14 "vsout" + Name 16 "PosOut" + Name 22 "g_sam" + Name 38 "g_sam2D" Name 61 "@entryPointOutput.Pos" - Decorate 20(g_sam) DescriptorSet 0 - Decorate 20(g_sam) Binding 0 - Decorate 36(g_sam2D) DescriptorSet 0 - Decorate 36(g_sam2D) Binding 1 + Decorate 22(g_sam) Binding 0 + Decorate 22(g_sam) DescriptorSet 0 + Decorate 38(g_sam2D) Binding 1 + Decorate 38(g_sam2D) DescriptorSet 0 Decorate 61(@entryPointOutput.Pos) BuiltIn Position 3: TypeVoid 4: TypeFunction 3 @@ -191,25 +197,25 @@ Shader version: 500 8: TypeVector 7(float) 4 9(VS_OUTPUT): TypeStruct 8(fvec4) 10: TypeFunction 9(VS_OUTPUT) - 13: TypePointer Function 8(fvec4) - 15: 7(float) Constant 0 - 16: 8(fvec4) ConstantComposite 15 15 15 15 - 17: TypeImage 7(float) 2D sampled format:Unknown - 18: TypeSampledImage 17 - 19: TypePointer UniformConstant 18 - 20(g_sam): 19(ptr) Variable UniformConstant - 22: 7(float) Constant 1050253722 - 23: 7(float) Constant 1053609165 - 24: 7(float) Constant 1065353216 - 25: 8(fvec4) ConstantComposite 22 23 15 24 - 26: TypeVector 7(float) 2 - 30: TypeInt 32 0 - 31: 30(int) Constant 3 - 36(g_sam2D): 19(ptr) Variable UniformConstant - 38: 7(float) Constant 1056964608 - 39: 7(float) Constant 1058642330 - 40: 8(fvec4) ConstantComposite 38 39 15 24 - 48: TypePointer Function 9(VS_OUTPUT) + 13: TypePointer Function 9(VS_OUTPUT) + 15: TypePointer Function 8(fvec4) + 17: 7(float) Constant 0 + 18: 8(fvec4) ConstantComposite 17 17 17 17 + 19: TypeImage 7(float) 2D sampled format:Unknown + 20: TypeSampledImage 19 + 21: TypePointer UniformConstant 20 + 22(g_sam): 21(ptr) Variable UniformConstant + 24: 7(float) Constant 1050253722 + 25: 7(float) Constant 1053609165 + 26: 7(float) Constant 1065353216 + 27: 8(fvec4) ConstantComposite 24 25 17 26 + 28: TypeVector 7(float) 2 + 32: TypeInt 32 0 + 33: 32(int) Constant 3 + 38(g_sam2D): 21(ptr) Variable UniformConstant + 40: 7(float) Constant 1056964608 + 41: 7(float) Constant 1058642330 + 42: 8(fvec4) ConstantComposite 40 41 17 26 50: TypeInt 32 1 51: 50(int) Constant 0 53: 7(float) Constant 1073741824 @@ -227,37 +233,37 @@ Shader version: 500 Line 1 11 1 11(@main():9(VS_OUTPUT) Function None 10 12: Label - 14(PosOut): 13(ptr) Variable Function - 49(vsout): 48(ptr) Variable Function + 14(vsout): 13(ptr) Variable Function + 16(PosOut): 15(ptr) Variable Function Line 1 14 0 - Store 14(PosOut) 16 + Store 16(PosOut) 18 Line 1 16 0 - 21: 18 Load 20(g_sam) - 27: 7(float) CompositeExtract 25 0 - 28: 7(float) CompositeExtract 25 1 - 29: 26(fvec2) CompositeConstruct 27 28 - 32: 7(float) CompositeExtract 25 3 - 33: 8(fvec4) ImageSampleExplicitLod 21 29 Lod 32 - 34: 8(fvec4) Load 14(PosOut) - 35: 8(fvec4) FAdd 34 33 - Store 14(PosOut) 35 + 23: 20 Load 22(g_sam) + 29: 7(float) CompositeExtract 27 0 + 30: 7(float) CompositeExtract 27 1 + 31: 28(fvec2) CompositeConstruct 29 30 + 34: 7(float) CompositeExtract 27 3 + 35: 8(fvec4) ImageSampleExplicitLod 23 31 Lod 34 + 36: 8(fvec4) Load 16(PosOut) + 37: 8(fvec4) FAdd 36 35 + Store 16(PosOut) 37 Line 1 17 0 - 37: 18 Load 36(g_sam2D) - 41: 7(float) CompositeExtract 40 0 - 42: 7(float) CompositeExtract 40 1 - 43: 26(fvec2) CompositeConstruct 41 42 - 44: 7(float) CompositeExtract 40 3 - 45: 8(fvec4) ImageSampleExplicitLod 37 43 Lod 44 - 46: 8(fvec4) Load 14(PosOut) - 47: 8(fvec4) FAdd 46 45 - Store 14(PosOut) 47 + 39: 20 Load 38(g_sam2D) + 43: 7(float) CompositeExtract 42 0 + 44: 7(float) CompositeExtract 42 1 + 45: 28(fvec2) CompositeConstruct 43 44 + 46: 7(float) CompositeExtract 42 3 + 47: 8(fvec4) ImageSampleExplicitLod 39 45 Lod 46 + 48: 8(fvec4) Load 16(PosOut) + 49: 8(fvec4) FAdd 48 47 + Store 16(PosOut) 49 Line 1 19 0 - 52: 8(fvec4) Load 14(PosOut) + 52: 8(fvec4) Load 16(PosOut) 54: 8(fvec4) CompositeConstruct 53 53 53 53 55: 8(fvec4) FDiv 52 54 - 56: 13(ptr) AccessChain 49(vsout) 51 + 56: 15(ptr) AccessChain 14(vsout) 51 Store 56 55 Line 1 21 0 - 57:9(VS_OUTPUT) Load 49(vsout) + 57:9(VS_OUTPUT) Load 14(vsout) ReturnValue 57 FunctionEnd diff --git a/Test/baseResults/hlsl.sample.offset.dx10.frag.out b/Test/baseResults/hlsl.sample.offset.dx10.frag.out index 0a351b43..f2be35ae 100644 --- a/Test/baseResults/hlsl.sample.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.offset.dx10.frag.out @@ -407,36 +407,36 @@ using depth_any Name 154 "g_tTexcdf4" Name 157 "g_tTexcdi4" Name 160 "g_tTexcdu4" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex1di4) Binding 2 - Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 33(g_tTex1di4) DescriptorSet 0 Decorate 46(g_tTex1du4) Binding 3 - Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 Decorate 56(g_tTex2df4) Binding 4 - Decorate 70(g_tTex2di4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 Decorate 70(g_tTex2di4) Binding 5 - Decorate 82(g_tTex2du4) DescriptorSet 0 + Decorate 70(g_tTex2di4) DescriptorSet 0 Decorate 82(g_tTex2du4) Binding 6 - Decorate 96(g_tTex3df4) DescriptorSet 0 + Decorate 82(g_tTex2du4) DescriptorSet 0 Decorate 96(g_tTex3df4) Binding 7 - Decorate 109(g_tTex3di4) DescriptorSet 0 + Decorate 96(g_tTex3df4) DescriptorSet 0 Decorate 109(g_tTex3di4) Binding 8 - Decorate 120(g_tTex3du4) DescriptorSet 0 + Decorate 109(g_tTex3di4) DescriptorSet 0 Decorate 120(g_tTex3du4) Binding 9 + Decorate 120(g_tTex3du4) DescriptorSet 0 Decorate 144(@entryPointOutput.Color) Location 0 Decorate 148(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 151(g_tTex1df4a) DescriptorSet 0 Decorate 151(g_tTex1df4a) Binding 1 - Decorate 154(g_tTexcdf4) DescriptorSet 0 + Decorate 151(g_tTex1df4a) DescriptorSet 0 Decorate 154(g_tTexcdf4) Binding 0 - Decorate 157(g_tTexcdi4) DescriptorSet 0 + Decorate 154(g_tTexcdf4) DescriptorSet 0 Decorate 157(g_tTexcdi4) Binding 0 - Decorate 160(g_tTexcdu4) DescriptorSet 0 + Decorate 157(g_tTexcdi4) DescriptorSet 0 Decorate 160(g_tTexcdu4) Binding 0 + Decorate 160(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out index 0770e0ba..08da1837 100644 --- a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out @@ -308,24 +308,24 @@ using depth_any Name 110 "@entryPointOutput.Color" Name 114 "@entryPointOutput.Depth" Name 117 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 36(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 36(g_tTex1di4) Binding 2 - Decorate 51(g_tTex1du4) DescriptorSet 0 + Decorate 36(g_tTex1di4) DescriptorSet 0 Decorate 51(g_tTex1du4) Binding 3 - Decorate 63(g_tTex2df4) DescriptorSet 0 + Decorate 51(g_tTex1du4) DescriptorSet 0 Decorate 63(g_tTex2df4) Binding 4 - Decorate 76(g_tTex2di4) DescriptorSet 0 + Decorate 63(g_tTex2df4) DescriptorSet 0 Decorate 76(g_tTex2di4) Binding 5 - Decorate 87(g_tTex2du4) DescriptorSet 0 + Decorate 76(g_tTex2di4) DescriptorSet 0 Decorate 87(g_tTex2du4) Binding 6 + Decorate 87(g_tTex2du4) DescriptorSet 0 Decorate 110(@entryPointOutput.Color) Location 0 Decorate 114(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 117(g_tTex1df4a) DescriptorSet 0 Decorate 117(g_tTex1df4a) Binding 1 + Decorate 117(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out index ea0e4e24..71c0162b 100644 --- a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out +++ b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out @@ -179,16 +179,16 @@ gl_FragCoord origin is upper left Name 53 "g_tTex1df4" Name 59 "psout" Name 69 "@entryPointOutput.Color" - Decorate 16(g_tTex1df1) DescriptorSet 0 Decorate 16(g_tTex1df1) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df1) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 30(g_tTex1df2) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 30(g_tTex1df2) Binding 2 - Decorate 42(g_tTex1df3) DescriptorSet 0 + Decorate 30(g_tTex1df2) DescriptorSet 0 Decorate 42(g_tTex1df3) Binding 3 - Decorate 53(g_tTex1df4) DescriptorSet 0 + Decorate 42(g_tTex1df3) DescriptorSet 0 Decorate 53(g_tTex1df4) Binding 4 + Decorate 53(g_tTex1df4) DescriptorSet 0 Decorate 69(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out index f59fc811..dd18bbe7 100644 --- a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out @@ -399,30 +399,30 @@ using depth_any Name 138 "@entryPointOutput.Color" Name 142 "@entryPointOutput.Depth" Name 145 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 36(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 36(g_tTex1di4) Binding 2 - Decorate 50(g_tTex1du4) DescriptorSet 0 + Decorate 36(g_tTex1di4) DescriptorSet 0 Decorate 50(g_tTex1du4) Binding 3 - Decorate 61(g_tTex2df4) DescriptorSet 0 + Decorate 50(g_tTex1du4) DescriptorSet 0 Decorate 61(g_tTex2df4) Binding 4 - Decorate 72(g_tTex2di4) DescriptorSet 0 + Decorate 61(g_tTex2df4) DescriptorSet 0 Decorate 72(g_tTex2di4) Binding 5 - Decorate 82(g_tTex2du4) DescriptorSet 0 + Decorate 72(g_tTex2di4) DescriptorSet 0 Decorate 82(g_tTex2du4) Binding 6 - Decorate 94(g_tTexcdf4) DescriptorSet 0 + Decorate 82(g_tTex2du4) DescriptorSet 0 Decorate 94(g_tTexcdf4) Binding 7 - Decorate 104(g_tTexcdi4) DescriptorSet 0 + Decorate 94(g_tTexcdf4) DescriptorSet 0 Decorate 104(g_tTexcdi4) Binding 8 - Decorate 114(g_tTexcdu4) DescriptorSet 0 + Decorate 104(g_tTexcdi4) DescriptorSet 0 Decorate 114(g_tTexcdu4) Binding 9 + Decorate 114(g_tTexcdu4) DescriptorSet 0 Decorate 138(@entryPointOutput.Color) Location 0 Decorate 142(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 145(g_tTex1df4a) DescriptorSet 0 Decorate 145(g_tTex1df4a) Binding 1 + Decorate 145(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out index 919be719..4b95ca2a 100644 --- a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out @@ -470,36 +470,36 @@ using depth_any Name 162 "@entryPointOutput.Color" Name 166 "@entryPointOutput.Depth" Name 169 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex1di4) Binding 2 - Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 33(g_tTex1di4) DescriptorSet 0 Decorate 46(g_tTex1du4) Binding 3 - Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 Decorate 56(g_tTex2df4) Binding 4 - Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 Decorate 67(g_tTex2di4) Binding 5 - Decorate 78(g_tTex2du4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 Decorate 78(g_tTex2du4) Binding 6 - Decorate 89(g_tTex3df4) DescriptorSet 0 + Decorate 78(g_tTex2du4) DescriptorSet 0 Decorate 89(g_tTex3df4) Binding 7 - Decorate 100(g_tTex3di4) DescriptorSet 0 + Decorate 89(g_tTex3df4) DescriptorSet 0 Decorate 100(g_tTex3di4) Binding 8 - Decorate 110(g_tTex3du4) DescriptorSet 0 + Decorate 100(g_tTex3di4) DescriptorSet 0 Decorate 110(g_tTex3du4) Binding 9 - Decorate 123(g_tTexcdf4) DescriptorSet 0 + Decorate 110(g_tTex3du4) DescriptorSet 0 Decorate 123(g_tTexcdf4) Binding 10 - Decorate 132(g_tTexcdi4) DescriptorSet 0 + Decorate 123(g_tTexcdf4) DescriptorSet 0 Decorate 132(g_tTexcdi4) Binding 11 - Decorate 141(g_tTexcdu4) DescriptorSet 0 + Decorate 132(g_tTexcdi4) DescriptorSet 0 Decorate 141(g_tTexcdu4) Binding 12 + Decorate 141(g_tTexcdu4) DescriptorSet 0 Decorate 162(@entryPointOutput.Color) Location 0 Decorate 166(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 169(g_tTex1df4a) DescriptorSet 0 Decorate 169(g_tTex1df4a) Binding 1 + Decorate 169(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out index 5b297577..f6403a0e 100644 --- a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out @@ -443,36 +443,36 @@ using depth_any Name 154 "g_tTexcdf4" Name 157 "g_tTexcdi4" Name 160 "g_tTexcdu4" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 34(g_tTex1di4) Binding 2 - Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 Decorate 47(g_tTex1du4) Binding 3 - Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 Decorate 57(g_tTex2df4) Binding 4 - Decorate 71(g_tTex2di4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 Decorate 71(g_tTex2di4) Binding 5 - Decorate 83(g_tTex2du4) DescriptorSet 0 + Decorate 71(g_tTex2di4) DescriptorSet 0 Decorate 83(g_tTex2du4) Binding 6 - Decorate 96(g_tTex3df4) DescriptorSet 0 + Decorate 83(g_tTex2du4) DescriptorSet 0 Decorate 96(g_tTex3df4) Binding 7 - Decorate 109(g_tTex3di4) DescriptorSet 0 + Decorate 96(g_tTex3df4) DescriptorSet 0 Decorate 109(g_tTex3di4) Binding 8 - Decorate 120(g_tTex3du4) DescriptorSet 0 + Decorate 109(g_tTex3di4) DescriptorSet 0 Decorate 120(g_tTex3du4) Binding 9 + Decorate 120(g_tTex3du4) DescriptorSet 0 Decorate 144(@entryPointOutput.Color) Location 0 Decorate 148(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 151(g_tTex1df4a) DescriptorSet 0 Decorate 151(g_tTex1df4a) Binding 1 - Decorate 154(g_tTexcdf4) DescriptorSet 0 + Decorate 151(g_tTex1df4a) DescriptorSet 0 Decorate 154(g_tTexcdf4) Binding 0 - Decorate 157(g_tTexcdi4) DescriptorSet 0 + Decorate 154(g_tTexcdf4) DescriptorSet 0 Decorate 157(g_tTexcdi4) Binding 0 - Decorate 160(g_tTexcdu4) DescriptorSet 0 + Decorate 157(g_tTexcdi4) DescriptorSet 0 Decorate 160(g_tTexcdu4) Binding 0 + Decorate 160(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out index c3114a1b..ba31124f 100644 --- a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out @@ -332,24 +332,24 @@ using depth_any Name 110 "@entryPointOutput.Color" Name 114 "@entryPointOutput.Depth" Name 117 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 37(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 37(g_tTex1di4) Binding 2 - Decorate 52(g_tTex1du4) DescriptorSet 0 + Decorate 37(g_tTex1di4) DescriptorSet 0 Decorate 52(g_tTex1du4) Binding 3 - Decorate 64(g_tTex2df4) DescriptorSet 0 + Decorate 52(g_tTex1du4) DescriptorSet 0 Decorate 64(g_tTex2df4) Binding 4 - Decorate 77(g_tTex2di4) DescriptorSet 0 + Decorate 64(g_tTex2df4) DescriptorSet 0 Decorate 77(g_tTex2di4) Binding 5 - Decorate 87(g_tTex2du4) DescriptorSet 0 + Decorate 77(g_tTex2di4) DescriptorSet 0 Decorate 87(g_tTex2du4) Binding 6 + Decorate 87(g_tTex2du4) DescriptorSet 0 Decorate 110(@entryPointOutput.Color) Location 0 Decorate 114(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 117(g_tTex1df4a) DescriptorSet 0 Decorate 117(g_tTex1df4a) Binding 1 + Decorate 117(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out index caddceeb..7ecb39f1 100644 --- a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out @@ -400,14 +400,14 @@ using depth_any Validation failed // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 209 +// Id's are bound by 194 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 166 170 + EntryPoint Fragment 4 "main" 151 155 ExecutionMode 4 OriginUpperLeft ExecutionMode 4 DepthReplacing Source HLSL 500 @@ -431,72 +431,72 @@ Validation failed Name 96 "g_tTex2du4a" Name 107 "r60" Name 110 "g_tTexcdf4a" - Name 123 "r62" - Name 126 "g_tTexcdi4a" - Name 137 "r64" - Name 140 "g_tTexcdu4a" - Name 152 "psout" - Name 163 "flattenTemp" - Name 166 "@entryPointOutput.Color" - Name 170 "@entryPointOutput.Depth" - Name 175 "g_tTex1df4" - Name 178 "g_tTex1di4" - Name 181 "g_tTex1du4" - Name 184 "g_tTex2df4" - Name 187 "g_tTex2di4" - Name 190 "g_tTex2du4" - Name 193 "g_tTex3df4" - Name 196 "g_tTex3di4" - Name 199 "g_tTex3du4" - Name 202 "g_tTexcdf4" - Name 205 "g_tTexcdi4" - Name 208 "g_tTexcdu4" - Decorate 16(g_tTex1df4a) DescriptorSet 0 + Name 118 "r62" + Name 121 "g_tTexcdi4a" + Name 127 "r64" + Name 130 "g_tTexcdu4a" + Name 137 "psout" + Name 148 "flattenTemp" + Name 151 "@entryPointOutput.Color" + Name 155 "@entryPointOutput.Depth" + Name 160 "g_tTex1df4" + Name 163 "g_tTex1di4" + Name 166 "g_tTex1du4" + Name 169 "g_tTex2df4" + Name 172 "g_tTex2di4" + Name 175 "g_tTex2du4" + Name 178 "g_tTex3df4" + Name 181 "g_tTex3di4" + Name 184 "g_tTex3du4" + Name 187 "g_tTexcdf4" + Name 190 "g_tTexcdi4" + Name 193 "g_tTexcdu4" Decorate 16(g_tTex1df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 39(g_tTex1di4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 39(g_tTex1di4a) Binding 2 - Decorate 53(g_tTex1du4a) DescriptorSet 0 + Decorate 39(g_tTex1di4a) DescriptorSet 0 Decorate 53(g_tTex1du4a) Binding 3 - Decorate 66(g_tTex2df4a) DescriptorSet 0 + Decorate 53(g_tTex1du4a) DescriptorSet 0 Decorate 66(g_tTex2df4a) Binding 4 - Decorate 82(g_tTex2di4a) DescriptorSet 0 + Decorate 66(g_tTex2df4a) DescriptorSet 0 Decorate 82(g_tTex2di4a) Binding 5 - Decorate 96(g_tTex2du4a) DescriptorSet 0 + Decorate 82(g_tTex2di4a) DescriptorSet 0 Decorate 96(g_tTex2du4a) Binding 6 - Decorate 110(g_tTexcdf4a) DescriptorSet 0 + Decorate 96(g_tTex2du4a) DescriptorSet 0 Decorate 110(g_tTexcdf4a) Binding 7 - Decorate 126(g_tTexcdi4a) DescriptorSet 0 - Decorate 126(g_tTexcdi4a) Binding 8 - Decorate 140(g_tTexcdu4a) DescriptorSet 0 - Decorate 140(g_tTexcdu4a) Binding 9 - Decorate 166(@entryPointOutput.Color) Location 0 - Decorate 170(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 175(g_tTex1df4) DescriptorSet 0 - Decorate 175(g_tTex1df4) Binding 0 - Decorate 178(g_tTex1di4) DescriptorSet 0 - Decorate 178(g_tTex1di4) Binding 0 - Decorate 181(g_tTex1du4) DescriptorSet 0 - Decorate 181(g_tTex1du4) Binding 0 - Decorate 184(g_tTex2df4) DescriptorSet 0 - Decorate 184(g_tTex2df4) Binding 0 - Decorate 187(g_tTex2di4) DescriptorSet 0 - Decorate 187(g_tTex2di4) Binding 0 - Decorate 190(g_tTex2du4) DescriptorSet 0 - Decorate 190(g_tTex2du4) Binding 0 - Decorate 193(g_tTex3df4) DescriptorSet 0 - Decorate 193(g_tTex3df4) Binding 0 - Decorate 196(g_tTex3di4) DescriptorSet 0 - Decorate 196(g_tTex3di4) Binding 0 - Decorate 199(g_tTex3du4) DescriptorSet 0 - Decorate 199(g_tTex3du4) Binding 0 - Decorate 202(g_tTexcdf4) DescriptorSet 0 - Decorate 202(g_tTexcdf4) Binding 0 - Decorate 205(g_tTexcdi4) DescriptorSet 0 - Decorate 205(g_tTexcdi4) Binding 0 - Decorate 208(g_tTexcdu4) DescriptorSet 0 - Decorate 208(g_tTexcdu4) Binding 0 + Decorate 110(g_tTexcdf4a) DescriptorSet 0 + Decorate 121(g_tTexcdi4a) Binding 8 + Decorate 121(g_tTexcdi4a) DescriptorSet 0 + Decorate 130(g_tTexcdu4a) Binding 9 + Decorate 130(g_tTexcdu4a) DescriptorSet 0 + Decorate 151(@entryPointOutput.Color) Location 0 + Decorate 155(@entryPointOutput.Depth) BuiltIn FragDepth + Decorate 160(g_tTex1df4) Binding 0 + Decorate 160(g_tTex1df4) DescriptorSet 0 + Decorate 163(g_tTex1di4) Binding 0 + Decorate 163(g_tTex1di4) DescriptorSet 0 + Decorate 166(g_tTex1du4) Binding 0 + Decorate 166(g_tTex1du4) DescriptorSet 0 + Decorate 169(g_tTex2df4) Binding 0 + Decorate 169(g_tTex2df4) DescriptorSet 0 + Decorate 172(g_tTex2di4) Binding 0 + Decorate 172(g_tTex2di4) DescriptorSet 0 + Decorate 175(g_tTex2du4) Binding 0 + Decorate 175(g_tTex2du4) DescriptorSet 0 + Decorate 178(g_tTex3df4) Binding 0 + Decorate 178(g_tTex3df4) DescriptorSet 0 + Decorate 181(g_tTex3di4) Binding 0 + Decorate 181(g_tTex3di4) DescriptorSet 0 + Decorate 184(g_tTex3du4) Binding 0 + Decorate 184(g_tTex3du4) DescriptorSet 0 + Decorate 187(g_tTexcdf4) Binding 0 + Decorate 187(g_tTexcdf4) DescriptorSet 0 + Decorate 190(g_tTexcdi4) Binding 0 + Decorate 190(g_tTexcdi4) DescriptorSet 0 + Decorate 193(g_tTexcdu4) Binding 0 + Decorate 193(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -547,71 +547,71 @@ Validation failed 113: TypeSampledImage 108 115: 6(float) Constant 1053609165 116: 7(fvec4) ConstantComposite 25 26 71 115 - 124: TypeImage 36(int) Cube depth array sampled format:Unknown - 125: TypePointer UniformConstant 124 -126(g_tTexcdi4a): 125(ptr) Variable UniformConstant - 129: TypeSampledImage 124 - 138: TypeImage 50(int) Cube depth array sampled format:Unknown - 139: TypePointer UniformConstant 138 -140(g_tTexcdu4a): 139(ptr) Variable UniformConstant - 143: TypeSampledImage 138 - 151: TypePointer Function 8(PS_OUTPUT) - 153: 36(int) Constant 0 - 154: 6(float) Constant 1065353216 - 155: 7(fvec4) ConstantComposite 154 154 154 154 - 156: TypePointer Function 7(fvec4) - 158: 36(int) Constant 1 - 165: TypePointer Output 7(fvec4) -166(@entryPointOutput.Color): 165(ptr) Variable Output - 169: TypePointer Output 6(float) -170(@entryPointOutput.Depth): 169(ptr) Variable Output - 173: TypeImage 6(float) 1D sampled format:Unknown + 119: TypeImage 36(int) Cube depth array sampled format:Unknown + 120: TypePointer UniformConstant 119 +121(g_tTexcdi4a): 120(ptr) Variable UniformConstant + 124: TypeSampledImage 119 + 128: TypeImage 50(int) Cube depth array sampled format:Unknown + 129: TypePointer UniformConstant 128 +130(g_tTexcdu4a): 129(ptr) Variable UniformConstant + 133: TypeSampledImage 128 + 136: TypePointer Function 8(PS_OUTPUT) + 138: 36(int) Constant 0 + 139: 6(float) Constant 1065353216 + 140: 7(fvec4) ConstantComposite 139 139 139 139 + 141: TypePointer Function 7(fvec4) + 143: 36(int) Constant 1 + 150: TypePointer Output 7(fvec4) +151(@entryPointOutput.Color): 150(ptr) Variable Output + 154: TypePointer Output 6(float) +155(@entryPointOutput.Depth): 154(ptr) Variable Output + 158: TypeImage 6(float) 1D sampled format:Unknown + 159: TypePointer UniformConstant 158 + 160(g_tTex1df4): 159(ptr) Variable UniformConstant + 161: TypeImage 36(int) 1D sampled format:Unknown + 162: TypePointer UniformConstant 161 + 163(g_tTex1di4): 162(ptr) Variable UniformConstant + 164: TypeImage 50(int) 1D sampled format:Unknown + 165: TypePointer UniformConstant 164 + 166(g_tTex1du4): 165(ptr) Variable UniformConstant + 167: TypeImage 6(float) 2D sampled format:Unknown + 168: TypePointer UniformConstant 167 + 169(g_tTex2df4): 168(ptr) Variable UniformConstant + 170: TypeImage 36(int) 2D sampled format:Unknown + 171: TypePointer UniformConstant 170 + 172(g_tTex2di4): 171(ptr) Variable UniformConstant + 173: TypeImage 50(int) 2D sampled format:Unknown 174: TypePointer UniformConstant 173 - 175(g_tTex1df4): 174(ptr) Variable UniformConstant - 176: TypeImage 36(int) 1D sampled format:Unknown + 175(g_tTex2du4): 174(ptr) Variable UniformConstant + 176: TypeImage 6(float) 3D sampled format:Unknown 177: TypePointer UniformConstant 176 - 178(g_tTex1di4): 177(ptr) Variable UniformConstant - 179: TypeImage 50(int) 1D sampled format:Unknown + 178(g_tTex3df4): 177(ptr) Variable UniformConstant + 179: TypeImage 36(int) 3D sampled format:Unknown 180: TypePointer UniformConstant 179 - 181(g_tTex1du4): 180(ptr) Variable UniformConstant - 182: TypeImage 6(float) 2D sampled format:Unknown + 181(g_tTex3di4): 180(ptr) Variable UniformConstant + 182: TypeImage 50(int) 3D sampled format:Unknown 183: TypePointer UniformConstant 182 - 184(g_tTex2df4): 183(ptr) Variable UniformConstant - 185: TypeImage 36(int) 2D sampled format:Unknown + 184(g_tTex3du4): 183(ptr) Variable UniformConstant + 185: TypeImage 6(float) Cube sampled format:Unknown 186: TypePointer UniformConstant 185 - 187(g_tTex2di4): 186(ptr) Variable UniformConstant - 188: TypeImage 50(int) 2D sampled format:Unknown + 187(g_tTexcdf4): 186(ptr) Variable UniformConstant + 188: TypeImage 36(int) Cube sampled format:Unknown 189: TypePointer UniformConstant 188 - 190(g_tTex2du4): 189(ptr) Variable UniformConstant - 191: TypeImage 6(float) 3D sampled format:Unknown + 190(g_tTexcdi4): 189(ptr) Variable UniformConstant + 191: TypeImage 50(int) Cube sampled format:Unknown 192: TypePointer UniformConstant 191 - 193(g_tTex3df4): 192(ptr) Variable UniformConstant - 194: TypeImage 36(int) 3D sampled format:Unknown - 195: TypePointer UniformConstant 194 - 196(g_tTex3di4): 195(ptr) Variable UniformConstant - 197: TypeImage 50(int) 3D sampled format:Unknown - 198: TypePointer UniformConstant 197 - 199(g_tTex3du4): 198(ptr) Variable UniformConstant - 200: TypeImage 6(float) Cube sampled format:Unknown - 201: TypePointer UniformConstant 200 - 202(g_tTexcdf4): 201(ptr) Variable UniformConstant - 203: TypeImage 36(int) Cube sampled format:Unknown - 204: TypePointer UniformConstant 203 - 205(g_tTexcdi4): 204(ptr) Variable UniformConstant - 206: TypeImage 50(int) Cube sampled format:Unknown - 207: TypePointer UniformConstant 206 - 208(g_tTexcdu4): 207(ptr) Variable UniformConstant + 193(g_tTexcdu4): 192(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -163(flattenTemp): 151(ptr) Variable Function - 164:8(PS_OUTPUT) FunctionCall 10(@main() - Store 163(flattenTemp) 164 - 167: 156(ptr) AccessChain 163(flattenTemp) 153 - 168: 7(fvec4) Load 167 - Store 166(@entryPointOutput.Color) 168 - 171: 12(ptr) AccessChain 163(flattenTemp) 158 - 172: 6(float) Load 171 - Store 170(@entryPointOutput.Depth) 172 +148(flattenTemp): 136(ptr) Variable Function + 149:8(PS_OUTPUT) FunctionCall 10(@main() + Store 148(flattenTemp) 149 + 152: 141(ptr) AccessChain 148(flattenTemp) 138 + 153: 7(fvec4) Load 152 + Store 151(@entryPointOutput.Color) 153 + 156: 12(ptr) AccessChain 148(flattenTemp) 143 + 157: 6(float) Load 156 + Store 155(@entryPointOutput.Depth) 157 Return FunctionEnd 10(@main():8(PS_OUTPUT) Function None 9 @@ -623,9 +623,9 @@ Validation failed 79(r32): 12(ptr) Variable Function 93(r34): 12(ptr) Variable Function 107(r60): 12(ptr) Variable Function - 123(r62): 12(ptr) Variable Function - 137(r64): 12(ptr) Variable Function - 152(psout): 151(ptr) Variable Function + 118(r62): 12(ptr) Variable Function + 127(r64): 12(ptr) Variable Function + 137(psout): 136(ptr) Variable Function 17: 14 Load 16(g_tTex1df4a) 21: 18 Load 20(g_sSamp) 23: 22 SampledImage 17 21 @@ -686,37 +686,22 @@ Validation failed 111: 108 Load 110(g_tTexcdf4a) 112: 18 Load 20(g_sSamp) 114: 113 SampledImage 111 112 - 117: 6(float) CompositeExtract 116 0 - 118: 6(float) CompositeExtract 116 1 - 119: 6(float) CompositeExtract 116 2 - 120: 6(float) CompositeExtract 116 3 - 121: 7(fvec4) CompositeConstruct 117 118 119 120 - 122: 6(float) ImageSampleDrefImplicitLod 114 121 28 - Store 107(r60) 122 - 127: 124 Load 126(g_tTexcdi4a) - 128: 18 Load 20(g_sSamp) - 130: 129 SampledImage 127 128 - 131: 6(float) CompositeExtract 116 0 - 132: 6(float) CompositeExtract 116 1 - 133: 6(float) CompositeExtract 116 2 - 134: 6(float) CompositeExtract 116 3 - 135: 7(fvec4) CompositeConstruct 131 132 133 134 - 136: 6(float) ImageSampleDrefImplicitLod 130 135 28 - Store 123(r62) 136 - 141: 138 Load 140(g_tTexcdu4a) - 142: 18 Load 20(g_sSamp) - 144: 143 SampledImage 141 142 - 145: 6(float) CompositeExtract 116 0 - 146: 6(float) CompositeExtract 116 1 - 147: 6(float) CompositeExtract 116 2 - 148: 6(float) CompositeExtract 116 3 - 149: 7(fvec4) CompositeConstruct 145 146 147 148 - 150: 6(float) ImageSampleDrefImplicitLod 144 149 28 - Store 137(r64) 150 - 157: 156(ptr) AccessChain 152(psout) 153 - Store 157 155 - 159: 12(ptr) AccessChain 152(psout) 158 - Store 159 154 - 160:8(PS_OUTPUT) Load 152(psout) - ReturnValue 160 + 117: 6(float) ImageSampleDrefImplicitLod 114 116 28 + Store 107(r60) 117 + 122: 119 Load 121(g_tTexcdi4a) + 123: 18 Load 20(g_sSamp) + 125: 124 SampledImage 122 123 + 126: 6(float) ImageSampleDrefImplicitLod 125 116 28 + Store 118(r62) 126 + 131: 128 Load 130(g_tTexcdu4a) + 132: 18 Load 20(g_sSamp) + 134: 133 SampledImage 131 132 + 135: 6(float) ImageSampleDrefImplicitLod 134 116 28 + Store 127(r64) 135 + 142: 141(ptr) AccessChain 137(psout) 138 + Store 142 140 + 144: 12(ptr) AccessChain 137(psout) 143 + Store 144 139 + 145:8(PS_OUTPUT) Load 137(psout) + ReturnValue 145 FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out index fde1b58c..a355f880 100644 --- a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out @@ -433,52 +433,52 @@ Validation failed Name 191 "g_tTexcdf4a" Name 194 "g_tTexcdi4a" Name 197 "g_tTexcdu4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 34(g_tTex1di4) Binding 1 - Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 Decorate 46(g_tTex1du4) Binding 2 - Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 Decorate 57(g_tTex2df4) Binding 3 - Decorate 73(g_tTex2di4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 Decorate 73(g_tTex2di4) Binding 4 - Decorate 86(g_tTex2du4) DescriptorSet 0 + Decorate 73(g_tTex2di4) DescriptorSet 0 Decorate 86(g_tTex2du4) Binding 5 - Decorate 99(g_tTexcdf4) DescriptorSet 0 + Decorate 86(g_tTex2du4) DescriptorSet 0 Decorate 99(g_tTexcdf4) Binding 6 - Decorate 115(g_tTexcdi4) DescriptorSet 0 + Decorate 99(g_tTexcdf4) DescriptorSet 0 Decorate 115(g_tTexcdi4) Binding 7 - Decorate 129(g_tTexcdu4) DescriptorSet 0 + Decorate 115(g_tTexcdi4) DescriptorSet 0 Decorate 129(g_tTexcdu4) Binding 8 + Decorate 129(g_tTexcdu4) DescriptorSet 0 Decorate 155(@entryPointOutput.Color) Location 0 Decorate 159(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 164(g_tTex3df4) DescriptorSet 0 Decorate 164(g_tTex3df4) Binding 0 - Decorate 167(g_tTex3di4) DescriptorSet 0 + Decorate 164(g_tTex3df4) DescriptorSet 0 Decorate 167(g_tTex3di4) Binding 0 - Decorate 170(g_tTex3du4) DescriptorSet 0 + Decorate 167(g_tTex3di4) DescriptorSet 0 Decorate 170(g_tTex3du4) Binding 0 - Decorate 173(g_tTex1df4a) DescriptorSet 0 + Decorate 170(g_tTex3du4) DescriptorSet 0 Decorate 173(g_tTex1df4a) Binding 0 - Decorate 176(g_tTex1di4a) DescriptorSet 0 + Decorate 173(g_tTex1df4a) DescriptorSet 0 Decorate 176(g_tTex1di4a) Binding 0 - Decorate 179(g_tTex1du4a) DescriptorSet 0 + Decorate 176(g_tTex1di4a) DescriptorSet 0 Decorate 179(g_tTex1du4a) Binding 0 - Decorate 182(g_tTex2df4a) DescriptorSet 0 + Decorate 179(g_tTex1du4a) DescriptorSet 0 Decorate 182(g_tTex2df4a) Binding 0 - Decorate 185(g_tTex2di4a) DescriptorSet 0 + Decorate 182(g_tTex2df4a) DescriptorSet 0 Decorate 185(g_tTex2di4a) Binding 0 - Decorate 188(g_tTex2du4a) DescriptorSet 0 + Decorate 185(g_tTex2di4a) DescriptorSet 0 Decorate 188(g_tTex2du4a) Binding 0 - Decorate 191(g_tTexcdf4a) DescriptorSet 0 + Decorate 188(g_tTex2du4a) DescriptorSet 0 Decorate 191(g_tTexcdf4a) Binding 0 - Decorate 194(g_tTexcdi4a) DescriptorSet 0 + Decorate 191(g_tTexcdf4a) DescriptorSet 0 Decorate 194(g_tTexcdi4a) Binding 0 - Decorate 197(g_tTexcdu4a) DescriptorSet 0 + Decorate 194(g_tTexcdi4a) DescriptorSet 0 Decorate 197(g_tTexcdu4a) Binding 0 + Decorate 197(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplecmp.dualmode.frag.out b/Test/baseResults/hlsl.samplecmp.dualmode.frag.out index 7f17e900..da2b024a 100644 --- a/Test/baseResults/hlsl.samplecmp.dualmode.frag.out +++ b/Test/baseResults/hlsl.samplecmp.dualmode.frag.out @@ -102,14 +102,14 @@ gl_FragCoord origin is upper left Name 29 "g_tTex" Name 31 "g_sSamp" Name 41 "@entryPointOutput" - Decorate 13(g_tTex) DescriptorSet 0 Decorate 13(g_tTex) Binding 3 - Decorate 17(g_sSampCmp) DescriptorSet 0 + Decorate 13(g_tTex) DescriptorSet 0 Decorate 17(g_sSampCmp) Binding 1 - Decorate 29(g_tTex) DescriptorSet 0 + Decorate 17(g_sSampCmp) DescriptorSet 0 Decorate 29(g_tTex) Binding 3 - Decorate 31(g_sSamp) DescriptorSet 0 + Decorate 29(g_tTex) DescriptorSet 0 Decorate 31(g_sSamp) Binding 0 + Decorate 31(g_sSamp) DescriptorSet 0 Decorate 41(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out index cc1b8581..f5286378 100644 --- a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out @@ -376,52 +376,52 @@ Validation failed Name 160 "g_tTexcdf4a" Name 163 "g_tTexcdi4a" Name 166 "g_tTexcdu4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 35(g_tTex1di4) Binding 1 - Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 Decorate 47(g_tTex1du4) Binding 2 - Decorate 58(g_tTex2df4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 Decorate 58(g_tTex2df4) Binding 3 - Decorate 77(g_tTex2di4) DescriptorSet 0 + Decorate 58(g_tTex2df4) DescriptorSet 0 Decorate 77(g_tTex2di4) Binding 4 - Decorate 90(g_tTex2du4) DescriptorSet 0 + Decorate 77(g_tTex2di4) DescriptorSet 0 Decorate 90(g_tTex2du4) Binding 5 + Decorate 90(g_tTex2du4) DescriptorSet 0 Decorate 115(@entryPointOutput.Color) Location 0 Decorate 119(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 124(g_tTex3df4) DescriptorSet 0 Decorate 124(g_tTex3df4) Binding 0 - Decorate 127(g_tTex3di4) DescriptorSet 0 + Decorate 124(g_tTex3df4) DescriptorSet 0 Decorate 127(g_tTex3di4) Binding 0 - Decorate 130(g_tTex3du4) DescriptorSet 0 + Decorate 127(g_tTex3di4) DescriptorSet 0 Decorate 130(g_tTex3du4) Binding 0 - Decorate 133(g_tTexcdf4) DescriptorSet 0 + Decorate 130(g_tTex3du4) DescriptorSet 0 Decorate 133(g_tTexcdf4) Binding 0 - Decorate 136(g_tTexcdi4) DescriptorSet 0 + Decorate 133(g_tTexcdf4) DescriptorSet 0 Decorate 136(g_tTexcdi4) Binding 0 - Decorate 139(g_tTexcdu4) DescriptorSet 0 + Decorate 136(g_tTexcdi4) DescriptorSet 0 Decorate 139(g_tTexcdu4) Binding 0 - Decorate 142(g_tTex1df4a) DescriptorSet 0 + Decorate 139(g_tTexcdu4) DescriptorSet 0 Decorate 142(g_tTex1df4a) Binding 0 - Decorate 145(g_tTex1di4a) DescriptorSet 0 + Decorate 142(g_tTex1df4a) DescriptorSet 0 Decorate 145(g_tTex1di4a) Binding 0 - Decorate 148(g_tTex1du4a) DescriptorSet 0 + Decorate 145(g_tTex1di4a) DescriptorSet 0 Decorate 148(g_tTex1du4a) Binding 0 - Decorate 151(g_tTex2df4a) DescriptorSet 0 + Decorate 148(g_tTex1du4a) DescriptorSet 0 Decorate 151(g_tTex2df4a) Binding 0 - Decorate 154(g_tTex2di4a) DescriptorSet 0 + Decorate 151(g_tTex2df4a) DescriptorSet 0 Decorate 154(g_tTex2di4a) Binding 0 - Decorate 157(g_tTex2du4a) DescriptorSet 0 + Decorate 154(g_tTex2di4a) DescriptorSet 0 Decorate 157(g_tTex2du4a) Binding 0 - Decorate 160(g_tTexcdf4a) DescriptorSet 0 + Decorate 157(g_tTex2du4a) DescriptorSet 0 Decorate 160(g_tTexcdf4a) Binding 0 - Decorate 163(g_tTexcdi4a) DescriptorSet 0 + Decorate 160(g_tTexcdf4a) DescriptorSet 0 Decorate 163(g_tTexcdi4a) Binding 0 - Decorate 166(g_tTexcdu4a) DescriptorSet 0 + Decorate 163(g_tTexcdi4a) DescriptorSet 0 Decorate 166(g_tTexcdu4a) Binding 0 + Decorate 166(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out index 9d8413c9..0500534c 100644 --- a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out @@ -388,52 +388,52 @@ Validation failed Name 171 "g_tTexcdf4a" Name 174 "g_tTexcdi4a" Name 177 "g_tTexcdu4a" - Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 16(g_tTex1df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 40(g_tTex1di4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 40(g_tTex1di4a) Binding 2 - Decorate 54(g_tTex1du4a) DescriptorSet 0 + Decorate 40(g_tTex1di4a) DescriptorSet 0 Decorate 54(g_tTex1du4a) Binding 3 - Decorate 67(g_tTex2df4a) DescriptorSet 0 + Decorate 54(g_tTex1du4a) DescriptorSet 0 Decorate 67(g_tTex2df4a) Binding 4 - Decorate 86(g_tTex2di4a) DescriptorSet 0 + Decorate 67(g_tTex2df4a) DescriptorSet 0 Decorate 86(g_tTex2di4a) Binding 5 - Decorate 100(g_tTex2du4a) DescriptorSet 0 + Decorate 86(g_tTex2di4a) DescriptorSet 0 Decorate 100(g_tTex2du4a) Binding 6 + Decorate 100(g_tTex2du4a) DescriptorSet 0 Decorate 126(@entryPointOutput.Color) Location 0 Decorate 130(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 135(g_tTex1df4) DescriptorSet 0 Decorate 135(g_tTex1df4) Binding 0 - Decorate 138(g_tTex1di4) DescriptorSet 0 + Decorate 135(g_tTex1df4) DescriptorSet 0 Decorate 138(g_tTex1di4) Binding 0 - Decorate 141(g_tTex1du4) DescriptorSet 0 + Decorate 138(g_tTex1di4) DescriptorSet 0 Decorate 141(g_tTex1du4) Binding 0 - Decorate 144(g_tTex2df4) DescriptorSet 0 + Decorate 141(g_tTex1du4) DescriptorSet 0 Decorate 144(g_tTex2df4) Binding 0 - Decorate 147(g_tTex2di4) DescriptorSet 0 + Decorate 144(g_tTex2df4) DescriptorSet 0 Decorate 147(g_tTex2di4) Binding 0 - Decorate 150(g_tTex2du4) DescriptorSet 0 + Decorate 147(g_tTex2di4) DescriptorSet 0 Decorate 150(g_tTex2du4) Binding 0 - Decorate 153(g_tTex3df4) DescriptorSet 0 + Decorate 150(g_tTex2du4) DescriptorSet 0 Decorate 153(g_tTex3df4) Binding 0 - Decorate 156(g_tTex3di4) DescriptorSet 0 + Decorate 153(g_tTex3df4) DescriptorSet 0 Decorate 156(g_tTex3di4) Binding 0 - Decorate 159(g_tTex3du4) DescriptorSet 0 + Decorate 156(g_tTex3di4) DescriptorSet 0 Decorate 159(g_tTex3du4) Binding 0 - Decorate 162(g_tTexcdf4) DescriptorSet 0 + Decorate 159(g_tTex3du4) DescriptorSet 0 Decorate 162(g_tTexcdf4) Binding 0 - Decorate 165(g_tTexcdi4) DescriptorSet 0 + Decorate 162(g_tTexcdf4) DescriptorSet 0 Decorate 165(g_tTexcdi4) Binding 0 - Decorate 168(g_tTexcdu4) DescriptorSet 0 + Decorate 165(g_tTexcdi4) DescriptorSet 0 Decorate 168(g_tTexcdu4) Binding 0 - Decorate 171(g_tTexcdf4a) DescriptorSet 0 + Decorate 168(g_tTexcdu4) DescriptorSet 0 Decorate 171(g_tTexcdf4a) Binding 0 - Decorate 174(g_tTexcdi4a) DescriptorSet 0 + Decorate 171(g_tTexcdf4a) DescriptorSet 0 Decorate 174(g_tTexcdi4a) Binding 0 - Decorate 177(g_tTexcdu4a) DescriptorSet 0 + Decorate 174(g_tTexcdi4a) DescriptorSet 0 Decorate 177(g_tTexcdu4a) Binding 0 + Decorate 177(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out index 45e33ffa..66b5092a 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out @@ -436,14 +436,14 @@ using depth_any Validation failed // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 210 +// Id's are bound by 195 Capability Shader Capability Sampled1D Capability SampledCubeArray 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 167 171 + EntryPoint Fragment 4 "main" 152 156 ExecutionMode 4 OriginUpperLeft ExecutionMode 4 DepthReplacing Source HLSL 500 @@ -467,72 +467,72 @@ Validation failed Name 97 "g_tTex2du4a" Name 108 "r60" Name 111 "g_tTexcdf4a" - Name 124 "r62" - Name 127 "g_tTexcdi4a" - Name 138 "r64" - Name 141 "g_tTexcdu4a" - Name 153 "psout" - Name 164 "flattenTemp" - Name 167 "@entryPointOutput.Color" - Name 171 "@entryPointOutput.Depth" - Name 176 "g_tTex1df4" - Name 179 "g_tTex1di4" - Name 182 "g_tTex1du4" - Name 185 "g_tTex2df4" - Name 188 "g_tTex2di4" - Name 191 "g_tTex2du4" - Name 194 "g_tTex3df4" - Name 197 "g_tTex3di4" - Name 200 "g_tTex3du4" - Name 203 "g_tTexcdf4" - Name 206 "g_tTexcdi4" - Name 209 "g_tTexcdu4" - Decorate 16(g_tTex1df4a) DescriptorSet 0 + Name 119 "r62" + Name 122 "g_tTexcdi4a" + Name 128 "r64" + Name 131 "g_tTexcdu4a" + Name 138 "psout" + Name 149 "flattenTemp" + Name 152 "@entryPointOutput.Color" + Name 156 "@entryPointOutput.Depth" + Name 161 "g_tTex1df4" + Name 164 "g_tTex1di4" + Name 167 "g_tTex1du4" + Name 170 "g_tTex2df4" + Name 173 "g_tTex2di4" + Name 176 "g_tTex2du4" + Name 179 "g_tTex3df4" + Name 182 "g_tTex3di4" + Name 185 "g_tTex3du4" + Name 188 "g_tTexcdf4" + Name 191 "g_tTexcdi4" + Name 194 "g_tTexcdu4" Decorate 16(g_tTex1df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 40(g_tTex1di4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 40(g_tTex1di4a) Binding 2 - Decorate 54(g_tTex1du4a) DescriptorSet 0 + Decorate 40(g_tTex1di4a) DescriptorSet 0 Decorate 54(g_tTex1du4a) Binding 3 - Decorate 67(g_tTex2df4a) DescriptorSet 0 + Decorate 54(g_tTex1du4a) DescriptorSet 0 Decorate 67(g_tTex2df4a) Binding 4 - Decorate 83(g_tTex2di4a) DescriptorSet 0 + Decorate 67(g_tTex2df4a) DescriptorSet 0 Decorate 83(g_tTex2di4a) Binding 5 - Decorate 97(g_tTex2du4a) DescriptorSet 0 + Decorate 83(g_tTex2di4a) DescriptorSet 0 Decorate 97(g_tTex2du4a) Binding 6 - Decorate 111(g_tTexcdf4a) DescriptorSet 0 + Decorate 97(g_tTex2du4a) DescriptorSet 0 Decorate 111(g_tTexcdf4a) Binding 7 - Decorate 127(g_tTexcdi4a) DescriptorSet 0 - Decorate 127(g_tTexcdi4a) Binding 8 - Decorate 141(g_tTexcdu4a) DescriptorSet 0 - Decorate 141(g_tTexcdu4a) Binding 9 - Decorate 167(@entryPointOutput.Color) Location 0 - Decorate 171(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 176(g_tTex1df4) DescriptorSet 0 - Decorate 176(g_tTex1df4) Binding 0 - Decorate 179(g_tTex1di4) DescriptorSet 0 - Decorate 179(g_tTex1di4) Binding 0 - Decorate 182(g_tTex1du4) DescriptorSet 0 - Decorate 182(g_tTex1du4) Binding 0 - Decorate 185(g_tTex2df4) DescriptorSet 0 - Decorate 185(g_tTex2df4) Binding 0 - Decorate 188(g_tTex2di4) DescriptorSet 0 - Decorate 188(g_tTex2di4) Binding 0 - Decorate 191(g_tTex2du4) DescriptorSet 0 - Decorate 191(g_tTex2du4) Binding 0 - Decorate 194(g_tTex3df4) DescriptorSet 0 - Decorate 194(g_tTex3df4) Binding 0 - Decorate 197(g_tTex3di4) DescriptorSet 0 - Decorate 197(g_tTex3di4) Binding 0 - Decorate 200(g_tTex3du4) DescriptorSet 0 - Decorate 200(g_tTex3du4) Binding 0 - Decorate 203(g_tTexcdf4) DescriptorSet 0 - Decorate 203(g_tTexcdf4) Binding 0 - Decorate 206(g_tTexcdi4) DescriptorSet 0 - Decorate 206(g_tTexcdi4) Binding 0 - Decorate 209(g_tTexcdu4) DescriptorSet 0 - Decorate 209(g_tTexcdu4) Binding 0 + Decorate 111(g_tTexcdf4a) DescriptorSet 0 + Decorate 122(g_tTexcdi4a) Binding 8 + Decorate 122(g_tTexcdi4a) DescriptorSet 0 + Decorate 131(g_tTexcdu4a) Binding 9 + Decorate 131(g_tTexcdu4a) DescriptorSet 0 + Decorate 152(@entryPointOutput.Color) Location 0 + Decorate 156(@entryPointOutput.Depth) BuiltIn FragDepth + Decorate 161(g_tTex1df4) Binding 0 + Decorate 161(g_tTex1df4) DescriptorSet 0 + Decorate 164(g_tTex1di4) Binding 0 + Decorate 164(g_tTex1di4) DescriptorSet 0 + Decorate 167(g_tTex1du4) Binding 0 + Decorate 167(g_tTex1du4) DescriptorSet 0 + Decorate 170(g_tTex2df4) Binding 0 + Decorate 170(g_tTex2df4) DescriptorSet 0 + Decorate 173(g_tTex2di4) Binding 0 + Decorate 173(g_tTex2di4) DescriptorSet 0 + Decorate 176(g_tTex2du4) Binding 0 + Decorate 176(g_tTex2du4) DescriptorSet 0 + Decorate 179(g_tTex3df4) Binding 0 + Decorate 179(g_tTex3df4) DescriptorSet 0 + Decorate 182(g_tTex3di4) Binding 0 + Decorate 182(g_tTex3di4) DescriptorSet 0 + Decorate 185(g_tTex3du4) Binding 0 + Decorate 185(g_tTex3du4) DescriptorSet 0 + Decorate 188(g_tTexcdf4) Binding 0 + Decorate 188(g_tTexcdf4) DescriptorSet 0 + Decorate 191(g_tTexcdi4) Binding 0 + Decorate 191(g_tTexcdi4) DescriptorSet 0 + Decorate 194(g_tTexcdu4) Binding 0 + Decorate 194(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -584,71 +584,71 @@ Validation failed 114: TypeSampledImage 109 116: 6(float) Constant 1053609165 117: 7(fvec4) ConstantComposite 25 26 72 116 - 125: TypeImage 37(int) Cube depth array sampled format:Unknown - 126: TypePointer UniformConstant 125 -127(g_tTexcdi4a): 126(ptr) Variable UniformConstant - 130: TypeSampledImage 125 - 139: TypeImage 51(int) Cube depth array sampled format:Unknown - 140: TypePointer UniformConstant 139 -141(g_tTexcdu4a): 140(ptr) Variable UniformConstant - 144: TypeSampledImage 139 - 152: TypePointer Function 8(PS_OUTPUT) - 154: 37(int) Constant 0 - 155: 6(float) Constant 1065353216 - 156: 7(fvec4) ConstantComposite 155 155 155 155 - 157: TypePointer Function 7(fvec4) - 159: 37(int) Constant 1 - 166: TypePointer Output 7(fvec4) -167(@entryPointOutput.Color): 166(ptr) Variable Output - 170: TypePointer Output 6(float) -171(@entryPointOutput.Depth): 170(ptr) Variable Output - 174: TypeImage 6(float) 1D sampled format:Unknown + 120: TypeImage 37(int) Cube depth array sampled format:Unknown + 121: TypePointer UniformConstant 120 +122(g_tTexcdi4a): 121(ptr) Variable UniformConstant + 125: TypeSampledImage 120 + 129: TypeImage 51(int) Cube depth array sampled format:Unknown + 130: TypePointer UniformConstant 129 +131(g_tTexcdu4a): 130(ptr) Variable UniformConstant + 134: TypeSampledImage 129 + 137: TypePointer Function 8(PS_OUTPUT) + 139: 37(int) Constant 0 + 140: 6(float) Constant 1065353216 + 141: 7(fvec4) ConstantComposite 140 140 140 140 + 142: TypePointer Function 7(fvec4) + 144: 37(int) Constant 1 + 151: TypePointer Output 7(fvec4) +152(@entryPointOutput.Color): 151(ptr) Variable Output + 155: TypePointer Output 6(float) +156(@entryPointOutput.Depth): 155(ptr) Variable Output + 159: TypeImage 6(float) 1D sampled format:Unknown + 160: TypePointer UniformConstant 159 + 161(g_tTex1df4): 160(ptr) Variable UniformConstant + 162: TypeImage 37(int) 1D sampled format:Unknown + 163: TypePointer UniformConstant 162 + 164(g_tTex1di4): 163(ptr) Variable UniformConstant + 165: TypeImage 51(int) 1D sampled format:Unknown + 166: TypePointer UniformConstant 165 + 167(g_tTex1du4): 166(ptr) Variable UniformConstant + 168: TypeImage 6(float) 2D sampled format:Unknown + 169: TypePointer UniformConstant 168 + 170(g_tTex2df4): 169(ptr) Variable UniformConstant + 171: TypeImage 37(int) 2D sampled format:Unknown + 172: TypePointer UniformConstant 171 + 173(g_tTex2di4): 172(ptr) Variable UniformConstant + 174: TypeImage 51(int) 2D sampled format:Unknown 175: TypePointer UniformConstant 174 - 176(g_tTex1df4): 175(ptr) Variable UniformConstant - 177: TypeImage 37(int) 1D sampled format:Unknown + 176(g_tTex2du4): 175(ptr) Variable UniformConstant + 177: TypeImage 6(float) 3D sampled format:Unknown 178: TypePointer UniformConstant 177 - 179(g_tTex1di4): 178(ptr) Variable UniformConstant - 180: TypeImage 51(int) 1D sampled format:Unknown + 179(g_tTex3df4): 178(ptr) Variable UniformConstant + 180: TypeImage 37(int) 3D sampled format:Unknown 181: TypePointer UniformConstant 180 - 182(g_tTex1du4): 181(ptr) Variable UniformConstant - 183: TypeImage 6(float) 2D sampled format:Unknown + 182(g_tTex3di4): 181(ptr) Variable UniformConstant + 183: TypeImage 51(int) 3D sampled format:Unknown 184: TypePointer UniformConstant 183 - 185(g_tTex2df4): 184(ptr) Variable UniformConstant - 186: TypeImage 37(int) 2D sampled format:Unknown + 185(g_tTex3du4): 184(ptr) Variable UniformConstant + 186: TypeImage 6(float) Cube sampled format:Unknown 187: TypePointer UniformConstant 186 - 188(g_tTex2di4): 187(ptr) Variable UniformConstant - 189: TypeImage 51(int) 2D sampled format:Unknown + 188(g_tTexcdf4): 187(ptr) Variable UniformConstant + 189: TypeImage 37(int) Cube sampled format:Unknown 190: TypePointer UniformConstant 189 - 191(g_tTex2du4): 190(ptr) Variable UniformConstant - 192: TypeImage 6(float) 3D sampled format:Unknown + 191(g_tTexcdi4): 190(ptr) Variable UniformConstant + 192: TypeImage 51(int) Cube sampled format:Unknown 193: TypePointer UniformConstant 192 - 194(g_tTex3df4): 193(ptr) Variable UniformConstant - 195: TypeImage 37(int) 3D sampled format:Unknown - 196: TypePointer UniformConstant 195 - 197(g_tTex3di4): 196(ptr) Variable UniformConstant - 198: TypeImage 51(int) 3D sampled format:Unknown - 199: TypePointer UniformConstant 198 - 200(g_tTex3du4): 199(ptr) Variable UniformConstant - 201: TypeImage 6(float) Cube sampled format:Unknown - 202: TypePointer UniformConstant 201 - 203(g_tTexcdf4): 202(ptr) Variable UniformConstant - 204: TypeImage 37(int) Cube sampled format:Unknown - 205: TypePointer UniformConstant 204 - 206(g_tTexcdi4): 205(ptr) Variable UniformConstant - 207: TypeImage 51(int) Cube sampled format:Unknown - 208: TypePointer UniformConstant 207 - 209(g_tTexcdu4): 208(ptr) Variable UniformConstant + 194(g_tTexcdu4): 193(ptr) Variable UniformConstant 4(main): 2 Function None 3 5: Label -164(flattenTemp): 152(ptr) Variable Function - 165:8(PS_OUTPUT) FunctionCall 10(@main() - Store 164(flattenTemp) 165 - 168: 157(ptr) AccessChain 164(flattenTemp) 154 - 169: 7(fvec4) Load 168 - Store 167(@entryPointOutput.Color) 169 - 172: 12(ptr) AccessChain 164(flattenTemp) 159 - 173: 6(float) Load 172 - Store 171(@entryPointOutput.Depth) 173 +149(flattenTemp): 137(ptr) Variable Function + 150:8(PS_OUTPUT) FunctionCall 10(@main() + Store 149(flattenTemp) 150 + 153: 142(ptr) AccessChain 149(flattenTemp) 139 + 154: 7(fvec4) Load 153 + Store 152(@entryPointOutput.Color) 154 + 157: 12(ptr) AccessChain 149(flattenTemp) 144 + 158: 6(float) Load 157 + Store 156(@entryPointOutput.Depth) 158 Return FunctionEnd 10(@main():8(PS_OUTPUT) Function None 9 @@ -660,9 +660,9 @@ Validation failed 80(r32): 12(ptr) Variable Function 94(r34): 12(ptr) Variable Function 108(r60): 12(ptr) Variable Function - 124(r62): 12(ptr) Variable Function - 138(r64): 12(ptr) Variable Function - 153(psout): 152(ptr) Variable Function + 119(r62): 12(ptr) Variable Function + 128(r64): 12(ptr) Variable Function + 138(psout): 137(ptr) Variable Function 17: 14 Load 16(g_tTex1df4a) 21: 18 Load 20(g_sSamp) 23: 22 SampledImage 17 21 @@ -723,37 +723,22 @@ Validation failed 112: 109 Load 111(g_tTexcdf4a) 113: 18 Load 20(g_sSamp) 115: 114 SampledImage 112 113 - 118: 6(float) CompositeExtract 117 0 - 119: 6(float) CompositeExtract 117 1 - 120: 6(float) CompositeExtract 117 2 - 121: 6(float) CompositeExtract 117 3 - 122: 7(fvec4) CompositeConstruct 118 119 120 121 - 123: 6(float) ImageSampleDrefExplicitLod 115 122 28 Lod 33 - Store 108(r60) 123 - 128: 125 Load 127(g_tTexcdi4a) - 129: 18 Load 20(g_sSamp) - 131: 130 SampledImage 128 129 - 132: 6(float) CompositeExtract 117 0 - 133: 6(float) CompositeExtract 117 1 - 134: 6(float) CompositeExtract 117 2 - 135: 6(float) CompositeExtract 117 3 - 136: 7(fvec4) CompositeConstruct 132 133 134 135 - 137: 6(float) ImageSampleDrefExplicitLod 131 136 28 Lod 33 - Store 124(r62) 137 - 142: 139 Load 141(g_tTexcdu4a) - 143: 18 Load 20(g_sSamp) - 145: 144 SampledImage 142 143 - 146: 6(float) CompositeExtract 117 0 - 147: 6(float) CompositeExtract 117 1 - 148: 6(float) CompositeExtract 117 2 - 149: 6(float) CompositeExtract 117 3 - 150: 7(fvec4) CompositeConstruct 146 147 148 149 - 151: 6(float) ImageSampleDrefExplicitLod 145 150 28 Lod 33 - Store 138(r64) 151 - 158: 157(ptr) AccessChain 153(psout) 154 - Store 158 156 - 160: 12(ptr) AccessChain 153(psout) 159 - Store 160 155 - 161:8(PS_OUTPUT) Load 153(psout) - ReturnValue 161 + 118: 6(float) ImageSampleDrefExplicitLod 115 117 28 Lod 33 + Store 108(r60) 118 + 123: 120 Load 122(g_tTexcdi4a) + 124: 18 Load 20(g_sSamp) + 126: 125 SampledImage 123 124 + 127: 6(float) ImageSampleDrefExplicitLod 126 117 28 Lod 33 + Store 119(r62) 127 + 132: 129 Load 131(g_tTexcdu4a) + 133: 18 Load 20(g_sSamp) + 135: 134 SampledImage 132 133 + 136: 6(float) ImageSampleDrefExplicitLod 135 117 28 Lod 33 + Store 128(r64) 136 + 143: 142(ptr) AccessChain 138(psout) 139 + Store 143 141 + 145: 12(ptr) AccessChain 138(psout) 144 + Store 145 140 + 146:8(PS_OUTPUT) Load 138(psout) + ReturnValue 146 FunctionEnd diff --git a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out index 6807d995..c833b51a 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out @@ -469,52 +469,52 @@ Validation failed Name 192 "g_tTexcdf4a" Name 195 "g_tTexcdi4a" Name 198 "g_tTexcdu4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 35(g_tTex1di4) Binding 1 - Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 Decorate 47(g_tTex1du4) Binding 2 - Decorate 58(g_tTex2df4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 Decorate 58(g_tTex2df4) Binding 3 - Decorate 74(g_tTex2di4) DescriptorSet 0 + Decorate 58(g_tTex2df4) DescriptorSet 0 Decorate 74(g_tTex2di4) Binding 4 - Decorate 87(g_tTex2du4) DescriptorSet 0 + Decorate 74(g_tTex2di4) DescriptorSet 0 Decorate 87(g_tTex2du4) Binding 5 - Decorate 100(g_tTexcdf4) DescriptorSet 0 + Decorate 87(g_tTex2du4) DescriptorSet 0 Decorate 100(g_tTexcdf4) Binding 6 - Decorate 116(g_tTexcdi4) DescriptorSet 0 + Decorate 100(g_tTexcdf4) DescriptorSet 0 Decorate 116(g_tTexcdi4) Binding 7 - Decorate 130(g_tTexcdu4) DescriptorSet 0 + Decorate 116(g_tTexcdi4) DescriptorSet 0 Decorate 130(g_tTexcdu4) Binding 8 + Decorate 130(g_tTexcdu4) DescriptorSet 0 Decorate 156(@entryPointOutput.Color) Location 0 Decorate 160(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 165(g_tTex3df4) DescriptorSet 0 Decorate 165(g_tTex3df4) Binding 0 - Decorate 168(g_tTex3di4) DescriptorSet 0 + Decorate 165(g_tTex3df4) DescriptorSet 0 Decorate 168(g_tTex3di4) Binding 0 - Decorate 171(g_tTex3du4) DescriptorSet 0 + Decorate 168(g_tTex3di4) DescriptorSet 0 Decorate 171(g_tTex3du4) Binding 0 - Decorate 174(g_tTex1df4a) DescriptorSet 0 + Decorate 171(g_tTex3du4) DescriptorSet 0 Decorate 174(g_tTex1df4a) Binding 0 - Decorate 177(g_tTex1di4a) DescriptorSet 0 + Decorate 174(g_tTex1df4a) DescriptorSet 0 Decorate 177(g_tTex1di4a) Binding 0 - Decorate 180(g_tTex1du4a) DescriptorSet 0 + Decorate 177(g_tTex1di4a) DescriptorSet 0 Decorate 180(g_tTex1du4a) Binding 0 - Decorate 183(g_tTex2df4a) DescriptorSet 0 + Decorate 180(g_tTex1du4a) DescriptorSet 0 Decorate 183(g_tTex2df4a) Binding 0 - Decorate 186(g_tTex2di4a) DescriptorSet 0 + Decorate 183(g_tTex2df4a) DescriptorSet 0 Decorate 186(g_tTex2di4a) Binding 0 - Decorate 189(g_tTex2du4a) DescriptorSet 0 + Decorate 186(g_tTex2di4a) DescriptorSet 0 Decorate 189(g_tTex2du4a) Binding 0 - Decorate 192(g_tTexcdf4a) DescriptorSet 0 + Decorate 189(g_tTex2du4a) DescriptorSet 0 Decorate 192(g_tTexcdf4a) Binding 0 - Decorate 195(g_tTexcdi4a) DescriptorSet 0 + Decorate 192(g_tTexcdf4a) DescriptorSet 0 Decorate 195(g_tTexcdi4a) Binding 0 - Decorate 198(g_tTexcdu4a) DescriptorSet 0 + Decorate 195(g_tTexcdi4a) DescriptorSet 0 Decorate 198(g_tTexcdu4a) Binding 0 + Decorate 198(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out index 338a5e71..70d2bd77 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out @@ -400,52 +400,52 @@ Validation failed Name 161 "g_tTexcdf4a" Name 164 "g_tTexcdi4a" Name 167 "g_tTexcdu4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 36(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 36(g_tTex1di4) Binding 1 - Decorate 48(g_tTex1du4) DescriptorSet 0 + Decorate 36(g_tTex1di4) DescriptorSet 0 Decorate 48(g_tTex1du4) Binding 2 - Decorate 59(g_tTex2df4) DescriptorSet 0 + Decorate 48(g_tTex1du4) DescriptorSet 0 Decorate 59(g_tTex2df4) Binding 3 - Decorate 78(g_tTex2di4) DescriptorSet 0 + Decorate 59(g_tTex2df4) DescriptorSet 0 Decorate 78(g_tTex2di4) Binding 4 - Decorate 91(g_tTex2du4) DescriptorSet 0 + Decorate 78(g_tTex2di4) DescriptorSet 0 Decorate 91(g_tTex2du4) Binding 5 + Decorate 91(g_tTex2du4) DescriptorSet 0 Decorate 116(@entryPointOutput.Color) Location 0 Decorate 120(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 125(g_tTex3df4) DescriptorSet 0 Decorate 125(g_tTex3df4) Binding 0 - Decorate 128(g_tTex3di4) DescriptorSet 0 + Decorate 125(g_tTex3df4) DescriptorSet 0 Decorate 128(g_tTex3di4) Binding 0 - Decorate 131(g_tTex3du4) DescriptorSet 0 + Decorate 128(g_tTex3di4) DescriptorSet 0 Decorate 131(g_tTex3du4) Binding 0 - Decorate 134(g_tTexcdf4) DescriptorSet 0 + Decorate 131(g_tTex3du4) DescriptorSet 0 Decorate 134(g_tTexcdf4) Binding 0 - Decorate 137(g_tTexcdi4) DescriptorSet 0 + Decorate 134(g_tTexcdf4) DescriptorSet 0 Decorate 137(g_tTexcdi4) Binding 0 - Decorate 140(g_tTexcdu4) DescriptorSet 0 + Decorate 137(g_tTexcdi4) DescriptorSet 0 Decorate 140(g_tTexcdu4) Binding 0 - Decorate 143(g_tTex1df4a) DescriptorSet 0 + Decorate 140(g_tTexcdu4) DescriptorSet 0 Decorate 143(g_tTex1df4a) Binding 0 - Decorate 146(g_tTex1di4a) DescriptorSet 0 + Decorate 143(g_tTex1df4a) DescriptorSet 0 Decorate 146(g_tTex1di4a) Binding 0 - Decorate 149(g_tTex1du4a) DescriptorSet 0 + Decorate 146(g_tTex1di4a) DescriptorSet 0 Decorate 149(g_tTex1du4a) Binding 0 - Decorate 152(g_tTex2df4a) DescriptorSet 0 + Decorate 149(g_tTex1du4a) DescriptorSet 0 Decorate 152(g_tTex2df4a) Binding 0 - Decorate 155(g_tTex2di4a) DescriptorSet 0 + Decorate 152(g_tTex2df4a) DescriptorSet 0 Decorate 155(g_tTex2di4a) Binding 0 - Decorate 158(g_tTex2du4a) DescriptorSet 0 + Decorate 155(g_tTex2di4a) DescriptorSet 0 Decorate 158(g_tTex2du4a) Binding 0 - Decorate 161(g_tTexcdf4a) DescriptorSet 0 + Decorate 158(g_tTex2du4a) DescriptorSet 0 Decorate 161(g_tTexcdf4a) Binding 0 - Decorate 164(g_tTexcdi4a) DescriptorSet 0 + Decorate 161(g_tTexcdf4a) DescriptorSet 0 Decorate 164(g_tTexcdi4a) Binding 0 - Decorate 167(g_tTexcdu4a) DescriptorSet 0 + Decorate 164(g_tTexcdi4a) DescriptorSet 0 Decorate 167(g_tTexcdu4a) Binding 0 + Decorate 167(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out index 4b68c90f..c3fbf0d1 100644 --- a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out @@ -412,52 +412,52 @@ Validation failed Name 172 "g_tTexcdf4a" Name 175 "g_tTexcdi4a" Name 178 "g_tTexcdu4a" - Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 16(g_tTex1df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 41(g_tTex1di4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 41(g_tTex1di4a) Binding 2 - Decorate 55(g_tTex1du4a) DescriptorSet 0 + Decorate 41(g_tTex1di4a) DescriptorSet 0 Decorate 55(g_tTex1du4a) Binding 3 - Decorate 68(g_tTex2df4a) DescriptorSet 0 + Decorate 55(g_tTex1du4a) DescriptorSet 0 Decorate 68(g_tTex2df4a) Binding 4 - Decorate 87(g_tTex2di4a) DescriptorSet 0 + Decorate 68(g_tTex2df4a) DescriptorSet 0 Decorate 87(g_tTex2di4a) Binding 5 - Decorate 101(g_tTex2du4a) DescriptorSet 0 + Decorate 87(g_tTex2di4a) DescriptorSet 0 Decorate 101(g_tTex2du4a) Binding 6 + Decorate 101(g_tTex2du4a) DescriptorSet 0 Decorate 127(@entryPointOutput.Color) Location 0 Decorate 131(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 136(g_tTex1df4) DescriptorSet 0 Decorate 136(g_tTex1df4) Binding 0 - Decorate 139(g_tTex1di4) DescriptorSet 0 + Decorate 136(g_tTex1df4) DescriptorSet 0 Decorate 139(g_tTex1di4) Binding 0 - Decorate 142(g_tTex1du4) DescriptorSet 0 + Decorate 139(g_tTex1di4) DescriptorSet 0 Decorate 142(g_tTex1du4) Binding 0 - Decorate 145(g_tTex2df4) DescriptorSet 0 + Decorate 142(g_tTex1du4) DescriptorSet 0 Decorate 145(g_tTex2df4) Binding 0 - Decorate 148(g_tTex2di4) DescriptorSet 0 + Decorate 145(g_tTex2df4) DescriptorSet 0 Decorate 148(g_tTex2di4) Binding 0 - Decorate 151(g_tTex2du4) DescriptorSet 0 + Decorate 148(g_tTex2di4) DescriptorSet 0 Decorate 151(g_tTex2du4) Binding 0 - Decorate 154(g_tTex3df4) DescriptorSet 0 + Decorate 151(g_tTex2du4) DescriptorSet 0 Decorate 154(g_tTex3df4) Binding 0 - Decorate 157(g_tTex3di4) DescriptorSet 0 + Decorate 154(g_tTex3df4) DescriptorSet 0 Decorate 157(g_tTex3di4) Binding 0 - Decorate 160(g_tTex3du4) DescriptorSet 0 + Decorate 157(g_tTex3di4) DescriptorSet 0 Decorate 160(g_tTex3du4) Binding 0 - Decorate 163(g_tTexcdf4) DescriptorSet 0 + Decorate 160(g_tTex3du4) DescriptorSet 0 Decorate 163(g_tTexcdf4) Binding 0 - Decorate 166(g_tTexcdi4) DescriptorSet 0 + Decorate 163(g_tTexcdf4) DescriptorSet 0 Decorate 166(g_tTexcdi4) Binding 0 - Decorate 169(g_tTexcdu4) DescriptorSet 0 + Decorate 166(g_tTexcdi4) DescriptorSet 0 Decorate 169(g_tTexcdu4) Binding 0 - Decorate 172(g_tTexcdf4a) DescriptorSet 0 + Decorate 169(g_tTexcdu4) DescriptorSet 0 Decorate 172(g_tTexcdf4a) Binding 0 - Decorate 175(g_tTexcdi4a) DescriptorSet 0 + Decorate 172(g_tTexcdf4a) DescriptorSet 0 Decorate 175(g_tTexcdi4a) Binding 0 - Decorate 178(g_tTexcdu4a) DescriptorSet 0 + Decorate 175(g_tTexcdi4a) DescriptorSet 0 Decorate 178(g_tTexcdu4a) Binding 0 + Decorate 178(g_tTexcdu4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out index a2e58bd6..b70b0bff 100644 --- a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out @@ -471,30 +471,30 @@ using depth_any Name 132 "@entryPointOutput.Color" Name 136 "@entryPointOutput.Depth" Name 139 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 37(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 37(g_tTex1di4) Binding 2 - Decorate 49(g_tTex1du4) DescriptorSet 0 + Decorate 37(g_tTex1di4) DescriptorSet 0 Decorate 49(g_tTex1du4) Binding 3 - Decorate 58(g_tTex2df4) DescriptorSet 0 + Decorate 49(g_tTex1du4) DescriptorSet 0 Decorate 58(g_tTex2df4) Binding 4 - Decorate 71(g_tTex2di4) DescriptorSet 0 + Decorate 58(g_tTex2df4) DescriptorSet 0 Decorate 71(g_tTex2di4) Binding 5 - Decorate 80(g_tTex2du4) DescriptorSet 0 + Decorate 71(g_tTex2di4) DescriptorSet 0 Decorate 80(g_tTex2du4) Binding 6 - Decorate 89(g_tTexcdf4) DescriptorSet 0 + Decorate 80(g_tTex2du4) DescriptorSet 0 Decorate 89(g_tTexcdf4) Binding 7 - Decorate 102(g_tTexcdi4) DescriptorSet 0 + Decorate 89(g_tTexcdf4) DescriptorSet 0 Decorate 102(g_tTexcdi4) Binding 8 - Decorate 111(g_tTexcdu4) DescriptorSet 0 + Decorate 102(g_tTexcdi4) DescriptorSet 0 Decorate 111(g_tTexcdu4) Binding 9 + Decorate 111(g_tTexcdu4) DescriptorSet 0 Decorate 132(@entryPointOutput.Color) Location 0 Decorate 136(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 139(g_tTex1df4a) DescriptorSet 0 Decorate 139(g_tTex1df4a) Binding 1 + Decorate 139(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out index 09bfbdf3..b17306d0 100644 --- a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out @@ -578,36 +578,36 @@ using depth_any Name 167 "@entryPointOutput.Color" Name 171 "@entryPointOutput.Depth" Name 174 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 34(g_tTex1di4) Binding 2 - Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 Decorate 47(g_tTex1du4) Binding 3 - Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 Decorate 57(g_tTex2df4) Binding 4 - Decorate 69(g_tTex2di4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 Decorate 69(g_tTex2di4) Binding 5 - Decorate 80(g_tTex2du4) DescriptorSet 0 + Decorate 69(g_tTex2di4) DescriptorSet 0 Decorate 80(g_tTex2du4) Binding 6 - Decorate 92(g_tTex3df4) DescriptorSet 0 + Decorate 80(g_tTex2du4) DescriptorSet 0 Decorate 92(g_tTex3df4) Binding 7 - Decorate 105(g_tTex3di4) DescriptorSet 0 + Decorate 92(g_tTex3df4) DescriptorSet 0 Decorate 105(g_tTex3di4) Binding 8 - Decorate 115(g_tTex3du4) DescriptorSet 0 + Decorate 105(g_tTex3di4) DescriptorSet 0 Decorate 115(g_tTex3du4) Binding 9 - Decorate 128(g_tTexcdf4) DescriptorSet 0 + Decorate 115(g_tTex3du4) DescriptorSet 0 Decorate 128(g_tTexcdf4) Binding 10 - Decorate 137(g_tTexcdi4) DescriptorSet 0 + Decorate 128(g_tTexcdf4) DescriptorSet 0 Decorate 137(g_tTexcdi4) Binding 11 - Decorate 146(g_tTexcdu4) DescriptorSet 0 + Decorate 137(g_tTexcdi4) DescriptorSet 0 Decorate 146(g_tTexcdu4) Binding 12 + Decorate 146(g_tTexcdu4) DescriptorSet 0 Decorate 167(@entryPointOutput.Color) Location 0 Decorate 171(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 174(g_tTex1df4a) DescriptorSet 0 Decorate 174(g_tTex1df4a) Binding 1 + Decorate 174(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out index f63d9e8e..902500cd 100644 --- a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out @@ -535,35 +535,35 @@ Shader version: 500 Name 153 "vsout" Name 162 "@entryPointOutput.Pos" Name 165 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 34(g_tTex1di4) Binding 2 - Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 Decorate 47(g_tTex1du4) Binding 3 - Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 Decorate 57(g_tTex2df4) Binding 4 - Decorate 69(g_tTex2di4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 Decorate 69(g_tTex2di4) Binding 5 - Decorate 80(g_tTex2du4) DescriptorSet 0 + Decorate 69(g_tTex2di4) DescriptorSet 0 Decorate 80(g_tTex2du4) Binding 6 - Decorate 92(g_tTex3df4) DescriptorSet 0 + Decorate 80(g_tTex2du4) DescriptorSet 0 Decorate 92(g_tTex3df4) Binding 7 - Decorate 105(g_tTex3di4) DescriptorSet 0 + Decorate 92(g_tTex3df4) DescriptorSet 0 Decorate 105(g_tTex3di4) Binding 8 - Decorate 115(g_tTex3du4) DescriptorSet 0 + Decorate 105(g_tTex3di4) DescriptorSet 0 Decorate 115(g_tTex3du4) Binding 9 - Decorate 128(g_tTexcdf4) DescriptorSet 0 + Decorate 115(g_tTex3du4) DescriptorSet 0 Decorate 128(g_tTexcdf4) Binding 10 - Decorate 137(g_tTexcdi4) DescriptorSet 0 + Decorate 128(g_tTexcdf4) DescriptorSet 0 Decorate 137(g_tTexcdi4) Binding 11 - Decorate 146(g_tTexcdu4) DescriptorSet 0 + Decorate 137(g_tTexcdi4) DescriptorSet 0 Decorate 146(g_tTexcdu4) Binding 12 + Decorate 146(g_tTexcdu4) DescriptorSet 0 Decorate 162(@entryPointOutput.Pos) BuiltIn Position - Decorate 165(g_tTex1df4a) DescriptorSet 0 Decorate 165(g_tTex1df4a) Binding 1 + Decorate 165(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out index 3180e7a3..63c94219 100644 --- a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out @@ -515,36 +515,36 @@ using depth_any Name 159 "g_tTexcdf4" Name 162 "g_tTexcdi4" Name 165 "g_tTexcdu4" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 35(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 35(g_tTex1di4) Binding 2 - Decorate 48(g_tTex1du4) DescriptorSet 0 + Decorate 35(g_tTex1di4) DescriptorSet 0 Decorate 48(g_tTex1du4) Binding 3 - Decorate 58(g_tTex2df4) DescriptorSet 0 + Decorate 48(g_tTex1du4) DescriptorSet 0 Decorate 58(g_tTex2df4) Binding 4 - Decorate 73(g_tTex2di4) DescriptorSet 0 + Decorate 58(g_tTex2df4) DescriptorSet 0 Decorate 73(g_tTex2di4) Binding 5 - Decorate 85(g_tTex2du4) DescriptorSet 0 + Decorate 73(g_tTex2di4) DescriptorSet 0 Decorate 85(g_tTex2du4) Binding 6 - Decorate 99(g_tTex3df4) DescriptorSet 0 + Decorate 85(g_tTex2du4) DescriptorSet 0 Decorate 99(g_tTex3df4) Binding 7 - Decorate 114(g_tTex3di4) DescriptorSet 0 + Decorate 99(g_tTex3df4) DescriptorSet 0 Decorate 114(g_tTex3di4) Binding 8 - Decorate 125(g_tTex3du4) DescriptorSet 0 + Decorate 114(g_tTex3di4) DescriptorSet 0 Decorate 125(g_tTex3du4) Binding 9 + Decorate 125(g_tTex3du4) DescriptorSet 0 Decorate 149(@entryPointOutput.Color) Location 0 Decorate 153(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 156(g_tTex1df4a) DescriptorSet 0 Decorate 156(g_tTex1df4a) Binding 1 - Decorate 159(g_tTexcdf4) DescriptorSet 0 + Decorate 156(g_tTex1df4a) DescriptorSet 0 Decorate 159(g_tTexcdf4) Binding 0 - Decorate 162(g_tTexcdi4) DescriptorSet 0 + Decorate 159(g_tTexcdf4) DescriptorSet 0 Decorate 162(g_tTexcdi4) Binding 0 - Decorate 165(g_tTexcdu4) DescriptorSet 0 + Decorate 162(g_tTexcdi4) DescriptorSet 0 Decorate 165(g_tTexcdu4) Binding 0 + Decorate 165(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out index ce799699..2f245162 100644 --- a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out @@ -378,30 +378,30 @@ using depth_any Name 113 "g_tTexcdf4" Name 116 "g_tTexcdi4" Name 119 "g_tTexcdu4" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 38(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 38(g_tTex1di4) Binding 2 - Decorate 50(g_tTex1du4) DescriptorSet 0 + Decorate 38(g_tTex1di4) DescriptorSet 0 Decorate 50(g_tTex1du4) Binding 3 - Decorate 59(g_tTex2df4) DescriptorSet 0 + Decorate 50(g_tTex1du4) DescriptorSet 0 Decorate 59(g_tTex2df4) Binding 4 - Decorate 75(g_tTex2di4) DescriptorSet 0 + Decorate 59(g_tTex2df4) DescriptorSet 0 Decorate 75(g_tTex2di4) Binding 5 - Decorate 84(g_tTex2du4) DescriptorSet 0 + Decorate 75(g_tTex2di4) DescriptorSet 0 Decorate 84(g_tTex2du4) Binding 6 + Decorate 84(g_tTex2du4) DescriptorSet 0 Decorate 103(@entryPointOutput.Color) Location 0 Decorate 107(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 110(g_tTex1df4a) DescriptorSet 0 Decorate 110(g_tTex1df4a) Binding 1 - Decorate 113(g_tTexcdf4) DescriptorSet 0 + Decorate 110(g_tTex1df4a) DescriptorSet 0 Decorate 113(g_tTexcdf4) Binding 0 - Decorate 116(g_tTexcdi4) DescriptorSet 0 + Decorate 113(g_tTexcdf4) DescriptorSet 0 Decorate 116(g_tTexcdi4) Binding 0 - Decorate 119(g_tTexcdu4) DescriptorSet 0 + Decorate 116(g_tTexcdi4) DescriptorSet 0 Decorate 119(g_tTexcdu4) Binding 0 + Decorate 119(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out index 7f3af783..5057df6b 100644 --- a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out @@ -399,30 +399,30 @@ using depth_any Name 139 "@entryPointOutput.Color" Name 143 "@entryPointOutput.Depth" Name 146 "g_tTex1df4" - Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 16(g_tTex1df4a) Binding 1 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4a) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 36(g_tTex1di4a) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 36(g_tTex1di4a) Binding 2 - Decorate 50(g_tTex1du4a) DescriptorSet 0 + Decorate 36(g_tTex1di4a) DescriptorSet 0 Decorate 50(g_tTex1du4a) Binding 3 - Decorate 61(g_tTex2df4a) DescriptorSet 0 + Decorate 50(g_tTex1du4a) DescriptorSet 0 Decorate 61(g_tTex2df4a) Binding 4 - Decorate 72(g_tTex2di4a) DescriptorSet 0 + Decorate 61(g_tTex2df4a) DescriptorSet 0 Decorate 72(g_tTex2di4a) Binding 5 - Decorate 83(g_tTex2du4a) DescriptorSet 0 + Decorate 72(g_tTex2di4a) DescriptorSet 0 Decorate 83(g_tTex2du4a) Binding 6 - Decorate 95(g_tTexcdf4a) DescriptorSet 0 + Decorate 83(g_tTex2du4a) DescriptorSet 0 Decorate 95(g_tTexcdf4a) Binding 7 - Decorate 105(g_tTexcdi4a) DescriptorSet 0 + Decorate 95(g_tTexcdf4a) DescriptorSet 0 Decorate 105(g_tTexcdi4a) Binding 8 - Decorate 115(g_tTexcdu4a) DescriptorSet 0 + Decorate 105(g_tTexcdi4a) DescriptorSet 0 Decorate 115(g_tTexcdu4a) Binding 9 + Decorate 115(g_tTexcdu4a) DescriptorSet 0 Decorate 139(@entryPointOutput.Color) Location 0 Decorate 143(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 146(g_tTex1df4) DescriptorSet 0 Decorate 146(g_tTex1df4) Binding 0 + Decorate 146(g_tTex1df4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out index e1d449f5..7055dfae 100644 --- a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out @@ -473,38 +473,38 @@ using depth_any Name 167 "@entryPointOutput.Depth" Name 170 "g_sSamp2d" Name 171 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex1di4) Binding 2 - Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 33(g_tTex1di4) DescriptorSet 0 Decorate 46(g_tTex1du4) Binding 3 - Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 Decorate 56(g_tTex2df4) Binding 4 - Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 Decorate 67(g_tTex2di4) Binding 5 - Decorate 78(g_tTex2du4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 Decorate 78(g_tTex2du4) Binding 6 - Decorate 90(g_tTex3df4) DescriptorSet 0 + Decorate 78(g_tTex2du4) DescriptorSet 0 Decorate 90(g_tTex3df4) Binding 7 - Decorate 101(g_tTex3di4) DescriptorSet 0 + Decorate 90(g_tTex3df4) DescriptorSet 0 Decorate 101(g_tTex3di4) Binding 8 - Decorate 111(g_tTex3du4) DescriptorSet 0 + Decorate 101(g_tTex3di4) DescriptorSet 0 Decorate 111(g_tTex3du4) Binding 9 - Decorate 124(g_tTexcdf4) DescriptorSet 0 + Decorate 111(g_tTex3du4) DescriptorSet 0 Decorate 124(g_tTexcdf4) Binding 10 - Decorate 133(g_tTexcdi4) DescriptorSet 0 + Decorate 124(g_tTexcdf4) DescriptorSet 0 Decorate 133(g_tTexcdi4) Binding 11 - Decorate 142(g_tTexcdu4) DescriptorSet 0 + Decorate 133(g_tTexcdi4) DescriptorSet 0 Decorate 142(g_tTexcdu4) Binding 12 + Decorate 142(g_tTexcdu4) DescriptorSet 0 Decorate 163(@entryPointOutput.Color) Location 0 Decorate 167(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 170(g_sSamp2d) DescriptorSet 0 Decorate 170(g_sSamp2d) Binding 0 - Decorate 171(g_tTex1df4a) DescriptorSet 0 + Decorate 170(g_sSamp2d) DescriptorSet 0 Decorate 171(g_tTex1df4a) Binding 1 + Decorate 171(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out index bbb51f37..f5901331 100644 --- a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out +++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out @@ -427,35 +427,35 @@ Shader version: 500 Name 149 "vsout" Name 158 "@entryPointOutput.Pos" Name 161 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 33(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 33(g_tTex1di4) Binding 2 - Decorate 46(g_tTex1du4) DescriptorSet 0 + Decorate 33(g_tTex1di4) DescriptorSet 0 Decorate 46(g_tTex1du4) Binding 3 - Decorate 56(g_tTex2df4) DescriptorSet 0 + Decorate 46(g_tTex1du4) DescriptorSet 0 Decorate 56(g_tTex2df4) Binding 4 - Decorate 67(g_tTex2di4) DescriptorSet 0 + Decorate 56(g_tTex2df4) DescriptorSet 0 Decorate 67(g_tTex2di4) Binding 5 - Decorate 78(g_tTex2du4) DescriptorSet 0 + Decorate 67(g_tTex2di4) DescriptorSet 0 Decorate 78(g_tTex2du4) Binding 6 - Decorate 90(g_tTex3df4) DescriptorSet 0 + Decorate 78(g_tTex2du4) DescriptorSet 0 Decorate 90(g_tTex3df4) Binding 7 - Decorate 101(g_tTex3di4) DescriptorSet 0 + Decorate 90(g_tTex3df4) DescriptorSet 0 Decorate 101(g_tTex3di4) Binding 8 - Decorate 111(g_tTex3du4) DescriptorSet 0 + Decorate 101(g_tTex3di4) DescriptorSet 0 Decorate 111(g_tTex3du4) Binding 9 - Decorate 124(g_tTexcdf4) DescriptorSet 0 + Decorate 111(g_tTex3du4) DescriptorSet 0 Decorate 124(g_tTexcdf4) Binding 10 - Decorate 133(g_tTexcdi4) DescriptorSet 0 + Decorate 124(g_tTexcdf4) DescriptorSet 0 Decorate 133(g_tTexcdi4) Binding 11 - Decorate 142(g_tTexcdu4) DescriptorSet 0 + Decorate 133(g_tTexcdi4) DescriptorSet 0 Decorate 142(g_tTexcdu4) Binding 12 + Decorate 142(g_tTexcdu4) DescriptorSet 0 Decorate 158(@entryPointOutput.Pos) BuiltIn Position - Decorate 161(g_tTex1df4a) DescriptorSet 0 Decorate 161(g_tTex1df4a) Binding 1 + Decorate 161(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out index 1b06c579..e1ec0fae 100644 --- a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out @@ -443,36 +443,36 @@ using depth_any Name 155 "g_tTexcdf4" Name 158 "g_tTexcdi4" Name 161 "g_tTexcdu4" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 34(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 34(g_tTex1di4) Binding 2 - Decorate 47(g_tTex1du4) DescriptorSet 0 + Decorate 34(g_tTex1di4) DescriptorSet 0 Decorate 47(g_tTex1du4) Binding 3 - Decorate 57(g_tTex2df4) DescriptorSet 0 + Decorate 47(g_tTex1du4) DescriptorSet 0 Decorate 57(g_tTex2df4) Binding 4 - Decorate 71(g_tTex2di4) DescriptorSet 0 + Decorate 57(g_tTex2df4) DescriptorSet 0 Decorate 71(g_tTex2di4) Binding 5 - Decorate 83(g_tTex2du4) DescriptorSet 0 + Decorate 71(g_tTex2di4) DescriptorSet 0 Decorate 83(g_tTex2du4) Binding 6 - Decorate 97(g_tTex3df4) DescriptorSet 0 + Decorate 83(g_tTex2du4) DescriptorSet 0 Decorate 97(g_tTex3df4) Binding 7 - Decorate 110(g_tTex3di4) DescriptorSet 0 + Decorate 97(g_tTex3df4) DescriptorSet 0 Decorate 110(g_tTex3di4) Binding 8 - Decorate 121(g_tTex3du4) DescriptorSet 0 + Decorate 110(g_tTex3di4) DescriptorSet 0 Decorate 121(g_tTex3du4) Binding 9 + Decorate 121(g_tTex3du4) DescriptorSet 0 Decorate 145(@entryPointOutput.Color) Location 0 Decorate 149(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 152(g_tTex1df4a) DescriptorSet 0 Decorate 152(g_tTex1df4a) Binding 1 - Decorate 155(g_tTexcdf4) DescriptorSet 0 + Decorate 152(g_tTex1df4a) DescriptorSet 0 Decorate 155(g_tTexcdf4) Binding 0 - Decorate 158(g_tTexcdi4) DescriptorSet 0 + Decorate 155(g_tTexcdf4) DescriptorSet 0 Decorate 158(g_tTexcdi4) Binding 0 - Decorate 161(g_tTexcdu4) DescriptorSet 0 + Decorate 158(g_tTexcdi4) DescriptorSet 0 Decorate 161(g_tTexcdu4) Binding 0 + Decorate 161(g_tTexcdu4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out index e2560546..7c057dff 100644 --- a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out +++ b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out @@ -332,24 +332,24 @@ using depth_any Name 111 "@entryPointOutput.Color" Name 115 "@entryPointOutput.Depth" Name 118 "g_tTex1df4a" - Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 16(g_tTex1df4) Binding 0 - Decorate 20(g_sSamp) DescriptorSet 0 + Decorate 16(g_tTex1df4) DescriptorSet 0 Decorate 20(g_sSamp) Binding 0 - Decorate 37(g_tTex1di4) DescriptorSet 0 + Decorate 20(g_sSamp) DescriptorSet 0 Decorate 37(g_tTex1di4) Binding 2 - Decorate 52(g_tTex1du4) DescriptorSet 0 + Decorate 37(g_tTex1di4) DescriptorSet 0 Decorate 52(g_tTex1du4) Binding 3 - Decorate 64(g_tTex2df4) DescriptorSet 0 + Decorate 52(g_tTex1du4) DescriptorSet 0 Decorate 64(g_tTex2df4) Binding 4 - Decorate 77(g_tTex2di4) DescriptorSet 0 + Decorate 64(g_tTex2df4) DescriptorSet 0 Decorate 77(g_tTex2di4) Binding 5 - Decorate 88(g_tTex2du4) DescriptorSet 0 + Decorate 77(g_tTex2di4) DescriptorSet 0 Decorate 88(g_tTex2du4) Binding 6 + Decorate 88(g_tTex2du4) DescriptorSet 0 Decorate 111(@entryPointOutput.Color) Location 0 Decorate 115(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 118(g_tTex1df4a) DescriptorSet 0 Decorate 118(g_tTex1df4a) Binding 1 + Decorate 118(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.snorm.uav.comp.out b/Test/baseResults/hlsl.snorm.uav.comp.out index 40ab6cf1..de82aa4d 100644 --- a/Test/baseResults/hlsl.snorm.uav.comp.out +++ b/Test/baseResults/hlsl.snorm.uav.comp.out @@ -136,18 +136,18 @@ local_size = (16, 16, 1) Name 47 "tid" Name 49 "tid" Name 51 "param" - Decorate 19(ResultInS) DescriptorSet 0 Decorate 19(ResultInS) Binding 1 - MemberDecorate 25($Global) 0 Offset 0 + Decorate 19(ResultInS) DescriptorSet 0 Decorate 25($Global) Block - Decorate 27 DescriptorSet 0 + MemberDecorate 25($Global) 0 Offset 0 Decorate 27 Binding 2 - Decorate 34(ResultOutS) DescriptorSet 0 + Decorate 27 DescriptorSet 0 Decorate 34(ResultOutS) Binding 1 - Decorate 39(ResultInU) DescriptorSet 0 + Decorate 34(ResultOutS) DescriptorSet 0 Decorate 39(ResultInU) Binding 0 - Decorate 43(ResultOutU) DescriptorSet 0 + Decorate 39(ResultInU) DescriptorSet 0 Decorate 43(ResultOutU) Binding 0 + Decorate 43(ResultOutU) DescriptorSet 0 Decorate 49(tid) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out b/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out index 2198affb..3524cf9f 100644 --- a/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out +++ b/Test/baseResults/hlsl.store.rwbyteaddressbuffer.type.comp.out @@ -116,10 +116,10 @@ local_size = (64, 1, 1) Name 37 "dispatchThreadID" Name 39 "param" Decorate 27 ArrayStride 4 - MemberDecorate 28(buffer) 0 Offset 0 Decorate 28(buffer) BufferBlock - Decorate 30(buffer) DescriptorSet 0 + MemberDecorate 28(buffer) 0 Offset 0 Decorate 30(buffer) Binding 0 + Decorate 30(buffer) DescriptorSet 0 Decorate 37(dispatchThreadID) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.stringtoken.frag.out b/Test/baseResults/hlsl.stringtoken.frag.out index 144bebc6..b656ae88 100644 --- a/Test/baseResults/hlsl.stringtoken.frag.out +++ b/Test/baseResults/hlsl.stringtoken.frag.out @@ -90,12 +90,12 @@ gl_FragCoord origin is upper left MemberName 31($Global) 0 "TestUF" Name 33 "" Decorate 25(@entryPointOutput.Color) Location 0 - Decorate 30(TestTexture) DescriptorSet 0 Decorate 30(TestTexture) Binding 0 - MemberDecorate 31($Global) 0 Offset 0 + Decorate 30(TestTexture) DescriptorSet 0 Decorate 31($Global) Block - Decorate 33 DescriptorSet 0 + MemberDecorate 31($Global) 0 Offset 0 Decorate 33 Binding 0 + Decorate 33 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.struct.frag.out b/Test/baseResults/hlsl.struct.frag.out index a36bba42..24671d46 100644 --- a/Test/baseResults/hlsl.struct.frag.out +++ b/Test/baseResults/hlsl.struct.frag.out @@ -279,8 +279,8 @@ Validation failed Decorate 65(s.c) Location 3 Decorate 71(s.d) Centroid Decorate 71(s.d) Location 4 - Decorate 76(s.ff1) Flat Decorate 76(s.ff1) BuiltIn FrontFacing + Decorate 76(s.ff1) Flat Decorate 80(s.ff2) Flat Decorate 80(s.ff2) Location 5 Decorate 84(s.ff3) Flat @@ -291,12 +291,12 @@ Validation failed MemberDecorate 98(myS) 1 Offset 4 MemberDecorate 98(myS) 2 Offset 16 MemberDecorate 98(myS) 3 Offset 32 + Decorate 99($Global) Block MemberDecorate 99($Global) 0 Offset 0 MemberDecorate 99($Global) 1 Offset 1620 MemberDecorate 99($Global) 2 Offset 1636 - Decorate 99($Global) Block - Decorate 101 DescriptorSet 0 Decorate 101 Binding 0 + Decorate 101 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.structIoFourWay.frag.out b/Test/baseResults/hlsl.structIoFourWay.frag.out index 3faff5bd..1143a942 100644 --- a/Test/baseResults/hlsl.structIoFourWay.frag.out +++ b/Test/baseResults/hlsl.structIoFourWay.frag.out @@ -217,14 +217,14 @@ using depth_greater MemberDecorate 58(T) 1 Offset 72 MemberDecorate 58(T) 2 Offset 76 MemberDecorate 58(T) 3 Offset 80 - MemberDecorate 59($Global) 0 Offset 0 Decorate 59($Global) Block - Decorate 61 DescriptorSet 0 + MemberDecorate 59($Global) 0 Offset 0 Decorate 61 Binding 0 - MemberDecorate 62(buff) 0 Offset 96 + Decorate 61 DescriptorSet 0 Decorate 62(buff) Block - Decorate 64 DescriptorSet 0 + MemberDecorate 62(buff) 0 Offset 96 Decorate 64 Binding 0 + Decorate 64 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.structarray.flatten.frag.out b/Test/baseResults/hlsl.structarray.flatten.frag.out index 4896dca5..e5c01fcc 100644 --- a/Test/baseResults/hlsl.structarray.flatten.frag.out +++ b/Test/baseResults/hlsl.structarray.flatten.frag.out @@ -198,51 +198,51 @@ Validation failed Name 77 "g_texdata_array2[2].samp" Name 78 "g_texdata_array2[2].tex" Name 79 "g_texdata_array2[2].nonopaque_thing" - Decorate 18(g_texdata.tex) DescriptorSet 0 Decorate 18(g_texdata.tex) Binding 1 - Decorate 22(g_texdata.samp) DescriptorSet 0 + Decorate 18(g_texdata.tex) DescriptorSet 0 Decorate 22(g_texdata.samp) Binding 0 - Decorate 28(g_texdata_array[1].tex) DescriptorSet 0 + Decorate 22(g_texdata.samp) DescriptorSet 0 Decorate 28(g_texdata_array[1].tex) Binding 3 - Decorate 30(g_texdata_array[1].samp) DescriptorSet 0 + Decorate 28(g_texdata_array[1].tex) DescriptorSet 0 Decorate 30(g_texdata_array[1].samp) Binding 2 - Decorate 40(g_texdata_array2[1].tex) DescriptorSet 0 + Decorate 30(g_texdata_array[1].samp) DescriptorSet 0 Decorate 40(g_texdata_array2[1].tex) Binding 5 - Decorate 45(g_texdata_array2[1].samp) DescriptorSet 0 + Decorate 40(g_texdata_array2[1].tex) DescriptorSet 0 Decorate 45(g_texdata_array2[1].samp) Binding 4 + Decorate 45(g_texdata_array2[1].samp) DescriptorSet 0 Decorate 59(ps_output.color) Location 0 - Decorate 62(g_samp) DescriptorSet 0 Decorate 62(g_samp) Binding 0 - Decorate 63(g_tex) DescriptorSet 0 + Decorate 62(g_samp) DescriptorSet 0 Decorate 63(g_tex) Binding 0 + Decorate 63(g_tex) DescriptorSet 0 Decorate 65(g_texdata.nonopaque_thing) Location 0 Decorate 65(g_texdata.nonopaque_thing) DescriptorSet 0 - Decorate 66(g_texdata_array[0].samp) DescriptorSet 0 Decorate 66(g_texdata_array[0].samp) Binding 0 - Decorate 67(g_texdata_array[0].tex) DescriptorSet 0 + Decorate 66(g_texdata_array[0].samp) DescriptorSet 0 Decorate 67(g_texdata_array[0].tex) Binding 0 + Decorate 67(g_texdata_array[0].tex) DescriptorSet 0 Decorate 68(g_texdata_array[0].nonopaque_thing) Location 1 Decorate 68(g_texdata_array[0].nonopaque_thing) DescriptorSet 0 Decorate 69(g_texdata_array[1].nonopaque_thing) Location 2 Decorate 69(g_texdata_array[1].nonopaque_thing) DescriptorSet 0 - Decorate 70(g_texdata_array[2].samp) DescriptorSet 0 Decorate 70(g_texdata_array[2].samp) Binding 0 - Decorate 71(g_texdata_array[2].tex) DescriptorSet 0 + Decorate 70(g_texdata_array[2].samp) DescriptorSet 0 Decorate 71(g_texdata_array[2].tex) Binding 0 + Decorate 71(g_texdata_array[2].tex) DescriptorSet 0 Decorate 72(g_texdata_array[2].nonopaque_thing) Location 3 Decorate 72(g_texdata_array[2].nonopaque_thing) DescriptorSet 0 - Decorate 73(g_texdata_array2[0].samp) DescriptorSet 0 Decorate 73(g_texdata_array2[0].samp) Binding 0 - Decorate 74(g_texdata_array2[0].tex) DescriptorSet 0 + Decorate 73(g_texdata_array2[0].samp) DescriptorSet 0 Decorate 74(g_texdata_array2[0].tex) Binding 0 + Decorate 74(g_texdata_array2[0].tex) DescriptorSet 0 Decorate 75(g_texdata_array2[0].nonopaque_thing) Location 4 Decorate 75(g_texdata_array2[0].nonopaque_thing) DescriptorSet 0 Decorate 76(g_texdata_array2[1].nonopaque_thing) Location 5 Decorate 76(g_texdata_array2[1].nonopaque_thing) DescriptorSet 0 - Decorate 77(g_texdata_array2[2].samp) DescriptorSet 0 Decorate 77(g_texdata_array2[2].samp) Binding 0 - Decorate 78(g_texdata_array2[2].tex) DescriptorSet 0 + Decorate 77(g_texdata_array2[2].samp) DescriptorSet 0 Decorate 78(g_texdata_array2[2].tex) Binding 0 + Decorate 78(g_texdata_array2[2].tex) DescriptorSet 0 Decorate 79(g_texdata_array2[2].nonopaque_thing) Location 6 Decorate 79(g_texdata_array2[2].nonopaque_thing) DescriptorSet 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.structbuffer.append.fn.frag.out b/Test/baseResults/hlsl.structbuffer.append.fn.frag.out index acfbf5d9..aa3fa98c 100644 --- a/Test/baseResults/hlsl.structbuffer.append.fn.frag.out +++ b/Test/baseResults/hlsl.structbuffer.append.fn.frag.out @@ -186,28 +186,28 @@ Validation failed Name 68 "sbuf_c@count" Name 69 "sbuf_unused" Decorate 8 ArrayStride 16 - MemberDecorate 9 0 Offset 0 Decorate 9 BufferBlock + MemberDecorate 9 0 Offset 0 Decorate 12 BufferBlock - Decorate 49(sbuf_a) DescriptorSet 0 Decorate 49(sbuf_a) Binding 0 - Decorate 50(sbuf_a@count) DescriptorSet 0 + Decorate 49(sbuf_a) DescriptorSet 0 Decorate 50(sbuf_a@count) Binding 0 - Decorate 51(sbuf_c) DescriptorSet 0 + Decorate 50(sbuf_a@count) DescriptorSet 0 Decorate 51(sbuf_c) Binding 1 - Decorate 52(sbuf_c@count) DescriptorSet 0 + Decorate 51(sbuf_c) DescriptorSet 0 Decorate 52(sbuf_c@count) Binding 0 + Decorate 52(sbuf_c@count) DescriptorSet 0 Decorate 58(pos) Flat Decorate 58(pos) Location 0 Decorate 61(@entryPointOutput) Location 0 - MemberDecorate 65(sbuf_a@count) 0 Offset 0 Decorate 65(sbuf_a@count) BufferBlock - Decorate 67(sbuf_a@count) DescriptorSet 0 + MemberDecorate 65(sbuf_a@count) 0 Offset 0 Decorate 67(sbuf_a@count) Binding 0 - Decorate 68(sbuf_c@count) DescriptorSet 0 + Decorate 67(sbuf_a@count) DescriptorSet 0 Decorate 68(sbuf_c@count) Binding 0 - Decorate 69(sbuf_unused) DescriptorSet 0 + Decorate 68(sbuf_c@count) DescriptorSet 0 Decorate 69(sbuf_unused) Binding 0 + Decorate 69(sbuf_unused) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/hlsl.structbuffer.append.frag.out b/Test/baseResults/hlsl.structbuffer.append.frag.out index 4c57e0bc..48dfe6a5 100644 --- a/Test/baseResults/hlsl.structbuffer.append.frag.out +++ b/Test/baseResults/hlsl.structbuffer.append.frag.out @@ -150,23 +150,23 @@ gl_FragCoord origin is upper left Name 52 "param" Name 55 "sbuf_unused" Decorate 14 ArrayStride 16 - MemberDecorate 15(sbuf_a) 0 Offset 0 Decorate 15(sbuf_a) BufferBlock - Decorate 17(sbuf_a) DescriptorSet 0 + MemberDecorate 15(sbuf_a) 0 Offset 0 Decorate 17(sbuf_a) Binding 0 - MemberDecorate 20(sbuf_a@count) 0 Offset 0 + Decorate 17(sbuf_a) DescriptorSet 0 Decorate 20(sbuf_a@count) BufferBlock - Decorate 22(sbuf_a@count) DescriptorSet 0 + MemberDecorate 20(sbuf_a@count) 0 Offset 0 Decorate 22(sbuf_a@count) Binding 1 - Decorate 35(sbuf_c) DescriptorSet 0 + Decorate 22(sbuf_a@count) DescriptorSet 0 Decorate 35(sbuf_c) Binding 2 - Decorate 36(sbuf_c@count) DescriptorSet 0 + Decorate 35(sbuf_c) DescriptorSet 0 Decorate 36(sbuf_c@count) Binding 3 + Decorate 36(sbuf_c@count) DescriptorSet 0 Decorate 48(pos) Flat Decorate 48(pos) Location 0 Decorate 51(@entryPointOutput) Location 0 - Decorate 55(sbuf_unused) DescriptorSet 0 Decorate 55(sbuf_unused) Binding 0 + Decorate 55(sbuf_unused) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/hlsl.structbuffer.atomics.frag.out b/Test/baseResults/hlsl.structbuffer.atomics.frag.out index 3f26652d..712d974c 100644 --- a/Test/baseResults/hlsl.structbuffer.atomics.frag.out +++ b/Test/baseResults/hlsl.structbuffer.atomics.frag.out @@ -496,10 +496,10 @@ Validation failed Name 83 "@entryPointOutput" Name 84 "param" Decorate 14 ArrayStride 4 - MemberDecorate 15(sbuf) 0 Offset 0 Decorate 15(sbuf) BufferBlock - Decorate 17(sbuf) DescriptorSet 0 + MemberDecorate 15(sbuf) 0 Offset 0 Decorate 17(sbuf) Binding 0 + Decorate 17(sbuf) DescriptorSet 0 Decorate 80(pos) Flat Decorate 80(pos) Location 0 Decorate 83(@entryPointOutput) Location 0 diff --git a/Test/baseResults/hlsl.structbuffer.byte.frag.out b/Test/baseResults/hlsl.structbuffer.byte.frag.out index f3e92cea..a99b8056 100644 --- a/Test/baseResults/hlsl.structbuffer.byte.frag.out +++ b/Test/baseResults/hlsl.structbuffer.byte.frag.out @@ -348,11 +348,12 @@ gl_FragCoord origin is upper left Name 110 "@entryPointOutput" Name 111 "param" Decorate 15 ArrayStride 4 + Decorate 16(sbuf) BufferBlock MemberDecorate 16(sbuf) 0 NonWritable MemberDecorate 16(sbuf) 0 Offset 0 - Decorate 16(sbuf) BufferBlock - Decorate 18(sbuf) DescriptorSet 0 + Decorate 18(sbuf) NonWritable Decorate 18(sbuf) Binding 0 + Decorate 18(sbuf) DescriptorSet 0 Decorate 107(pos) Flat Decorate 107(pos) Location 0 Decorate 110(@entryPointOutput) Location 0 diff --git a/Test/baseResults/hlsl.structbuffer.coherent.frag.out b/Test/baseResults/hlsl.structbuffer.coherent.frag.out index 65e4a146..a75b3cfe 100644 --- a/Test/baseResults/hlsl.structbuffer.coherent.frag.out +++ b/Test/baseResults/hlsl.structbuffer.coherent.frag.out @@ -204,19 +204,21 @@ gl_FragCoord origin is upper left Name 74 "@entryPointOutput" Name 75 "param" Decorate 14 ArrayStride 4 + Decorate 15(sbuf2) BufferBlock MemberDecorate 15(sbuf2) 0 Coherent MemberDecorate 15(sbuf2) 0 Offset 0 - Decorate 15(sbuf2) BufferBlock - Decorate 17(sbuf2) DescriptorSet 0 + Decorate 17(sbuf2) Coherent Decorate 17(sbuf2) Binding 1 + Decorate 17(sbuf2) DescriptorSet 0 MemberDecorate 28(sb_t) 0 Offset 0 MemberDecorate 28(sb_t) 1 Offset 12 Decorate 29 ArrayStride 16 + Decorate 30(sbuf) BufferBlock MemberDecorate 30(sbuf) 0 Coherent MemberDecorate 30(sbuf) 0 Offset 0 - Decorate 30(sbuf) BufferBlock - Decorate 32(sbuf) DescriptorSet 0 + Decorate 32(sbuf) Coherent Decorate 32(sbuf) Binding 0 + Decorate 32(sbuf) DescriptorSet 0 Decorate 71(pos) Flat Decorate 71(pos) Location 0 Decorate 74(@entryPointOutput) Location 0 diff --git a/Test/baseResults/hlsl.structbuffer.floatidx.comp.out b/Test/baseResults/hlsl.structbuffer.floatidx.comp.out index 6a86e481..cea0ef7a 100644 --- a/Test/baseResults/hlsl.structbuffer.floatidx.comp.out +++ b/Test/baseResults/hlsl.structbuffer.floatidx.comp.out @@ -217,21 +217,21 @@ local_size = (1, 1, 1) MemberDecorate 19(sb_t) 0 Offset 0 MemberDecorate 19(sb_t) 1 Offset 16 Decorate 20 ArrayStride 32 - MemberDecorate 21(csb) 0 Offset 0 Decorate 21(csb) BufferBlock - Decorate 23(csb) DescriptorSet 0 + MemberDecorate 21(csb) 0 Offset 0 Decorate 23(csb) Binding 1 - MemberDecorate 26(csb@count) 0 Offset 0 + Decorate 23(csb) DescriptorSet 0 Decorate 26(csb@count) BufferBlock - Decorate 28(csb@count) DescriptorSet 0 + MemberDecorate 26(csb@count) 0 Offset 0 Decorate 28(csb@count) Binding 2 - Decorate 58(outtx) DescriptorSet 0 + Decorate 28(csb@count) DescriptorSet 0 Decorate 58(outtx) Binding 0 + Decorate 58(outtx) DescriptorSet 0 Decorate 63 ArrayStride 16 - MemberDecorate 64(rwsb) 0 Offset 0 Decorate 64(rwsb) BufferBlock - Decorate 66(rwsb) DescriptorSet 0 + MemberDecorate 64(rwsb) 0 Offset 0 Decorate 66(rwsb) Binding 3 + Decorate 66(rwsb) DescriptorSet 0 Decorate 80(nThreadId) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.structbuffer.fn.frag.out b/Test/baseResults/hlsl.structbuffer.fn.frag.out index 2086d59f..7e8536a8 100644 --- a/Test/baseResults/hlsl.structbuffer.fn.frag.out +++ b/Test/baseResults/hlsl.structbuffer.fn.frag.out @@ -182,33 +182,35 @@ Validation failed MemberName 75(sbuf3) 0 "@data" Name 77 "sbuf3" Decorate 8 ArrayStride 16 + Decorate 9 BufferBlock MemberDecorate 9 0 NonWritable MemberDecorate 9 0 Offset 0 - Decorate 9 BufferBlock Decorate 13(sb) NonWritable Decorate 17 ArrayStride 16 - MemberDecorate 18 0 Offset 0 Decorate 18 BufferBlock + MemberDecorate 18 0 Offset 0 Decorate 20 BufferBlock - Decorate 47(sbuf2) DescriptorSet 0 Decorate 47(sbuf2) Binding 0 - Decorate 48(sbuf2@count) DescriptorSet 0 + Decorate 47(sbuf2) DescriptorSet 0 Decorate 48(sbuf2@count) Binding 0 - Decorate 50(sbuf) DescriptorSet 0 + Decorate 48(sbuf2@count) DescriptorSet 0 + Decorate 50(sbuf) NonWritable Decorate 50(sbuf) Binding 10 + Decorate 50(sbuf) DescriptorSet 0 Decorate 63(pos) Flat Decorate 63(pos) Location 0 Decorate 66(@entryPointOutput) Location 0 - MemberDecorate 70(sbuf2@count) 0 Offset 0 Decorate 70(sbuf2@count) BufferBlock - Decorate 72(sbuf2@count) DescriptorSet 0 + MemberDecorate 70(sbuf2@count) 0 Offset 0 Decorate 72(sbuf2@count) Binding 0 + Decorate 72(sbuf2@count) DescriptorSet 0 Decorate 74 ArrayStride 16 + Decorate 75(sbuf3) BufferBlock MemberDecorate 75(sbuf3) 0 NonWritable MemberDecorate 75(sbuf3) 0 Offset 0 - Decorate 75(sbuf3) BufferBlock - Decorate 77(sbuf3) DescriptorSet 0 + Decorate 77(sbuf3) NonWritable Decorate 77(sbuf3) Binding 12 + Decorate 77(sbuf3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/hlsl.structbuffer.fn2.comp.out b/Test/baseResults/hlsl.structbuffer.fn2.comp.out index 1953d467..f3630064 100644 --- a/Test/baseResults/hlsl.structbuffer.fn2.comp.out +++ b/Test/baseResults/hlsl.structbuffer.fn2.comp.out @@ -165,14 +165,15 @@ local_size = (256, 1, 1) Name 57 "dispatchId" Name 60 "param" Decorate 8 ArrayStride 4 + Decorate 9 BufferBlock MemberDecorate 9 0 NonWritable MemberDecorate 9 0 Offset 0 - Decorate 9 BufferBlock Decorate 14(buffer) NonWritable - Decorate 44(g_input) DescriptorSet 0 + Decorate 44(g_input) NonWritable Decorate 44(g_input) Binding 0 - Decorate 50(g_output) DescriptorSet 0 + Decorate 44(g_input) DescriptorSet 0 Decorate 50(g_output) Binding 1 + Decorate 50(g_output) DescriptorSet 0 Decorate 57(dispatchId) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.structbuffer.frag.out b/Test/baseResults/hlsl.structbuffer.frag.out index 0e16ef16..db1d71c4 100644 --- a/Test/baseResults/hlsl.structbuffer.frag.out +++ b/Test/baseResults/hlsl.structbuffer.frag.out @@ -225,17 +225,19 @@ gl_FragCoord origin is upper left MemberDecorate 19(sb_t) 1 Offset 12 MemberDecorate 19(sb_t) 2 Offset 16 Decorate 20 ArrayStride 32 + Decorate 21(sbuf) BufferBlock MemberDecorate 21(sbuf) 0 NonWritable MemberDecorate 21(sbuf) 0 Offset 0 - Decorate 21(sbuf) BufferBlock - Decorate 23(sbuf) DescriptorSet 0 + Decorate 23(sbuf) NonWritable Decorate 23(sbuf) Binding 10 + Decorate 23(sbuf) DescriptorSet 0 Decorate 58 ArrayStride 4 + Decorate 59(sbuf2) BufferBlock MemberDecorate 59(sbuf2) 0 NonWritable MemberDecorate 59(sbuf2) 0 Offset 0 - Decorate 59(sbuf2) BufferBlock - Decorate 61(sbuf2) DescriptorSet 0 + Decorate 61(sbuf2) NonWritable Decorate 61(sbuf2) Binding 0 + Decorate 61(sbuf2) DescriptorSet 0 Decorate 89(pos) Flat Decorate 89(pos) Location 0 Decorate 92(@entryPointOutput) Location 0 diff --git a/Test/baseResults/hlsl.structbuffer.incdec.frag.hlslfun1.out b/Test/baseResults/hlsl.structbuffer.incdec.frag.hlslfun1.out index 95b13a8f..be5f1cb6 100644 --- a/Test/baseResults/hlsl.structbuffer.incdec.frag.hlslfun1.out +++ b/Test/baseResults/hlsl.structbuffer.incdec.frag.hlslfun1.out @@ -30,27 +30,27 @@ hlsl.structbuffer.incdec.frag Name 66 "@entryPointOutput" Name 67 "param" Decorate 19 ArrayStride 16 - MemberDecorate 20(sbuf_rw_i) 0 Offset 0 Decorate 20(sbuf_rw_i) BufferBlock - Decorate 22(sbuf_rw_i) DescriptorSet 0 + MemberDecorate 20(sbuf_rw_i) 0 Offset 0 Decorate 22(sbuf_rw_i) Binding 0 - Decorate 26(sbuf_rw_d) DescriptorSet 0 + Decorate 22(sbuf_rw_i) DescriptorSet 0 + DecorateId 22(sbuf_rw_i) DecorationHlslCounterBufferGOOGLE 36(sbuf_rw_i@count) Decorate 26(sbuf_rw_d) Binding 0 - Decorate 27(sbuf_rw_nocounter) DescriptorSet 0 + Decorate 26(sbuf_rw_d) DescriptorSet 0 + DecorateId 26(sbuf_rw_d) DecorationHlslCounterBufferGOOGLE 42(sbuf_rw_d@count) Decorate 27(sbuf_rw_nocounter) Binding 0 - MemberDecorate 34(sbuf_rw_i@count) 0 Offset 0 + Decorate 27(sbuf_rw_nocounter) DescriptorSet 0 Decorate 34(sbuf_rw_i@count) BufferBlock - Decorate 36(sbuf_rw_i@count) DescriptorSet 0 + MemberDecorate 34(sbuf_rw_i@count) 0 Offset 0 Decorate 36(sbuf_rw_i@count) Binding 0 - Decorate 42(sbuf_rw_d@count) DescriptorSet 0 + Decorate 36(sbuf_rw_i@count) DescriptorSet 0 Decorate 42(sbuf_rw_d@count) Binding 0 + Decorate 42(sbuf_rw_d@count) DescriptorSet 0 Decorate 63(pos) Flat Decorate 63(pos) Location 0 DecorateStringGOOGLE 63(pos) DecorationHlslSemanticGOOGLE "FOO" Decorate 66(@entryPointOutput) Location 0 DecorateStringGOOGLE 66(@entryPointOutput) DecorationHlslSemanticGOOGLE "SV_TARGET0" - DecorateId 22(sbuf_rw_i) DecorationHlslCounterBufferGOOGLE 36(sbuf_rw_i@count) - DecorateId 26(sbuf_rw_d) DecorationHlslCounterBufferGOOGLE 42(sbuf_rw_d@count) 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/hlsl.structbuffer.incdec.frag.out b/Test/baseResults/hlsl.structbuffer.incdec.frag.out index 72efcc0e..3f12758c 100644 --- a/Test/baseResults/hlsl.structbuffer.incdec.frag.out +++ b/Test/baseResults/hlsl.structbuffer.incdec.frag.out @@ -233,20 +233,20 @@ gl_FragCoord origin is upper left Name 66 "@entryPointOutput" Name 67 "param" Decorate 19 ArrayStride 16 - MemberDecorate 20(sbuf_rw_i) 0 Offset 0 Decorate 20(sbuf_rw_i) BufferBlock - Decorate 22(sbuf_rw_i) DescriptorSet 0 + MemberDecorate 20(sbuf_rw_i) 0 Offset 0 Decorate 22(sbuf_rw_i) Binding 0 - Decorate 26(sbuf_rw_d) DescriptorSet 0 + Decorate 22(sbuf_rw_i) DescriptorSet 0 Decorate 26(sbuf_rw_d) Binding 2 - Decorate 27(sbuf_rw_nocounter) DescriptorSet 0 + Decorate 26(sbuf_rw_d) DescriptorSet 0 Decorate 27(sbuf_rw_nocounter) Binding 4 - MemberDecorate 34(sbuf_rw_i@count) 0 Offset 0 + Decorate 27(sbuf_rw_nocounter) DescriptorSet 0 Decorate 34(sbuf_rw_i@count) BufferBlock - Decorate 36(sbuf_rw_i@count) DescriptorSet 0 + MemberDecorate 34(sbuf_rw_i@count) 0 Offset 0 Decorate 36(sbuf_rw_i@count) Binding 1 - Decorate 42(sbuf_rw_d@count) DescriptorSet 0 + Decorate 36(sbuf_rw_i@count) DescriptorSet 0 Decorate 42(sbuf_rw_d@count) Binding 3 + Decorate 42(sbuf_rw_d@count) DescriptorSet 0 Decorate 63(pos) Flat Decorate 63(pos) Location 0 Decorate 66(@entryPointOutput) Location 0 diff --git a/Test/baseResults/hlsl.structbuffer.rw.frag.out b/Test/baseResults/hlsl.structbuffer.rw.frag.out index 9dfdaf04..4fcc6896 100644 --- a/Test/baseResults/hlsl.structbuffer.rw.frag.out +++ b/Test/baseResults/hlsl.structbuffer.rw.frag.out @@ -204,17 +204,17 @@ gl_FragCoord origin is upper left Name 74 "@entryPointOutput" Name 75 "param" Decorate 14 ArrayStride 4 - MemberDecorate 15(sbuf2) 0 Offset 0 Decorate 15(sbuf2) BufferBlock - Decorate 17(sbuf2) DescriptorSet 0 + MemberDecorate 15(sbuf2) 0 Offset 0 Decorate 17(sbuf2) Binding 1 + Decorate 17(sbuf2) DescriptorSet 0 MemberDecorate 28(sb_t) 0 Offset 0 MemberDecorate 28(sb_t) 1 Offset 12 Decorate 29 ArrayStride 16 - MemberDecorate 30(sbuf) 0 Offset 0 Decorate 30(sbuf) BufferBlock - Decorate 32(sbuf) DescriptorSet 0 + MemberDecorate 30(sbuf) 0 Offset 0 Decorate 32(sbuf) Binding 0 + Decorate 32(sbuf) DescriptorSet 0 Decorate 71(pos) Flat Decorate 71(pos) Location 0 Decorate 74(@entryPointOutput) Location 0 diff --git a/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out b/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out index 5fdbd1d1..d8ba034e 100644 --- a/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out +++ b/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out @@ -1032,10 +1032,10 @@ gl_FragCoord origin is upper left Name 235 "@entryPointOutput" Name 236 "param" Decorate 15 ArrayStride 4 - MemberDecorate 16(sbuf) 0 Offset 0 Decorate 16(sbuf) BufferBlock - Decorate 18(sbuf) DescriptorSet 0 + MemberDecorate 16(sbuf) 0 Offset 0 Decorate 18(sbuf) Binding 0 + Decorate 18(sbuf) DescriptorSet 0 Decorate 232(pos) Flat Decorate 232(pos) Location 0 Decorate 235(@entryPointOutput) Location 0 diff --git a/Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out b/Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out index b024bd42..fa058b61 100644 --- a/Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out +++ b/Test/baseResults/hlsl.structbuffer.rwbyte2.comp.out @@ -95,15 +95,15 @@ local_size = (1, 1, 1) 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 + MemberDecorate 12(g_bbuf) 0 Offset 0 Decorate 14(g_bbuf) Binding 1 + Decorate 14(g_bbuf) DescriptorSet 0 Decorate 23 ArrayStride 4 - MemberDecorate 24(g_sbuf) 0 Offset 0 Decorate 24(g_sbuf) BufferBlock - Decorate 26(g_sbuf) DescriptorSet 0 + MemberDecorate 24(g_sbuf) 0 Offset 0 Decorate 26(g_sbuf) Binding 0 + Decorate 26(g_sbuf) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeInt 32 0 diff --git a/Test/baseResults/hlsl.structcopy.comp.out b/Test/baseResults/hlsl.structcopy.comp.out index afc03e09..07441e19 100644 --- a/Test/baseResults/hlsl.structcopy.comp.out +++ b/Test/baseResults/hlsl.structcopy.comp.out @@ -281,21 +281,23 @@ local_size = (128, 1, 1) MemberDecorate 26(MyStruct) 1 Offset 4 MemberDecorate 26(MyStruct) 2 Offset 8 Decorate 27 ArrayStride 12 + Decorate 28(MyStructs) BufferBlock MemberDecorate 28(MyStructs) 0 Offset 0 MemberDecorate 28(MyStructs) 1 Offset 4 - Decorate 28(MyStructs) BufferBlock Decorate 29 ArrayStride 16 + Decorate 30(sb) BufferBlock MemberDecorate 30(sb) 0 NonWritable MemberDecorate 30(sb) 0 Offset 0 - Decorate 30(sb) BufferBlock - Decorate 32(sb) DescriptorSet 0 + Decorate 32(sb) NonWritable Decorate 32(sb) Binding 0 + Decorate 32(sb) DescriptorSet 0 Decorate 64 ArrayStride 12 + Decorate 65(o) BufferBlock MemberDecorate 65(o) 0 NonWritable MemberDecorate 65(o) 0 Offset 0 - Decorate 65(o) BufferBlock - Decorate 67(o) DescriptorSet 0 + Decorate 67(o) NonWritable Decorate 67(o) Binding 1 + Decorate 67(o) DescriptorSet 0 Decorate 83(id) BuiltIn LocalInvocationIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.structcopylogical.comp.out b/Test/baseResults/hlsl.structcopylogical.comp.out index a9b849be..0b997811 100644 --- a/Test/baseResults/hlsl.structcopylogical.comp.out +++ b/Test/baseResults/hlsl.structcopylogical.comp.out @@ -281,21 +281,23 @@ local_size = (128, 1, 1) MemberDecorate 26(MyStruct) 1 Offset 4 MemberDecorate 26(MyStruct) 2 Offset 8 Decorate 27 ArrayStride 12 + Decorate 28(MyStructs) Block MemberDecorate 28(MyStructs) 0 Offset 0 MemberDecorate 28(MyStructs) 1 Offset 4 - Decorate 28(MyStructs) Block Decorate 29 ArrayStride 16 + Decorate 30(sb) Block MemberDecorate 30(sb) 0 NonWritable MemberDecorate 30(sb) 0 Offset 0 - Decorate 30(sb) Block - Decorate 32(sb) DescriptorSet 0 + Decorate 32(sb) NonWritable Decorate 32(sb) Binding 0 + Decorate 32(sb) DescriptorSet 0 Decorate 54 ArrayStride 12 + Decorate 55(o) Block MemberDecorate 55(o) 0 NonWritable MemberDecorate 55(o) 0 Offset 0 - Decorate 55(o) Block - Decorate 57(o) DescriptorSet 0 + Decorate 57(o) NonWritable Decorate 57(o) Binding 1 + Decorate 57(o) DescriptorSet 0 Decorate 74(id) BuiltIn LocalInvocationIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.subpass.frag.out b/Test/baseResults/hlsl.subpass.frag.out index 942ef5ee..4841862e 100644 --- a/Test/baseResults/hlsl.subpass.frag.out +++ b/Test/baseResults/hlsl.subpass.frag.out @@ -493,80 +493,80 @@ gl_FragCoord origin is upper left Name 193 "result73" Name 194 "subpass_2" Name 202 "@entryPointOutput" - Decorate 15(subpass_f4) DescriptorSet 0 Decorate 15(subpass_f4) Binding 1 + Decorate 15(subpass_f4) DescriptorSet 0 Decorate 15(subpass_f4) InputAttachmentIndex 1 - Decorate 27(subpass_i4) DescriptorSet 0 Decorate 27(subpass_i4) Binding 0 + Decorate 27(subpass_i4) DescriptorSet 0 Decorate 27(subpass_i4) InputAttachmentIndex 2 - Decorate 36(subpass_u4) DescriptorSet 0 Decorate 36(subpass_u4) Binding 2 + Decorate 36(subpass_u4) DescriptorSet 0 Decorate 36(subpass_u4) InputAttachmentIndex 3 - Decorate 42(subpass_ms_f4) DescriptorSet 0 Decorate 42(subpass_ms_f4) Binding 3 + Decorate 42(subpass_ms_f4) DescriptorSet 0 Decorate 42(subpass_ms_f4) InputAttachmentIndex 4 - Decorate 49(subpass_ms_i4) DescriptorSet 0 Decorate 49(subpass_ms_i4) Binding 4 + Decorate 49(subpass_ms_i4) DescriptorSet 0 Decorate 49(subpass_ms_i4) InputAttachmentIndex 5 - Decorate 55(subpass_ms_u4) DescriptorSet 0 Decorate 55(subpass_ms_u4) Binding 5 + Decorate 55(subpass_ms_u4) DescriptorSet 0 Decorate 55(subpass_ms_u4) InputAttachmentIndex 6 - Decorate 61(subpass_f3) DescriptorSet 0 Decorate 61(subpass_f3) Binding 6 + Decorate 61(subpass_f3) DescriptorSet 0 Decorate 61(subpass_f3) InputAttachmentIndex 1 - Decorate 71(subpass_i3) DescriptorSet 0 Decorate 71(subpass_i3) Binding 7 + Decorate 71(subpass_i3) DescriptorSet 0 Decorate 71(subpass_i3) InputAttachmentIndex 2 - Decorate 81(subpass_u3) DescriptorSet 0 Decorate 81(subpass_u3) Binding 8 + Decorate 81(subpass_u3) DescriptorSet 0 Decorate 81(subpass_u3) InputAttachmentIndex 3 - Decorate 89(subpass_ms_f3) DescriptorSet 0 Decorate 89(subpass_ms_f3) Binding 9 + Decorate 89(subpass_ms_f3) DescriptorSet 0 Decorate 89(subpass_ms_f3) InputAttachmentIndex 4 - Decorate 97(subpass_ms_i3) DescriptorSet 0 Decorate 97(subpass_ms_i3) Binding 10 + Decorate 97(subpass_ms_i3) DescriptorSet 0 Decorate 97(subpass_ms_i3) InputAttachmentIndex 5 - Decorate 105(subpass_ms_u3) DescriptorSet 0 Decorate 105(subpass_ms_u3) Binding 11 + Decorate 105(subpass_ms_u3) DescriptorSet 0 Decorate 105(subpass_ms_u3) InputAttachmentIndex 6 - Decorate 115(subpass_f2) DescriptorSet 0 Decorate 115(subpass_f2) Binding 12 + Decorate 115(subpass_f2) DescriptorSet 0 Decorate 115(subpass_f2) InputAttachmentIndex 1 - Decorate 123(subpass_i2) DescriptorSet 0 Decorate 123(subpass_i2) Binding 13 + Decorate 123(subpass_i2) DescriptorSet 0 Decorate 123(subpass_i2) InputAttachmentIndex 2 - Decorate 132(subpass_u2) DescriptorSet 0 Decorate 132(subpass_u2) Binding 14 + Decorate 132(subpass_u2) DescriptorSet 0 Decorate 132(subpass_u2) InputAttachmentIndex 3 - Decorate 139(subpass_ms_f2) DescriptorSet 0 Decorate 139(subpass_ms_f2) Binding 15 + Decorate 139(subpass_ms_f2) DescriptorSet 0 Decorate 139(subpass_ms_f2) InputAttachmentIndex 4 - Decorate 147(subpass_ms_i2) DescriptorSet 0 Decorate 147(subpass_ms_i2) Binding 16 + Decorate 147(subpass_ms_i2) DescriptorSet 0 Decorate 147(subpass_ms_i2) InputAttachmentIndex 5 - Decorate 154(subpass_ms_u2) DescriptorSet 0 Decorate 154(subpass_ms_u2) Binding 17 + Decorate 154(subpass_ms_u2) DescriptorSet 0 Decorate 154(subpass_ms_u2) InputAttachmentIndex 6 - Decorate 162(subpass_f) DescriptorSet 0 Decorate 162(subpass_f) Binding 18 + Decorate 162(subpass_f) DescriptorSet 0 Decorate 162(subpass_f) InputAttachmentIndex 1 - Decorate 168(subpass_i) DescriptorSet 0 Decorate 168(subpass_i) Binding 19 + Decorate 168(subpass_i) DescriptorSet 0 Decorate 168(subpass_i) InputAttachmentIndex 2 - Decorate 174(subpass_u) DescriptorSet 0 Decorate 174(subpass_u) Binding 20 + Decorate 174(subpass_u) DescriptorSet 0 Decorate 174(subpass_u) InputAttachmentIndex 3 - Decorate 179(subpass_ms_f) DescriptorSet 0 Decorate 179(subpass_ms_f) Binding 21 + Decorate 179(subpass_ms_f) DescriptorSet 0 Decorate 179(subpass_ms_f) InputAttachmentIndex 4 - Decorate 184(subpass_ms_i) DescriptorSet 0 Decorate 184(subpass_ms_i) Binding 22 + Decorate 184(subpass_ms_i) DescriptorSet 0 Decorate 184(subpass_ms_i) InputAttachmentIndex 5 - Decorate 189(subpass_ms_u) DescriptorSet 0 Decorate 189(subpass_ms_u) Binding 23 + Decorate 189(subpass_ms_u) DescriptorSet 0 Decorate 189(subpass_ms_u) InputAttachmentIndex 6 - Decorate 194(subpass_2) DescriptorSet 0 Decorate 194(subpass_2) Binding 24 + Decorate 194(subpass_2) DescriptorSet 0 Decorate 194(subpass_2) InputAttachmentIndex 7 Decorate 202(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.texture.struct.frag.out b/Test/baseResults/hlsl.texture.struct.frag.out index ba632bed..879d0673 100644 --- a/Test/baseResults/hlsl.texture.struct.frag.out +++ b/Test/baseResults/hlsl.texture.struct.frag.out @@ -904,20 +904,20 @@ Validation failed Name 229 "g_tTex2s1a" Name 230 "param" Name 238 "@entryPointOutput" - Decorate 30(g_sSamp) DescriptorSet 0 Decorate 30(g_sSamp) Binding 0 - Decorate 90(g_tTex2s1) DescriptorSet 0 + Decorate 30(g_sSamp) DescriptorSet 0 Decorate 90(g_tTex2s1) Binding 1 - Decorate 114(g_tTex2s2) DescriptorSet 0 + Decorate 90(g_tTex2s1) DescriptorSet 0 Decorate 114(g_tTex2s2) Binding 2 - Decorate 140(g_tTex2s3) DescriptorSet 0 + Decorate 114(g_tTex2s2) DescriptorSet 0 Decorate 140(g_tTex2s3) Binding 3 - Decorate 168(g_tTex2s4) DescriptorSet 0 + Decorate 140(g_tTex2s3) DescriptorSet 0 Decorate 168(g_tTex2s4) Binding 4 - Decorate 202(g_tTex2s5) DescriptorSet 0 + Decorate 168(g_tTex2s4) DescriptorSet 0 Decorate 202(g_tTex2s5) Binding 5 - Decorate 229(g_tTex2s1a) DescriptorSet 0 + Decorate 202(g_tTex2s5) DescriptorSet 0 Decorate 229(g_tTex2s1a) Binding 6 + Decorate 229(g_tTex2s1a) DescriptorSet 0 Decorate 238(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.texture.subvec4.frag.out b/Test/baseResults/hlsl.texture.subvec4.frag.out index 9c3b7417..715cb6d1 100644 --- a/Test/baseResults/hlsl.texture.subvec4.frag.out +++ b/Test/baseResults/hlsl.texture.subvec4.frag.out @@ -385,24 +385,24 @@ gl_FragCoord origin is upper left Name 109 "g_tTex2df3" Name 118 "g_tTex2df4" Name 128 "@entryPointOutput" - Decorate 17(g_tTex2dmsf1) DescriptorSet 0 Decorate 17(g_tTex2dmsf1) Binding 0 - Decorate 33(g_tTex2dmsf2) DescriptorSet 0 + Decorate 17(g_tTex2dmsf1) DescriptorSet 0 Decorate 33(g_tTex2dmsf2) Binding 1 - Decorate 43(g_tTex2dmsf3) DescriptorSet 0 + Decorate 33(g_tTex2dmsf2) DescriptorSet 0 Decorate 43(g_tTex2dmsf3) Binding 2 - Decorate 53(g_tTex2dmsf4) DescriptorSet 0 + Decorate 43(g_tTex2dmsf3) DescriptorSet 0 Decorate 53(g_tTex2dmsf4) Binding 3 - Decorate 88(g_tTex2df1) DescriptorSet 0 + Decorate 53(g_tTex2dmsf4) DescriptorSet 0 Decorate 88(g_tTex2df1) Binding 4 - Decorate 92(g_sSamp) DescriptorSet 0 + Decorate 88(g_tTex2df1) DescriptorSet 0 Decorate 92(g_sSamp) Binding 8 - Decorate 101(g_tTex2df2) DescriptorSet 0 + Decorate 92(g_sSamp) DescriptorSet 0 Decorate 101(g_tTex2df2) Binding 5 - Decorate 109(g_tTex2df3) DescriptorSet 0 + Decorate 101(g_tTex2df2) DescriptorSet 0 Decorate 109(g_tTex2df3) Binding 6 - Decorate 118(g_tTex2df4) DescriptorSet 0 + Decorate 109(g_tTex2df3) DescriptorSet 0 Decorate 118(g_tTex2df4) Binding 7 + Decorate 118(g_tTex2df4) DescriptorSet 0 Decorate 128(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.texturebuffer.frag.out b/Test/baseResults/hlsl.texturebuffer.frag.out index ae1d4f75..6a2f8bec 100644 --- a/Test/baseResults/hlsl.texturebuffer.frag.out +++ b/Test/baseResults/hlsl.texturebuffer.frag.out @@ -94,20 +94,22 @@ gl_FragCoord origin is upper left Name 32 "pos" Name 35 "@entryPointOutput" Name 36 "param" + Decorate 15(TextureBuffer_var) BufferBlock MemberDecorate 15(TextureBuffer_var) 0 NonWritable MemberDecorate 15(TextureBuffer_var) 0 Offset 0 MemberDecorate 15(TextureBuffer_var) 1 NonWritable MemberDecorate 15(TextureBuffer_var) 1 Offset 16 - Decorate 15(TextureBuffer_var) BufferBlock - Decorate 17(TextureBuffer_var) DescriptorSet 0 + Decorate 17(TextureBuffer_var) NonWritable Decorate 17(TextureBuffer_var) Binding 0 + Decorate 17(TextureBuffer_var) DescriptorSet 0 + Decorate 22(tbuf2) BufferBlock MemberDecorate 22(tbuf2) 0 NonWritable MemberDecorate 22(tbuf2) 0 Offset 0 MemberDecorate 22(tbuf2) 1 NonWritable MemberDecorate 22(tbuf2) 1 Offset 16 - Decorate 22(tbuf2) BufferBlock - Decorate 24 DescriptorSet 0 + Decorate 24 NonWritable Decorate 24 Binding 1 + Decorate 24 DescriptorSet 0 Decorate 32(pos) BuiltIn FragCoord Decorate 35(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.tx.bracket.frag.out b/Test/baseResults/hlsl.tx.bracket.frag.out index 07f19099..ad83b5f9 100644 --- a/Test/baseResults/hlsl.tx.bracket.frag.out +++ b/Test/baseResults/hlsl.tx.bracket.frag.out @@ -483,6 +483,7 @@ gl_FragCoord origin is upper left Name 181 "g_tTex2df4a" Name 184 "g_tTex2di4a" Name 187 "g_tTex2du4a" + Decorate 45($Global) Block MemberDecorate 45($Global) 0 Offset 0 MemberDecorate 45($Global) 1 Offset 8 MemberDecorate 45($Global) 2 Offset 16 @@ -491,42 +492,41 @@ gl_FragCoord origin is upper left MemberDecorate 45($Global) 5 Offset 56 MemberDecorate 45($Global) 6 Offset 64 MemberDecorate 45($Global) 7 Offset 80 - Decorate 45($Global) Block - Decorate 47 DescriptorSet 0 Decorate 47 Binding 9 - Decorate 57(g_tTex1df4) DescriptorSet 0 + Decorate 47 DescriptorSet 0 Decorate 57(g_tTex1df4) Binding 0 - Decorate 72(g_tTex1di4) DescriptorSet 0 + Decorate 57(g_tTex1df4) DescriptorSet 0 Decorate 72(g_tTex1di4) Binding 1 - Decorate 80(g_tTex1du4) DescriptorSet 0 + Decorate 72(g_tTex1di4) DescriptorSet 0 Decorate 80(g_tTex1du4) Binding 2 - Decorate 88(g_tTex2df4) DescriptorSet 0 + Decorate 80(g_tTex1du4) DescriptorSet 0 Decorate 88(g_tTex2df4) Binding 3 - Decorate 98(g_tTex2di4) DescriptorSet 0 + Decorate 88(g_tTex2df4) DescriptorSet 0 Decorate 98(g_tTex2di4) Binding 4 - Decorate 106(g_tTex2du4) DescriptorSet 0 + Decorate 98(g_tTex2di4) DescriptorSet 0 Decorate 106(g_tTex2du4) Binding 5 - Decorate 114(g_tTex3df4) DescriptorSet 0 + Decorate 106(g_tTex2du4) DescriptorSet 0 Decorate 114(g_tTex3df4) Binding 6 - Decorate 124(g_tTex3di4) DescriptorSet 0 + Decorate 114(g_tTex3df4) DescriptorSet 0 Decorate 124(g_tTex3di4) Binding 7 - Decorate 132(g_tTex3du4) DescriptorSet 0 + Decorate 124(g_tTex3di4) DescriptorSet 0 Decorate 132(g_tTex3du4) Binding 8 + Decorate 132(g_tTex3du4) DescriptorSet 0 Decorate 164(@entryPointOutput.Color) Location 0 - Decorate 169(g_sSamp) DescriptorSet 0 Decorate 169(g_sSamp) Binding 0 - Decorate 172(g_tTex1df4a) DescriptorSet 0 + Decorate 169(g_sSamp) DescriptorSet 0 Decorate 172(g_tTex1df4a) Binding 0 - Decorate 175(g_tTex1di4a) DescriptorSet 0 + Decorate 172(g_tTex1df4a) DescriptorSet 0 Decorate 175(g_tTex1di4a) Binding 0 - Decorate 178(g_tTex1du4a) DescriptorSet 0 + Decorate 175(g_tTex1di4a) DescriptorSet 0 Decorate 178(g_tTex1du4a) Binding 0 - Decorate 181(g_tTex2df4a) DescriptorSet 0 + Decorate 178(g_tTex1du4a) DescriptorSet 0 Decorate 181(g_tTex2df4a) Binding 0 - Decorate 184(g_tTex2di4a) DescriptorSet 0 + Decorate 181(g_tTex2df4a) DescriptorSet 0 Decorate 184(g_tTex2di4a) Binding 0 - Decorate 187(g_tTex2du4a) DescriptorSet 0 + Decorate 184(g_tTex2di4a) DescriptorSet 0 Decorate 187(g_tTex2du4a) Binding 0 + Decorate 187(g_tTex2du4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/hlsl.tx.overload.frag.out b/Test/baseResults/hlsl.tx.overload.frag.out index df1bb20f..88b38e8f 100644 --- a/Test/baseResults/hlsl.tx.overload.frag.out +++ b/Test/baseResults/hlsl.tx.overload.frag.out @@ -162,14 +162,14 @@ gl_FragCoord origin is upper left Name 63 "twf4" Name 64 "param" Name 71 "@entryPointOutput" - Decorate 45(tf1) DescriptorSet 0 Decorate 45(tf1) Binding 0 - Decorate 49(tf4) DescriptorSet 0 + Decorate 45(tf1) DescriptorSet 0 Decorate 49(tf4) Binding 1 - Decorate 56(twf1) DescriptorSet 0 + Decorate 49(tf4) DescriptorSet 0 Decorate 56(twf1) Binding 2 - Decorate 63(twf4) DescriptorSet 0 + Decorate 56(twf1) DescriptorSet 0 Decorate 63(twf4) Binding 3 + Decorate 63(twf4) DescriptorSet 0 Decorate 71(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.typeGraphCopy.vert.out b/Test/baseResults/hlsl.typeGraphCopy.vert.out index e3805477..8f52cd66 100644 --- a/Test/baseResults/hlsl.typeGraphCopy.vert.out +++ b/Test/baseResults/hlsl.typeGraphCopy.vert.out @@ -93,10 +93,10 @@ Shader version: 500 MemberDecorate 13(N3) 0 Offset 0 MemberDecorate 13(N3) 1 Offset 32 MemberDecorate 13(N3) 2 Offset 48 - MemberDecorate 14($Global) 0 Offset 0 Decorate 14($Global) Block - Decorate 16 DescriptorSet 0 + MemberDecorate 14($Global) 0 Offset 0 Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 Decorate 26(@entryPointOutput) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.w-recip.frag.out b/Test/baseResults/hlsl.w-recip.frag.out index a4fc494d..dc9bb111 100644 --- a/Test/baseResults/hlsl.w-recip.frag.out +++ b/Test/baseResults/hlsl.w-recip.frag.out @@ -183,11 +183,11 @@ gl_FragCoord origin is upper left Name 53 "vpos" Name 65 "@entryPointOutput" Name 66 "param" + Decorate 36($Global) Block 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 38 DescriptorSet 0 Decorate 53(vpos) BuiltIn FragCoord Decorate 65(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/hlsl.w-recip2.frag.out b/Test/baseResults/hlsl.w-recip2.frag.out index 2157ce4c..03312b8d 100644 --- a/Test/baseResults/hlsl.w-recip2.frag.out +++ b/Test/baseResults/hlsl.w-recip2.frag.out @@ -207,11 +207,11 @@ gl_FragCoord origin is upper left Name 66 "VSOut.TexCoord" Name 71 "@entryPointOutput" Name 72 "param" + Decorate 28($Global) Block 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 30 DescriptorSet 0 Decorate 44(VSOut.PositionPS) BuiltIn FragCoord Decorate 56(VSOut.PosInLightViewSpace) Location 0 Decorate 61(VSOut.NormalWS) Location 1 diff --git a/Test/baseResults/hlsl.wavebroadcast.comp.out b/Test/baseResults/hlsl.wavebroadcast.comp.out index ed35cba3..667986cd 100644 --- a/Test/baseResults/hlsl.wavebroadcast.comp.out +++ b/Test/baseResults/hlsl.wavebroadcast.comp.out @@ -2330,10 +2330,10 @@ local_size = (32, 16, 1) MemberDecorate 20(Types) 2 Offset 32 MemberDecorate 20(Types) 3 Offset 64 Decorate 21 ArrayStride 96 - MemberDecorate 22(data) 0 Offset 0 Decorate 22(data) Block - Decorate 24(data) DescriptorSet 0 + MemberDecorate 22(data) 0 Offset 0 Decorate 24(data) Binding 0 + Decorate 24(data) DescriptorSet 0 Decorate 388(dti) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.waveprefix.comp.out b/Test/baseResults/hlsl.waveprefix.comp.out index ecc1b3eb..e9ac1350 100644 --- a/Test/baseResults/hlsl.waveprefix.comp.out +++ b/Test/baseResults/hlsl.waveprefix.comp.out @@ -2354,10 +2354,10 @@ local_size = (32, 16, 1) MemberDecorate 20(Types) 2 Offset 32 MemberDecorate 20(Types) 3 Offset 64 Decorate 21 ArrayStride 96 - MemberDecorate 22(data) 0 Offset 0 Decorate 22(data) Block - Decorate 24(data) DescriptorSet 0 + MemberDecorate 22(data) 0 Offset 0 Decorate 24(data) Binding 0 + Decorate 24(data) DescriptorSet 0 Decorate 398(dti) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.wavequad.comp.out b/Test/baseResults/hlsl.wavequad.comp.out index 7deb7c7e..338b4dc7 100644 --- a/Test/baseResults/hlsl.wavequad.comp.out +++ b/Test/baseResults/hlsl.wavequad.comp.out @@ -8057,10 +8057,10 @@ local_size = (32, 16, 1) MemberDecorate 20(Types) 2 Offset 32 MemberDecorate 20(Types) 3 Offset 64 Decorate 21 ArrayStride 96 - MemberDecorate 22(data) 0 Offset 0 Decorate 22(data) Block - Decorate 24(data) DescriptorSet 0 + MemberDecorate 22(data) 0 Offset 0 Decorate 24(data) Binding 0 + Decorate 24(data) DescriptorSet 0 Decorate 1227(dti) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.wavequery.comp.out b/Test/baseResults/hlsl.wavequery.comp.out index 8e08b09e..015890af 100644 --- a/Test/baseResults/hlsl.wavequery.comp.out +++ b/Test/baseResults/hlsl.wavequery.comp.out @@ -78,10 +78,10 @@ local_size = (32, 16, 1) Name 16 "@gl_SubgroupInvocationID" Name 21 "@gl_SubgroupSize" Decorate 9 ArrayStride 4 - MemberDecorate 10(data) 0 Offset 0 Decorate 10(data) Block - Decorate 12(data) DescriptorSet 0 + MemberDecorate 10(data) 0 Offset 0 Decorate 12(data) Binding 0 + Decorate 12(data) DescriptorSet 0 Decorate 16(@gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId Decorate 21(@gl_SubgroupSize) BuiltIn SubgroupSize 2: TypeVoid diff --git a/Test/baseResults/hlsl.wavereduction.comp.out b/Test/baseResults/hlsl.wavereduction.comp.out index 9a636f5a..81b24353 100644 --- a/Test/baseResults/hlsl.wavereduction.comp.out +++ b/Test/baseResults/hlsl.wavereduction.comp.out @@ -6218,10 +6218,10 @@ local_size = (32, 16, 1) MemberDecorate 20(Types) 2 Offset 32 MemberDecorate 20(Types) 3 Offset 64 Decorate 21 ArrayStride 96 - MemberDecorate 22(data) 0 Offset 0 Decorate 22(data) Block - Decorate 24(data) DescriptorSet 0 + MemberDecorate 22(data) 0 Offset 0 Decorate 24(data) Binding 0 + Decorate 24(data) DescriptorSet 0 Decorate 986(dti) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.wavevote.comp.out b/Test/baseResults/hlsl.wavevote.comp.out index 382f504f..adb0d9a1 100644 --- a/Test/baseResults/hlsl.wavevote.comp.out +++ b/Test/baseResults/hlsl.wavevote.comp.out @@ -227,10 +227,10 @@ local_size = (32, 16, 1) Name 70 "dti" Name 72 "param" Decorate 14 ArrayStride 8 - MemberDecorate 15(data) 0 Offset 0 Decorate 15(data) Block - Decorate 17(data) DescriptorSet 0 + MemberDecorate 15(data) 0 Offset 0 Decorate 17(data) Binding 0 + Decorate 17(data) DescriptorSet 0 Decorate 70(dti) BuiltIn GlobalInvocationId 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.y-negate-1.vert.out b/Test/baseResults/hlsl.y-negate-1.vert.out index e0007524..43a49b6d 100644 --- a/Test/baseResults/hlsl.y-negate-1.vert.out +++ b/Test/baseResults/hlsl.y-negate-1.vert.out @@ -87,10 +87,10 @@ Shader version: 500 Name 13 "" Name 22 "@position" Name 32 "@entryPointOutput" - MemberDecorate 11($Global) 0 Offset 0 Decorate 11($Global) Block - Decorate 13 DescriptorSet 0 + MemberDecorate 11($Global) 0 Offset 0 Decorate 13 Binding 0 + Decorate 13 DescriptorSet 0 Decorate 32(@entryPointOutput) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.y-negate-2.vert.out b/Test/baseResults/hlsl.y-negate-2.vert.out index 57a47ab7..98d71b96 100644 --- a/Test/baseResults/hlsl.y-negate-2.vert.out +++ b/Test/baseResults/hlsl.y-negate-2.vert.out @@ -98,10 +98,10 @@ Shader version: 500 Name 22 "param" Name 25 "@position" Name 35 "position" - MemberDecorate 13($Global) 0 Offset 0 Decorate 13($Global) Block - Decorate 15 DescriptorSet 0 + MemberDecorate 13($Global) 0 Offset 0 Decorate 15 Binding 0 + Decorate 15 DescriptorSet 0 Decorate 35(position) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/hlsl.y-negate-3.vert.out b/Test/baseResults/hlsl.y-negate-3.vert.out index 3e589511..770e37fd 100644 --- a/Test/baseResults/hlsl.y-negate-3.vert.out +++ b/Test/baseResults/hlsl.y-negate-3.vert.out @@ -147,10 +147,10 @@ Shader version: 500 Name 33 "@position" Name 44 "@entryPointOutput.pos" Name 47 "@entryPointOutput.somethingelse" - MemberDecorate 16($Global) 0 Offset 0 Decorate 16($Global) Block - Decorate 18 DescriptorSet 0 + MemberDecorate 16($Global) 0 Offset 0 Decorate 18 Binding 0 + Decorate 18 DescriptorSet 0 Decorate 44(@entryPointOutput.pos) BuiltIn Position Decorate 47(@entryPointOutput.somethingelse) Location 0 2: TypeVoid diff --git a/Test/baseResults/iomap.blockOutVariableIn.2.vert.out b/Test/baseResults/iomap.blockOutVariableIn.2.vert.out index 2c4ecdc5..49ad83e6 100644 --- a/Test/baseResults/iomap.blockOutVariableIn.2.vert.out +++ b/Test/baseResults/iomap.blockOutVariableIn.2.vert.out @@ -277,10 +277,10 @@ output primitive = triangle_strip Name 32 "gl_InstanceID" Decorate 9(Block) Block Decorate 11 Location 0 + Decorate 26(gl_PerVertex) Block 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 @@ -346,10 +346,10 @@ output primitive = triangle_strip Decorate 14(in_a1) Location 0 Decorate 22(a2) Location 1 Decorate 25(in_a2) Location 1 + Decorate 31(gl_PerVertex) Block 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 diff --git a/Test/baseResults/iomap.blockOutVariableIn.vert.out b/Test/baseResults/iomap.blockOutVariableIn.vert.out index a43e52f5..3ccf47b3 100644 --- a/Test/baseResults/iomap.blockOutVariableIn.vert.out +++ b/Test/baseResults/iomap.blockOutVariableIn.vert.out @@ -149,10 +149,10 @@ Shader version: 440 Name 32 "gl_InstanceID" Decorate 9(Block) Block Decorate 11 Location 0 + Decorate 26(gl_PerVertex) Block 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 diff --git a/Test/baseResults/iomap.crossStage.2.vert.out b/Test/baseResults/iomap.crossStage.2.vert.out index 171cc0e3..ffb10bc4 100644 --- a/Test/baseResults/iomap.crossStage.2.vert.out +++ b/Test/baseResults/iomap.crossStage.2.vert.out @@ -452,22 +452,22 @@ Shader version: 460 Decorate 36(um2) Location 4 Decorate 36(um2) DescriptorSet 0 Decorate 40(glass) Location 0 - Decorate 40(glass) DescriptorSet 0 Decorate 40(glass) Binding 0 + Decorate 40(glass) DescriptorSet 0 + Decorate 41(crossStageBlock1) Block MemberDecorate 41(crossStageBlock1) 0 Offset 0 MemberDecorate 41(crossStageBlock1) 1 Offset 16 - Decorate 41(crossStageBlock1) Block - Decorate 43 DescriptorSet 0 Decorate 43 Binding 0 - MemberDecorate 44(vertOnlyBlock) 0 Offset 0 + Decorate 43 DescriptorSet 0 Decorate 44(vertOnlyBlock) BufferBlock - Decorate 46 DescriptorSet 0 + MemberDecorate 44(vertOnlyBlock) 0 Offset 0 Decorate 46 Binding 0 + Decorate 46 DescriptorSet 0 + Decorate 47(crossStageBlock2) Block MemberDecorate 47(crossStageBlock2) 0 Offset 0 MemberDecorate 47(crossStageBlock2) 1 Offset 16 - Decorate 47(crossStageBlock2) Block - Decorate 52(blockName1) DescriptorSet 0 Decorate 52(blockName1) Binding 0 + Decorate 52(blockName1) DescriptorSet 0 Decorate 54(gl_VertexID) BuiltIn VertexId Decorate 55(gl_InstanceID) BuiltIn InstanceId 2: TypeVoid @@ -575,11 +575,11 @@ Shader version: 460 Decorate 57(u2) DescriptorSet 0 Decorate 59(u3) Location 3 Decorate 59(u3) DescriptorSet 0 + Decorate 60(crossStageBlock2) Block MemberDecorate 60(crossStageBlock2) 0 Offset 0 MemberDecorate 60(crossStageBlock2) 1 Offset 16 - Decorate 60(crossStageBlock2) Block - Decorate 64(blockName1) DescriptorSet 0 Decorate 64(blockName1) Binding 0 + Decorate 64(blockName1) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -706,22 +706,22 @@ Shader version: 460 Decorate 45(um2) Location 4 Decorate 45(um2) DescriptorSet 0 Decorate 49(glass) Location 0 - Decorate 49(glass) DescriptorSet 0 Decorate 49(glass) Binding 0 + Decorate 49(glass) DescriptorSet 0 + Decorate 50(crossStageBlock1) Block MemberDecorate 50(crossStageBlock1) 0 Offset 0 MemberDecorate 50(crossStageBlock1) 1 Offset 16 - Decorate 50(crossStageBlock1) Block - Decorate 52 DescriptorSet 0 Decorate 52 Binding 0 - MemberDecorate 53(fragOnlyBlock) 0 Offset 0 + Decorate 52 DescriptorSet 0 Decorate 53(fragOnlyBlock) BufferBlock - Decorate 55 DescriptorSet 0 + MemberDecorate 53(fragOnlyBlock) 0 Offset 0 Decorate 55 Binding 0 + Decorate 55 DescriptorSet 0 + Decorate 56(crossStageBlock2) Block MemberDecorate 56(crossStageBlock2) 0 Offset 0 MemberDecorate 56(crossStageBlock2) 1 Offset 16 - Decorate 56(crossStageBlock2) Block - Decorate 61(blockName2) DescriptorSet 0 Decorate 61(blockName2) Binding 0 + Decorate 61(blockName2) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/iomap.crossStage.vert.out b/Test/baseResults/iomap.crossStage.vert.out index d6b6e4fe..e195b5b6 100644 --- a/Test/baseResults/iomap.crossStage.vert.out +++ b/Test/baseResults/iomap.crossStage.vert.out @@ -309,22 +309,22 @@ Shader version: 460 Decorate 36(um2) Location 4 Decorate 36(um2) DescriptorSet 0 Decorate 40(glass) Location 0 - Decorate 40(glass) DescriptorSet 0 Decorate 40(glass) Binding 0 + Decorate 40(glass) DescriptorSet 0 + Decorate 41(crossStageBlock1) Block MemberDecorate 41(crossStageBlock1) 0 Offset 0 MemberDecorate 41(crossStageBlock1) 1 Offset 16 - Decorate 41(crossStageBlock1) Block - Decorate 43 DescriptorSet 0 Decorate 43 Binding 0 - MemberDecorate 44(vertOnlyBlock) 0 Offset 0 + Decorate 43 DescriptorSet 0 Decorate 44(vertOnlyBlock) BufferBlock - Decorate 46 DescriptorSet 0 + MemberDecorate 44(vertOnlyBlock) 0 Offset 0 Decorate 46 Binding 0 + Decorate 46 DescriptorSet 0 + Decorate 47(crossStageBlock2) Block MemberDecorate 47(crossStageBlock2) 0 Offset 0 MemberDecorate 47(crossStageBlock2) 1 Offset 16 - Decorate 47(crossStageBlock2) Block - Decorate 52(blockName1) DescriptorSet 0 Decorate 52(blockName1) Binding 0 + Decorate 52(blockName1) DescriptorSet 0 Decorate 54(gl_VertexID) BuiltIn VertexId Decorate 55(gl_InstanceID) BuiltIn InstanceId 2: TypeVoid @@ -434,22 +434,22 @@ Shader version: 460 Decorate 45(um2) Location 4 Decorate 45(um2) DescriptorSet 0 Decorate 49(glass) Location 0 - Decorate 49(glass) DescriptorSet 0 Decorate 49(glass) Binding 0 + Decorate 49(glass) DescriptorSet 0 + Decorate 50(crossStageBlock1) Block MemberDecorate 50(crossStageBlock1) 0 Offset 0 MemberDecorate 50(crossStageBlock1) 1 Offset 16 - Decorate 50(crossStageBlock1) Block - Decorate 52 DescriptorSet 0 Decorate 52 Binding 0 - MemberDecorate 53(fragOnlyBlock) 0 Offset 0 + Decorate 52 DescriptorSet 0 Decorate 53(fragOnlyBlock) BufferBlock - Decorate 55 DescriptorSet 0 + MemberDecorate 53(fragOnlyBlock) 0 Offset 0 Decorate 55 Binding 0 + Decorate 55 DescriptorSet 0 + Decorate 56(crossStageBlock2) Block MemberDecorate 56(crossStageBlock2) 0 Offset 0 MemberDecorate 56(crossStageBlock2) 1 Offset 16 - Decorate 56(crossStageBlock2) Block - Decorate 61(blockName2) DescriptorSet 0 Decorate 61(blockName2) Binding 0 + Decorate 61(blockName2) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/iomap.crossStage.vk.2.vert.out b/Test/baseResults/iomap.crossStage.vk.2.vert.out new file mode 100644 index 00000000..2334df5c --- /dev/null +++ b/Test/baseResults/iomap.crossStage.vk.2.vert.out @@ -0,0 +1,313 @@ +iomap.crossStage.vk.2.vert +Shader version: 460 +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 highp 4-component vector of float) +0:10 val: direct index for structure ( out highp 4-component vector of float) +0:10 'anon@0' ( out block{ out highp 4-component vector of float val}) +0:10 Constant: +0:10 0 (const uint) +0:10 Constant: +0:10 0.500000 +0:10 0.500000 +0:10 0.500000 +0:10 0.500000 +0:11 move second child to first child ( temp highp 4-component vector of float) +0:11 'color' ( smooth out highp 4-component vector of float) +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 4-component vector of float) +0:12 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position) +0:12 '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:12 Constant: +0:12 0 (const uint) +0:12 Constant: +0:12 1.000000 +0:12 1.000000 +0:12 1.000000 +0:12 1.000000 +0:? Linker Objects +0:? 'anon@0' ( out block{ out highp 4-component vector of float val}) +0:? 'color' ( smooth out highp 4-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}) + +iomap.crossStage.vk.2.geom +Shader version: 460 +invocations = -1 +max_vertices = 3 +input primitive = points +output primitive = triangle_strip +0:? Sequence +0:23 Function Definition: main( ( global void) +0:23 Function Parameters: +0:25 Sequence +0:25 Sequence +0:25 Sequence +0:25 move second child to first child ( temp highp int) +0:25 'i' ( temp highp int) +0:25 Constant: +0:25 0 (const int) +0:25 Loop with condition tested first +0:25 Loop Condition +0:25 Compare Less Than ( temp bool) +0:25 'i' ( temp highp int) +0:25 Constant: +0:25 3 (const int) +0:25 Loop Body +0:26 Sequence +0:26 move second child to first child ( temp highp 4-component vector of float) +0:26 'colorOut' (layout( stream=0) out highp 4-component vector of float) +0:26 component-wise multiply ( temp highp 4-component vector of float) +0:26 indirect index ( temp highp 4-component vector of float) +0:26 'color' ( in 1-element array of highp 4-component vector of float) +0:26 'i' ( temp highp int) +0:26 val: direct index for structure ( in highp 4-component vector of float) +0:26 indirect index ( temp block{ in highp 4-component vector of float val}) +0:26 'vv' ( in 1-element array of block{ in highp 4-component vector of float val}) +0:26 'i' ( temp highp int) +0:26 Constant: +0:26 0 (const int) +0:27 move second child to first child ( temp highp 4-component vector of float) +0:27 vv2Val: direct index for structure (layout( stream=0) out highp 4-component vector of float) +0:27 'anon@0' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float vv2Val}) +0:27 Constant: +0:27 0 (const uint) +0:27 Constant: +0:27 1.000000 +0:27 1.000000 +0:27 1.000000 +0:27 1.000000 +0:28 EmitVertex ( global void) +0:25 Loop Terminal Expression +0:25 Post-Increment ( temp highp int) +0:25 'i' ( temp highp int) +0:30 EndPrimitive ( global void) +0:? Linker Objects +0:? 'vgo1' ( in 1-element array of highp 4-component vector of float) +0:? 'color' ( in 1-element array of highp 4-component vector of float) +0:? 'colorOut' (layout( stream=0) out highp 4-component vector of float) +0:? 'vv' ( in 1-element array of block{ in highp 4-component vector of float val}) +0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float vv2Val}) + +iomap.crossStage.vk.2.frag +Shader version: 460 +gl_FragCoord origin is upper left +0:? Sequence +0:19 Function Definition: main( ( global void) +0:19 Function Parameters: +0:21 Sequence +0:21 move second child to first child ( temp highp 4-component vector of float) +0:21 'fragColor' ( out highp 4-component vector of float) +0:21 add ( temp highp 4-component vector of float) +0:21 'colorOut' ( smooth in highp 4-component vector of float) +0:21 component-wise multiply ( temp highp 4-component vector of float) +0:21 component-wise multiply ( temp highp 4-component vector of float) +0:21 component-wise multiply ( temp highp 4-component vector of float) +0:21 'unsetColor' ( smooth in highp 4-component vector of float) +0:21 Construct vec4 ( temp highp 4-component vector of float) +0:21 vector swizzle ( temp highp 4-component vector of float) +0:21 val: direct index for structure ( in highp 2-component vector of float) +0:21 'iVert' ( in block{ in highp 2-component vector of float val}) +0:21 Constant: +0:21 0 (const int) +0:21 Sequence +0:21 Constant: +0:21 0 (const int) +0:21 Constant: +0:21 0 (const int) +0:21 Constant: +0:21 1 (const int) +0:21 Constant: +0:21 1 (const int) +0:21 Construct vec4 ( temp highp 4-component vector of float) +0:21 vector swizzle ( temp highp 4-component vector of float) +0:21 val2: direct index for structure ( in highp 2-component vector of float) +0:21 'anon@0' ( in block{ in highp 2-component vector of float val2}) +0:21 Constant: +0:21 0 (const uint) +0:21 Sequence +0:21 Constant: +0:21 0 (const int) +0:21 Constant: +0:21 0 (const int) +0:21 Constant: +0:21 1 (const int) +0:21 Constant: +0:21 1 (const int) +0:22 'vv2Val' ( smooth in highp 4-component vector of float) +0:? Linker Objects +0:? 'unsetColor' ( smooth in highp 4-component vector of float) +0:? 'colorOut' ( smooth in highp 4-component vector of float) +0:? 'fragColor' ( out highp 4-component vector of float) +0:? 'iVert' ( in block{ in highp 2-component vector of float val}) +0:? 'anon@0' ( in block{ in highp 2-component vector of float val2}) +0:? 'vv2Val' ( smooth in highp 4-component vector of float) + + +Linked vertex stage: + + +Linked geometry stage: + + +Linked fragment stage: + +ERROR: Linking vertex and geometry stages: Input 'vgo1' in geometry shader has no corresponding output in vertex shader. +ERROR: Linking geometry and fragment stages: Input 'unsetColor' in fragment shader has no corresponding output in geometry shader. +ERROR: Linking geometry and fragment stages: Input 'Vertex' in fragment shader has no corresponding output in geometry shader. +ERROR: Linking geometry and fragment stages: Input 'Vertex2' in fragment shader has no corresponding output in geometry shader. +ERROR: Linking geometry and fragment stages: Input 'vv2Val' in fragment shader has no corresponding output in geometry shader. + +Shader version: 460 +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 highp 4-component vector of float) +0:10 val: direct index for structure ( out highp 4-component vector of float) +0:10 'anon@0' ( out block{ out highp 4-component vector of float val}) +0:10 Constant: +0:10 0 (const uint) +0:10 Constant: +0:10 0.500000 +0:10 0.500000 +0:10 0.500000 +0:10 0.500000 +0:11 move second child to first child ( temp highp 4-component vector of float) +0:11 'color' ( smooth out highp 4-component vector of float) +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 4-component vector of float) +0:12 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position) +0:12 '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:12 Constant: +0:12 0 (const uint) +0:12 Constant: +0:12 1.000000 +0:12 1.000000 +0:12 1.000000 +0:12 1.000000 +0:? Linker Objects +0:? 'anon@0' ( out block{ out highp 4-component vector of float val}) +0:? 'color' ( smooth out highp 4-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}) +Shader version: 460 +invocations = 1 +max_vertices = 3 +input primitive = points +output primitive = triangle_strip +0:? Sequence +0:23 Function Definition: main( ( global void) +0:23 Function Parameters: +0:25 Sequence +0:25 Sequence +0:25 Sequence +0:25 move second child to first child ( temp highp int) +0:25 'i' ( temp highp int) +0:25 Constant: +0:25 0 (const int) +0:25 Loop with condition tested first +0:25 Loop Condition +0:25 Compare Less Than ( temp bool) +0:25 'i' ( temp highp int) +0:25 Constant: +0:25 3 (const int) +0:25 Loop Body +0:26 Sequence +0:26 move second child to first child ( temp highp 4-component vector of float) +0:26 'colorOut' (layout( stream=0) out highp 4-component vector of float) +0:26 component-wise multiply ( temp highp 4-component vector of float) +0:26 indirect index ( temp highp 4-component vector of float) +0:26 'color' ( in 1-element array of highp 4-component vector of float) +0:26 'i' ( temp highp int) +0:26 val: direct index for structure ( in highp 4-component vector of float) +0:26 indirect index ( temp block{ in highp 4-component vector of float val}) +0:26 'vv' ( in 1-element array of block{ in highp 4-component vector of float val}) +0:26 'i' ( temp highp int) +0:26 Constant: +0:26 0 (const int) +0:27 move second child to first child ( temp highp 4-component vector of float) +0:27 vv2Val: direct index for structure (layout( stream=0) out highp 4-component vector of float) +0:27 'anon@0' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float vv2Val}) +0:27 Constant: +0:27 0 (const uint) +0:27 Constant: +0:27 1.000000 +0:27 1.000000 +0:27 1.000000 +0:27 1.000000 +0:28 EmitVertex ( global void) +0:25 Loop Terminal Expression +0:25 Post-Increment ( temp highp int) +0:25 'i' ( temp highp int) +0:30 EndPrimitive ( global void) +0:? Linker Objects +0:? 'vgo1' ( in 1-element array of highp 4-component vector of float) +0:? 'color' ( in 1-element array of highp 4-component vector of float) +0:? 'colorOut' (layout( stream=0) out highp 4-component vector of float) +0:? 'vv' ( in 1-element array of block{ in highp 4-component vector of float val}) +0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float vv2Val}) +Shader version: 460 +gl_FragCoord origin is upper left +0:? Sequence +0:19 Function Definition: main( ( global void) +0:19 Function Parameters: +0:21 Sequence +0:21 move second child to first child ( temp highp 4-component vector of float) +0:21 'fragColor' ( out highp 4-component vector of float) +0:21 add ( temp highp 4-component vector of float) +0:21 'colorOut' ( smooth in highp 4-component vector of float) +0:21 component-wise multiply ( temp highp 4-component vector of float) +0:21 component-wise multiply ( temp highp 4-component vector of float) +0:21 component-wise multiply ( temp highp 4-component vector of float) +0:21 'unsetColor' ( smooth in highp 4-component vector of float) +0:21 Construct vec4 ( temp highp 4-component vector of float) +0:21 vector swizzle ( temp highp 4-component vector of float) +0:21 val: direct index for structure ( in highp 2-component vector of float) +0:21 'iVert' ( in block{ in highp 2-component vector of float val}) +0:21 Constant: +0:21 0 (const int) +0:21 Sequence +0:21 Constant: +0:21 0 (const int) +0:21 Constant: +0:21 0 (const int) +0:21 Constant: +0:21 1 (const int) +0:21 Constant: +0:21 1 (const int) +0:21 Construct vec4 ( temp highp 4-component vector of float) +0:21 vector swizzle ( temp highp 4-component vector of float) +0:21 val2: direct index for structure ( in highp 2-component vector of float) +0:21 'anon@0' ( in block{ in highp 2-component vector of float val2}) +0:21 Constant: +0:21 0 (const uint) +0:21 Sequence +0:21 Constant: +0:21 0 (const int) +0:21 Constant: +0:21 0 (const int) +0:21 Constant: +0:21 1 (const int) +0:21 Constant: +0:21 1 (const int) +0:22 'vv2Val' ( smooth in highp 4-component vector of float) +0:? Linker Objects +0:? 'unsetColor' ( smooth in highp 4-component vector of float) +0:? 'colorOut' ( smooth in highp 4-component vector of float) +0:? 'fragColor' ( out highp 4-component vector of float) +0:? 'iVert' ( in block{ in highp 2-component vector of float val}) +0:? 'anon@0' ( in block{ in highp 2-component vector of float val2}) +0:? 'vv2Val' ( smooth in highp 4-component vector of float) +Mismatched cross-stage IO + +Validation failed +SPIR-V is not generated for failed compile or link diff --git a/Test/baseResults/iomap.crossStage.vk.vert.out b/Test/baseResults/iomap.crossStage.vk.vert.out index dd8029d1..1f181fe8 100644 --- a/Test/baseResults/iomap.crossStage.vk.vert.out +++ b/Test/baseResults/iomap.crossStage.vk.vert.out @@ -411,23 +411,24 @@ gl_FragCoord origin is upper left Decorate 14(vgo2) Location 1 Decorate 16(outBlock) Block Decorate 18 Location 5 - Decorate 25(glass) DescriptorSet 0 Decorate 25(glass) Binding 0 + Decorate 25(glass) DescriptorSet 0 + Decorate 26(crossStageBlock1) Block MemberDecorate 26(crossStageBlock1) 0 Offset 0 MemberDecorate 26(crossStageBlock1) 1 Offset 16 - Decorate 26(crossStageBlock1) Block - Decorate 28 DescriptorSet 0 Decorate 28 Binding 1 + Decorate 28 DescriptorSet 0 + Decorate 29(vertOnlyBlock) BufferBlock MemberDecorate 29(vertOnlyBlock) 0 NonWritable MemberDecorate 29(vertOnlyBlock) 0 Offset 0 - Decorate 29(vertOnlyBlock) BufferBlock - Decorate 31 DescriptorSet 0 + Decorate 31 NonWritable Decorate 31 Binding 0 + Decorate 31 DescriptorSet 0 + Decorate 32(crossStageBlock2) Block MemberDecorate 32(crossStageBlock2) 0 Offset 0 MemberDecorate 32(crossStageBlock2) 1 Offset 16 - Decorate 32(crossStageBlock2) Block - Decorate 37(blockName1) DescriptorSet 0 Decorate 37(blockName1) Binding 3 + Decorate 37(blockName1) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -506,11 +507,11 @@ gl_FragCoord origin is upper left Decorate 37(inBlock) Location 5 Decorate 48(vgo1) Location 0 Decorate 51(vgo2) Location 1 + Decorate 52(crossStageBlock2) Block MemberDecorate 52(crossStageBlock2) 0 Offset 0 MemberDecorate 52(crossStageBlock2) 1 Offset 16 - Decorate 52(crossStageBlock2) Block - Decorate 56(blockName1) DescriptorSet 0 Decorate 56(blockName1) Binding 3 + Decorate 56(blockName1) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 @@ -613,28 +614,29 @@ gl_FragCoord origin is upper left Name 74 "" Name 76 "gfo2" Name 80 "glass" + Decorate 15(fragOnlyBlock) BufferBlock MemberDecorate 15(fragOnlyBlock) 0 NonWritable MemberDecorate 15(fragOnlyBlock) 0 Offset 0 - Decorate 15(fragOnlyBlock) BufferBlock - Decorate 17 DescriptorSet 0 + Decorate 17 NonWritable Decorate 17 Binding 2 + Decorate 17 DescriptorSet 0 + Decorate 23(crossStageBlock2) Block MemberDecorate 23(crossStageBlock2) 0 Offset 0 MemberDecorate 23(crossStageBlock2) 1 Offset 16 - Decorate 23(crossStageBlock2) Block - Decorate 28(blockName2) DescriptorSet 0 Decorate 28(blockName2) Binding 3 + Decorate 28(blockName2) DescriptorSet 0 + Decorate 38(crossStageBlock1) Block MemberDecorate 38(crossStageBlock1) 0 Offset 0 MemberDecorate 38(crossStageBlock1) 1 Offset 16 - Decorate 38(crossStageBlock1) Block - Decorate 40 DescriptorSet 0 Decorate 40 Binding 1 + Decorate 40 DescriptorSet 0 Decorate 64(gfo1) Location 0 Decorate 70(outColor) Location 0 Decorate 72(outBlock) Block Decorate 74 Location 5 Decorate 76(gfo2) Location 1 - Decorate 80(glass) DescriptorSet 0 Decorate 80(glass) Binding 0 + Decorate 80(glass) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/iomap.variableOutBlockIn.2.vert.out b/Test/baseResults/iomap.variableOutBlockIn.2.vert.out index 3e6d30b5..e638befd 100644 --- a/Test/baseResults/iomap.variableOutBlockIn.2.vert.out +++ b/Test/baseResults/iomap.variableOutBlockIn.2.vert.out @@ -169,10 +169,10 @@ output primitive = triangle_strip Name 28 "gl_InstanceID" Decorate 9(a1) Location 0 Decorate 14(a2) Location 1 + Decorate 20(gl_PerVertex) Block 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 @@ -234,10 +234,10 @@ output primitive = triangle_strip Name 30 "gin" Decorate 9(a1) Location 0 Decorate 14(a2) Location 1 + Decorate 20(gl_PerVertex) Block 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 diff --git a/Test/baseResults/iomap.variableOutBlockIn.vert.out b/Test/baseResults/iomap.variableOutBlockIn.vert.out index 4b0ce649..d96df37a 100644 --- a/Test/baseResults/iomap.variableOutBlockIn.vert.out +++ b/Test/baseResults/iomap.variableOutBlockIn.vert.out @@ -147,10 +147,10 @@ Shader version: 440 Name 28 "gl_InstanceID" Decorate 9(a1) Location 0 Decorate 14(a2) Location 1 + Decorate 20(gl_PerVertex) Block 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 diff --git a/Test/baseResults/link.crossStageOptimization.out b/Test/baseResults/link.crossStageOptimization.out new file mode 100644 index 00000000..1189c087 --- /dev/null +++ b/Test/baseResults/link.crossStageOptimization.out @@ -0,0 +1,232 @@ +link.crossStageOptimization.vert +link.crossStageOptimization.frag +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 88 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "main" 9 60 84 + Source GLSL 440 + Name 4 "main" + Name 9 "a0" + Name 10 "AccessedUniformBlock" + MemberName 10(AccessedUniformBlock) 0 "a" + MemberName 10(AccessedUniformBlock) 1 "b" + Name 12 "" + Name 21 "AccessedStorageBlock" + MemberName 21(AccessedStorageBlock) 0 "e" + Name 23 "" + Name 32 "uSampler0" + Name 41 "a1" + Name 42 "NotAccessedUniformBlock" + MemberName 42(NotAccessedUniformBlock) 0 "c" + MemberName 42(NotAccessedUniformBlock) 1 "d" + Name 44 "" + Name 48 "NotAccessedStorageBlock" + MemberName 48(NotAccessedStorageBlock) 0 "f" + Name 50 "" + Name 56 "uSampler1" + Name 60 "a2" + Name 70 "a3" + Name 82 "gl_PerVertex" + MemberName 82(gl_PerVertex) 0 "gl_Position" + MemberName 82(gl_PerVertex) 1 "gl_PointSize" + MemberName 82(gl_PerVertex) 2 "gl_ClipDistance" + Name 84 "" + Decorate 9(a0) Location 0 + Decorate 10(AccessedUniformBlock) Block + MemberDecorate 10(AccessedUniformBlock) 0 Offset 0 + MemberDecorate 10(AccessedUniformBlock) 1 Offset 16 + Decorate 12 Binding 0 + Decorate 12 DescriptorSet 0 + Decorate 20 ArrayStride 4 + Decorate 21(AccessedStorageBlock) BufferBlock + MemberDecorate 21(AccessedStorageBlock) 0 Offset 0 + Decorate 23 Binding 2 + Decorate 23 DescriptorSet 0 + Decorate 32(uSampler0) Binding 4 + Decorate 32(uSampler0) DescriptorSet 0 + Decorate 42(NotAccessedUniformBlock) Block + MemberDecorate 42(NotAccessedUniformBlock) 0 Offset 0 + MemberDecorate 42(NotAccessedUniformBlock) 1 Offset 16 + Decorate 44 Binding 1 + Decorate 44 DescriptorSet 0 + Decorate 47 ArrayStride 4 + Decorate 48(NotAccessedStorageBlock) BufferBlock + MemberDecorate 48(NotAccessedStorageBlock) 0 Offset 0 + Decorate 50 Binding 3 + Decorate 50 DescriptorSet 0 + Decorate 56(uSampler1) Binding 5 + Decorate 56(uSampler1) DescriptorSet 0 + Decorate 60(a2) Location 2 + Decorate 82(gl_PerVertex) Block + MemberDecorate 82(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 82(gl_PerVertex) 1 BuiltIn PointSize + MemberDecorate 82(gl_PerVertex) 2 BuiltIn ClipDistance + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Output 7(fvec4) + 9(a0): 8(ptr) Variable Output +10(AccessedUniformBlock): TypeStruct 7(fvec4) 7(fvec4) + 11: TypePointer Uniform 10(AccessedUniformBlock) + 12: 11(ptr) Variable Uniform + 13: TypeInt 32 1 + 14: 13(int) Constant 0 + 15: TypePointer Uniform 7(fvec4) + 18: TypeInt 32 0 + 19: 18(int) Constant 512 + 20: TypeArray 6(float) 19 +21(AccessedStorageBlock): TypeStruct 20 + 22: TypePointer Uniform 21(AccessedStorageBlock) + 23: 22(ptr) Variable Uniform + 24: TypePointer Uniform 6(float) + 29: TypeImage 6(float) 2D sampled format:Unknown + 30: TypeSampledImage 29 + 31: TypePointer UniformConstant 30 + 32(uSampler0): 31(ptr) Variable UniformConstant + 34: TypeVector 6(float) 2 + 35: 6(float) Constant 1056964608 + 36: 34(fvec2) ConstantComposite 35 35 + 37: 6(float) Constant 0 + 40: TypePointer Private 7(fvec4) + 41(a1): 40(ptr) Variable Private +42(NotAccessedUniformBlock): TypeStruct 7(fvec4) 7(fvec4) + 43: TypePointer Uniform 42(NotAccessedUniformBlock) + 44: 43(ptr) Variable Uniform + 47: TypeArray 6(float) 19 +48(NotAccessedStorageBlock): TypeStruct 47 + 49: TypePointer Uniform 48(NotAccessedStorageBlock) + 50: 49(ptr) Variable Uniform + 51: 13(int) Constant 1 + 56(uSampler1): 31(ptr) Variable UniformConstant + 60(a2): 8(ptr) Variable Output + 70(a3): 40(ptr) Variable Private + 80: 18(int) Constant 1 + 81: TypeArray 6(float) 80 +82(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 81 + 83: TypePointer Output 82(gl_PerVertex) + 84: 83(ptr) Variable Output + 85: 6(float) Constant 1065353216 + 86: 7(fvec4) ConstantComposite 85 85 85 85 + 4(main): 2 Function None 3 + 5: Label + 16: 15(ptr) AccessChain 12 14 + 17: 7(fvec4) Load 16 + 25: 24(ptr) AccessChain 23 14 14 + 26: 6(float) Load 25 + 27: 7(fvec4) CompositeConstruct 26 26 26 26 + 28: 7(fvec4) FAdd 17 27 + 33: 30 Load 32(uSampler0) + 38: 7(fvec4) ImageSampleExplicitLod 33 36 Lod 37 + 39: 7(fvec4) FAdd 28 38 + Store 9(a0) 39 + 45: 15(ptr) AccessChain 44 14 + 46: 7(fvec4) Load 45 + 52: 24(ptr) AccessChain 50 14 51 + 53: 6(float) Load 52 + 54: 7(fvec4) CompositeConstruct 53 53 53 53 + 55: 7(fvec4) FAdd 46 54 + 57: 30 Load 56(uSampler1) + 58: 7(fvec4) ImageSampleExplicitLod 57 36 Lod 37 + 59: 7(fvec4) FAdd 55 58 + Store 41(a1) 59 + 61: 15(ptr) AccessChain 12 51 + 62: 7(fvec4) Load 61 + 63: 24(ptr) AccessChain 23 14 14 + 64: 6(float) Load 63 + 65: 7(fvec4) CompositeConstruct 64 64 64 64 + 66: 7(fvec4) FAdd 62 65 + 67: 30 Load 32(uSampler0) + 68: 7(fvec4) ImageSampleExplicitLod 67 36 Lod 37 + 69: 7(fvec4) FAdd 66 68 + Store 60(a2) 69 + 71: 15(ptr) AccessChain 44 51 + 72: 7(fvec4) Load 71 + 73: 24(ptr) AccessChain 50 14 51 + 74: 6(float) Load 73 + 75: 7(fvec4) CompositeConstruct 74 74 74 74 + 76: 7(fvec4) FAdd 72 75 + 77: 30 Load 56(uSampler1) + 78: 7(fvec4) ImageSampleExplicitLod 77 36 Lod 37 + 79: 7(fvec4) FAdd 76 78 + Store 70(a3) 79 + 87: 8(ptr) AccessChain 84 14 + Store 87 86 + Return + FunctionEnd +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 40 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" 17 21 38 + ExecutionMode 4 OriginUpperLeft + Source GLSL 440 + Name 4 "main" + Name 9 "temp" + Name 17 "a0" + Name 21 "a2" + Name 29 "a1" + Name 33 "a3" + Name 38 "oColor" + Decorate 17(a0) Location 0 + Decorate 21(a2) Location 2 + Decorate 38(oColor) Location 0 + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: TypeVector 6(float) 4 + 8: TypePointer Function 7(fvec4) + 10: 6(float) Constant 1065353216 + 11: 7(fvec4) ConstantComposite 10 10 10 10 + 12: TypeBool + 13: 12(bool) ConstantTrue + 16: TypePointer Input 7(fvec4) + 17(a0): 16(ptr) Variable Input + 21(a2): 16(ptr) Variable Input + 25: 12(bool) ConstantFalse + 28: TypePointer Private 7(fvec4) + 29(a1): 28(ptr) Variable Private + 33(a3): 28(ptr) Variable Private + 37: TypePointer Output 7(fvec4) + 38(oColor): 37(ptr) Variable Output + 4(main): 2 Function None 3 + 5: Label + 9(temp): 8(ptr) Variable Function + Store 9(temp) 11 + SelectionMerge 15 None + BranchConditional 13 14 15 + 14: Label + 18: 7(fvec4) Load 17(a0) + 19: 7(fvec4) Load 9(temp) + 20: 7(fvec4) FMul 19 18 + Store 9(temp) 20 + 22: 7(fvec4) Load 21(a2) + 23: 7(fvec4) Load 9(temp) + 24: 7(fvec4) FMul 23 22 + Store 9(temp) 24 + Branch 15 + 15: Label + SelectionMerge 27 None + BranchConditional 25 26 27 + 26: Label + 30: 7(fvec4) Load 29(a1) + 31: 7(fvec4) Load 9(temp) + 32: 7(fvec4) FMul 31 30 + Store 9(temp) 32 + 34: 7(fvec4) Load 33(a3) + 35: 7(fvec4) Load 9(temp) + 36: 7(fvec4) FMul 35 34 + Store 9(temp) 36 + Branch 27 + 27: Label + 39: 7(fvec4) Load 9(temp) + Store 38(oColor) 39 + Return + FunctionEnd diff --git a/Test/baseResults/link.vk.inconsistentGLPerVertex.0.vert.out b/Test/baseResults/link.vk.inconsistentGLPerVertex.0.vert.out old mode 100755 new mode 100644 index d3545bfa..765fcccf --- a/Test/baseResults/link.vk.inconsistentGLPerVertex.0.vert.out +++ b/Test/baseResults/link.vk.inconsistentGLPerVertex.0.vert.out @@ -274,11 +274,11 @@ output primitive = triangle_strip Name 27 "P" Decorate 8(vs_output) Block Decorate 10(vs_out) Location 0 + Decorate 20(gl_PerVertex) Block MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 20(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 20(gl_PerVertex) Block Decorate 27(P) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/link.vk.matchingPC.0.0.frag.out b/Test/baseResults/link.vk.matchingPC.0.0.frag.out index 87d3b02c..d2101fde 100644 --- a/Test/baseResults/link.vk.matchingPC.0.0.frag.out +++ b/Test/baseResults/link.vk.matchingPC.0.0.frag.out @@ -109,10 +109,10 @@ gl_FragCoord origin is upper left MemberName 16(PushConstantBlock) 2 "scale" Name 18 "uPC" Decorate 15(color) Location 0 + Decorate 16(PushConstantBlock) Block MemberDecorate 16(PushConstantBlock) 0 Offset 0 MemberDecorate 16(PushConstantBlock) 1 Offset 16 MemberDecorate 16(PushConstantBlock) 2 Offset 32 - Decorate 16(PushConstantBlock) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/link.vk.multiBlocksValid.0.0.vert.out b/Test/baseResults/link.vk.multiBlocksValid.0.0.vert.out index 7f9a05a7..b6638761 100644 --- a/Test/baseResults/link.vk.multiBlocksValid.0.0.vert.out +++ b/Test/baseResults/link.vk.multiBlocksValid.0.0.vert.out @@ -216,39 +216,39 @@ Shader version: 430 MemberName 70(BufferBlock) 0 "p" Name 72 "uBuf" Decorate 14(oColor) Location 2 + Decorate 16(ColorBlock) Block MemberDecorate 16(ColorBlock) 0 Offset 0 MemberDecorate 16(ColorBlock) 1 Offset 16 MemberDecorate 16(ColorBlock) 2 Offset 32 MemberDecorate 16(ColorBlock) 3 Offset 48 - Decorate 16(ColorBlock) Block - Decorate 18(uC) DescriptorSet 0 Decorate 18(uC) Binding 1 - MemberDecorate 26(SecondaryColorBlock) 0 Offset 0 + Decorate 18(uC) DescriptorSet 0 Decorate 26(SecondaryColorBlock) BufferBlock - Decorate 28(uColorBuf) DescriptorSet 0 + MemberDecorate 26(SecondaryColorBlock) 0 Offset 0 Decorate 28(uColorBuf) Binding 0 + Decorate 28(uColorBuf) DescriptorSet 0 Decorate 32(Vertex) Block Decorate 34(oV) Location 0 + Decorate 40(gl_PerVertex) Block MemberDecorate 40(gl_PerVertex) 0 BuiltIn Position MemberDecorate 40(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 40(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 40(gl_PerVertex) Block - MemberDecorate 44(MatrixBlock) 0 ColMajor - MemberDecorate 44(MatrixBlock) 0 Offset 0 - MemberDecorate 44(MatrixBlock) 0 MatrixStride 16 - MemberDecorate 44(MatrixBlock) 1 ColMajor - MemberDecorate 44(MatrixBlock) 1 Offset 64 - MemberDecorate 44(MatrixBlock) 1 MatrixStride 16 Decorate 44(MatrixBlock) Block - Decorate 46(uM) DescriptorSet 0 + MemberDecorate 44(MatrixBlock) 0 ColMajor + MemberDecorate 44(MatrixBlock) 0 MatrixStride 16 + MemberDecorate 44(MatrixBlock) 0 Offset 0 + MemberDecorate 44(MatrixBlock) 1 ColMajor + MemberDecorate 44(MatrixBlock) 1 MatrixStride 16 + MemberDecorate 44(MatrixBlock) 1 Offset 64 Decorate 46(uM) Binding 0 + Decorate 46(uM) DescriptorSet 0 Decorate 65(P) Location 0 - MemberDecorate 70(BufferBlock) 0 ColMajor - MemberDecorate 70(BufferBlock) 0 Offset 0 - MemberDecorate 70(BufferBlock) 0 MatrixStride 16 Decorate 70(BufferBlock) BufferBlock - Decorate 72(uBuf) DescriptorSet 0 + MemberDecorate 70(BufferBlock) 0 ColMajor + MemberDecorate 70(BufferBlock) 0 MatrixStride 16 + MemberDecorate 70(BufferBlock) 0 Offset 0 Decorate 72(uBuf) Binding 1 + Decorate 72(uBuf) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/link.vk.multiBlocksValid.1.0.geom.out b/Test/baseResults/link.vk.multiBlocksValid.1.0.geom.out index 374a2a08..7c2b242c 100644 --- a/Test/baseResults/link.vk.multiBlocksValid.1.0.geom.out +++ b/Test/baseResults/link.vk.multiBlocksValid.1.0.geom.out @@ -310,36 +310,36 @@ output primitive = triangle_strip Name 97 "uBuf" Name 100 "P" Decorate 18(oColor) Location 1 + Decorate 20(ColorBlock) Block MemberDecorate 20(ColorBlock) 0 Offset 0 MemberDecorate 20(ColorBlock) 1 Offset 16 MemberDecorate 20(ColorBlock) 2 Offset 32 MemberDecorate 20(ColorBlock) 3 Offset 48 - Decorate 20(ColorBlock) Block - Decorate 22(uC) DescriptorSet 0 Decorate 22(uC) Binding 1 + Decorate 22(uC) DescriptorSet 0 + Decorate 44(gl_PerVertex) Block MemberDecorate 44(gl_PerVertex) 0 BuiltIn Position MemberDecorate 44(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 44(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 44(gl_PerVertex) Block - MemberDecorate 48(MatrixBlock) 0 ColMajor - MemberDecorate 48(MatrixBlock) 0 Offset 0 - MemberDecorate 48(MatrixBlock) 0 MatrixStride 16 - MemberDecorate 48(MatrixBlock) 1 ColMajor - MemberDecorate 48(MatrixBlock) 1 Offset 64 - MemberDecorate 48(MatrixBlock) 1 MatrixStride 16 Decorate 48(MatrixBlock) Block - Decorate 50(uM) DescriptorSet 0 + MemberDecorate 48(MatrixBlock) 0 ColMajor + MemberDecorate 48(MatrixBlock) 0 MatrixStride 16 + MemberDecorate 48(MatrixBlock) 0 Offset 0 + MemberDecorate 48(MatrixBlock) 1 ColMajor + MemberDecorate 48(MatrixBlock) 1 MatrixStride 16 + MemberDecorate 48(MatrixBlock) 1 Offset 64 Decorate 50(uM) Binding 0 + Decorate 50(uM) DescriptorSet 0 Decorate 59(Vertex) Block Decorate 61(oV) Location 0 Decorate 64(Vertex) Block Decorate 68(iV) Location 0 - MemberDecorate 95(BufferBlock) 0 ColMajor - MemberDecorate 95(BufferBlock) 0 Offset 0 - MemberDecorate 95(BufferBlock) 0 MatrixStride 16 Decorate 95(BufferBlock) BufferBlock - Decorate 97(uBuf) DescriptorSet 0 + MemberDecorate 95(BufferBlock) 0 ColMajor + MemberDecorate 95(BufferBlock) 0 MatrixStride 16 + MemberDecorate 95(BufferBlock) 0 Offset 0 Decorate 97(uBuf) Binding 1 + Decorate 97(uBuf) DescriptorSet 0 Decorate 100(P) Location 2 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/link.vk.pcNamingValid.0.0.vert.out b/Test/baseResults/link.vk.pcNamingValid.0.0.vert.out index 410f192e..74bc3fb6 100644 --- a/Test/baseResults/link.vk.pcNamingValid.0.0.vert.out +++ b/Test/baseResults/link.vk.pcNamingValid.0.0.vert.out @@ -135,20 +135,20 @@ Shader version: 450 Name 31 "" Name 48 "P" Decorate 14(oColor) Location 0 + Decorate 16(PCBlock) Block MemberDecorate 16(PCBlock) 0 ColMajor - MemberDecorate 16(PCBlock) 0 Offset 0 MemberDecorate 16(PCBlock) 0 MatrixStride 16 + MemberDecorate 16(PCBlock) 0 Offset 0 MemberDecorate 16(PCBlock) 1 ColMajor - MemberDecorate 16(PCBlock) 1 Offset 64 MemberDecorate 16(PCBlock) 1 MatrixStride 16 + MemberDecorate 16(PCBlock) 1 Offset 64 MemberDecorate 16(PCBlock) 2 Offset 128 MemberDecorate 16(PCBlock) 3 Offset 144 - Decorate 16(PCBlock) Block + Decorate 29(gl_PerVertex) Block MemberDecorate 29(gl_PerVertex) 0 BuiltIn Position MemberDecorate 29(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 29(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 29(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 29(gl_PerVertex) Block Decorate 48(P) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/link1.vk.frag.out b/Test/baseResults/link1.vk.frag.out index 225aee13..a758f200 100644 --- a/Test/baseResults/link1.vk.frag.out +++ b/Test/baseResults/link1.vk.frag.out @@ -222,18 +222,18 @@ gl_FragCoord origin is upper left MemberName 67(bnameImplicit) 0 "m" Name 69 "" Decorate 12(color) Location 0 - Decorate 53(s2D) DescriptorSet 0 Decorate 53(s2D) Binding 1 + Decorate 53(s2D) DescriptorSet 0 Decorate 61 ArrayStride 4 - MemberDecorate 62(bnameRuntime) 0 Offset 0 Decorate 62(bnameRuntime) BufferBlock - Decorate 64 DescriptorSet 0 + MemberDecorate 62(bnameRuntime) 0 Offset 0 Decorate 64 Binding 0 + Decorate 64 DescriptorSet 0 Decorate 66 ArrayStride 4 - MemberDecorate 67(bnameImplicit) 0 Offset 0 Decorate 67(bnameImplicit) BufferBlock - Decorate 69 DescriptorSet 0 + MemberDecorate 67(bnameImplicit) 0 Offset 0 Decorate 69 Binding 1 + Decorate 69 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/matrixCompMult.vert.out b/Test/baseResults/matrixCompMult.vert.out new file mode 100644 index 00000000..2434adaf --- /dev/null +++ b/Test/baseResults/matrixCompMult.vert.out @@ -0,0 +1,33 @@ +matrixCompMult.vert +Shader version: 460 +0:? Sequence +0:5 Function Definition: main( ( global void) +0:5 Function Parameters: +0:? Sequence +0:26 move second child to first child ( temp float) +0:26 'o1' ( smooth out float) +0:26 Constant: +0:26 18.000000 +0:? Linker Objects +0:? 'o1' ( smooth out float) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) + + +Linked vertex stage: + + +Shader version: 460 +0:? Sequence +0:5 Function Definition: main( ( global void) +0:5 Function Parameters: +0:? Sequence +0:26 move second child to first child ( temp float) +0:26 'o1' ( smooth out float) +0:26 Constant: +0:26 18.000000 +0:? Linker Objects +0:? 'o1' ( smooth out float) +0:? 'gl_VertexID' ( gl_VertexId int VertexId) +0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId) + diff --git a/Test/baseResults/preprocess.inactive_stringify.vert.err b/Test/baseResults/preprocess.inactive_stringify.vert.err new file mode 100644 index 00000000..e69de29b diff --git a/Test/baseResults/preprocess.inactive_stringify.vert.out b/Test/baseResults/preprocess.inactive_stringify.vert.out new file mode 100755 index 00000000..70cf1de8 --- /dev/null +++ b/Test/baseResults/preprocess.inactive_stringify.vert.out @@ -0,0 +1,29 @@ +#version 460 + + + + + + + + + + + + + + + + + + + + + + + +void main() +{ + gl_Position = vec4(1.0); +} + diff --git a/Test/baseResults/ps_sample.frag.out b/Test/baseResults/ps_sample.frag.out new file mode 100644 index 00000000..8fc0a198 --- /dev/null +++ b/Test/baseResults/ps_sample.frag.out @@ -0,0 +1,47 @@ +ps_sample.frag +ERROR: 0:5: 'location' : the aliases sharing the location 1 must be the same basic type and interpolation qualification +ERROR: 1 compilation errors. No code generated. + + +Shader version: 430 +Requested GL_ARB_enhanced_layouts +ERROR: node is still EOpNull! +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 'result' ( temp 4-component vector of float) +0:12 'gs_fs' ( smooth in 4-component vector of float) +0:16 move second child to first child ( temp 4-component vector of float) +0:16 'fs_out' ( out 4-component vector of float) +0:16 'result' ( temp 4-component vector of float) +0:? Linker Objects +0:? 'gohan' (layout( location=1 component=0) flat in uint) +0:? 'goten' (layout( location=1 component=2) flat sample in 2-component vector of uint) +0:? 'gs_fs' ( smooth in 4-component vector of float) +0:? 'fs_out' ( out 4-component vector of float) + + +Linked fragment stage: + + +Shader version: 430 +Requested GL_ARB_enhanced_layouts +ERROR: node is still EOpNull! +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 'result' ( temp 4-component vector of float) +0:12 'gs_fs' ( smooth in 4-component vector of float) +0:16 move second child to first child ( temp 4-component vector of float) +0:16 'fs_out' ( out 4-component vector of float) +0:16 'result' ( temp 4-component vector of float) +0:? Linker Objects +0:? 'gohan' (layout( location=1 component=0) flat in uint) +0:? 'goten' (layout( location=1 component=2) flat sample in 2-component vector of uint) +0:? 'gs_fs' ( smooth in 4-component vector of float) +0:? 'fs_out' ( out 4-component vector of float) + diff --git a/Test/baseResults/ps_uint_int.frag.out b/Test/baseResults/ps_uint_int.frag.out new file mode 100644 index 00000000..71d2eb9c --- /dev/null +++ b/Test/baseResults/ps_uint_int.frag.out @@ -0,0 +1,21 @@ +ps_uint_int.frag +Shader version: 450 +0:? Sequence +0:6 Function Definition: main( ( global void) +0:6 Function Parameters: +0:? Linker Objects +0:? 'u' (layout( location=0 component=0) flat in uint) +0:? 'i' (layout( location=0 component=1) flat in int) + + +Linked fragment stage: + + +Shader version: 450 +0:? Sequence +0:6 Function Definition: main( ( global void) +0:6 Function Parameters: +0:? Linker Objects +0:? 'u' (layout( location=0 component=0) flat in uint) +0:? 'i' (layout( location=0 component=1) flat in int) + diff --git a/Test/baseResults/rayQuery-OpConvertUToAccelerationStructureKHR.comp.out b/Test/baseResults/rayQuery-OpConvertUToAccelerationStructureKHR.comp.out index 007dcb90..e6bc9f56 100644 --- a/Test/baseResults/rayQuery-OpConvertUToAccelerationStructureKHR.comp.out +++ b/Test/baseResults/rayQuery-OpConvertUToAccelerationStructureKHR.comp.out @@ -17,8 +17,8 @@ rayQuery-OpConvertUToAccelerationStructureKHR.comp Name 11 "params" MemberName 11(params) 0 "tlas" Name 13 "" - MemberDecorate 11(params) 0 Offset 0 Decorate 11(params) Block + MemberDecorate 11(params) 0 Offset 0 2: TypeVoid 3: TypeFunction 2 6: TypeRayQueryKHR diff --git a/Test/baseResults/rayQuery-allOps.comp.out b/Test/baseResults/rayQuery-allOps.comp.out index a84d9196..9a606ed9 100644 --- a/Test/baseResults/rayQuery-allOps.comp.out +++ b/Test/baseResults/rayQuery-allOps.comp.out @@ -49,22 +49,22 @@ rayQuery-allOps.comp Name 272 "Rays" MemberName 272(Rays) 0 "rays" Name 274 "" + Decorate 15(Log) BufferBlock MemberDecorate 15(Log) 0 Offset 0 MemberDecorate 15(Log) 1 Offset 4 - Decorate 15(Log) BufferBlock - Decorate 17 DescriptorSet 0 Decorate 17 Binding 0 - Decorate 50(rtas) DescriptorSet 0 + Decorate 17 DescriptorSet 0 Decorate 50(rtas) Binding 1 + Decorate 50(rtas) DescriptorSet 0 MemberDecorate 270(Ray) 0 Offset 0 MemberDecorate 270(Ray) 1 Offset 12 MemberDecorate 270(Ray) 2 Offset 16 MemberDecorate 270(Ray) 3 Offset 28 Decorate 271 ArrayStride 32 - MemberDecorate 272(Rays) 0 Offset 0 Decorate 272(Rays) BufferBlock - Decorate 274 DescriptorSet 0 + MemberDecorate 272(Rays) 0 Offset 0 Decorate 274 Binding 2 + Decorate 274 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 diff --git a/Test/baseResults/rayQuery-allOps.frag.out b/Test/baseResults/rayQuery-allOps.frag.out index 19a61711..814f9313 100644 --- a/Test/baseResults/rayQuery-allOps.frag.out +++ b/Test/baseResults/rayQuery-allOps.frag.out @@ -44,22 +44,22 @@ rayQuery-allOps.frag Name 254 "Rays" MemberName 254(Rays) 0 "rays" Name 256 "" + Decorate 15(Log) BufferBlock MemberDecorate 15(Log) 0 Offset 0 MemberDecorate 15(Log) 1 Offset 4 - Decorate 15(Log) BufferBlock - Decorate 17 DescriptorSet 0 Decorate 17 Binding 0 - Decorate 50(rtas) DescriptorSet 0 + Decorate 17 DescriptorSet 0 Decorate 50(rtas) Binding 1 + Decorate 50(rtas) DescriptorSet 0 MemberDecorate 252(Ray) 0 Offset 0 MemberDecorate 252(Ray) 1 Offset 12 MemberDecorate 252(Ray) 2 Offset 16 MemberDecorate 252(Ray) 3 Offset 28 Decorate 253 ArrayStride 32 - MemberDecorate 254(Rays) 0 Offset 0 Decorate 254(Rays) BufferBlock - Decorate 256 DescriptorSet 0 + MemberDecorate 254(Rays) 0 Offset 0 Decorate 256 Binding 2 + Decorate 256 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 diff --git a/Test/baseResults/rayQuery-allOps.rgen.out b/Test/baseResults/rayQuery-allOps.rgen.out index 67447b9e..6b04403c 100644 --- a/Test/baseResults/rayQuery-allOps.rgen.out +++ b/Test/baseResults/rayQuery-allOps.rgen.out @@ -44,22 +44,22 @@ rayQuery-allOps.rgen Name 254 "Rays" MemberName 254(Rays) 0 "rays" Name 256 "" + Decorate 15(Log) BufferBlock MemberDecorate 15(Log) 0 Offset 0 MemberDecorate 15(Log) 1 Offset 4 - Decorate 15(Log) BufferBlock - Decorate 17 DescriptorSet 0 Decorate 17 Binding 0 - Decorate 50(rtas) DescriptorSet 0 + Decorate 17 DescriptorSet 0 Decorate 50(rtas) Binding 1 + Decorate 50(rtas) DescriptorSet 0 MemberDecorate 252(Ray) 0 Offset 0 MemberDecorate 252(Ray) 1 Offset 12 MemberDecorate 252(Ray) 2 Offset 16 MemberDecorate 252(Ray) 3 Offset 28 Decorate 253 ArrayStride 32 - MemberDecorate 254(Rays) 0 Offset 0 Decorate 254(Rays) BufferBlock - Decorate 256 DescriptorSet 0 + MemberDecorate 254(Rays) 0 Offset 0 Decorate 256 Binding 2 + Decorate 256 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 diff --git a/Test/baseResults/rayQuery-global.rgen.out b/Test/baseResults/rayQuery-global.rgen.out index 968a178b..dfd98403 100644 --- a/Test/baseResults/rayQuery-global.rgen.out +++ b/Test/baseResults/rayQuery-global.rgen.out @@ -22,8 +22,8 @@ rayQuery-global.rgen Name 22 "rq2" Name 27 "rtas" Name 40 "rq2" - Decorate 27(rtas) DescriptorSet 0 Decorate 27(rtas) Binding 1 + Decorate 27(rtas) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeRayQueryKHR diff --git a/Test/baseResults/rayQuery-initialize.rgen.out b/Test/baseResults/rayQuery-initialize.rgen.out index dc213c5b..5e97f807 100644 --- a/Test/baseResults/rayQuery-initialize.rgen.out +++ b/Test/baseResults/rayQuery-initialize.rgen.out @@ -40,17 +40,17 @@ rayQuery-initialize.rgen Name 90 "param" Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR - Decorate 50(rtas) DescriptorSet 0 Decorate 50(rtas) Binding 0 + Decorate 50(rtas) DescriptorSet 0 MemberDecorate 72(Ray) 0 Offset 0 MemberDecorate 72(Ray) 1 Offset 12 MemberDecorate 72(Ray) 2 Offset 16 MemberDecorate 72(Ray) 3 Offset 28 Decorate 73 ArrayStride 32 - MemberDecorate 74(Rays) 0 Offset 0 Decorate 74(Rays) BufferBlock - Decorate 76 DescriptorSet 0 + MemberDecorate 74(Rays) 0 Offset 0 Decorate 76 Binding 2 + Decorate 76 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/rayQuery-no-cse.rgen.out b/Test/baseResults/rayQuery-no-cse.rgen.out index 0a751a3c..eff4123f 100644 --- a/Test/baseResults/rayQuery-no-cse.rgen.out +++ b/Test/baseResults/rayQuery-no-cse.rgen.out @@ -42,17 +42,17 @@ rayQuery-no-cse.rgen Name 104 "param" Decorate 23(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 28(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR - Decorate 50(rtas) DescriptorSet 0 Decorate 50(rtas) Binding 0 + Decorate 50(rtas) DescriptorSet 0 MemberDecorate 72(Ray) 0 Offset 0 MemberDecorate 72(Ray) 1 Offset 12 MemberDecorate 72(Ray) 2 Offset 16 MemberDecorate 72(Ray) 3 Offset 28 Decorate 73 ArrayStride 32 - MemberDecorate 74(Rays) 0 Offset 0 Decorate 74(Rays) BufferBlock - Decorate 76 DescriptorSet 0 + MemberDecorate 74(Rays) 0 Offset 0 Decorate 76 Binding 2 + Decorate 76 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/rayQuery-types.comp.out b/Test/baseResults/rayQuery-types.comp.out index bb7ed7bc..3a58ab50 100644 --- a/Test/baseResults/rayQuery-types.comp.out +++ b/Test/baseResults/rayQuery-types.comp.out @@ -34,8 +34,8 @@ rayQuery-types.comp Name 73 "objRayOrigin" Name 77 "objToWorld" Name 79 "worldToObj" - Decorate 11(tlas) DescriptorSet 0 Decorate 11(tlas) Binding 0 + Decorate 11(tlas) DescriptorSet 0 Decorate 85 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/rayQuery.rgen.out b/Test/baseResults/rayQuery.rgen.out index 4a54973c..05ebd131 100644 --- a/Test/baseResults/rayQuery.rgen.out +++ b/Test/baseResults/rayQuery.rgen.out @@ -23,11 +23,11 @@ rayQuery.rgen MemberName 26(block) 0 "dir" MemberName 26(block) 1 "origin" Name 28 "" - Decorate 21(acc0) DescriptorSet 0 Decorate 21(acc0) Binding 0 + Decorate 21(acc0) DescriptorSet 0 + Decorate 26(block) BufferBlock MemberDecorate 26(block) 0 Offset 0 MemberDecorate 26(block) 1 Offset 16 - Decorate 26(block) BufferBlock 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out b/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out index b1ce523b..a15675ea 100644 --- a/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out +++ b/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out @@ -12,32 +12,32 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented EntryPoint Fragment 5663 "main" 4253 3709 ExecutionMode 5663 OriginUpperLeft ExecutionMode 5663 DepthReplacing - Decorate 4727 DescriptorSet 0 Decorate 4727 Binding 0 - Decorate 3305 DescriptorSet 0 + Decorate 4727 DescriptorSet 0 Decorate 3305 Binding 0 - Decorate 4743 DescriptorSet 0 + Decorate 3305 DescriptorSet 0 Decorate 4743 Binding 2 - Decorate 4807 DescriptorSet 0 + Decorate 4743 DescriptorSet 0 Decorate 4807 Binding 3 - Decorate 5042 DescriptorSet 0 + Decorate 4807 DescriptorSet 0 Decorate 5042 Binding 4 - Decorate 5058 DescriptorSet 0 + Decorate 5042 DescriptorSet 0 Decorate 5058 Binding 5 - Decorate 5122 DescriptorSet 0 + Decorate 5058 DescriptorSet 0 Decorate 5122 Binding 6 - Decorate 3967 DescriptorSet 0 + Decorate 5122 DescriptorSet 0 Decorate 3967 Binding 7 - Decorate 3983 DescriptorSet 0 + Decorate 3967 DescriptorSet 0 Decorate 3983 Binding 8 - Decorate 4047 DescriptorSet 0 + Decorate 3983 DescriptorSet 0 Decorate 4047 Binding 9 - Decorate 3789 DescriptorSet 0 + Decorate 4047 DescriptorSet 0 Decorate 3789 Binding 10 - Decorate 3805 DescriptorSet 0 + Decorate 3789 DescriptorSet 0 Decorate 3805 Binding 11 - Decorate 3869 DescriptorSet 0 + Decorate 3805 DescriptorSet 0 Decorate 3869 Binding 12 + Decorate 3869 DescriptorSet 0 Decorate 4253 Location 0 Decorate 3709 BuiltIn FragDepth 8: TypeVoid diff --git a/Test/baseResults/remap.hlsl.sample.basic.none.frag.out b/Test/baseResults/remap.hlsl.sample.basic.none.frag.out index 13ac4f26..5e61daae 100644 --- a/Test/baseResults/remap.hlsl.sample.basic.none.frag.out +++ b/Test/baseResults/remap.hlsl.sample.basic.none.frag.out @@ -64,40 +64,40 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented Name 195 "g_sSamp2d" Name 196 "g_sSamp2D_b" Name 197 "g_tTex1df4a" - Decorate 45(g_tTex1df4) DescriptorSet 0 Decorate 45(g_tTex1df4) Binding 0 - Decorate 49(g_sSamp) DescriptorSet 0 + Decorate 45(g_tTex1df4) DescriptorSet 0 Decorate 49(g_sSamp) Binding 0 - Decorate 60(g_tTex1di4) DescriptorSet 0 + Decorate 49(g_sSamp) DescriptorSet 0 Decorate 60(g_tTex1di4) Binding 2 - Decorate 73(g_tTex1du4) DescriptorSet 0 + Decorate 60(g_tTex1di4) DescriptorSet 0 Decorate 73(g_tTex1du4) Binding 3 - Decorate 83(g_tTex2df4) DescriptorSet 0 + Decorate 73(g_tTex1du4) DescriptorSet 0 Decorate 83(g_tTex2df4) Binding 4 - Decorate 94(g_tTex2di4) DescriptorSet 0 + Decorate 83(g_tTex2df4) DescriptorSet 0 Decorate 94(g_tTex2di4) Binding 5 - Decorate 105(g_tTex2du4) DescriptorSet 0 + Decorate 94(g_tTex2di4) DescriptorSet 0 Decorate 105(g_tTex2du4) Binding 6 - Decorate 117(g_tTex3df4) DescriptorSet 0 + Decorate 105(g_tTex2du4) DescriptorSet 0 Decorate 117(g_tTex3df4) Binding 7 - Decorate 128(g_tTex3di4) DescriptorSet 0 + Decorate 117(g_tTex3df4) DescriptorSet 0 Decorate 128(g_tTex3di4) Binding 8 - Decorate 138(g_tTex3du4) DescriptorSet 0 + Decorate 128(g_tTex3di4) DescriptorSet 0 Decorate 138(g_tTex3du4) Binding 9 - Decorate 151(g_tTexcdf4) DescriptorSet 0 + Decorate 138(g_tTex3du4) DescriptorSet 0 Decorate 151(g_tTexcdf4) Binding 10 - Decorate 160(g_tTexcdi4) DescriptorSet 0 + Decorate 151(g_tTexcdf4) DescriptorSet 0 Decorate 160(g_tTexcdi4) Binding 11 - Decorate 169(g_tTexcdu4) DescriptorSet 0 + Decorate 160(g_tTexcdi4) DescriptorSet 0 Decorate 169(g_tTexcdu4) Binding 12 + Decorate 169(g_tTexcdu4) DescriptorSet 0 Decorate 188(@entryPointOutput.Color) Location 0 Decorate 192(@entryPointOutput.Depth) BuiltIn FragDepth - Decorate 195(g_sSamp2d) DescriptorSet 0 Decorate 195(g_sSamp2d) Binding 0 - Decorate 196(g_sSamp2D_b) DescriptorSet 0 + Decorate 195(g_sSamp2d) DescriptorSet 0 Decorate 196(g_sSamp2D_b) Binding 0 - Decorate 197(g_tTex1df4a) DescriptorSet 0 + Decorate 196(g_sSamp2D_b) DescriptorSet 0 Decorate 197(g_tTex1df4a) Binding 1 + Decorate 197(g_tTex1df4a) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out b/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out index d861a436..a9d041a8 100644 --- a/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out +++ b/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out @@ -12,40 +12,40 @@ WARNING: 0:4: 'immediate sampler state' : unimplemented EntryPoint Fragment 4 "main" 188 192 ExecutionMode 4 OriginUpperLeft ExecutionMode 4 DepthReplacing - Decorate 45 DescriptorSet 0 Decorate 45 Binding 0 - Decorate 49 DescriptorSet 0 + Decorate 45 DescriptorSet 0 Decorate 49 Binding 0 - Decorate 60 DescriptorSet 0 + Decorate 49 DescriptorSet 0 Decorate 60 Binding 2 - Decorate 73 DescriptorSet 0 + Decorate 60 DescriptorSet 0 Decorate 73 Binding 3 - Decorate 83 DescriptorSet 0 + Decorate 73 DescriptorSet 0 Decorate 83 Binding 4 - Decorate 94 DescriptorSet 0 + Decorate 83 DescriptorSet 0 Decorate 94 Binding 5 - Decorate 105 DescriptorSet 0 + Decorate 94 DescriptorSet 0 Decorate 105 Binding 6 - Decorate 117 DescriptorSet 0 + Decorate 105 DescriptorSet 0 Decorate 117 Binding 7 - Decorate 128 DescriptorSet 0 + Decorate 117 DescriptorSet 0 Decorate 128 Binding 8 - Decorate 138 DescriptorSet 0 + Decorate 128 DescriptorSet 0 Decorate 138 Binding 9 - Decorate 151 DescriptorSet 0 + Decorate 138 DescriptorSet 0 Decorate 151 Binding 10 - Decorate 160 DescriptorSet 0 + Decorate 151 DescriptorSet 0 Decorate 160 Binding 11 - Decorate 169 DescriptorSet 0 + Decorate 160 DescriptorSet 0 Decorate 169 Binding 12 + Decorate 169 DescriptorSet 0 Decorate 188 Location 0 Decorate 192 BuiltIn FragDepth - Decorate 195 DescriptorSet 0 Decorate 195 Binding 0 - Decorate 196 DescriptorSet 0 + Decorate 195 DescriptorSet 0 Decorate 196 Binding 0 - Decorate 197 DescriptorSet 0 + Decorate 196 DescriptorSet 0 Decorate 197 Binding 1 + Decorate 197 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/remap.uniformarray.none.frag.out b/Test/baseResults/remap.uniformarray.none.frag.out index cc4fc7db..458d8c78 100644 --- a/Test/baseResults/remap.uniformarray.none.frag.out +++ b/Test/baseResults/remap.uniformarray.none.frag.out @@ -20,8 +20,8 @@ remap.uniformarray.none.frag Decorate 25(inColor) Location 0 Decorate 43(alpha) Location 7 Decorate 54(gl_FragColor) Location 0 - Decorate 59(texSampler2D) DescriptorSet 0 Decorate 59(texSampler2D) Binding 0 + Decorate 59(texSampler2D) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out b/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out index 858a0dbe..402729d4 100644 --- a/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out +++ b/Test/baseResults/spv.1.3.8bitstorage-ssbo.vert.out @@ -19,11 +19,12 @@ spv.1.3.8bitstorage-ssbo.vert Name 18 "gl_VertexIndex" Decorate 9(color) Location 0 Decorate 11 ArrayStride 1 + Decorate 12(Vertices) Block MemberDecorate 12(Vertices) 0 NonWritable MemberDecorate 12(Vertices) 0 Offset 0 - Decorate 12(Vertices) Block - Decorate 14 DescriptorSet 0 + Decorate 14 NonWritable Decorate 14 Binding 0 + Decorate 14 DescriptorSet 0 Decorate 18(gl_VertexIndex) BuiltIn VertexIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out b/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out index e7ec5ed3..e7cd68a5 100644 --- a/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out +++ b/Test/baseResults/spv.1.3.8bitstorage-ubo.vert.out @@ -19,10 +19,11 @@ spv.1.3.8bitstorage-ubo.vert Name 20 "gl_VertexIndex" Decorate 9(color) Location 0 Decorate 13 ArrayStride 16 - MemberDecorate 14(Vertices) 0 Offset 0 Decorate 14(Vertices) Block - Decorate 16 DescriptorSet 0 + MemberDecorate 14(Vertices) 0 Offset 0 + Decorate 16 NonWritable Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 Decorate 20(gl_VertexIndex) BuiltIn VertexIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.1.3.coopmat.comp.out b/Test/baseResults/spv.1.3.coopmat.comp.out index 6b15772d..b14f0577 100644 --- a/Test/baseResults/spv.1.3.coopmat.comp.out +++ b/Test/baseResults/spv.1.3.coopmat.comp.out @@ -26,11 +26,11 @@ spv.1.3.coopmat.comp Name 35 "block" Decorate 31 ArrayStride 4 Decorate 32 ArrayStride 4 + Decorate 33(Block) Block MemberDecorate 33(Block) 0 Offset 0 MemberDecorate 33(Block) 1 Offset 4194304 - Decorate 33(Block) Block - Decorate 35(block) DescriptorSet 0 Decorate 35(block) Binding 0 + Decorate 35(block) DescriptorSet 0 Decorate 51 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.1.4.OpCopyLogical.comp.out b/Test/baseResults/spv.1.4.OpCopyLogical.comp.out index ad0397b3..f82a144c 100644 --- a/Test/baseResults/spv.1.4.OpCopyLogical.comp.out +++ b/Test/baseResults/spv.1.4.OpCopyLogical.comp.out @@ -48,35 +48,35 @@ spv.1.4.OpCopyLogical.comp Decorate 15 ArrayStride 8 MemberDecorate 16(MyStruct) 0 Offset 0 MemberDecorate 16(MyStruct) 1 Offset 16 - MemberDecorate 17(SSBO0) 0 Offset 0 Decorate 17(SSBO0) Block - Decorate 19(inBuf) DescriptorSet 0 + MemberDecorate 17(SSBO0) 0 Offset 0 Decorate 19(inBuf) Binding 0 - MemberDecorate 25(SSBO1) 0 Offset 0 + Decorate 19(inBuf) DescriptorSet 0 Decorate 25(SSBO1) Block - Decorate 27(outBuf) DescriptorSet 0 + MemberDecorate 25(SSBO1) 0 Offset 0 Decorate 27(outBuf) Binding 1 + Decorate 27(outBuf) DescriptorSet 0 Decorate 31 ArrayStride 16 MemberDecorate 32(MyStruct) 0 Offset 0 MemberDecorate 32(MyStruct) 1 Offset 32 - MemberDecorate 33(UBO) 0 Offset 0 Decorate 33(UBO) Block - Decorate 35(uBuf) DescriptorSet 0 + MemberDecorate 33(UBO) 0 Offset 0 Decorate 35(uBuf) Binding 2 + Decorate 35(uBuf) DescriptorSet 0 Decorate 47 ArrayStride 48 MemberDecorate 48(Nested) 0 Offset 0 MemberDecorate 48(Nested) 1 Offset 16 - MemberDecorate 49(UBON) 0 Offset 0 Decorate 49(UBON) Block - Decorate 51(uBufN) DescriptorSet 0 + MemberDecorate 49(UBON) 0 Offset 0 Decorate 51(uBufN) Binding 2 + Decorate 51(uBufN) DescriptorSet 0 Decorate 56 ArrayStride 24 MemberDecorate 57(Nested) 0 Offset 0 MemberDecorate 57(Nested) 1 Offset 8 - MemberDecorate 58(SSBO1N) 0 Offset 0 Decorate 58(SSBO1N) Block - Decorate 60(outBufN) DescriptorSet 0 + MemberDecorate 58(SSBO1N) 0 Offset 0 Decorate 60(outBufN) Binding 1 + Decorate 60(outBufN) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out b/Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out index 850ee915..c37bca66 100644 --- a/Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out +++ b/Test/baseResults/spv.1.4.OpCopyLogical.funcall.frag.out @@ -30,12 +30,12 @@ spv.1.4.OpCopyLogical.funcall.frag Name 47 "param" Name 55 "param" MemberDecorate 22(S) 0 ColMajor - MemberDecorate 22(S) 0 Offset 0 MemberDecorate 22(S) 0 MatrixStride 16 - MemberDecorate 23(blockName) 0 Offset 0 + MemberDecorate 22(S) 0 Offset 0 Decorate 23(blockName) Block - Decorate 25 DescriptorSet 0 + MemberDecorate 23(blockName) 0 Offset 0 Decorate 25 Binding 0 + Decorate 25 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out b/Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out index 7b525959..0e6f6a61 100644 --- a/Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out +++ b/Test/baseResults/spv.1.4.OpCopyLogicalBool.comp.out @@ -48,35 +48,35 @@ spv.1.4.OpCopyLogicalBool.comp Decorate 15 ArrayStride 8 MemberDecorate 16(MyStruct) 0 Offset 0 MemberDecorate 16(MyStruct) 1 Offset 16 - MemberDecorate 17(SSBO0) 0 Offset 0 Decorate 17(SSBO0) Block - Decorate 19(inBuf) DescriptorSet 0 + MemberDecorate 17(SSBO0) 0 Offset 0 Decorate 19(inBuf) Binding 0 - MemberDecorate 35(SSBO1) 0 Offset 0 + Decorate 19(inBuf) DescriptorSet 0 Decorate 35(SSBO1) Block - Decorate 37(outBuf) DescriptorSet 0 + MemberDecorate 35(SSBO1) 0 Offset 0 Decorate 37(outBuf) Binding 1 + Decorate 37(outBuf) DescriptorSet 0 Decorate 49 ArrayStride 16 MemberDecorate 50(MyStruct) 0 Offset 0 MemberDecorate 50(MyStruct) 1 Offset 32 - MemberDecorate 51(UBO) 0 Offset 0 Decorate 51(UBO) Block - Decorate 53(uBuf) DescriptorSet 0 + MemberDecorate 51(UBO) 0 Offset 0 Decorate 53(uBuf) Binding 2 + Decorate 53(uBuf) DescriptorSet 0 Decorate 75 ArrayStride 48 MemberDecorate 76(Nested) 0 Offset 0 MemberDecorate 76(Nested) 1 Offset 16 - MemberDecorate 77(UBON) 0 Offset 0 Decorate 77(UBON) Block - Decorate 79(uBufN) DescriptorSet 0 + MemberDecorate 77(UBON) 0 Offset 0 Decorate 79(uBufN) Binding 2 + Decorate 79(uBufN) DescriptorSet 0 Decorate 105 ArrayStride 24 MemberDecorate 106(Nested) 0 Offset 0 MemberDecorate 106(Nested) 1 Offset 8 - MemberDecorate 107(SSBO1N) 0 Offset 0 Decorate 107(SSBO1N) Block - Decorate 109(outBufN) DescriptorSet 0 + MemberDecorate 107(SSBO1N) 0 Offset 0 Decorate 109(outBufN) Binding 1 + Decorate 109(outBufN) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.4.OpEntryPoint.frag.out b/Test/baseResults/spv.1.4.OpEntryPoint.frag.out index f37b0fdf..dd7dbbb9 100644 --- a/Test/baseResults/spv.1.4.OpEntryPoint.frag.out +++ b/Test/baseResults/spv.1.4.OpEntryPoint.frag.out @@ -25,16 +25,16 @@ spv.1.4.OpEntryPoint.frag Name 41 "bufferv" Decorate 11(inv) Location 0 Decorate 17(outv) Location 0 - MemberDecorate 23(ubt) 0 Offset 0 Decorate 23(ubt) Block - Decorate 25(uniformv) DescriptorSet 0 + MemberDecorate 23(ubt) 0 Offset 0 Decorate 25(uniformv) Binding 0 - MemberDecorate 31(pushB) 0 Offset 0 + Decorate 25(uniformv) DescriptorSet 0 Decorate 31(pushB) Block - MemberDecorate 39(bbt) 0 Offset 0 + MemberDecorate 31(pushB) 0 Offset 0 Decorate 39(bbt) Block - Decorate 41(bufferv) DescriptorSet 0 + MemberDecorate 39(bbt) 0 Offset 0 Decorate 41(bufferv) Binding 1 + Decorate 41(bufferv) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.4.OpEntryPoint.opaqueParams.vert.out b/Test/baseResults/spv.1.4.OpEntryPoint.opaqueParams.vert.out index dff799f0..4a394014 100644 --- a/Test/baseResults/spv.1.4.OpEntryPoint.opaqueParams.vert.out +++ b/Test/baseResults/spv.1.4.OpEntryPoint.opaqueParams.vert.out @@ -18,12 +18,12 @@ spv.1.4.OpEntryPoint.opaqueParams.vert Name 41 "s2D" Name 42 "t2D" Name 43 "s" - Decorate 41(s2D) DescriptorSet 0 Decorate 41(s2D) Binding 0 - Decorate 42(t2D) DescriptorSet 0 + Decorate 41(s2D) DescriptorSet 0 Decorate 42(t2D) Binding 1 - Decorate 43(s) DescriptorSet 0 + Decorate 42(t2D) DescriptorSet 0 Decorate 43(s) Binding 3 + Decorate 43(s) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.4.constructComposite.comp.out b/Test/baseResults/spv.1.4.constructComposite.comp.out index e896cf80..d228e20d 100644 --- a/Test/baseResults/spv.1.4.constructComposite.comp.out +++ b/Test/baseResults/spv.1.4.constructComposite.comp.out @@ -27,10 +27,10 @@ spv.1.4.constructComposite.comp MemberDecorate 11(sA) 0 Offset 0 MemberDecorate 11(sA) 1 Offset 4 MemberDecorate 12(sB) 0 Offset 0 - MemberDecorate 13(ubo) 0 Offset 0 Decorate 13(ubo) Block - Decorate 15 DescriptorSet 0 + MemberDecorate 13(ubo) 0 Offset 0 Decorate 15 Binding 0 + Decorate 15 DescriptorSet 0 Decorate 26 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.1.4.funcall.array.frag.out b/Test/baseResults/spv.1.4.funcall.array.frag.out index 6a23f2aa..a7fec762 100644 --- a/Test/baseResults/spv.1.4.funcall.array.frag.out +++ b/Test/baseResults/spv.1.4.funcall.array.frag.out @@ -22,10 +22,10 @@ spv.1.4.funcall.array.frag Name 40 "param" Decorate 27(color) Location 0 Decorate 28 ArrayStride 16 - MemberDecorate 29(ub) 0 Offset 0 Decorate 29(ub) Block - Decorate 31 DescriptorSet 0 + MemberDecorate 29(ub) 0 Offset 0 Decorate 31 Binding 0 + Decorate 31 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.4.image.frag.out b/Test/baseResults/spv.1.4.image.frag.out index 059ed196..5feb0daf 100644 --- a/Test/baseResults/spv.1.4.image.frag.out +++ b/Test/baseResults/spv.1.4.image.frag.out @@ -23,20 +23,20 @@ spv.1.4.image.frag Name 89 "ui2DMS" Name 100 "fragData" Name 103 "value" - Decorate 26(i2D) DescriptorSet 0 Decorate 26(i2D) Binding 1 + Decorate 26(i2D) DescriptorSet 0 Decorate 30(ic2D) Flat Decorate 30(ic2D) Location 0 - Decorate 40(ii2D) DescriptorSet 0 Decorate 40(ii2D) Binding 12 - Decorate 52(ui2D) DescriptorSet 0 + Decorate 40(ii2D) DescriptorSet 0 Decorate 52(ui2D) Binding 12 - Decorate 64(i2DMS) DescriptorSet 0 + Decorate 52(ui2D) DescriptorSet 0 Decorate 64(i2DMS) Binding 9 - Decorate 77(ii2DMS) DescriptorSet 0 + Decorate 64(i2DMS) DescriptorSet 0 Decorate 77(ii2DMS) Binding 13 - Decorate 89(ui2DMS) DescriptorSet 0 + Decorate 77(ii2DMS) DescriptorSet 0 Decorate 89(ui2DMS) Binding 13 + Decorate 89(ui2DMS) DescriptorSet 0 Decorate 100(fragData) Location 0 Decorate 103(value) Flat Decorate 103(value) Location 1 diff --git a/Test/baseResults/spv.1.4.load.bool.array.interface.block.frag.out b/Test/baseResults/spv.1.4.load.bool.array.interface.block.frag.out index fea83ab3..507434fd 100644 --- a/Test/baseResults/spv.1.4.load.bool.array.interface.block.frag.out +++ b/Test/baseResults/spv.1.4.load.bool.array.interface.block.frag.out @@ -20,16 +20,16 @@ Validation failed Name 61 "color" Decorate 8 ArrayStride 4 Decorate 10 ArrayStride 12 - MemberDecorate 11(ssbo) 0 Offset 0 Decorate 11(ssbo) Block - Decorate 13 DescriptorSet 0 + MemberDecorate 11(ssbo) 0 Offset 0 Decorate 13 Binding 1 + Decorate 13 DescriptorSet 0 Decorate 16 ArrayStride 16 Decorate 17 ArrayStride 48 - MemberDecorate 18(ub) 0 Offset 0 Decorate 18(ub) Block - Decorate 20 DescriptorSet 0 + MemberDecorate 18(ub) 0 Offset 0 Decorate 20 Binding 0 + Decorate 20 DescriptorSet 0 Decorate 61(color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.1.4.sparseTexture.frag.out b/Test/baseResults/spv.1.4.sparseTexture.frag.out index a26ae66e..214a02f8 100644 --- a/Test/baseResults/spv.1.4.sparseTexture.frag.out +++ b/Test/baseResults/spv.1.4.sparseTexture.frag.out @@ -47,21 +47,21 @@ spv.1.4.sparseTexture.frag Name 206 "c3" Name 208 "c4" Name 212 "offsets" - Decorate 29(s2D) DescriptorSet 0 Decorate 29(s2D) Binding 0 + Decorate 29(s2D) DescriptorSet 0 Decorate 33(c2) Location 0 - Decorate 46(is2D) DescriptorSet 0 Decorate 46(is2D) Binding 1 - Decorate 63(us2D) DescriptorSet 0 + Decorate 46(is2D) DescriptorSet 0 Decorate 63(us2D) Binding 2 - Decorate 149(i2D) DescriptorSet 0 + Decorate 63(us2D) DescriptorSet 0 Decorate 149(i2D) Binding 3 + Decorate 149(i2D) DescriptorSet 0 Decorate 152(ic2) Flat Decorate 152(ic2) Location 3 - Decorate 162(ii2DMS) DescriptorSet 0 Decorate 162(ii2DMS) Binding 4 - Decorate 177(ui3D) DescriptorSet 0 + Decorate 162(ii2DMS) DescriptorSet 0 Decorate 177(ui3D) Binding 5 + Decorate 177(ui3D) DescriptorSet 0 Decorate 181(ic3) Flat Decorate 181(ic3) Location 4 Decorate 189(outColor) Location 0 diff --git a/Test/baseResults/spv.1.4.texture.frag.out b/Test/baseResults/spv.1.4.texture.frag.out index 6d28e1f0..352b9210 100644 --- a/Test/baseResults/spv.1.4.texture.frag.out +++ b/Test/baseResults/spv.1.4.texture.frag.out @@ -19,13 +19,13 @@ spv.1.4.texture.frag Name 54 "iLod" Name 76 "t" Name 78 "color" - Decorate 15(texSampler2D) DescriptorSet 0 Decorate 15(texSampler2D) Binding 0 + Decorate 15(texSampler2D) DescriptorSet 0 Decorate 19(coords2D) Location 1 - Decorate 28(itexSampler2D) DescriptorSet 0 Decorate 28(itexSampler2D) Binding 1 - Decorate 40(utexSampler2D) DescriptorSet 0 + Decorate 28(itexSampler2D) DescriptorSet 0 Decorate 40(utexSampler2D) Binding 2 + Decorate 40(utexSampler2D) DescriptorSet 0 Decorate 51(iCoords2D) Flat Decorate 51(iCoords2D) Location 2 Decorate 54(iLod) Flat diff --git a/Test/baseResults/spv.1.6.conditionalDiscard.frag.out b/Test/baseResults/spv.1.6.conditionalDiscard.frag.out index 6364773d..aa631f3a 100644 --- a/Test/baseResults/spv.1.6.conditionalDiscard.frag.out +++ b/Test/baseResults/spv.1.6.conditionalDiscard.frag.out @@ -14,8 +14,8 @@ spv.1.6.conditionalDiscard.frag Name 13 "tex" Name 17 "coord" Name 34 "gl_FragColor" - Decorate 13(tex) DescriptorSet 0 Decorate 13(tex) Binding 0 + Decorate 13(tex) DescriptorSet 0 Decorate 17(coord) Location 0 Decorate 34(gl_FragColor) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.1.6.helperInvocation.memmodel.frag.out b/Test/baseResults/spv.1.6.helperInvocation.memmodel.frag.out index fea4e458..10ca5df2 100644 --- a/Test/baseResults/spv.1.6.helperInvocation.memmodel.frag.out +++ b/Test/baseResults/spv.1.6.helperInvocation.memmodel.frag.out @@ -18,10 +18,10 @@ spv.1.6.helperInvocation.memmodel.frag MemberName 7(B) 0 "o" Name 9 "" Name 14 "gl_HelperInvocation" - MemberDecorate 7(B) 0 Offset 0 Decorate 7(B) Block - Decorate 9 DescriptorSet 0 + MemberDecorate 7(B) 0 Offset 0 Decorate 9 Binding 0 + Decorate 9 DescriptorSet 0 Decorate 14(gl_HelperInvocation) BuiltIn HelperInvocation 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.1.6.samplerBuffer.frag.out b/Test/baseResults/spv.1.6.samplerBuffer.frag.out index 1bd52da9..eef89e93 100644 --- a/Test/baseResults/spv.1.6.samplerBuffer.frag.out +++ b/Test/baseResults/spv.1.6.samplerBuffer.frag.out @@ -15,8 +15,8 @@ spv.1.6.samplerBuffer.frag Name 9 "o" Name 13 "sampB" Decorate 9(o) Location 0 - Decorate 13(sampB) DescriptorSet 0 Decorate 13(sampB) Binding 0 + Decorate 13(sampB) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.6.separate.frag.out b/Test/baseResults/spv.1.6.separate.frag.out index f485fad1..3037fab1 100644 --- a/Test/baseResults/spv.1.6.separate.frag.out +++ b/Test/baseResults/spv.1.6.separate.frag.out @@ -15,14 +15,14 @@ spv.1.6.separate.frag Name 13 "s" Name 18 "itexBuffer" Name 24 "utexBuffer" - Decorate 9(texBuffer) DescriptorSet 0 Decorate 9(texBuffer) Binding 1 - Decorate 13(s) DescriptorSet 0 + Decorate 9(texBuffer) DescriptorSet 0 Decorate 13(s) Binding 0 - Decorate 18(itexBuffer) DescriptorSet 0 + Decorate 13(s) DescriptorSet 0 Decorate 18(itexBuffer) Binding 2 - Decorate 24(utexBuffer) DescriptorSet 0 + Decorate 18(itexBuffer) DescriptorSet 0 Decorate 24(utexBuffer) Binding 3 + Decorate 24(utexBuffer) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.1.6.specConstant.comp.out b/Test/baseResults/spv.1.6.specConstant.comp.out index 2c32fbd6..13eb93c6 100644 --- a/Test/baseResults/spv.1.6.specConstant.comp.out +++ b/Test/baseResults/spv.1.6.specConstant.comp.out @@ -18,10 +18,10 @@ spv.1.6.specConstant.comp 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 + MemberDecorate 16(bn) 0 Offset 0 Decorate 18(bi) Binding 0 + Decorate 18(bi) DescriptorSet 0 Decorate 25 SpecId 18 Decorate 26 SpecId 19 2: TypeVoid diff --git a/Test/baseResults/spv.130.frag.out b/Test/baseResults/spv.130.frag.out index 84fa9a3f..8e6c1182 100644 --- a/Test/baseResults/spv.130.frag.out +++ b/Test/baseResults/spv.130.frag.out @@ -59,45 +59,45 @@ Validation failed Name 203 "s1D" Name 204 "s2DS" Decorate 17(o) Location 0 - Decorate 21(samp2D) DescriptorSet 0 Decorate 21(samp2D) Binding 2 - Decorate 37(samp2DA) DescriptorSet 0 + Decorate 21(samp2D) DescriptorSet 0 Decorate 37(samp2DA) Binding 5 - Decorate 47(samp2DR) DescriptorSet 0 + Decorate 37(samp2DA) DescriptorSet 0 Decorate 47(samp2DR) Binding 4 - Decorate 55(samp2DS) DescriptorSet 0 + Decorate 47(samp2DR) DescriptorSet 0 Decorate 55(samp2DS) Binding 3 + Decorate 55(samp2DS) DescriptorSet 0 Decorate 68(io) Location 1 - Decorate 72(Sca) DescriptorSet 0 Decorate 72(Sca) Binding 6 + Decorate 72(Sca) DescriptorSet 0 Decorate 79(i) Location 0 - Decorate 87(Isca) DescriptorSet 0 Decorate 87(Isca) Binding 7 + Decorate 87(Isca) DescriptorSet 0 Decorate 99(uo) Location 2 - Decorate 103(Usca) DescriptorSet 0 Decorate 103(Usca) Binding 8 - Decorate 118(Scas) DescriptorSet 0 + Decorate 103(Usca) DescriptorSet 0 Decorate 118(Scas) Binding 9 - Decorate 167(sampC) DescriptorSet 0 + Decorate 118(Scas) DescriptorSet 0 Decorate 167(sampC) Binding 1 + Decorate 167(sampC) DescriptorSet 0 Decorate 173(gl_ClipDistance) BuiltIn ClipDistance Decorate 184(fflat) Flat Decorate 184(fflat) Location 1 Decorate 185(fsmooth) Location 2 Decorate 186(fnop) NoPerspective Decorate 186(fnop) Location 3 - Decorate 193(bounds) DescriptorSet 0 Decorate 193(bounds) Binding 0 - Decorate 194(s2D) DescriptorSet 0 + Decorate 193(bounds) DescriptorSet 0 Decorate 194(s2D) Binding 0 - Decorate 195(s2DR) DescriptorSet 0 + Decorate 194(s2D) DescriptorSet 0 Decorate 195(s2DR) Binding 0 - Decorate 199(s2DRS) DescriptorSet 0 + Decorate 195(s2DR) DescriptorSet 0 Decorate 199(s2DRS) Binding 0 - Decorate 203(s1D) DescriptorSet 0 + Decorate 199(s2DRS) DescriptorSet 0 Decorate 203(s1D) Binding 0 - Decorate 204(s2DS) DescriptorSet 0 + Decorate 203(s1D) DescriptorSet 0 Decorate 204(s2DS) Binding 0 + Decorate 204(s2DS) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 14: TypeFloat 32 diff --git a/Test/baseResults/spv.140.frag.out b/Test/baseResults/spv.140.frag.out index a4401a28..be76ab44 100644 --- a/Test/baseResults/spv.140.frag.out +++ b/Test/baseResults/spv.140.frag.out @@ -40,37 +40,37 @@ Validation failed Decorate 23(o) Location 0 Decorate 28(gl_ClipDistance) BuiltIn ClipDistance Decorate 38(k) Location 0 - Decorate 50(sampR) DescriptorSet 0 Decorate 50(sampR) Binding 0 - Decorate 58(sampB) DescriptorSet 0 + Decorate 50(sampR) DescriptorSet 0 Decorate 58(sampB) Binding 1 - Decorate 82(samp2Da) DescriptorSet 0 + Decorate 58(sampB) DescriptorSet 0 Decorate 82(samp2Da) Binding 0 + Decorate 82(samp2Da) DescriptorSet 0 Decorate 85 ArrayStride 64 Decorate 86 ArrayStride 64 - MemberDecorate 87(bn) 0 RowMajor - MemberDecorate 87(bn) 0 Offset 0 - MemberDecorate 87(bn) 0 MatrixStride 16 - MemberDecorate 87(bn) 1 ColMajor - MemberDecorate 87(bn) 1 Offset 256 - MemberDecorate 87(bn) 1 MatrixStride 16 - MemberDecorate 87(bn) 2 RowMajor - MemberDecorate 87(bn) 2 Offset 512 - MemberDecorate 87(bn) 2 MatrixStride 16 - MemberDecorate 87(bn) 3 ColMajor - MemberDecorate 87(bn) 3 Offset 576 - MemberDecorate 87(bn) 3 MatrixStride 16 - MemberDecorate 87(bn) 4 RowMajor - MemberDecorate 87(bn) 4 Offset 1024 - MemberDecorate 87(bn) 4 MatrixStride 16 Decorate 87(bn) Block - Decorate 89 DescriptorSet 0 + MemberDecorate 87(bn) 0 RowMajor + MemberDecorate 87(bn) 0 MatrixStride 16 + MemberDecorate 87(bn) 0 Offset 0 + MemberDecorate 87(bn) 1 ColMajor + MemberDecorate 87(bn) 1 MatrixStride 16 + MemberDecorate 87(bn) 1 Offset 256 + MemberDecorate 87(bn) 2 RowMajor + MemberDecorate 87(bn) 2 MatrixStride 16 + MemberDecorate 87(bn) 2 Offset 512 + MemberDecorate 87(bn) 3 ColMajor + MemberDecorate 87(bn) 3 MatrixStride 16 + MemberDecorate 87(bn) 3 Offset 576 + MemberDecorate 87(bn) 4 RowMajor + MemberDecorate 87(bn) 4 MatrixStride 16 + MemberDecorate 87(bn) 4 Offset 1024 Decorate 89 Binding 0 + Decorate 89 DescriptorSet 0 Decorate 91 ArrayStride 16 - MemberDecorate 92(bi) 0 Offset 0 Decorate 92(bi) Block - Decorate 95(bname) DescriptorSet 0 + MemberDecorate 92(bi) 0 Offset 0 Decorate 95(bname) Binding 0 + Decorate 95(bname) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.150.geom.out b/Test/baseResults/spv.150.geom.out index b6e22e16..1acde693 100644 --- a/Test/baseResults/spv.150.geom.out +++ b/Test/baseResults/spv.150.geom.out @@ -38,27 +38,27 @@ spv.150.geom MemberName 68(toFragment) 0 "color" Name 70 "toF" Decorate 8(fromVertex) Block - Decorate 10 Location 1 Decorate 10 Stream 3 + Decorate 10 Location 1 Decorate 13(fromVertex) Block Decorate 18(fromV) Location 0 + Decorate 27(gl_PerVertex) Block MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 27(gl_PerVertex) Block Decorate 29 Stream 0 + Decorate 30(gl_PerVertex) Block MemberDecorate 30(gl_PerVertex) 0 BuiltIn Position MemberDecorate 30(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 30(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 30(gl_PerVertex) Block - Decorate 47(gl_PrimitiveID) Stream 0 Decorate 47(gl_PrimitiveID) BuiltIn PrimitiveId + Decorate 47(gl_PrimitiveID) Stream 0 Decorate 49(gl_PrimitiveIDIn) BuiltIn PrimitiveId - Decorate 51(gl_Layer) Stream 0 Decorate 51(gl_Layer) BuiltIn Layer + Decorate 51(gl_Layer) Stream 0 Decorate 68(toFragment) Block - Decorate 70(toF) Location 0 Decorate 70(toF) Stream 3 + Decorate 70(toF) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.150.vert.out b/Test/baseResults/spv.150.vert.out index 167a15e3..a5513ace 100644 --- a/Test/baseResults/spv.150.vert.out +++ b/Test/baseResults/spv.150.vert.out @@ -28,16 +28,16 @@ spv.150.vert Name 40 "i" Name 47 "s2D" Name 62 "ui" - MemberDecorate 11(gl_PerVertex) 0 Invariant + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 11(gl_PerVertex) 0 Invariant MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 11(gl_PerVertex) Block Decorate 17(iv4) Location 0 Decorate 23(ps) Location 1 Decorate 38(s2out) Location 0 - Decorate 47(s2D) DescriptorSet 0 Decorate 47(s2D) Binding 0 + Decorate 47(s2D) DescriptorSet 0 Decorate 62(ui) Location 2 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.16bitstorage-int.frag.out b/Test/baseResults/spv.16bitstorage-int.frag.out index 143983cb..07db828e 100644 --- a/Test/baseResults/spv.16bitstorage-int.frag.out +++ b/Test/baseResults/spv.16bitstorage-int.frag.out @@ -1,10 +1,9 @@ spv.16bitstorage-int.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 187 +// Id's are bound by 180 Capability Shader - Capability Int16 Capability StorageUniformBufferBlock16 Capability StorageUniform16 Extension "SPV_KHR_16bit_storage" @@ -84,6 +83,7 @@ spv.16bitstorage-int.frag Decorate 13 ArrayStride 16 Decorate 15 ArrayStride 4 Decorate 16 ArrayStride 2 + Decorate 17(B2) BufferBlock MemberDecorate 17(B2) 0 Offset 0 MemberDecorate 17(B2) 1 Offset 4 MemberDecorate 17(B2) 2 Offset 8 @@ -92,14 +92,14 @@ spv.16bitstorage-int.frag MemberDecorate 17(B2) 5 Offset 40 MemberDecorate 17(B2) 6 Offset 72 MemberDecorate 17(B2) 7 Offset 472 - Decorate 17(B2) BufferBlock - Decorate 19(b2) DescriptorSet 0 Decorate 19(b2) Binding 1 + Decorate 19(b2) DescriptorSet 0 Decorate 22 ArrayStride 16 MemberDecorate 23(S) 0 Offset 0 MemberDecorate 23(S) 1 Offset 4 MemberDecorate 23(S) 2 Offset 8 Decorate 24 ArrayStride 16 + Decorate 25(B1) Block MemberDecorate 25(B1) 0 Offset 0 MemberDecorate 25(B1) 1 Offset 4 MemberDecorate 25(B1) 2 Offset 8 @@ -107,9 +107,8 @@ spv.16bitstorage-int.frag MemberDecorate 25(B1) 4 Offset 48 MemberDecorate 25(B1) 5 Offset 64 MemberDecorate 25(B1) 6 Offset 96 - Decorate 25(B1) Block - Decorate 27(b1) DescriptorSet 0 Decorate 27(b1) Binding 0 + Decorate 27(b1) DescriptorSet 0 Decorate 44 ArrayStride 16 MemberDecorate 45(S) 0 Offset 0 MemberDecorate 45(S) 1 Offset 4 @@ -117,6 +116,7 @@ spv.16bitstorage-int.frag Decorate 46 ArrayStride 16 Decorate 47 ArrayStride 16 Decorate 48 ArrayStride 16 + Decorate 49(B5) Block MemberDecorate 49(B5) 0 Offset 0 MemberDecorate 49(B5) 1 Offset 4 MemberDecorate 49(B5) 2 Offset 8 @@ -125,29 +125,28 @@ spv.16bitstorage-int.frag MemberDecorate 49(B5) 5 Offset 64 MemberDecorate 49(B5) 6 Offset 96 MemberDecorate 49(B5) 7 Offset 1696 - Decorate 49(B5) Block - Decorate 51(b5) DescriptorSet 0 Decorate 51(b5) Binding 2 + Decorate 51(b5) DescriptorSet 0 MemberDecorate 88(S2) 0 ColMajor - MemberDecorate 88(S2) 0 Offset 0 MemberDecorate 88(S2) 0 MatrixStride 16 + MemberDecorate 88(S2) 0 Offset 0 MemberDecorate 88(S2) 1 Offset 64 MemberDecorate 88(S2) 2 Offset 68 MemberDecorate 89(S3) 0 Offset 0 + Decorate 90(B4) BufferBlock MemberDecorate 90(B4) 0 Offset 0 MemberDecorate 90(B4) 1 Offset 80 - Decorate 90(B4) BufferBlock - Decorate 92(b4) DescriptorSet 0 Decorate 92(b4) Binding 4 + Decorate 92(b4) DescriptorSet 0 MemberDecorate 93(S2) 0 RowMajor - MemberDecorate 93(S2) 0 Offset 0 MemberDecorate 93(S2) 0 MatrixStride 16 + MemberDecorate 93(S2) 0 Offset 0 MemberDecorate 93(S2) 1 Offset 64 MemberDecorate 93(S2) 2 Offset 68 - MemberDecorate 94(B3) 0 Offset 0 Decorate 94(B3) BufferBlock - Decorate 96(b3) DescriptorSet 0 + MemberDecorate 94(B3) 0 Offset 0 Decorate 96(b3) Binding 3 + Decorate 96(b3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 16 1 @@ -342,18 +341,11 @@ spv.16bitstorage-int.frag Store 173 172 174: 42(ptr) AccessChain 27(b1) 32 175: 7(i16vec2) Load 174 - 176: 6(int16_t) CompositeExtract 175 0 - 177: 6(int16_t) CompositeExtract 175 1 - 178: 7(i16vec2) CompositeConstruct 176 177 - 179: 42(ptr) AccessChain 19(b2) 32 + 176: 42(ptr) AccessChain 19(b2) 32 + Store 176 175 + 177: 34(ptr) AccessChain 27(b1) 33 + 178: 8(i16vec3) Load 177 + 179: 34(ptr) AccessChain 19(b2) 33 Store 179 178 - 180: 34(ptr) AccessChain 27(b1) 33 - 181: 8(i16vec3) Load 180 - 182: 6(int16_t) CompositeExtract 181 0 - 183: 6(int16_t) CompositeExtract 181 1 - 184: 6(int16_t) CompositeExtract 181 2 - 185: 8(i16vec3) CompositeConstruct 182 183 184 - 186: 34(ptr) AccessChain 19(b2) 33 - Store 186 185 Return FunctionEnd diff --git a/Test/baseResults/spv.16bitstorage-uint.frag.out b/Test/baseResults/spv.16bitstorage-uint.frag.out index 4b30c297..8b169f3a 100644 --- a/Test/baseResults/spv.16bitstorage-uint.frag.out +++ b/Test/baseResults/spv.16bitstorage-uint.frag.out @@ -1,10 +1,9 @@ spv.16bitstorage-uint.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 189 +// Id's are bound by 182 Capability Shader - Capability Int16 Capability StorageUniformBufferBlock16 Capability StorageUniform16 Extension "SPV_KHR_16bit_storage" @@ -84,6 +83,7 @@ spv.16bitstorage-uint.frag Decorate 13 ArrayStride 16 Decorate 15 ArrayStride 4 Decorate 16 ArrayStride 2 + Decorate 17(B2) BufferBlock MemberDecorate 17(B2) 0 Offset 0 MemberDecorate 17(B2) 1 Offset 4 MemberDecorate 17(B2) 2 Offset 8 @@ -92,14 +92,14 @@ spv.16bitstorage-uint.frag MemberDecorate 17(B2) 5 Offset 40 MemberDecorate 17(B2) 6 Offset 72 MemberDecorate 17(B2) 7 Offset 472 - Decorate 17(B2) BufferBlock - Decorate 19(b2) DescriptorSet 0 Decorate 19(b2) Binding 1 + Decorate 19(b2) DescriptorSet 0 Decorate 22 ArrayStride 16 MemberDecorate 23(S) 0 Offset 0 MemberDecorate 23(S) 1 Offset 4 MemberDecorate 23(S) 2 Offset 8 Decorate 24 ArrayStride 16 + Decorate 25(B1) Block MemberDecorate 25(B1) 0 Offset 0 MemberDecorate 25(B1) 1 Offset 4 MemberDecorate 25(B1) 2 Offset 8 @@ -107,9 +107,8 @@ spv.16bitstorage-uint.frag MemberDecorate 25(B1) 4 Offset 48 MemberDecorate 25(B1) 5 Offset 64 MemberDecorate 25(B1) 6 Offset 96 - Decorate 25(B1) Block - Decorate 27(b1) DescriptorSet 0 Decorate 27(b1) Binding 0 + Decorate 27(b1) DescriptorSet 0 Decorate 44 ArrayStride 16 MemberDecorate 45(S) 0 Offset 0 MemberDecorate 45(S) 1 Offset 4 @@ -117,6 +116,7 @@ spv.16bitstorage-uint.frag Decorate 46 ArrayStride 16 Decorate 47 ArrayStride 16 Decorate 48 ArrayStride 16 + Decorate 49(B5) Block MemberDecorate 49(B5) 0 Offset 0 MemberDecorate 49(B5) 1 Offset 4 MemberDecorate 49(B5) 2 Offset 8 @@ -125,29 +125,28 @@ spv.16bitstorage-uint.frag MemberDecorate 49(B5) 5 Offset 64 MemberDecorate 49(B5) 6 Offset 96 MemberDecorate 49(B5) 7 Offset 1696 - Decorate 49(B5) Block - Decorate 51(b5) DescriptorSet 0 Decorate 51(b5) Binding 2 + Decorate 51(b5) DescriptorSet 0 MemberDecorate 89(S2) 0 ColMajor - MemberDecorate 89(S2) 0 Offset 0 MemberDecorate 89(S2) 0 MatrixStride 16 + MemberDecorate 89(S2) 0 Offset 0 MemberDecorate 89(S2) 1 Offset 64 MemberDecorate 89(S2) 2 Offset 68 MemberDecorate 90(S3) 0 Offset 0 + Decorate 91(B4) BufferBlock MemberDecorate 91(B4) 0 Offset 0 MemberDecorate 91(B4) 1 Offset 80 - Decorate 91(B4) BufferBlock - Decorate 93(b4) DescriptorSet 0 Decorate 93(b4) Binding 4 + Decorate 93(b4) DescriptorSet 0 MemberDecorate 94(S2) 0 RowMajor - MemberDecorate 94(S2) 0 Offset 0 MemberDecorate 94(S2) 0 MatrixStride 16 + MemberDecorate 94(S2) 0 Offset 0 MemberDecorate 94(S2) 1 Offset 64 MemberDecorate 94(S2) 2 Offset 68 - MemberDecorate 95(B3) 0 Offset 0 Decorate 95(B3) BufferBlock - Decorate 97(b3) DescriptorSet 0 + MemberDecorate 95(B3) 0 Offset 0 Decorate 97(b3) Binding 3 + Decorate 97(b3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 16 0 @@ -344,18 +343,11 @@ spv.16bitstorage-uint.frag Store 175 174 176: 42(ptr) AccessChain 27(b1) 32 177: 7(i16vec2) Load 176 - 178: 6(int16_t) CompositeExtract 177 0 - 179: 6(int16_t) CompositeExtract 177 1 - 180: 7(i16vec2) CompositeConstruct 178 179 - 181: 42(ptr) AccessChain 19(b2) 32 + 178: 42(ptr) AccessChain 19(b2) 32 + Store 178 177 + 179: 34(ptr) AccessChain 27(b1) 33 + 180: 8(i16vec3) Load 179 + 181: 34(ptr) AccessChain 19(b2) 33 Store 181 180 - 182: 34(ptr) AccessChain 27(b1) 33 - 183: 8(i16vec3) Load 182 - 184: 6(int16_t) CompositeExtract 183 0 - 185: 6(int16_t) CompositeExtract 183 1 - 186: 6(int16_t) CompositeExtract 183 2 - 187: 8(i16vec3) CompositeConstruct 184 185 186 - 188: 34(ptr) AccessChain 19(b2) 33 - Store 188 187 Return FunctionEnd diff --git a/Test/baseResults/spv.16bitstorage.frag.out b/Test/baseResults/spv.16bitstorage.frag.out index 7e186809..f62f17ac 100644 --- a/Test/baseResults/spv.16bitstorage.frag.out +++ b/Test/baseResults/spv.16bitstorage.frag.out @@ -1,10 +1,9 @@ spv.16bitstorage.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 189 +// Id's are bound by 182 Capability Shader - Capability Float16 Capability StorageUniformBufferBlock16 Capability StorageUniform16 Extension "SPV_KHR_16bit_storage" @@ -84,6 +83,7 @@ spv.16bitstorage.frag Decorate 13 ArrayStride 16 Decorate 15 ArrayStride 4 Decorate 16 ArrayStride 2 + Decorate 17(B2) BufferBlock MemberDecorate 17(B2) 0 Offset 0 MemberDecorate 17(B2) 1 Offset 4 MemberDecorate 17(B2) 2 Offset 8 @@ -92,14 +92,14 @@ spv.16bitstorage.frag MemberDecorate 17(B2) 5 Offset 40 MemberDecorate 17(B2) 6 Offset 72 MemberDecorate 17(B2) 7 Offset 472 - Decorate 17(B2) BufferBlock - Decorate 19(b2) DescriptorSet 0 Decorate 19(b2) Binding 1 + Decorate 19(b2) DescriptorSet 0 Decorate 22 ArrayStride 16 MemberDecorate 23(S) 0 Offset 0 MemberDecorate 23(S) 1 Offset 4 MemberDecorate 23(S) 2 Offset 8 Decorate 24 ArrayStride 16 + Decorate 25(B1) Block MemberDecorate 25(B1) 0 Offset 0 MemberDecorate 25(B1) 1 Offset 4 MemberDecorate 25(B1) 2 Offset 8 @@ -107,9 +107,8 @@ spv.16bitstorage.frag MemberDecorate 25(B1) 4 Offset 48 MemberDecorate 25(B1) 5 Offset 64 MemberDecorate 25(B1) 6 Offset 96 - Decorate 25(B1) Block - Decorate 27(b1) DescriptorSet 0 Decorate 27(b1) Binding 0 + Decorate 27(b1) DescriptorSet 0 Decorate 45 ArrayStride 16 MemberDecorate 46(S) 0 Offset 0 MemberDecorate 46(S) 1 Offset 4 @@ -117,6 +116,7 @@ spv.16bitstorage.frag Decorate 47 ArrayStride 16 Decorate 48 ArrayStride 16 Decorate 49 ArrayStride 16 + Decorate 50(B5) Block MemberDecorate 50(B5) 0 Offset 0 MemberDecorate 50(B5) 1 Offset 4 MemberDecorate 50(B5) 2 Offset 8 @@ -125,29 +125,28 @@ spv.16bitstorage.frag MemberDecorate 50(B5) 5 Offset 64 MemberDecorate 50(B5) 6 Offset 96 MemberDecorate 50(B5) 7 Offset 1696 - Decorate 50(B5) Block - Decorate 52(b5) DescriptorSet 0 Decorate 52(b5) Binding 2 + Decorate 52(b5) DescriptorSet 0 MemberDecorate 88(S2) 0 ColMajor - MemberDecorate 88(S2) 0 Offset 0 MemberDecorate 88(S2) 0 MatrixStride 16 + MemberDecorate 88(S2) 0 Offset 0 MemberDecorate 88(S2) 1 Offset 64 MemberDecorate 88(S2) 2 Offset 68 MemberDecorate 89(S3) 0 Offset 0 + Decorate 90(B4) BufferBlock MemberDecorate 90(B4) 0 Offset 0 MemberDecorate 90(B4) 1 Offset 80 - Decorate 90(B4) BufferBlock - Decorate 92(b4) DescriptorSet 0 Decorate 92(b4) Binding 4 + Decorate 92(b4) DescriptorSet 0 MemberDecorate 93(S2) 0 RowMajor - MemberDecorate 93(S2) 0 Offset 0 MemberDecorate 93(S2) 0 MatrixStride 16 + MemberDecorate 93(S2) 0 Offset 0 MemberDecorate 93(S2) 1 Offset 64 MemberDecorate 93(S2) 2 Offset 68 - MemberDecorate 94(B3) 0 Offset 0 Decorate 94(B3) BufferBlock - Decorate 96(b3) DescriptorSet 0 + MemberDecorate 94(B3) 0 Offset 0 Decorate 96(b3) Binding 3 + Decorate 96(b3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 16 @@ -344,18 +343,11 @@ spv.16bitstorage.frag Store 175 174 176: 43(ptr) AccessChain 27(b1) 32 177: 7(f16vec2) Load 176 - 178:6(float16_t) CompositeExtract 177 0 - 179:6(float16_t) CompositeExtract 177 1 - 180: 7(f16vec2) CompositeConstruct 178 179 - 181: 43(ptr) AccessChain 19(b2) 32 + 178: 43(ptr) AccessChain 19(b2) 32 + Store 178 177 + 179: 34(ptr) AccessChain 27(b1) 33 + 180: 8(f16vec3) Load 179 + 181: 34(ptr) AccessChain 19(b2) 33 Store 181 180 - 182: 34(ptr) AccessChain 27(b1) 33 - 183: 8(f16vec3) Load 182 - 184:6(float16_t) CompositeExtract 183 0 - 185:6(float16_t) CompositeExtract 183 1 - 186:6(float16_t) CompositeExtract 183 2 - 187: 8(f16vec3) CompositeConstruct 184 185 186 - 188: 34(ptr) AccessChain 19(b2) 33 - Store 188 187 Return FunctionEnd diff --git a/Test/baseResults/spv.16bitxfb.vert.out b/Test/baseResults/spv.16bitxfb.vert.out index 2dd93d4b..4fe2bf73 100644 --- a/Test/baseResults/spv.16bitxfb.vert.out +++ b/Test/baseResults/spv.16bitxfb.vert.out @@ -31,24 +31,24 @@ spv.16bitxfb.vert Name 46 "" Name 49 "iu16v4" Decorate 9(of16v3) Location 0 + Decorate 9(of16v3) Offset 0 Decorate 9(of16v3) XfbBuffer 0 Decorate 9(of16v3) XfbStride 6 - Decorate 9(of16v3) Offset 0 Decorate 12(if16v4) Location 0 + Decorate 16(F16Out) Block MemberDecorate 16(F16Out) 0 Offset 0 MemberDecorate 16(F16Out) 1 Offset 2 - Decorate 16(F16Out) Block Decorate 18 Location 1 Decorate 18 XfbBuffer 1 Decorate 18 XfbStride 6 Decorate 36(oi16v3) Location 5 + Decorate 36(oi16v3) Offset 0 Decorate 36(oi16v3) XfbBuffer 2 Decorate 36(oi16v3) XfbStride 6 - Decorate 36(oi16v3) Offset 0 Decorate 39(ii16v4) Location 1 + Decorate 44(I16Out) Block MemberDecorate 44(I16Out) 0 Offset 0 MemberDecorate 44(I16Out) 1 Offset 2 - Decorate 44(I16Out) Block Decorate 46 Location 6 Decorate 46 XfbBuffer 3 Decorate 46 XfbStride 6 diff --git a/Test/baseResults/spv.300BuiltIns.vert.out b/Test/baseResults/spv.300BuiltIns.vert.out index 10f115be..b2607d33 100644 --- a/Test/baseResults/spv.300BuiltIns.vert.out +++ b/Test/baseResults/spv.300BuiltIns.vert.out @@ -16,10 +16,10 @@ spv.300BuiltIns.vert Name 14 "ps" Name 21 "gl_VertexIndex" Name 34 "gl_InstanceIndex" - MemberDecorate 8(gl_PerVertex) 0 Invariant - MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position - MemberDecorate 8(gl_PerVertex) 1 BuiltIn PointSize Decorate 8(gl_PerVertex) Block + MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 8(gl_PerVertex) 0 Invariant + MemberDecorate 8(gl_PerVertex) 1 BuiltIn PointSize Decorate 14(ps) RelaxedPrecision Decorate 14(ps) Location 0 Decorate 15 RelaxedPrecision diff --git a/Test/baseResults/spv.300layout.vert.out b/Test/baseResults/spv.300layout.vert.out index 6345aa12..7806b588 100644 --- a/Test/baseResults/spv.300layout.vert.out +++ b/Test/baseResults/spv.300layout.vert.out @@ -38,40 +38,40 @@ spv.300layout.vert Name 128 "s" Decorate 9(pos) Location 0 Decorate 11(p) Location 3 - MemberDecorate 17(Transform) 0 RowMajor - MemberDecorate 17(Transform) 0 Offset 0 - MemberDecorate 17(Transform) 0 MatrixStride 16 - MemberDecorate 17(Transform) 1 ColMajor - MemberDecorate 17(Transform) 1 Offset 64 - MemberDecorate 17(Transform) 1 MatrixStride 16 - MemberDecorate 17(Transform) 2 RowMajor - MemberDecorate 17(Transform) 2 Offset 128 - MemberDecorate 17(Transform) 2 MatrixStride 16 - MemberDecorate 17(Transform) 3 Offset 176 Decorate 17(Transform) Block - Decorate 19(tblock) DescriptorSet 0 + MemberDecorate 17(Transform) 0 RowMajor + MemberDecorate 17(Transform) 0 MatrixStride 16 + MemberDecorate 17(Transform) 0 Offset 0 + MemberDecorate 17(Transform) 1 ColMajor + MemberDecorate 17(Transform) 1 MatrixStride 16 + MemberDecorate 17(Transform) 1 Offset 64 + MemberDecorate 17(Transform) 2 RowMajor + MemberDecorate 17(Transform) 2 MatrixStride 16 + MemberDecorate 17(Transform) 2 Offset 128 + MemberDecorate 17(Transform) 3 Offset 176 Decorate 19(tblock) Binding 0 + Decorate 19(tblock) DescriptorSet 0 Decorate 44 ArrayStride 16 - MemberDecorate 45(T3) 0 ColMajor - MemberDecorate 45(T3) 0 Offset 0 - MemberDecorate 45(T3) 0 MatrixStride 16 - MemberDecorate 45(T3) 1 RowMajor - MemberDecorate 45(T3) 1 Offset 64 - MemberDecorate 45(T3) 1 MatrixStride 16 - MemberDecorate 45(T3) 2 ColMajor - MemberDecorate 45(T3) 2 Offset 128 - MemberDecorate 45(T3) 2 MatrixStride 16 - MemberDecorate 45(T3) 3 Offset 2048 Decorate 45(T3) Block - Decorate 47 DescriptorSet 0 + MemberDecorate 45(T3) 0 ColMajor + MemberDecorate 45(T3) 0 MatrixStride 16 + MemberDecorate 45(T3) 0 Offset 0 + MemberDecorate 45(T3) 1 RowMajor + MemberDecorate 45(T3) 1 MatrixStride 16 + MemberDecorate 45(T3) 1 Offset 64 + MemberDecorate 45(T3) 2 ColMajor + MemberDecorate 45(T3) 2 MatrixStride 16 + MemberDecorate 45(T3) 2 Offset 128 + MemberDecorate 45(T3) 3 Offset 2048 Decorate 47 Binding 2 + Decorate 47 DescriptorSet 0 + Decorate 78(T2) Block MemberDecorate 78(T2) 0 Offset 0 MemberDecorate 78(T2) 1 RowMajor - MemberDecorate 78(T2) 1 Offset 16 MemberDecorate 78(T2) 1 MatrixStride 16 - Decorate 78(T2) Block - Decorate 80 DescriptorSet 0 + MemberDecorate 78(T2) 1 Offset 16 Decorate 80 Binding 1 + Decorate 80 DescriptorSet 0 Decorate 98(color) Location 1 Decorate 100(c) Location 7 Decorate 108(iout) Flat diff --git a/Test/baseResults/spv.300layoutp.vert.out b/Test/baseResults/spv.300layoutp.vert.out index d986fb54..cec34743 100644 --- a/Test/baseResults/spv.300layoutp.vert.out +++ b/Test/baseResults/spv.300layoutp.vert.out @@ -38,40 +38,40 @@ spv.300layoutp.vert Name 80 "s" Decorate 9(pos) Location 0 Decorate 11(p) Location 3 - MemberDecorate 17(Transform) 0 RowMajor - MemberDecorate 17(Transform) 0 Offset 0 - MemberDecorate 17(Transform) 0 MatrixStride 16 - MemberDecorate 17(Transform) 1 ColMajor - MemberDecorate 17(Transform) 1 Offset 64 - MemberDecorate 17(Transform) 1 MatrixStride 16 - MemberDecorate 17(Transform) 2 RowMajor - MemberDecorate 17(Transform) 2 Offset 128 - MemberDecorate 17(Transform) 2 MatrixStride 16 - MemberDecorate 17(Transform) 3 Offset 176 Decorate 17(Transform) Block - Decorate 19(tblock) DescriptorSet 0 + MemberDecorate 17(Transform) 0 RowMajor + MemberDecorate 17(Transform) 0 MatrixStride 16 + MemberDecorate 17(Transform) 0 Offset 0 + MemberDecorate 17(Transform) 1 ColMajor + MemberDecorate 17(Transform) 1 MatrixStride 16 + MemberDecorate 17(Transform) 1 Offset 64 + MemberDecorate 17(Transform) 2 RowMajor + MemberDecorate 17(Transform) 2 MatrixStride 16 + MemberDecorate 17(Transform) 2 Offset 128 + MemberDecorate 17(Transform) 3 Offset 176 Decorate 19(tblock) Binding 0 + Decorate 19(tblock) DescriptorSet 0 Decorate 32 ArrayStride 16 - MemberDecorate 33(T3) 0 ColMajor - MemberDecorate 33(T3) 0 Offset 0 - MemberDecorate 33(T3) 0 MatrixStride 16 - MemberDecorate 33(T3) 1 RowMajor - MemberDecorate 33(T3) 1 Offset 64 - MemberDecorate 33(T3) 1 MatrixStride 16 - MemberDecorate 33(T3) 2 ColMajor - MemberDecorate 33(T3) 2 Offset 128 - MemberDecorate 33(T3) 2 MatrixStride 16 - MemberDecorate 33(T3) 3 Offset 160 Decorate 33(T3) Block - Decorate 35 DescriptorSet 0 + MemberDecorate 33(T3) 0 ColMajor + MemberDecorate 33(T3) 0 MatrixStride 16 + MemberDecorate 33(T3) 0 Offset 0 + MemberDecorate 33(T3) 1 RowMajor + MemberDecorate 33(T3) 1 MatrixStride 16 + MemberDecorate 33(T3) 1 Offset 64 + MemberDecorate 33(T3) 2 ColMajor + MemberDecorate 33(T3) 2 MatrixStride 16 + MemberDecorate 33(T3) 2 Offset 128 + MemberDecorate 33(T3) 3 Offset 160 Decorate 35 Binding 2 + Decorate 35 DescriptorSet 0 + Decorate 42(T2) Block MemberDecorate 42(T2) 0 Offset 0 MemberDecorate 42(T2) 1 RowMajor - MemberDecorate 42(T2) 1 Offset 16 MemberDecorate 42(T2) 1 MatrixStride 16 - Decorate 42(T2) Block - Decorate 44 DescriptorSet 0 + MemberDecorate 42(T2) 1 Offset 16 Decorate 44 Binding 1 + Decorate 44 DescriptorSet 0 Decorate 50(color) Location 1 Decorate 52(c) Location 7 Decorate 60(iout) Flat diff --git a/Test/baseResults/spv.310.comp.out b/Test/baseResults/spv.310.comp.out index 459c689b..1b585c7b 100644 --- a/Test/baseResults/spv.310.comp.out +++ b/Test/baseResults/spv.310.comp.out @@ -32,24 +32,24 @@ spv.310.comp Name 53 "gl_LocalInvocationID" Name 65 "gl_DeviceIndex" Decorate 11 ArrayStride 16 + Decorate 12(outb) BufferBlock MemberDecorate 12(outb) 0 Offset 0 MemberDecorate 12(outb) 1 Offset 4 MemberDecorate 12(outb) 2 Offset 8 MemberDecorate 12(outb) 3 Offset 16 - Decorate 12(outb) BufferBlock - Decorate 14(outbname) DescriptorSet 0 Decorate 14(outbname) Binding 0 + Decorate 14(outbname) DescriptorSet 0 + Decorate 23(outbna) BufferBlock MemberDecorate 23(outbna) 0 Offset 0 MemberDecorate 23(outbna) 1 Offset 16 - Decorate 23(outbna) BufferBlock - Decorate 25(outbnamena) DescriptorSet 0 Decorate 25(outbnamena) Binding 1 + Decorate 25(outbnamena) DescriptorSet 0 Decorate 47 ArrayStride 16 + Decorate 48(outs) BufferBlock MemberDecorate 48(outs) 0 Offset 0 MemberDecorate 48(outs) 1 Offset 16 - Decorate 48(outs) BufferBlock - Decorate 50(outnames) DescriptorSet 0 Decorate 50(outnames) Binding 2 + Decorate 50(outnames) DescriptorSet 0 Decorate 53(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 65(gl_DeviceIndex) BuiltIn DeviceIndex Decorate 71 BuiltIn WorkgroupSize diff --git a/Test/baseResults/spv.320.meshShaderUserDefined.mesh.out b/Test/baseResults/spv.320.meshShaderUserDefined.mesh.out index 197fe602..5d82e66d 100644 --- a/Test/baseResults/spv.320.meshShaderUserDefined.mesh.out +++ b/Test/baseResults/spv.320.meshShaderUserDefined.mesh.out @@ -34,13 +34,13 @@ spv.320.meshShaderUserDefined.mesh Name 106 "blk2" Decorate 12(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 19(gl_WorkGroupID) BuiltIn WorkgroupId + Decorate 33(myblock) Block MemberDecorate 33(myblock) 0 PerPrimitiveNV MemberDecorate 33(myblock) 1 PerPrimitiveNV MemberDecorate 33(myblock) 2 PerPrimitiveNV MemberDecorate 33(myblock) 3 PerPrimitiveNV MemberDecorate 33(myblock) 4 PerPrimitiveNV MemberDecorate 33(myblock) 5 PerPrimitiveNV - Decorate 33(myblock) Block Decorate 37(blk) Location 0 Decorate 102(myblock2) Block Decorate 106(blk2) Location 20 diff --git a/Test/baseResults/spv.330.geom.out b/Test/baseResults/spv.330.geom.out index f9e69e57..a6923466 100644 --- a/Test/baseResults/spv.330.geom.out +++ b/Test/baseResults/spv.330.geom.out @@ -23,12 +23,12 @@ spv.330.geom MemberName 16(gl_PerVertex) 0 "gl_Position" MemberName 16(gl_PerVertex) 1 "gl_ClipDistance" Name 20 "gl_in" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn ClipDistance - Decorate 11(gl_PerVertex) Block + Decorate 16(gl_PerVertex) Block MemberDecorate 16(gl_PerVertex) 0 BuiltIn Position MemberDecorate 16(gl_PerVertex) 1 BuiltIn ClipDistance - Decorate 16(gl_PerVertex) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.400.frag.nanclamp.out b/Test/baseResults/spv.400.frag.nanclamp.out index f03e9386..c913e41c 100644 --- a/Test/baseResults/spv.400.frag.nanclamp.out +++ b/Test/baseResults/spv.400.frag.nanclamp.out @@ -53,27 +53,27 @@ spv.400.frag Name 1119 "id" Name 1120 "gl_PrimitiveID" Decorate 13(outp) Location 1 - Decorate 17(u2drs) DescriptorSet 0 Decorate 17(u2drs) Binding 3 - Decorate 1025(arrayedSampler) DescriptorSet 0 + Decorate 17(u2drs) DescriptorSet 0 Decorate 1025(arrayedSampler) Binding 0 + Decorate 1025(arrayedSampler) DescriptorSet 0 Decorate 1027(i) Flat Decorate 1027(i) Location 1 Decorate 1033(c2D) Location 0 Decorate 1038(gl_ClipDistance) BuiltIn ClipDistance Decorate 1054(uoutp) Location 3 - Decorate 1058(samp2dr) DescriptorSet 0 Decorate 1058(samp2dr) Binding 1 + Decorate 1058(samp2dr) DescriptorSet 0 Decorate 1080(ioutp) Location 2 - Decorate 1084(isamp2DA) DescriptorSet 0 Decorate 1084(isamp2DA) Binding 2 + Decorate 1084(isamp2DA) DescriptorSet 0 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 + Decorate 1120(gl_PrimitiveID) Flat 2: TypeVoid 3: TypeFunction 2 10: TypeFloat 32 diff --git a/Test/baseResults/spv.400.frag.out b/Test/baseResults/spv.400.frag.out index aa42d282..b010d7da 100644 --- a/Test/baseResults/spv.400.frag.out +++ b/Test/baseResults/spv.400.frag.out @@ -54,27 +54,27 @@ Validation failed Name 1119 "id" Name 1120 "gl_PrimitiveID" Decorate 13(outp) Location 1 - Decorate 17(u2drs) DescriptorSet 0 Decorate 17(u2drs) Binding 3 - Decorate 1025(arrayedSampler) DescriptorSet 0 + Decorate 17(u2drs) DescriptorSet 0 Decorate 1025(arrayedSampler) Binding 0 + Decorate 1025(arrayedSampler) DescriptorSet 0 Decorate 1027(i) Flat Decorate 1027(i) Location 1 Decorate 1033(c2D) Location 0 Decorate 1038(gl_ClipDistance) BuiltIn ClipDistance Decorate 1054(uoutp) Location 3 - Decorate 1058(samp2dr) DescriptorSet 0 Decorate 1058(samp2dr) Binding 1 + Decorate 1058(samp2dr) DescriptorSet 0 Decorate 1080(ioutp) Location 2 - Decorate 1084(isamp2DA) DescriptorSet 0 Decorate 1084(isamp2DA) Binding 2 + Decorate 1084(isamp2DA) DescriptorSet 0 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 + Decorate 1120(gl_PrimitiveID) Flat 2: TypeVoid 3: TypeFunction 2 10: TypeFloat 32 diff --git a/Test/baseResults/spv.400.tesc.out b/Test/baseResults/spv.400.tesc.out index b6f0ddfd..79369339 100644 --- a/Test/baseResults/spv.400.tesc.out +++ b/Test/baseResults/spv.400.tesc.out @@ -43,21 +43,21 @@ spv.400.tesc Name 87 "ivlb" Name 90 "ovla" Name 91 "ovlb" + Decorate 20(gl_PerVertex) Block 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 41(gl_PatchVerticesIn) BuiltIn PatchVertices Decorate 44(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 47(gl_InvocationID) BuiltIn InvocationId + Decorate 50(gl_PerVertex) Block MemberDecorate 50(gl_PerVertex) 0 BuiltIn Position MemberDecorate 50(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 50(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 50(gl_PerVertex) Block - Decorate 67(gl_TessLevelOuter) Patch Decorate 67(gl_TessLevelOuter) BuiltIn TessLevelOuter - Decorate 72(gl_TessLevelInner) Patch + Decorate 67(gl_TessLevelOuter) Patch Decorate 72(gl_TessLevelInner) BuiltIn TessLevelInner + Decorate 72(gl_TessLevelInner) Patch Decorate 78(patchOut) Patch Decorate 78(patchOut) Location 0 Decorate 82(inb) Location 0 diff --git a/Test/baseResults/spv.400.tese.out b/Test/baseResults/spv.400.tese.out index 0b8abf66..0bcfc118 100644 --- a/Test/baseResults/spv.400.tese.out +++ b/Test/baseResults/spv.400.tese.out @@ -52,21 +52,21 @@ spv.400.tese Name 91 "ivla" Name 92 "ivlb" Name 95 "ovla" + Decorate 17(gl_PerVertex) Block MemberDecorate 17(gl_PerVertex) 0 BuiltIn Position MemberDecorate 17(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 17(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 17(gl_PerVertex) Block Decorate 38(gl_PatchVerticesIn) BuiltIn PatchVertices Decorate 41(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 47(gl_TessCoord) BuiltIn TessCoord - Decorate 53(gl_TessLevelOuter) Patch Decorate 53(gl_TessLevelOuter) BuiltIn TessLevelOuter - Decorate 61(gl_TessLevelInner) Patch + Decorate 53(gl_TessLevelOuter) Patch Decorate 61(gl_TessLevelInner) BuiltIn TessLevelInner + Decorate 61(gl_TessLevelInner) Patch + Decorate 64(gl_PerVertex) Block MemberDecorate 64(gl_PerVertex) 0 BuiltIn Position MemberDecorate 64(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 64(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 64(gl_PerVertex) Block Decorate 75(patchIn) Patch Decorate 75(patchIn) Location 0 Decorate 79(inb) Location 1 diff --git a/Test/baseResults/spv.420.geom.out b/Test/baseResults/spv.420.geom.out index d814d1ae..8cd44205 100644 --- a/Test/baseResults/spv.420.geom.out +++ b/Test/baseResults/spv.420.geom.out @@ -32,16 +32,16 @@ spv.420.geom Name 46 "coord" Name 64 "i" Name 67 "indexable" - MemberDecorate 9(gl_PerVertex) 0 BuiltIn PointSize Decorate 9(gl_PerVertex) Block - MemberDecorate 21(gl_PerVertex) 0 BuiltIn PointSize + MemberDecorate 9(gl_PerVertex) 0 BuiltIn PointSize Decorate 21(gl_PerVertex) Block + MemberDecorate 21(gl_PerVertex) 0 BuiltIn PointSize Decorate 23 Stream 0 - Decorate 28(gl_ViewportIndex) Stream 0 Decorate 28(gl_ViewportIndex) BuiltIn ViewportIndex + Decorate 28(gl_ViewportIndex) Stream 0 Decorate 33(gl_InvocationID) BuiltIn InvocationId - Decorate 41(s2D) DescriptorSet 0 Decorate 41(s2D) Binding 0 + Decorate 41(s2D) DescriptorSet 0 Decorate 46(coord) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.430.frag.out b/Test/baseResults/spv.430.frag.out index bc00fa13..009f0638 100644 --- a/Test/baseResults/spv.430.frag.out +++ b/Test/baseResults/spv.430.frag.out @@ -16,10 +16,10 @@ spv.430.frag Name 14 "gl_Layer" Name 19 "gl_ViewportIndex" Decorate 9(color) Location 0 - Decorate 14(gl_Layer) Flat Decorate 14(gl_Layer) BuiltIn Layer - Decorate 19(gl_ViewportIndex) Flat + Decorate 14(gl_Layer) Flat Decorate 19(gl_ViewportIndex) BuiltIn ViewportIndex + Decorate 19(gl_ViewportIndex) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.430.vert.out b/Test/baseResults/spv.430.vert.out index eada8d05..8a75ae0a 100644 --- a/Test/baseResults/spv.430.vert.out +++ b/Test/baseResults/spv.430.vert.out @@ -40,34 +40,34 @@ Validation failed Name 63 "MS" MemberName 63(MS) 0 "f" Name 65 "outMS" - MemberDecorate 10(gl_PerVertex) 0 BuiltIn ClipDistance Decorate 10(gl_PerVertex) Block + MemberDecorate 10(gl_PerVertex) 0 BuiltIn ClipDistance Decorate 23(bad) Location 0 Decorate 34(badorder3) Flat Decorate 34(badorder3) Location 1 Decorate 38(f) Location 11 Decorate 41(badorder) Location 10 - Decorate 42(badorder2) Location 0 Decorate 42(badorder2) Invariant - MemberDecorate 43(boundblock) 0 Offset 0 + Decorate 42(badorder2) Location 0 Decorate 43(boundblock) Block - Decorate 45(boundInst) DescriptorSet 0 + MemberDecorate 43(boundblock) 0 Offset 0 Decorate 45(boundInst) Binding 3 - MemberDecorate 46(anonblock) 0 Offset 0 + Decorate 45(boundInst) DescriptorSet 0 Decorate 46(anonblock) Block - Decorate 48 DescriptorSet 0 + MemberDecorate 46(anonblock) 0 Offset 0 Decorate 48 Binding 7 - Decorate 52(sampb1) DescriptorSet 0 + Decorate 48 DescriptorSet 0 Decorate 52(sampb1) Binding 4 - Decorate 55(sampb2) DescriptorSet 0 + Decorate 52(sampb1) DescriptorSet 0 Decorate 55(sampb2) Binding 5 - Decorate 56(sampb4) DescriptorSet 0 + Decorate 55(sampb2) DescriptorSet 0 Decorate 56(sampb4) Binding 31 + Decorate 56(sampb4) DescriptorSet 0 MemberDecorate 59(S) 0 RelaxedPrecision Decorate 62(var) Flat Decorate 62(var) Location 0 - MemberDecorate 63(MS) 0 Location 17 Decorate 63(MS) Block + MemberDecorate 63(MS) 0 Location 17 Decorate 65(outMS) Location 2 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.450.geom.out b/Test/baseResults/spv.450.geom.out index 5398b3c0..f2f9a065 100644 --- a/Test/baseResults/spv.450.geom.out +++ b/Test/baseResults/spv.450.geom.out @@ -29,16 +29,16 @@ spv.450.geom Name 20 "gl_in" Name 27 "gl_Layer" Name 29 "gl_ViewportIndex" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 11(gl_PerVertex) Block + Decorate 16(gl_PerVertex) Block MemberDecorate 16(gl_PerVertex) 0 BuiltIn Position MemberDecorate 16(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 16(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 16(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 16(gl_PerVertex) Block Decorate 27(gl_Layer) BuiltIn Layer Decorate 29(gl_ViewportIndex) BuiltIn ViewportIndex 2: TypeVoid diff --git a/Test/baseResults/spv.450.noRedecl.tesc.out b/Test/baseResults/spv.450.noRedecl.tesc.out index dcf0a9f9..fb31be5f 100644 --- a/Test/baseResults/spv.450.noRedecl.tesc.out +++ b/Test/baseResults/spv.450.noRedecl.tesc.out @@ -18,11 +18,11 @@ spv.450.noRedecl.tesc MemberName 11(gl_PerVertex) 3 "gl_CullDistance" Name 15 "gl_in" Name 20 "patchOut" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 11(gl_PerVertex) Block Decorate 20(patchOut) Patch Decorate 20(patchOut) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.450.tesc.out b/Test/baseResults/spv.450.tesc.out index eabb9e7c..bb5d55bd 100644 --- a/Test/baseResults/spv.450.tesc.out +++ b/Test/baseResults/spv.450.tesc.out @@ -43,36 +43,36 @@ Validation failed MemberName 42(bn) 1 "v2" MemberName 42(bn) 2 "v3" Name 44 "" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 11(gl_PerVertex) Block Decorate 18(gl_InvocationID) BuiltIn InvocationId + Decorate 21(gl_PerVertex) Block MemberDecorate 21(gl_PerVertex) 0 BuiltIn Position MemberDecorate 21(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 21(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 21(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 21(gl_PerVertex) Block Decorate 32(patchOut) Patch Decorate 32(patchOut) Location 1 + Decorate 34(TheBlock) Block MemberDecorate 34(TheBlock) 0 Patch MemberDecorate 34(TheBlock) 1 Patch MemberDecorate 34(TheBlock) 2 Patch - Decorate 34(TheBlock) Block Decorate 38(tcBlock) Location 12 + Decorate 39(SingleBlock) Block MemberDecorate 39(SingleBlock) 0 Patch MemberDecorate 39(SingleBlock) 1 Patch MemberDecorate 39(SingleBlock) 2 Patch - Decorate 39(SingleBlock) Block Decorate 41(singleBlock) Location 2 + Decorate 42(bn) Block MemberDecorate 42(bn) 0 Patch MemberDecorate 42(bn) 0 Location 20 MemberDecorate 42(bn) 1 Patch MemberDecorate 42(bn) 1 Location 24 MemberDecorate 42(bn) 2 Patch MemberDecorate 42(bn) 2 Location 25 - Decorate 42(bn) Block Decorate 44 Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.460.frag.out b/Test/baseResults/spv.460.frag.out index 4201fbb8..e40e833f 100644 --- a/Test/baseResults/spv.460.frag.out +++ b/Test/baseResults/spv.460.frag.out @@ -15,9 +15,9 @@ spv.460.frag Name 4 "main" Name 8 "aui" Name 10 "ui" - Decorate 8(aui) Offset 0 - Decorate 8(aui) DescriptorSet 0 Decorate 8(aui) Binding 0 + Decorate 8(aui) DescriptorSet 0 + Decorate 8(aui) Offset 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.460.subgroupEXT.mesh.out b/Test/baseResults/spv.460.subgroupEXT.mesh.out index f41895fd..112d50d2 100644 --- a/Test/baseResults/spv.460.subgroupEXT.mesh.out +++ b/Test/baseResults/spv.460.subgroupEXT.mesh.out @@ -79,20 +79,20 @@ spv.460.subgroupEXT.mesh Name 253 "ballot" Decorate 35(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 41(gl_WorkGroupID) BuiltIn WorkgroupId + Decorate 54(gl_MeshPerVertexEXT) Block MemberDecorate 54(gl_MeshPerVertexEXT) 0 BuiltIn Position MemberDecorate 54(gl_MeshPerVertexEXT) 1 BuiltIn PointSize MemberDecorate 54(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance MemberDecorate 54(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance - Decorate 54(gl_MeshPerVertexEXT) Block - MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV - MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId - MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV - MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer - MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV - MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex - MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV - MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT Decorate 106(gl_MeshPerPrimitiveEXT) Block + MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId + MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV + MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer + MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV + MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex + MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV + MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT + MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV Decorate 147(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT Decorate 161(gl_SubgroupSize) RelaxedPrecision Decorate 161(gl_SubgroupSize) BuiltIn SubgroupSize diff --git a/Test/baseResults/spv.460.subgroupEXT.task.out b/Test/baseResults/spv.460.subgroupEXT.task.out index efe30b75..4424b2ac 100644 --- a/Test/baseResults/spv.460.subgroupEXT.task.out +++ b/Test/baseResults/spv.460.subgroupEXT.task.out @@ -70,13 +70,13 @@ spv.460.subgroupEXT.task Name 216 "ballot" Decorate 35(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 41(gl_WorkGroupID) BuiltIn WorkgroupId - MemberDecorate 59(block0) 0 Offset 0 Decorate 59(block0) Block - Decorate 61 DescriptorSet 0 + MemberDecorate 59(block0) 0 Offset 0 Decorate 61 Binding 1 - Decorate 77(uni_image) DescriptorSet 0 - Decorate 77(uni_image) Binding 0 + Decorate 61 DescriptorSet 0 Decorate 77(uni_image) NonReadable + Decorate 77(uni_image) Binding 0 + Decorate 77(uni_image) DescriptorSet 0 Decorate 123(gl_SubgroupSize) RelaxedPrecision Decorate 123(gl_SubgroupSize) BuiltIn SubgroupSize Decorate 124(gl_SubgroupInvocationID) RelaxedPrecision diff --git a/Test/baseResults/spv.8bit-16bit-construction.frag.out b/Test/baseResults/spv.8bit-16bit-construction.frag.out index 9a85a6ac..78e941a2 100644 --- a/Test/baseResults/spv.8bit-16bit-construction.frag.out +++ b/Test/baseResults/spv.8bit-16bit-construction.frag.out @@ -24,14 +24,14 @@ Validation failed MemberName 11(B) 3 "u16_from_u8" MemberName 11(B) 4 "f16_from_i8" Name 13 "" + Decorate 11(B) BufferBlock MemberDecorate 11(B) 0 Offset 0 MemberDecorate 11(B) 1 Offset 2 MemberDecorate 11(B) 2 Offset 4 MemberDecorate 11(B) 3 Offset 6 MemberDecorate 11(B) 4 Offset 8 - Decorate 11(B) BufferBlock - Decorate 13 DescriptorSet 0 Decorate 13 Binding 0 + Decorate 13 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 8 1 diff --git a/Test/baseResults/spv.8bitstorage-int.frag.out b/Test/baseResults/spv.8bitstorage-int.frag.out index da8fe267..a40e2c1d 100644 --- a/Test/baseResults/spv.8bitstorage-int.frag.out +++ b/Test/baseResults/spv.8bitstorage-int.frag.out @@ -1,10 +1,9 @@ spv.8bitstorage-int.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 187 +// Id's are bound by 180 Capability Shader - Capability Int8 Capability UniformAndStorageBuffer8BitAccess Extension "SPV_KHR_8bit_storage" 1: ExtInstImport "GLSL.std.450" @@ -83,6 +82,7 @@ spv.8bitstorage-int.frag Decorate 13 ArrayStride 8 Decorate 15 ArrayStride 2 Decorate 16 ArrayStride 1 + Decorate 17(B2) BufferBlock MemberDecorate 17(B2) 0 Offset 0 MemberDecorate 17(B2) 1 Offset 2 MemberDecorate 17(B2) 2 Offset 4 @@ -91,14 +91,14 @@ spv.8bitstorage-int.frag MemberDecorate 17(B2) 5 Offset 20 MemberDecorate 17(B2) 6 Offset 36 MemberDecorate 17(B2) 7 Offset 236 - Decorate 17(B2) BufferBlock - Decorate 19(b2) DescriptorSet 0 Decorate 19(b2) Binding 1 + Decorate 19(b2) DescriptorSet 0 Decorate 22 ArrayStride 16 MemberDecorate 23(S) 0 Offset 0 MemberDecorate 23(S) 1 Offset 2 MemberDecorate 23(S) 2 Offset 4 Decorate 24 ArrayStride 16 + Decorate 25(B1) Block MemberDecorate 25(B1) 0 Offset 0 MemberDecorate 25(B1) 1 Offset 2 MemberDecorate 25(B1) 2 Offset 4 @@ -106,9 +106,8 @@ spv.8bitstorage-int.frag MemberDecorate 25(B1) 4 Offset 48 MemberDecorate 25(B1) 5 Offset 64 MemberDecorate 25(B1) 6 Offset 96 - Decorate 25(B1) Block - Decorate 27(b1) DescriptorSet 0 Decorate 27(b1) Binding 0 + Decorate 27(b1) DescriptorSet 0 Decorate 44 ArrayStride 16 MemberDecorate 45(S) 0 Offset 0 MemberDecorate 45(S) 1 Offset 2 @@ -116,6 +115,7 @@ spv.8bitstorage-int.frag Decorate 46 ArrayStride 16 Decorate 47 ArrayStride 16 Decorate 48 ArrayStride 16 + Decorate 49(B5) Block MemberDecorate 49(B5) 0 Offset 0 MemberDecorate 49(B5) 1 Offset 2 MemberDecorate 49(B5) 2 Offset 4 @@ -124,29 +124,28 @@ spv.8bitstorage-int.frag MemberDecorate 49(B5) 5 Offset 64 MemberDecorate 49(B5) 6 Offset 96 MemberDecorate 49(B5) 7 Offset 1696 - Decorate 49(B5) Block - Decorate 51(b5) DescriptorSet 0 Decorate 51(b5) Binding 2 + Decorate 51(b5) DescriptorSet 0 MemberDecorate 88(S2) 0 ColMajor - MemberDecorate 88(S2) 0 Offset 0 MemberDecorate 88(S2) 0 MatrixStride 16 + MemberDecorate 88(S2) 0 Offset 0 MemberDecorate 88(S2) 1 Offset 64 MemberDecorate 88(S2) 2 Offset 68 MemberDecorate 89(S3) 0 Offset 0 + Decorate 90(B4) BufferBlock MemberDecorate 90(B4) 0 Offset 0 MemberDecorate 90(B4) 1 Offset 80 - Decorate 90(B4) BufferBlock - Decorate 92(b4) DescriptorSet 0 Decorate 92(b4) Binding 4 + Decorate 92(b4) DescriptorSet 0 MemberDecorate 93(S2) 0 RowMajor - MemberDecorate 93(S2) 0 Offset 0 MemberDecorate 93(S2) 0 MatrixStride 16 + MemberDecorate 93(S2) 0 Offset 0 MemberDecorate 93(S2) 1 Offset 64 MemberDecorate 93(S2) 2 Offset 68 - MemberDecorate 94(B3) 0 Offset 0 Decorate 94(B3) BufferBlock - Decorate 96(b3) DescriptorSet 0 + MemberDecorate 94(B3) 0 Offset 0 Decorate 96(b3) Binding 3 + Decorate 96(b3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 8 1 @@ -341,18 +340,11 @@ spv.8bitstorage-int.frag Store 173 172 174: 42(ptr) AccessChain 27(b1) 32 175: 7(i8vec2) Load 174 - 176: 6(int8_t) CompositeExtract 175 0 - 177: 6(int8_t) CompositeExtract 175 1 - 178: 7(i8vec2) CompositeConstruct 176 177 - 179: 42(ptr) AccessChain 19(b2) 32 + 176: 42(ptr) AccessChain 19(b2) 32 + Store 176 175 + 177: 34(ptr) AccessChain 27(b1) 33 + 178: 8(i8vec3) Load 177 + 179: 34(ptr) AccessChain 19(b2) 33 Store 179 178 - 180: 34(ptr) AccessChain 27(b1) 33 - 181: 8(i8vec3) Load 180 - 182: 6(int8_t) CompositeExtract 181 0 - 183: 6(int8_t) CompositeExtract 181 1 - 184: 6(int8_t) CompositeExtract 181 2 - 185: 8(i8vec3) CompositeConstruct 182 183 184 - 186: 34(ptr) AccessChain 19(b2) 33 - Store 186 185 Return FunctionEnd diff --git a/Test/baseResults/spv.8bitstorage-ssbo.vert.out b/Test/baseResults/spv.8bitstorage-ssbo.vert.out index e8e9ca35..012b50f7 100644 --- a/Test/baseResults/spv.8bitstorage-ssbo.vert.out +++ b/Test/baseResults/spv.8bitstorage-ssbo.vert.out @@ -19,11 +19,12 @@ spv.8bitstorage-ssbo.vert Name 18 "gl_VertexIndex" Decorate 9(color) Location 0 Decorate 11 ArrayStride 1 + Decorate 12(Vertices) BufferBlock MemberDecorate 12(Vertices) 0 NonWritable MemberDecorate 12(Vertices) 0 Offset 0 - Decorate 12(Vertices) BufferBlock - Decorate 14 DescriptorSet 0 + Decorate 14 NonWritable Decorate 14 Binding 0 + Decorate 14 DescriptorSet 0 Decorate 18(gl_VertexIndex) BuiltIn VertexIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.8bitstorage-ubo.vert.out b/Test/baseResults/spv.8bitstorage-ubo.vert.out index f41f63ee..2207b6fd 100644 --- a/Test/baseResults/spv.8bitstorage-ubo.vert.out +++ b/Test/baseResults/spv.8bitstorage-ubo.vert.out @@ -19,10 +19,11 @@ spv.8bitstorage-ubo.vert Name 20 "gl_VertexIndex" Decorate 9(color) Location 0 Decorate 13 ArrayStride 16 - MemberDecorate 14(Vertices) 0 Offset 0 Decorate 14(Vertices) Block - Decorate 16 DescriptorSet 0 + MemberDecorate 14(Vertices) 0 Offset 0 + Decorate 16 NonWritable Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 Decorate 20(gl_VertexIndex) BuiltIn VertexIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.8bitstorage-uint.frag.out b/Test/baseResults/spv.8bitstorage-uint.frag.out index eb1ecca5..a90edf12 100644 --- a/Test/baseResults/spv.8bitstorage-uint.frag.out +++ b/Test/baseResults/spv.8bitstorage-uint.frag.out @@ -1,10 +1,9 @@ spv.8bitstorage-uint.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 189 +// Id's are bound by 182 Capability Shader - Capability Int8 Capability UniformAndStorageBuffer8BitAccess Extension "SPV_KHR_8bit_storage" 1: ExtInstImport "GLSL.std.450" @@ -83,6 +82,7 @@ spv.8bitstorage-uint.frag Decorate 13 ArrayStride 8 Decorate 15 ArrayStride 2 Decorate 16 ArrayStride 1 + Decorate 17(B2) BufferBlock MemberDecorate 17(B2) 0 Offset 0 MemberDecorate 17(B2) 1 Offset 2 MemberDecorate 17(B2) 2 Offset 4 @@ -91,14 +91,14 @@ spv.8bitstorage-uint.frag MemberDecorate 17(B2) 5 Offset 20 MemberDecorate 17(B2) 6 Offset 36 MemberDecorate 17(B2) 7 Offset 236 - Decorate 17(B2) BufferBlock - Decorate 19(b2) DescriptorSet 0 Decorate 19(b2) Binding 1 + Decorate 19(b2) DescriptorSet 0 Decorate 22 ArrayStride 16 MemberDecorate 23(S) 0 Offset 0 MemberDecorate 23(S) 1 Offset 2 MemberDecorate 23(S) 2 Offset 4 Decorate 24 ArrayStride 16 + Decorate 25(B1) Block MemberDecorate 25(B1) 0 Offset 0 MemberDecorate 25(B1) 1 Offset 2 MemberDecorate 25(B1) 2 Offset 4 @@ -106,9 +106,8 @@ spv.8bitstorage-uint.frag MemberDecorate 25(B1) 4 Offset 48 MemberDecorate 25(B1) 5 Offset 64 MemberDecorate 25(B1) 6 Offset 96 - Decorate 25(B1) Block - Decorate 27(b1) DescriptorSet 0 Decorate 27(b1) Binding 0 + Decorate 27(b1) DescriptorSet 0 Decorate 44 ArrayStride 16 MemberDecorate 45(S) 0 Offset 0 MemberDecorate 45(S) 1 Offset 2 @@ -116,6 +115,7 @@ spv.8bitstorage-uint.frag Decorate 46 ArrayStride 16 Decorate 47 ArrayStride 16 Decorate 48 ArrayStride 16 + Decorate 49(B5) Block MemberDecorate 49(B5) 0 Offset 0 MemberDecorate 49(B5) 1 Offset 2 MemberDecorate 49(B5) 2 Offset 4 @@ -124,29 +124,28 @@ spv.8bitstorage-uint.frag MemberDecorate 49(B5) 5 Offset 64 MemberDecorate 49(B5) 6 Offset 96 MemberDecorate 49(B5) 7 Offset 1696 - Decorate 49(B5) Block - Decorate 51(b5) DescriptorSet 0 Decorate 51(b5) Binding 2 + Decorate 51(b5) DescriptorSet 0 MemberDecorate 89(S2) 0 ColMajor - MemberDecorate 89(S2) 0 Offset 0 MemberDecorate 89(S2) 0 MatrixStride 16 + MemberDecorate 89(S2) 0 Offset 0 MemberDecorate 89(S2) 1 Offset 64 MemberDecorate 89(S2) 2 Offset 68 MemberDecorate 90(S3) 0 Offset 0 + Decorate 91(B4) BufferBlock MemberDecorate 91(B4) 0 Offset 0 MemberDecorate 91(B4) 1 Offset 80 - Decorate 91(B4) BufferBlock - Decorate 93(b4) DescriptorSet 0 Decorate 93(b4) Binding 4 + Decorate 93(b4) DescriptorSet 0 MemberDecorate 94(S2) 0 RowMajor - MemberDecorate 94(S2) 0 Offset 0 MemberDecorate 94(S2) 0 MatrixStride 16 + MemberDecorate 94(S2) 0 Offset 0 MemberDecorate 94(S2) 1 Offset 64 MemberDecorate 94(S2) 2 Offset 68 - MemberDecorate 95(B3) 0 Offset 0 Decorate 95(B3) BufferBlock - Decorate 97(b3) DescriptorSet 0 + MemberDecorate 95(B3) 0 Offset 0 Decorate 97(b3) Binding 3 + Decorate 97(b3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 8 0 @@ -343,18 +342,11 @@ spv.8bitstorage-uint.frag Store 175 174 176: 42(ptr) AccessChain 27(b1) 32 177: 7(i8vec2) Load 176 - 178: 6(int8_t) CompositeExtract 177 0 - 179: 6(int8_t) CompositeExtract 177 1 - 180: 7(i8vec2) CompositeConstruct 178 179 - 181: 42(ptr) AccessChain 19(b2) 32 + 178: 42(ptr) AccessChain 19(b2) 32 + Store 178 177 + 179: 34(ptr) AccessChain 27(b1) 33 + 180: 8(i8vec3) Load 179 + 181: 34(ptr) AccessChain 19(b2) 33 Store 181 180 - 182: 34(ptr) AccessChain 27(b1) 33 - 183: 8(i8vec3) Load 182 - 184: 6(int8_t) CompositeExtract 183 0 - 185: 6(int8_t) CompositeExtract 183 1 - 186: 6(int8_t) CompositeExtract 183 2 - 187: 8(i8vec3) CompositeConstruct 184 185 186 - 188: 34(ptr) AccessChain 19(b2) 33 - Store 188 187 Return FunctionEnd diff --git a/Test/baseResults/spv.ARMCoreBuiltIns.frag.out b/Test/baseResults/spv.ARMCoreBuiltIns.frag.out index ccfb4093..6da6921b 100644 --- a/Test/baseResults/spv.ARMCoreBuiltIns.frag.out +++ b/Test/baseResults/spv.ARMCoreBuiltIns.frag.out @@ -20,17 +20,17 @@ spv.ARMCoreBuiltIns.frag Name 17 "gl_CoreCountARM" Name 19 "gl_CoreMaxIDARM" Name 21 "gl_WarpIDARM" - Decorate 10(gl_WarpMaxIDARM) Flat Decorate 10(gl_WarpMaxIDARM) BuiltIn BuiltInWarpMaxIDARM + Decorate 10(gl_WarpMaxIDARM) Flat Decorate 14(data) Location 0 - Decorate 15(gl_CoreIDARM) Flat Decorate 15(gl_CoreIDARM) BuiltIn CoreIDARM - Decorate 17(gl_CoreCountARM) Flat + Decorate 15(gl_CoreIDARM) Flat Decorate 17(gl_CoreCountARM) BuiltIn CoreCountARM - Decorate 19(gl_CoreMaxIDARM) Flat + Decorate 17(gl_CoreCountARM) Flat Decorate 19(gl_CoreMaxIDARM) BuiltIn CoreMaxIDARM - Decorate 21(gl_WarpIDARM) Flat + Decorate 19(gl_CoreMaxIDARM) Flat Decorate 21(gl_WarpIDARM) BuiltIn WarpIDARM + Decorate 21(gl_WarpIDARM) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.ARMCoreBuiltIns.vert.out b/Test/baseResults/spv.ARMCoreBuiltIns.vert.out index 5419be45..e1503add 100644 --- a/Test/baseResults/spv.ARMCoreBuiltIns.vert.out +++ b/Test/baseResults/spv.ARMCoreBuiltIns.vert.out @@ -22,10 +22,10 @@ spv.ARMCoreBuiltIns.vert Name 22 "gl_CoreMaxIDARM" Name 24 "gl_WarpIDARM" Decorate 10(gl_WarpMaxIDARM) BuiltIn BuiltInWarpMaxIDARM - MemberDecorate 13(Output) 0 Offset 0 Decorate 13(Output) BufferBlock - Decorate 15 DescriptorSet 0 + MemberDecorate 13(Output) 0 Offset 0 Decorate 15 Binding 0 + Decorate 15 DescriptorSet 0 Decorate 18(gl_CoreIDARM) BuiltIn CoreIDARM Decorate 20(gl_CoreCountARM) BuiltIn CoreCountARM Decorate 22(gl_CoreMaxIDARM) BuiltIn CoreMaxIDARM diff --git a/Test/baseResults/spv.AofA.frag.out b/Test/baseResults/spv.AofA.frag.out index b2df36a6..9c5a014a 100644 --- a/Test/baseResults/spv.AofA.frag.out +++ b/Test/baseResults/spv.AofA.frag.out @@ -41,10 +41,10 @@ Validation failed Decorate 78(infloat) Location 0 Decorate 92 ArrayStride 16 Decorate 93 ArrayStride 64 - MemberDecorate 94(uAofA) 0 Offset 0 Decorate 94(uAofA) Block - Decorate 98(nameAofA) DescriptorSet 0 + MemberDecorate 94(uAofA) 0 Offset 0 Decorate 98(nameAofA) Binding 0 + Decorate 98(nameAofA) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.ClosestHitShader.rchit.out b/Test/baseResults/spv.ClosestHitShader.rchit.out index a84ef23e..af0f80fc 100644 --- a/Test/baseResults/spv.ClosestHitShader.rchit.out +++ b/Test/baseResults/spv.ClosestHitShader.rchit.out @@ -57,8 +57,8 @@ spv.ClosestHitShader.rchit Decorate 57(gl_HitKindNV) BuiltIn HitKindKHR Decorate 63(gl_ObjectToWorldNV) BuiltIn ObjectToWorldKHR Decorate 66(gl_WorldToObjectNV) BuiltIn WorldToObjectKHR - Decorate 70(accNV) DescriptorSet 0 Decorate 70(accNV) Binding 0 + Decorate 70(accNV) DescriptorSet 0 Decorate 84(localPayload) Location 0 Decorate 86(incomingPayload) Location 1 2: TypeVoid diff --git a/Test/baseResults/spv.ClosestHitShaderMotion.rchit.out b/Test/baseResults/spv.ClosestHitShaderMotion.rchit.out index e20df80a..846151f0 100644 --- a/Test/baseResults/spv.ClosestHitShaderMotion.rchit.out +++ b/Test/baseResults/spv.ClosestHitShaderMotion.rchit.out @@ -19,8 +19,8 @@ spv.ClosestHitShaderMotion.rchit Name 16 "accEXT" Name 32 "incomingPayloadEXT" Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV - Decorate 16(accEXT) DescriptorSet 0 Decorate 16(accEXT) Binding 0 + Decorate 16(accEXT) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.GeometryShaderPassthrough.geom.out b/Test/baseResults/spv.GeometryShaderPassthrough.geom.out index 57fa6911..f4e1a9fa 100644 --- a/Test/baseResults/spv.GeometryShaderPassthrough.geom.out +++ b/Test/baseResults/spv.GeometryShaderPassthrough.geom.out @@ -23,8 +23,8 @@ spv.GeometryShaderPassthrough.geom MemberName 12(Inputs) 0 "texcoord" MemberName 12(Inputs) 1 "baseColor" Name 14 "" - MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position Decorate 8(gl_PerVertex) Block + MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position Decorate 10 PassthroughNV Decorate 12(Inputs) Block Decorate 14 Location 0 diff --git a/Test/baseResults/spv.MissShader.rmiss.out b/Test/baseResults/spv.MissShader.rmiss.out index 581c0c6b..d0f381e3 100644 --- a/Test/baseResults/spv.MissShader.rmiss.out +++ b/Test/baseResults/spv.MissShader.rmiss.out @@ -35,8 +35,8 @@ spv.MissShader.rmiss Decorate 29(gl_IncomingRayFlagsNV) BuiltIn IncomingRayFlagsKHR Decorate 34(gl_RayTminNV) BuiltIn RayTminKHR Decorate 37(gl_RayTmaxNV) BuiltIn RayTmaxKHR - Decorate 41(accNV) DescriptorSet 0 Decorate 41(accNV) Binding 0 + Decorate 41(accNV) DescriptorSet 0 Decorate 56(localPayload) Location 0 Decorate 58(incomingPayload) Location 1 2: TypeVoid diff --git a/Test/baseResults/spv.MissShaderMotion.rmiss.out b/Test/baseResults/spv.MissShaderMotion.rmiss.out index 220dda99..455f343f 100644 --- a/Test/baseResults/spv.MissShaderMotion.rmiss.out +++ b/Test/baseResults/spv.MissShaderMotion.rmiss.out @@ -19,8 +19,8 @@ spv.MissShaderMotion.rmiss Name 16 "accEXT" Name 32 "localPayloadEXT" Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV - Decorate 16(accEXT) DescriptorSet 0 Decorate 16(accEXT) Binding 0 + Decorate 16(accEXT) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.OVR_multiview.vert.out b/Test/baseResults/spv.OVR_multiview.vert.out index df7d9499..1eeae2a1 100644 --- a/Test/baseResults/spv.OVR_multiview.vert.out +++ b/Test/baseResults/spv.OVR_multiview.vert.out @@ -20,10 +20,10 @@ spv.OVR_multiview.vert Name 17 "gl_ViewID_OVR" Name 25 "gl_VertexID" Name 26 "gl_InstanceID" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 11(gl_PerVertex) Block Decorate 17(gl_ViewID_OVR) BuiltIn ViewIndex Decorate 25(gl_VertexID) BuiltIn VertexId Decorate 26(gl_InstanceID) BuiltIn InstanceId diff --git a/Test/baseResults/spv.RayConstants.rgen.out b/Test/baseResults/spv.RayConstants.rgen.out index ebdcb50b..fb503c93 100644 --- a/Test/baseResults/spv.RayConstants.rgen.out +++ b/Test/baseResults/spv.RayConstants.rgen.out @@ -13,8 +13,8 @@ spv.RayConstants.rgen Name 4 "main" Name 8 "accNV" Name 26 "payload" - Decorate 8(accNV) DescriptorSet 0 Decorate 8(accNV) Binding 0 + Decorate 8(accNV) DescriptorSet 0 Decorate 26(payload) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.RayGenShader.rgen.out b/Test/baseResults/spv.RayGenShader.rgen.out index 01fdbf01..76bc1f62 100644 --- a/Test/baseResults/spv.RayGenShader.rgen.out +++ b/Test/baseResults/spv.RayGenShader.rgen.out @@ -26,13 +26,13 @@ spv.RayGenShader.rgen Name 53 "payload" Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR - Decorate 29(accNV0) DescriptorSet 0 Decorate 29(accNV0) Binding 0 + Decorate 29(accNV0) DescriptorSet 0 + Decorate 37(block) BufferBlock MemberDecorate 37(block) 0 Offset 0 MemberDecorate 37(block) 1 Offset 16 - Decorate 37(block) BufferBlock - Decorate 50(accNV1) DescriptorSet 0 Decorate 50(accNV1) Binding 1 + Decorate 50(accNV1) DescriptorSet 0 Decorate 53(payload) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.RayGenShader11.rgen.out b/Test/baseResults/spv.RayGenShader11.rgen.out index ae55e658..37093889 100644 --- a/Test/baseResults/spv.RayGenShader11.rgen.out +++ b/Test/baseResults/spv.RayGenShader11.rgen.out @@ -25,11 +25,11 @@ spv.RayGenShader11.rgen Name 52 "payload" Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR - Decorate 29(accNV) DescriptorSet 0 Decorate 29(accNV) Binding 0 + Decorate 29(accNV) DescriptorSet 0 + Decorate 37(block) Block MemberDecorate 37(block) 0 Offset 0 MemberDecorate 37(block) 1 Offset 16 - Decorate 37(block) Block 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 c3bd1911..ddb2f6bb 100644 --- a/Test/baseResults/spv.RayGenShaderArray.rgen.out +++ b/Test/baseResults/spv.RayGenShaderArray.rgen.out @@ -31,14 +31,14 @@ spv.RayGenShaderArray.rgen Name 88 "payload" Decorate 11(gl_LaunchIDNV) BuiltIn LaunchIdKHR Decorate 21(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR - Decorate 30(accNV0) DescriptorSet 0 Decorate 30(accNV0) Binding 0 + Decorate 30(accNV0) DescriptorSet 0 + Decorate 34(block) BufferBlock MemberDecorate 34(block) 0 Offset 0 MemberDecorate 34(block) 1 Offset 16 MemberDecorate 34(block) 2 Offset 28 - Decorate 34(block) BufferBlock - Decorate 60(accNV1) DescriptorSet 0 Decorate 60(accNV1) Binding 1 + Decorate 60(accNV1) DescriptorSet 0 Decorate 75 DecorationNonUniformEXT Decorate 76 DecorationNonUniformEXT Decorate 77 DecorationNonUniformEXT diff --git a/Test/baseResults/spv.RayGenShaderMotion.rgen.out b/Test/baseResults/spv.RayGenShaderMotion.rgen.out index 9a3421ca..09506757 100644 --- a/Test/baseResults/spv.RayGenShaderMotion.rgen.out +++ b/Test/baseResults/spv.RayGenShaderMotion.rgen.out @@ -24,8 +24,8 @@ spv.RayGenShaderMotion.rgen 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 + Decorate 29(accEXT) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.16BitAccess.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.16BitAccess.comp.out index 4001462d..e5496d32 100644 --- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.16BitAccess.comp.out +++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.16BitAccess.comp.out @@ -21,9 +21,9 @@ spv.WorkgroupMemoryExplicitLayout.16BitAccess.comp MemberName 8(first) 0 "a" MemberName 8(first) 1 "f" Name 10 "" + Decorate 8(first) Block MemberDecorate 8(first) 0 Offset 0 MemberDecorate 8(first) 1 Offset 2 - Decorate 8(first) Block Decorate 24 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.8BitAccess.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.8BitAccess.comp.out index d0906a42..a3f16954 100644 --- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.8BitAccess.comp.out +++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.8BitAccess.comp.out @@ -19,8 +19,8 @@ spv.WorkgroupMemoryExplicitLayout.8BitAccess.comp Name 7 "first" MemberName 7(first) 0 "a" Name 9 "" - MemberDecorate 7(first) 0 Offset 0 Decorate 7(first) Block + MemberDecorate 7(first) 0 Offset 0 Decorate 19 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.MultiBlock.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.MultiBlock.comp.out index 2a15286e..33cae8b5 100644 --- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.MultiBlock.comp.out +++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.MultiBlock.comp.out @@ -19,13 +19,13 @@ spv.WorkgroupMemoryExplicitLayout.MultiBlock.comp Name 14 "second" MemberName 14(second) 0 "b" Name 16 "" - MemberDecorate 7(first) 0 Offset 0 Decorate 7(first) Block - MemberDecorate 14(second) 0 Offset 0 - Decorate 14(second) Block - Decorate 23 BuiltIn WorkgroupSize + MemberDecorate 7(first) 0 Offset 0 Decorate 9 Aliased + Decorate 14(second) Block + MemberDecorate 14(second) 0 Offset 0 Decorate 16 Aliased + Decorate 23 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.SingleBlock.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.SingleBlock.comp.out index cb3bd31a..2d484770 100644 --- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.SingleBlock.comp.out +++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.SingleBlock.comp.out @@ -16,8 +16,8 @@ spv.WorkgroupMemoryExplicitLayout.SingleBlock.comp Name 7 "first" MemberName 7(first) 0 "a" Name 9 "" - MemberDecorate 7(first) 0 Offset 0 Decorate 7(first) Block + MemberDecorate 7(first) 0 Offset 0 Decorate 18 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.scalar.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.scalar.comp.out index 3d7ece13..a651b635 100644 --- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.scalar.comp.out +++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.scalar.comp.out @@ -50,9 +50,9 @@ spv.WorkgroupMemoryExplicitLayout.scalar.comp MemberDecorate 24(S) 8 Offset 196 MemberDecorate 24(S) 9 Offset 292 Decorate 25 ArrayStride 364 + Decorate 26(Block) Block MemberDecorate 26(Block) 0 Offset 0 MemberDecorate 26(Block) 1 Offset 364 - Decorate 26(Block) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std140.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std140.comp.out index 5c8f86d2..bc8a5f64 100644 --- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std140.comp.out +++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std140.comp.out @@ -49,9 +49,9 @@ spv.WorkgroupMemoryExplicitLayout.std140.comp MemberDecorate 24(S) 8 Offset 384 MemberDecorate 24(S) 9 Offset 480 Decorate 25 ArrayStride 768 + Decorate 26(Block) Block MemberDecorate 26(Block) 0 Offset 0 MemberDecorate 26(Block) 1 Offset 768 - Decorate 26(Block) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std430.comp.out b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std430.comp.out index bfc35e98..a60209d9 100644 --- a/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std430.comp.out +++ b/Test/baseResults/spv.WorkgroupMemoryExplicitLayout.std430.comp.out @@ -49,9 +49,9 @@ spv.WorkgroupMemoryExplicitLayout.std430.comp MemberDecorate 24(S) 8 Offset 240 MemberDecorate 24(S) 9 Offset 336 Decorate 25 ArrayStride 416 + Decorate 26(Block) Block MemberDecorate 26(Block) 0 Offset 0 MemberDecorate 26(Block) 1 Offset 416 - Decorate 26(Block) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.aggOps.frag.out b/Test/baseResults/spv.aggOps.frag.out index bc19f23f..47527996 100644 --- a/Test/baseResults/spv.aggOps.frag.out +++ b/Test/baseResults/spv.aggOps.frag.out @@ -51,21 +51,21 @@ WARNING: 0:4: '' : all default precisions are highp; use precision statements to MemberDecorate 56(s2) 0 Offset 0 MemberDecorate 56(s2) 1 Offset 4 MemberDecorate 56(s2) 2 Offset 16 - MemberDecorate 57(ub1) 0 Offset 0 Decorate 57(ub1) Block - Decorate 59(uName1) DescriptorSet 0 + MemberDecorate 57(ub1) 0 Offset 0 Decorate 59(uName1) Binding 1 + Decorate 59(uName1) DescriptorSet 0 MemberDecorate 64(s1) 0 Offset 0 MemberDecorate 64(s1) 1 Offset 4 MemberDecorate 65(s2) 0 Offset 0 MemberDecorate 65(s2) 1 Offset 4 MemberDecorate 65(s2) 2 Offset 8 - MemberDecorate 66(ub2) 0 Offset 0 Decorate 66(ub2) BufferBlock - Decorate 68(uName2) DescriptorSet 0 + MemberDecorate 66(ub2) 0 Offset 0 Decorate 68(uName2) Binding 2 - Decorate 97(samp2D) DescriptorSet 0 + Decorate 68(uName2) DescriptorSet 0 Decorate 97(samp2D) Binding 0 + Decorate 97(samp2D) DescriptorSet 0 Decorate 101(coord) RelaxedPrecision Decorate 101(coord) Location 0 Decorate 102 RelaxedPrecision diff --git a/Test/baseResults/spv.arbPostDepthCoverage.frag.out b/Test/baseResults/spv.arbPostDepthCoverage.frag.out index 5daa156d..a36b9ee4 100644 --- a/Test/baseResults/spv.arbPostDepthCoverage.frag.out +++ b/Test/baseResults/spv.arbPostDepthCoverage.frag.out @@ -19,8 +19,8 @@ spv.arbPostDepthCoverage.frag Name 8 "readSampleMaskIn" Name 13 "gl_SampleMaskIn" Decorate 8(readSampleMaskIn) Location 0 - Decorate 13(gl_SampleMaskIn) Flat Decorate 13(gl_SampleMaskIn) BuiltIn SampleMask + Decorate 13(gl_SampleMaskIn) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.atomiAddEXT.task.out b/Test/baseResults/spv.atomiAddEXT.task.out index 9ff35aa6..22848ad0 100644 --- a/Test/baseResults/spv.atomiAddEXT.task.out +++ b/Test/baseResults/spv.atomiAddEXT.task.out @@ -23,17 +23,18 @@ spv.atomiAddEXT.task Name 26 "taskBlock" MemberName 26(taskBlock) 0 "atom1" Name 28 "mytask" + Decorate 7(Buffer) Block MemberDecorate 7(Buffer) 0 Coherent MemberDecorate 7(Buffer) 0 Offset 0 - Decorate 7(Buffer) Block - Decorate 9 DescriptorSet 0 + Decorate 9 Coherent Decorate 9 Binding 1 + Decorate 9 DescriptorSet 0 Decorate 19 ArrayStride 4 MemberDecorate 20(structType) 0 Offset 0 - MemberDecorate 21(t2) 0 Offset 0 Decorate 21(t2) Block - Decorate 23(t) DescriptorSet 0 + MemberDecorate 21(t2) 0 Offset 0 Decorate 23(t) Binding 0 + Decorate 23(t) DescriptorSet 0 Decorate 33 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.atomic.comp.out b/Test/baseResults/spv.atomic.comp.out index 7c001ae1..22b297f6 100644 --- a/Test/baseResults/spv.atomic.comp.out +++ b/Test/baseResults/spv.atomic.comp.out @@ -29,19 +29,20 @@ spv.atomic.comp Name 71 "arrX" Name 72 "arrY" Name 73 "arrZ" - Decorate 20(counter) Offset 0 - Decorate 20(counter) DescriptorSet 0 Decorate 20(counter) Binding 0 - Decorate 27(countArr) Offset 4 - Decorate 27(countArr) DescriptorSet 0 + Decorate 20(counter) DescriptorSet 0 + Decorate 20(counter) Offset 0 Decorate 27(countArr) Binding 0 + Decorate 27(countArr) DescriptorSet 0 + Decorate 27(countArr) Offset 4 + Decorate 62(dataSSB) BufferBlock MemberDecorate 62(dataSSB) 0 Restrict MemberDecorate 62(dataSSB) 0 Offset 0 MemberDecorate 62(dataSSB) 1 Restrict MemberDecorate 62(dataSSB) 1 Offset 16 - Decorate 62(dataSSB) BufferBlock - Decorate 64(result) DescriptorSet 0 + Decorate 64(result) Restrict Decorate 64(result) Binding 0 + Decorate 64(result) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.atomicAdd.bufferReference.comp.out b/Test/baseResults/spv.atomicAdd.bufferReference.comp.out index a00c45a3..31edb5e9 100644 --- a/Test/baseResults/spv.atomicAdd.bufferReference.comp.out +++ b/Test/baseResults/spv.atomicAdd.bufferReference.comp.out @@ -56,25 +56,25 @@ spv.atomicAdd.bufferReference.comp MemberName 179(Fail) 0 "x" Name 181 "fail" Decorate 17 ArrayStride 4 - MemberDecorate 18(PayloadRef) 0 Offset 0 Decorate 18(PayloadRef) Block + MemberDecorate 18(PayloadRef) 0 Offset 0 Decorate 20(payload) DecorationAliasedPointerEXT + Decorate 22(PC) Block 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 + MemberDecorate 24(GuardRef) 0 Offset 0 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 + MemberDecorate 179(Fail) 0 Offset 0 Decorate 181(fail) Binding 2 + Decorate 181(fail) DescriptorSet 0 Decorate 185 SpecId 0 Decorate 186 SpecId 0 Decorate 187 BuiltIn WorkgroupSize diff --git a/Test/baseResults/spv.atomicFloat.comp.out b/Test/baseResults/spv.atomicFloat.comp.out index acb5d817..c7b8f489 100644 --- a/Test/baseResults/spv.atomicFloat.comp.out +++ b/Test/baseResults/spv.atomicFloat.comp.out @@ -38,35 +38,35 @@ spv.atomicFloat.comp Name 352 "fimageCube" Name 392 "fimageCubeArray" Name 430 "fimage3D" + Decorate 25(Buffer) BufferBlock MemberDecorate 25(Buffer) 0 Offset 0 MemberDecorate 25(Buffer) 1 Offset 8 - Decorate 25(Buffer) BufferBlock - Decorate 27(buf) DescriptorSet 0 Decorate 27(buf) Binding 0 + Decorate 27(buf) DescriptorSet 0 Decorate 143(fimage1D) Location 0 - Decorate 143(fimage1D) DescriptorSet 0 Decorate 143(fimage1D) Binding 0 + Decorate 143(fimage1D) DescriptorSet 0 Decorate 189(fimage1DArray) Location 1 - Decorate 189(fimage1DArray) DescriptorSet 0 Decorate 189(fimage1DArray) Binding 1 + Decorate 189(fimage1DArray) DescriptorSet 0 Decorate 232(fimage2D) Location 2 - Decorate 232(fimage2D) DescriptorSet 0 Decorate 232(fimage2D) Binding 2 + Decorate 232(fimage2D) DescriptorSet 0 Decorate 270(fimage2DRect) Location 4 - Decorate 270(fimage2DRect) DescriptorSet 0 Decorate 270(fimage2DRect) Binding 4 + Decorate 270(fimage2DRect) DescriptorSet 0 Decorate 308(fimage2DArray) Location 3 - Decorate 308(fimage2DArray) DescriptorSet 0 Decorate 308(fimage2DArray) Binding 3 + Decorate 308(fimage2DArray) DescriptorSet 0 Decorate 352(fimageCube) Location 5 - Decorate 352(fimageCube) DescriptorSet 0 Decorate 352(fimageCube) Binding 5 + Decorate 352(fimageCube) DescriptorSet 0 Decorate 392(fimageCubeArray) Location 6 - Decorate 392(fimageCubeArray) DescriptorSet 0 Decorate 392(fimageCubeArray) Binding 6 + Decorate 392(fimageCubeArray) DescriptorSet 0 Decorate 430(fimage3D) Location 7 - Decorate 430(fimage3D) DescriptorSet 0 Decorate 430(fimage3D) Binding 9 + Decorate 430(fimage3D) DescriptorSet 0 Decorate 469 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.atomicInt64.comp.out b/Test/baseResults/spv.atomicInt64.comp.out index 24805ccc..2464e506 100644 --- a/Test/baseResults/spv.atomicInt64.comp.out +++ b/Test/baseResults/spv.atomicInt64.comp.out @@ -24,11 +24,11 @@ spv.atomicInt64.comp MemberName 84(Struct) 0 "i64" MemberName 84(Struct) 1 "u64" Name 86 "s" + Decorate 14(Buffer) BufferBlock MemberDecorate 14(Buffer) 0 Offset 0 MemberDecorate 14(Buffer) 1 Offset 8 - Decorate 14(Buffer) BufferBlock - Decorate 16(buf) DescriptorSet 0 Decorate 16(buf) Binding 0 + Decorate 16(buf) DescriptorSet 0 Decorate 148 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.atomicStoreInt64.comp.out b/Test/baseResults/spv.atomicStoreInt64.comp.out index c2b3f30d..9114bc34 100644 --- a/Test/baseResults/spv.atomicStoreInt64.comp.out +++ b/Test/baseResults/spv.atomicStoreInt64.comp.out @@ -21,14 +21,14 @@ spv.atomicStoreInt64.comp Name 14 "ubo" MemberName 14(ubo) 0 "z" Name 16 "" - MemberDecorate 7(ssbo) 0 Offset 0 Decorate 7(ssbo) BufferBlock - Decorate 9 DescriptorSet 0 + MemberDecorate 7(ssbo) 0 Offset 0 Decorate 9 Binding 0 - MemberDecorate 14(ubo) 0 Offset 0 + Decorate 9 DescriptorSet 0 Decorate 14(ubo) Block - Decorate 16 DescriptorSet 0 + MemberDecorate 14(ubo) 0 Offset 0 Decorate 16 Binding 1 + Decorate 16 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 64 0 diff --git a/Test/baseResults/spv.bool.vert.out b/Test/baseResults/spv.bool.vert.out index 265d9007..dbab6986 100644 --- a/Test/baseResults/spv.bool.vert.out +++ b/Test/baseResults/spv.bool.vert.out @@ -21,15 +21,15 @@ spv.bool.vert MemberName 27(ubname) 0 "b" Name 29 "ubinst" Name 30 "param" + Decorate 22(gl_PerVertex) Block MemberDecorate 22(gl_PerVertex) 0 BuiltIn Position MemberDecorate 22(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 22(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 22(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 22(gl_PerVertex) Block - MemberDecorate 27(ubname) 0 Offset 0 Decorate 27(ubname) Block - Decorate 29(ubinst) DescriptorSet 0 + MemberDecorate 27(ubname) 0 Offset 0 Decorate 29(ubinst) Binding 0 + Decorate 29(ubinst) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeBool diff --git a/Test/baseResults/spv.boolInBlock.frag.out b/Test/baseResults/spv.boolInBlock.frag.out index c234cb4d..9db304a5 100644 --- a/Test/baseResults/spv.boolInBlock.frag.out +++ b/Test/baseResults/spv.boolInBlock.frag.out @@ -23,14 +23,14 @@ spv.boolInBlock.frag Name 60 "param" Name 66 "param" Name 74 "fragColor" - MemberDecorate 25(Buffer) 0 Offset 0 Decorate 25(Buffer) BufferBlock - Decorate 27 DescriptorSet 0 + MemberDecorate 25(Buffer) 0 Offset 0 Decorate 27 Binding 1 - MemberDecorate 40(Uniform) 0 Offset 0 + Decorate 27 DescriptorSet 0 Decorate 40(Uniform) Block - Decorate 42 DescriptorSet 0 + MemberDecorate 40(Uniform) 0 Offset 0 Decorate 42 Binding 0 + Decorate 42 DescriptorSet 0 Decorate 74(fragColor) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.branch-return.vert.out b/Test/baseResults/spv.branch-return.vert.out index 53ef8765..86df58af 100644 --- a/Test/baseResults/spv.branch-return.vert.out +++ b/Test/baseResults/spv.branch-return.vert.out @@ -15,9 +15,9 @@ spv.branch-return.vert MemberName 18(gl_PerVertex) 1 "gl_PointSize" Name 20 "" Decorate 8(gl_InstanceIndex) BuiltIn InstanceIndex + Decorate 18(gl_PerVertex) Block MemberDecorate 18(gl_PerVertex) 0 BuiltIn Position MemberDecorate 18(gl_PerVertex) 1 BuiltIn PointSize - Decorate 18(gl_PerVertex) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.buffer.autoassign.frag.out b/Test/baseResults/spv.buffer.autoassign.frag.out index 3afe6439..0ccd8408 100644 --- a/Test/baseResults/spv.buffer.autoassign.frag.out +++ b/Test/baseResults/spv.buffer.autoassign.frag.out @@ -25,19 +25,19 @@ spv.buffer.autoassign.frag MemberName 34(MyUB3) 0 "g_d" Name 36 "" Name 47 "@entryPointOutput.Color" + Decorate 16(MyUB1) Block MemberDecorate 16(MyUB1) 0 Offset 0 MemberDecorate 16(MyUB1) 1 Offset 4 - Decorate 16(MyUB1) Block - Decorate 18 DescriptorSet 0 Decorate 18 Binding 20 - MemberDecorate 28(MyUB2) 0 Offset 0 + Decorate 18 DescriptorSet 0 Decorate 28(MyUB2) Block - Decorate 30 DescriptorSet 0 + MemberDecorate 28(MyUB2) 0 Offset 0 Decorate 30 Binding 15 - MemberDecorate 34(MyUB3) 0 Offset 0 + Decorate 30 DescriptorSet 0 Decorate 34(MyUB3) Block - Decorate 36 DescriptorSet 0 + MemberDecorate 34(MyUB3) 0 Offset 0 Decorate 36 Binding 16 + Decorate 36 DescriptorSet 0 Decorate 47(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.bufferhandle1.frag.out b/Test/baseResults/spv.bufferhandle1.frag.out index c44ad2a6..6fb4dcce 100644 --- a/Test/baseResults/spv.bufferhandle1.frag.out +++ b/Test/baseResults/spv.bufferhandle1.frag.out @@ -29,10 +29,11 @@ spv.bufferhandle1.frag MemberName 13(blockType) 6 "g" Name 15 "t" Name 28 "j" + Decorate 7(t2) Block MemberDecorate 7(t2) 0 Offset 0 MemberDecorate 7(t2) 1 Offset 8 - Decorate 7(t2) Block Decorate 11 ArrayStride 4 + Decorate 13(blockType) Block MemberDecorate 13(blockType) 0 Offset 0 MemberDecorate 13(blockType) 1 Offset 4 MemberDecorate 13(blockType) 2 Offset 8 @@ -40,9 +41,8 @@ spv.bufferhandle1.frag MemberDecorate 13(blockType) 4 Offset 16 MemberDecorate 13(blockType) 5 Offset 32 MemberDecorate 13(blockType) 6 Offset 48 - Decorate 13(blockType) Block - Decorate 15(t) DescriptorSet 0 Decorate 15(t) Binding 0 + Decorate 15(t) DescriptorSet 0 Decorate 28(j) DecorationAliasedPointerEXT 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.bufferhandle10.frag.out b/Test/baseResults/spv.bufferhandle10.frag.out index 93c3f70a..d2b8719e 100644 --- a/Test/baseResults/spv.bufferhandle10.frag.out +++ b/Test/baseResults/spv.bufferhandle10.frag.out @@ -25,13 +25,13 @@ spv.bufferhandle10.frag Name 19 "i" Name 28 "b" Name 34 "b2" - MemberDecorate 7(t2) 0 Offset 0 Decorate 7(t2) Block + MemberDecorate 7(t2) 0 Offset 0 Decorate 9 ArrayStride 4 - MemberDecorate 10(blockType) 0 Offset 0 Decorate 10(blockType) Block - Decorate 12(t) DescriptorSet 0 + MemberDecorate 10(blockType) 0 Offset 0 Decorate 12(t) Binding 0 + Decorate 12(t) DescriptorSet 0 Decorate 19(i) Flat Decorate 19(i) Location 0 Decorate 28(b) DecorationAliasedPointerEXT diff --git a/Test/baseResults/spv.bufferhandle11.frag.out b/Test/baseResults/spv.bufferhandle11.frag.out index eec3cf34..a24406b1 100644 --- a/Test/baseResults/spv.bufferhandle11.frag.out +++ b/Test/baseResults/spv.bufferhandle11.frag.out @@ -35,14 +35,14 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to Name 48 "AcBlock" MemberName 48(AcBlock) 0 "ac_numPassed" Name 50 "" - MemberDecorate 26(PC) 0 Offset 0 Decorate 26(PC) Block - MemberDecorate 28(Block) 0 Offset 0 + MemberDecorate 26(PC) 0 Offset 0 Decorate 28(Block) Block - MemberDecorate 48(AcBlock) 0 Offset 0 + MemberDecorate 28(Block) 0 Offset 0 Decorate 48(AcBlock) Block - Decorate 50 DescriptorSet 0 + MemberDecorate 48(AcBlock) 0 Offset 0 Decorate 50 Binding 0 + Decorate 50 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.bufferhandle12.frag.out b/Test/baseResults/spv.bufferhandle12.frag.out index 319684f8..66ba75a6 100644 --- a/Test/baseResults/spv.bufferhandle12.frag.out +++ b/Test/baseResults/spv.bufferhandle12.frag.out @@ -67,26 +67,26 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to Name 167 "AcBlock" MemberName 167(AcBlock) 0 "ac_numPassed" Name 169 "" + Decorate 139(PC) Block MemberDecorate 139(PC) 0 Offset 0 MemberDecorate 139(PC) 1 Offset 8 MemberDecorate 139(PC) 2 Offset 16 - Decorate 139(PC) Block + Decorate 141(BlockB) Block MemberDecorate 141(BlockB) 0 Offset 0 MemberDecorate 141(BlockB) 1 Offset 8 - Decorate 141(BlockB) Block - MemberDecorate 142(BlockC) 0 ColMajor - MemberDecorate 142(BlockC) 0 RelaxedPrecision - MemberDecorate 142(BlockC) 0 Offset 0 - MemberDecorate 142(BlockC) 0 MatrixStride 16 Decorate 142(BlockC) Block + MemberDecorate 142(BlockC) 0 RelaxedPrecision + MemberDecorate 142(BlockC) 0 ColMajor + MemberDecorate 142(BlockC) 0 MatrixStride 16 + MemberDecorate 142(BlockC) 0 Offset 0 + Decorate 143(BlockD) Block MemberDecorate 143(BlockD) 0 RelaxedPrecision MemberDecorate 143(BlockD) 0 Offset 0 - Decorate 143(BlockD) Block Decorate 160 RelaxedPrecision - MemberDecorate 167(AcBlock) 0 Offset 0 Decorate 167(AcBlock) Block - Decorate 169 DescriptorSet 0 + MemberDecorate 167(AcBlock) 0 Offset 0 Decorate 169 Binding 0 + Decorate 169 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.bufferhandle13.frag.out b/Test/baseResults/spv.bufferhandle13.frag.out index 84eb884c..90e715ae 100644 --- a/Test/baseResults/spv.bufferhandle13.frag.out +++ b/Test/baseResults/spv.bufferhandle13.frag.out @@ -33,23 +33,25 @@ spv.bufferhandle13.frag Name 52 "param" Name 56 "g1" Name 57 "g2" - MemberDecorate 8(t4) 0 Offset 0 Decorate 8(t4) Block + MemberDecorate 8(t4) 0 Offset 0 Decorate 10(y) Aliased Decorate 15(y) DecorationAliasedPointerEXT Decorate 18(y) Restrict Decorate 21(y) Restrict Decorate 21(y) DecorationRestrictPointerEXT Decorate 34(a) DecorationAliasedPointerEXT - MemberDecorate 35(t5) 0 Offset 0 Decorate 35(t5) Block - Decorate 37(s5) DescriptorSet 0 + MemberDecorate 35(t5) 0 Offset 0 Decorate 37(s5) Binding 0 + Decorate 37(s5) DescriptorSet 0 + Decorate 42(b) Restrict Decorate 42(b) DecorationRestrictPointerEXT - Decorate 56(g1) DecorationAliasedPointerEXT - Decorate 57(g2) DecorationRestrictPointerEXT Decorate 47(param) DecorationAliasedPointerEXT Decorate 52(param) DecorationAliasedPointerEXT + Decorate 56(g1) DecorationAliasedPointerEXT + Decorate 57(g2) Restrict + Decorate 57(g2) DecorationRestrictPointerEXT 2: TypeVoid 3: TypeFunction 2 TypeForwardPointer 6 PhysicalStorageBufferEXT diff --git a/Test/baseResults/spv.bufferhandle14.frag.out b/Test/baseResults/spv.bufferhandle14.frag.out index 4f994e19..c1069240 100644 --- a/Test/baseResults/spv.bufferhandle14.frag.out +++ b/Test/baseResults/spv.bufferhandle14.frag.out @@ -33,25 +33,25 @@ spv.bufferhandle14.frag MemberName 38(T4) 1 "j" MemberName 38(T4) 2 "k" Name 40 "t4" + Decorate 8(T1) Block MemberDecorate 8(T1) 0 Offset 0 MemberDecorate 8(T1) 1 Offset 4 MemberDecorate 8(T1) 2 Offset 8 - Decorate 8(T1) Block Decorate 10(t1) DecorationAliasedPointerEXT + Decorate 20(T2) Block MemberDecorate 20(T2) 0 Offset 0 MemberDecorate 20(T2) 1 Offset 4 MemberDecorate 20(T2) 2 Offset 8 - Decorate 20(T2) Block Decorate 22(t2) DecorationAliasedPointerEXT + Decorate 29(T3) Block MemberDecorate 29(T3) 0 Offset 0 MemberDecorate 29(T3) 1 Offset 4 MemberDecorate 29(T3) 2 Offset 8 - Decorate 29(T3) Block Decorate 31(t3) DecorationAliasedPointerEXT + Decorate 38(T4) Block MemberDecorate 38(T4) 0 Offset 0 MemberDecorate 38(T4) 1 Offset 4 MemberDecorate 38(T4) 2 Offset 8 - Decorate 38(T4) Block Decorate 40(t4) DecorationAliasedPointerEXT 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.bufferhandle15.frag.out b/Test/baseResults/spv.bufferhandle15.frag.out index 34d3d598..6bd429a9 100644 --- a/Test/baseResults/spv.bufferhandle15.frag.out +++ b/Test/baseResults/spv.bufferhandle15.frag.out @@ -36,29 +36,29 @@ WARNING: 0:16: '' : all default precisions are highp; use precision statements t Name 31 "t4" Name 37 "i" Name 52 "z" + Decorate 13(T4) Block MemberDecorate 13(T4) 0 Offset 0 MemberDecorate 13(T4) 1 Offset 8 MemberDecorate 13(T4) 2 Offset 16 - Decorate 13(T4) Block Decorate 14 ArrayStride 12 - MemberDecorate 15(T1) 0 Offset 0 Decorate 15(T1) Block + MemberDecorate 15(T1) 0 Offset 0 Decorate 18 ArrayStride 12 Decorate 20 ArrayStride 24 Decorate 21 ArrayStride 96 - MemberDecorate 22(T2) 0 Offset 0 Decorate 22(T2) Block + MemberDecorate 22(T2) 0 Offset 0 Decorate 26 ArrayStride 36 MemberDecorate 28(S) 0 Offset 0 - MemberDecorate 28(S) 1 ColMajor MemberDecorate 28(S) 1 RelaxedPrecision - MemberDecorate 28(S) 1 Offset 12 + MemberDecorate 28(S) 1 ColMajor MemberDecorate 28(S) 1 MatrixStride 12 + MemberDecorate 28(S) 1 Offset 12 MemberDecorate 28(S) 2 Offset 156 - MemberDecorate 29(T3) 0 Offset 0 Decorate 29(T3) Block - Decorate 31(t4) DescriptorSet 0 + MemberDecorate 29(T3) 0 Offset 0 Decorate 31(t4) Binding 0 + Decorate 31(t4) DescriptorSet 0 Decorate 37(i) Flat Decorate 37(i) Location 0 Decorate 59 RelaxedPrecision diff --git a/Test/baseResults/spv.bufferhandle16.frag.out b/Test/baseResults/spv.bufferhandle16.frag.out index ee04d361..4952b3d0 100644 --- a/Test/baseResults/spv.bufferhandle16.frag.out +++ b/Test/baseResults/spv.bufferhandle16.frag.out @@ -26,9 +26,9 @@ spv.bufferhandle16.frag Name 26 "e" Name 29 "f" Name 46 "x" + Decorate 9(T1) Block MemberDecorate 9(T1) 0 Offset 0 MemberDecorate 9(T1) 1 Offset 4 - Decorate 9(T1) Block Decorate 11(a) DecorationAliasedPointerEXT Decorate 15(b) DecorationAliasedPointerEXT Decorate 18(c) DecorationAliasedPointerEXT diff --git a/Test/baseResults/spv.bufferhandle18.frag.out b/Test/baseResults/spv.bufferhandle18.frag.out index 97c961a7..981a50e1 100644 --- a/Test/baseResults/spv.bufferhandle18.frag.out +++ b/Test/baseResults/spv.bufferhandle18.frag.out @@ -37,9 +37,9 @@ spv.bufferhandle18.frag Name 180 "m" Name 190 "x" Name 195 "buf" + Decorate 9(T1) Block MemberDecorate 9(T1) 0 Offset 0 MemberDecorate 9(T1) 1 Offset 4 - Decorate 9(T1) Block Decorate 11(a) DecorationAliasedPointerEXT Decorate 15(b) DecorationAliasedPointerEXT Decorate 18(c) DecorationAliasedPointerEXT @@ -49,8 +49,8 @@ spv.bufferhandle18.frag Decorate 59(arr) DecorationAliasedPointerEXT Decorate 130(j) DecorationAliasedPointerEXT Decorate 153(k) DecorationAliasedPointerEXT - MemberDecorate 178(T2) 0 Offset 0 Decorate 178(T2) Block + MemberDecorate 178(T2) 0 Offset 0 Decorate 180(m) DecorationAliasedPointerEXT 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.bufferhandle2.frag.out b/Test/baseResults/spv.bufferhandle2.frag.out index 31a39f26..78bcfc07 100644 --- a/Test/baseResults/spv.bufferhandle2.frag.out +++ b/Test/baseResults/spv.bufferhandle2.frag.out @@ -27,18 +27,18 @@ spv.bufferhandle2.frag Name 16 "t" Name 34 "b2" Name 37 "b3" + Decorate 8(blockType) Block MemberDecorate 8(blockType) 0 Offset 0 MemberDecorate 8(blockType) 1 Offset 4 MemberDecorate 8(blockType) 2 Offset 8 MemberDecorate 8(blockType) 3 Offset 12 MemberDecorate 8(blockType) 4 Offset 16 - Decorate 8(blockType) Block Decorate 13(b1) DecorationAliasedPointerEXT + Decorate 14(t2) Block MemberDecorate 14(t2) 0 Offset 0 MemberDecorate 14(t2) 1 Offset 8 - Decorate 14(t2) Block - Decorate 16(t) DescriptorSet 0 Decorate 16(t) Binding 0 + Decorate 16(t) DescriptorSet 0 Decorate 34(b2) DecorationAliasedPointerEXT Decorate 37(b3) DecorationAliasedPointerEXT 2: TypeVoid diff --git a/Test/baseResults/spv.bufferhandle3.frag.out b/Test/baseResults/spv.bufferhandle3.frag.out index 9f66b5cf..0a2ab456 100644 --- a/Test/baseResults/spv.bufferhandle3.frag.out +++ b/Test/baseResults/spv.bufferhandle3.frag.out @@ -30,25 +30,25 @@ spv.bufferhandle3.frag MemberName 38(t4) 1 "k" Name 40 "x" Name 42 "k" + Decorate 9(t4) Block MemberDecorate 9(t4) 0 Offset 0 MemberDecorate 9(t4) 1 Offset 8 - Decorate 9(t4) Block - MemberDecorate 10(t3) 0 Offset 0 Decorate 10(t3) Block + MemberDecorate 10(t3) 0 Offset 0 Decorate 13(y) DecorationAliasedPointerEXT - MemberDecorate 19(t5) 0 Offset 0 Decorate 19(t5) Block - Decorate 21(s5) DescriptorSet 0 + MemberDecorate 19(t5) 0 Offset 0 Decorate 21(s5) Binding 0 + Decorate 21(s5) DescriptorSet 0 + Decorate 23(param) DecorationAliasedPointerEXT + Decorate 38(t4) Block MemberDecorate 38(t4) 0 Offset 0 MemberDecorate 38(t4) 1 Offset 8 - Decorate 38(t4) Block - Decorate 40(x) DescriptorSet 1 Decorate 40(x) Binding 2 + Decorate 40(x) DescriptorSet 1 Decorate 42(k) Flat Decorate 42(k) Location 0 Decorate 42(k) DecorationAliasedPointerEXT - Decorate 23(param) DecorationAliasedPointerEXT 2: TypeVoid 3: TypeFunction 2 TypeForwardPointer 6 PhysicalStorageBufferEXT diff --git a/Test/baseResults/spv.bufferhandle4.frag.out b/Test/baseResults/spv.bufferhandle4.frag.out index 1ccb6095..42b34b7e 100644 --- a/Test/baseResults/spv.bufferhandle4.frag.out +++ b/Test/baseResults/spv.bufferhandle4.frag.out @@ -28,21 +28,21 @@ spv.bufferhandle4.frag MemberName 19(t5) 0 "m" Name 21 "s5" Name 43 "b" + Decorate 8(t4) Block MemberDecorate 8(t4) 0 Offset 0 MemberDecorate 8(t4) 1 Offset 8 - Decorate 8(t4) Block + Decorate 10(t3) Block MemberDecorate 10(t3) 0 Offset 0 MemberDecorate 10(t3) 1 Offset 8 - Decorate 10(t3) Block + Decorate 11(t4) Block MemberDecorate 11(t4) 0 Offset 0 MemberDecorate 11(t4) 1 Offset 8 - Decorate 11(t4) Block - Decorate 13(x) DescriptorSet 1 Decorate 13(x) Binding 2 - MemberDecorate 19(t5) 0 Offset 0 + Decorate 13(x) DescriptorSet 1 Decorate 19(t5) Block - Decorate 21(s5) DescriptorSet 0 + MemberDecorate 19(t5) 0 Offset 0 Decorate 21(s5) Binding 0 + Decorate 21(s5) DescriptorSet 0 Decorate 47 DecorationAliasedPointerEXT 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.bufferhandle5.frag.out b/Test/baseResults/spv.bufferhandle5.frag.out index 0bcb34b0..cce131dd 100644 --- a/Test/baseResults/spv.bufferhandle5.frag.out +++ b/Test/baseResults/spv.bufferhandle5.frag.out @@ -19,13 +19,13 @@ spv.bufferhandle5.frag Name 9 "t3" MemberName 9(t3) 0 "h" Name 11 "x" + Decorate 8(t4) Block MemberDecorate 8(t4) 0 Offset 0 MemberDecorate 8(t4) 1 Offset 8 - Decorate 8(t4) Block - MemberDecorate 9(t3) 0 Offset 0 Decorate 9(t3) Block - Decorate 11(x) DescriptorSet 1 + MemberDecorate 9(t3) 0 Offset 0 Decorate 11(x) Binding 2 + Decorate 11(x) DescriptorSet 1 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.bufferhandle6.frag.out b/Test/baseResults/spv.bufferhandle6.frag.out index 758a30be..89749cd8 100644 --- a/Test/baseResults/spv.bufferhandle6.frag.out +++ b/Test/baseResults/spv.bufferhandle6.frag.out @@ -34,26 +34,26 @@ spv.bufferhandle6.frag Name 154 "gl_FragCoord" Decorate 12 ArrayStride 4 Decorate 14 ArrayStride 8 + Decorate 15(T1) Block MemberDecorate 15(T1) 0 Offset 0 MemberDecorate 15(T1) 1 Offset 32 MemberDecorate 15(T1) 2 Offset 48 MemberDecorate 15(T1) 3 Offset 80 - Decorate 15(T1) Block Decorate 16 ArrayStride 4 Decorate 17 ArrayStride 8 + Decorate 18(T1) Block MemberDecorate 18(T1) 0 Offset 0 MemberDecorate 18(T1) 1 Offset 32 MemberDecorate 18(T1) 2 Offset 48 MemberDecorate 18(T1) 3 Offset 80 - Decorate 18(T1) Block Decorate 19 ArrayStride 8 - Decorate 21(x) DescriptorSet 3 Decorate 21(x) Binding 1 + Decorate 21(x) DescriptorSet 3 Decorate 29 ArrayStride 4 - MemberDecorate 30(Block) 0 Offset 0 Decorate 30(Block) Block - Decorate 149(image0_0) DescriptorSet 3 + MemberDecorate 30(Block) 0 Offset 0 Decorate 149(image0_0) Binding 0 + Decorate 149(image0_0) DescriptorSet 3 Decorate 154(gl_FragCoord) BuiltIn FragCoord 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.bufferhandle7.frag.out b/Test/baseResults/spv.bufferhandle7.frag.out index 070adb71..6af3efbb 100644 --- a/Test/baseResults/spv.bufferhandle7.frag.out +++ b/Test/baseResults/spv.bufferhandle7.frag.out @@ -30,24 +30,24 @@ spv.bufferhandle7.frag MemberName 15(t2) 0 "f" MemberName 15(t2) 1 "g" Name 17 "u" + Decorate 7(t2) Block MemberDecorate 7(t2) 0 Offset 0 MemberDecorate 7(t2) 1 Offset 8 - Decorate 7(t2) Block + Decorate 9(blockType) Block MemberDecorate 9(blockType) 0 Offset 0 MemberDecorate 9(blockType) 1 Offset 4 MemberDecorate 9(blockType) 2 Offset 8 MemberDecorate 9(blockType) 3 Offset 12 MemberDecorate 9(blockType) 4 Offset 16 - Decorate 9(blockType) Block - Decorate 11(t) DescriptorSet 0 Decorate 11(t) Binding 0 - MemberDecorate 14(t3) 0 Offset 0 + Decorate 11(t) DescriptorSet 0 Decorate 14(t3) Block + MemberDecorate 14(t3) 0 Offset 0 + Decorate 15(t2) Block MemberDecorate 15(t2) 0 Offset 0 MemberDecorate 15(t2) 1 Offset 8 - Decorate 15(t2) Block - Decorate 17(u) DescriptorSet 0 Decorate 17(u) Binding 1 + Decorate 17(u) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 TypeForwardPointer 6 PhysicalStorageBufferEXT diff --git a/Test/baseResults/spv.bufferhandle8.frag.out b/Test/baseResults/spv.bufferhandle8.frag.out index 52eec110..7a717b0b 100644 --- a/Test/baseResults/spv.bufferhandle8.frag.out +++ b/Test/baseResults/spv.bufferhandle8.frag.out @@ -38,29 +38,29 @@ spv.bufferhandle8.frag MemberName 36(blockType) 3 "d" MemberName 36(blockType) 4 "e" Name 38 "t" - MemberDecorate 10(T1) 0 Offset 0 Decorate 10(T1) Block - MemberDecorate 11(T2) 0 Offset 0 + MemberDecorate 10(T1) 0 Offset 0 Decorate 11(T2) Block + MemberDecorate 11(T2) 0 Offset 0 + Decorate 13(x) DecorationAliasedPointerEXT MemberDecorate 14(Blah) 0 Offset 0 MemberDecorate 14(Blah) 1 Offset 8 Decorate 15 ArrayStride 16 - MemberDecorate 16(T3) 0 Offset 0 Decorate 16(T3) Block - Decorate 18(t3) DescriptorSet 0 + MemberDecorate 16(T3) 0 Offset 0 Decorate 18(t3) Binding 0 + Decorate 18(t3) DescriptorSet 0 + Decorate 35(t2) Block MemberDecorate 35(t2) 0 Offset 0 MemberDecorate 35(t2) 1 Offset 8 - Decorate 35(t2) Block + Decorate 36(blockType) Block MemberDecorate 36(blockType) 0 Offset 0 MemberDecorate 36(blockType) 1 Offset 4 MemberDecorate 36(blockType) 2 Offset 8 MemberDecorate 36(blockType) 3 Offset 12 MemberDecorate 36(blockType) 4 Offset 16 - Decorate 36(blockType) Block - Decorate 38(t) DescriptorSet 0 Decorate 38(t) Binding 0 - Decorate 13(x) DecorationAliasedPointerEXT + Decorate 38(t) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 TypeForwardPointer 6 PhysicalStorageBufferEXT diff --git a/Test/baseResults/spv.bufferhandle9.frag.out b/Test/baseResults/spv.bufferhandle9.frag.out index ff7ede7a..e094605c 100644 --- a/Test/baseResults/spv.bufferhandle9.frag.out +++ b/Test/baseResults/spv.bufferhandle9.frag.out @@ -32,12 +32,12 @@ spv.bufferhandle9.frag MemberName 53(t2) 0 "f" MemberName 53(t2) 1 "g" Name 55 "t" + Decorate 8(blockType) Block MemberDecorate 8(blockType) 0 Offset 0 MemberDecorate 8(blockType) 1 Offset 4 MemberDecorate 8(blockType) 2 Offset 8 MemberDecorate 8(blockType) 3 Offset 12 MemberDecorate 8(blockType) 4 Offset 16 - Decorate 8(blockType) Block Decorate 13(b1) DecorationAliasedPointerEXT Decorate 16(h) Flat Decorate 16(h) Location 0 @@ -45,11 +45,11 @@ spv.bufferhandle9.frag Decorate 19(i) Location 1 Decorate 34(b2) DecorationAliasedPointerEXT Decorate 37(b3) DecorationAliasedPointerEXT + Decorate 53(t2) Block MemberDecorate 53(t2) 0 Offset 0 MemberDecorate 53(t2) 1 Offset 8 - Decorate 53(t2) Block - Decorate 55(t) DescriptorSet 0 Decorate 55(t) Binding 0 + Decorate 55(t) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 TypeForwardPointer 6 PhysicalStorageBufferEXT diff --git a/Test/baseResults/spv.bufferhandleUvec2.frag.out b/Test/baseResults/spv.bufferhandleUvec2.frag.out index 133190e5..0ee138ba 100644 --- a/Test/baseResults/spv.bufferhandleUvec2.frag.out +++ b/Test/baseResults/spv.bufferhandleUvec2.frag.out @@ -33,12 +33,12 @@ spv.bufferhandleUvec2.frag MemberName 68(t2) 0 "f" MemberName 68(t2) 1 "g" Name 70 "t" + Decorate 8(blockType) Block MemberDecorate 8(blockType) 0 Offset 0 MemberDecorate 8(blockType) 1 Offset 4 MemberDecorate 8(blockType) 2 Offset 8 MemberDecorate 8(blockType) 3 Offset 12 MemberDecorate 8(blockType) 4 Offset 16 - Decorate 8(blockType) Block Decorate 13(b1) DecorationAliasedPointerEXT Decorate 16(h) Flat Decorate 16(h) Location 0 @@ -46,11 +46,11 @@ spv.bufferhandleUvec2.frag Decorate 19(i) Location 1 Decorate 34(b2) DecorationAliasedPointerEXT Decorate 37(b3) DecorationAliasedPointerEXT + Decorate 68(t2) Block MemberDecorate 68(t2) 0 Offset 0 MemberDecorate 68(t2) 1 Offset 8 - Decorate 68(t2) Block - Decorate 70(t) DescriptorSet 0 Decorate 70(t) Binding 0 + Decorate 70(t) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 TypeForwardPointer 6 PhysicalStorageBufferEXT diff --git a/Test/baseResults/spv.builtInXFB.vert.out b/Test/baseResults/spv.builtInXFB.vert.out index b3a3e12c..68e5a7d4 100644 --- a/Test/baseResults/spv.builtInXFB.vert.out +++ b/Test/baseResults/spv.builtInXFB.vert.out @@ -15,11 +15,11 @@ spv.builtInXFB.vert MemberName 8(gl_PerVertex) 0 "gl_Position" MemberName 8(gl_PerVertex) 1 "gl_PointSize" Name 10 "" - MemberDecorate 8(gl_PerVertex) 0 Offset 20 - MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position - MemberDecorate 8(gl_PerVertex) 1 Offset 16 - MemberDecorate 8(gl_PerVertex) 1 BuiltIn PointSize Decorate 8(gl_PerVertex) Block + MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 8(gl_PerVertex) 0 Offset 20 + MemberDecorate 8(gl_PerVertex) 1 BuiltIn PointSize + MemberDecorate 8(gl_PerVertex) 1 Offset 16 Decorate 10 XfbBuffer 1 Decorate 10 XfbStride 64 2: TypeVoid diff --git a/Test/baseResults/spv.builtin.ShadingRateEXT.frag.out b/Test/baseResults/spv.builtin.ShadingRateEXT.frag.out index 5707fb93..1729a162 100644 --- a/Test/baseResults/spv.builtin.ShadingRateEXT.frag.out +++ b/Test/baseResults/spv.builtin.ShadingRateEXT.frag.out @@ -19,8 +19,8 @@ WARNING: 0:5: '' : all default precisions are highp; use precision statements to Name 8 "val" Name 10 "gl_ShadingRateEXT" Decorate 8(val) Location 0 - Decorate 10(gl_ShadingRateEXT) Flat Decorate 10(gl_ShadingRateEXT) BuiltIn ShadingRateKHR + Decorate 10(gl_ShadingRateEXT) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.computeShaderDerivatives.comp.out b/Test/baseResults/spv.computeShaderDerivatives.comp.out index 47610785..789e05ea 100644 --- a/Test/baseResults/spv.computeShaderDerivatives.comp.out +++ b/Test/baseResults/spv.computeShaderDerivatives.comp.out @@ -61,6 +61,7 @@ spv.computeShaderDerivatives.comp MemberName 10(block) 42 "v4X" MemberName 10(block) 43 "v4Y" Name 12 "" + Decorate 10(block) BufferBlock MemberDecorate 10(block) 0 Offset 0 MemberDecorate 10(block) 1 Offset 4 MemberDecorate 10(block) 2 Offset 8 @@ -105,9 +106,8 @@ spv.computeShaderDerivatives.comp MemberDecorate 10(block) 41 Offset 448 MemberDecorate 10(block) 42 Offset 464 MemberDecorate 10(block) 43 Offset 480 - Decorate 10(block) BufferBlock - Decorate 12 DescriptorSet 0 Decorate 12 Binding 0 + Decorate 12 DescriptorSet 0 Decorate 211 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.computeShaderDerivatives2.comp.out b/Test/baseResults/spv.computeShaderDerivatives2.comp.out index 52b54746..a520fc3e 100644 --- a/Test/baseResults/spv.computeShaderDerivatives2.comp.out +++ b/Test/baseResults/spv.computeShaderDerivatives2.comp.out @@ -61,6 +61,7 @@ spv.computeShaderDerivatives2.comp MemberName 10(block) 42 "v4X" MemberName 10(block) 43 "v4Y" Name 12 "" + Decorate 10(block) BufferBlock MemberDecorate 10(block) 0 Offset 0 MemberDecorate 10(block) 1 Offset 4 MemberDecorate 10(block) 2 Offset 8 @@ -105,9 +106,8 @@ spv.computeShaderDerivatives2.comp MemberDecorate 10(block) 41 Offset 448 MemberDecorate 10(block) 42 Offset 464 MemberDecorate 10(block) 43 Offset 480 - Decorate 10(block) BufferBlock - Decorate 12 DescriptorSet 0 Decorate 12 Binding 0 + Decorate 12 DescriptorSet 0 Decorate 211 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.computeShaderDerivativesSpec.comp.out b/Test/baseResults/spv.computeShaderDerivativesSpec.comp.out new file mode 100644 index 00000000..e4afc6f5 --- /dev/null +++ b/Test/baseResults/spv.computeShaderDerivativesSpec.comp.out @@ -0,0 +1,31 @@ +spv.computeShaderDerivativesSpec.comp +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 12 + + Capability Shader + Capability ComputeDerivativeGroupQuadsNV + Extension "SPV_NV_compute_shader_derivatives" + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint GLCompute 4 "main" + ExecutionMode 4 LocalSize 1 1 1 + ExecutionMode 4 DerivativeGroupQuadsNV + Source GLSL 450 + SourceExtension "GL_NV_compute_shader_derivatives" + Name 4 "main" + Decorate 7 SpecId 0 + Decorate 8 SpecId 1 + Decorate 11 BuiltIn WorkgroupSize + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: 6(int) SpecConstant 1 + 8: 6(int) SpecConstant 1 + 9: 6(int) Constant 1 + 10: TypeVector 6(int) 3 + 11: 10(ivec3) SpecConstantComposite 7 8 9 + 4(main): 2 Function None 3 + 5: Label + Return + FunctionEnd diff --git a/Test/baseResults/spv.computeShaderDerivativesSpec2.comp.out b/Test/baseResults/spv.computeShaderDerivativesSpec2.comp.out new file mode 100644 index 00000000..a3b38caf --- /dev/null +++ b/Test/baseResults/spv.computeShaderDerivativesSpec2.comp.out @@ -0,0 +1,31 @@ +spv.computeShaderDerivativesSpec2.comp +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 12 + + Capability Shader + Capability ComputeDerivativeGroupLinearNV + Extension "SPV_NV_compute_shader_derivatives" + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint GLCompute 4 "main" + ExecutionMode 4 LocalSize 1 1 1 + ExecutionMode 4 DerivativeGroupLinearNV + Source ESSL 320 + SourceExtension "GL_NV_compute_shader_derivatives" + Name 4 "main" + Decorate 7 SpecId 0 + Decorate 8 SpecId 1 + Decorate 11 BuiltIn WorkgroupSize + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 0 + 7: 6(int) SpecConstant 1 + 8: 6(int) SpecConstant 1 + 9: 6(int) Constant 1 + 10: TypeVector 6(int) 3 + 11: 10(ivec3) SpecConstantComposite 7 8 9 + 4(main): 2 Function None 3 + 5: Label + Return + FunctionEnd diff --git a/Test/baseResults/spv.conditionalDemote.frag.out b/Test/baseResults/spv.conditionalDemote.frag.out index 84c816b2..fb789db7 100644 --- a/Test/baseResults/spv.conditionalDemote.frag.out +++ b/Test/baseResults/spv.conditionalDemote.frag.out @@ -18,8 +18,8 @@ spv.conditionalDemote.frag Name 17 "coord" Name 33 "x" Name 36 "o" - Decorate 13(tex) DescriptorSet 0 Decorate 13(tex) Binding 0 + Decorate 13(tex) DescriptorSet 0 Decorate 17(coord) Location 0 Decorate 36(o) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.conditionalDiscard.frag.out b/Test/baseResults/spv.conditionalDiscard.frag.out index f31fa851..3d7cca84 100644 --- a/Test/baseResults/spv.conditionalDiscard.frag.out +++ b/Test/baseResults/spv.conditionalDiscard.frag.out @@ -14,8 +14,8 @@ spv.conditionalDiscard.frag Name 13 "tex" Name 17 "coord" Name 34 "gl_FragColor" - Decorate 13(tex) DescriptorSet 0 Decorate 13(tex) Binding 0 + Decorate 13(tex) DescriptorSet 0 Decorate 17(coord) Location 0 Decorate 34(gl_FragColor) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.constructComposite.comp.out b/Test/baseResults/spv.constructComposite.comp.out index 491a33f1..c2688ca5 100644 --- a/Test/baseResults/spv.constructComposite.comp.out +++ b/Test/baseResults/spv.constructComposite.comp.out @@ -27,10 +27,10 @@ spv.constructComposite.comp MemberDecorate 11(sA) 0 Offset 0 MemberDecorate 11(sA) 1 Offset 4 MemberDecorate 12(sB) 0 Offset 0 - MemberDecorate 13(ubo) 0 Offset 0 Decorate 13(ubo) Block - Decorate 15 DescriptorSet 0 + MemberDecorate 13(ubo) 0 Offset 0 Decorate 15 Binding 0 + Decorate 15 DescriptorSet 0 Decorate 28 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.coopmat.comp.out b/Test/baseResults/spv.coopmat.comp.out index b594af23..b14ad59b 100644 --- a/Test/baseResults/spv.coopmat.comp.out +++ b/Test/baseResults/spv.coopmat.comp.out @@ -78,24 +78,24 @@ spv.coopmat.comp Name 227 "scm" Decorate 66 ArrayStride 4 Decorate 67 ArrayStride 4 + Decorate 68(Block) Block MemberDecorate 68(Block) 0 Offset 0 MemberDecorate 68(Block) 1 Offset 4194304 - Decorate 68(Block) Block - Decorate 70(block) DescriptorSet 0 Decorate 70(block) Binding 0 + Decorate 70(block) DescriptorSet 0 Decorate 82 ArrayStride 2 Decorate 84 ArrayStride 2 + Decorate 86(Block16) Block MemberDecorate 86(Block16) 0 Offset 0 MemberDecorate 86(Block16) 1 Offset 2097152 MemberDecorate 86(Block16) 2 Offset 2097160 - Decorate 86(Block16) Block Decorate 87 ArrayStride 4 Decorate 88 ArrayStride 4 + Decorate 89(Block) Block MemberDecorate 89(Block) 0 Offset 0 MemberDecorate 89(Block) 1 Offset 4194304 - Decorate 89(Block) Block - Decorate 91(block16) DescriptorSet 0 Decorate 91(block16) Binding 0 + Decorate 91(block16) DescriptorSet 0 Decorate 124(Y) SpecId 0 Decorate 200 BuiltIn WorkgroupSize Decorate 212(F) SpecId 1 diff --git a/Test/baseResults/spv.coopmatKHR.comp.out b/Test/baseResults/spv.coopmatKHR.comp.out index 60a45400..4d87d70a 100644 --- a/Test/baseResults/spv.coopmatKHR.comp.out +++ b/Test/baseResults/spv.coopmatKHR.comp.out @@ -82,24 +82,24 @@ spv.coopmatKHR.comp Name 249 "scm" Decorate 67 ArrayStride 4 Decorate 68 ArrayStride 4 + Decorate 69(Block) Block MemberDecorate 69(Block) 0 Offset 0 MemberDecorate 69(Block) 1 Offset 4194304 - Decorate 69(Block) Block - Decorate 71(block) DescriptorSet 0 Decorate 71(block) Binding 0 + Decorate 71(block) DescriptorSet 0 Decorate 81 ArrayStride 2 Decorate 83 ArrayStride 2 + Decorate 85(Block16) Block MemberDecorate 85(Block16) 0 Offset 0 MemberDecorate 85(Block16) 1 Offset 2097152 MemberDecorate 85(Block16) 2 Offset 2097160 - Decorate 85(Block16) Block Decorate 86 ArrayStride 4 Decorate 87 ArrayStride 4 + Decorate 88(Block) Block MemberDecorate 88(Block) 0 Offset 0 MemberDecorate 88(Block) 1 Offset 4194304 - Decorate 88(Block) Block - Decorate 90(block16) DescriptorSet 0 Decorate 90(block16) Binding 0 + Decorate 90(block16) DescriptorSet 0 Decorate 128(Y) SpecId 0 Decorate 232 BuiltIn WorkgroupSize Decorate 234(F) SpecId 1 diff --git a/Test/baseResults/spv.coopmat_armlayout.comp.out b/Test/baseResults/spv.coopmat_armlayout.comp.out index fbeb6555..8566f6ec 100644 --- a/Test/baseResults/spv.coopmat_armlayout.comp.out +++ b/Test/baseResults/spv.coopmat_armlayout.comp.out @@ -84,24 +84,24 @@ spv.coopmat_armlayout.comp Name 250 "scm" Decorate 67 ArrayStride 4 Decorate 68 ArrayStride 4 + Decorate 69(Block) Block MemberDecorate 69(Block) 0 Offset 0 MemberDecorate 69(Block) 1 Offset 4194304 - Decorate 69(Block) Block - Decorate 71(block) DescriptorSet 0 Decorate 71(block) Binding 0 + Decorate 71(block) DescriptorSet 0 Decorate 82 ArrayStride 2 Decorate 84 ArrayStride 2 + Decorate 86(Block16) Block MemberDecorate 86(Block16) 0 Offset 0 MemberDecorate 86(Block16) 1 Offset 2097152 MemberDecorate 86(Block16) 2 Offset 2097160 - Decorate 86(Block16) Block Decorate 87 ArrayStride 4 Decorate 88 ArrayStride 4 + Decorate 89(Block) Block MemberDecorate 89(Block) 0 Offset 0 MemberDecorate 89(Block) 1 Offset 4194304 - Decorate 89(Block) Block - Decorate 91(block16) DescriptorSet 0 Decorate 91(block16) Binding 0 + Decorate 91(block16) DescriptorSet 0 Decorate 129(Y) SpecId 0 Decorate 233 BuiltIn WorkgroupSize Decorate 235(F) SpecId 1 diff --git a/Test/baseResults/spv.dataOutIndirect.frag.out b/Test/baseResults/spv.dataOutIndirect.frag.out index d07cfe97..e699d401 100644 --- a/Test/baseResults/spv.dataOutIndirect.frag.out +++ b/Test/baseResults/spv.dataOutIndirect.frag.out @@ -16,10 +16,10 @@ spv.dataOutIndirect.frag Name 16 "bName" Name 22 "Color" Decorate 12(fcolor) Location 0 - MemberDecorate 14(b) 0 Offset 0 Decorate 14(b) Block - Decorate 16(bName) DescriptorSet 0 + MemberDecorate 14(b) 0 Offset 0 Decorate 16(bName) Binding 0 + Decorate 16(bName) DescriptorSet 0 Decorate 22(Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.debugInfo.1.1.frag.out b/Test/baseResults/spv.debugInfo.1.1.frag.out index 12726756..30543d66 100644 --- a/Test/baseResults/spv.debugInfo.1.1.frag.out +++ b/Test/baseResults/spv.debugInfo.1.1.frag.out @@ -129,12 +129,12 @@ void main() Decorate 30(inv) Location 0 Decorate 104(outv) Location 0 MemberDecorate 105(S) 0 Offset 0 - MemberDecorate 106(ubuf) 0 Offset 0 Decorate 106(ubuf) Block - Decorate 108 DescriptorSet 3 + MemberDecorate 106(ubuf) 0 Offset 0 Decorate 108 Binding 0 - Decorate 131(s2d) DescriptorSet 3 + Decorate 108 DescriptorSet 3 Decorate 131(s2d) Binding 1 + Decorate 131(s2d) DescriptorSet 3 3: TypeVoid 4: TypeFunction 3 7: TypeInt 32 1 @@ -296,6 +296,7 @@ void main() Store 179 186 Branch 181 181: Label + Line 1 83 0 Return FunctionEnd Line 1 16 13 @@ -411,6 +412,7 @@ void main() Store 90 96 Branch 92 92: Label + Line 1 53 0 97: 10(float) Load 90 Line 1 51 0 98: 10(float) Load 56(result) diff --git a/Test/baseResults/spv.debugInfo.frag.out b/Test/baseResults/spv.debugInfo.frag.out index 8bacd74d..05621a66 100644 --- a/Test/baseResults/spv.debugInfo.frag.out +++ b/Test/baseResults/spv.debugInfo.frag.out @@ -129,13 +129,13 @@ void main() Decorate 30(inv) Location 0 Decorate 104(outv) Location 0 MemberDecorate 105(S) 0 Offset 0 - MemberDecorate 106(ubuf) 0 Offset 0 Decorate 106(ubuf) Block - Decorate 108 DescriptorSet 3 + MemberDecorate 106(ubuf) 0 Offset 0 Decorate 108 Binding 0 + Decorate 108 DescriptorSet 3 Decorate 131(s2d) Location 0 - Decorate 131(s2d) DescriptorSet 3 Decorate 131(s2d) Binding 1 + Decorate 131(s2d) DescriptorSet 3 3: TypeVoid 4: TypeFunction 3 7: TypeInt 32 1 @@ -297,6 +297,7 @@ void main() Store 179 186 Branch 181 181: Label + Line 1 83 0 Return FunctionEnd Line 1 16 13 @@ -412,6 +413,7 @@ void main() Store 90 96 Branch 92 92: Label + Line 1 53 0 97: 10(float) Load 90 Line 1 51 0 98: 10(float) Load 56(result) diff --git a/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out b/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out index c47f0e66..a117fd79 100644 --- a/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.bufferref.glsl.frag.out @@ -1,7 +1,7 @@ spv.debuginfo.bufferref.glsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 146 +// Id's are bound by 148 Capability Shader Capability PhysicalStorageBufferAddressesEXT @@ -81,19 +81,20 @@ void main() { Name 98 "vertex_pos0" Name 135 "out_fragColor" Decorate 42 ArrayStride 4 - MemberDecorate 44(MeshVertexPositions) 0 Offset 0 Decorate 44(MeshVertexPositions) Block + MemberDecorate 44(MeshVertexPositions) 0 Offset 0 + Decorate 53(meshData) DecorationAliasedPointerEXT MemberDecorate 59(Mesh) 0 Offset 0 Decorate 62 ArrayStride 8 + Decorate 64(PerPass_meshes) Block MemberDecorate 64(PerPass_meshes) 0 NonWritable MemberDecorate 64(PerPass_meshes) 0 Offset 0 - Decorate 64(PerPass_meshes) Block - Decorate 73(perPass_meshes) DescriptorSet 0 + Decorate 73(perPass_meshes) NonWritable Decorate 73(perPass_meshes) Binding 0 + Decorate 73(perPass_meshes) DescriptorSet 0 Decorate 82(tri_idx0) Flat Decorate 82(tri_idx0) Location 0 Decorate 135(out_fragColor) Location 0 - Decorate 53(meshData) DecorationAliasedPointerEXT 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 @@ -176,6 +177,7 @@ void main() { 138: 7(int) Constant 27 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 137 132 18 138 12 21 137 135(out_fragColor) 67 141: 39(float) Constant 1065353216 + 147: 7(int) Constant 28 14(main): 4 Function None 5 15: Label 53(meshData): 50(ptr) Variable Function @@ -225,5 +227,6 @@ void main() { 144: 39(float) CompositeExtract 139 2 145: 131(fvec4) CompositeConstruct 142 143 144 141 Store 135(out_fragColor) 145 + 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 147 147 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.const_params.glsl.comp.out b/Test/baseResults/spv.debuginfo.const_params.glsl.comp.out index 5676d1c8..c36a72de 100644 --- a/Test/baseResults/spv.debuginfo.const_params.glsl.comp.out +++ b/Test/baseResults/spv.debuginfo.const_params.glsl.comp.out @@ -1,7 +1,7 @@ spv.debuginfo.const_params.glsl.comp // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 71 +// Id's are bound by 73 Capability Shader Extension "SPV_KHR_non_semantic_info" @@ -85,6 +85,7 @@ void main() 66: 22(fvec3) ConstantComposite 64 64 64 67: 24(fvec4) ConstantComposite 64 64 64 64 70: 7(int) Constant 13 + 72: 7(int) Constant 14 14(main): 4 Function None 5 15: Label 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 58 @@ -92,6 +93,7 @@ void main() 61: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 58 14(main) 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 37 70 70 12 12 68: 4 FunctionCall 33(function(f1;vf2;vf3;vf4;) 64 65 66 67 + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 37 72 72 12 12 Return FunctionEnd 33(function(f1;vf2;vf3;vf4;): 4 Function None 27 diff --git a/Test/baseResults/spv.debuginfo.coopmatKHR.comp.out b/Test/baseResults/spv.debuginfo.coopmatKHR.comp.out new file mode 100644 index 00000000..bc527594 --- /dev/null +++ b/Test/baseResults/spv.debuginfo.coopmatKHR.comp.out @@ -0,0 +1,623 @@ +spv.debuginfo.coopmatKHR.comp +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 380 + + Capability Shader + Capability Float16 + Capability StorageUniformBufferBlock16 + Capability VulkanMemoryModelKHR + Capability CooperativeMatrixKHR + Extension "SPV_KHR_16bit_storage" + Extension "SPV_KHR_cooperative_matrix" + Extension "SPV_KHR_non_semantic_info" + Extension "SPV_KHR_storage_buffer_storage_class" + Extension "SPV_KHR_vulkan_memory_model" + 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" + 3: ExtInstImport "GLSL.std.450" + MemoryModel Logical VulkanKHR + EntryPoint GLCompute 14 "main" + ExecutionMode 14 LocalSize 1 1 1 + 2: String "spv.debuginfo.coopmatKHR.comp" + 8: String "uint" + 16: String "main" + 19: String "// OpModuleProcessed auto-map-locations +// OpModuleProcessed auto-map-bindings +// OpModuleProcessed client vulkan100 +// OpModuleProcessed target-env vulkan1.0 +// OpModuleProcessed keep-uncalled +// OpModuleProcessed entry-point main +// OpModuleProcessed use-vulkan-memory-model +// OpModuleProcessed use-vulkan-memory-model +// OpModuleProcessed use-vulkan-memory-model +// OpModuleProcessed use-vulkan-memory-model +#line 1 +/* + * Copyright (c) 2019-2024, NVIDIA CORPORATION. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is 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 Software. + * + * THE SOFTWARE IS 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 SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ +#version 450 core +#pragma use_vulkan_memory_model +#extension GL_EXT_scalar_block_layout : enable +#extension GL_KHR_memory_scope_semantics : enable +#extension GL_KHR_cooperative_matrix : enable +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#extension GL_EXT_shader_explicit_arithmetic_types_int8 : enable +#extension GL_EXT_shader_explicit_arithmetic_types_int32 : enable +#extension GL_EXT_buffer_reference : enable +#extension GL_EXT_control_flow_attributes : enable + +layout(constant_id = 0) const uint lM = 1; +layout(constant_id = 1) const uint lN = 1; +layout(constant_id = 2) const uint lK = 1; +layout(constant_id = 3) const uint TILE_M = 1; +layout(constant_id = 4) const uint TILE_N = 1; +layout(constant_id = 5) const uint TILE_K = 1; +layout(constant_id = 6) const uint K = 1; + +#define A_BITS 16 +#define A_TYPE float16_t +#define C_BITS 16 +#define C_TYPE float16_t + +buffer Output { C_TYPE x[]; } outputO; + +shared uvec4 Ash[128]; +shared uvec4 Bsh[128]; + +const uint C_ROWS = 2; +const uint C_COLS = 2; +coopmat result[C_ROWS][C_COLS]; + +void main() +{ + [[unroll]] for (uint i = 0; i < C_ROWS; ++i) { + [[unroll]] for (uint j = 0; j < C_COLS; ++j) { + result[i][j] = coopmat(0.0); + } + } + + for (uint chunkK = 0; chunkK < K; chunkK += TILE_K) { + [[unroll]] for (uint k = 0; k < TILE_K / lK; ++k) + { + coopmat matA[C_ROWS]; + [[unroll]] for (uint i = 0; i < C_ROWS; ++i) { + coopMatLoad(matA[i], Ash, 0, 0, gl_CooperativeMatrixLayoutRowMajor); + } + + coopmat matB; + [[unroll]] for (uint j = 0; j < C_COLS; ++j) { + coopMatLoad(matB, Bsh, 0, 0, gl_CooperativeMatrixLayoutRowMajor); + + [[unroll]] for (uint i = 0; i < C_ROWS; ++i) { + result[i][j] = coopMatMulAdd(matA[i], matB, result[i][j]); + } + } + } + } + + [[unroll]] for (uint i = 0; i < C_ROWS; ++i) { + [[unroll]] for (uint j = 0; j < C_COLS; ++j) { + coopMatStore(result[i][j], outputO.x, 0, 0, gl_CooperativeMatrixLayoutRowMajor); + } + } +} +" + 33: String "i" + 49: String "bool" + 54: String "j" + 71: String "float16_t" + 78: String "coopmat" + 80: String "@coopmat" + 90: String "result" + 106: String "int" + 116: String "chunkK" + 135: String "k" + 173: String "coopmat" + 175: String "@coopmat" + 180: String "tempArg" + 193: String "Ash" + 207: String "matA" + 237: String "coopmat" + 239: String "@coopmat" + 249: String "Bsh" + 256: String "matB" + 353: String "x" + 357: String "Output" + 363: String "outputO" + SourceExtension "GL_EXT_buffer_reference" + SourceExtension "GL_EXT_control_flow_attributes" + SourceExtension "GL_EXT_scalar_block_layout" + SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float16" + SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int32" + SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int8" + SourceExtension "GL_KHR_cooperative_matrix" + SourceExtension "GL_KHR_memory_scope_semantics" + Name 14 "main" + Name 31 "i" + Name 52 "j" + Name 74 "lM" + Name 75 "lN" + Name 88 "result" + Name 114 "chunkK" + Name 131 "K" + Name 133 "k" + Name 150 "TILE_K" + Name 151 "lK" + Name 154 "i" + Name 178 "tempArg" + Name 191 "Ash" + Name 205 "matA" + Name 218 "j" + Name 242 "tempArg" + Name 247 "Bsh" + Name 254 "matB" + Name 261 "i" + Name 308 "i" + Name 325 "j" + Name 351 "Output" + MemberName 351(Output) 0 "x" + Name 361 "outputO" + Name 378 "TILE_M" + Name 379 "TILE_N" + Decorate 74(lM) SpecId 0 + Decorate 75(lN) SpecId 1 + Decorate 131(K) SpecId 6 + Decorate 150(TILE_K) SpecId 5 + Decorate 151(lK) SpecId 2 + Decorate 349 ArrayStride 2 + Decorate 351(Output) Block + MemberDecorate 351(Output) 0 Offset 0 + Decorate 361(outputO) Binding 0 + Decorate 361(outputO) DescriptorSet 0 + Decorate 378(TILE_M) SpecId 3 + Decorate 379(TILE_N) SpecId 4 + 4: TypeVoid + 5: TypeFunction 4 + 7: TypeInt 32 0 + 10: 7(int) Constant 32 + 11: 7(int) Constant 6 + 12: 7(int) Constant 0 + 9: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12 + 13: 7(int) Constant 3 + 6: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4 + 18: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 19 + 20: 7(int) Constant 55 + 22: 7(int) Constant 1 + 23: 7(int) Constant 4 + 24: 7(int) Constant 2 + 21: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 22 23 18 24 + 17: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 16 6 18 20 12 21 16 13 20 + 28: TypePointer Function 7(int) + 29: 7(int) Constant 7 + 30: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 29 12 + 34: 7(int) Constant 57 + 32: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 33 9 18 34 12 17 23 + 36: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) + 48: TypeBool + 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 49 10 24 12 + 55: 7(int) Constant 58 + 53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 54 9 18 55 12 17 23 + 70: TypeFloat 16 + 73: 7(int) Constant 16 + 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 71 73 13 12 + 74(lM): 7(int) SpecConstant 1 + 75(lN): 7(int) SpecConstant 1 + 76: TypeCooperativeMatrixKHR 70(float16_t) 13 74(lM) 75(lN) 24 + 79: 7(int) Constant 53 + 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 78 22 18 79 12 21 80 81 13 + 82: TypeArray 76 24 + 83: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 77 24 + 84: TypeArray 82 24 + 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 83 24 + 86: TypePointer Private 84 + 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 85 11 12 + 88(result): 86(ptr) Variable Private + 91: 7(int) Constant 8 + 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 90 85 18 79 12 21 90 88(result) 91 + 95: 7(int) Constant 59 + 97:70(float16_t) Constant 0 + 98: 76 ConstantComposite 97 + 99: TypePointer Private 76 + 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 77 11 12 + 105: TypeInt 32 1 + 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 106 10 23 12 + 108: 105(int) Constant 1 + 117: 7(int) Constant 63 + 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 116 9 18 117 12 17 23 + 131(K): 7(int) SpecConstant 1 + 136: 7(int) Constant 64 + 134: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 135 9 18 136 12 17 23 + 150(TILE_K): 7(int) SpecConstant 1 + 151(lK): 7(int) SpecConstant 1 + 152: 7(int) SpecConstantOp 134 150(TILE_K) 151(lK) + 156: 7(int) Constant 67 + 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 33 9 18 156 12 17 23 + 171: TypeCooperativeMatrixKHR 70(float16_t) 13 74(lM) 151(lK) 12 + 174: 7(int) Constant 66 + 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 173 22 18 174 12 21 175 81 13 + 176: TypePointer Function 171 + 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 172 29 12 + 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 180 172 18 174 12 17 23 + 184: TypeVector 7(int) 4 + 185: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 9 23 + 186: 7(int) Constant 128 + 187: TypeArray 184(ivec4) 186 + 188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 185 186 + 189: TypePointer Workgroup 187 + 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 188 23 12 + 191(Ash): 189(ptr) Variable Workgroup + 194: 7(int) Constant 68 + 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 193 188 18 194 12 21 193 191(Ash) 91 + 195: TypePointer Workgroup 184(ivec4) + 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 185 23 12 + 199: 105(int) Constant 0 + 201: TypeArray 171 24 + 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 172 24 + 203: TypePointer Function 201 + 204: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 202 29 12 + 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 207 202 18 174 12 17 23 + 220: 7(int) Constant 72 + 219: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 54 9 18 220 12 17 23 + 235: TypeCooperativeMatrixKHR 70(float16_t) 13 151(lK) 75(lN) 22 + 238: 7(int) Constant 71 + 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 237 22 18 238 12 21 239 81 13 + 240: TypePointer Function 235 + 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 236 29 12 + 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 180 236 18 238 12 17 23 + 247(Bsh): 189(ptr) Variable Workgroup + 250: 7(int) Constant 73 + 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 249 188 18 250 12 21 249 247(Bsh) 91 + 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 256 236 18 238 12 17 23 + 263: 7(int) Constant 75 + 262: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 33 9 18 263 12 17 23 + 280: 7(int) Constant 76 + 310: 7(int) Constant 82 + 309: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 33 9 18 310 12 17 23 + 327: 7(int) Constant 83 + 326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 54 9 18 327 12 17 23 + 345: 7(int) Constant 84 + 349: TypeRuntimeArray 70(float16_t) + 350: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 72 12 + 351(Output): TypeStruct 349 + 354: 7(int) Constant 46 + 355: 7(int) Constant 24 + 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 353 350 18 354 355 12 12 13 + 356: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 357 22 18 345 12 21 357 12 13 352 + 358: TypePointer StorageBuffer 351(Output) + 359: 7(int) Constant 12 + 360: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 356 359 12 + 361(outputO): 358(ptr) Variable StorageBuffer + 362: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 363 356 18 345 12 21 363 361(outputO) 91 + 364: TypePointer StorageBuffer 70(float16_t) + 365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 359 12 + 377: 7(int) Constant 87 + 378(TILE_M): 7(int) SpecConstant 1 + 379(TILE_N): 7(int) SpecConstant 1 + 14(main): 4 Function None 5 + 15: Label + 31(i): 28(ptr) Variable Function + 52(j): 28(ptr) Variable Function + 114(chunkK): 28(ptr) Variable Function + 133(k): 28(ptr) Variable Function + 154(i): 28(ptr) Variable Function + 178(tempArg): 176(ptr) Variable Function + 205(matA): 203(ptr) Variable Function + 218(j): 28(ptr) Variable Function + 242(tempArg): 240(ptr) Variable Function + 254(matB): 240(ptr) Variable Function + 261(i): 28(ptr) Variable Function + 308(i): 28(ptr) Variable Function + 325(j): 28(ptr) Variable Function + 26: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 27: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 20 20 12 12 + 25: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 17 14(main) + 37: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 34 34 12 12 + 35: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 32 31(i) 36 + Store 31(i) 12 + Branch 38 + 38: Label + 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 34 34 12 12 + LoopMerge 40 41 Unroll + Branch 44 + 44: Label + 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 34 34 12 12 + 45: 7(int) Load 31(i) + 51: 48(bool) ULessThan 45 24 + BranchConditional 51 39 40 + 39: Label + 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 58: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 55 55 12 12 + 56: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 53 52(j) 36 + Store 52(j) 12 + Branch 59 + 59: Label + 63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 64: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 55 55 12 12 + LoopMerge 61 62 Unroll + Branch 65 + 65: Label + 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 55 55 12 12 + 66: 7(int) Load 52(j) + 69: 48(bool) ULessThan 66 24 + BranchConditional 69 60 61 + 60: Label + 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 95 95 12 12 + 92: 7(int) Load 31(i) + 96: 7(int) Load 52(j) + 101: 99(ptr) AccessChain 88(result) 92 96 + Store 101 98 + Branch 62 + 62: Label + 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 55 55 12 12 + 102: 7(int) Load 52(j) + 109: 7(int) IAdd 102 108 + Store 52(j) 109 + Branch 59 + 61: Label + Branch 41 + 41: Label + 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 34 34 12 12 + 110: 7(int) Load 31(i) + 113: 7(int) IAdd 110 108 + Store 31(i) 113 + Branch 38 + 40: Label + 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 117 117 12 12 + 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 115 114(chunkK) 36 + Store 114(chunkK) 12 + Branch 121 + 121: Label + 125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 117 117 12 12 + LoopMerge 123 124 None + Branch 127 + 127: Label + 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 117 117 12 12 + 128: 7(int) Load 114(chunkK) + 132: 48(bool) ULessThan 128 131(K) + BranchConditional 132 122 123 + 122: Label + 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 136 136 12 12 + 137: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 134 133(k) 36 + Store 133(k) 12 + Branch 140 + 140: Label + 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 136 136 12 12 + LoopMerge 142 143 Unroll + Branch 146 + 146: Label + 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 136 136 12 12 + 147: 7(int) Load 133(k) + 153: 48(bool) ULessThan 147 152 + BranchConditional 153 141 142 + 141: Label + 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 156 156 12 12 + 157: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 155 154(i) 36 + Store 154(i) 12 + Branch 160 + 160: Label + 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 156 156 12 12 + LoopMerge 162 163 Unroll + Branch 166 + 166: Label + 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 156 156 12 12 + 167: 7(int) Load 154(i) + 170: 48(bool) ULessThan 167 24 + BranchConditional 170 161 162 + 161: Label + 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 174 174 12 12 + 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 179 178(tempArg) 36 + 198: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 194 194 12 12 + 197: 195(ptr) AccessChain 191(Ash) 12 + 200: 171 CooperativeMatrixLoadKHR 197 199 12 MakePointerVisibleKHR NonPrivatePointerKHR 24 + Store 178(tempArg) 200 + 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 174 174 12 12 + 208: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 206 205(matA) 36 + 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 194 194 12 12 + 210: 7(int) Load 154(i) + 212: 171 Load 178(tempArg) + 213: 176(ptr) AccessChain 205(matA) 210 + Store 213 212 + Branch 163 + 163: Label + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 156 156 12 12 + 214: 7(int) Load 154(i) + 217: 7(int) IAdd 214 108 + Store 154(i) 217 + Branch 160 + 162: Label + 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 220 220 12 12 + 221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 219 218(j) 36 + Store 218(j) 12 + Branch 224 + 224: Label + 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 220 220 12 12 + LoopMerge 226 227 Unroll + Branch 230 + 230: Label + 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 220 220 12 12 + 231: 7(int) Load 218(j) + 234: 48(bool) ULessThan 231 24 + BranchConditional 234 225 226 + 225: Label + 245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 238 238 12 12 + 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 243 242(tempArg) 36 + 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 250 250 12 12 + 251: 195(ptr) AccessChain 247(Bsh) 12 + 253: 235 CooperativeMatrixLoadKHR 251 199 12 MakePointerVisibleKHR NonPrivatePointerKHR 24 + Store 242(tempArg) 253 + 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 238 238 12 12 + 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 255 254(matB) 36 + 260: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 250 250 12 12 + 259: 235 Load 242(tempArg) + Store 254(matB) 259 + 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 263 263 12 12 + 264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 262 261(i) 36 + Store 261(i) 12 + Branch 266 + 266: Label + 270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 263 263 12 12 + LoopMerge 268 269 Unroll + Branch 272 + 272: Label + 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 263 263 12 12 + 273: 7(int) Load 261(i) + 276: 48(bool) ULessThan 273 24 + BranchConditional 276 267 268 + 267: Label + 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 280 280 12 12 + 277: 7(int) Load 261(i) + 281: 7(int) Load 218(j) + 282: 7(int) Load 261(i) + 283: 176(ptr) AccessChain 205(matA) 282 + 284: 171 Load 283 + 285: 235 Load 254(matB) + 286: 7(int) Load 261(i) + 287: 7(int) Load 218(j) + 288: 99(ptr) AccessChain 88(result) 286 287 + 289: 76 Load 288 + 290: 76 CooperativeMatrixMulAddKHR 284 285 289 + 291: 99(ptr) AccessChain 88(result) 277 281 + Store 291 290 + Branch 269 + 269: Label + 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 263 263 12 12 + 292: 7(int) Load 261(i) + 295: 7(int) IAdd 292 108 + Store 261(i) 295 + Branch 266 + 268: Label + Branch 227 + 227: Label + 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 298: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 220 220 12 12 + 296: 7(int) Load 218(j) + 299: 7(int) IAdd 296 108 + Store 218(j) 299 + Branch 224 + 226: Label + Branch 143 + 143: Label + 301: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 136 136 12 12 + 300: 7(int) Load 133(k) + 303: 7(int) IAdd 300 108 + Store 133(k) 303 + Branch 140 + 142: Label + Branch 124 + 124: Label + 305: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 117 117 12 12 + 304: 7(int) Load 114(chunkK) + 307: 7(int) IAdd 304 150(TILE_K) + Store 114(chunkK) 307 + Branch 121 + 123: Label + 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 313: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 310 310 12 12 + 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 309 308(i) 36 + Store 308(i) 12 + Branch 314 + 314: Label + 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 310 310 12 12 + LoopMerge 316 317 Unroll + Branch 320 + 320: Label + 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 310 310 12 12 + 321: 7(int) Load 308(i) + 324: 48(bool) ULessThan 321 24 + BranchConditional 324 315 316 + 315: Label + 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 327 327 12 12 + 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 326 325(j) 36 + Store 325(j) 12 + Branch 331 + 331: Label + 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 327 327 12 12 + LoopMerge 333 334 Unroll + Branch 337 + 337: Label + 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 327 327 12 12 + 338: 7(int) Load 325(j) + 341: 48(bool) ULessThan 338 24 + BranchConditional 341 332 333 + 332: Label + 343: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 344: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 345 345 12 12 + 342: 7(int) Load 308(i) + 346: 7(int) Load 325(j) + 347: 99(ptr) AccessChain 88(result) 342 346 + 348: 76 Load 347 + 366: 364(ptr) AccessChain 361(outputO) 199 12 + CooperativeMatrixStoreKHR 366 348 199 12 None + Branch 334 + 334: Label + 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 327 327 12 12 + 367: 7(int) Load 325(j) + 370: 7(int) IAdd 367 108 + Store 325(j) 370 + Branch 331 + 333: Label + Branch 317 + 317: Label + 372: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 310 310 12 12 + 371: 7(int) Load 308(i) + 374: 7(int) IAdd 371 108 + Store 308(i) 374 + Branch 314 + 316: Label + 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 377 377 12 12 + Return + FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.glsl.comp.out b/Test/baseResults/spv.debuginfo.glsl.comp.out index 3ad62497..bcd29ecb 100644 --- a/Test/baseResults/spv.debuginfo.glsl.comp.out +++ b/Test/baseResults/spv.debuginfo.glsl.comp.out @@ -1,15 +1,14 @@ spv.debuginfo.glsl.comp -Validation failed // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 975 +// Id's are bound by 999 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 14 "main" 133 + EntryPoint GLCompute 14 "main" 135 ExecutionMode 14 LocalSize 10 10 1 2: String "spv.debuginfo.glsl.comp" 8: String "uint" @@ -211,29 +210,29 @@ void main() 95: String "particleCount" 98: String "UBO" 103: String "params" - 127: String "id" - 135: String "gl_GlobalInvocationID" - 141: String "index" - 167: String "bool" - 179: String "normal" - 185: String "pinned" - 187: String "Particle" - 193: String "particleIn" - 197: String "ParticleIn" - 202: String "" - 218: String "particleOut" - 221: String "ParticleOut" - 249: String "force" - 263: String "pos" - 273: String "vel" - 577: String "f" - 626: String "sphereDist" - 677: String "calculateNormals" - 680: String "PushConsts" - 687: String "pushConsts" - 721: String "a" - 735: String "b" - 752: String "c" + 129: String "id" + 137: String "gl_GlobalInvocationID" + 143: String "index" + 169: String "bool" + 180: String "normal" + 186: String "pinned" + 188: String "Particle" + 194: String "particleIn" + 198: String "ParticleIn" + 203: String "" + 222: String "particleOut" + 225: String "ParticleOut" + 251: String "force" + 265: String "pos" + 275: String "vel" + 592: String "f" + 641: String "sphereDist" + 694: String "calculateNormals" + 697: String "PushConsts" + 703: String "pushConsts" + 742: String "a" + 755: String "b" + 772: String "c" Name 14 "main" Name 31 "springForce(vf3;vf3;f1;" Name 28 "p0" @@ -253,57 +252,58 @@ void main() MemberName 78(UBO) 9 "gravity" MemberName 78(UBO) 10 "particleCount" Name 101 "params" - Name 125 "id" - Name 133 "gl_GlobalInvocationID" - Name 139 "index" - Name 177 "Particle" - MemberName 177(Particle) 0 "pos" - MemberName 177(Particle) 1 "vel" - MemberName 177(Particle) 2 "uv" - MemberName 177(Particle) 3 "normal" - MemberName 177(Particle) 4 "pinned" - Name 191 "ParticleIn" - MemberName 191(ParticleIn) 0 "particleIn" - Name 200 "" - Name 216 "ParticleOut" - MemberName 216(ParticleOut) 0 "particleOut" - Name 225 "" - Name 247 "force" - Name 261 "pos" - Name 271 "vel" - Name 293 "param" + Name 127 "id" + Name 135 "gl_GlobalInvocationID" + Name 141 "index" + Name 178 "Particle" + MemberName 178(Particle) 0 "pos" + MemberName 178(Particle) 1 "vel" + MemberName 178(Particle) 2 "uv" + MemberName 178(Particle) 3 "normal" + MemberName 178(Particle) 4 "pinned" + Name 192 "ParticleIn" + MemberName 192(ParticleIn) 0 "particleIn" + Name 201 "" + Name 220 "ParticleOut" + MemberName 220(ParticleOut) 0 "particleOut" + Name 228 "" + Name 249 "force" + Name 263 "pos" + Name 273 "vel" Name 297 "param" - Name 299 "param" - Name 322 "param" - Name 326 "param" - Name 328 "param" - Name 355 "param" - Name 359 "param" + Name 301 "param" + Name 303 "param" + Name 327 "param" + Name 331 "param" + Name 333 "param" Name 361 "param" - Name 383 "param" - Name 387 "param" - Name 389 "param" - Name 426 "param" - Name 430 "param" - Name 432 "param" - Name 464 "param" - Name 468 "param" - Name 470 "param" - Name 510 "param" - Name 514 "param" - Name 516 "param" - Name 552 "param" - Name 556 "param" - Name 558 "param" - Name 575 "f" - Name 624 "sphereDist" - Name 675 "PushConsts" - MemberName 675(PushConsts) 0 "calculateNormals" - Name 685 "pushConsts" - Name 697 "normal" - Name 719 "a" - Name 733 "b" - Name 750 "c" + Name 365 "param" + Name 367 "param" + Name 390 "param" + Name 394 "param" + Name 396 "param" + Name 435 "param" + Name 439 "param" + Name 441 "param" + Name 475 "param" + Name 479 "param" + Name 481 "param" + Name 523 "param" + Name 527 "param" + Name 529 "param" + Name 567 "param" + Name 571 "param" + Name 573 "param" + Name 590 "f" + Name 639 "sphereDist" + Name 692 "PushConsts" + MemberName 692(PushConsts) 0 "calculateNormals" + Name 701 "pushConsts" + Name 716 "normal" + Name 740 "a" + Name 753 "b" + Name 770 "c" + Decorate 78(UBO) Block MemberDecorate 78(UBO) 0 Offset 0 MemberDecorate 78(UBO) 1 Offset 4 MemberDecorate 78(UBO) 2 Offset 8 @@ -315,28 +315,27 @@ void main() MemberDecorate 78(UBO) 8 Offset 32 MemberDecorate 78(UBO) 9 Offset 48 MemberDecorate 78(UBO) 10 Offset 64 - Decorate 78(UBO) Block - Decorate 101(params) DescriptorSet 0 Decorate 101(params) Binding 2 - Decorate 133(gl_GlobalInvocationID) BuiltIn GlobalInvocationId - MemberDecorate 177(Particle) 0 Offset 0 - MemberDecorate 177(Particle) 1 Offset 16 - MemberDecorate 177(Particle) 2 Offset 32 - MemberDecorate 177(Particle) 3 Offset 48 - MemberDecorate 177(Particle) 4 Offset 64 - Decorate 189 ArrayStride 80 - MemberDecorate 191(ParticleIn) 0 Offset 0 - Decorate 191(ParticleIn) BufferBlock - Decorate 200 DescriptorSet 0 - Decorate 200 Binding 0 - Decorate 214 ArrayStride 80 - MemberDecorate 216(ParticleOut) 0 Offset 0 - Decorate 216(ParticleOut) BufferBlock - Decorate 225 DescriptorSet 0 - Decorate 225 Binding 1 - MemberDecorate 675(PushConsts) 0 Offset 0 - Decorate 675(PushConsts) Block - Decorate 974 BuiltIn WorkgroupSize + Decorate 101(params) DescriptorSet 0 + Decorate 135(gl_GlobalInvocationID) BuiltIn GlobalInvocationId + MemberDecorate 178(Particle) 0 Offset 0 + MemberDecorate 178(Particle) 1 Offset 16 + MemberDecorate 178(Particle) 2 Offset 32 + MemberDecorate 178(Particle) 3 Offset 48 + MemberDecorate 178(Particle) 4 Offset 64 + Decorate 190 ArrayStride 80 + Decorate 192(ParticleIn) BufferBlock + MemberDecorate 192(ParticleIn) 0 Offset 0 + Decorate 201 Binding 0 + Decorate 201 DescriptorSet 0 + Decorate 218 ArrayStride 80 + Decorate 220(ParticleOut) BufferBlock + MemberDecorate 220(ParticleOut) 0 Offset 0 + Decorate 228 Binding 1 + Decorate 228 DescriptorSet 0 + Decorate 692(PushConsts) Block + MemberDecorate 692(PushConsts) 0 Offset 0 + Decorate 998 BuiltIn WorkgroupSize 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 @@ -403,970 +402,995 @@ void main() 104: 73(int) Constant 2 105: TypePointer Uniform 16(float) 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 41 12 - 121: TypeVector 7(int) 3 - 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 9 13 - 123: TypePointer Function 121(ivec3) - 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 122 22 12 - 128: 7(int) Constant 74 - 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 127 122 35 128 12 55 40 - 131: TypePointer Input 121(ivec3) - 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 122 39 12 -133(gl_GlobalInvocationID): 131(ptr) Variable Input - 134: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 135 122 35 128 12 38 135 133(gl_GlobalInvocationID) 82 - 137: TypePointer Function 7(int) - 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 22 12 - 142: 7(int) Constant 76 - 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 141 9 35 142 12 55 40 - 147: 73(int) Constant 10 - 148: TypePointer Uniform 73(int) - 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 75 41 12 - 159: 7(int) Constant 77 - 166: TypeBool - 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 167 10 41 12 - 174: 7(int) Constant 78 - 177(Particle): TypeStruct 71(fvec4) 71(fvec4) 71(fvec4) 71(fvec4) 16(float) - 180: 7(int) Constant 31 - 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13 - 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13 - 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13 - 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 179 72 35 180 22 12 12 13 - 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 185 18 35 10 82 12 12 13 - 188: 7(int) Constant 81 - 186: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 187 39 35 188 12 38 187 12 13 178 181 182 183 184 - 189: TypeRuntimeArray 177(Particle) - 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 186 12 - 191(ParticleIn): TypeStruct 189 - 194: 7(int) Constant 36 - 195: 7(int) Constant 11 - 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 193 190 35 194 195 12 12 13 - 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 197 39 35 188 12 38 197 12 13 192 - 198: TypePointer Uniform 191(ParticleIn) - 199: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 196 41 12 - 200: 198(ptr) Variable Uniform - 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 202 196 35 188 12 38 202 200 82 - 203: 73(int) Constant 0 - 207: 73(int) Constant 4 - 210: 16(float) Constant 1065353216 - 214: TypeRuntimeArray 177(Particle) - 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 186 12 -216(ParticleOut): TypeStruct 214 - 219: 7(int) Constant 40 - 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 218 215 35 219 195 12 12 13 - 222: 7(int) Constant 82 - 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 221 39 35 222 12 38 221 12 13 217 - 223: TypePointer Uniform 216(ParticleOut) - 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 220 41 12 - 225: 223(ptr) Variable Uniform - 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 202 220 35 222 12 38 202 225 82 - 231: TypePointer Uniform 71(fvec4) - 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 41 12 - 238: 7(int) Constant 83 - 239: 73(int) Constant 1 - 240: 16(float) Constant 0 - 241: 71(fvec4) ConstantComposite 240 240 240 240 - 244: 7(int) Constant 84 - 250: 7(int) Constant 88 - 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 249 20 35 250 12 55 40 - 254: 73(int) Constant 9 - 264: 7(int) Constant 90 - 262: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 263 20 35 264 12 55 40 - 274: 7(int) Constant 91 - 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 273 20 35 274 12 55 40 - 283: 7(int) Constant 95 + 119: 7(int) Constant 70 + 123: TypeVector 7(int) 3 + 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 9 13 + 125: TypePointer Function 123(ivec3) + 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 124 22 12 + 130: 7(int) Constant 74 + 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 129 124 35 130 12 55 40 + 133: TypePointer Input 123(ivec3) + 134: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 124 39 12 +135(gl_GlobalInvocationID): 133(ptr) Variable Input + 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 137 124 35 130 12 38 137 135(gl_GlobalInvocationID) 82 + 139: TypePointer Function 7(int) + 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 22 12 + 144: 7(int) Constant 76 + 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 143 9 35 144 12 55 40 + 149: 73(int) Constant 10 + 150: TypePointer Uniform 73(int) + 151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 75 41 12 + 161: 7(int) Constant 77 + 168: TypeBool + 170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 169 10 41 12 + 176: 7(int) Constant 78 + 178(Particle): TypeStruct 71(fvec4) 71(fvec4) 71(fvec4) 71(fvec4) 16(float) + 181: 7(int) Constant 31 + 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 180 72 35 181 22 12 12 13 + 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 180 72 35 181 22 12 12 13 + 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 180 72 35 181 22 12 12 13 + 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 180 72 35 181 22 12 12 13 + 185: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 186 18 35 10 82 12 12 13 + 189: 7(int) Constant 81 + 187: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 188 39 35 189 12 38 188 12 13 179 182 183 184 185 + 190: TypeRuntimeArray 178(Particle) + 191: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 187 12 + 192(ParticleIn): TypeStruct 190 + 195: 7(int) Constant 36 + 196: 7(int) Constant 11 + 193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 194 191 35 195 196 12 12 13 + 197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 198 39 35 189 12 38 198 12 13 193 + 199: TypePointer Uniform 192(ParticleIn) + 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 197 41 12 + 201: 199(ptr) Variable Uniform + 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 203 197 35 189 12 38 203 201 82 + 204: 73(int) Constant 0 + 208: 73(int) Constant 4 + 211: 16(float) Constant 1065353216 + 216: 7(int) Constant 82 + 217: 7(int) Constant 26 + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 216 217 55 + 218: TypeRuntimeArray 178(Particle) + 219: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 187 12 +220(ParticleOut): TypeStruct 218 + 223: 7(int) Constant 40 + 221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 222 219 35 223 196 12 12 13 + 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 225 39 35 216 12 38 225 12 13 221 + 226: TypePointer Uniform 220(ParticleOut) + 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 224 41 12 + 228: 226(ptr) Variable Uniform + 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 203 224 35 216 12 38 203 228 82 + 234: TypePointer Uniform 71(fvec4) + 235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 41 12 + 241: 7(int) Constant 83 + 242: 73(int) Constant 1 + 243: 16(float) Constant 0 + 244: 71(fvec4) ConstantComposite 243 243 243 243 + 247: 7(int) Constant 84 + 252: 7(int) Constant 88 + 250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 251 20 35 252 12 55 40 + 256: 73(int) Constant 9 + 266: 7(int) Constant 90 + 264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 265 20 35 266 12 55 40 + 276: 7(int) Constant 91 + 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 275 20 35 276 12 55 40 + 285: 7(int) Constant 95 291: 7(int) Constant 96 - 308: 7(int) Constant 99 - 320: 7(int) Constant 100 - 337: 7(int) Constant 103 - 349: 7(int) Constant 104 - 354: 73(int) Constant 5 - 370: 7(int) Constant 107 - 378: 7(int) Constant 108 - 398: 7(int) Constant 111 - 419: 7(int) Constant 112 - 425: 73(int) Constant 6 - 441: 7(int) Constant 115 - 458: 7(int) Constant 116 - 479: 7(int) Constant 119 - 504: 7(int) Constant 120 - 525: 7(int) Constant 123 - 546: 7(int) Constant 124 - 564: 73(int) Constant 3 - 568: 7(int) Constant 127 - 578: 7(int) Constant 130 - 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 577 20 35 578 12 55 40 - 588: 7(int) Constant 131 - 595: 16(float) Constant 1056964608 - 612: 7(int) Constant 132 - 627: 7(int) Constant 135 - 625: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 626 20 35 627 12 55 40 - 634: 73(int) Constant 8 - 641: 7(int) Constant 136 - 643: 73(int) Constant 7 - 646: 16(float) Constant 1008981770 - 654: 7(int) Constant 138 - 673: 7(int) Constant 140 - 675(PushConsts): TypeStruct 7(int) - 678: 7(int) Constant 63 - 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 677 9 35 678 22 12 12 13 - 681: 7(int) Constant 144 - 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 680 39 35 681 12 38 680 12 13 676 - 682: TypePointer PushConstant 675(PushConsts) - 683: 7(int) Constant 9 - 684: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 679 683 12 - 685(pushConsts): 682(ptr) Variable PushConstant - 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 687 679 35 681 12 38 687 685(pushConsts) 82 - 688: TypePointer PushConstant 7(int) - 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 683 12 - 699: 7(int) Constant 145 - 698: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 179 20 35 699 12 55 40 - 703: 19(fvec3) ConstantComposite 240 240 240 - 706: 7(int) Constant 147 - 714: 7(int) Constant 148 - 722: 7(int) Constant 149 - 720: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 721 20 35 722 12 55 40 - 736: 7(int) Constant 150 - 734: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 735 20 35 736 12 55 40 - 753: 7(int) Constant 151 - 751: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 752 20 35 753 12 55 40 - 768: 7(int) Constant 152 - 780: 7(int) Constant 154 - 792: 7(int) Constant 155 - 804: 7(int) Constant 156 - 817: 7(int) Constant 157 - 826: 7(int) Constant 158 - 839: 7(int) Constant 161 - 851: 7(int) Constant 162 - 859: 7(int) Constant 163 - 871: 7(int) Constant 164 - 884: 7(int) Constant 165 - 893: 7(int) Constant 166 - 905: 7(int) Constant 168 - 917: 7(int) Constant 169 - 926: 7(int) Constant 170 - 939: 7(int) Constant 171 - 951: 7(int) Constant 172 - 964: 7(int) Constant 175 - 973: 7(int) Constant 10 - 974: 121(ivec3) ConstantComposite 973 973 39 + 292: 7(int) Constant 9 + 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 291 292 55 + 312: 7(int) Constant 99 + 322: 7(int) Constant 100 + 321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 322 292 55 + 342: 7(int) Constant 103 + 352: 7(int) Constant 104 + 351: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 352 292 55 + 360: 73(int) Constant 5 + 376: 7(int) Constant 107 + 382: 7(int) Constant 108 + 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 382 292 55 + 405: 7(int) Constant 111 + 425: 7(int) Constant 112 + 424: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 425 292 55 + 434: 73(int) Constant 6 + 450: 7(int) Constant 115 + 466: 7(int) Constant 116 + 465: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 466 292 55 + 490: 7(int) Constant 119 + 514: 7(int) Constant 120 + 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 514 292 55 + 538: 7(int) Constant 123 + 558: 7(int) Constant 124 + 557: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 558 292 55 + 579: 73(int) Constant 3 + 583: 7(int) Constant 127 + 593: 7(int) Constant 130 + 591: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 592 20 35 593 12 55 40 + 603: 7(int) Constant 131 + 610: 16(float) Constant 1056964608 + 627: 7(int) Constant 132 + 642: 7(int) Constant 135 + 640: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 641 20 35 642 12 55 40 + 649: 73(int) Constant 8 + 656: 7(int) Constant 136 + 658: 73(int) Constant 7 + 661: 16(float) Constant 1008981770 + 667: 7(int) Constant 138 + 668: 7(int) Constant 30 + 666: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 667 668 55 + 690: 7(int) Constant 140 + 692(PushConsts): TypeStruct 7(int) + 695: 7(int) Constant 63 + 693: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 694 9 35 695 22 12 12 13 + 698: 7(int) Constant 144 + 696: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 697 39 35 698 12 38 697 12 13 693 + 699: TypePointer PushConstant 692(PushConsts) + 700: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 696 292 12 + 701(pushConsts): 699(ptr) Variable PushConstant + 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 703 696 35 698 12 38 703 701(pushConsts) 82 + 704: TypePointer PushConstant 7(int) + 705: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 9 292 12 + 714: 7(int) Constant 145 + 715: 7(int) Constant 15 + 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 714 715 55 + 717: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 180 20 35 714 12 713 40 + 721: 19(fvec3) ConstantComposite 243 243 243 + 724: 7(int) Constant 147 + 730: 7(int) Constant 148 + 729: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 730 40 713 + 739: 7(int) Constant 149 + 738: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 739 22 729 + 741: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 742 20 35 739 12 738 40 + 756: 7(int) Constant 150 + 754: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 755 20 35 756 12 738 40 + 773: 7(int) Constant 151 + 771: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 772 20 35 773 12 738 40 + 788: 7(int) Constant 152 + 800: 7(int) Constant 154 + 810: 7(int) Constant 155 + 809: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 810 22 729 + 825: 7(int) Constant 156 + 838: 7(int) Constant 157 + 847: 7(int) Constant 158 + 859: 7(int) Constant 161 + 869: 7(int) Constant 162 + 868: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 869 40 713 + 878: 7(int) Constant 163 + 877: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 878 22 868 + 893: 7(int) Constant 164 + 906: 7(int) Constant 165 + 915: 7(int) Constant 166 + 927: 7(int) Constant 168 + 937: 7(int) Constant 169 + 936: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 35 937 22 868 + 949: 7(int) Constant 170 + 962: 7(int) Constant 171 + 974: 7(int) Constant 172 + 986: 7(int) Constant 175 + 996: 7(int) Constant 177 + 997: 7(int) Constant 10 + 998: 123(ivec3) ConstantComposite 997 997 39 14(main): 4 Function None 5 15: Label - 125(id): 123(ptr) Variable Function - 139(index): 137(ptr) Variable Function - 247(force): 21(ptr) Variable Function - 261(pos): 21(ptr) Variable Function - 271(vel): 21(ptr) Variable Function - 293(param): 21(ptr) Variable Function + 127(id): 125(ptr) Variable Function + 141(index): 139(ptr) Variable Function + 249(force): 21(ptr) Variable Function + 263(pos): 21(ptr) Variable Function + 273(vel): 21(ptr) Variable Function 297(param): 21(ptr) Variable Function - 299(param): 24(ptr) Variable Function - 322(param): 21(ptr) Variable Function - 326(param): 21(ptr) Variable Function - 328(param): 24(ptr) Variable Function - 355(param): 21(ptr) Variable Function - 359(param): 21(ptr) Variable Function - 361(param): 24(ptr) Variable Function - 383(param): 21(ptr) Variable Function - 387(param): 21(ptr) Variable Function - 389(param): 24(ptr) Variable Function - 426(param): 21(ptr) Variable Function - 430(param): 21(ptr) Variable Function - 432(param): 24(ptr) Variable Function - 464(param): 21(ptr) Variable Function - 468(param): 21(ptr) Variable Function - 470(param): 24(ptr) Variable Function - 510(param): 21(ptr) Variable Function - 514(param): 21(ptr) Variable Function - 516(param): 24(ptr) Variable Function - 552(param): 21(ptr) Variable Function - 556(param): 21(ptr) Variable Function - 558(param): 24(ptr) Variable Function - 575(f): 21(ptr) Variable Function - 624(sphereDist): 21(ptr) Variable Function - 697(normal): 21(ptr) Variable Function - 719(a): 21(ptr) Variable Function - 733(b): 21(ptr) Variable Function - 750(c): 21(ptr) Variable Function - 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 56 56 12 12 - 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 55 14(main) - 130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 128 128 12 12 - 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 126 125(id) 45 - 136: 121(ivec3) Load 133(gl_GlobalInvocationID) - Store 125(id) 136 - 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 142 142 12 12 - 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 140 139(index) 45 - 145: 137(ptr) AccessChain 125(id) 39 - 146: 7(int) Load 145 - 150: 148(ptr) AccessChain 101(params) 147 12 - 151: 73(int) Load 150 - 152: 7(int) Bitcast 151 - 153: 7(int) IMul 146 152 - 154: 137(ptr) AccessChain 125(id) 12 - 155: 7(int) Load 154 - 156: 7(int) IAdd 153 155 - Store 139(index) 156 - 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 159 159 12 12 - 157: 7(int) Load 139(index) - 160: 148(ptr) AccessChain 101(params) 147 12 - 161: 73(int) Load 160 - 162: 148(ptr) AccessChain 101(params) 147 39 + 301(param): 21(ptr) Variable Function + 303(param): 24(ptr) Variable Function + 327(param): 21(ptr) Variable Function + 331(param): 21(ptr) Variable Function + 333(param): 24(ptr) Variable Function + 361(param): 21(ptr) Variable Function + 365(param): 21(ptr) Variable Function + 367(param): 24(ptr) Variable Function + 390(param): 21(ptr) Variable Function + 394(param): 21(ptr) Variable Function + 396(param): 24(ptr) Variable Function + 435(param): 21(ptr) Variable Function + 439(param): 21(ptr) Variable Function + 441(param): 24(ptr) Variable Function + 475(param): 21(ptr) Variable Function + 479(param): 21(ptr) Variable Function + 481(param): 24(ptr) Variable Function + 523(param): 21(ptr) Variable Function + 527(param): 21(ptr) Variable Function + 529(param): 24(ptr) Variable Function + 567(param): 21(ptr) Variable Function + 571(param): 21(ptr) Variable Function + 573(param): 24(ptr) Variable Function + 590(f): 21(ptr) Variable Function + 639(sphereDist): 21(ptr) Variable Function + 716(normal): 21(ptr) Variable Function + 740(a): 21(ptr) Variable Function + 753(b): 21(ptr) Variable Function + 770(c): 21(ptr) Variable Function + 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 56 56 12 12 + 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 55 14(main) + 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 130 130 12 12 + 131: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 128 127(id) 45 + 138: 123(ivec3) Load 135(gl_GlobalInvocationID) + Store 127(id) 138 + 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 144 144 12 12 + 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 142 141(index) 45 + 147: 139(ptr) AccessChain 127(id) 39 + 148: 7(int) Load 147 + 152: 150(ptr) AccessChain 101(params) 149 12 + 153: 73(int) Load 152 + 154: 7(int) Bitcast 153 + 155: 7(int) IMul 148 154 + 156: 139(ptr) AccessChain 127(id) 12 + 157: 7(int) Load 156 + 158: 7(int) IAdd 155 157 + Store 141(index) 158 + 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 161 161 12 12 + 159: 7(int) Load 141(index) + 162: 150(ptr) AccessChain 101(params) 149 12 163: 73(int) Load 162 - 164: 73(int) IMul 161 163 - 165: 7(int) Bitcast 164 - 169: 166(bool) UGreaterThan 157 165 - SelectionMerge 171 None - BranchConditional 169 170 171 - 170: Label - 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 174 174 12 12 + 164: 150(ptr) AccessChain 101(params) 149 39 + 165: 73(int) Load 164 + 166: 73(int) IMul 163 165 + 167: 7(int) Bitcast 166 + 171: 168(bool) UGreaterThan 159 167 + SelectionMerge 173 None + BranchConditional 171 172 173 + 172: Label + 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 175: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 176 176 12 12 Return - 171: Label - 205: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 188 188 12 12 - 204: 7(int) Load 139(index) - 208: 105(ptr) AccessChain 200 203 204 207 - 209: 16(float) Load 208 - 211: 166(bool) FOrdEqual 209 210 - SelectionMerge 213 None - BranchConditional 211 212 213 - 212: Label - 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 222 222 12 12 - 227: 7(int) Load 139(index) - 230: 7(int) Load 139(index) - 233: 231(ptr) AccessChain 225 203 230 203 - 234: 71(fvec4) Load 233 - 235: 231(ptr) AccessChain 225 203 227 203 - Store 235 234 - 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 238 238 12 12 - 236: 7(int) Load 139(index) - 242: 231(ptr) AccessChain 225 203 236 239 - Store 242 241 - 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 244 244 12 12 + 173: Label + 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 189 189 12 12 + 205: 7(int) Load 141(index) + 209: 105(ptr) AccessChain 201 204 205 208 + 210: 16(float) Load 209 + 212: 168(bool) FOrdEqual 210 211 + SelectionMerge 214 None + BranchConditional 212 213 214 + 213: Label + 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 215 + 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 216 216 12 12 + 230: 7(int) Load 141(index) + 233: 7(int) Load 141(index) + 236: 234(ptr) AccessChain 228 204 233 204 + 237: 71(fvec4) Load 236 + 238: 234(ptr) AccessChain 228 204 230 204 + Store 238 237 + 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 241 241 12 12 + 239: 7(int) Load 141(index) + 245: 234(ptr) AccessChain 228 204 239 242 + Store 245 244 + 246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 247 247 12 12 Return - 213: Label - 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 250 250 12 12 - 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 248 247(force) 45 - 255: 231(ptr) AccessChain 101(params) 254 - 256: 71(fvec4) Load 255 - 257: 19(fvec3) VectorShuffle 256 256 0 1 2 - 258: 105(ptr) AccessChain 101(params) 239 - 259: 16(float) Load 258 - 260: 19(fvec3) VectorTimesScalar 257 259 - Store 247(force) 260 - 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 264 264 12 12 - 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 262 261(pos) 45 - 267: 7(int) Load 139(index) - 268: 231(ptr) AccessChain 200 203 267 203 - 269: 71(fvec4) Load 268 - 270: 19(fvec3) VectorShuffle 269 269 0 1 2 - Store 261(pos) 270 - 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 274 274 12 12 - 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 272 271(vel) 45 - 277: 7(int) Load 139(index) - 278: 231(ptr) AccessChain 200 203 277 239 - 279: 71(fvec4) Load 278 - 280: 19(fvec3) VectorShuffle 279 279 0 1 2 - Store 271(vel) 280 - 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 283 283 12 12 - 281: 137(ptr) AccessChain 125(id) 12 - 284: 7(int) Load 281 - 285: 166(bool) UGreaterThan 284 12 - SelectionMerge 287 None - BranchConditional 285 286 287 - 286: Label - 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 291 291 12 12 - 288: 7(int) Load 139(index) - 292: 7(int) ISub 288 39 - 294: 231(ptr) AccessChain 200 203 292 203 - 295: 71(fvec4) Load 294 - 296: 19(fvec3) VectorShuffle 295 295 0 1 2 - Store 293(param) 296 - 298: 19(fvec3) Load 261(pos) - Store 297(param) 298 - 300: 105(ptr) AccessChain 101(params) 207 - 301: 16(float) Load 300 - Store 299(param) 301 - 302: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 293(param) 297(param) 299(param) - 303: 19(fvec3) Load 247(force) - 304: 19(fvec3) FAdd 303 302 - Store 247(force) 304 - Branch 287 - 287: Label - 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 308 308 12 12 - 305: 137(ptr) AccessChain 125(id) 12 - 309: 7(int) Load 305 - 310: 148(ptr) AccessChain 101(params) 147 12 - 311: 73(int) Load 310 - 312: 73(int) ISub 311 239 - 313: 7(int) Bitcast 312 - 314: 166(bool) ULessThan 309 313 - SelectionMerge 316 None - BranchConditional 314 315 316 - 315: Label - 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 320 320 12 12 - 317: 7(int) Load 139(index) - 321: 7(int) IAdd 317 39 - 323: 231(ptr) AccessChain 200 203 321 203 - 324: 71(fvec4) Load 323 - 325: 19(fvec3) VectorShuffle 324 324 0 1 2 - Store 322(param) 325 - 327: 19(fvec3) Load 261(pos) - Store 326(param) 327 - 329: 105(ptr) AccessChain 101(params) 207 - 330: 16(float) Load 329 - Store 328(param) 330 - 331: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 322(param) 326(param) 328(param) - 332: 19(fvec3) Load 247(force) - 333: 19(fvec3) FAdd 332 331 - Store 247(force) 333 - Branch 316 - 316: Label - 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 337 337 12 12 - 334: 137(ptr) AccessChain 125(id) 39 - 338: 7(int) Load 334 - 339: 148(ptr) AccessChain 101(params) 147 39 - 340: 73(int) Load 339 - 341: 73(int) ISub 340 239 - 342: 7(int) Bitcast 341 - 343: 166(bool) ULessThan 338 342 - SelectionMerge 345 None - BranchConditional 343 344 345 - 344: Label - 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 349 349 12 12 - 346: 7(int) Load 139(index) - 350: 148(ptr) AccessChain 101(params) 147 12 - 351: 73(int) Load 350 - 352: 7(int) Bitcast 351 - 353: 7(int) IAdd 346 352 - 356: 231(ptr) AccessChain 200 203 353 203 - 357: 71(fvec4) Load 356 - 358: 19(fvec3) VectorShuffle 357 357 0 1 2 - Store 355(param) 358 - 360: 19(fvec3) Load 261(pos) - Store 359(param) 360 - 362: 105(ptr) AccessChain 101(params) 354 - 363: 16(float) Load 362 - Store 361(param) 363 - 364: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 355(param) 359(param) 361(param) - 365: 19(fvec3) Load 247(force) - 366: 19(fvec3) FAdd 365 364 - Store 247(force) 366 - Branch 345 - 345: Label - 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 370 370 12 12 - 367: 137(ptr) AccessChain 125(id) 39 - 371: 7(int) Load 367 - 372: 166(bool) UGreaterThan 371 12 - SelectionMerge 374 None - BranchConditional 372 373 374 - 373: Label - 376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 377: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 378 378 12 12 - 375: 7(int) Load 139(index) - 379: 148(ptr) AccessChain 101(params) 147 12 - 380: 73(int) Load 379 - 381: 7(int) Bitcast 380 - 382: 7(int) ISub 375 381 - 384: 231(ptr) AccessChain 200 203 382 203 - 385: 71(fvec4) Load 384 - 386: 19(fvec3) VectorShuffle 385 385 0 1 2 - Store 383(param) 386 - 388: 19(fvec3) Load 261(pos) - Store 387(param) 388 - 390: 105(ptr) AccessChain 101(params) 354 - 391: 16(float) Load 390 - Store 389(param) 391 - 392: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 383(param) 387(param) 389(param) - 393: 19(fvec3) Load 247(force) - 394: 19(fvec3) FAdd 393 392 - Store 247(force) 394 - Branch 374 - 374: Label - 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 398 398 12 12 - 395: 137(ptr) AccessChain 125(id) 12 - 399: 7(int) Load 395 - 400: 166(bool) UGreaterThan 399 12 - SelectionMerge 402 None - BranchConditional 400 401 402 - 401: Label - 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 398 398 12 12 - 403: 137(ptr) AccessChain 125(id) 39 - 406: 7(int) Load 403 - 407: 148(ptr) AccessChain 101(params) 147 39 - 408: 73(int) Load 407 - 409: 73(int) ISub 408 239 - 410: 7(int) Bitcast 409 - 411: 166(bool) ULessThan 406 410 - Branch 402 - 402: Label - 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 412: 166(bool) Phi 400 374 411 401 - SelectionMerge 415 None - BranchConditional 412 414 415 - 414: Label - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 419 419 12 12 - 416: 7(int) Load 139(index) - 420: 148(ptr) AccessChain 101(params) 147 12 - 421: 73(int) Load 420 - 422: 7(int) Bitcast 421 - 423: 7(int) IAdd 416 422 - 424: 7(int) ISub 423 39 - 427: 231(ptr) AccessChain 200 203 424 203 - 428: 71(fvec4) Load 427 - 429: 19(fvec3) VectorShuffle 428 428 0 1 2 - Store 426(param) 429 - 431: 19(fvec3) Load 261(pos) - Store 430(param) 431 - 433: 105(ptr) AccessChain 101(params) 425 - 434: 16(float) Load 433 - Store 432(param) 434 - 435: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 426(param) 430(param) 432(param) - 436: 19(fvec3) Load 247(force) - 437: 19(fvec3) FAdd 436 435 - Store 247(force) 437 - Branch 415 - 415: Label - 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 441 441 12 12 - 438: 137(ptr) AccessChain 125(id) 12 - 442: 7(int) Load 438 - 443: 166(bool) UGreaterThan 442 12 - SelectionMerge 445 None - BranchConditional 443 444 445 - 444: Label - 447: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 441 441 12 12 - 446: 137(ptr) AccessChain 125(id) 39 - 449: 7(int) Load 446 - 450: 166(bool) UGreaterThan 449 12 - Branch 445 - 445: Label - 452: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 451: 166(bool) Phi 443 415 450 444 + 214: Label + 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 252 252 12 12 + 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 250 249(force) 45 + 257: 234(ptr) AccessChain 101(params) 256 + 258: 71(fvec4) Load 257 + 259: 19(fvec3) VectorShuffle 258 258 0 1 2 + 260: 105(ptr) AccessChain 101(params) 242 + 261: 16(float) Load 260 + 262: 19(fvec3) VectorTimesScalar 259 261 + Store 249(force) 262 + 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 266 266 12 12 + 267: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 264 263(pos) 45 + 269: 7(int) Load 141(index) + 270: 234(ptr) AccessChain 201 204 269 204 + 271: 71(fvec4) Load 270 + 272: 19(fvec3) VectorShuffle 271 271 0 1 2 + Store 263(pos) 272 + 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 276 276 12 12 + 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 274 273(vel) 45 + 279: 7(int) Load 141(index) + 280: 234(ptr) AccessChain 201 204 279 242 + 281: 71(fvec4) Load 280 + 282: 19(fvec3) VectorShuffle 281 281 0 1 2 + Store 273(vel) 282 + 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 285 285 12 12 + 283: 139(ptr) AccessChain 127(id) 12 + 286: 7(int) Load 283 + 287: 168(bool) UGreaterThan 286 12 + SelectionMerge 289 None + BranchConditional 287 288 289 + 288: Label + 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 290 + 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 291 291 12 12 + 293: 7(int) Load 141(index) + 296: 7(int) ISub 293 39 + 298: 234(ptr) AccessChain 201 204 296 204 + 299: 71(fvec4) Load 298 + 300: 19(fvec3) VectorShuffle 299 299 0 1 2 + Store 297(param) 300 + 302: 19(fvec3) Load 263(pos) + Store 301(param) 302 + 304: 105(ptr) AccessChain 101(params) 208 + 305: 16(float) Load 304 + Store 303(param) 305 + 306: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 297(param) 301(param) 303(param) + 307: 19(fvec3) Load 249(force) + 308: 19(fvec3) FAdd 307 306 + Store 249(force) 308 + Branch 289 + 289: Label + 310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 312 312 12 12 + 309: 139(ptr) AccessChain 127(id) 12 + 313: 7(int) Load 309 + 314: 150(ptr) AccessChain 101(params) 149 12 + 315: 73(int) Load 314 + 316: 73(int) ISub 315 242 + 317: 7(int) Bitcast 316 + 318: 168(bool) ULessThan 313 317 + SelectionMerge 320 None + BranchConditional 318 319 320 + 319: Label + 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 321 + 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 322 322 12 12 + 323: 7(int) Load 141(index) + 326: 7(int) IAdd 323 39 + 328: 234(ptr) AccessChain 201 204 326 204 + 329: 71(fvec4) Load 328 + 330: 19(fvec3) VectorShuffle 329 329 0 1 2 + Store 327(param) 330 + 332: 19(fvec3) Load 263(pos) + Store 331(param) 332 + 334: 105(ptr) AccessChain 101(params) 208 + 335: 16(float) Load 334 + Store 333(param) 335 + 336: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 327(param) 331(param) 333(param) + 337: 19(fvec3) Load 249(force) + 338: 19(fvec3) FAdd 337 336 + Store 249(force) 338 + Branch 320 + 320: Label + 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 341: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 342 342 12 12 + 339: 139(ptr) AccessChain 127(id) 39 + 343: 7(int) Load 339 + 344: 150(ptr) AccessChain 101(params) 149 39 + 345: 73(int) Load 344 + 346: 73(int) ISub 345 242 + 347: 7(int) Bitcast 346 + 348: 168(bool) ULessThan 343 347 + SelectionMerge 350 None + BranchConditional 348 349 350 + 349: Label + 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 351 + 355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 352 352 12 12 + 353: 7(int) Load 141(index) + 356: 150(ptr) AccessChain 101(params) 149 12 + 357: 73(int) Load 356 + 358: 7(int) Bitcast 357 + 359: 7(int) IAdd 353 358 + 362: 234(ptr) AccessChain 201 204 359 204 + 363: 71(fvec4) Load 362 + 364: 19(fvec3) VectorShuffle 363 363 0 1 2 + Store 361(param) 364 + 366: 19(fvec3) Load 263(pos) + Store 365(param) 366 + 368: 105(ptr) AccessChain 101(params) 360 + 369: 16(float) Load 368 + Store 367(param) 369 + 370: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 361(param) 365(param) 367(param) + 371: 19(fvec3) Load 249(force) + 372: 19(fvec3) FAdd 371 370 + Store 249(force) 372 + Branch 350 + 350: Label + 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 376 376 12 12 + 373: 139(ptr) AccessChain 127(id) 39 + 377: 7(int) Load 373 + 378: 168(bool) UGreaterThan 377 12 + SelectionMerge 380 None + BranchConditional 378 379 380 + 379: Label + 384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 381 + 385: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 382 382 12 12 + 383: 7(int) Load 141(index) + 386: 150(ptr) AccessChain 101(params) 149 12 + 387: 73(int) Load 386 + 388: 7(int) Bitcast 387 + 389: 7(int) ISub 383 388 + 391: 234(ptr) AccessChain 201 204 389 204 + 392: 71(fvec4) Load 391 + 393: 19(fvec3) VectorShuffle 392 392 0 1 2 + Store 390(param) 393 + 395: 19(fvec3) Load 263(pos) + Store 394(param) 395 + 397: 105(ptr) AccessChain 101(params) 360 + 398: 16(float) Load 397 + Store 396(param) 398 + 399: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 390(param) 394(param) 396(param) + 400: 19(fvec3) Load 249(force) + 401: 19(fvec3) FAdd 400 399 + Store 249(force) 401 + Branch 380 + 380: Label + 403: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 405 405 12 12 + 402: 139(ptr) AccessChain 127(id) 12 + 406: 7(int) Load 402 + 407: 168(bool) UGreaterThan 406 12 + SelectionMerge 409 None + BranchConditional 407 408 409 + 408: Label + 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 405 405 12 12 + 410: 139(ptr) AccessChain 127(id) 39 + 413: 7(int) Load 410 + 414: 150(ptr) AccessChain 101(params) 149 39 + 415: 73(int) Load 414 + 416: 73(int) ISub 415 242 + 417: 7(int) Bitcast 416 + 418: 168(bool) ULessThan 413 417 + Branch 409 + 409: Label + 419: 168(bool) Phi 407 380 418 408 + 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 405 405 12 12 + SelectionMerge 421 None + BranchConditional 419 420 421 + 420: Label + 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 424 + 428: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 425 425 12 12 + 426: 7(int) Load 141(index) + 429: 150(ptr) AccessChain 101(params) 149 12 + 430: 73(int) Load 429 + 431: 7(int) Bitcast 430 + 432: 7(int) IAdd 426 431 + 433: 7(int) ISub 432 39 + 436: 234(ptr) AccessChain 201 204 433 204 + 437: 71(fvec4) Load 436 + 438: 19(fvec3) VectorShuffle 437 437 0 1 2 + Store 435(param) 438 + 440: 19(fvec3) Load 263(pos) + Store 439(param) 440 + 442: 105(ptr) AccessChain 101(params) 434 + 443: 16(float) Load 442 + Store 441(param) 443 + 444: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 435(param) 439(param) 441(param) + 445: 19(fvec3) Load 249(force) + 446: 19(fvec3) FAdd 445 444 + Store 249(force) 446 + Branch 421 + 421: Label + 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 450 450 12 12 + 447: 139(ptr) AccessChain 127(id) 12 + 451: 7(int) Load 447 + 452: 168(bool) UGreaterThan 451 12 SelectionMerge 454 None - BranchConditional 451 453 454 + BranchConditional 452 453 454 453: Label 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 458 458 12 12 - 455: 7(int) Load 139(index) - 459: 148(ptr) AccessChain 101(params) 147 12 - 460: 73(int) Load 459 - 461: 7(int) Bitcast 460 - 462: 7(int) ISub 455 461 - 463: 7(int) ISub 462 39 - 465: 231(ptr) AccessChain 200 203 463 203 - 466: 71(fvec4) Load 465 - 467: 19(fvec3) VectorShuffle 466 466 0 1 2 - Store 464(param) 467 - 469: 19(fvec3) Load 261(pos) - Store 468(param) 469 - 471: 105(ptr) AccessChain 101(params) 425 - 472: 16(float) Load 471 - Store 470(param) 472 - 473: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 464(param) 468(param) 470(param) - 474: 19(fvec3) Load 247(force) - 475: 19(fvec3) FAdd 474 473 - Store 247(force) 475 + 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 450 450 12 12 + 455: 139(ptr) AccessChain 127(id) 39 + 458: 7(int) Load 455 + 459: 168(bool) UGreaterThan 458 12 Branch 454 454: Label - 477: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 478: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 479 479 12 12 - 476: 137(ptr) AccessChain 125(id) 12 - 480: 7(int) Load 476 - 481: 148(ptr) AccessChain 101(params) 147 12 - 482: 73(int) Load 481 - 483: 73(int) ISub 482 239 - 484: 7(int) Bitcast 483 - 485: 166(bool) ULessThan 480 484 - SelectionMerge 487 None - BranchConditional 485 486 487 - 486: Label - 489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 490: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 479 479 12 12 - 488: 137(ptr) AccessChain 125(id) 39 - 491: 7(int) Load 488 - 492: 148(ptr) AccessChain 101(params) 147 39 - 493: 73(int) Load 492 - 494: 73(int) ISub 493 239 - 495: 7(int) Bitcast 494 - 496: 166(bool) ULessThan 491 495 - Branch 487 - 487: Label - 498: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 497: 166(bool) Phi 485 454 496 486 - SelectionMerge 500 None - BranchConditional 497 499 500 - 499: Label - 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 504 504 12 12 - 501: 7(int) Load 139(index) - 505: 148(ptr) AccessChain 101(params) 147 12 - 506: 73(int) Load 505 - 507: 7(int) Bitcast 506 - 508: 7(int) IAdd 501 507 - 509: 7(int) IAdd 508 39 - 511: 231(ptr) AccessChain 200 203 509 203 - 512: 71(fvec4) Load 511 - 513: 19(fvec3) VectorShuffle 512 512 0 1 2 - Store 510(param) 513 - 515: 19(fvec3) Load 261(pos) - Store 514(param) 515 - 517: 105(ptr) AccessChain 101(params) 425 - 518: 16(float) Load 517 - Store 516(param) 518 - 519: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 510(param) 514(param) 516(param) - 520: 19(fvec3) Load 247(force) - 521: 19(fvec3) FAdd 520 519 - Store 247(force) 521 - Branch 500 - 500: Label - 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 524: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 525 525 12 12 - 522: 137(ptr) AccessChain 125(id) 12 - 526: 7(int) Load 522 - 527: 148(ptr) AccessChain 101(params) 147 12 - 528: 73(int) Load 527 - 529: 73(int) ISub 528 239 - 530: 7(int) Bitcast 529 - 531: 166(bool) ULessThan 526 530 - SelectionMerge 533 None - BranchConditional 531 532 533 - 532: Label - 535: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 536: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 525 525 12 12 - 534: 137(ptr) AccessChain 125(id) 39 - 537: 7(int) Load 534 - 538: 166(bool) UGreaterThan 537 12 - Branch 533 - 533: Label - 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 539: 166(bool) Phi 531 500 538 532 - SelectionMerge 542 None - BranchConditional 539 541 542 - 541: Label - 544: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 546 546 12 12 - 543: 7(int) Load 139(index) - 547: 148(ptr) AccessChain 101(params) 147 12 - 548: 73(int) Load 547 - 549: 7(int) Bitcast 548 - 550: 7(int) ISub 543 549 - 551: 7(int) IAdd 550 39 - 553: 231(ptr) AccessChain 200 203 551 203 - 554: 71(fvec4) Load 553 - 555: 19(fvec3) VectorShuffle 554 554 0 1 2 - Store 552(param) 555 - 557: 19(fvec3) Load 261(pos) - Store 556(param) 557 - 559: 105(ptr) AccessChain 101(params) 425 - 560: 16(float) Load 559 - Store 558(param) 560 - 561: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 552(param) 556(param) 558(param) - 562: 19(fvec3) Load 247(force) - 563: 19(fvec3) FAdd 562 561 - Store 247(force) 563 - Branch 542 - 542: Label - 566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 568 568 12 12 - 565: 105(ptr) AccessChain 101(params) 564 - 569: 16(float) Load 565 - 570: 16(float) FNegate 569 - 571: 19(fvec3) Load 271(vel) - 572: 19(fvec3) VectorTimesScalar 571 570 - 573: 19(fvec3) Load 247(force) - 574: 19(fvec3) FAdd 573 572 - Store 247(force) 574 - 580: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 578 578 12 12 - 579: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 576 575(f) 45 - 581: 19(fvec3) Load 247(force) - 582: 105(ptr) AccessChain 101(params) 239 - 583: 16(float) Load 582 - 584: 16(float) FDiv 210 583 - 585: 19(fvec3) VectorTimesScalar 581 584 - Store 575(f) 585 - 587: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 588 588 12 12 - 586: 7(int) Load 139(index) - 589: 19(fvec3) Load 261(pos) - 590: 19(fvec3) Load 271(vel) - 591: 105(ptr) AccessChain 101(params) 203 - 592: 16(float) Load 591 - 593: 19(fvec3) VectorTimesScalar 590 592 - 594: 19(fvec3) FAdd 589 593 - 596: 19(fvec3) Load 575(f) - 597: 19(fvec3) VectorTimesScalar 596 595 - 598: 105(ptr) AccessChain 101(params) 203 - 599: 16(float) Load 598 - 600: 19(fvec3) VectorTimesScalar 597 599 - 601: 105(ptr) AccessChain 101(params) 203 - 602: 16(float) Load 601 - 603: 19(fvec3) VectorTimesScalar 600 602 - 604: 19(fvec3) FAdd 594 603 - 605: 16(float) CompositeExtract 604 0 - 606: 16(float) CompositeExtract 604 1 - 607: 16(float) CompositeExtract 604 2 - 608: 71(fvec4) CompositeConstruct 605 606 607 210 - 609: 231(ptr) AccessChain 225 203 586 203 - Store 609 608 - 611: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 612 612 12 12 - 610: 7(int) Load 139(index) - 613: 19(fvec3) Load 271(vel) - 614: 19(fvec3) Load 575(f) - 615: 105(ptr) AccessChain 101(params) 203 - 616: 16(float) Load 615 - 617: 19(fvec3) VectorTimesScalar 614 616 - 618: 19(fvec3) FAdd 613 617 - 619: 16(float) CompositeExtract 618 0 - 620: 16(float) CompositeExtract 618 1 - 621: 16(float) CompositeExtract 618 2 - 622: 71(fvec4) CompositeConstruct 619 620 621 240 - 623: 231(ptr) AccessChain 225 203 610 239 - Store 623 622 - 629: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 627 627 12 12 - 628: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 625 624(sphereDist) 45 - 630: 7(int) Load 139(index) - 631: 231(ptr) AccessChain 225 203 630 203 - 632: 71(fvec4) Load 631 - 633: 19(fvec3) VectorShuffle 632 632 0 1 2 - 635: 231(ptr) AccessChain 101(params) 634 - 636: 71(fvec4) Load 635 - 637: 19(fvec3) VectorShuffle 636 636 0 1 2 - 638: 19(fvec3) FSub 633 637 - Store 624(sphereDist) 638 - 640: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 641 641 12 12 - 639: 19(fvec3) Load 624(sphereDist) - 642: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 639 - 644: 105(ptr) AccessChain 101(params) 643 - 645: 16(float) Load 644 - 647: 16(float) FAdd 645 646 - 648: 166(bool) FOrdLessThan 642 647 - SelectionMerge 650 None - BranchConditional 648 649 650 - 649: Label - 652: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 653: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 654 654 12 12 - 651: 7(int) Load 139(index) - 655: 231(ptr) AccessChain 101(params) 634 - 656: 71(fvec4) Load 655 - 657: 19(fvec3) VectorShuffle 656 656 0 1 2 - 658: 19(fvec3) Load 624(sphereDist) - 659: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 658 - 660: 105(ptr) AccessChain 101(params) 643 - 661: 16(float) Load 660 - 662: 16(float) FAdd 661 646 - 663: 19(fvec3) VectorTimesScalar 659 662 - 664: 19(fvec3) FAdd 657 663 - 665: 105(ptr) AccessChain 225 203 651 203 12 - 666: 16(float) CompositeExtract 664 0 - Store 665 666 - 667: 105(ptr) AccessChain 225 203 651 203 39 - 668: 16(float) CompositeExtract 664 1 - Store 667 668 - 669: 105(ptr) AccessChain 225 203 651 203 41 - 670: 16(float) CompositeExtract 664 2 - Store 669 670 - 672: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 673 673 12 12 - 671: 7(int) Load 139(index) - 674: 231(ptr) AccessChain 225 203 671 239 - Store 674 241 - Branch 650 - 650: Label - 691: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 692: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 681 681 12 12 - 690: 688(ptr) AccessChain 685(pushConsts) 203 - 693: 7(int) Load 690 - 694: 166(bool) IEqual 693 39 - SelectionMerge 696 None - BranchConditional 694 695 696 - 695: Label - 701: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 699 699 12 12 - 700: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 698 697(normal) 45 - Store 697(normal) 703 - 705: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 706 706 12 12 - 704: 137(ptr) AccessChain 125(id) 39 - 707: 7(int) Load 704 - 708: 166(bool) UGreaterThan 707 12 - SelectionMerge 710 None - BranchConditional 708 709 710 - 709: Label - 712: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 714 714 12 12 - 711: 137(ptr) AccessChain 125(id) 12 - 715: 7(int) Load 711 - 716: 166(bool) UGreaterThan 715 12 - SelectionMerge 718 None - BranchConditional 716 717 718 - 717: Label - 724: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 725: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 722 722 12 12 - 723: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 720 719(a) 45 - 726: 7(int) Load 139(index) - 727: 7(int) ISub 726 39 - 728: 231(ptr) AccessChain 200 203 727 203 - 729: 71(fvec4) Load 728 - 730: 19(fvec3) VectorShuffle 729 729 0 1 2 - 731: 19(fvec3) Load 261(pos) - 732: 19(fvec3) FSub 730 731 - Store 719(a) 732 - 738: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 736 736 12 12 - 737: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 734 733(b) 45 - 739: 7(int) Load 139(index) - 740: 148(ptr) AccessChain 101(params) 147 12 - 741: 73(int) Load 740 - 742: 7(int) Bitcast 741 - 743: 7(int) ISub 739 742 - 744: 7(int) ISub 743 39 - 745: 231(ptr) AccessChain 200 203 744 203 - 746: 71(fvec4) Load 745 - 747: 19(fvec3) VectorShuffle 746 746 0 1 2 - 748: 19(fvec3) Load 261(pos) - 749: 19(fvec3) FSub 747 748 - Store 733(b) 749 - 755: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 753 753 12 12 - 754: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 751 750(c) 45 - 756: 7(int) Load 139(index) - 757: 148(ptr) AccessChain 101(params) 147 12 - 758: 73(int) Load 757 - 759: 7(int) Bitcast 758 - 760: 7(int) ISub 756 759 - 761: 231(ptr) AccessChain 200 203 760 203 - 762: 71(fvec4) Load 761 - 763: 19(fvec3) VectorShuffle 762 762 0 1 2 - 764: 19(fvec3) Load 261(pos) - 765: 19(fvec3) FSub 763 764 - Store 750(c) 765 - 767: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 768 768 12 12 - 766: 19(fvec3) Load 719(a) - 769: 19(fvec3) Load 733(b) - 770: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 766 769 - 771: 19(fvec3) Load 733(b) - 772: 19(fvec3) Load 750(c) - 773: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 771 772 - 774: 19(fvec3) FAdd 770 773 - 775: 19(fvec3) Load 697(normal) - 776: 19(fvec3) FAdd 775 774 - Store 697(normal) 776 - Branch 718 - 718: Label - 778: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 779: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 780 780 12 12 - 777: 137(ptr) AccessChain 125(id) 12 - 781: 7(int) Load 777 - 782: 148(ptr) AccessChain 101(params) 147 12 - 783: 73(int) Load 782 - 784: 73(int) ISub 783 239 - 785: 7(int) Bitcast 784 - 786: 166(bool) ULessThan 781 785 - SelectionMerge 788 None - BranchConditional 786 787 788 - 787: Label - 790: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 791: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 792 792 12 12 - 789: 7(int) Load 139(index) - 793: 148(ptr) AccessChain 101(params) 147 12 - 794: 73(int) Load 793 - 795: 7(int) Bitcast 794 - 796: 7(int) ISub 789 795 - 797: 231(ptr) AccessChain 200 203 796 203 - 798: 71(fvec4) Load 797 - 799: 19(fvec3) VectorShuffle 798 798 0 1 2 - 800: 19(fvec3) Load 261(pos) - 801: 19(fvec3) FSub 799 800 - Store 719(a) 801 - 803: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 804 804 12 12 - 802: 7(int) Load 139(index) - 805: 148(ptr) AccessChain 101(params) 147 12 - 806: 73(int) Load 805 - 807: 7(int) Bitcast 806 - 808: 7(int) ISub 802 807 - 809: 7(int) IAdd 808 39 - 810: 231(ptr) AccessChain 200 203 809 203 - 811: 71(fvec4) Load 810 - 812: 19(fvec3) VectorShuffle 811 811 0 1 2 - 813: 19(fvec3) Load 261(pos) - 814: 19(fvec3) FSub 812 813 - Store 733(b) 814 - 816: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 817 817 12 12 - 815: 7(int) Load 139(index) - 818: 7(int) IAdd 815 39 - 819: 231(ptr) AccessChain 200 203 818 203 - 820: 71(fvec4) Load 819 - 821: 19(fvec3) VectorShuffle 820 820 0 1 2 - 822: 19(fvec3) Load 261(pos) - 823: 19(fvec3) FSub 821 822 - Store 750(c) 823 - 825: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 826 826 12 12 - 824: 19(fvec3) Load 719(a) - 827: 19(fvec3) Load 733(b) - 828: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 824 827 - 829: 19(fvec3) Load 733(b) - 830: 19(fvec3) Load 750(c) - 831: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 829 830 - 832: 19(fvec3) FAdd 828 831 - 833: 19(fvec3) Load 697(normal) - 834: 19(fvec3) FAdd 833 832 - Store 697(normal) 834 - Branch 788 - 788: Label - 835: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - Branch 710 - 710: Label - 837: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 838: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 839 839 12 12 - 836: 137(ptr) AccessChain 125(id) 39 - 840: 7(int) Load 836 - 841: 148(ptr) AccessChain 101(params) 147 39 - 842: 73(int) Load 841 - 843: 73(int) ISub 842 239 - 844: 7(int) Bitcast 843 - 845: 166(bool) ULessThan 840 844 - SelectionMerge 847 None - BranchConditional 845 846 847 - 846: Label - 849: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 850: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 851 851 12 12 - 848: 137(ptr) AccessChain 125(id) 12 - 852: 7(int) Load 848 - 853: 166(bool) UGreaterThan 852 12 - SelectionMerge 855 None - BranchConditional 853 854 855 - 854: Label - 857: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 858: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 859 859 12 12 - 856: 7(int) Load 139(index) - 860: 148(ptr) AccessChain 101(params) 147 12 - 861: 73(int) Load 860 - 862: 7(int) Bitcast 861 - 863: 7(int) IAdd 856 862 - 864: 231(ptr) AccessChain 200 203 863 203 - 865: 71(fvec4) Load 864 - 866: 19(fvec3) VectorShuffle 865 865 0 1 2 - 867: 19(fvec3) Load 261(pos) - 868: 19(fvec3) FSub 866 867 - Store 719(a) 868 - 870: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 871 871 12 12 - 869: 7(int) Load 139(index) - 872: 148(ptr) AccessChain 101(params) 147 12 - 873: 73(int) Load 872 - 874: 7(int) Bitcast 873 - 875: 7(int) IAdd 869 874 - 876: 7(int) ISub 875 39 - 877: 231(ptr) AccessChain 200 203 876 203 - 878: 71(fvec4) Load 877 - 879: 19(fvec3) VectorShuffle 878 878 0 1 2 - 880: 19(fvec3) Load 261(pos) - 881: 19(fvec3) FSub 879 880 - Store 733(b) 881 - 883: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 884 884 12 12 - 882: 7(int) Load 139(index) - 885: 7(int) ISub 882 39 - 886: 231(ptr) AccessChain 200 203 885 203 + 460: 168(bool) Phi 452 421 459 453 + 463: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 464: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 450 450 12 12 + SelectionMerge 462 None + BranchConditional 460 461 462 + 461: Label + 468: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 465 + 469: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 466 466 12 12 + 467: 7(int) Load 141(index) + 470: 150(ptr) AccessChain 101(params) 149 12 + 471: 73(int) Load 470 + 472: 7(int) Bitcast 471 + 473: 7(int) ISub 467 472 + 474: 7(int) ISub 473 39 + 476: 234(ptr) AccessChain 201 204 474 204 + 477: 71(fvec4) Load 476 + 478: 19(fvec3) VectorShuffle 477 477 0 1 2 + Store 475(param) 478 + 480: 19(fvec3) Load 263(pos) + Store 479(param) 480 + 482: 105(ptr) AccessChain 101(params) 434 + 483: 16(float) Load 482 + Store 481(param) 483 + 484: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 475(param) 479(param) 481(param) + 485: 19(fvec3) Load 249(force) + 486: 19(fvec3) FAdd 485 484 + Store 249(force) 486 + Branch 462 + 462: Label + 488: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 490 490 12 12 + 487: 139(ptr) AccessChain 127(id) 12 + 491: 7(int) Load 487 + 492: 150(ptr) AccessChain 101(params) 149 12 + 493: 73(int) Load 492 + 494: 73(int) ISub 493 242 + 495: 7(int) Bitcast 494 + 496: 168(bool) ULessThan 491 495 + SelectionMerge 498 None + BranchConditional 496 497 498 + 497: Label + 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 490 490 12 12 + 499: 139(ptr) AccessChain 127(id) 39 + 502: 7(int) Load 499 + 503: 150(ptr) AccessChain 101(params) 149 39 + 504: 73(int) Load 503 + 505: 73(int) ISub 504 242 + 506: 7(int) Bitcast 505 + 507: 168(bool) ULessThan 502 506 + Branch 498 + 498: Label + 508: 168(bool) Phi 496 462 507 497 + 511: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 512: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 490 490 12 12 + SelectionMerge 510 None + BranchConditional 508 509 510 + 509: Label + 516: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 513 + 517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 514 514 12 12 + 515: 7(int) Load 141(index) + 518: 150(ptr) AccessChain 101(params) 149 12 + 519: 73(int) Load 518 + 520: 7(int) Bitcast 519 + 521: 7(int) IAdd 515 520 + 522: 7(int) IAdd 521 39 + 524: 234(ptr) AccessChain 201 204 522 204 + 525: 71(fvec4) Load 524 + 526: 19(fvec3) VectorShuffle 525 525 0 1 2 + Store 523(param) 526 + 528: 19(fvec3) Load 263(pos) + Store 527(param) 528 + 530: 105(ptr) AccessChain 101(params) 434 + 531: 16(float) Load 530 + Store 529(param) 531 + 532: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 523(param) 527(param) 529(param) + 533: 19(fvec3) Load 249(force) + 534: 19(fvec3) FAdd 533 532 + Store 249(force) 534 + Branch 510 + 510: Label + 536: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 538 538 12 12 + 535: 139(ptr) AccessChain 127(id) 12 + 539: 7(int) Load 535 + 540: 150(ptr) AccessChain 101(params) 149 12 + 541: 73(int) Load 540 + 542: 73(int) ISub 541 242 + 543: 7(int) Bitcast 542 + 544: 168(bool) ULessThan 539 543 + SelectionMerge 546 None + BranchConditional 544 545 546 + 545: Label + 548: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 538 538 12 12 + 547: 139(ptr) AccessChain 127(id) 39 + 550: 7(int) Load 547 + 551: 168(bool) UGreaterThan 550 12 + Branch 546 + 546: Label + 552: 168(bool) Phi 544 510 551 545 + 555: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 538 538 12 12 + SelectionMerge 554 None + BranchConditional 552 553 554 + 553: Label + 560: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 557 + 561: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 558 558 12 12 + 559: 7(int) Load 141(index) + 562: 150(ptr) AccessChain 101(params) 149 12 + 563: 73(int) Load 562 + 564: 7(int) Bitcast 563 + 565: 7(int) ISub 559 564 + 566: 7(int) IAdd 565 39 + 568: 234(ptr) AccessChain 201 204 566 204 + 569: 71(fvec4) Load 568 + 570: 19(fvec3) VectorShuffle 569 569 0 1 2 + Store 567(param) 570 + 572: 19(fvec3) Load 263(pos) + Store 571(param) 572 + 574: 105(ptr) AccessChain 101(params) 434 + 575: 16(float) Load 574 + Store 573(param) 575 + 576: 19(fvec3) FunctionCall 31(springForce(vf3;vf3;f1;) 567(param) 571(param) 573(param) + 577: 19(fvec3) Load 249(force) + 578: 19(fvec3) FAdd 577 576 + Store 249(force) 578 + Branch 554 + 554: Label + 581: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 582: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 583 583 12 12 + 580: 105(ptr) AccessChain 101(params) 579 + 584: 16(float) Load 580 + 585: 16(float) FNegate 584 + 586: 19(fvec3) Load 273(vel) + 587: 19(fvec3) VectorTimesScalar 586 585 + 588: 19(fvec3) Load 249(force) + 589: 19(fvec3) FAdd 588 587 + Store 249(force) 589 + 595: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 593 593 12 12 + 594: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 591 590(f) 45 + 596: 19(fvec3) Load 249(force) + 597: 105(ptr) AccessChain 101(params) 242 + 598: 16(float) Load 597 + 599: 16(float) FDiv 211 598 + 600: 19(fvec3) VectorTimesScalar 596 599 + Store 590(f) 600 + 602: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 603 603 12 12 + 601: 7(int) Load 141(index) + 604: 19(fvec3) Load 263(pos) + 605: 19(fvec3) Load 273(vel) + 606: 105(ptr) AccessChain 101(params) 204 + 607: 16(float) Load 606 + 608: 19(fvec3) VectorTimesScalar 605 607 + 609: 19(fvec3) FAdd 604 608 + 611: 19(fvec3) Load 590(f) + 612: 19(fvec3) VectorTimesScalar 611 610 + 613: 105(ptr) AccessChain 101(params) 204 + 614: 16(float) Load 613 + 615: 19(fvec3) VectorTimesScalar 612 614 + 616: 105(ptr) AccessChain 101(params) 204 + 617: 16(float) Load 616 + 618: 19(fvec3) VectorTimesScalar 615 617 + 619: 19(fvec3) FAdd 609 618 + 620: 16(float) CompositeExtract 619 0 + 621: 16(float) CompositeExtract 619 1 + 622: 16(float) CompositeExtract 619 2 + 623: 71(fvec4) CompositeConstruct 620 621 622 211 + 624: 234(ptr) AccessChain 228 204 601 204 + Store 624 623 + 626: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 627 627 12 12 + 625: 7(int) Load 141(index) + 628: 19(fvec3) Load 273(vel) + 629: 19(fvec3) Load 590(f) + 630: 105(ptr) AccessChain 101(params) 204 + 631: 16(float) Load 630 + 632: 19(fvec3) VectorTimesScalar 629 631 + 633: 19(fvec3) FAdd 628 632 + 634: 16(float) CompositeExtract 633 0 + 635: 16(float) CompositeExtract 633 1 + 636: 16(float) CompositeExtract 633 2 + 637: 71(fvec4) CompositeConstruct 634 635 636 243 + 638: 234(ptr) AccessChain 228 204 625 242 + Store 638 637 + 644: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 642 642 12 12 + 643: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 640 639(sphereDist) 45 + 645: 7(int) Load 141(index) + 646: 234(ptr) AccessChain 228 204 645 204 + 647: 71(fvec4) Load 646 + 648: 19(fvec3) VectorShuffle 647 647 0 1 2 + 650: 234(ptr) AccessChain 101(params) 649 + 651: 71(fvec4) Load 650 + 652: 19(fvec3) VectorShuffle 651 651 0 1 2 + 653: 19(fvec3) FSub 648 652 + Store 639(sphereDist) 653 + 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 656 656 12 12 + 654: 19(fvec3) Load 639(sphereDist) + 657: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 654 + 659: 105(ptr) AccessChain 101(params) 658 + 660: 16(float) Load 659 + 662: 16(float) FAdd 660 661 + 663: 168(bool) FOrdLessThan 657 662 + SelectionMerge 665 None + BranchConditional 663 664 665 + 664: Label + 670: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 666 + 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 667 667 12 12 + 669: 7(int) Load 141(index) + 672: 234(ptr) AccessChain 101(params) 649 + 673: 71(fvec4) Load 672 + 674: 19(fvec3) VectorShuffle 673 673 0 1 2 + 675: 19(fvec3) Load 639(sphereDist) + 676: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 675 + 677: 105(ptr) AccessChain 101(params) 658 + 678: 16(float) Load 677 + 679: 16(float) FAdd 678 661 + 680: 19(fvec3) VectorTimesScalar 676 679 + 681: 19(fvec3) FAdd 674 680 + 682: 105(ptr) AccessChain 228 204 669 204 12 + 683: 16(float) CompositeExtract 681 0 + Store 682 683 + 684: 105(ptr) AccessChain 228 204 669 204 39 + 685: 16(float) CompositeExtract 681 1 + Store 684 685 + 686: 105(ptr) AccessChain 228 204 669 204 41 + 687: 16(float) CompositeExtract 681 2 + Store 686 687 + 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 690 690 12 12 + 688: 7(int) Load 141(index) + 691: 234(ptr) AccessChain 228 204 688 242 + Store 691 244 + Branch 665 + 665: Label + 707: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 708: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 698 698 12 12 + 706: 704(ptr) AccessChain 701(pushConsts) 204 + 709: 7(int) Load 706 + 710: 168(bool) IEqual 709 39 + SelectionMerge 712 None + BranchConditional 710 711 712 + 711: Label + 719: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 713 + 720: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 714 714 12 12 + 718: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 717 716(normal) 45 + Store 716(normal) 721 + 723: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 724 724 12 12 + 722: 139(ptr) AccessChain 127(id) 39 + 725: 7(int) Load 722 + 726: 168(bool) UGreaterThan 725 12 + SelectionMerge 728 None + BranchConditional 726 727 728 + 727: Label + 732: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 729 + 733: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 730 730 12 12 + 731: 139(ptr) AccessChain 127(id) 12 + 734: 7(int) Load 731 + 735: 168(bool) UGreaterThan 734 12 + SelectionMerge 737 None + BranchConditional 735 736 737 + 736: Label + 744: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 738 + 745: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 739 739 12 12 + 743: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 741 740(a) 45 + 746: 7(int) Load 141(index) + 747: 7(int) ISub 746 39 + 748: 234(ptr) AccessChain 201 204 747 204 + 749: 71(fvec4) Load 748 + 750: 19(fvec3) VectorShuffle 749 749 0 1 2 + 751: 19(fvec3) Load 263(pos) + 752: 19(fvec3) FSub 750 751 + Store 740(a) 752 + 758: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 756 756 12 12 + 757: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 754 753(b) 45 + 759: 7(int) Load 141(index) + 760: 150(ptr) AccessChain 101(params) 149 12 + 761: 73(int) Load 760 + 762: 7(int) Bitcast 761 + 763: 7(int) ISub 759 762 + 764: 7(int) ISub 763 39 + 765: 234(ptr) AccessChain 201 204 764 204 + 766: 71(fvec4) Load 765 + 767: 19(fvec3) VectorShuffle 766 766 0 1 2 + 768: 19(fvec3) Load 263(pos) + 769: 19(fvec3) FSub 767 768 + Store 753(b) 769 + 775: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 773 773 12 12 + 774: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 771 770(c) 45 + 776: 7(int) Load 141(index) + 777: 150(ptr) AccessChain 101(params) 149 12 + 778: 73(int) Load 777 + 779: 7(int) Bitcast 778 + 780: 7(int) ISub 776 779 + 781: 234(ptr) AccessChain 201 204 780 204 + 782: 71(fvec4) Load 781 + 783: 19(fvec3) VectorShuffle 782 782 0 1 2 + 784: 19(fvec3) Load 263(pos) + 785: 19(fvec3) FSub 783 784 + Store 770(c) 785 + 787: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 788 788 12 12 + 786: 19(fvec3) Load 740(a) + 789: 19(fvec3) Load 753(b) + 790: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 786 789 + 791: 19(fvec3) Load 753(b) + 792: 19(fvec3) Load 770(c) + 793: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 791 792 + 794: 19(fvec3) FAdd 790 793 + 795: 19(fvec3) Load 716(normal) + 796: 19(fvec3) FAdd 795 794 + Store 716(normal) 796 + Branch 737 + 737: Label + 798: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 729 + 799: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 800 800 12 12 + 797: 139(ptr) AccessChain 127(id) 12 + 801: 7(int) Load 797 + 802: 150(ptr) AccessChain 101(params) 149 12 + 803: 73(int) Load 802 + 804: 73(int) ISub 803 242 + 805: 7(int) Bitcast 804 + 806: 168(bool) ULessThan 801 805 + SelectionMerge 808 None + BranchConditional 806 807 808 + 807: Label + 812: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 809 + 813: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 810 810 12 12 + 811: 7(int) Load 141(index) + 814: 150(ptr) AccessChain 101(params) 149 12 + 815: 73(int) Load 814 + 816: 7(int) Bitcast 815 + 817: 7(int) ISub 811 816 + 818: 234(ptr) AccessChain 201 204 817 204 + 819: 71(fvec4) Load 818 + 820: 19(fvec3) VectorShuffle 819 819 0 1 2 + 821: 19(fvec3) Load 263(pos) + 822: 19(fvec3) FSub 820 821 + Store 740(a) 822 + 824: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 825 825 12 12 + 823: 7(int) Load 141(index) + 826: 150(ptr) AccessChain 101(params) 149 12 + 827: 73(int) Load 826 + 828: 7(int) Bitcast 827 + 829: 7(int) ISub 823 828 + 830: 7(int) IAdd 829 39 + 831: 234(ptr) AccessChain 201 204 830 204 + 832: 71(fvec4) Load 831 + 833: 19(fvec3) VectorShuffle 832 832 0 1 2 + 834: 19(fvec3) Load 263(pos) + 835: 19(fvec3) FSub 833 834 + Store 753(b) 835 + 837: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 838 838 12 12 + 836: 7(int) Load 141(index) + 839: 7(int) IAdd 836 39 + 840: 234(ptr) AccessChain 201 204 839 204 + 841: 71(fvec4) Load 840 + 842: 19(fvec3) VectorShuffle 841 841 0 1 2 + 843: 19(fvec3) Load 263(pos) + 844: 19(fvec3) FSub 842 843 + Store 770(c) 844 + 846: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 847 847 12 12 + 845: 19(fvec3) Load 740(a) + 848: 19(fvec3) Load 753(b) + 849: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 845 848 + 850: 19(fvec3) Load 753(b) + 851: 19(fvec3) Load 770(c) + 852: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 850 851 + 853: 19(fvec3) FAdd 849 852 + 854: 19(fvec3) Load 716(normal) + 855: 19(fvec3) FAdd 854 853 + Store 716(normal) 855 + Branch 808 + 808: Label + Branch 728 + 728: Label + 857: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 713 + 858: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 859 859 12 12 + 856: 139(ptr) AccessChain 127(id) 39 + 860: 7(int) Load 856 + 861: 150(ptr) AccessChain 101(params) 149 39 + 862: 73(int) Load 861 + 863: 73(int) ISub 862 242 + 864: 7(int) Bitcast 863 + 865: 168(bool) ULessThan 860 864 + SelectionMerge 867 None + BranchConditional 865 866 867 + 866: Label + 871: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 868 + 872: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 869 869 12 12 + 870: 139(ptr) AccessChain 127(id) 12 + 873: 7(int) Load 870 + 874: 168(bool) UGreaterThan 873 12 + SelectionMerge 876 None + BranchConditional 874 875 876 + 875: Label + 880: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 877 + 881: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 878 878 12 12 + 879: 7(int) Load 141(index) + 882: 150(ptr) AccessChain 101(params) 149 12 + 883: 73(int) Load 882 + 884: 7(int) Bitcast 883 + 885: 7(int) IAdd 879 884 + 886: 234(ptr) AccessChain 201 204 885 204 887: 71(fvec4) Load 886 888: 19(fvec3) VectorShuffle 887 887 0 1 2 - 889: 19(fvec3) Load 261(pos) + 889: 19(fvec3) Load 263(pos) 890: 19(fvec3) FSub 888 889 - Store 750(c) 890 + Store 740(a) 890 892: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 893 893 12 12 - 891: 19(fvec3) Load 719(a) - 894: 19(fvec3) Load 733(b) - 895: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 891 894 - 896: 19(fvec3) Load 733(b) - 897: 19(fvec3) Load 750(c) - 898: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 896 897 - 899: 19(fvec3) FAdd 895 898 - 900: 19(fvec3) Load 697(normal) - 901: 19(fvec3) FAdd 900 899 - Store 697(normal) 901 - Branch 855 - 855: Label - 903: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 904: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 905 905 12 12 - 902: 137(ptr) AccessChain 125(id) 12 - 906: 7(int) Load 902 - 907: 148(ptr) AccessChain 101(params) 147 12 - 908: 73(int) Load 907 - 909: 73(int) ISub 908 239 - 910: 7(int) Bitcast 909 - 911: 166(bool) ULessThan 906 910 - SelectionMerge 913 None - BranchConditional 911 912 913 - 912: Label - 915: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 916: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 917 917 12 12 - 914: 7(int) Load 139(index) - 918: 7(int) IAdd 914 39 - 919: 231(ptr) AccessChain 200 203 918 203 - 920: 71(fvec4) Load 919 - 921: 19(fvec3) VectorShuffle 920 920 0 1 2 - 922: 19(fvec3) Load 261(pos) - 923: 19(fvec3) FSub 921 922 - Store 719(a) 923 - 925: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 926 926 12 12 - 924: 7(int) Load 139(index) - 927: 148(ptr) AccessChain 101(params) 147 12 - 928: 73(int) Load 927 - 929: 7(int) Bitcast 928 - 930: 7(int) IAdd 924 929 - 931: 7(int) IAdd 930 39 - 932: 231(ptr) AccessChain 200 203 931 203 - 933: 71(fvec4) Load 932 - 934: 19(fvec3) VectorShuffle 933 933 0 1 2 - 935: 19(fvec3) Load 261(pos) - 936: 19(fvec3) FSub 934 935 - Store 733(b) 936 - 938: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 939 939 12 12 - 937: 7(int) Load 139(index) - 940: 148(ptr) AccessChain 101(params) 147 12 - 941: 73(int) Load 940 - 942: 7(int) Bitcast 941 - 943: 7(int) IAdd 937 942 - 944: 231(ptr) AccessChain 200 203 943 203 - 945: 71(fvec4) Load 944 - 946: 19(fvec3) VectorShuffle 945 945 0 1 2 - 947: 19(fvec3) Load 261(pos) - 948: 19(fvec3) FSub 946 947 - Store 750(c) 948 - 950: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 951 951 12 12 - 949: 19(fvec3) Load 719(a) - 952: 19(fvec3) Load 733(b) - 953: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 949 952 - 954: 19(fvec3) Load 733(b) - 955: 19(fvec3) Load 750(c) - 956: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 954 955 - 957: 19(fvec3) FAdd 953 956 - 958: 19(fvec3) Load 697(normal) - 959: 19(fvec3) FAdd 958 957 - Store 697(normal) 959 - Branch 913 - 913: Label - 960: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - Branch 847 - 847: Label - 962: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 963: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 964 964 12 12 - 961: 7(int) Load 139(index) - 965: 19(fvec3) Load 697(normal) - 966: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 965 - 967: 16(float) CompositeExtract 966 0 - 968: 16(float) CompositeExtract 966 1 - 969: 16(float) CompositeExtract 966 2 - 970: 71(fvec4) CompositeConstruct 967 968 969 240 - 971: 231(ptr) AccessChain 225 203 961 564 - Store 971 970 - Branch 696 - 696: Label - 972: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 891: 7(int) Load 141(index) + 894: 150(ptr) AccessChain 101(params) 149 12 + 895: 73(int) Load 894 + 896: 7(int) Bitcast 895 + 897: 7(int) IAdd 891 896 + 898: 7(int) ISub 897 39 + 899: 234(ptr) AccessChain 201 204 898 204 + 900: 71(fvec4) Load 899 + 901: 19(fvec3) VectorShuffle 900 900 0 1 2 + 902: 19(fvec3) Load 263(pos) + 903: 19(fvec3) FSub 901 902 + Store 753(b) 903 + 905: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 906 906 12 12 + 904: 7(int) Load 141(index) + 907: 7(int) ISub 904 39 + 908: 234(ptr) AccessChain 201 204 907 204 + 909: 71(fvec4) Load 908 + 910: 19(fvec3) VectorShuffle 909 909 0 1 2 + 911: 19(fvec3) Load 263(pos) + 912: 19(fvec3) FSub 910 911 + Store 770(c) 912 + 914: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 915 915 12 12 + 913: 19(fvec3) Load 740(a) + 916: 19(fvec3) Load 753(b) + 917: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 913 916 + 918: 19(fvec3) Load 753(b) + 919: 19(fvec3) Load 770(c) + 920: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 918 919 + 921: 19(fvec3) FAdd 917 920 + 922: 19(fvec3) Load 716(normal) + 923: 19(fvec3) FAdd 922 921 + Store 716(normal) 923 + Branch 876 + 876: Label + 925: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 868 + 926: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 927 927 12 12 + 924: 139(ptr) AccessChain 127(id) 12 + 928: 7(int) Load 924 + 929: 150(ptr) AccessChain 101(params) 149 12 + 930: 73(int) Load 929 + 931: 73(int) ISub 930 242 + 932: 7(int) Bitcast 931 + 933: 168(bool) ULessThan 928 932 + SelectionMerge 935 None + BranchConditional 933 934 935 + 934: Label + 939: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 936 + 940: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 937 937 12 12 + 938: 7(int) Load 141(index) + 941: 7(int) IAdd 938 39 + 942: 234(ptr) AccessChain 201 204 941 204 + 943: 71(fvec4) Load 942 + 944: 19(fvec3) VectorShuffle 943 943 0 1 2 + 945: 19(fvec3) Load 263(pos) + 946: 19(fvec3) FSub 944 945 + Store 740(a) 946 + 948: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 949 949 12 12 + 947: 7(int) Load 141(index) + 950: 150(ptr) AccessChain 101(params) 149 12 + 951: 73(int) Load 950 + 952: 7(int) Bitcast 951 + 953: 7(int) IAdd 947 952 + 954: 7(int) IAdd 953 39 + 955: 234(ptr) AccessChain 201 204 954 204 + 956: 71(fvec4) Load 955 + 957: 19(fvec3) VectorShuffle 956 956 0 1 2 + 958: 19(fvec3) Load 263(pos) + 959: 19(fvec3) FSub 957 958 + Store 753(b) 959 + 961: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 962 962 12 12 + 960: 7(int) Load 141(index) + 963: 150(ptr) AccessChain 101(params) 149 12 + 964: 73(int) Load 963 + 965: 7(int) Bitcast 964 + 966: 7(int) IAdd 960 965 + 967: 234(ptr) AccessChain 201 204 966 204 + 968: 71(fvec4) Load 967 + 969: 19(fvec3) VectorShuffle 968 968 0 1 2 + 970: 19(fvec3) Load 263(pos) + 971: 19(fvec3) FSub 969 970 + Store 770(c) 971 + 973: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 974 974 12 12 + 972: 19(fvec3) Load 740(a) + 975: 19(fvec3) Load 753(b) + 976: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 972 975 + 977: 19(fvec3) Load 753(b) + 978: 19(fvec3) Load 770(c) + 979: 19(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 977 978 + 980: 19(fvec3) FAdd 976 979 + 981: 19(fvec3) Load 716(normal) + 982: 19(fvec3) FAdd 981 980 + Store 716(normal) 982 + Branch 935 + 935: Label + Branch 867 + 867: Label + 984: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 713 + 985: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 986 986 12 12 + 983: 7(int) Load 141(index) + 987: 19(fvec3) Load 716(normal) + 988: 19(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 987 + 989: 16(float) CompositeExtract 988 0 + 990: 16(float) CompositeExtract 988 1 + 991: 16(float) CompositeExtract 988 2 + 992: 71(fvec4) CompositeConstruct 989 990 991 243 + 993: 234(ptr) AccessChain 228 204 983 579 + Store 993 992 + Branch 712 + 712: Label + 994: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 + 995: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 35 996 996 12 12 Return FunctionEnd 31(springForce(vf3;vf3;f1;): 19(fvec3) Function None 26 diff --git a/Test/baseResults/spv.debuginfo.glsl.frag.out b/Test/baseResults/spv.debuginfo.glsl.frag.out index c2023e59..387041da 100644 --- a/Test/baseResults/spv.debuginfo.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.glsl.frag.out @@ -1,8 +1,7 @@ spv.debuginfo.glsl.frag -Validation failed // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 881 +// Id's are bound by 886 Capability Shader Capability ImageQuery @@ -10,7 +9,7 @@ Validation failed 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 14 "main" 493 546 + EntryPoint Fragment 14 "main" 503 557 ExecutionMode 14 OriginUpperLeft 2: String "spv.debuginfo.glsl.frag" 8: String "uint" @@ -223,61 +222,61 @@ void main() 56: String "offset" 64: String "filterPCF" 68: String "sc" - 83: String "shadow" - 87: String "fragcolor" - 91: String "fragpos" - 93: String "main" - 97: String "int" - 103: String "global_var" - 118: String "shadowCoord" - 140: String "bool" - 161: String "dist" - 168: String "type.2d.image" - 169: String "@type.2d.image" - 173: String "type.sampled.image" - 174: String "@type.sampled.image" - 179: String "samplerShadowMap" - 229: String "texDim" - 241: String "scale" - 248: String "dx" - 262: String "dy" - 274: String "shadowFactor" - 280: String "count" - 286: String "range" - 293: String "x" - 313: String "y" - 379: String "i" - 397: String "shadowClip" - 407: String "color" - 412: String "viewMatrix" - 415: String "Light" - 421: String "lights" - 424: String "debugDisplayTarget" - 428: String "UBO" - 433: String "ubo" - 477: String "fragPos" - 489: String "samplerposition" - 495: String "inUV" - 501: String "normal" - 507: String "samplerNormal" - 514: String "albedo" - 520: String "samplerAlbedo" - 548: String "outFragColor" - 648: String "N" - 672: String "L" - 698: String "V" - 713: String "lightCosInnerAngle" - 720: String "lightCosOuterAngle" - 727: String "lightRange" - 734: String "dir" - 750: String "cosDir" - 759: String "spotEffect" - 769: String "heightAttenuation" - 778: String "NdotL" - 788: String "diff" - 796: String "R" - 806: String "NdotR" - 816: String "spec" + 84: String "shadow" + 88: String "fragcolor" + 93: String "fragpos" + 95: String "main" + 99: String "int" + 105: String "global_var" + 120: String "shadowCoord" + 142: String "bool" + 167: String "dist" + 173: String "type.2d.image" + 174: String "@type.2d.image" + 178: String "type.sampled.image" + 179: String "@type.sampled.image" + 184: String "samplerShadowMap" + 237: String "texDim" + 249: String "scale" + 256: String "dx" + 270: String "dy" + 282: String "shadowFactor" + 288: String "count" + 294: String "range" + 301: String "x" + 321: String "y" + 387: String "i" + 405: String "shadowClip" + 415: String "color" + 420: String "viewMatrix" + 423: String "Light" + 429: String "lights" + 432: String "debugDisplayTarget" + 436: String "UBO" + 441: String "ubo" + 487: String "fragPos" + 499: String "samplerposition" + 505: String "inUV" + 511: String "normal" + 517: String "samplerNormal" + 524: String "albedo" + 530: String "samplerAlbedo" + 559: String "outFragColor" + 653: String "N" + 677: String "L" + 703: String "V" + 718: String "lightCosInnerAngle" + 725: String "lightCosOuterAngle" + 732: String "lightRange" + 739: String "dir" + 755: String "cosDir" + 764: String "spotEffect" + 774: String "heightAttenuation" + 783: String "NdotL" + 793: String "diff" + 801: String "R" + 811: String "NdotR" + 821: String "spec" Name 14 "main" Name 37 "textureProj(vf4;f1;vf2;" Name 34 "P" @@ -286,96 +285,96 @@ void main() Name 62 "filterPCF(vf4;f1;" Name 60 "sc" Name 61 "layer" - Name 81 "shadow(vf3;vf3;" - Name 79 "fragcolor" - Name 80 "fragpos" - Name 101 "global_var" - Name 110 "shadow" - Name 116 "shadowCoord" - Name 159 "dist" - Name 177 "samplerShadowMap" - Name 227 "texDim" - Name 239 "scale" - Name 246 "dx" - Name 260 "dy" - Name 272 "shadowFactor" - Name 278 "count" - Name 284 "range" - Name 291 "x" - Name 311 "y" - Name 344 "param" - Name 346 "param" - Name 348 "param" - Name 377 "i" - Name 395 "shadowClip" - Name 405 "Light" - MemberName 405(Light) 0 "position" - MemberName 405(Light) 1 "target" - MemberName 405(Light) 2 "color" - MemberName 405(Light) 3 "viewMatrix" - Name 418 "UBO" - MemberName 418(UBO) 0 "viewPos" - MemberName 418(UBO) 1 "lights" - MemberName 418(UBO) 2 "useShadows" - MemberName 418(UBO) 3 "debugDisplayTarget" - Name 431 "ubo" - Name 445 "shadowFactor" - Name 452 "param" - Name 454 "param" - Name 475 "fragPos" - Name 487 "samplerposition" - Name 493 "inUV" - Name 499 "normal" - Name 505 "samplerNormal" - Name 512 "albedo" - Name 518 "samplerAlbedo" - Name 546 "outFragColor" - Name 551 "param" - Name 554 "param" - Name 636 "fragcolor" - Name 646 "N" - Name 654 "i" - Name 670 "L" - Name 685 "dist" - Name 696 "V" - Name 711 "lightCosInnerAngle" - Name 718 "lightCosOuterAngle" - Name 725 "lightRange" - Name 732 "dir" - Name 748 "cosDir" - Name 757 "spotEffect" - Name 767 "heightAttenuation" - Name 776 "NdotL" - Name 786 "diff" - Name 794 "R" - Name 804 "NdotR" - Name 814 "spec" - Name 865 "param" - Name 870 "param" - Decorate 177(samplerShadowMap) DescriptorSet 0 - Decorate 177(samplerShadowMap) Binding 5 - MemberDecorate 405(Light) 0 Offset 0 - MemberDecorate 405(Light) 1 Offset 16 - MemberDecorate 405(Light) 2 Offset 32 - MemberDecorate 405(Light) 3 ColMajor - MemberDecorate 405(Light) 3 Offset 48 - MemberDecorate 405(Light) 3 MatrixStride 16 - Decorate 416 ArrayStride 112 - MemberDecorate 418(UBO) 0 Offset 0 - MemberDecorate 418(UBO) 1 Offset 16 - MemberDecorate 418(UBO) 2 Offset 352 - MemberDecorate 418(UBO) 3 Offset 356 - Decorate 418(UBO) Block - Decorate 431(ubo) DescriptorSet 0 - Decorate 431(ubo) Binding 4 - Decorate 487(samplerposition) DescriptorSet 0 - Decorate 487(samplerposition) Binding 1 - Decorate 493(inUV) Location 0 - Decorate 505(samplerNormal) DescriptorSet 0 - Decorate 505(samplerNormal) Binding 2 - Decorate 518(samplerAlbedo) DescriptorSet 0 - Decorate 518(samplerAlbedo) Binding 3 - Decorate 546(outFragColor) Location 0 + Name 82 "shadow(vf3;vf3;" + Name 80 "fragcolor" + Name 81 "fragpos" + Name 103 "global_var" + Name 112 "shadow" + Name 118 "shadowCoord" + Name 165 "dist" + Name 182 "samplerShadowMap" + Name 235 "texDim" + Name 247 "scale" + Name 254 "dx" + Name 268 "dy" + Name 280 "shadowFactor" + Name 286 "count" + Name 292 "range" + Name 299 "x" + Name 319 "y" + Name 352 "param" + Name 354 "param" + Name 356 "param" + Name 385 "i" + Name 403 "shadowClip" + Name 413 "Light" + MemberName 413(Light) 0 "position" + MemberName 413(Light) 1 "target" + MemberName 413(Light) 2 "color" + MemberName 413(Light) 3 "viewMatrix" + Name 426 "UBO" + MemberName 426(UBO) 0 "viewPos" + MemberName 426(UBO) 1 "lights" + MemberName 426(UBO) 2 "useShadows" + MemberName 426(UBO) 3 "debugDisplayTarget" + Name 439 "ubo" + Name 453 "shadowFactor" + Name 460 "param" + Name 462 "param" + Name 485 "fragPos" + Name 497 "samplerposition" + Name 503 "inUV" + Name 509 "normal" + Name 515 "samplerNormal" + Name 522 "albedo" + Name 528 "samplerAlbedo" + Name 557 "outFragColor" + Name 562 "param" + Name 565 "param" + Name 641 "fragcolor" + Name 651 "N" + Name 659 "i" + Name 675 "L" + Name 690 "dist" + Name 701 "V" + Name 716 "lightCosInnerAngle" + Name 723 "lightCosOuterAngle" + Name 730 "lightRange" + Name 737 "dir" + Name 753 "cosDir" + Name 762 "spotEffect" + Name 772 "heightAttenuation" + Name 781 "NdotL" + Name 791 "diff" + Name 799 "R" + Name 809 "NdotR" + Name 819 "spec" + Name 869 "param" + Name 873 "param" + Decorate 182(samplerShadowMap) Binding 5 + Decorate 182(samplerShadowMap) DescriptorSet 0 + MemberDecorate 413(Light) 0 Offset 0 + MemberDecorate 413(Light) 1 Offset 16 + MemberDecorate 413(Light) 2 Offset 32 + MemberDecorate 413(Light) 3 ColMajor + MemberDecorate 413(Light) 3 MatrixStride 16 + MemberDecorate 413(Light) 3 Offset 48 + Decorate 424 ArrayStride 112 + Decorate 426(UBO) Block + MemberDecorate 426(UBO) 0 Offset 0 + MemberDecorate 426(UBO) 1 Offset 16 + MemberDecorate 426(UBO) 2 Offset 352 + MemberDecorate 426(UBO) 3 Offset 356 + Decorate 439(ubo) Binding 4 + Decorate 439(ubo) DescriptorSet 0 + Decorate 497(samplerposition) Binding 1 + Decorate 497(samplerposition) DescriptorSet 0 + Decorate 503(inUV) Location 0 + Decorate 515(samplerNormal) Binding 2 + Decorate 515(samplerNormal) DescriptorSet 0 + Decorate 528(samplerAlbedo) Binding 3 + Decorate 528(samplerAlbedo) DescriptorSet 0 + Decorate 557(outFragColor) Location 0 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 @@ -416,571 +415,579 @@ void main() 66: 7(int) Constant 76 65: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 64 59 41 66 12 44 64 13 66 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 68 21 41 66 12 65 20 45 - 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 53 18 41 66 12 65 20 28 - 73: TypeVector 16(float) 3 - 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 13 - 75: TypePointer Function 73(fvec3) - 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 74 23 12 - 77: TypeFunction 73(fvec3) 75(ptr) 75(ptr) - 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 74 74 74 - 85: 7(int) Constant 99 - 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 83 78 41 85 12 44 83 13 85 - 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 87 74 41 85 12 84 20 45 - 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 91 74 41 85 12 84 20 28 - 95: 7(int) Constant 116 - 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 93 6 41 95 12 44 93 13 95 - 96: TypeInt 32 1 - 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 97 10 20 12 - 99: TypePointer Private 96(int) - 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 11 12 - 101(global_var): 99(ptr) Variable Private - 104: 7(int) Constant 41 - 105: 7(int) Constant 8 - 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 103 98 41 104 12 44 103 101(global_var) 105 - 106: 96(int) Constant 0 - 112: 7(int) Constant 61 - 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 18 41 112 12 40 20 - 115: 16(float) Constant 1065353216 - 119: 7(int) Constant 62 - 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 118 21 41 119 12 40 20 - 129: 7(int) Constant 63 - 131: 16(float) Constant 1056964608 - 139: TypeBool - 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 140 10 28 12 - 144: 7(int) Constant 65 - 146: 16(float) Constant 3212836864 - 162: 7(int) Constant 67 - 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 161 18 41 162 12 40 20 - 166: TypeImage 16(float) 2D array sampled format:Unknown - 170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 168 12 41 162 12 44 169 170 13 - 171: TypeSampledImage 166 - 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 173 12 41 162 12 44 174 170 13 - 175: TypePointer UniformConstant 171 - 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 172 12 12 -177(samplerShadowMap): 175(ptr) Variable UniformConstant - 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 179 172 41 162 12 44 179 177(samplerShadowMap) 105 - 193: 7(int) Constant 68 - 195: 16(float) Constant 0 - 209: 16(float) Constant 1048576000 - 212: 7(int) Constant 70 - 217: 7(int) Constant 73 - 223: TypeVector 96(int) 2 - 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 98 28 - 225: TypePointer Function 223(ivec2) - 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 224 23 12 - 230: 7(int) Constant 78 - 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 229 224 41 230 12 65 20 - 235: TypeVector 96(int) 3 - 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 98 13 - 242: 7(int) Constant 79 - 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 241 18 41 242 12 65 20 - 245: 16(float) Constant 1069547520 - 249: 7(int) Constant 80 - 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 248 18 41 249 12 65 20 - 254: TypePointer Function 96(int) - 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 23 12 - 263: 7(int) Constant 81 - 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 262 18 41 263 12 65 20 - 275: 7(int) Constant 83 - 273: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 274 18 41 275 12 65 20 - 281: 7(int) Constant 84 - 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 280 98 41 281 12 65 20 - 287: 7(int) Constant 85 - 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 286 98 41 287 12 65 20 - 290: 96(int) Constant 1 - 294: 7(int) Constant 87 - 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 293 98 41 294 12 65 20 - 314: 7(int) Constant 89 - 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 313 98 41 314 12 65 20 - 335: 7(int) Constant 91 - 354: 7(int) Constant 92 - 368: 7(int) Constant 96 - 380: 7(int) Constant 100 - 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 379 98 41 380 12 84 20 - 393: 96(int) Constant 3 - 398: 7(int) Constant 102 - 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 397 21 41 398 12 84 20 - 402: TypeMatrix 19(fvec4) 4 - 404: 139(bool) ConstantTrue - 403: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 21 20 404 - 405(Light): TypeStruct 19(fvec4) 19(fvec4) 19(fvec4) 402 - 408: 7(int) Constant 47 - 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 407 21 41 408 23 12 12 13 - 409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 407 21 41 408 23 12 12 13 - 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 407 21 41 408 23 12 12 13 - 413: 7(int) Constant 48 - 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 412 403 41 413 23 12 12 13 - 414: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 415 45 41 398 12 44 415 12 13 406 409 410 411 - 416: TypeArray 405(Light) 13 - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 414 13 - 418(UBO): TypeStruct 19(fvec4) 416 96(int) 96(int) - 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 407 21 41 408 23 12 12 13 - 422: 7(int) Constant 54 - 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 421 417 41 422 105 12 12 13 - 425: 7(int) Constant 56 - 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 424 98 41 425 11 12 12 13 - 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 424 98 41 425 11 12 12 13 - 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 428 45 41 398 12 44 428 12 13 419 420 423 426 - 429: TypePointer Uniform 418(UBO) - 430: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 427 28 12 - 431(ubo): 429(ptr) Variable Uniform - 432: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 433 427 41 398 12 44 433 431(ubo) 105 - 435: TypePointer Uniform 402 - 436: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 403 28 12 - 447: 7(int) Constant 106 - 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 274 18 41 447 12 84 20 - 458: 7(int) Constant 111 - 468: 7(int) Constant 113 - 478: 7(int) Constant 119 - 476: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 477 74 41 478 12 94 20 - 481: TypeImage 16(float) 2D sampled format:Unknown - 482: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 168 12 41 478 12 44 169 170 13 - 483: TypeSampledImage 481 - 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 173 12 41 478 12 44 174 170 13 - 485: TypePointer UniformConstant 483 - 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 484 12 12 -487(samplerposition): 485(ptr) Variable UniformConstant - 488: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 489 484 41 478 12 44 489 487(samplerposition) 105 - 491: TypePointer Input 27(fvec2) - 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 29 45 12 - 493(inUV): 491(ptr) Variable Input - 494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 495 29 41 478 12 44 495 493(inUV) 105 - 502: 7(int) Constant 120 - 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 501 74 41 502 12 94 20 -505(samplerNormal): 485(ptr) Variable UniformConstant - 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 507 484 41 502 12 44 507 505(samplerNormal) 105 - 515: 7(int) Constant 121 - 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 514 21 41 515 12 94 20 -518(samplerAlbedo): 485(ptr) Variable UniformConstant - 519: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 520 484 41 515 12 44 520 518(samplerAlbedo) 105 - 524: TypePointer Uniform 96(int) - 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 28 12 - 528: 7(int) Constant 124 - 536: 7(int) Constant 125 - 544: TypePointer Output 19(fvec4) - 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12 -546(outFragColor): 544(ptr) Variable Output - 549: 7(int) Constant 127 - 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 548 21 41 549 12 44 548 546(outFragColor) 105 - 550: 73(fvec3) ConstantComposite 115 115 115 - 557: TypePointer Output 16(float) - 558: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 - 566: 7(int) Constant 128 - 572: 7(int) Constant 130 - 580: 7(int) Constant 131 - 586: 7(int) Constant 133 - 594: 7(int) Constant 134 - 600: 7(int) Constant 136 - 609: 7(int) Constant 137 - 615: 7(int) Constant 139 - 624: 7(int) Constant 140 - 631: 7(int) Constant 142 - 633: 7(int) Constant 143 - 638: 7(int) Constant 147 - 637: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 87 74 41 638 12 94 20 - 644: 16(float) Constant 1036831949 - 649: 7(int) Constant 149 - 647: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 648 74 41 649 12 94 20 - 656: 7(int) Constant 151 - 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 379 98 41 656 12 94 20 - 673: 7(int) Constant 154 - 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 672 74 41 673 12 94 20 - 678: TypePointer Uniform 19(fvec4) - 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 28 12 - 687: 7(int) Constant 156 - 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 161 18 41 687 12 94 20 - 694: 7(int) Constant 157 - 699: 7(int) Constant 160 - 697: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 698 74 41 699 12 94 20 - 709: 7(int) Constant 161 - 714: 7(int) Constant 163 - 712: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 713 18 41 714 12 94 20 - 717: 16(float) Constant 1064781546 - 721: 7(int) Constant 164 - 719: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 720 18 41 721 12 94 20 - 724: 16(float) Constant 1063781322 - 728: 7(int) Constant 165 - 726: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 727 18 41 728 12 94 20 - 731: 16(float) Constant 1120403456 - 735: 7(int) Constant 168 - 733: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 734 74 41 735 12 94 20 - 751: 7(int) Constant 171 - 749: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 750 18 41 751 12 94 20 - 760: 7(int) Constant 172 - 758: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 759 18 41 760 12 94 20 - 770: 7(int) Constant 173 - 768: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 769 18 41 770 12 94 20 - 779: 7(int) Constant 176 - 777: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 778 18 41 779 12 94 20 - 789: 7(int) Constant 177 - 787: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 788 74 41 789 12 94 20 - 797: 7(int) Constant 180 - 795: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 796 74 41 797 12 94 20 - 807: 7(int) Constant 181 - 805: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 806 18 41 807 12 94 20 - 817: 7(int) Constant 182 - 815: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 816 74 41 817 12 94 20 - 821: 16(float) Constant 1098907648 - 826: 16(float) Constant 1075838976 - 831: 7(int) Constant 184 - 843: 96(int) Constant 2 - 860: 7(int) Constant 188 - 869: 7(int) Constant 190 - 876: 7(int) Constant 193 + 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 53 18 41 66 12 65 20 28 + 74: TypeVector 16(float) 3 + 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 18 13 + 76: TypePointer Function 74(fvec3) + 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 75 23 12 + 78: TypeFunction 74(fvec3) 76(ptr) 76(ptr) + 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 75 75 75 + 86: 7(int) Constant 99 + 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 84 79 41 86 12 44 84 13 86 + 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 41 86 12 85 20 45 + 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 75 41 86 12 85 20 28 + 97: 7(int) Constant 116 + 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 95 6 41 97 12 44 95 13 97 + 98: TypeInt 32 1 + 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 99 10 20 12 + 101: TypePointer Private 98(int) + 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 11 12 + 103(global_var): 101(ptr) Variable Private + 106: 7(int) Constant 41 + 107: 7(int) Constant 8 + 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 105 100 41 106 12 44 105 103(global_var) 107 + 108: 98(int) Constant 0 + 114: 7(int) Constant 61 + 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 84 18 41 114 12 40 20 + 117: 16(float) Constant 1065353216 + 121: 7(int) Constant 62 + 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 120 21 41 121 12 40 20 + 131: 7(int) Constant 63 + 133: 16(float) Constant 1056964608 + 141: TypeBool + 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 142 10 28 12 + 146: 7(int) Constant 65 + 148: 16(float) Constant 3212836864 + 163: 7(int) Constant 67 + 164: 7(int) Constant 14 + 162: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 41 163 164 40 + 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 167 18 41 163 12 162 20 + 171: TypeImage 16(float) 2D array sampled format:Unknown + 175: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 173 12 41 163 12 44 174 175 13 + 176: TypeSampledImage 171 + 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 178 12 41 163 12 44 179 175 13 + 180: TypePointer UniformConstant 176 + 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 177 12 12 +182(samplerShadowMap): 180(ptr) Variable UniformConstant + 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 184 177 41 163 12 44 184 182(samplerShadowMap) 107 + 198: 7(int) Constant 68 + 200: 16(float) Constant 0 + 216: 7(int) Constant 70 + 217: 7(int) Constant 11 + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 41 216 217 162 + 218: 16(float) Constant 1048576000 + 224: 7(int) Constant 73 + 229: 7(int) Constant 74 + 231: TypeVector 98(int) 2 + 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 100 28 + 233: TypePointer Function 231(ivec2) + 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 232 23 12 + 238: 7(int) Constant 78 + 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 237 232 41 238 12 65 20 + 243: TypeVector 98(int) 3 + 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 100 13 + 250: 7(int) Constant 79 + 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 249 18 41 250 12 65 20 + 253: 16(float) Constant 1069547520 + 257: 7(int) Constant 80 + 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 256 18 41 257 12 65 20 + 262: TypePointer Function 98(int) + 263: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 23 12 + 271: 7(int) Constant 81 + 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 270 18 41 271 12 65 20 + 283: 7(int) Constant 83 + 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 282 18 41 283 12 65 20 + 289: 7(int) Constant 84 + 287: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 288 100 41 289 12 65 20 + 295: 7(int) Constant 85 + 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 294 100 41 295 12 65 20 + 298: 98(int) Constant 1 + 302: 7(int) Constant 87 + 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 301 100 41 302 12 65 20 + 322: 7(int) Constant 89 + 320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 321 100 41 322 12 65 20 + 343: 7(int) Constant 91 + 362: 7(int) Constant 92 + 375: 7(int) Constant 96 + 383: 7(int) Constant 97 + 388: 7(int) Constant 100 + 386: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 387 100 41 388 12 85 20 + 401: 98(int) Constant 3 + 406: 7(int) Constant 102 + 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 405 21 41 406 12 85 20 + 410: TypeMatrix 19(fvec4) 4 + 412: 141(bool) ConstantTrue + 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 21 20 412 + 413(Light): TypeStruct 19(fvec4) 19(fvec4) 19(fvec4) 410 + 416: 7(int) Constant 47 + 414: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 415 21 41 416 23 12 12 13 + 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 415 21 41 416 23 12 12 13 + 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 415 21 41 416 23 12 12 13 + 421: 7(int) Constant 48 + 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 420 411 41 421 23 12 12 13 + 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 423 45 41 406 12 44 423 12 13 414 417 418 419 + 424: TypeArray 413(Light) 13 + 425: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 422 13 + 426(UBO): TypeStruct 19(fvec4) 424 98(int) 98(int) + 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 415 21 41 416 23 12 12 13 + 430: 7(int) Constant 54 + 428: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 429 425 41 430 107 12 12 13 + 433: 7(int) Constant 56 + 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 432 100 41 433 11 12 12 13 + 434: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 432 100 41 433 11 12 12 13 + 435: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 436 45 41 406 12 44 436 12 13 427 428 431 434 + 437: TypePointer Uniform 426(UBO) + 438: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 435 28 12 + 439(ubo): 437(ptr) Variable Uniform + 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 441 435 41 406 12 44 441 439(ubo) 107 + 443: TypePointer Uniform 410 + 444: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 411 28 12 + 455: 7(int) Constant 106 + 454: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 282 18 41 455 12 85 20 + 466: 7(int) Constant 111 + 476: 7(int) Constant 113 + 481: 7(int) Constant 114 + 488: 7(int) Constant 119 + 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 487 75 41 488 12 96 20 + 491: TypeImage 16(float) 2D sampled format:Unknown + 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 173 12 41 488 12 44 174 175 13 + 493: TypeSampledImage 491 + 494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 178 12 41 488 12 44 179 175 13 + 495: TypePointer UniformConstant 493 + 496: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 494 12 12 +497(samplerposition): 495(ptr) Variable UniformConstant + 498: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 499 494 41 488 12 44 499 497(samplerposition) 107 + 501: TypePointer Input 27(fvec2) + 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 29 45 12 + 503(inUV): 501(ptr) Variable Input + 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 505 29 41 488 12 44 505 503(inUV) 107 + 512: 7(int) Constant 120 + 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 511 75 41 512 12 96 20 +515(samplerNormal): 495(ptr) Variable UniformConstant + 516: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 517 494 41 512 12 44 517 515(samplerNormal) 107 + 525: 7(int) Constant 121 + 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 524 21 41 525 12 96 20 +528(samplerAlbedo): 495(ptr) Variable UniformConstant + 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 530 494 41 525 12 44 530 528(samplerAlbedo) 107 + 534: TypePointer Uniform 98(int) + 535: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 100 28 12 + 538: 7(int) Constant 124 + 544: 7(int) Constant 125 + 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 41 544 13 96 + 555: TypePointer Output 19(fvec4) + 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12 +557(outFragColor): 555(ptr) Variable Output + 560: 7(int) Constant 127 + 558: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 559 21 41 560 12 44 559 557(outFragColor) 107 + 561: 74(fvec3) ConstantComposite 117 117 117 + 568: TypePointer Output 16(float) + 569: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 + 577: 7(int) Constant 128 + 582: 7(int) Constant 130 + 590: 7(int) Constant 131 + 595: 7(int) Constant 133 + 603: 7(int) Constant 134 + 608: 7(int) Constant 136 + 617: 7(int) Constant 137 + 622: 7(int) Constant 139 + 631: 7(int) Constant 140 + 637: 7(int) Constant 142 + 639: 7(int) Constant 143 + 643: 7(int) Constant 147 + 642: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 41 643 12 96 20 + 649: 16(float) Constant 1036831949 + 654: 7(int) Constant 149 + 652: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 653 75 41 654 12 96 20 + 661: 7(int) Constant 151 + 660: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 387 100 41 661 12 96 20 + 678: 7(int) Constant 154 + 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 677 75 41 678 12 96 20 + 683: TypePointer Uniform 19(fvec4) + 684: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 28 12 + 692: 7(int) Constant 156 + 691: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 167 18 41 692 12 96 20 + 699: 7(int) Constant 157 + 704: 7(int) Constant 160 + 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 703 75 41 704 12 96 20 + 714: 7(int) Constant 161 + 719: 7(int) Constant 163 + 717: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 718 18 41 719 12 96 20 + 722: 16(float) Constant 1064781546 + 726: 7(int) Constant 164 + 724: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 725 18 41 726 12 96 20 + 729: 16(float) Constant 1063781322 + 733: 7(int) Constant 165 + 731: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 732 18 41 733 12 96 20 + 736: 16(float) Constant 1120403456 + 740: 7(int) Constant 168 + 738: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 739 75 41 740 12 96 20 + 756: 7(int) Constant 171 + 754: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 755 18 41 756 12 96 20 + 765: 7(int) Constant 172 + 763: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 764 18 41 765 12 96 20 + 775: 7(int) Constant 173 + 773: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 774 18 41 775 12 96 20 + 784: 7(int) Constant 176 + 782: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 783 18 41 784 12 96 20 + 794: 7(int) Constant 177 + 792: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 793 75 41 794 12 96 20 + 802: 7(int) Constant 180 + 800: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 801 75 41 802 12 96 20 + 812: 7(int) Constant 181 + 810: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 811 18 41 812 12 96 20 + 822: 7(int) Constant 182 + 820: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 821 75 41 822 12 96 20 + 826: 16(float) Constant 1098907648 + 831: 16(float) Constant 1075838976 + 836: 7(int) Constant 184 + 844: 98(int) Constant 2 + 861: 7(int) Constant 188 + 867: 7(int) Constant 190 + 868: 7(int) Constant 13 + 866: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 41 867 868 96 + 879: 7(int) Constant 193 + 885: 7(int) Constant 194 14(main): 4 Function None 5 15: Label - 475(fragPos): 75(ptr) Variable Function - 499(normal): 75(ptr) Variable Function - 512(albedo): 22(ptr) Variable Function - 551(param): 75(ptr) Variable Function - 554(param): 75(ptr) Variable Function - 636(fragcolor): 75(ptr) Variable Function - 646(N): 75(ptr) Variable Function - 654(i): 254(ptr) Variable Function - 670(L): 75(ptr) Variable Function - 685(dist): 25(ptr) Variable Function - 696(V): 75(ptr) Variable Function -711(lightCosInnerAngle): 25(ptr) Variable Function -718(lightCosOuterAngle): 25(ptr) Variable Function - 725(lightRange): 25(ptr) Variable Function - 732(dir): 75(ptr) Variable Function - 748(cosDir): 25(ptr) Variable Function - 757(spotEffect): 25(ptr) Variable Function -767(heightAttenuation): 25(ptr) Variable Function - 776(NdotL): 25(ptr) Variable Function - 786(diff): 75(ptr) Variable Function - 794(R): 75(ptr) Variable Function - 804(NdotR): 25(ptr) Variable Function - 814(spec): 75(ptr) Variable Function - 865(param): 75(ptr) Variable Function - 870(param): 75(ptr) Variable Function - 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 - 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 104 104 12 12 - Store 101(global_var) 106 - 473: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 95 95 12 12 - 472: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 94 14(main) - 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 478 478 12 12 - 479: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 476 475(fragPos) 49 - 490: 483 Load 487(samplerposition) - 496: 27(fvec2) Load 493(inUV) - 497: 19(fvec4) ImageSampleImplicitLod 490 496 - 498: 73(fvec3) VectorShuffle 497 497 0 1 2 - Store 475(fragPos) 498 - 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 502 502 12 12 - 503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 500 499(normal) 49 - 508: 483 Load 505(samplerNormal) - 509: 27(fvec2) Load 493(inUV) - 510: 19(fvec4) ImageSampleImplicitLod 508 509 - 511: 73(fvec3) VectorShuffle 510 510 0 1 2 - Store 499(normal) 511 - 517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 515 515 12 12 - 516: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 513 512(albedo) 49 - 521: 483 Load 518(samplerAlbedo) - 522: 27(fvec2) Load 493(inUV) - 523: 19(fvec4) ImageSampleImplicitLod 521 522 - Store 512(albedo) 523 - 527: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 528 528 12 12 - 526: 524(ptr) AccessChain 431(ubo) 393 - 529: 96(int) Load 526 - 530: 139(bool) SGreaterThan 529 106 - SelectionMerge 532 None - BranchConditional 530 531 532 - 531: Label - 534: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 535: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 536 536 12 12 - 533: 524(ptr) AccessChain 431(ubo) 393 - 537: 96(int) Load 533 - SelectionMerge 543 None - Switch 537 543 - case 1: 538 - case 2: 539 - case 3: 540 - case 4: 541 - case 5: 542 - 538: Label - 552: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 553: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 549 549 12 12 - Store 551(param) 550 - 555: 73(fvec3) Load 475(fragPos) - Store 554(param) 555 - 556: 73(fvec3) FunctionCall 81(shadow(vf3;vf3;) 551(param) 554(param) - 559: 557(ptr) AccessChain 546(outFragColor) 12 - 560: 16(float) CompositeExtract 556 0 - Store 559 560 - 561: 557(ptr) AccessChain 546(outFragColor) 45 - 562: 16(float) CompositeExtract 556 1 - Store 561 562 - 563: 557(ptr) AccessChain 546(outFragColor) 28 - 564: 16(float) CompositeExtract 556 2 - Store 563 564 - 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 566 566 12 12 - Branch 543 - 539: Label - 570: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 571: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 572 572 12 12 - 569: 73(fvec3) Load 475(fragPos) - 573: 557(ptr) AccessChain 546(outFragColor) 12 - 574: 16(float) CompositeExtract 569 0 - Store 573 574 - 575: 557(ptr) AccessChain 546(outFragColor) 45 - 576: 16(float) CompositeExtract 569 1 - Store 575 576 - 577: 557(ptr) AccessChain 546(outFragColor) 28 - 578: 16(float) CompositeExtract 569 2 - Store 577 578 - 579: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 580 580 12 12 - Branch 543 - 540: Label - 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 585: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 586 586 12 12 - 583: 73(fvec3) Load 499(normal) - 587: 557(ptr) AccessChain 546(outFragColor) 12 - 588: 16(float) CompositeExtract 583 0 + 485(fragPos): 76(ptr) Variable Function + 509(normal): 76(ptr) Variable Function + 522(albedo): 22(ptr) Variable Function + 562(param): 76(ptr) Variable Function + 565(param): 76(ptr) Variable Function + 641(fragcolor): 76(ptr) Variable Function + 651(N): 76(ptr) Variable Function + 659(i): 262(ptr) Variable Function + 675(L): 76(ptr) Variable Function + 690(dist): 25(ptr) Variable Function + 701(V): 76(ptr) Variable Function +716(lightCosInnerAngle): 25(ptr) Variable Function +723(lightCosOuterAngle): 25(ptr) Variable Function + 730(lightRange): 25(ptr) Variable Function + 737(dir): 76(ptr) Variable Function + 753(cosDir): 25(ptr) Variable Function + 762(spotEffect): 25(ptr) Variable Function +772(heightAttenuation): 25(ptr) Variable Function + 781(NdotL): 25(ptr) Variable Function + 791(diff): 76(ptr) Variable Function + 799(R): 76(ptr) Variable Function + 809(NdotR): 25(ptr) Variable Function + 819(spec): 76(ptr) Variable Function + 869(param): 76(ptr) Variable Function + 873(param): 76(ptr) Variable Function + 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 110: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 106 106 12 12 + Store 103(global_var) 108 + 483: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 97 97 12 12 + 482: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 96 14(main) + 490: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 488 488 12 12 + 489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 486 485(fragPos) 49 + 500: 493 Load 497(samplerposition) + 506: 27(fvec2) Load 503(inUV) + 507: 19(fvec4) ImageSampleImplicitLod 500 506 + 508: 74(fvec3) VectorShuffle 507 507 0 1 2 + Store 485(fragPos) 508 + 514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 512 512 12 12 + 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 510 509(normal) 49 + 518: 493 Load 515(samplerNormal) + 519: 27(fvec2) Load 503(inUV) + 520: 19(fvec4) ImageSampleImplicitLod 518 519 + 521: 74(fvec3) VectorShuffle 520 520 0 1 2 + Store 509(normal) 521 + 527: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 525 525 12 12 + 526: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 523 522(albedo) 49 + 531: 493 Load 528(samplerAlbedo) + 532: 27(fvec2) Load 503(inUV) + 533: 19(fvec4) ImageSampleImplicitLod 531 532 + Store 522(albedo) 533 + 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 538 538 12 12 + 536: 534(ptr) AccessChain 439(ubo) 401 + 539: 98(int) Load 536 + 540: 141(bool) SGreaterThan 539 108 + SelectionMerge 542 None + BranchConditional 540 541 542 + 541: Label + 546: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 543 + 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 544 544 12 12 + 545: 534(ptr) AccessChain 439(ubo) 401 + 548: 98(int) Load 545 + SelectionMerge 554 None + Switch 548 554 + case 1: 549 + case 2: 550 + case 3: 551 + case 4: 552 + case 5: 553 + 549: Label + 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 543 + 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 560 560 12 12 + Store 562(param) 561 + 566: 74(fvec3) Load 485(fragPos) + Store 565(param) 566 + 567: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 562(param) 565(param) + 570: 568(ptr) AccessChain 557(outFragColor) 12 + 571: 16(float) CompositeExtract 567 0 + Store 570 571 + 572: 568(ptr) AccessChain 557(outFragColor) 45 + 573: 16(float) CompositeExtract 567 1 + Store 572 573 + 574: 568(ptr) AccessChain 557(outFragColor) 28 + 575: 16(float) CompositeExtract 567 2 + Store 574 575 + 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 577 577 12 12 + Branch 554 + 550: Label + 580: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 543 + 581: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 582 582 12 12 + 579: 74(fvec3) Load 485(fragPos) + 583: 568(ptr) AccessChain 557(outFragColor) 12 + 584: 16(float) CompositeExtract 579 0 + Store 583 584 + 585: 568(ptr) AccessChain 557(outFragColor) 45 + 586: 16(float) CompositeExtract 579 1 + Store 585 586 + 587: 568(ptr) AccessChain 557(outFragColor) 28 + 588: 16(float) CompositeExtract 579 2 Store 587 588 - 589: 557(ptr) AccessChain 546(outFragColor) 45 - 590: 16(float) CompositeExtract 583 1 - Store 589 590 - 591: 557(ptr) AccessChain 546(outFragColor) 28 - 592: 16(float) CompositeExtract 583 2 - Store 591 592 - 593: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 594 594 12 12 - Branch 543 - 541: Label - 598: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 599: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 600 600 12 12 - 597: 19(fvec4) Load 512(albedo) - 601: 73(fvec3) VectorShuffle 597 597 0 1 2 - 602: 557(ptr) AccessChain 546(outFragColor) 12 - 603: 16(float) CompositeExtract 601 0 - Store 602 603 - 604: 557(ptr) AccessChain 546(outFragColor) 45 - 605: 16(float) CompositeExtract 601 1 - Store 604 605 - 606: 557(ptr) AccessChain 546(outFragColor) 28 - 607: 16(float) CompositeExtract 601 2 - Store 606 607 - 608: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 609 609 12 12 - Branch 543 - 542: Label - 613: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 614: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 615 615 12 12 - 612: 19(fvec4) Load 512(albedo) - 616: 73(fvec3) VectorShuffle 612 612 3 3 3 - 617: 557(ptr) AccessChain 546(outFragColor) 12 - 618: 16(float) CompositeExtract 616 0 - Store 617 618 - 619: 557(ptr) AccessChain 546(outFragColor) 45 - 620: 16(float) CompositeExtract 616 1 - Store 619 620 - 621: 557(ptr) AccessChain 546(outFragColor) 28 - 622: 16(float) CompositeExtract 616 2 - Store 621 622 - 623: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 624 624 12 12 - Branch 543 - 543: Label - 629: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 630: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 631 631 12 12 - 628: 557(ptr) AccessChain 546(outFragColor) 13 - Store 628 115 - 632: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 633 633 12 12 + 589: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 590 590 12 12 + Branch 554 + 551: Label + 593: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 543 + 594: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 595 595 12 12 + 592: 74(fvec3) Load 509(normal) + 596: 568(ptr) AccessChain 557(outFragColor) 12 + 597: 16(float) CompositeExtract 592 0 + Store 596 597 + 598: 568(ptr) AccessChain 557(outFragColor) 45 + 599: 16(float) CompositeExtract 592 1 + Store 598 599 + 600: 568(ptr) AccessChain 557(outFragColor) 28 + 601: 16(float) CompositeExtract 592 2 + Store 600 601 + 602: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 603 603 12 12 + Branch 554 + 552: Label + 606: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 543 + 607: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 608 608 12 12 + 605: 19(fvec4) Load 522(albedo) + 609: 74(fvec3) VectorShuffle 605 605 0 1 2 + 610: 568(ptr) AccessChain 557(outFragColor) 12 + 611: 16(float) CompositeExtract 609 0 + Store 610 611 + 612: 568(ptr) AccessChain 557(outFragColor) 45 + 613: 16(float) CompositeExtract 609 1 + Store 612 613 + 614: 568(ptr) AccessChain 557(outFragColor) 28 + 615: 16(float) CompositeExtract 609 2 + Store 614 615 + 616: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 617 617 12 12 + Branch 554 + 553: Label + 620: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 543 + 621: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 622 622 12 12 + 619: 19(fvec4) Load 522(albedo) + 623: 74(fvec3) VectorShuffle 619 619 3 3 3 + 624: 568(ptr) AccessChain 557(outFragColor) 12 + 625: 16(float) CompositeExtract 623 0 + Store 624 625 + 626: 568(ptr) AccessChain 557(outFragColor) 45 + 627: 16(float) CompositeExtract 623 1 + Store 626 627 + 628: 568(ptr) AccessChain 557(outFragColor) 28 + 629: 16(float) CompositeExtract 623 2 + Store 628 629 + 630: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 631 631 12 12 + Branch 554 + 554: Label + 635: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 543 + 636: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 637 637 12 12 + 634: 568(ptr) AccessChain 557(outFragColor) 13 + Store 634 117 + 638: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 639 639 12 12 Return - 532: Label - 640: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 641: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 638 638 12 12 - 639: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 637 636(fragcolor) 49 - 642: 19(fvec4) Load 512(albedo) - 643: 73(fvec3) VectorShuffle 642 642 0 1 2 - 645: 73(fvec3) VectorTimesScalar 643 644 - Store 636(fragcolor) 645 - 651: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 649 649 12 12 - 650: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 647 646(N) 49 - 652: 73(fvec3) Load 499(normal) - 653: 73(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 652 - Store 646(N) 653 - 658: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 - 657: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 655 654(i) 49 - Store 654(i) 106 - Branch 659 - 659: Label - 663: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 664: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 - LoopMerge 661 662 None - Branch 665 - 665: Label - 667: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 668: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 - 666: 96(int) Load 654(i) - 669: 139(bool) SLessThan 666 393 - BranchConditional 669 660 661 - 660: Label - 675: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 673 673 12 12 - 674: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 671 670(L) 49 - 677: 96(int) Load 654(i) - 680: 678(ptr) AccessChain 431(ubo) 290 677 106 - 681: 19(fvec4) Load 680 - 682: 73(fvec3) VectorShuffle 681 681 0 1 2 - 683: 73(fvec3) Load 475(fragPos) - 684: 73(fvec3) FSub 682 683 - Store 670(L) 684 - 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 687 687 12 12 - 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 686 685(dist) 49 - 690: 73(fvec3) Load 670(L) - 691: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 690 - Store 685(dist) 691 - 693: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 694 694 12 12 - 692: 73(fvec3) Load 670(L) - 695: 73(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 692 - Store 670(L) 695 - 701: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 699 699 12 12 - 700: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 697 696(V) 49 - 702: 678(ptr) AccessChain 431(ubo) 106 - 703: 19(fvec4) Load 702 - 704: 73(fvec3) VectorShuffle 703 703 0 1 2 - 705: 73(fvec3) Load 475(fragPos) - 706: 73(fvec3) FSub 704 705 - Store 696(V) 706 - 708: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 709 709 12 12 - 707: 73(fvec3) Load 696(V) - 710: 73(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 707 - Store 696(V) 710 - 716: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 714 714 12 12 - 715: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 712 711(lightCosInnerAngle) 49 - Store 711(lightCosInnerAngle) 717 - 723: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 721 721 12 12 - 722: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 719 718(lightCosOuterAngle) 49 - Store 718(lightCosOuterAngle) 724 - 730: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 728 728 12 12 - 729: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 726 725(lightRange) 49 - Store 725(lightRange) 731 - 737: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 735 735 12 12 - 736: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 733 732(dir) 49 - 738: 96(int) Load 654(i) - 739: 678(ptr) AccessChain 431(ubo) 290 738 106 - 740: 19(fvec4) Load 739 - 741: 73(fvec3) VectorShuffle 740 740 0 1 2 - 742: 96(int) Load 654(i) - 743: 678(ptr) AccessChain 431(ubo) 290 742 290 - 744: 19(fvec4) Load 743 - 745: 73(fvec3) VectorShuffle 744 744 0 1 2 - 746: 73(fvec3) FSub 741 745 - 747: 73(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 746 - Store 732(dir) 747 - 753: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 751 751 12 12 - 752: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 749 748(cosDir) 49 - 754: 73(fvec3) Load 670(L) - 755: 73(fvec3) Load 732(dir) - 756: 16(float) Dot 754 755 - Store 748(cosDir) 756 - 762: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 760 760 12 12 - 761: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 758 757(spotEffect) 49 - 763: 16(float) Load 718(lightCosOuterAngle) - 764: 16(float) Load 711(lightCosInnerAngle) - 765: 16(float) Load 748(cosDir) - 766: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 763 764 765 - Store 757(spotEffect) 766 - 772: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 770 770 12 12 - 771: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 768 767(heightAttenuation) 49 - 773: 16(float) Load 725(lightRange) - 774: 16(float) Load 685(dist) - 775: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 773 195 774 - Store 767(heightAttenuation) 775 - 781: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 779 779 12 12 - 780: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 777 776(NdotL) 49 - 782: 73(fvec3) Load 646(N) - 783: 73(fvec3) Load 670(L) - 784: 16(float) Dot 782 783 - 785: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 195 784 - Store 776(NdotL) 785 - 791: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 789 789 12 12 - 790: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 787 786(diff) 49 - 792: 16(float) Load 776(NdotL) - 793: 73(fvec3) CompositeConstruct 792 792 792 - Store 786(diff) 793 - 799: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 797 797 12 12 - 798: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 795 794(R) 49 - 800: 73(fvec3) Load 670(L) - 801: 73(fvec3) FNegate 800 - 802: 73(fvec3) Load 646(N) - 803: 73(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 801 802 - Store 794(R) 803 - 809: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 807 807 12 12 - 808: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 805 804(NdotR) 49 - 810: 73(fvec3) Load 794(R) - 811: 73(fvec3) Load 696(V) - 812: 16(float) Dot 810 811 - 813: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 195 812 - Store 804(NdotR) 813 - 819: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 817 817 12 12 - 818: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 815 814(spec) 49 - 820: 16(float) Load 804(NdotR) - 822: 16(float) ExtInst 3(GLSL.std.450) 26(Pow) 820 821 - 823: 25(ptr) AccessChain 512(albedo) 13 - 824: 16(float) Load 823 - 825: 16(float) FMul 822 824 - 827: 16(float) FMul 825 826 - 828: 73(fvec3) CompositeConstruct 827 827 827 - Store 814(spec) 828 - 830: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 831 831 12 12 - 829: 73(fvec3) Load 786(diff) - 832: 73(fvec3) Load 814(spec) - 833: 73(fvec3) FAdd 829 832 - 834: 16(float) Load 757(spotEffect) - 835: 73(fvec3) VectorTimesScalar 833 834 - 836: 16(float) Load 767(heightAttenuation) - 837: 73(fvec3) VectorTimesScalar 835 836 - 838: 16(float) CompositeExtract 837 0 - 839: 16(float) CompositeExtract 837 1 - 840: 16(float) CompositeExtract 837 2 - 841: 73(fvec3) CompositeConstruct 838 839 840 - 842: 96(int) Load 654(i) - 844: 678(ptr) AccessChain 431(ubo) 290 842 843 - 845: 19(fvec4) Load 844 - 846: 73(fvec3) VectorShuffle 845 845 0 1 2 - 847: 73(fvec3) FMul 841 846 - 848: 19(fvec4) Load 512(albedo) - 849: 73(fvec3) VectorShuffle 848 848 0 1 2 - 850: 73(fvec3) FMul 847 849 - 851: 73(fvec3) Load 636(fragcolor) - 852: 73(fvec3) FAdd 851 850 - Store 636(fragcolor) 852 - Branch 662 - 662: Label - 854: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 855: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 656 656 12 12 - 853: 96(int) Load 654(i) - 856: 96(int) IAdd 853 290 - Store 654(i) 856 - Branch 659 - 661: Label - 858: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 859: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 860 860 12 12 - 857: 524(ptr) AccessChain 431(ubo) 843 - 861: 96(int) Load 857 - 862: 139(bool) SGreaterThan 861 106 - SelectionMerge 864 None - BranchConditional 862 863 864 - 863: Label - 867: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 868: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 869 869 12 12 - 866: 73(fvec3) Load 636(fragcolor) - Store 865(param) 866 - 871: 73(fvec3) Load 475(fragPos) - Store 870(param) 871 - 872: 73(fvec3) FunctionCall 81(shadow(vf3;vf3;) 865(param) 870(param) - Store 636(fragcolor) 872 - Branch 864 - 864: Label - 874: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 94 - 875: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 876 876 12 12 - 873: 73(fvec3) Load 636(fragcolor) - 877: 16(float) CompositeExtract 873 0 - 878: 16(float) CompositeExtract 873 1 - 879: 16(float) CompositeExtract 873 2 - 880: 19(fvec4) CompositeConstruct 877 878 879 115 - Store 546(outFragColor) 880 + 542: Label + 645: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 646: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 643 643 12 12 + 644: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 642 641(fragcolor) 49 + 647: 19(fvec4) Load 522(albedo) + 648: 74(fvec3) VectorShuffle 647 647 0 1 2 + 650: 74(fvec3) VectorTimesScalar 648 649 + Store 641(fragcolor) 650 + 656: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 654 654 12 12 + 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 652 651(N) 49 + 657: 74(fvec3) Load 509(normal) + 658: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 657 + Store 651(N) 658 + 663: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 661 661 12 12 + 662: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 660 659(i) 49 + Store 659(i) 108 + Branch 664 + 664: Label + 668: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 669: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 661 661 12 12 + LoopMerge 666 667 None + Branch 670 + 670: Label + 672: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 673: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 661 661 12 12 + 671: 98(int) Load 659(i) + 674: 141(bool) SLessThan 671 401 + BranchConditional 674 665 666 + 665: Label + 680: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 681: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 678 678 12 12 + 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 676 675(L) 49 + 682: 98(int) Load 659(i) + 685: 683(ptr) AccessChain 439(ubo) 298 682 108 + 686: 19(fvec4) Load 685 + 687: 74(fvec3) VectorShuffle 686 686 0 1 2 + 688: 74(fvec3) Load 485(fragPos) + 689: 74(fvec3) FSub 687 688 + Store 675(L) 689 + 694: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 692 692 12 12 + 693: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 691 690(dist) 49 + 695: 74(fvec3) Load 675(L) + 696: 16(float) ExtInst 3(GLSL.std.450) 66(Length) 695 + Store 690(dist) 696 + 698: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 699 699 12 12 + 697: 74(fvec3) Load 675(L) + 700: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 697 + Store 675(L) 700 + 706: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 704 704 12 12 + 705: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 702 701(V) 49 + 707: 683(ptr) AccessChain 439(ubo) 108 + 708: 19(fvec4) Load 707 + 709: 74(fvec3) VectorShuffle 708 708 0 1 2 + 710: 74(fvec3) Load 485(fragPos) + 711: 74(fvec3) FSub 709 710 + Store 701(V) 711 + 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 714 714 12 12 + 712: 74(fvec3) Load 701(V) + 715: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 712 + Store 701(V) 715 + 721: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 719 719 12 12 + 720: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 717 716(lightCosInnerAngle) 49 + Store 716(lightCosInnerAngle) 722 + 728: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 726 726 12 12 + 727: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 724 723(lightCosOuterAngle) 49 + Store 723(lightCosOuterAngle) 729 + 735: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 733 733 12 12 + 734: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 731 730(lightRange) 49 + Store 730(lightRange) 736 + 742: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 740 740 12 12 + 741: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 738 737(dir) 49 + 743: 98(int) Load 659(i) + 744: 683(ptr) AccessChain 439(ubo) 298 743 108 + 745: 19(fvec4) Load 744 + 746: 74(fvec3) VectorShuffle 745 745 0 1 2 + 747: 98(int) Load 659(i) + 748: 683(ptr) AccessChain 439(ubo) 298 747 298 + 749: 19(fvec4) Load 748 + 750: 74(fvec3) VectorShuffle 749 749 0 1 2 + 751: 74(fvec3) FSub 746 750 + 752: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 751 + Store 737(dir) 752 + 758: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 756 756 12 12 + 757: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 754 753(cosDir) 49 + 759: 74(fvec3) Load 675(L) + 760: 74(fvec3) Load 737(dir) + 761: 16(float) Dot 759 760 + Store 753(cosDir) 761 + 767: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 765 765 12 12 + 766: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 763 762(spotEffect) 49 + 768: 16(float) Load 723(lightCosOuterAngle) + 769: 16(float) Load 716(lightCosInnerAngle) + 770: 16(float) Load 753(cosDir) + 771: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 768 769 770 + Store 762(spotEffect) 771 + 777: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 775 775 12 12 + 776: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 773 772(heightAttenuation) 49 + 778: 16(float) Load 730(lightRange) + 779: 16(float) Load 690(dist) + 780: 16(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 778 200 779 + Store 772(heightAttenuation) 780 + 786: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 784 784 12 12 + 785: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 782 781(NdotL) 49 + 787: 74(fvec3) Load 651(N) + 788: 74(fvec3) Load 675(L) + 789: 16(float) Dot 787 788 + 790: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 200 789 + Store 781(NdotL) 790 + 796: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 794 794 12 12 + 795: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 792 791(diff) 49 + 797: 16(float) Load 781(NdotL) + 798: 74(fvec3) CompositeConstruct 797 797 797 + Store 791(diff) 798 + 804: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 802 802 12 12 + 803: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 800 799(R) 49 + 805: 74(fvec3) Load 675(L) + 806: 74(fvec3) FNegate 805 + 807: 74(fvec3) Load 651(N) + 808: 74(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 806 807 + Store 799(R) 808 + 814: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 812 812 12 12 + 813: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 810 809(NdotR) 49 + 815: 74(fvec3) Load 799(R) + 816: 74(fvec3) Load 701(V) + 817: 16(float) Dot 815 816 + 818: 16(float) ExtInst 3(GLSL.std.450) 40(FMax) 200 817 + Store 809(NdotR) 818 + 824: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 822 822 12 12 + 823: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 820 819(spec) 49 + 825: 16(float) Load 809(NdotR) + 827: 16(float) ExtInst 3(GLSL.std.450) 26(Pow) 825 826 + 828: 25(ptr) AccessChain 522(albedo) 13 + 829: 16(float) Load 828 + 830: 16(float) FMul 827 829 + 832: 16(float) FMul 830 831 + 833: 74(fvec3) CompositeConstruct 832 832 832 + Store 819(spec) 833 + 835: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 836 836 12 12 + 834: 74(fvec3) Load 791(diff) + 837: 74(fvec3) Load 819(spec) + 838: 74(fvec3) FAdd 834 837 + 839: 16(float) Load 762(spotEffect) + 840: 74(fvec3) VectorTimesScalar 838 839 + 841: 16(float) Load 772(heightAttenuation) + 842: 74(fvec3) VectorTimesScalar 840 841 + 843: 98(int) Load 659(i) + 845: 683(ptr) AccessChain 439(ubo) 298 843 844 + 846: 19(fvec4) Load 845 + 847: 74(fvec3) VectorShuffle 846 846 0 1 2 + 848: 74(fvec3) FMul 842 847 + 849: 19(fvec4) Load 522(albedo) + 850: 74(fvec3) VectorShuffle 849 849 0 1 2 + 851: 74(fvec3) FMul 848 850 + 852: 74(fvec3) Load 641(fragcolor) + 853: 74(fvec3) FAdd 852 851 + Store 641(fragcolor) 853 + Branch 667 + 667: Label + 855: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 856: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 661 661 12 12 + 854: 98(int) Load 659(i) + 857: 98(int) IAdd 854 298 + Store 659(i) 857 + Branch 664 + 666: Label + 859: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 860: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 861 861 12 12 + 858: 534(ptr) AccessChain 439(ubo) 844 + 862: 98(int) Load 858 + 863: 141(bool) SGreaterThan 862 108 + SelectionMerge 865 None + BranchConditional 863 864 865 + 864: Label + 871: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 866 + 872: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 867 867 12 12 + 870: 74(fvec3) Load 641(fragcolor) + Store 869(param) 870 + 874: 74(fvec3) Load 485(fragPos) + Store 873(param) 874 + 875: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 869(param) 873(param) + Store 641(fragcolor) 875 + Branch 865 + 865: Label + 877: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 96 + 878: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 879 879 12 12 + 876: 74(fvec3) Load 641(fragcolor) + 880: 16(float) CompositeExtract 876 0 + 881: 16(float) CompositeExtract 876 1 + 882: 16(float) CompositeExtract 876 2 + 883: 19(fvec4) CompositeConstruct 880 881 882 117 + Store 557(outFragColor) 883 + 884: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 885 885 12 12 Return FunctionEnd 37(textureProj(vf4;f1;vf2;): 16(float) Function None 32 @@ -988,321 +995,321 @@ void main() 35(layer): 25(ptr) FunctionParameter 36(offset): 30(ptr) FunctionParameter 38: Label - 110(shadow): 25(ptr) Variable Function -116(shadowCoord): 22(ptr) Variable Function - 159(dist): 25(ptr) Variable Function + 112(shadow): 25(ptr) Variable Function +118(shadowCoord): 22(ptr) Variable Function + 165(dist): 25(ptr) Variable Function 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 43 43 12 12 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 46 34(P) 49 54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 52 35(layer) 49 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 55 36(offset) 49 - 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 40 37(textureProj(vf4;f1;vf2;) - 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 112 112 12 12 - 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 111 110(shadow) 49 - Store 110(shadow) 115 - 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 119 119 12 12 - 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 117 116(shadowCoord) 49 - 122: 19(fvec4) Load 34(P) - 123: 25(ptr) AccessChain 34(P) 13 - 124: 16(float) Load 123 - 125: 19(fvec4) CompositeConstruct 124 124 124 124 - 126: 19(fvec4) FDiv 122 125 - Store 116(shadowCoord) 126 - 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 129 129 12 12 - 127: 19(fvec4) Load 116(shadowCoord) - 130: 27(fvec2) VectorShuffle 127 127 0 1 - 132: 27(fvec2) VectorTimesScalar 130 131 - 133: 27(fvec2) CompositeConstruct 131 131 - 134: 27(fvec2) FAdd 132 133 - 135: 25(ptr) AccessChain 116(shadowCoord) 12 - 136: 16(float) CompositeExtract 134 0 - Store 135 136 - 137: 25(ptr) AccessChain 116(shadowCoord) 45 - 138: 16(float) CompositeExtract 134 1 + 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 40 37(textureProj(vf4;f1;vf2;) + 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 114 114 12 12 + 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 113 112(shadow) 49 + Store 112(shadow) 117 + 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 121 121 12 12 + 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 119 118(shadowCoord) 49 + 124: 19(fvec4) Load 34(P) + 125: 25(ptr) AccessChain 34(P) 13 + 126: 16(float) Load 125 + 127: 19(fvec4) CompositeConstruct 126 126 126 126 + 128: 19(fvec4) FDiv 124 127 + Store 118(shadowCoord) 128 + 130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 131 131 12 12 + 129: 19(fvec4) Load 118(shadowCoord) + 132: 27(fvec2) VectorShuffle 129 129 0 1 + 134: 27(fvec2) VectorTimesScalar 132 133 + 135: 27(fvec2) CompositeConstruct 133 133 + 136: 27(fvec2) FAdd 134 135 + 137: 25(ptr) AccessChain 118(shadowCoord) 12 + 138: 16(float) CompositeExtract 136 0 Store 137 138 - 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 144 144 12 12 - 142: 25(ptr) AccessChain 116(shadowCoord) 28 - 145: 16(float) Load 142 - 147: 139(bool) FOrdGreaterThan 145 146 - SelectionMerge 149 None - BranchConditional 147 148 149 - 148: Label - 151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 152: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 144 144 12 12 - 150: 25(ptr) AccessChain 116(shadowCoord) 28 - 153: 16(float) Load 150 - 154: 139(bool) FOrdLessThan 153 115 - Branch 149 - 149: Label - 156: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 155: 139(bool) Phi 147 38 154 148 - SelectionMerge 158 None - BranchConditional 155 157 158 - 157: Label - 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 162 162 12 12 - 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 160 159(dist) 49 - 180: 171 Load 177(samplerShadowMap) - 181: 19(fvec4) Load 116(shadowCoord) - 182: 27(fvec2) VectorShuffle 181 181 0 1 - 183: 27(fvec2) Load 36(offset) - 184: 27(fvec2) FAdd 182 183 - 185: 16(float) Load 35(layer) - 186: 16(float) CompositeExtract 184 0 - 187: 16(float) CompositeExtract 184 1 - 188: 73(fvec3) CompositeConstruct 186 187 185 - 189: 19(fvec4) ImageSampleImplicitLod 180 188 - 190: 16(float) CompositeExtract 189 0 - Store 159(dist) 190 - 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 193 193 12 12 - 191: 25(ptr) AccessChain 116(shadowCoord) 13 - 194: 16(float) Load 191 - 196: 139(bool) FOrdGreaterThan 194 195 - SelectionMerge 198 None - BranchConditional 196 197 198 - 197: Label - 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 193 193 12 12 - 199: 16(float) Load 159(dist) - 202: 25(ptr) AccessChain 116(shadowCoord) 28 - 203: 16(float) Load 202 - 204: 139(bool) FOrdLessThan 199 203 - Branch 198 - 198: Label - 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 205: 139(bool) Phi 196 157 204 197 - SelectionMerge 208 None - BranchConditional 205 207 208 - 207: Label - 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 212 212 12 12 - Store 110(shadow) 209 - Branch 208 - 208: Label - 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - Branch 158 - 158: Label - 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 - 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 217 217 12 12 - 214: 16(float) Load 110(shadow) - ReturnValue 214 + 139: 25(ptr) AccessChain 118(shadowCoord) 45 + 140: 16(float) CompositeExtract 136 1 + Store 139 140 + 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 146 146 12 12 + 144: 25(ptr) AccessChain 118(shadowCoord) 28 + 147: 16(float) Load 144 + 149: 141(bool) FOrdGreaterThan 147 148 + SelectionMerge 151 None + BranchConditional 149 150 151 + 150: Label + 153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 146 146 12 12 + 152: 25(ptr) AccessChain 118(shadowCoord) 28 + 155: 16(float) Load 152 + 156: 141(bool) FOrdLessThan 155 117 + Branch 151 + 151: Label + 157: 141(bool) Phi 149 38 156 150 + 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 146 146 12 12 + SelectionMerge 159 None + BranchConditional 157 158 159 + 158: Label + 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 162 + 170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 163 163 12 12 + 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 166 165(dist) 49 + 185: 176 Load 182(samplerShadowMap) + 186: 19(fvec4) Load 118(shadowCoord) + 187: 27(fvec2) VectorShuffle 186 186 0 1 + 188: 27(fvec2) Load 36(offset) + 189: 27(fvec2) FAdd 187 188 + 190: 16(float) Load 35(layer) + 191: 16(float) CompositeExtract 189 0 + 192: 16(float) CompositeExtract 189 1 + 193: 74(fvec3) CompositeConstruct 191 192 190 + 194: 19(fvec4) ImageSampleImplicitLod 185 193 + 195: 16(float) CompositeExtract 194 0 + Store 165(dist) 195 + 197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 198 198 12 12 + 196: 25(ptr) AccessChain 118(shadowCoord) 13 + 199: 16(float) Load 196 + 201: 141(bool) FOrdGreaterThan 199 200 + SelectionMerge 203 None + BranchConditional 201 202 203 + 202: Label + 205: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 162 + 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 198 198 12 12 + 204: 16(float) Load 165(dist) + 207: 25(ptr) AccessChain 118(shadowCoord) 28 + 208: 16(float) Load 207 + 209: 141(bool) FOrdLessThan 204 208 + Branch 203 + 203: Label + 210: 141(bool) Phi 201 158 209 202 + 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 162 + 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 198 198 12 12 + SelectionMerge 212 None + BranchConditional 210 211 212 + 211: Label + 219: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 215 + 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 216 216 12 12 + Store 112(shadow) 218 + Branch 212 + 212: Label + Branch 159 + 159: Label + 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 40 + 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 224 224 12 12 + 221: 16(float) Load 112(shadow) + ReturnValue 221 FunctionEnd 62(filterPCF(vf4;f1;): 16(float) Function None 58 60(sc): 22(ptr) FunctionParameter 61(layer): 25(ptr) FunctionParameter 63: Label - 227(texDim): 225(ptr) Variable Function - 239(scale): 25(ptr) Variable Function - 246(dx): 25(ptr) Variable Function - 260(dy): 25(ptr) Variable Function -272(shadowFactor): 25(ptr) Variable Function - 278(count): 254(ptr) Variable Function - 284(range): 254(ptr) Variable Function - 291(x): 254(ptr) Variable Function - 311(y): 254(ptr) Variable Function - 344(param): 22(ptr) Variable Function - 346(param): 25(ptr) Variable Function - 348(param): 30(ptr) Variable Function + 235(texDim): 233(ptr) Variable Function + 247(scale): 25(ptr) Variable Function + 254(dx): 25(ptr) Variable Function + 268(dy): 25(ptr) Variable Function +280(shadowFactor): 25(ptr) Variable Function + 286(count): 262(ptr) Variable Function + 292(range): 262(ptr) Variable Function + 299(x): 262(ptr) Variable Function + 319(y): 262(ptr) Variable Function + 352(param): 22(ptr) Variable Function + 354(param): 25(ptr) Variable Function + 356(param): 30(ptr) Variable Function 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 66 66 12 12 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 67 60(sc) 49 - 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 71 61(layer) 49 - 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 66 66 12 12 - 221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) - 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 230 230 12 12 - 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 228 227(texDim) 49 - 233: 171 Load 177(samplerShadowMap) - 234: 166 Image 233 - 237: 235(ivec3) ImageQuerySizeLod 234 106 - 238: 223(ivec2) VectorShuffle 237 237 0 1 - Store 227(texDim) 238 - 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 242 242 12 12 - 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 240 239(scale) 49 - Store 239(scale) 245 - 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 249 249 12 12 - 250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 247 246(dx) 49 - 252: 16(float) Load 239(scale) - 253: 16(float) FMul 252 115 - 256: 254(ptr) AccessChain 227(texDim) 12 - 257: 96(int) Load 256 - 258: 16(float) ConvertSToF 257 - 259: 16(float) FDiv 253 258 - Store 246(dx) 259 - 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 263 263 12 12 - 264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 261 260(dy) 49 - 266: 16(float) Load 239(scale) - 267: 16(float) FMul 266 115 - 268: 254(ptr) AccessChain 227(texDim) 45 - 269: 96(int) Load 268 - 270: 16(float) ConvertSToF 269 - 271: 16(float) FDiv 267 270 - Store 260(dy) 271 - 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 275 275 12 12 - 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 273 272(shadowFactor) 49 - Store 272(shadowFactor) 195 - 283: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 281 281 12 12 - 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 279 278(count) 49 - Store 278(count) 106 - 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 287 287 12 12 - 288: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 285 284(range) 49 - Store 284(range) 290 - 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 294 294 12 12 - 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 292 291(x) 49 - 297: 96(int) Load 284(range) - 298: 96(int) SNegate 297 - Store 291(x) 298 - Branch 299 - 299: Label - 303: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 294 294 12 12 - LoopMerge 301 302 None - Branch 305 - 305: Label - 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 308: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 294 294 12 12 - 306: 96(int) Load 291(x) - 309: 96(int) Load 284(range) - 310: 139(bool) SLessThanEqual 306 309 - BranchConditional 310 300 301 - 300: Label - 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 314 314 12 12 - 315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 312 311(y) 49 - 318: 96(int) Load 284(range) - 319: 96(int) SNegate 318 - Store 311(y) 319 - Branch 320 - 320: Label + 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 72 61(layer) 49 + 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) + 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 238 238 12 12 + 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 236 235(texDim) 49 + 241: 176 Load 182(samplerShadowMap) + 242: 171 Image 241 + 245: 243(ivec3) ImageQuerySizeLod 242 108 + 246: 231(ivec2) VectorShuffle 245 245 0 1 + Store 235(texDim) 246 + 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 250 250 12 12 + 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 248 247(scale) 49 + Store 247(scale) 253 + 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 257 257 12 12 + 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 255 254(dx) 49 + 260: 16(float) Load 247(scale) + 261: 16(float) FMul 260 117 + 264: 262(ptr) AccessChain 235(texDim) 12 + 265: 98(int) Load 264 + 266: 16(float) ConvertSToF 265 + 267: 16(float) FDiv 261 266 + Store 254(dx) 267 + 273: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 271 271 12 12 + 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 269 268(dy) 49 + 274: 16(float) Load 247(scale) + 275: 16(float) FMul 274 117 + 276: 262(ptr) AccessChain 235(texDim) 45 + 277: 98(int) Load 276 + 278: 16(float) ConvertSToF 277 + 279: 16(float) FDiv 275 278 + Store 268(dy) 279 + 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 283 283 12 12 + 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 281 280(shadowFactor) 49 + Store 280(shadowFactor) 200 + 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 289 289 12 12 + 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 287 286(count) 49 + Store 286(count) 108 + 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 295 295 12 12 + 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 293 292(range) 49 + Store 292(range) 298 + 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 302 302 12 12 + 303: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 300 299(x) 49 + 305: 98(int) Load 292(range) + 306: 98(int) SNegate 305 + Store 299(x) 306 + Branch 307 + 307: Label + 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 302 302 12 12 + LoopMerge 309 310 None + Branch 313 + 313: Label + 315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 302 302 12 12 + 314: 98(int) Load 299(x) + 317: 98(int) Load 292(range) + 318: 141(bool) SLessThanEqual 314 317 + BranchConditional 318 308 309 + 308: Label 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 314 314 12 12 - LoopMerge 322 323 None - Branch 326 - 326: Label - 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 314 314 12 12 - 327: 96(int) Load 311(y) - 330: 96(int) Load 284(range) - 331: 139(bool) SLessThanEqual 327 330 - BranchConditional 331 321 322 - 321: Label - 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 335 335 12 12 - 332: 16(float) Load 246(dx) - 336: 96(int) Load 291(x) - 337: 16(float) ConvertSToF 336 - 338: 16(float) FMul 332 337 - 339: 16(float) Load 260(dy) - 340: 96(int) Load 311(y) - 341: 16(float) ConvertSToF 340 - 342: 16(float) FMul 339 341 - 343: 27(fvec2) CompositeConstruct 338 342 - 345: 19(fvec4) Load 60(sc) - Store 344(param) 345 - 347: 16(float) Load 61(layer) - Store 346(param) 347 - Store 348(param) 343 - 349: 16(float) FunctionCall 37(textureProj(vf4;f1;vf2;) 344(param) 346(param) 348(param) - 350: 16(float) Load 272(shadowFactor) - 351: 16(float) FAdd 350 349 - Store 272(shadowFactor) 351 - 353: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 354 354 12 12 - 352: 96(int) Load 278(count) - 355: 96(int) IAdd 352 290 - Store 278(count) 355 - Branch 323 - 323: Label - 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 314 314 12 12 - 356: 96(int) Load 311(y) - 359: 96(int) IAdd 356 290 - Store 311(y) 359 - Branch 320 - 322: Label - 360: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - Branch 302 - 302: Label - 362: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 363: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 294 294 12 12 - 361: 96(int) Load 291(x) - 364: 96(int) IAdd 361 290 - Store 291(x) 364 - Branch 299 - 301: Label - 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 368 368 12 12 - 365: 16(float) Load 272(shadowFactor) - 369: 96(int) Load 278(count) - 370: 16(float) ConvertSToF 369 - 371: 16(float) FDiv 365 370 - ReturnValue 371 + 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 322 322 12 12 + 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 320 319(y) 49 + 326: 98(int) Load 292(range) + 327: 98(int) SNegate 326 + Store 319(y) 327 + Branch 328 + 328: Label + 332: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 322 322 12 12 + LoopMerge 330 331 None + Branch 334 + 334: Label + 336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 322 322 12 12 + 335: 98(int) Load 319(y) + 338: 98(int) Load 292(range) + 339: 141(bool) SLessThanEqual 335 338 + BranchConditional 339 329 330 + 329: Label + 341: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 342: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 343 343 12 12 + 340: 16(float) Load 254(dx) + 344: 98(int) Load 299(x) + 345: 16(float) ConvertSToF 344 + 346: 16(float) FMul 340 345 + 347: 16(float) Load 268(dy) + 348: 98(int) Load 319(y) + 349: 16(float) ConvertSToF 348 + 350: 16(float) FMul 347 349 + 351: 27(fvec2) CompositeConstruct 346 350 + 353: 19(fvec4) Load 60(sc) + Store 352(param) 353 + 355: 16(float) Load 61(layer) + Store 354(param) 355 + Store 356(param) 351 + 357: 16(float) FunctionCall 37(textureProj(vf4;f1;vf2;) 352(param) 354(param) 356(param) + 358: 16(float) Load 280(shadowFactor) + 359: 16(float) FAdd 358 357 + Store 280(shadowFactor) 359 + 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 362 362 12 12 + 360: 98(int) Load 286(count) + 363: 98(int) IAdd 360 298 + Store 286(count) 363 + Branch 331 + 331: Label + 365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 322 322 12 12 + 364: 98(int) Load 319(y) + 367: 98(int) IAdd 364 298 + Store 319(y) 367 + Branch 328 + 330: Label + Branch 310 + 310: Label + 369: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 370: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 302 302 12 12 + 368: 98(int) Load 299(x) + 371: 98(int) IAdd 368 298 + Store 299(x) 371 + Branch 307 + 309: Label + 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 375 375 12 12 + 372: 16(float) Load 280(shadowFactor) + 376: 98(int) Load 286(count) + 377: 16(float) ConvertSToF 376 + 378: 16(float) FDiv 372 377 + ReturnValue 378 FunctionEnd -81(shadow(vf3;vf3;): 73(fvec3) Function None 77 - 79(fragcolor): 75(ptr) FunctionParameter - 80(fragpos): 75(ptr) FunctionParameter - 82: Label - 377(i): 254(ptr) Variable Function - 395(shadowClip): 22(ptr) Variable Function -445(shadowFactor): 25(ptr) Variable Function - 452(param): 22(ptr) Variable Function - 454(param): 25(ptr) Variable Function - 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 86 79(fragcolor) 49 - 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 90 80(fragpos) 49 - 376: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 85 85 12 12 - 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 84 81(shadow(vf3;vf3;) - 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 380 380 12 12 - 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 378 377(i) 49 - Store 377(i) 106 - Branch 383 - 383: Label - 387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 380 380 12 12 - LoopMerge 385 386 None - Branch 389 - 389: Label - 391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 380 380 12 12 - 390: 96(int) Load 377(i) - 394: 139(bool) SLessThan 390 393 - BranchConditional 394 384 385 - 384: Label - 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 401: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 398 398 12 12 - 399: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 396 395(shadowClip) 49 - 434: 96(int) Load 377(i) - 437: 435(ptr) AccessChain 431(ubo) 290 434 393 - 438: 402 Load 437 - 439: 73(fvec3) Load 80(fragpos) - 440: 16(float) CompositeExtract 439 0 - 441: 16(float) CompositeExtract 439 1 - 442: 16(float) CompositeExtract 439 2 - 443: 19(fvec4) CompositeConstruct 440 441 442 115 - 444: 19(fvec4) MatrixTimesVector 438 443 - Store 395(shadowClip) 444 - 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 447 447 12 12 - 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 446 445(shadowFactor) 49 - 450: 96(int) Load 377(i) - 451: 16(float) ConvertSToF 450 - 453: 19(fvec4) Load 395(shadowClip) - Store 452(param) 453 - Store 454(param) 451 - 455: 16(float) FunctionCall 62(filterPCF(vf4;f1;) 452(param) 454(param) - Store 445(shadowFactor) 455 - 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 458 458 12 12 - 456: 16(float) Load 445(shadowFactor) - 459: 73(fvec3) Load 79(fragcolor) - 460: 73(fvec3) VectorTimesScalar 459 456 - Store 79(fragcolor) 460 - Branch 386 - 386: Label - 462: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 463: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 380 380 12 12 - 461: 96(int) Load 377(i) - 464: 96(int) IAdd 461 290 - Store 377(i) 464 - Branch 383 - 385: Label - 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 467: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 468 468 12 12 - 465: 73(fvec3) Load 79(fragcolor) - ReturnValue 465 +82(shadow(vf3;vf3;): 74(fvec3) Function None 78 + 80(fragcolor): 76(ptr) FunctionParameter + 81(fragpos): 76(ptr) FunctionParameter + 83: Label + 385(i): 262(ptr) Variable Function + 403(shadowClip): 22(ptr) Variable Function +453(shadowFactor): 25(ptr) Variable Function + 460(param): 22(ptr) Variable Function + 462(param): 25(ptr) Variable Function + 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 86 86 12 12 + 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 87 80(fragcolor) 49 + 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 81(fragpos) 49 + 384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 85 82(shadow(vf3;vf3;) + 390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 388 388 12 12 + 389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 386 385(i) 49 + Store 385(i) 108 + Branch 391 + 391: Label + 395: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 388 388 12 12 + LoopMerge 393 394 None + Branch 397 + 397: Label + 399: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 388 388 12 12 + 398: 98(int) Load 385(i) + 402: 141(bool) SLessThan 398 401 + BranchConditional 402 392 393 + 392: Label + 408: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 406 406 12 12 + 407: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 404 403(shadowClip) 49 + 442: 98(int) Load 385(i) + 445: 443(ptr) AccessChain 439(ubo) 298 442 401 + 446: 410 Load 445 + 447: 74(fvec3) Load 81(fragpos) + 448: 16(float) CompositeExtract 447 0 + 449: 16(float) CompositeExtract 447 1 + 450: 16(float) CompositeExtract 447 2 + 451: 19(fvec4) CompositeConstruct 448 449 450 117 + 452: 19(fvec4) MatrixTimesVector 446 451 + Store 403(shadowClip) 452 + 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 455 455 12 12 + 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 454 453(shadowFactor) 49 + 458: 98(int) Load 385(i) + 459: 16(float) ConvertSToF 458 + 461: 19(fvec4) Load 403(shadowClip) + Store 460(param) 461 + Store 462(param) 459 + 463: 16(float) FunctionCall 62(filterPCF(vf4;f1;) 460(param) 462(param) + Store 453(shadowFactor) 463 + 465: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 466 466 12 12 + 464: 16(float) Load 453(shadowFactor) + 467: 74(fvec3) Load 80(fragcolor) + 468: 74(fvec3) VectorTimesScalar 467 464 + Store 80(fragcolor) 468 + Branch 394 + 394: Label + 470: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 471: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 388 388 12 12 + 469: 98(int) Load 385(i) + 472: 98(int) IAdd 469 298 + Store 385(i) 472 + Branch 391 + 393: Label + 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 475: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 41 476 476 12 12 + 473: 74(fvec3) Load 80(fragcolor) + ReturnValue 473 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.glsl.geom.out b/Test/baseResults/spv.debuginfo.glsl.geom.out index 32634ffe..0f8ceab6 100644 --- a/Test/baseResults/spv.debuginfo.glsl.geom.out +++ b/Test/baseResults/spv.debuginfo.glsl.geom.out @@ -1,7 +1,7 @@ spv.debuginfo.glsl.geom // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 274 +// Id's are bound by 276 Capability Geometry Capability MultiViewport @@ -158,32 +158,32 @@ void main(void) Decorate 64(outNormal) Location 0 Decorate 74 ArrayStride 64 Decorate 76 ArrayStride 64 - MemberDecorate 78(UBO) 0 ColMajor - MemberDecorate 78(UBO) 0 Offset 0 - MemberDecorate 78(UBO) 0 MatrixStride 16 - MemberDecorate 78(UBO) 1 ColMajor - MemberDecorate 78(UBO) 1 Offset 128 - MemberDecorate 78(UBO) 1 MatrixStride 16 - MemberDecorate 78(UBO) 2 Offset 256 Decorate 78(UBO) Block - Decorate 92(ubo) DescriptorSet 0 + MemberDecorate 78(UBO) 0 ColMajor + MemberDecorate 78(UBO) 0 MatrixStride 16 + MemberDecorate 78(UBO) 0 Offset 0 + MemberDecorate 78(UBO) 1 ColMajor + MemberDecorate 78(UBO) 1 MatrixStride 16 + MemberDecorate 78(UBO) 1 Offset 128 + MemberDecorate 78(UBO) 2 Offset 256 Decorate 92(ubo) Binding 0 + Decorate 92(ubo) DescriptorSet 0 Decorate 98(gl_InvocationID) BuiltIn InvocationId Decorate 121(inNormal) Location 0 Decorate 130(outColor) Location 1 Decorate 134(inColor) Location 1 + Decorate 151(gl_PerVertex) Block MemberDecorate 151(gl_PerVertex) 0 BuiltIn Position MemberDecorate 151(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 151(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 151(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 151(gl_PerVertex) Block Decorate 208(outLightVec) Location 3 Decorate 217(outViewVec) Location 2 + Decorate 225(gl_PerVertex) Block MemberDecorate 225(gl_PerVertex) 0 BuiltIn Position MemberDecorate 225(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 225(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 225(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 225(gl_PerVertex) Block Decorate 250(gl_ViewportIndex) BuiltIn ViewportIndex Decorate 256(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 260(gl_PrimitiveIDIn) BuiltIn PrimitiveId @@ -333,6 +333,7 @@ void main(void) 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 262 30 18 259 12 21 262 260(gl_PrimitiveIDIn) 68 266: 7(int) Constant 66 273: 7(int) Constant 68 + 275: 7(int) Constant 69 14(main): 4 Function None 5 15: Label 34(i): 31(ptr) Variable Function @@ -446,5 +447,6 @@ void main(void) 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 273 273 12 12 EndPrimitive + 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 275 275 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.glsl.tesc.out b/Test/baseResults/spv.debuginfo.glsl.tesc.out index 8a0308a4..937a42ef 100644 --- a/Test/baseResults/spv.debuginfo.glsl.tesc.out +++ b/Test/baseResults/spv.debuginfo.glsl.tesc.out @@ -1,14 +1,14 @@ spv.debuginfo.glsl.tesc // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 569 +// Id's are bound by 579 Capability Tessellation Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint TessellationControl 14 "main" 260 265 294 383 399 516 532 542 557 + EntryPoint TessellationControl 14 "main" 262 267 296 390 405 524 540 550 565 ExecutionMode 14 OutputVertices 4 2: String "spv.debuginfo.glsl.tesc" 8: String "uint" @@ -180,26 +180,26 @@ void main() 126: String "int" 137: String "clip0" 158: String "clip1" - 237: String "pos" - 245: String "gl_Position" - 248: String "gl_PointSize" - 251: String "gl_CullDistance" - 255: String "gl_PerVertex" - 262: String "gl_in" - 267: String "gl_InvocationID" - 275: String "type.2d.image" - 277: String "@type.2d.image" - 281: String "type.sampled.image" - 282: String "@type.sampled.image" - 287: String "samplerHeight" - 296: String "inUV" - 315: String "i" - 385: String "gl_TessLevelInner" - 401: String "gl_TessLevelOuter" - 518: String "gl_out" - 534: String "outNormal" - 544: String "inNormal" - 559: String "outUV" + 239: String "pos" + 247: String "gl_Position" + 250: String "gl_PointSize" + 253: String "gl_CullDistance" + 257: String "gl_PerVertex" + 264: String "gl_in" + 269: String "gl_InvocationID" + 277: String "type.2d.image" + 279: String "@type.2d.image" + 283: String "type.sampled.image" + 284: String "@type.sampled.image" + 289: String "samplerHeight" + 298: String "inUV" + 317: String "i" + 392: String "gl_TessLevelInner" + 407: String "gl_TessLevelOuter" + 526: String "gl_out" + 542: String "outNormal" + 552: String "inNormal" + 567: String "outUV" Name 14 "main" Name 29 "screenSpaceTessFactor(vf4;vf4;" Name 27 "p0" @@ -220,73 +220,73 @@ void main() Name 122 "ubo" Name 135 "clip0" Name 156 "clip1" - Name 235 "pos" - Name 243 "gl_PerVertex" - MemberName 243(gl_PerVertex) 0 "gl_Position" - MemberName 243(gl_PerVertex) 1 "gl_PointSize" - MemberName 243(gl_PerVertex) 2 "gl_ClipDistance" - MemberName 243(gl_PerVertex) 3 "gl_CullDistance" - Name 260 "gl_in" - Name 265 "gl_InvocationID" - Name 285 "samplerHeight" - Name 294 "inUV" - Name 313 "i" - Name 383 "gl_TessLevelInner" - Name 399 "gl_TessLevelOuter" - Name 424 "param" - Name 430 "param" - Name 435 "param" - Name 440 "param" - Name 445 "param" - Name 450 "param" - Name 455 "param" - Name 460 "param" - Name 503 "gl_PerVertex" - MemberName 503(gl_PerVertex) 0 "gl_Position" - MemberName 503(gl_PerVertex) 1 "gl_PointSize" - MemberName 503(gl_PerVertex) 2 "gl_ClipDistance" - MemberName 503(gl_PerVertex) 3 "gl_CullDistance" - Name 516 "gl_out" - Name 532 "outNormal" - Name 542 "inNormal" - Name 557 "outUV" + Name 237 "pos" + Name 245 "gl_PerVertex" + MemberName 245(gl_PerVertex) 0 "gl_Position" + MemberName 245(gl_PerVertex) 1 "gl_PointSize" + MemberName 245(gl_PerVertex) 2 "gl_ClipDistance" + MemberName 245(gl_PerVertex) 3 "gl_CullDistance" + Name 262 "gl_in" + Name 267 "gl_InvocationID" + Name 287 "samplerHeight" + Name 296 "inUV" + Name 315 "i" + Name 390 "gl_TessLevelInner" + Name 405 "gl_TessLevelOuter" + Name 434 "param" + Name 439 "param" + Name 444 "param" + Name 449 "param" + Name 454 "param" + Name 459 "param" + Name 464 "param" + Name 469 "param" + Name 511 "gl_PerVertex" + MemberName 511(gl_PerVertex) 0 "gl_Position" + MemberName 511(gl_PerVertex) 1 "gl_PointSize" + MemberName 511(gl_PerVertex) 2 "gl_ClipDistance" + MemberName 511(gl_PerVertex) 3 "gl_CullDistance" + Name 524 "gl_out" + Name 540 "outNormal" + Name 550 "inNormal" + Name 565 "outUV" Decorate 95 ArrayStride 16 + Decorate 99(UBO) Block MemberDecorate 99(UBO) 0 ColMajor - MemberDecorate 99(UBO) 0 Offset 0 MemberDecorate 99(UBO) 0 MatrixStride 16 + MemberDecorate 99(UBO) 0 Offset 0 MemberDecorate 99(UBO) 1 ColMajor - MemberDecorate 99(UBO) 1 Offset 64 MemberDecorate 99(UBO) 1 MatrixStride 16 + MemberDecorate 99(UBO) 1 Offset 64 MemberDecorate 99(UBO) 2 Offset 128 MemberDecorate 99(UBO) 3 Offset 144 MemberDecorate 99(UBO) 4 Offset 240 MemberDecorate 99(UBO) 5 Offset 244 MemberDecorate 99(UBO) 6 Offset 248 MemberDecorate 99(UBO) 7 Offset 256 - Decorate 99(UBO) Block - Decorate 122(ubo) DescriptorSet 0 Decorate 122(ubo) Binding 0 - MemberDecorate 243(gl_PerVertex) 0 BuiltIn Position - MemberDecorate 243(gl_PerVertex) 1 BuiltIn PointSize - MemberDecorate 243(gl_PerVertex) 2 BuiltIn ClipDistance - MemberDecorate 243(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 243(gl_PerVertex) Block - Decorate 265(gl_InvocationID) BuiltIn InvocationId - Decorate 285(samplerHeight) DescriptorSet 0 - Decorate 285(samplerHeight) Binding 1 - Decorate 294(inUV) Location 1 - Decorate 383(gl_TessLevelInner) Patch - Decorate 383(gl_TessLevelInner) BuiltIn TessLevelInner - Decorate 399(gl_TessLevelOuter) Patch - Decorate 399(gl_TessLevelOuter) BuiltIn TessLevelOuter - MemberDecorate 503(gl_PerVertex) 0 BuiltIn Position - MemberDecorate 503(gl_PerVertex) 1 BuiltIn PointSize - MemberDecorate 503(gl_PerVertex) 2 BuiltIn ClipDistance - MemberDecorate 503(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 503(gl_PerVertex) Block - Decorate 532(outNormal) Location 0 - Decorate 542(inNormal) Location 0 - Decorate 557(outUV) Location 1 + Decorate 122(ubo) DescriptorSet 0 + Decorate 245(gl_PerVertex) Block + MemberDecorate 245(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 245(gl_PerVertex) 1 BuiltIn PointSize + MemberDecorate 245(gl_PerVertex) 2 BuiltIn ClipDistance + MemberDecorate 245(gl_PerVertex) 3 BuiltIn CullDistance + Decorate 267(gl_InvocationID) BuiltIn InvocationId + Decorate 287(samplerHeight) Binding 1 + Decorate 287(samplerHeight) DescriptorSet 0 + Decorate 296(inUV) Location 1 + Decorate 390(gl_TessLevelInner) BuiltIn TessLevelInner + Decorate 390(gl_TessLevelInner) Patch + Decorate 405(gl_TessLevelOuter) BuiltIn TessLevelOuter + Decorate 405(gl_TessLevelOuter) Patch + Decorate 511(gl_PerVertex) Block + MemberDecorate 511(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 511(gl_PerVertex) 1 BuiltIn PointSize + MemberDecorate 511(gl_PerVertex) 2 BuiltIn ClipDistance + MemberDecorate 511(gl_PerVertex) 3 BuiltIn CullDistance + Decorate 540(outNormal) Location 0 + Decorate 550(inNormal) Location 0 + Decorate 565(outUV) Location 1 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 @@ -387,304 +387,314 @@ void main() 222: 125(int) Constant 5 226: 16(float) Constant 1065353216 227: 16(float) Constant 1115684864 - 238: 7(int) Constant 85 - 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 237 21 33 238 12 56 20 - 241: TypeArray 16(float) 37 - 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 37 -243(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 241 241 - 246: 7(int) Constant 1756 - 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 245 21 33 37 246 12 12 13 - 249: 7(int) Constant 1774 - 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 248 18 33 37 249 12 12 13 - 252: 7(int) Constant 1817 - 250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 251 242 33 37 252 12 12 13 - 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 251 242 33 37 252 12 12 13 - 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 255 37 33 238 12 36 255 12 13 244 247 250 253 - 256: TypeArray 243(gl_PerVertex) 10 - 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 254 10 - 258: TypePointer Input 256 - 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 257 37 12 - 260(gl_in): 258(ptr) Variable Input - 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 262 257 33 238 12 36 262 260(gl_in) 112 - 263: TypePointer Input 125(int) - 264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 37 12 -265(gl_InvocationID): 263(ptr) Variable Input - 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 267 127 33 238 12 36 267 265(gl_InvocationID) 112 - 269: TypePointer Input 19(fvec4) - 270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 37 12 - 273: TypeImage 16(float) 2D sampled format:Unknown - 276: 7(int) Constant 86 - 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 275 12 33 276 12 36 277 278 13 - 279: TypeSampledImage 273 - 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 281 12 33 276 12 36 282 278 13 - 283: TypePointer UniformConstant 279 - 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 280 12 12 -285(samplerHeight): 283(ptr) Variable UniformConstant - 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 287 280 33 276 12 36 287 285(samplerHeight) 112 - 290: TypeArray 97(fvec2) 10 - 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 10 - 292: TypePointer Input 290 - 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 291 37 12 - 294(inUV): 292(ptr) Variable Input - 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 296 291 33 276 12 36 296 294(inUV) 112 - 297: TypePointer Input 97(fvec2) - 298: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 37 12 - 303: 125(int) Constant 4 - 311: TypePointer Function 125(int) - 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 23 12 - 316: 7(int) Constant 89 - 314: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 315 127 33 316 12 56 20 - 333: 7(int) Constant 90 - 334: 125(int) Constant 3 - 336: TypePointer Uniform 19(fvec4) - 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 38 12 - 341: 16(float) Constant 1090519040 - 346: 48(bool) ConstantFalse + 233: 7(int) Constant 77 + 240: 7(int) Constant 85 + 238: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 239 21 33 240 12 56 20 + 243: TypeArray 16(float) 37 + 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 37 +245(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 243 243 + 248: 7(int) Constant 1756 + 246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 247 21 33 37 248 12 12 13 + 251: 7(int) Constant 1774 + 249: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 250 18 33 37 251 12 12 13 + 254: 7(int) Constant 1817 + 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 254 12 12 13 + 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 254 12 12 13 + 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 257 37 33 240 12 36 257 12 13 246 249 252 255 + 258: TypeArray 245(gl_PerVertex) 10 + 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 256 10 + 260: TypePointer Input 258 + 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 259 37 12 + 262(gl_in): 260(ptr) Variable Input + 263: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 264 259 33 240 12 36 264 262(gl_in) 112 + 265: TypePointer Input 125(int) + 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 37 12 +267(gl_InvocationID): 265(ptr) Variable Input + 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 269 127 33 240 12 36 269 267(gl_InvocationID) 112 + 271: TypePointer Input 19(fvec4) + 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 37 12 + 275: TypeImage 16(float) 2D sampled format:Unknown + 278: 7(int) Constant 86 + 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 277 12 33 278 12 36 279 280 13 + 281: TypeSampledImage 275 + 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 283 12 33 278 12 36 284 280 13 + 285: TypePointer UniformConstant 281 + 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 282 12 12 +287(samplerHeight): 285(ptr) Variable UniformConstant + 288: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 289 282 33 278 12 36 289 287(samplerHeight) 112 + 292: TypeArray 97(fvec2) 10 + 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 10 + 294: TypePointer Input 292 + 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 293 37 12 + 296(inUV): 294(ptr) Variable Input + 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 298 293 33 278 12 36 298 296(inUV) 112 + 299: TypePointer Input 97(fvec2) + 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 37 12 + 305: 125(int) Constant 4 + 313: TypePointer Function 125(int) + 314: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 127 23 12 + 318: 7(int) Constant 89 + 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 317 127 33 318 12 56 20 + 335: 7(int) Constant 90 + 336: 125(int) Constant 3 + 338: TypePointer Uniform 19(fvec4) + 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 38 12 + 343: 16(float) Constant 1090519040 349: 7(int) Constant 92 - 359: 7(int) Constant 95 - 368: 7(int) Constant 100 - 375: 7(int) Constant 102 - 379: TypeArray 16(float) 38 - 380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 38 - 381: TypePointer Output 379 - 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 380 13 12 -383(gl_TessLevelInner): 381(ptr) Variable Output - 386: 7(int) Constant 104 - 384: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 385 380 33 386 12 36 385 383(gl_TessLevelInner) 112 - 387: TypePointer Output 16(float) - 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 - 394: 7(int) Constant 105 - 395: TypeArray 16(float) 20 - 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 20 - 397: TypePointer Output 395 - 398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 396 13 12 -399(gl_TessLevelOuter): 397(ptr) Variable Output - 402: 7(int) Constant 106 - 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 401 396 33 402 12 36 401 399(gl_TessLevelOuter) 112 - 407: 7(int) Constant 107 - 408: 125(int) Constant 2 - 411: 7(int) Constant 108 - 414: 7(int) Constant 109 - 419: 7(int) Constant 113 - 428: 7(int) Constant 115 - 438: 7(int) Constant 116 - 448: 7(int) Constant 117 - 458: 7(int) Constant 118 - 467: 7(int) Constant 119 - 475: 7(int) Constant 120 - 485: 7(int) Constant 126 - 488: 7(int) Constant 127 - 491: 7(int) Constant 128 - 494: 7(int) Constant 129 - 497: 7(int) Constant 130 - 500: 7(int) Constant 131 -503(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 241 241 - 505: 7(int) Constant 110 - 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 245 21 33 37 505 12 12 13 - 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 248 18 33 37 491 12 12 13 - 508: 7(int) Constant 171 - 507: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 251 242 33 37 508 12 12 13 - 509: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 251 242 33 37 508 12 12 13 - 511: 7(int) Constant 137 - 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 255 37 33 511 12 36 255 12 13 504 506 507 509 - 512: TypeArray 503(gl_PerVertex) 20 - 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 510 20 - 514: TypePointer Output 512 - 515: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 513 13 12 - 516(gl_out): 514(ptr) Variable Output - 517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 518 513 33 511 12 36 518 516(gl_out) 112 - 525: TypePointer Output 19(fvec4) - 526: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12 - 528: TypeArray 146(fvec3) 20 - 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 20 - 530: TypePointer Output 528 - 531: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 529 13 12 - 532(outNormal): 530(ptr) Variable Output - 535: 7(int) Constant 138 - 533: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 534 529 33 535 12 36 534 532(outNormal) 112 - 538: TypeArray 146(fvec3) 10 - 539: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 10 - 540: TypePointer Input 538 - 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 539 37 12 - 542(inNormal): 540(ptr) Variable Input - 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 544 539 33 535 12 36 544 542(inNormal) 112 - 546: TypePointer Input 146(fvec3) - 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 37 12 - 550: TypePointer Output 146(fvec3) - 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 13 12 - 553: TypeArray 97(fvec2) 20 - 554: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 20 - 555: TypePointer Output 553 - 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 554 13 12 - 557(outUV): 555(ptr) Variable Output - 560: 7(int) Constant 139 - 558: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 559 554 33 560 12 36 559 557(outUV) 112 - 566: TypePointer Output 97(fvec2) - 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 13 12 + 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 349 20 56 + 350: 48(bool) ConstantFalse + 360: 7(int) Constant 95 + 365: 7(int) Constant 96 + 371: 7(int) Constant 100 + 376: 7(int) Constant 102 + 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 376 13 59 + 384: 7(int) Constant 104 + 385: 7(int) Constant 25 + 383: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 384 385 375 + 386: TypeArray 16(float) 38 + 387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 38 + 388: TypePointer Output 386 + 389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 387 13 12 +390(gl_TessLevelInner): 388(ptr) Variable Output + 391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 392 387 33 384 12 36 392 390(gl_TessLevelInner) 112 + 393: TypePointer Output 16(float) + 394: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 + 400: 7(int) Constant 105 + 401: TypeArray 16(float) 20 + 402: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 18 20 + 403: TypePointer Output 401 + 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 402 13 12 +405(gl_TessLevelOuter): 403(ptr) Variable Output + 408: 7(int) Constant 106 + 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 407 402 33 408 12 36 407 405(gl_TessLevelOuter) 112 + 413: 7(int) Constant 107 + 414: 125(int) Constant 2 + 417: 7(int) Constant 108 + 420: 7(int) Constant 109 + 423: 7(int) Constant 113 + 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 423 20 375 + 432: 7(int) Constant 115 + 433: 7(int) Constant 26 + 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 432 433 422 + 447: 7(int) Constant 116 + 457: 7(int) Constant 117 + 467: 7(int) Constant 118 + 476: 7(int) Constant 119 + 484: 7(int) Constant 120 + 492: 7(int) Constant 126 + 491: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 33 492 433 422 + 498: 7(int) Constant 127 + 501: 7(int) Constant 128 + 504: 7(int) Constant 129 + 507: 7(int) Constant 130 + 510: 7(int) Constant 131 +511(gl_PerVertex): TypeStruct 19(fvec4) 16(float) 243 243 + 513: 7(int) Constant 110 + 512: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 247 21 33 37 513 12 12 13 + 514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 250 18 33 37 501 12 12 13 + 516: 7(int) Constant 171 + 515: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 516 12 12 13 + 517: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 253 244 33 37 516 12 12 13 + 519: 7(int) Constant 137 + 518: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 257 37 33 519 12 36 257 12 13 512 514 515 517 + 520: TypeArray 511(gl_PerVertex) 20 + 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 518 20 + 522: TypePointer Output 520 + 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 521 13 12 + 524(gl_out): 522(ptr) Variable Output + 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 526 521 33 519 12 36 526 524(gl_out) 112 + 533: TypePointer Output 19(fvec4) + 534: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 21 13 12 + 536: TypeArray 146(fvec3) 20 + 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 20 + 538: TypePointer Output 536 + 539: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 537 13 12 + 540(outNormal): 538(ptr) Variable Output + 543: 7(int) Constant 138 + 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 542 537 33 543 12 36 542 540(outNormal) 112 + 546: TypeArray 146(fvec3) 10 + 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 147 10 + 548: TypePointer Input 546 + 549: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 547 37 12 + 550(inNormal): 548(ptr) Variable Input + 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 552 547 33 543 12 36 552 550(inNormal) 112 + 554: TypePointer Input 146(fvec3) + 555: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 37 12 + 558: TypePointer Output 146(fvec3) + 559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 147 13 12 + 561: TypeArray 97(fvec2) 20 + 562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 98 20 + 563: TypePointer Output 561 + 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 562 13 12 + 565(outUV): 563(ptr) Variable Output + 568: 7(int) Constant 139 + 566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 567 562 33 568 12 36 567 565(outUV) 112 + 574: TypePointer Output 97(fvec2) + 575: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 13 12 + 578: 7(int) Constant 140 14(main): 4 Function None 5 15: Label - 424(param): 22(ptr) Variable Function - 430(param): 22(ptr) Variable Function - 435(param): 22(ptr) Variable Function - 440(param): 22(ptr) Variable Function - 445(param): 22(ptr) Variable Function - 450(param): 22(ptr) Variable Function - 455(param): 22(ptr) Variable Function - 460(param): 22(ptr) Variable Function - 364: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 365: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 60 60 12 12 - 363: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 59 14(main) - 367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 368 368 12 12 - 366: 125(int) Load 265(gl_InvocationID) - 369: 48(bool) IEqual 366 141 - SelectionMerge 371 None - BranchConditional 369 370 371 - 370: Label - 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 375 375 12 12 - 372: 48(bool) FunctionCall 53(frustumCheck() - 376: 48(bool) LogicalNot 372 - SelectionMerge 378 None - BranchConditional 376 377 415 - 377: Label - 390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 386 386 12 12 - 389: 387(ptr) AccessChain 383(gl_TessLevelInner) 141 - Store 389 148 - 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 394 394 12 12 - 392: 387(ptr) AccessChain 383(gl_TessLevelInner) 128 - Store 392 148 - 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 402 402 12 12 - 403: 387(ptr) AccessChain 399(gl_TessLevelOuter) 141 - Store 403 148 - 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 407 407 12 12 - 405: 387(ptr) AccessChain 399(gl_TessLevelOuter) 128 - Store 405 148 - 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 411 411 12 12 - 409: 387(ptr) AccessChain 399(gl_TessLevelOuter) 408 + 434(param): 22(ptr) Variable Function + 439(param): 22(ptr) Variable Function + 444(param): 22(ptr) Variable Function + 449(param): 22(ptr) Variable Function + 454(param): 22(ptr) Variable Function + 459(param): 22(ptr) Variable Function + 464(param): 22(ptr) Variable Function + 469(param): 22(ptr) Variable Function + 367: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 + 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 60 60 12 12 + 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 59 14(main) + 370: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 371 371 12 12 + 369: 125(int) Load 267(gl_InvocationID) + 372: 48(bool) IEqual 369 141 + SelectionMerge 374 None + BranchConditional 372 373 374 + 373: Label + 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 375 + 379: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 376 376 12 12 + 377: 48(bool) FunctionCall 53(frustumCheck() + 380: 48(bool) LogicalNot 377 + SelectionMerge 382 None + BranchConditional 380 381 421 + 381: Label + 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 383 + 397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 384 384 12 12 + 395: 393(ptr) AccessChain 390(gl_TessLevelInner) 141 + Store 395 148 + 399: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 400 400 12 12 + 398: 393(ptr) AccessChain 390(gl_TessLevelInner) 128 + Store 398 148 + 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 408 408 12 12 + 409: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141 Store 409 148 - 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 414 414 12 12 - 412: 387(ptr) AccessChain 399(gl_TessLevelOuter) 334 - Store 412 148 - Branch 378 - 415: Label - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 419 419 12 12 - 416: 217(ptr) AccessChain 122(ubo) 222 - 420: 16(float) Load 416 - 421: 48(bool) FOrdGreaterThan 420 148 - SelectionMerge 423 None - BranchConditional 421 422 481 - 422: Label - 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 428 428 12 12 - 425: 269(ptr) AccessChain 260(gl_in) 334 141 - 429: 19(fvec4) Load 425 - Store 424(param) 429 - 431: 269(ptr) AccessChain 260(gl_in) 141 141 - 432: 19(fvec4) Load 431 - Store 430(param) 432 - 433: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 424(param) 430(param) - 434: 387(ptr) AccessChain 399(gl_TessLevelOuter) 141 - Store 434 433 - 437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 438 438 12 12 - 436: 269(ptr) AccessChain 260(gl_in) 141 141 - 439: 19(fvec4) Load 436 - Store 435(param) 439 - 441: 269(ptr) AccessChain 260(gl_in) 128 141 - 442: 19(fvec4) Load 441 - Store 440(param) 442 - 443: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 435(param) 440(param) - 444: 387(ptr) AccessChain 399(gl_TessLevelOuter) 128 - Store 444 443 - 447: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 448 448 12 12 - 446: 269(ptr) AccessChain 260(gl_in) 128 141 - 449: 19(fvec4) Load 446 - Store 445(param) 449 - 451: 269(ptr) AccessChain 260(gl_in) 408 141 - 452: 19(fvec4) Load 451 - Store 450(param) 452 - 453: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 445(param) 450(param) - 454: 387(ptr) AccessChain 399(gl_TessLevelOuter) 408 - Store 454 453 - 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 458 458 12 12 - 456: 269(ptr) AccessChain 260(gl_in) 408 141 - 459: 19(fvec4) Load 456 - Store 455(param) 459 - 461: 269(ptr) AccessChain 260(gl_in) 334 141 - 462: 19(fvec4) Load 461 - Store 460(param) 462 - 463: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 455(param) 460(param) - 464: 387(ptr) AccessChain 399(gl_TessLevelOuter) 334 - Store 464 463 + 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 413 413 12 12 + 411: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128 + Store 411 148 + 416: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 417 417 12 12 + 415: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414 + Store 415 148 + 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 420 420 12 12 + 418: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336 + Store 418 148 + Branch 382 + 421: Label + 425: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 422 + 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 423 423 12 12 + 424: 217(ptr) AccessChain 122(ubo) 222 + 427: 16(float) Load 424 + 428: 48(bool) FOrdGreaterThan 427 148 + SelectionMerge 430 None + BranchConditional 428 429 490 + 429: Label + 436: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 431 + 437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 432 432 12 12 + 435: 271(ptr) AccessChain 262(gl_in) 336 141 + 438: 19(fvec4) Load 435 + Store 434(param) 438 + 440: 271(ptr) AccessChain 262(gl_in) 141 141 + 441: 19(fvec4) Load 440 + Store 439(param) 441 + 442: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 434(param) 439(param) + 443: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141 + Store 443 442 + 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 447 447 12 12 + 445: 271(ptr) AccessChain 262(gl_in) 141 141 + 448: 19(fvec4) Load 445 + Store 444(param) 448 + 450: 271(ptr) AccessChain 262(gl_in) 128 141 + 451: 19(fvec4) Load 450 + Store 449(param) 451 + 452: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 444(param) 449(param) + 453: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128 + Store 453 452 + 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 457 457 12 12 + 455: 271(ptr) AccessChain 262(gl_in) 128 141 + 458: 19(fvec4) Load 455 + Store 454(param) 458 + 460: 271(ptr) AccessChain 262(gl_in) 414 141 + 461: 19(fvec4) Load 460 + Store 459(param) 461 + 462: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 454(param) 459(param) + 463: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414 + Store 463 462 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 467 467 12 12 - 465: 387(ptr) AccessChain 399(gl_TessLevelOuter) 141 - 468: 16(float) Load 465 - 469: 387(ptr) AccessChain 399(gl_TessLevelOuter) 334 - 470: 16(float) Load 469 - 471: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 468 470 68 - 472: 387(ptr) AccessChain 383(gl_TessLevelInner) 141 - Store 472 471 - 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 475 475 12 12 - 473: 387(ptr) AccessChain 399(gl_TessLevelOuter) 408 - 476: 16(float) Load 473 - 477: 387(ptr) AccessChain 399(gl_TessLevelOuter) 128 - 478: 16(float) Load 477 - 479: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 476 478 68 - 480: 387(ptr) AccessChain 383(gl_TessLevelInner) 128 - Store 480 479 - Branch 423 - 481: Label - 483: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 485 485 12 12 - 482: 387(ptr) AccessChain 383(gl_TessLevelInner) 141 - Store 482 226 - 487: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 488 488 12 12 - 486: 387(ptr) AccessChain 383(gl_TessLevelInner) 128 - Store 486 226 - 490: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 491 491 12 12 - 489: 387(ptr) AccessChain 399(gl_TessLevelOuter) 141 - Store 489 226 - 493: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 494 494 12 12 - 492: 387(ptr) AccessChain 399(gl_TessLevelOuter) 128 - Store 492 226 - 496: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 497 497 12 12 - 495: 387(ptr) AccessChain 399(gl_TessLevelOuter) 408 - Store 495 226 - 499: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 500 500 12 12 - 498: 387(ptr) AccessChain 399(gl_TessLevelOuter) 334 - Store 498 226 - Branch 423 - 423: Label - 501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - Branch 378 - 378: Label - 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - Branch 371 - 371: Label - 520: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 - 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 511 511 12 12 - 519: 125(int) Load 265(gl_InvocationID) - 522: 125(int) Load 265(gl_InvocationID) - 523: 269(ptr) AccessChain 260(gl_in) 522 141 - 524: 19(fvec4) Load 523 - 527: 525(ptr) AccessChain 516(gl_out) 519 141 - Store 527 524 - 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 535 535 12 12 - 536: 125(int) Load 265(gl_InvocationID) - 545: 125(int) Load 265(gl_InvocationID) - 548: 546(ptr) AccessChain 542(inNormal) 545 - 549: 146(fvec3) Load 548 - 552: 550(ptr) AccessChain 532(outNormal) 536 - Store 552 549 - 562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 560 560 12 12 - 561: 125(int) Load 265(gl_InvocationID) - 563: 125(int) Load 265(gl_InvocationID) - 564: 297(ptr) AccessChain 294(inUV) 563 - 565: 97(fvec2) Load 564 - 568: 566(ptr) AccessChain 557(outUV) 561 - Store 568 565 + 465: 271(ptr) AccessChain 262(gl_in) 414 141 + 468: 19(fvec4) Load 465 + Store 464(param) 468 + 470: 271(ptr) AccessChain 262(gl_in) 336 141 + 471: 19(fvec4) Load 470 + Store 469(param) 471 + 472: 16(float) FunctionCall 29(screenSpaceTessFactor(vf4;vf4;) 464(param) 469(param) + 473: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336 + Store 473 472 + 475: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 476 476 12 12 + 474: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141 + 477: 16(float) Load 474 + 478: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336 + 479: 16(float) Load 478 + 480: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 477 479 68 + 481: 393(ptr) AccessChain 390(gl_TessLevelInner) 141 + Store 481 480 + 483: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 484 484 12 12 + 482: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414 + 485: 16(float) Load 482 + 486: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128 + 487: 16(float) Load 486 + 488: 16(float) ExtInst 3(GLSL.std.450) 46(FMix) 485 487 68 + 489: 393(ptr) AccessChain 390(gl_TessLevelInner) 128 + Store 489 488 + Branch 430 + 490: Label + 494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 491 + 495: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 492 492 12 12 + 493: 393(ptr) AccessChain 390(gl_TessLevelInner) 141 + Store 493 226 + 497: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 498 498 12 12 + 496: 393(ptr) AccessChain 390(gl_TessLevelInner) 128 + Store 496 226 + 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 501 501 12 12 + 499: 393(ptr) AccessChain 405(gl_TessLevelOuter) 141 + Store 499 226 + 503: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 504 504 12 12 + 502: 393(ptr) AccessChain 405(gl_TessLevelOuter) 128 + Store 502 226 + 506: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 507 507 12 12 + 505: 393(ptr) AccessChain 405(gl_TessLevelOuter) 414 + Store 505 226 + 509: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 510 510 12 12 + 508: 393(ptr) AccessChain 405(gl_TessLevelOuter) 336 + Store 508 226 + Branch 430 + 430: Label + Branch 382 + 382: Label + Branch 374 + 374: Label + 528: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 59 + 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 519 519 12 12 + 527: 125(int) Load 267(gl_InvocationID) + 530: 125(int) Load 267(gl_InvocationID) + 531: 271(ptr) AccessChain 262(gl_in) 530 141 + 532: 19(fvec4) Load 531 + 535: 533(ptr) AccessChain 524(gl_out) 527 141 + Store 535 532 + 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 543 543 12 12 + 544: 125(int) Load 267(gl_InvocationID) + 553: 125(int) Load 267(gl_InvocationID) + 556: 554(ptr) AccessChain 550(inNormal) 553 + 557: 146(fvec3) Load 556 + 560: 558(ptr) AccessChain 540(outNormal) 544 + Store 560 557 + 570: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 568 568 12 12 + 569: 125(int) Load 267(gl_InvocationID) + 571: 125(int) Load 267(gl_InvocationID) + 572: 299(ptr) AccessChain 296(inUV) 571 + 573: 97(fvec2) Load 572 + 576: 574(ptr) AccessChain 565(outUV) 569 + Store 576 573 + 577: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 578 578 12 12 Return FunctionEnd 29(screenSpaceTessFactor(vf4;vf4;): 16(float) Function None 25 @@ -801,74 +811,73 @@ void main() FunctionEnd 53(frustumCheck(): 48(bool) Function None 51 54: Label - 235(pos): 22(ptr) Variable Function - 313(i): 311(ptr) Variable Function - 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 57 57 12 12 - 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 56 53(frustumCheck() - 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 238 238 12 12 - 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 236 235(pos) 42 - 268: 125(int) Load 265(gl_InvocationID) - 271: 269(ptr) AccessChain 260(gl_in) 268 141 - 272: 19(fvec4) Load 271 - Store 235(pos) 272 - 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 276 276 12 12 - 288: 279 Load 285(samplerHeight) - 299: 297(ptr) AccessChain 294(inUV) 141 - 300: 97(fvec2) Load 299 - 301: 19(fvec4) ImageSampleExplicitLod 288 300 Lod 148 - 302: 16(float) CompositeExtract 301 0 - 304: 217(ptr) AccessChain 122(ubo) 303 - 305: 16(float) Load 304 - 306: 16(float) FMul 302 305 - 307: 73(ptr) AccessChain 235(pos) 37 - 308: 16(float) Load 307 - 309: 16(float) FSub 308 306 - 310: 73(ptr) AccessChain 235(pos) 37 - Store 310 309 - 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 316 316 12 12 - 317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 314 313(i) 42 - Store 313(i) 141 - Branch 319 - 319: Label - 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 316 316 12 12 - LoopMerge 321 322 None - Branch 325 - 325: Label - 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 316 316 12 12 - 326: 125(int) Load 313(i) - 329: 48(bool) SLessThan 326 186 - BranchConditional 329 320 321 - 320: Label - 331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 332: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 333 333 12 12 - 330: 19(fvec4) Load 235(pos) - 335: 125(int) Load 313(i) - 338: 336(ptr) AccessChain 122(ubo) 334 335 - 339: 19(fvec4) Load 338 - 340: 16(float) Dot 330 339 - 342: 16(float) FAdd 340 341 - 343: 48(bool) FOrdLessThan 342 148 - SelectionMerge 345 None - BranchConditional 343 344 345 - 344: Label - 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 349 349 12 12 - ReturnValue 346 - 345: Label - 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - Branch 322 - 322: Label - 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 316 316 12 12 - 353: 125(int) Load 313(i) - 356: 125(int) IAdd 353 128 - Store 313(i) 356 - Branch 319 + 237(pos): 22(ptr) Variable Function + 315(i): 313(ptr) Variable Function + 235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 57 57 12 12 + 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 56 53(frustumCheck() + 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 240 240 12 12 + 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 238 237(pos) 42 + 270: 125(int) Load 267(gl_InvocationID) + 273: 271(ptr) AccessChain 262(gl_in) 270 141 + 274: 19(fvec4) Load 273 + Store 237(pos) 274 + 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 278 278 12 12 + 290: 281 Load 287(samplerHeight) + 301: 299(ptr) AccessChain 296(inUV) 141 + 302: 97(fvec2) Load 301 + 303: 19(fvec4) ImageSampleExplicitLod 290 302 Lod 148 + 304: 16(float) CompositeExtract 303 0 + 306: 217(ptr) AccessChain 122(ubo) 305 + 307: 16(float) Load 306 + 308: 16(float) FMul 304 307 + 309: 73(ptr) AccessChain 237(pos) 37 + 310: 16(float) Load 309 + 311: 16(float) FSub 310 308 + 312: 73(ptr) AccessChain 237(pos) 37 + Store 312 311 + 320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 + 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 316 315(i) 42 + Store 315(i) 141 + Branch 321 321: Label - 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 - 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 359 359 12 12 + 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 + LoopMerge 323 324 None + Branch 327 + 327: Label + 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 + 328: 125(int) Load 315(i) + 331: 48(bool) SLessThan 328 186 + BranchConditional 331 322 323 + 322: Label + 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 335 335 12 12 + 332: 19(fvec4) Load 237(pos) + 337: 125(int) Load 315(i) + 340: 338(ptr) AccessChain 122(ubo) 336 337 + 341: 19(fvec4) Load 340 + 342: 16(float) Dot 332 341 + 344: 16(float) FAdd 342 343 + 345: 48(bool) FOrdLessThan 344 148 + SelectionMerge 347 None + BranchConditional 345 346 347 + 346: Label + 351: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 348 + 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 349 349 12 12 + ReturnValue 350 + 347: Label + Branch 324 + 324: Label + 355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 356: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 318 318 12 12 + 354: 125(int) Load 315(i) + 357: 125(int) IAdd 354 128 + Store 315(i) 357 + Branch 321 + 323: Label + 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 56 + 359: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 360 360 12 12 ReturnValue 94 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.glsl.tese.out b/Test/baseResults/spv.debuginfo.glsl.tese.out index a5cb5029..bce85b48 100644 --- a/Test/baseResults/spv.debuginfo.glsl.tese.out +++ b/Test/baseResults/spv.debuginfo.glsl.tese.out @@ -1,7 +1,7 @@ spv.debuginfo.glsl.tese // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 357 +// Id's are bound by 359 Capability Tessellation Extension "SPV_KHR_non_semantic_info" @@ -183,34 +183,34 @@ void main() Decorate 93(outUV) Location 1 Decorate 116(inNormal) Location 0 Decorate 143(outNormal) Location 0 + Decorate 166(gl_PerVertex) Block MemberDecorate 166(gl_PerVertex) 0 BuiltIn Position MemberDecorate 166(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 166(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 166(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 166(gl_PerVertex) Block - Decorate 234(displacementMap) DescriptorSet 0 Decorate 234(displacementMap) Binding 1 + Decorate 234(displacementMap) DescriptorSet 0 Decorate 249 ArrayStride 16 + Decorate 251(UBO) Block MemberDecorate 251(UBO) 0 ColMajor - MemberDecorate 251(UBO) 0 Offset 0 MemberDecorate 251(UBO) 0 MatrixStride 16 + MemberDecorate 251(UBO) 0 Offset 0 MemberDecorate 251(UBO) 1 ColMajor - MemberDecorate 251(UBO) 1 Offset 64 MemberDecorate 251(UBO) 1 MatrixStride 16 + MemberDecorate 251(UBO) 1 Offset 64 MemberDecorate 251(UBO) 2 Offset 128 MemberDecorate 251(UBO) 3 Offset 144 MemberDecorate 251(UBO) 4 Offset 240 MemberDecorate 251(UBO) 5 Offset 244 MemberDecorate 251(UBO) 6 Offset 248 MemberDecorate 251(UBO) 7 Offset 256 - Decorate 251(UBO) Block - Decorate 273(ubo) DescriptorSet 0 Decorate 273(ubo) Binding 0 + Decorate 273(ubo) DescriptorSet 0 + Decorate 288(gl_PerVertex) Block MemberDecorate 288(gl_PerVertex) 0 BuiltIn Position MemberDecorate 288(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 288(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 288(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 288(gl_PerVertex) Block Decorate 316(outViewVec) Location 2 Decorate 324(outLightVec) Location 3 Decorate 337(outWorldPos) Location 5 @@ -390,6 +390,7 @@ void main() 344(outEyePos): 141(ptr) Variable Output 347: 7(int) Constant 77 345: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 346 63 18 347 12 21 346 344(outEyePos) 50 + 358: 7(int) Constant 78 14(main): 4 Function None 5 15: Label 36(uv1): 33(ptr) Variable Function @@ -543,5 +544,6 @@ void main() 355: 28(float) CompositeExtract 352 2 356: 62(fvec3) CompositeConstruct 353 354 355 Store 344(outEyePos) 356 + 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 358 358 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.glsl.vert.out b/Test/baseResults/spv.debuginfo.glsl.vert.out index e635c5ef..9eef2dd2 100644 --- a/Test/baseResults/spv.debuginfo.glsl.vert.out +++ b/Test/baseResults/spv.debuginfo.glsl.vert.out @@ -1,7 +1,7 @@ spv.debuginfo.glsl.vert // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 445 +// Id's are bound by 447 Capability Shader Extension "SPV_KHR_non_semantic_info" @@ -204,26 +204,26 @@ void main() Decorate 55(inUV) Location 2 Decorate 65(instanceTexIndex) Location 7 Decorate 83(instanceRot) Location 5 + Decorate 98(UBO) Block MemberDecorate 98(UBO) 0 ColMajor - MemberDecorate 98(UBO) 0 Offset 0 MemberDecorate 98(UBO) 0 MatrixStride 16 + MemberDecorate 98(UBO) 0 Offset 0 MemberDecorate 98(UBO) 1 ColMajor - MemberDecorate 98(UBO) 1 Offset 64 MemberDecorate 98(UBO) 1 MatrixStride 16 + MemberDecorate 98(UBO) 1 Offset 64 MemberDecorate 98(UBO) 2 Offset 128 MemberDecorate 98(UBO) 3 Offset 144 MemberDecorate 98(UBO) 4 Offset 148 - Decorate 98(UBO) Block - Decorate 114(ubo) DescriptorSet 0 Decorate 114(ubo) Binding 0 + Decorate 114(ubo) DescriptorSet 0 Decorate 305(inPos) Location 0 Decorate 323(instanceScale) Location 6 Decorate 328(instancePos) Location 4 + Decorate 339(gl_PerVertex) Block MemberDecorate 339(gl_PerVertex) 0 BuiltIn Position MemberDecorate 339(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 339(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 339(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 339(gl_PerVertex) Block Decorate 371(outNormal) Location 0 Decorate 390(inNormal) Location 1 Decorate 428(outLightVec) Location 4 @@ -399,6 +399,7 @@ void main() 437(outViewVec): 33(ptr) Variable Output 440: 7(int) Constant 104 438: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 439 32 18 440 12 21 439 437(outViewVec) 39 + 446: 7(int) Constant 105 14(main): 4 Function None 5 15: Label 76(s): 73(ptr) Variable Function @@ -662,5 +663,6 @@ void main() 443: 31(fvec3) VectorShuffle 441 441 0 1 2 444: 31(fvec3) FNegate 443 Store 437(outViewVec) 444 + 445: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 446 446 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.comp.out b/Test/baseResults/spv.debuginfo.hlsl.comp.out index e231ed3e..107c848b 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.comp.out +++ b/Test/baseResults/spv.debuginfo.hlsl.comp.out @@ -1,16 +1,16 @@ spv.debuginfo.hlsl.comp // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 970 +// Id's are bound by 992 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint GLCompute 6 "main" 965 + EntryPoint GLCompute 6 "main" 987 ExecutionMode 6 LocalSize 10 10 1 - 2: String "" + 2: String "spv.debuginfo.hlsl.comp" 9: String "float" 12: String "uint" 32: String "springForce" @@ -22,40 +22,225 @@ spv.debuginfo.hlsl.comp // OpModuleProcessed keep-uncalled // OpModuleProcessed hlsl-offsets #line 1 +/* +The MIT License (MIT) + +Copyright (c) 2022 Google LLC +Copyright (c) 2022 Sascha Willems + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +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 Software. + +THE SOFTWARE IS 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 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +struct Particle { + float4 pos; + float4 vel; + float4 uv; + float4 normal; + float pinned; +}; + +[[vk::binding(0)]] +StructuredBuffer particleIn; +[[vk::binding(1)]] +RWStructuredBuffer particleOut; + +struct UBO +{ + float deltaT; + float particleMass; + float springStiffness; + float damping; + float restDistH; + float restDistV; + float restDistD; + float sphereRadius; + float4 spherePos; + float4 gravity; + int2 particleCount; +}; + +cbuffer ubo : register(b2) +{ + UBO params; +}; + +#ifdef GLSLANG +layout ( push_constant ) cbuffer PushConstants +{ + uint calculateNormals; +} pushConstants; +#else +struct PushConstants +{ + uint calculateNormals; +}; + +[[vk::push_constant]] +PushConstants pushConstants; +#endif + +float3 springForce(float3 p0, float3 p1, float restDist) +{ + float3 dist = p0 - p1; + return normalize(dist) * params.springStiffness * (length(dist) - restDist); +} + +[numthreads(10, 10, 1)] +void main(uint3 id : SV_DispatchThreadID) +{ + uint index = id.y * params.particleCount.x + id.x; + if (index > params.particleCount.x * params.particleCount.y) + return; + + // Pinned? + if (particleIn[index].pinned == 1.0) { + particleOut[index].pos = particleOut[index].pos; + particleOut[index].vel = float4(0, 0, 0, 0); + return; + } + + // Initial force from gravity + float3 force = params.gravity.xyz * params.particleMass; + + float3 pos = particleIn[index].pos.xyz; + float3 vel = particleIn[index].vel.xyz; + + // Spring forces from neighboring particles + // left + if (id.x > 0) { + force += springForce(particleIn[index-1].pos.xyz, pos, params.restDistH); + } + // right + if (id.x < params.particleCount.x - 1) { + force += springForce(particleIn[index + 1].pos.xyz, pos, params.restDistH); + } + // upper + if (id.y < params.particleCount.y - 1) { + force += springForce(particleIn[index + params.particleCount.x].pos.xyz, pos, params.restDistV); + } + // lower + if (id.y > 0) { + force += springForce(particleIn[index - params.particleCount.x].pos.xyz, pos, params.restDistV); + } + // upper-left + if ((id.x > 0) && (id.y < params.particleCount.y - 1)) { + force += springForce(particleIn[index + params.particleCount.x - 1].pos.xyz, pos, params.restDistD); + } + // lower-left + if ((id.x > 0) && (id.y > 0)) { + force += springForce(particleIn[index - params.particleCount.x - 1].pos.xyz, pos, params.restDistD); + } + // upper-right + if ((id.x < params.particleCount.x - 1) && (id.y < params.particleCount.y - 1)) { + force += springForce(particleIn[index + params.particleCount.x + 1].pos.xyz, pos, params.restDistD); + } + // lower-right + if ((id.x < params.particleCount.x - 1) && (id.y > 0)) { + force += springForce(particleIn[index - params.particleCount.x + 1].pos.xyz, pos, params.restDistD); + } + + force += (-params.damping * vel); + + // Integrate + float3 f = force * (1.0 / params.particleMass); + particleOut[index].pos = float4(pos + vel * params.deltaT + 0.5 * f * params.deltaT * params.deltaT, 1.0); + particleOut[index].vel = float4(vel + f * params.deltaT, 0.0); + + // Sphere collision + float3 sphereDist = particleOut[index].pos.xyz - params.spherePos.xyz; + if (length(sphereDist) < params.sphereRadius + 0.01) { + // If the particle is inside the sphere, push it to the outer radius + particleOut[index].pos.xyz = params.spherePos.xyz + normalize(sphereDist) * (params.sphereRadius + 0.01); + // Cancel out velocity + particleOut[index].vel = float4(0, 0, 0, 0); + } + + // Normals + if (pushConstants.calculateNormals == 1) { + float3 normal = float3(0, 0, 0); + float3 a, b, c; + if (id.y > 0) { + if (id.x > 0) { + a = particleIn[index - 1].pos.xyz - pos; + b = particleIn[index - params.particleCount.x - 1].pos.xyz - pos; + c = particleIn[index - params.particleCount.x].pos.xyz - pos; + normal += cross(a,b) + cross(b,c); + } + if (id.x < params.particleCount.x - 1) { + a = particleIn[index - params.particleCount.x].pos.xyz - pos; + b = particleIn[index - params.particleCount.x + 1].pos.xyz - pos; + c = particleIn[index + 1].pos.xyz - pos; + normal += cross(a,b) + cross(b,c); + } + } + if (id.y < params.particleCount.y - 1) { + if (id.x > 0) { + a = particleIn[index + params.particleCount.x].pos.xyz - pos; + b = particleIn[index + params.particleCount.x - 1].pos.xyz - pos; + c = particleIn[index - 1].pos.xyz - pos; + normal += cross(a,b) + cross(b,c); + } + if (id.x < params.particleCount.x - 1) { + a = particleIn[index + 1].pos.xyz - pos; + b = particleIn[index + params.particleCount.x + 1].pos.xyz - pos; + c = particleIn[index + params.particleCount.x].pos.xyz - pos; + normal += cross(a,b) + cross(b,c); + } + } + particleOut[index].normal = float4(normalize(normal), 0.0f); + } +} " 42: String "p0" 48: String "p1" 52: String "restDist" 63: String "@main" 67: String "id" - 73: String "dist" - 87: String "int" - 93: String "sphereRadius" - 104: String "gravity" - 109: String "particleCount" - 112: String "UBO" - 115: String "params" - 119: String "ubo" - 146: String "index" - 172: String "bool" - 184: String "normal" - 191: String "pinned" - 195: String "Particle" - 201: String "@data" - 205: String "particleIn" - 226: String "particleOut" - 254: String "force" - 268: String "pos" - 278: String "vel" - 562: String "f" - 611: String "sphereDist" - 662: String "calculateNormals" - 666: String "PushConstants" - 670: String "pushConstants" - 673: String "$Global" + 75: String "dist" + 90: String "int" + 96: String "sphereRadius" + 107: String "gravity" + 112: String "particleCount" + 115: String "UBO" + 118: String "params" + 122: String "ubo" + 127: String "" + 151: String "index" + 178: String "bool" + 189: String "normal" + 196: String "pinned" + 200: String "Particle" + 206: String "@data" + 210: String "particleIn" + 232: String "particleOut" + 259: String "force" + 273: String "pos" + 283: String "vel" + 575: String "f" + 624: String "sphereDist" + 676: String "calculateNormals" + 680: String "PushConstants" + 684: String "pushConstants" + 687: String "$Global" 711: String "a" - 725: String "b" - 742: String "c" + 717: String "b" + 721: String "c" Name 6 "main" Name 30 "springForce(vf3;vf3;f1;" Name 27 "p0" @@ -63,113 +248,114 @@ spv.debuginfo.hlsl.comp Name 29 "restDist" Name 61 "@main(vu3;" Name 60 "id" - Name 71 "dist" - Name 91 "UBO" - MemberName 91(UBO) 0 "deltaT" - MemberName 91(UBO) 1 "particleMass" - MemberName 91(UBO) 2 "springStiffness" - MemberName 91(UBO) 3 "damping" - MemberName 91(UBO) 4 "restDistH" - MemberName 91(UBO) 5 "restDistV" - MemberName 91(UBO) 6 "restDistD" - MemberName 91(UBO) 7 "sphereRadius" - MemberName 91(UBO) 8 "spherePos" - MemberName 91(UBO) 9 "gravity" - MemberName 91(UBO) 10 "particleCount" - Name 113 "ubo" - MemberName 113(ubo) 0 "params" - Name 122 "" - Name 144 "index" - Name 182 "Particle" - MemberName 182(Particle) 0 "pos" - MemberName 182(Particle) 1 "vel" - MemberName 182(Particle) 2 "uv" - MemberName 182(Particle) 3 "normal" - MemberName 182(Particle) 4 "pinned" - Name 199 "particleIn" - MemberName 199(particleIn) 0 "@data" - Name 208 "particleIn" - Name 222 "particleOut" - MemberName 222(particleOut) 0 "@data" - Name 230 "particleOut" - Name 252 "force" - Name 266 "pos" - Name 276 "vel" - Name 298 "param" - Name 302 "param" + Name 73 "dist" + Name 94 "UBO" + MemberName 94(UBO) 0 "deltaT" + MemberName 94(UBO) 1 "particleMass" + MemberName 94(UBO) 2 "springStiffness" + MemberName 94(UBO) 3 "damping" + MemberName 94(UBO) 4 "restDistH" + MemberName 94(UBO) 5 "restDistV" + MemberName 94(UBO) 6 "restDistD" + MemberName 94(UBO) 7 "sphereRadius" + MemberName 94(UBO) 8 "spherePos" + MemberName 94(UBO) 9 "gravity" + MemberName 94(UBO) 10 "particleCount" + Name 116 "ubo" + MemberName 116(ubo) 0 "params" + Name 125 "" + Name 149 "index" + Name 187 "Particle" + MemberName 187(Particle) 0 "pos" + MemberName 187(Particle) 1 "vel" + MemberName 187(Particle) 2 "uv" + MemberName 187(Particle) 3 "normal" + MemberName 187(Particle) 4 "pinned" + Name 204 "particleIn" + MemberName 204(particleIn) 0 "@data" + Name 213 "particleIn" + Name 228 "particleOut" + MemberName 228(particleOut) 0 "@data" + Name 236 "particleOut" + Name 257 "force" + Name 271 "pos" + Name 281 "vel" Name 304 "param" - Name 327 "param" - Name 331 "param" - Name 333 "param" - Name 360 "param" - Name 364 "param" - Name 366 "param" - Name 388 "param" - Name 392 "param" - Name 394 "param" - Name 426 "param" - Name 430 "param" - Name 432 "param" - Name 459 "param" - Name 463 "param" - Name 465 "param" - Name 500 "param" - Name 504 "param" - Name 506 "param" - Name 537 "param" - Name 541 "param" - Name 543 "param" - Name 560 "f" - Name 609 "sphereDist" - Name 660 "PushConstants" - MemberName 660(PushConstants) 0 "calculateNormals" - Name 668 "$Global" - MemberName 668($Global) 0 "pushConstants" - Name 676 "" - Name 687 "normal" + Name 308 "param" + Name 310 "param" + Name 334 "param" + Name 338 "param" + Name 340 "param" + Name 368 "param" + Name 372 "param" + Name 374 "param" + Name 397 "param" + Name 401 "param" + Name 403 "param" + Name 436 "param" + Name 440 "param" + Name 442 "param" + Name 470 "param" + Name 474 "param" + Name 476 "param" + Name 512 "param" + Name 516 "param" + Name 518 "param" + Name 550 "param" + Name 554 "param" + Name 556 "param" + Name 573 "f" + Name 622 "sphereDist" + Name 674 "PushConstants" + MemberName 674(PushConstants) 0 "calculateNormals" + Name 682 "$Global" + MemberName 682($Global) 0 "pushConstants" + Name 690 "" + Name 702 "normal" Name 709 "a" - Name 723 "b" - Name 740 "c" - Name 963 "id" - Name 965 "id" - Name 967 "param" - MemberDecorate 91(UBO) 0 Offset 0 - MemberDecorate 91(UBO) 1 Offset 4 - MemberDecorate 91(UBO) 2 Offset 8 - MemberDecorate 91(UBO) 3 Offset 12 - MemberDecorate 91(UBO) 4 Offset 16 - MemberDecorate 91(UBO) 5 Offset 20 - MemberDecorate 91(UBO) 6 Offset 24 - MemberDecorate 91(UBO) 7 Offset 28 - MemberDecorate 91(UBO) 8 Offset 32 - MemberDecorate 91(UBO) 9 Offset 48 - MemberDecorate 91(UBO) 10 Offset 64 - MemberDecorate 113(ubo) 0 Offset 0 - Decorate 113(ubo) Block - Decorate 122 DescriptorSet 0 - Decorate 122 Binding 2 - MemberDecorate 182(Particle) 0 Offset 0 - MemberDecorate 182(Particle) 1 Offset 16 - MemberDecorate 182(Particle) 2 Offset 32 - MemberDecorate 182(Particle) 3 Offset 48 - MemberDecorate 182(Particle) 4 Offset 64 - Decorate 197 ArrayStride 80 - MemberDecorate 199(particleIn) 0 NonWritable - MemberDecorate 199(particleIn) 0 Offset 0 - Decorate 199(particleIn) BufferBlock - Decorate 208(particleIn) DescriptorSet 0 - Decorate 208(particleIn) Binding 0 - Decorate 220 ArrayStride 80 - MemberDecorate 222(particleOut) 0 Offset 0 - Decorate 222(particleOut) BufferBlock - Decorate 230(particleOut) DescriptorSet 0 - Decorate 230(particleOut) Binding 1 - MemberDecorate 660(PushConstants) 0 Offset 0 - MemberDecorate 668($Global) 0 Offset 0 - Decorate 668($Global) Block - Decorate 676 DescriptorSet 0 - Decorate 676 Binding 3 - Decorate 965(id) BuiltIn GlobalInvocationId + Name 715 "b" + Name 719 "c" + Name 985 "id" + Name 987 "id" + Name 989 "param" + MemberDecorate 94(UBO) 0 Offset 0 + MemberDecorate 94(UBO) 1 Offset 4 + MemberDecorate 94(UBO) 2 Offset 8 + MemberDecorate 94(UBO) 3 Offset 12 + MemberDecorate 94(UBO) 4 Offset 16 + MemberDecorate 94(UBO) 5 Offset 20 + MemberDecorate 94(UBO) 6 Offset 24 + MemberDecorate 94(UBO) 7 Offset 28 + MemberDecorate 94(UBO) 8 Offset 32 + MemberDecorate 94(UBO) 9 Offset 48 + MemberDecorate 94(UBO) 10 Offset 64 + Decorate 116(ubo) Block + MemberDecorate 116(ubo) 0 Offset 0 + Decorate 125 Binding 2 + Decorate 125 DescriptorSet 0 + MemberDecorate 187(Particle) 0 Offset 0 + MemberDecorate 187(Particle) 1 Offset 16 + MemberDecorate 187(Particle) 2 Offset 32 + MemberDecorate 187(Particle) 3 Offset 48 + MemberDecorate 187(Particle) 4 Offset 64 + Decorate 202 ArrayStride 80 + Decorate 204(particleIn) BufferBlock + MemberDecorate 204(particleIn) 0 NonWritable + MemberDecorate 204(particleIn) 0 Offset 0 + Decorate 213(particleIn) NonWritable + Decorate 213(particleIn) Binding 0 + Decorate 213(particleIn) DescriptorSet 0 + Decorate 226 ArrayStride 80 + Decorate 228(particleOut) BufferBlock + MemberDecorate 228(particleOut) 0 Offset 0 + Decorate 236(particleOut) Binding 1 + Decorate 236(particleOut) DescriptorSet 0 + MemberDecorate 674(PushConstants) 0 Offset 0 + Decorate 682($Global) Block + MemberDecorate 682($Global) 0 Offset 0 + Decorate 690 Binding 3 + Decorate 690 DescriptorSet 0 + Decorate 987(id) BuiltIn GlobalInvocationId 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -210,197 +396,217 @@ spv.debuginfo.hlsl.comp 65: 11(int) Constant 82 64: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 63 59 34 65 16 37 63 17 65 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 67 55 34 65 16 64 39 38 - 74: 11(int) Constant 76 - 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 73 19 34 74 16 33 39 - 82: 11(int) Constant 77 - 84: TypeVector 8(float) 4 - 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 39 - 86: TypeInt 32 1 - 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 87 14 39 16 - 89: TypeVector 86(int) 2 - 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 88 49 - 91(UBO): TypeStruct 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 84(fvec4) 84(fvec4) 89(ivec2) - 94: 11(int) Constant 48 - 95: 11(int) Constant 20 - 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 93 10 34 94 95 16 16 17 - 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 93 10 34 94 95 16 16 17 - 97: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 93 10 34 94 95 16 16 17 - 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 93 10 34 94 95 16 16 17 - 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 93 10 34 94 95 16 16 17 - 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 93 10 34 94 95 16 16 17 - 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 93 10 34 94 95 16 16 17 - 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 93 10 34 94 95 16 16 17 - 105: 11(int) Constant 50 - 106: 11(int) Constant 16 - 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 104 85 34 105 106 16 16 17 - 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 104 85 34 105 106 16 16 17 - 110: 11(int) Constant 51 - 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 109 90 34 110 95 16 16 17 - 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 112 38 34 82 16 37 112 16 17 92 96 97 98 99 100 101 102 103 107 108 - 113(ubo): TypeStruct 91(UBO) - 116: 11(int) Constant 56 - 117: 11(int) Constant 12 - 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 115 111 34 116 117 16 16 17 - 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 119 38 34 82 16 37 119 16 17 114 - 120: TypePointer Uniform 113(ubo) - 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 118 49 16 - 122: 120(ptr) Variable Uniform - 124: 11(int) Constant 8 - 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 118 34 82 16 37 2 122 124 - 125: 86(int) Constant 0 - 126: 86(int) Constant 2 - 127: TypePointer Uniform 8(float) - 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 49 16 - 142: TypePointer Function 11(int) - 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 21 16 - 147: 11(int) Constant 83 - 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 146 13 34 147 16 64 39 - 152: 86(int) Constant 10 - 153: TypePointer Uniform 86(int) - 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 88 49 16 - 164: 11(int) Constant 84 - 171: TypeBool - 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 172 14 49 16 - 179: 11(int) Constant 85 - 182(Particle): TypeStruct 84(fvec4) 84(fvec4) 84(fvec4) 84(fvec4) 8(float) - 185: 11(int) Constant 30 - 186: 11(int) Constant 15 - 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 184 85 34 185 186 16 16 17 - 187: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 184 85 34 185 186 16 16 17 - 188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 184 85 34 185 186 16 16 17 - 189: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 184 85 34 185 186 16 16 17 - 192: 11(int) Constant 31 - 193: 11(int) Constant 14 - 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 191 10 34 192 193 16 16 17 - 196: 11(int) Constant 88 - 194: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 195 38 34 196 16 37 195 16 17 183 187 188 189 190 - 197: TypeRuntimeArray 182(Particle) - 198: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 194 16 - 199(particleIn): TypeStruct 197 - 202: 11(int) Constant 35 - 203: 11(int) Constant 28 - 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 201 198 34 202 203 16 16 17 - 204: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 205 38 34 196 16 37 205 16 17 200 - 206: TypePointer Uniform 199(particleIn) - 207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 204 49 16 - 208(particleIn): 206(ptr) Variable Uniform - 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 205 204 34 196 16 37 205 208(particleIn) 124 - 213: 86(int) Constant 4 - 216: 8(float) Constant 1065353216 - 220: TypeRuntimeArray 182(Particle) - 221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 194 16 -222(particleOut): TypeStruct 220 - 224: 11(int) Constant 37 - 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 201 221 34 224 185 16 16 17 - 227: 11(int) Constant 89 - 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 226 38 34 227 16 37 226 16 17 223 - 228: TypePointer Uniform 222(particleOut) - 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 225 49 16 -230(particleOut): 228(ptr) Variable Uniform - 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 226 225 34 227 16 37 226 230(particleOut) 124 - 236: TypePointer Uniform 84(fvec4) - 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 85 49 16 - 243: 11(int) Constant 90 - 244: 86(int) Constant 1 - 245: 8(float) Constant 0 - 246: 84(fvec4) ConstantComposite 245 245 245 245 - 249: 11(int) Constant 91 - 255: 11(int) Constant 95 - 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 254 19 34 255 16 64 39 - 259: 86(int) Constant 9 - 269: 11(int) Constant 97 - 267: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 268 19 34 269 16 64 39 - 279: 11(int) Constant 98 - 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 278 19 34 279 16 64 39 - 288: 11(int) Constant 102 - 296: 11(int) Constant 103 - 313: 11(int) Constant 106 - 325: 11(int) Constant 107 - 342: 11(int) Constant 110 - 354: 11(int) Constant 111 - 359: 86(int) Constant 5 - 375: 11(int) Constant 114 - 383: 11(int) Constant 115 - 403: 11(int) Constant 118 - 419: 11(int) Constant 119 - 425: 86(int) Constant 6 - 441: 11(int) Constant 122 - 453: 11(int) Constant 123 - 474: 11(int) Constant 126 - 494: 11(int) Constant 127 - 515: 11(int) Constant 130 - 531: 11(int) Constant 131 - 549: 86(int) Constant 3 - 553: 11(int) Constant 134 - 563: 11(int) Constant 137 - 561: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 562 19 34 563 16 64 39 - 573: 11(int) Constant 138 - 580: 8(float) Constant 1056964608 - 597: 11(int) Constant 139 - 612: 11(int) Constant 142 - 610: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 611 19 34 612 16 64 39 - 619: 86(int) Constant 8 - 626: 11(int) Constant 143 - 628: 86(int) Constant 7 - 631: 8(float) Constant 1008981770 - 639: 11(int) Constant 145 - 658: 11(int) Constant 147 -660(PushConstants): TypeStruct 11(int) - 663: 11(int) Constant 67 - 664: 11(int) Constant 23 - 661: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 662 13 34 663 664 16 16 17 - 667: 11(int) Constant 151 - 665: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 666 38 34 667 16 37 666 16 17 661 - 668($Global): TypeStruct 660(PushConstants) - 671: 11(int) Constant 71 - 669: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 670 665 34 671 186 16 16 17 - 672: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 673 38 34 667 16 37 673 16 17 669 - 674: TypePointer Uniform 668($Global) - 675: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 672 49 16 - 676: 674(ptr) Variable Uniform - 677: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 672 34 667 16 37 2 676 124 - 678: TypePointer Uniform 11(int) - 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 49 16 - 689: 11(int) Constant 152 - 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 184 19 34 689 16 64 39 - 693: 18(fvec3) ConstantComposite 245 245 245 - 696: 11(int) Constant 154 - 704: 11(int) Constant 155 - 712: 11(int) Constant 156 - 710: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 711 19 34 712 16 64 39 - 726: 11(int) Constant 157 - 724: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 725 19 34 726 16 64 39 - 743: 11(int) Constant 158 - 741: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 742 19 34 743 16 64 39 - 758: 11(int) Constant 159 - 770: 11(int) Constant 161 - 782: 11(int) Constant 162 - 794: 11(int) Constant 163 - 807: 11(int) Constant 164 - 816: 11(int) Constant 165 - 829: 11(int) Constant 168 - 841: 11(int) Constant 169 - 849: 11(int) Constant 170 - 861: 11(int) Constant 171 - 874: 11(int) Constant 172 - 883: 11(int) Constant 173 - 895: 11(int) Constant 175 - 907: 11(int) Constant 176 - 916: 11(int) Constant 177 - 929: 11(int) Constant 178 - 941: 11(int) Constant 179 - 954: 11(int) Constant 182 - 964: TypePointer Input 54(ivec3) - 965(id): 964(ptr) Variable Input + 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 33 + 76: 11(int) Constant 76 + 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 75 19 34 76 16 72 39 + 85: 11(int) Constant 77 + 87: TypeVector 8(float) 4 + 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 39 + 89: TypeInt 32 1 + 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 90 14 39 16 + 92: TypeVector 89(int) 2 + 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 91 49 + 94(UBO): TypeStruct 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 8(float) 87(fvec4) 87(fvec4) 92(ivec2) + 97: 11(int) Constant 48 + 98: 11(int) Constant 20 + 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17 + 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17 + 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17 + 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17 + 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17 + 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17 + 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17 + 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 96 10 34 97 98 16 16 17 + 108: 11(int) Constant 50 + 109: 11(int) Constant 16 + 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 107 88 34 108 109 16 16 17 + 110: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 107 88 34 108 109 16 16 17 + 113: 11(int) Constant 51 + 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 112 93 34 113 98 16 16 17 + 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 115 38 34 85 16 37 115 16 17 95 99 100 101 102 103 104 105 106 110 111 + 116(ubo): TypeStruct 94(UBO) + 119: 11(int) Constant 56 + 120: 11(int) Constant 12 + 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 118 114 34 119 120 16 16 17 + 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 122 38 34 85 16 37 122 16 17 117 + 123: TypePointer Uniform 116(ubo) + 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 121 49 16 + 125: 123(ptr) Variable Uniform + 128: 11(int) Constant 8 + 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 127 121 34 85 16 37 127 125 128 + 129: 89(int) Constant 0 + 130: 89(int) Constant 2 + 131: TypePointer Uniform 8(float) + 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 49 16 + 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 64 + 147: TypePointer Function 11(int) + 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 21 16 + 152: 11(int) Constant 83 + 150: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 151 13 34 152 16 146 39 + 158: 89(int) Constant 10 + 159: TypePointer Uniform 89(int) + 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 91 49 16 + 170: 11(int) Constant 84 + 177: TypeBool + 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 178 14 49 16 + 185: 11(int) Constant 85 + 187(Particle): TypeStruct 87(fvec4) 87(fvec4) 87(fvec4) 87(fvec4) 8(float) + 190: 11(int) Constant 30 + 191: 11(int) Constant 15 + 188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 189 88 34 190 191 16 16 17 + 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 189 88 34 190 191 16 16 17 + 193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 189 88 34 190 191 16 16 17 + 194: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 189 88 34 190 191 16 16 17 + 197: 11(int) Constant 31 + 198: 11(int) Constant 14 + 195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 196 10 34 197 198 16 16 17 + 201: 11(int) Constant 88 + 199: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 200 38 34 201 16 37 200 16 17 188 192 193 194 195 + 202: TypeRuntimeArray 187(Particle) + 203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 199 16 + 204(particleIn): TypeStruct 202 + 207: 11(int) Constant 35 + 208: 11(int) Constant 28 + 205: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 206 203 34 207 208 16 16 17 + 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 210 38 34 201 16 37 210 16 17 205 + 211: TypePointer Uniform 204(particleIn) + 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 209 49 16 + 213(particleIn): 211(ptr) Variable Uniform + 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 210 209 34 201 16 37 210 213(particleIn) 128 + 218: 89(int) Constant 4 + 221: 8(float) Constant 1065353216 + 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 226: TypeRuntimeArray 187(Particle) + 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 199 16 +228(particleOut): TypeStruct 226 + 230: 11(int) Constant 37 + 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 206 227 34 230 190 16 16 17 + 233: 11(int) Constant 89 + 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 232 38 34 233 16 37 232 16 17 229 + 234: TypePointer Uniform 228(particleOut) + 235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 231 49 16 +236(particleOut): 234(ptr) Variable Uniform + 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 232 231 34 233 16 37 232 236(particleOut) 128 + 242: TypePointer Uniform 87(fvec4) + 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 88 49 16 + 249: 11(int) Constant 90 + 250: 89(int) Constant 1 + 251: 8(float) Constant 0 + 252: 87(fvec4) ConstantComposite 251 251 251 251 + 255: 11(int) Constant 91 + 260: 11(int) Constant 95 + 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 259 19 34 260 16 146 39 + 264: 89(int) Constant 9 + 274: 11(int) Constant 97 + 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 273 19 34 274 16 146 39 + 284: 11(int) Constant 98 + 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 283 19 34 284 16 146 39 + 293: 11(int) Constant 102 + 298: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 302: 11(int) Constant 103 + 319: 11(int) Constant 106 + 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 332: 11(int) Constant 107 + 349: 11(int) Constant 110 + 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 362: 11(int) Constant 111 + 367: 89(int) Constant 5 + 383: 11(int) Constant 114 + 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 392: 11(int) Constant 115 + 412: 11(int) Constant 118 + 425: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 429: 11(int) Constant 119 + 435: 89(int) Constant 6 + 451: 11(int) Constant 122 + 460: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 464: 11(int) Constant 123 + 485: 11(int) Constant 126 + 502: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 506: 11(int) Constant 127 + 527: 11(int) Constant 130 + 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 544: 11(int) Constant 131 + 562: 89(int) Constant 3 + 566: 11(int) Constant 134 + 576: 11(int) Constant 137 + 574: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 575 19 34 576 16 146 39 + 586: 11(int) Constant 138 + 593: 8(float) Constant 1056964608 + 610: 11(int) Constant 139 + 625: 11(int) Constant 142 + 623: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 624 19 34 625 16 146 39 + 632: 89(int) Constant 8 + 639: 11(int) Constant 143 + 641: 89(int) Constant 7 + 644: 8(float) Constant 1008981770 + 649: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 653: 11(int) Constant 145 + 672: 11(int) Constant 147 +674(PushConstants): TypeStruct 11(int) + 677: 11(int) Constant 67 + 678: 11(int) Constant 23 + 675: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 676 13 34 677 678 16 16 17 + 681: 11(int) Constant 151 + 679: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 680 38 34 681 16 37 680 16 17 675 + 682($Global): TypeStruct 674(PushConstants) + 685: 11(int) Constant 71 + 683: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 684 679 34 685 191 16 16 17 + 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 687 38 34 681 16 37 687 16 17 683 + 688: TypePointer Uniform 682($Global) + 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 686 49 16 + 690: 688(ptr) Variable Uniform + 691: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 127 686 34 681 16 37 127 690 128 + 692: TypePointer Uniform 11(int) + 693: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 49 16 + 701: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 146 + 704: 11(int) Constant 152 + 703: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 189 19 34 704 16 701 39 + 708: 18(fvec3) ConstantComposite 251 251 251 + 712: 11(int) Constant 153 + 710: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 711 19 34 712 16 701 39 + 716: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 717 19 34 712 16 701 39 + 720: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 721 19 34 712 16 701 39 + 725: 11(int) Constant 154 + 730: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 701 + 734: 11(int) Constant 155 + 739: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 730 + 743: 11(int) Constant 156 + 752: 11(int) Constant 157 + 765: 11(int) Constant 158 + 777: 11(int) Constant 159 + 789: 11(int) Constant 161 + 798: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 730 + 802: 11(int) Constant 162 + 814: 11(int) Constant 163 + 827: 11(int) Constant 164 + 836: 11(int) Constant 165 + 848: 11(int) Constant 168 + 857: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 701 + 861: 11(int) Constant 169 + 866: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 857 + 870: 11(int) Constant 170 + 882: 11(int) Constant 171 + 895: 11(int) Constant 172 + 904: 11(int) Constant 173 + 916: 11(int) Constant 175 + 925: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 34 16 16 857 + 929: 11(int) Constant 176 + 938: 11(int) Constant 177 + 951: 11(int) Constant 178 + 963: 11(int) Constant 179 + 975: 11(int) Constant 182 + 986: TypePointer Input 54(ivec3) + 987(id): 986(ptr) Variable Input 6(main): 4 Function None 5 7: Label - 963(id): 56(ptr) Variable Function - 967(param): 56(ptr) Variable Function - 966: 54(ivec3) Load 965(id) - Store 963(id) 966 - 968: 54(ivec3) Load 963(id) - Store 967(param) 968 - 969: 4 FunctionCall 61(@main(vu3;) 967(param) + 985(id): 56(ptr) Variable Function + 989(param): 56(ptr) Variable Function + 988: 54(ivec3) Load 987(id) + Store 985(id) 988 + 990: 54(ivec3) Load 985(id) + Store 989(param) 990 + 991: 4 FunctionCall 61(@main(vu3;) 989(param) Return FunctionEnd 30(springForce(vf3;vf3;f1;): 18(fvec3) Function None 25 @@ -408,815 +614,817 @@ spv.debuginfo.hlsl.comp 28(p1): 20(ptr) FunctionParameter 29(restDist): 23(ptr) FunctionParameter 31: Label - 71(dist): 20(ptr) Variable Function + 73(dist): 20(ptr) Variable Function 45: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 33 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 36 36 16 16 43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 41 27(p0) 44 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 47 28(p1) 44 53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 51 29(restDist) 44 - 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 33 30(springForce(vf3;vf3;f1;) - 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 74 74 16 16 - 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 72 71(dist) 44 - 77: 18(fvec3) Load 27(p0) - 78: 18(fvec3) Load 28(p1) - 79: 18(fvec3) FSub 77 78 - Store 71(dist) 79 - 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 82 82 16 16 - 80: 18(fvec3) Load 71(dist) - 83: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 80 - 129: 127(ptr) AccessChain 122 125 126 - 130: 8(float) Load 129 - 131: 18(fvec3) VectorTimesScalar 83 130 - 132: 18(fvec3) Load 71(dist) - 133: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 132 - 134: 8(float) Load 29(restDist) - 135: 8(float) FSub 133 134 - 136: 18(fvec3) VectorTimesScalar 131 135 - ReturnValue 136 + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 33 30(springForce(vf3;vf3;f1;) + 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 72 + 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 76 76 16 16 + 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 74 73(dist) 44 + 80: 18(fvec3) Load 27(p0) + 81: 18(fvec3) Load 28(p1) + 82: 18(fvec3) FSub 80 81 + Store 73(dist) 82 + 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 85 85 16 16 + 83: 18(fvec3) Load 73(dist) + 86: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 83 + 133: 131(ptr) AccessChain 125 129 130 + 134: 8(float) Load 133 + 135: 18(fvec3) VectorTimesScalar 86 134 + 136: 18(fvec3) Load 73(dist) + 137: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 136 + 138: 8(float) Load 29(restDist) + 139: 8(float) FSub 137 138 + 140: 18(fvec3) VectorTimesScalar 135 139 + ReturnValue 140 FunctionEnd 61(@main(vu3;): 4 Function None 58 60(id): 56(ptr) FunctionParameter 62: Label - 144(index): 142(ptr) Variable Function - 252(force): 20(ptr) Variable Function - 266(pos): 20(ptr) Variable Function - 276(vel): 20(ptr) Variable Function - 298(param): 20(ptr) Variable Function - 302(param): 20(ptr) Variable Function - 304(param): 23(ptr) Variable Function - 327(param): 20(ptr) Variable Function - 331(param): 20(ptr) Variable Function - 333(param): 23(ptr) Variable Function - 360(param): 20(ptr) Variable Function - 364(param): 20(ptr) Variable Function - 366(param): 23(ptr) Variable Function - 388(param): 20(ptr) Variable Function - 392(param): 20(ptr) Variable Function - 394(param): 23(ptr) Variable Function - 426(param): 20(ptr) Variable Function - 430(param): 20(ptr) Variable Function - 432(param): 23(ptr) Variable Function - 459(param): 20(ptr) Variable Function - 463(param): 20(ptr) Variable Function - 465(param): 23(ptr) Variable Function - 500(param): 20(ptr) Variable Function - 504(param): 20(ptr) Variable Function - 506(param): 23(ptr) Variable Function - 537(param): 20(ptr) Variable Function - 541(param): 20(ptr) Variable Function - 543(param): 23(ptr) Variable Function - 560(f): 20(ptr) Variable Function - 609(sphereDist): 20(ptr) Variable Function - 687(normal): 20(ptr) Variable Function + 149(index): 147(ptr) Variable Function + 257(force): 20(ptr) Variable Function + 271(pos): 20(ptr) Variable Function + 281(vel): 20(ptr) Variable Function + 304(param): 20(ptr) Variable Function + 308(param): 20(ptr) Variable Function + 310(param): 23(ptr) Variable Function + 334(param): 20(ptr) Variable Function + 338(param): 20(ptr) Variable Function + 340(param): 23(ptr) Variable Function + 368(param): 20(ptr) Variable Function + 372(param): 20(ptr) Variable Function + 374(param): 23(ptr) Variable Function + 397(param): 20(ptr) Variable Function + 401(param): 20(ptr) Variable Function + 403(param): 23(ptr) Variable Function + 436(param): 20(ptr) Variable Function + 440(param): 20(ptr) Variable Function + 442(param): 23(ptr) Variable Function + 470(param): 20(ptr) Variable Function + 474(param): 20(ptr) Variable Function + 476(param): 23(ptr) Variable Function + 512(param): 20(ptr) Variable Function + 516(param): 20(ptr) Variable Function + 518(param): 23(ptr) Variable Function + 550(param): 20(ptr) Variable Function + 554(param): 20(ptr) Variable Function + 556(param): 23(ptr) Variable Function + 573(f): 20(ptr) Variable Function + 622(sphereDist): 20(ptr) Variable Function + 702(normal): 20(ptr) Variable Function 709(a): 20(ptr) Variable Function - 723(b): 20(ptr) Variable Function - 740(c): 20(ptr) Variable Function + 715(b): 20(ptr) Variable Function + 719(c): 20(ptr) Variable Function 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 65 65 16 16 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 66 60(id) 44 - 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 65 65 16 16 - 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 64 61(@main(vu3;) - 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 147 147 16 16 - 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 145 144(index) 44 - 150: 142(ptr) AccessChain 60(id) 38 - 151: 11(int) Load 150 - 155: 153(ptr) AccessChain 122 125 152 16 - 156: 86(int) Load 155 - 157: 11(int) Bitcast 156 - 158: 11(int) IMul 151 157 - 159: 142(ptr) AccessChain 60(id) 16 - 160: 11(int) Load 159 - 161: 11(int) IAdd 158 160 - Store 144(index) 161 - 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 164 164 16 16 - 162: 11(int) Load 144(index) - 165: 153(ptr) AccessChain 122 125 152 16 - 166: 86(int) Load 165 - 167: 153(ptr) AccessChain 122 125 152 38 - 168: 86(int) Load 167 - 169: 86(int) IMul 166 168 - 170: 11(int) Bitcast 169 - 174: 171(bool) UGreaterThan 162 170 - SelectionMerge 176 None - BranchConditional 174 175 176 - 175: Label - 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 179 179 16 16 + 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 64 61(@main(vu3;) + 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 152 152 16 16 + 153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 150 149(index) 44 + 156: 147(ptr) AccessChain 60(id) 38 + 157: 11(int) Load 156 + 161: 159(ptr) AccessChain 125 129 158 16 + 162: 89(int) Load 161 + 163: 11(int) Bitcast 162 + 164: 11(int) IMul 157 163 + 165: 147(ptr) AccessChain 60(id) 16 + 166: 11(int) Load 165 + 167: 11(int) IAdd 164 166 + Store 149(index) 167 + 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 170 170 16 16 + 168: 11(int) Load 149(index) + 171: 159(ptr) AccessChain 125 129 158 16 + 172: 89(int) Load 171 + 173: 159(ptr) AccessChain 125 129 158 38 + 174: 89(int) Load 173 + 175: 89(int) IMul 172 174 + 176: 11(int) Bitcast 175 + 180: 177(bool) UGreaterThan 168 176 + SelectionMerge 182 None + BranchConditional 180 181 182 + 181: Label + 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 185 185 16 16 Return - 176: Label - 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 196 196 16 16 - 210: 11(int) Load 144(index) - 214: 127(ptr) AccessChain 208(particleIn) 125 210 213 - 215: 8(float) Load 214 - 217: 171(bool) FOrdEqual 215 216 - SelectionMerge 219 None - BranchConditional 217 218 219 - 218: Label - 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 227 227 16 16 - 232: 11(int) Load 144(index) - 235: 11(int) Load 144(index) - 238: 236(ptr) AccessChain 230(particleOut) 125 235 125 - 239: 84(fvec4) Load 238 - 240: 236(ptr) AccessChain 230(particleOut) 125 232 125 - Store 240 239 - 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 243 243 16 16 - 241: 11(int) Load 144(index) - 247: 236(ptr) AccessChain 230(particleOut) 125 241 244 - Store 247 246 + 182: Label + 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 201 201 16 16 + 215: 11(int) Load 149(index) + 219: 131(ptr) AccessChain 213(particleIn) 129 215 218 + 220: 8(float) Load 219 + 222: 177(bool) FOrdEqual 220 221 + SelectionMerge 224 None + BranchConditional 222 223 224 + 223: Label + 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 225 + 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 233 233 16 16 + 238: 11(int) Load 149(index) + 241: 11(int) Load 149(index) + 244: 242(ptr) AccessChain 236(particleOut) 129 241 129 + 245: 87(fvec4) Load 244 + 246: 242(ptr) AccessChain 236(particleOut) 129 238 129 + Store 246 245 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 249 249 16 16 + 247: 11(int) Load 149(index) + 253: 242(ptr) AccessChain 236(particleOut) 129 247 250 + Store 253 252 + 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 255 255 16 16 Return - 219: Label - 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 255 255 16 16 - 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 253 252(force) 44 - 260: 236(ptr) AccessChain 122 125 259 - 261: 84(fvec4) Load 260 - 262: 18(fvec3) VectorShuffle 261 261 0 1 2 - 263: 127(ptr) AccessChain 122 125 244 - 264: 8(float) Load 263 - 265: 18(fvec3) VectorTimesScalar 262 264 - Store 252(force) 265 - 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 269 269 16 16 - 270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 267 266(pos) 44 - 272: 11(int) Load 144(index) - 273: 236(ptr) AccessChain 208(particleIn) 125 272 125 - 274: 84(fvec4) Load 273 - 275: 18(fvec3) VectorShuffle 274 274 0 1 2 - Store 266(pos) 275 - 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 279 279 16 16 - 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 277 276(vel) 44 - 282: 11(int) Load 144(index) - 283: 236(ptr) AccessChain 208(particleIn) 125 282 244 - 284: 84(fvec4) Load 283 - 285: 18(fvec3) VectorShuffle 284 284 0 1 2 - Store 276(vel) 285 - 287: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 288 288 16 16 - 286: 142(ptr) AccessChain 60(id) 16 - 289: 11(int) Load 286 - 290: 171(bool) UGreaterThan 289 16 - SelectionMerge 292 None - BranchConditional 290 291 292 - 291: Label - 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 296 296 16 16 - 293: 11(int) Load 144(index) - 297: 11(int) ISub 293 38 - 299: 236(ptr) AccessChain 208(particleIn) 125 297 125 - 300: 84(fvec4) Load 299 - 301: 18(fvec3) VectorShuffle 300 300 0 1 2 - Store 298(param) 301 - 303: 18(fvec3) Load 266(pos) - Store 302(param) 303 - 305: 127(ptr) AccessChain 122 125 213 - 306: 8(float) Load 305 - Store 304(param) 306 - 307: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 298(param) 302(param) 304(param) - 308: 18(fvec3) Load 252(force) - 309: 18(fvec3) FAdd 308 307 - Store 252(force) 309 - Branch 292 - 292: Label - 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 313 313 16 16 - 310: 142(ptr) AccessChain 60(id) 16 - 314: 11(int) Load 310 - 315: 153(ptr) AccessChain 122 125 152 16 - 316: 86(int) Load 315 - 317: 86(int) ISub 316 244 - 318: 11(int) Bitcast 317 - 319: 171(bool) ULessThan 314 318 - SelectionMerge 321 None - BranchConditional 319 320 321 - 320: Label - 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 325 325 16 16 - 322: 11(int) Load 144(index) - 326: 11(int) IAdd 322 38 - 328: 236(ptr) AccessChain 208(particleIn) 125 326 125 - 329: 84(fvec4) Load 328 - 330: 18(fvec3) VectorShuffle 329 329 0 1 2 - Store 327(param) 330 - 332: 18(fvec3) Load 266(pos) - Store 331(param) 332 - 334: 127(ptr) AccessChain 122 125 213 - 335: 8(float) Load 334 - Store 333(param) 335 - 336: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 327(param) 331(param) 333(param) - 337: 18(fvec3) Load 252(force) - 338: 18(fvec3) FAdd 337 336 - Store 252(force) 338 - Branch 321 - 321: Label - 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 341: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 342 342 16 16 - 339: 142(ptr) AccessChain 60(id) 38 - 343: 11(int) Load 339 - 344: 153(ptr) AccessChain 122 125 152 38 - 345: 86(int) Load 344 - 346: 86(int) ISub 345 244 - 347: 11(int) Bitcast 346 - 348: 171(bool) ULessThan 343 347 - SelectionMerge 350 None - BranchConditional 348 349 350 - 349: Label - 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 353: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 354 354 16 16 - 351: 11(int) Load 144(index) - 355: 153(ptr) AccessChain 122 125 152 16 - 356: 86(int) Load 355 - 357: 11(int) Bitcast 356 - 358: 11(int) IAdd 351 357 - 361: 236(ptr) AccessChain 208(particleIn) 125 358 125 - 362: 84(fvec4) Load 361 - 363: 18(fvec3) VectorShuffle 362 362 0 1 2 - Store 360(param) 363 - 365: 18(fvec3) Load 266(pos) - Store 364(param) 365 - 367: 127(ptr) AccessChain 122 125 359 - 368: 8(float) Load 367 - Store 366(param) 368 - 369: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 360(param) 364(param) 366(param) - 370: 18(fvec3) Load 252(force) - 371: 18(fvec3) FAdd 370 369 - Store 252(force) 371 - Branch 350 - 350: Label - 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 375 375 16 16 - 372: 142(ptr) AccessChain 60(id) 38 - 376: 11(int) Load 372 - 377: 171(bool) UGreaterThan 376 16 - SelectionMerge 379 None - BranchConditional 377 378 379 - 378: Label - 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 383 383 16 16 - 380: 11(int) Load 144(index) - 384: 153(ptr) AccessChain 122 125 152 16 - 385: 86(int) Load 384 - 386: 11(int) Bitcast 385 - 387: 11(int) ISub 380 386 - 389: 236(ptr) AccessChain 208(particleIn) 125 387 125 - 390: 84(fvec4) Load 389 - 391: 18(fvec3) VectorShuffle 390 390 0 1 2 - Store 388(param) 391 - 393: 18(fvec3) Load 266(pos) - Store 392(param) 393 - 395: 127(ptr) AccessChain 122 125 359 - 396: 8(float) Load 395 - Store 394(param) 396 - 397: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 388(param) 392(param) 394(param) - 398: 18(fvec3) Load 252(force) - 399: 18(fvec3) FAdd 398 397 - Store 252(force) 399 - Branch 379 - 379: Label - 401: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 402: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 403 403 16 16 - 400: 142(ptr) AccessChain 60(id) 16 - 404: 11(int) Load 400 - 405: 171(bool) UGreaterThan 404 16 - 406: 142(ptr) AccessChain 60(id) 38 - 407: 11(int) Load 406 - 408: 153(ptr) AccessChain 122 125 152 38 - 409: 86(int) Load 408 - 410: 86(int) ISub 409 244 - 411: 11(int) Bitcast 410 - 412: 171(bool) ULessThan 407 411 - 413: 171(bool) LogicalAnd 405 412 - SelectionMerge 415 None - BranchConditional 413 414 415 - 414: Label - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 419 419 16 16 - 416: 11(int) Load 144(index) - 420: 153(ptr) AccessChain 122 125 152 16 - 421: 86(int) Load 420 - 422: 11(int) Bitcast 421 - 423: 11(int) IAdd 416 422 - 424: 11(int) ISub 423 38 - 427: 236(ptr) AccessChain 208(particleIn) 125 424 125 - 428: 84(fvec4) Load 427 - 429: 18(fvec3) VectorShuffle 428 428 0 1 2 - Store 426(param) 429 - 431: 18(fvec3) Load 266(pos) - Store 430(param) 431 - 433: 127(ptr) AccessChain 122 125 425 - 434: 8(float) Load 433 - Store 432(param) 434 - 435: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 426(param) 430(param) 432(param) - 436: 18(fvec3) Load 252(force) - 437: 18(fvec3) FAdd 436 435 - Store 252(force) 437 - Branch 415 - 415: Label - 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 441 441 16 16 - 438: 142(ptr) AccessChain 60(id) 16 - 442: 11(int) Load 438 - 443: 171(bool) UGreaterThan 442 16 - 444: 142(ptr) AccessChain 60(id) 38 - 445: 11(int) Load 444 - 446: 171(bool) UGreaterThan 445 16 - 447: 171(bool) LogicalAnd 443 446 - SelectionMerge 449 None - BranchConditional 447 448 449 - 448: Label - 451: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 452: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 453 453 16 16 - 450: 11(int) Load 144(index) - 454: 153(ptr) AccessChain 122 125 152 16 - 455: 86(int) Load 454 - 456: 11(int) Bitcast 455 - 457: 11(int) ISub 450 456 - 458: 11(int) ISub 457 38 - 460: 236(ptr) AccessChain 208(particleIn) 125 458 125 - 461: 84(fvec4) Load 460 - 462: 18(fvec3) VectorShuffle 461 461 0 1 2 - Store 459(param) 462 - 464: 18(fvec3) Load 266(pos) - Store 463(param) 464 - 466: 127(ptr) AccessChain 122 125 425 - 467: 8(float) Load 466 - Store 465(param) 467 - 468: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 459(param) 463(param) 465(param) - 469: 18(fvec3) Load 252(force) - 470: 18(fvec3) FAdd 469 468 - Store 252(force) 470 - Branch 449 - 449: Label - 472: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 473: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 474 474 16 16 - 471: 142(ptr) AccessChain 60(id) 16 - 475: 11(int) Load 471 - 476: 153(ptr) AccessChain 122 125 152 16 - 477: 86(int) Load 476 - 478: 86(int) ISub 477 244 - 479: 11(int) Bitcast 478 - 480: 171(bool) ULessThan 475 479 - 481: 142(ptr) AccessChain 60(id) 38 - 482: 11(int) Load 481 - 483: 153(ptr) AccessChain 122 125 152 38 - 484: 86(int) Load 483 - 485: 86(int) ISub 484 244 - 486: 11(int) Bitcast 485 - 487: 171(bool) ULessThan 482 486 - 488: 171(bool) LogicalAnd 480 487 - SelectionMerge 490 None - BranchConditional 488 489 490 - 489: Label - 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 493: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 494 494 16 16 - 491: 11(int) Load 144(index) - 495: 153(ptr) AccessChain 122 125 152 16 - 496: 86(int) Load 495 - 497: 11(int) Bitcast 496 - 498: 11(int) IAdd 491 497 - 499: 11(int) IAdd 498 38 - 501: 236(ptr) AccessChain 208(particleIn) 125 499 125 - 502: 84(fvec4) Load 501 - 503: 18(fvec3) VectorShuffle 502 502 0 1 2 - Store 500(param) 503 - 505: 18(fvec3) Load 266(pos) - Store 504(param) 505 - 507: 127(ptr) AccessChain 122 125 425 - 508: 8(float) Load 507 - Store 506(param) 508 - 509: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 500(param) 504(param) 506(param) - 510: 18(fvec3) Load 252(force) - 511: 18(fvec3) FAdd 510 509 - Store 252(force) 511 - Branch 490 - 490: Label - 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 514: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 515 515 16 16 - 512: 142(ptr) AccessChain 60(id) 16 - 516: 11(int) Load 512 - 517: 153(ptr) AccessChain 122 125 152 16 - 518: 86(int) Load 517 - 519: 86(int) ISub 518 244 - 520: 11(int) Bitcast 519 - 521: 171(bool) ULessThan 516 520 - 522: 142(ptr) AccessChain 60(id) 38 - 523: 11(int) Load 522 - 524: 171(bool) UGreaterThan 523 16 - 525: 171(bool) LogicalAnd 521 524 - SelectionMerge 527 None - BranchConditional 525 526 527 - 526: Label - 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 530: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 531 531 16 16 - 528: 11(int) Load 144(index) - 532: 153(ptr) AccessChain 122 125 152 16 - 533: 86(int) Load 532 - 534: 11(int) Bitcast 533 - 535: 11(int) ISub 528 534 - 536: 11(int) IAdd 535 38 - 538: 236(ptr) AccessChain 208(particleIn) 125 536 125 - 539: 84(fvec4) Load 538 - 540: 18(fvec3) VectorShuffle 539 539 0 1 2 - Store 537(param) 540 - 542: 18(fvec3) Load 266(pos) - Store 541(param) 542 - 544: 127(ptr) AccessChain 122 125 425 - 545: 8(float) Load 544 - Store 543(param) 545 - 546: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 537(param) 541(param) 543(param) - 547: 18(fvec3) Load 252(force) - 548: 18(fvec3) FAdd 547 546 - Store 252(force) 548 - Branch 527 - 527: Label - 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 552: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 553 553 16 16 - 550: 127(ptr) AccessChain 122 125 549 - 554: 8(float) Load 550 - 555: 8(float) FNegate 554 - 556: 18(fvec3) Load 276(vel) - 557: 18(fvec3) VectorTimesScalar 556 555 - 558: 18(fvec3) Load 252(force) - 559: 18(fvec3) FAdd 558 557 - Store 252(force) 559 - 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 563 563 16 16 - 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 561 560(f) 44 - 566: 18(fvec3) Load 252(force) - 567: 127(ptr) AccessChain 122 125 244 - 568: 8(float) Load 567 - 569: 8(float) FDiv 216 568 - 570: 18(fvec3) VectorTimesScalar 566 569 - Store 560(f) 570 - 572: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 573 573 16 16 - 571: 11(int) Load 144(index) - 574: 18(fvec3) Load 266(pos) - 575: 18(fvec3) Load 276(vel) - 576: 127(ptr) AccessChain 122 125 125 - 577: 8(float) Load 576 - 578: 18(fvec3) VectorTimesScalar 575 577 - 579: 18(fvec3) FAdd 574 578 - 581: 18(fvec3) Load 560(f) - 582: 18(fvec3) VectorTimesScalar 581 580 - 583: 127(ptr) AccessChain 122 125 125 - 584: 8(float) Load 583 - 585: 18(fvec3) VectorTimesScalar 582 584 - 586: 127(ptr) AccessChain 122 125 125 - 587: 8(float) Load 586 - 588: 18(fvec3) VectorTimesScalar 585 587 - 589: 18(fvec3) FAdd 579 588 - 590: 8(float) CompositeExtract 589 0 - 591: 8(float) CompositeExtract 589 1 - 592: 8(float) CompositeExtract 589 2 - 593: 84(fvec4) CompositeConstruct 590 591 592 216 - 594: 236(ptr) AccessChain 230(particleOut) 125 571 125 - Store 594 593 - 596: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 597 597 16 16 - 595: 11(int) Load 144(index) - 598: 18(fvec3) Load 276(vel) - 599: 18(fvec3) Load 560(f) - 600: 127(ptr) AccessChain 122 125 125 - 601: 8(float) Load 600 - 602: 18(fvec3) VectorTimesScalar 599 601 - 603: 18(fvec3) FAdd 598 602 - 604: 8(float) CompositeExtract 603 0 - 605: 8(float) CompositeExtract 603 1 - 606: 8(float) CompositeExtract 603 2 - 607: 84(fvec4) CompositeConstruct 604 605 606 245 - 608: 236(ptr) AccessChain 230(particleOut) 125 595 244 - Store 608 607 - 614: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 612 612 16 16 - 613: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 610 609(sphereDist) 44 - 615: 11(int) Load 144(index) - 616: 236(ptr) AccessChain 230(particleOut) 125 615 125 - 617: 84(fvec4) Load 616 - 618: 18(fvec3) VectorShuffle 617 617 0 1 2 - 620: 236(ptr) AccessChain 122 125 619 - 621: 84(fvec4) Load 620 - 622: 18(fvec3) VectorShuffle 621 621 0 1 2 - 623: 18(fvec3) FSub 618 622 - Store 609(sphereDist) 623 - 625: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 626 626 16 16 - 624: 18(fvec3) Load 609(sphereDist) - 627: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 624 - 629: 127(ptr) AccessChain 122 125 628 - 630: 8(float) Load 629 - 632: 8(float) FAdd 630 631 - 633: 171(bool) FOrdLessThan 627 632 - SelectionMerge 635 None - BranchConditional 633 634 635 - 634: Label - 637: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 638: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 639 639 16 16 - 636: 11(int) Load 144(index) - 640: 236(ptr) AccessChain 122 125 619 - 641: 84(fvec4) Load 640 - 642: 18(fvec3) VectorShuffle 641 641 0 1 2 - 643: 18(fvec3) Load 609(sphereDist) - 644: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 643 - 645: 127(ptr) AccessChain 122 125 628 - 646: 8(float) Load 645 - 647: 8(float) FAdd 646 631 - 648: 18(fvec3) VectorTimesScalar 644 647 - 649: 18(fvec3) FAdd 642 648 - 650: 127(ptr) AccessChain 230(particleOut) 125 636 125 16 - 651: 8(float) CompositeExtract 649 0 - Store 650 651 - 652: 127(ptr) AccessChain 230(particleOut) 125 636 125 38 - 653: 8(float) CompositeExtract 649 1 - Store 652 653 - 654: 127(ptr) AccessChain 230(particleOut) 125 636 125 49 - 655: 8(float) CompositeExtract 649 2 - Store 654 655 - 657: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 658 658 16 16 - 656: 11(int) Load 144(index) - 659: 236(ptr) AccessChain 230(particleOut) 125 656 244 - Store 659 246 - Branch 635 - 635: Label - 681: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 682: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 667 667 16 16 - 680: 678(ptr) AccessChain 676 125 125 - 683: 11(int) Load 680 - 684: 171(bool) IEqual 683 38 - SelectionMerge 686 None - BranchConditional 684 685 686 - 685: Label - 691: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 692: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 689 689 16 16 - 690: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 688 687(normal) 44 - Store 687(normal) 693 - 695: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 696 696 16 16 - 694: 142(ptr) AccessChain 60(id) 38 - 697: 11(int) Load 694 - 698: 171(bool) UGreaterThan 697 16 - SelectionMerge 700 None - BranchConditional 698 699 700 - 699: Label - 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 703: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 704 704 16 16 - 701: 142(ptr) AccessChain 60(id) 16 - 705: 11(int) Load 701 - 706: 171(bool) UGreaterThan 705 16 - SelectionMerge 708 None - BranchConditional 706 707 708 - 707: Label - 714: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 715: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 712 712 16 16 - 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 710 709(a) 44 - 716: 11(int) Load 144(index) - 717: 11(int) ISub 716 38 - 718: 236(ptr) AccessChain 208(particleIn) 125 717 125 - 719: 84(fvec4) Load 718 - 720: 18(fvec3) VectorShuffle 719 719 0 1 2 - 721: 18(fvec3) Load 266(pos) - 722: 18(fvec3) FSub 720 721 - Store 709(a) 722 - 728: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 726 726 16 16 - 727: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 724 723(b) 44 - 729: 11(int) Load 144(index) - 730: 153(ptr) AccessChain 122 125 152 16 - 731: 86(int) Load 730 - 732: 11(int) Bitcast 731 - 733: 11(int) ISub 729 732 - 734: 11(int) ISub 733 38 - 735: 236(ptr) AccessChain 208(particleIn) 125 734 125 - 736: 84(fvec4) Load 735 - 737: 18(fvec3) VectorShuffle 736 736 0 1 2 - 738: 18(fvec3) Load 266(pos) - 739: 18(fvec3) FSub 737 738 - Store 723(b) 739 - 745: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 743 743 16 16 - 744: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 741 740(c) 44 - 746: 11(int) Load 144(index) - 747: 153(ptr) AccessChain 122 125 152 16 - 748: 86(int) Load 747 - 749: 11(int) Bitcast 748 - 750: 11(int) ISub 746 749 - 751: 236(ptr) AccessChain 208(particleIn) 125 750 125 - 752: 84(fvec4) Load 751 - 753: 18(fvec3) VectorShuffle 752 752 0 1 2 - 754: 18(fvec3) Load 266(pos) - 755: 18(fvec3) FSub 753 754 - Store 740(c) 755 - 757: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 758 758 16 16 - 756: 18(fvec3) Load 709(a) - 759: 18(fvec3) Load 723(b) - 760: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 756 759 - 761: 18(fvec3) Load 723(b) - 762: 18(fvec3) Load 740(c) - 763: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 761 762 - 764: 18(fvec3) FAdd 760 763 - 765: 18(fvec3) Load 687(normal) - 766: 18(fvec3) FAdd 765 764 - Store 687(normal) 766 - Branch 708 - 708: Label - 768: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 769: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 770 770 16 16 - 767: 142(ptr) AccessChain 60(id) 16 - 771: 11(int) Load 767 - 772: 153(ptr) AccessChain 122 125 152 16 - 773: 86(int) Load 772 - 774: 86(int) ISub 773 244 - 775: 11(int) Bitcast 774 - 776: 171(bool) ULessThan 771 775 - SelectionMerge 778 None - BranchConditional 776 777 778 - 777: Label - 780: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 781: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 782 782 16 16 - 779: 11(int) Load 144(index) - 783: 153(ptr) AccessChain 122 125 152 16 - 784: 86(int) Load 783 - 785: 11(int) Bitcast 784 - 786: 11(int) ISub 779 785 - 787: 236(ptr) AccessChain 208(particleIn) 125 786 125 - 788: 84(fvec4) Load 787 - 789: 18(fvec3) VectorShuffle 788 788 0 1 2 - 790: 18(fvec3) Load 266(pos) - 791: 18(fvec3) FSub 789 790 - Store 709(a) 791 - 793: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 794 794 16 16 - 792: 11(int) Load 144(index) - 795: 153(ptr) AccessChain 122 125 152 16 - 796: 86(int) Load 795 - 797: 11(int) Bitcast 796 - 798: 11(int) ISub 792 797 - 799: 11(int) IAdd 798 38 - 800: 236(ptr) AccessChain 208(particleIn) 125 799 125 - 801: 84(fvec4) Load 800 - 802: 18(fvec3) VectorShuffle 801 801 0 1 2 - 803: 18(fvec3) Load 266(pos) - 804: 18(fvec3) FSub 802 803 - Store 723(b) 804 - 806: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 807 807 16 16 - 805: 11(int) Load 144(index) - 808: 11(int) IAdd 805 38 - 809: 236(ptr) AccessChain 208(particleIn) 125 808 125 - 810: 84(fvec4) Load 809 - 811: 18(fvec3) VectorShuffle 810 810 0 1 2 - 812: 18(fvec3) Load 266(pos) - 813: 18(fvec3) FSub 811 812 - Store 740(c) 813 - 815: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 816 816 16 16 - 814: 18(fvec3) Load 709(a) - 817: 18(fvec3) Load 723(b) - 818: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 814 817 - 819: 18(fvec3) Load 723(b) - 820: 18(fvec3) Load 740(c) - 821: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 819 820 - 822: 18(fvec3) FAdd 818 821 - 823: 18(fvec3) Load 687(normal) - 824: 18(fvec3) FAdd 823 822 - Store 687(normal) 824 - Branch 778 - 778: Label - 825: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - Branch 700 - 700: Label - 827: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 828: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 829 829 16 16 - 826: 142(ptr) AccessChain 60(id) 38 - 830: 11(int) Load 826 - 831: 153(ptr) AccessChain 122 125 152 38 - 832: 86(int) Load 831 - 833: 86(int) ISub 832 244 - 834: 11(int) Bitcast 833 - 835: 171(bool) ULessThan 830 834 - SelectionMerge 837 None - BranchConditional 835 836 837 - 836: Label - 839: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 840: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 841 841 16 16 - 838: 142(ptr) AccessChain 60(id) 16 - 842: 11(int) Load 838 - 843: 171(bool) UGreaterThan 842 16 - SelectionMerge 845 None - BranchConditional 843 844 845 - 844: Label - 847: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 848: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 849 849 16 16 - 846: 11(int) Load 144(index) - 850: 153(ptr) AccessChain 122 125 152 16 - 851: 86(int) Load 850 - 852: 11(int) Bitcast 851 - 853: 11(int) IAdd 846 852 - 854: 236(ptr) AccessChain 208(particleIn) 125 853 125 - 855: 84(fvec4) Load 854 - 856: 18(fvec3) VectorShuffle 855 855 0 1 2 - 857: 18(fvec3) Load 266(pos) - 858: 18(fvec3) FSub 856 857 - Store 709(a) 858 - 860: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 861 861 16 16 - 859: 11(int) Load 144(index) - 862: 153(ptr) AccessChain 122 125 152 16 - 863: 86(int) Load 862 - 864: 11(int) Bitcast 863 - 865: 11(int) IAdd 859 864 - 866: 11(int) ISub 865 38 - 867: 236(ptr) AccessChain 208(particleIn) 125 866 125 - 868: 84(fvec4) Load 867 - 869: 18(fvec3) VectorShuffle 868 868 0 1 2 - 870: 18(fvec3) Load 266(pos) - 871: 18(fvec3) FSub 869 870 - Store 723(b) 871 - 873: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 874 874 16 16 - 872: 11(int) Load 144(index) - 875: 11(int) ISub 872 38 - 876: 236(ptr) AccessChain 208(particleIn) 125 875 125 - 877: 84(fvec4) Load 876 - 878: 18(fvec3) VectorShuffle 877 877 0 1 2 - 879: 18(fvec3) Load 266(pos) - 880: 18(fvec3) FSub 878 879 - Store 740(c) 880 - 882: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 883 883 16 16 - 881: 18(fvec3) Load 709(a) - 884: 18(fvec3) Load 723(b) - 885: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 881 884 - 886: 18(fvec3) Load 723(b) - 887: 18(fvec3) Load 740(c) - 888: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 886 887 - 889: 18(fvec3) FAdd 885 888 - 890: 18(fvec3) Load 687(normal) - 891: 18(fvec3) FAdd 890 889 - Store 687(normal) 891 - Branch 845 - 845: Label - 893: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 894: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 895 895 16 16 - 892: 142(ptr) AccessChain 60(id) 16 - 896: 11(int) Load 892 - 897: 153(ptr) AccessChain 122 125 152 16 - 898: 86(int) Load 897 - 899: 86(int) ISub 898 244 - 900: 11(int) Bitcast 899 - 901: 171(bool) ULessThan 896 900 - SelectionMerge 903 None - BranchConditional 901 902 903 - 902: Label - 905: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 906: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 907 907 16 16 - 904: 11(int) Load 144(index) - 908: 11(int) IAdd 904 38 - 909: 236(ptr) AccessChain 208(particleIn) 125 908 125 - 910: 84(fvec4) Load 909 - 911: 18(fvec3) VectorShuffle 910 910 0 1 2 - 912: 18(fvec3) Load 266(pos) - 913: 18(fvec3) FSub 911 912 - Store 709(a) 913 - 915: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 916 916 16 16 - 914: 11(int) Load 144(index) - 917: 153(ptr) AccessChain 122 125 152 16 - 918: 86(int) Load 917 - 919: 11(int) Bitcast 918 - 920: 11(int) IAdd 914 919 - 921: 11(int) IAdd 920 38 - 922: 236(ptr) AccessChain 208(particleIn) 125 921 125 - 923: 84(fvec4) Load 922 - 924: 18(fvec3) VectorShuffle 923 923 0 1 2 - 925: 18(fvec3) Load 266(pos) - 926: 18(fvec3) FSub 924 925 - Store 723(b) 926 + 224: Label + 262: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 263: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 260 260 16 16 + 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 258 257(force) 44 + 265: 242(ptr) AccessChain 125 129 264 + 266: 87(fvec4) Load 265 + 267: 18(fvec3) VectorShuffle 266 266 0 1 2 + 268: 131(ptr) AccessChain 125 129 250 + 269: 8(float) Load 268 + 270: 18(fvec3) VectorTimesScalar 267 269 + Store 257(force) 270 + 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 274 274 16 16 + 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 272 271(pos) 44 + 277: 11(int) Load 149(index) + 278: 242(ptr) AccessChain 213(particleIn) 129 277 129 + 279: 87(fvec4) Load 278 + 280: 18(fvec3) VectorShuffle 279 279 0 1 2 + Store 271(pos) 280 + 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 284 284 16 16 + 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 282 281(vel) 44 + 287: 11(int) Load 149(index) + 288: 242(ptr) AccessChain 213(particleIn) 129 287 250 + 289: 87(fvec4) Load 288 + 290: 18(fvec3) VectorShuffle 289 289 0 1 2 + Store 281(vel) 290 + 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 293 293 16 16 + 291: 147(ptr) AccessChain 60(id) 16 + 294: 11(int) Load 291 + 295: 177(bool) UGreaterThan 294 16 + SelectionMerge 297 None + BranchConditional 295 296 297 + 296: Label + 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 298 + 301: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 302 302 16 16 + 299: 11(int) Load 149(index) + 303: 11(int) ISub 299 38 + 305: 242(ptr) AccessChain 213(particleIn) 129 303 129 + 306: 87(fvec4) Load 305 + 307: 18(fvec3) VectorShuffle 306 306 0 1 2 + Store 304(param) 307 + 309: 18(fvec3) Load 271(pos) + Store 308(param) 309 + 311: 131(ptr) AccessChain 125 129 218 + 312: 8(float) Load 311 + Store 310(param) 312 + 313: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 304(param) 308(param) 310(param) + 314: 18(fvec3) Load 257(force) + 315: 18(fvec3) FAdd 314 313 + Store 257(force) 315 + Branch 297 + 297: Label + 317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 319 319 16 16 + 316: 147(ptr) AccessChain 60(id) 16 + 320: 11(int) Load 316 + 321: 159(ptr) AccessChain 125 129 158 16 + 322: 89(int) Load 321 + 323: 89(int) ISub 322 250 + 324: 11(int) Bitcast 323 + 325: 177(bool) ULessThan 320 324 + SelectionMerge 327 None + BranchConditional 325 326 327 + 326: Label + 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 328 + 331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 332 332 16 16 + 329: 11(int) Load 149(index) + 333: 11(int) IAdd 329 38 + 335: 242(ptr) AccessChain 213(particleIn) 129 333 129 + 336: 87(fvec4) Load 335 + 337: 18(fvec3) VectorShuffle 336 336 0 1 2 + Store 334(param) 337 + 339: 18(fvec3) Load 271(pos) + Store 338(param) 339 + 341: 131(ptr) AccessChain 125 129 218 + 342: 8(float) Load 341 + Store 340(param) 342 + 343: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 334(param) 338(param) 340(param) + 344: 18(fvec3) Load 257(force) + 345: 18(fvec3) FAdd 344 343 + Store 257(force) 345 + Branch 327 + 327: Label + 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 349 349 16 16 + 346: 147(ptr) AccessChain 60(id) 38 + 350: 11(int) Load 346 + 351: 159(ptr) AccessChain 125 129 158 38 + 352: 89(int) Load 351 + 353: 89(int) ISub 352 250 + 354: 11(int) Bitcast 353 + 355: 177(bool) ULessThan 350 354 + SelectionMerge 357 None + BranchConditional 355 356 357 + 356: Label + 360: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 358 + 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 362 362 16 16 + 359: 11(int) Load 149(index) + 363: 159(ptr) AccessChain 125 129 158 16 + 364: 89(int) Load 363 + 365: 11(int) Bitcast 364 + 366: 11(int) IAdd 359 365 + 369: 242(ptr) AccessChain 213(particleIn) 129 366 129 + 370: 87(fvec4) Load 369 + 371: 18(fvec3) VectorShuffle 370 370 0 1 2 + Store 368(param) 371 + 373: 18(fvec3) Load 271(pos) + Store 372(param) 373 + 375: 131(ptr) AccessChain 125 129 367 + 376: 8(float) Load 375 + Store 374(param) 376 + 377: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 368(param) 372(param) 374(param) + 378: 18(fvec3) Load 257(force) + 379: 18(fvec3) FAdd 378 377 + Store 257(force) 379 + Branch 357 + 357: Label + 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 383 383 16 16 + 380: 147(ptr) AccessChain 60(id) 38 + 384: 11(int) Load 380 + 385: 177(bool) UGreaterThan 384 16 + SelectionMerge 387 None + BranchConditional 385 386 387 + 386: Label + 390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 388 + 391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 392 392 16 16 + 389: 11(int) Load 149(index) + 393: 159(ptr) AccessChain 125 129 158 16 + 394: 89(int) Load 393 + 395: 11(int) Bitcast 394 + 396: 11(int) ISub 389 395 + 398: 242(ptr) AccessChain 213(particleIn) 129 396 129 + 399: 87(fvec4) Load 398 + 400: 18(fvec3) VectorShuffle 399 399 0 1 2 + Store 397(param) 400 + 402: 18(fvec3) Load 271(pos) + Store 401(param) 402 + 404: 131(ptr) AccessChain 125 129 367 + 405: 8(float) Load 404 + Store 403(param) 405 + 406: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 397(param) 401(param) 403(param) + 407: 18(fvec3) Load 257(force) + 408: 18(fvec3) FAdd 407 406 + Store 257(force) 408 + Branch 387 + 387: Label + 410: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 412 412 16 16 + 409: 147(ptr) AccessChain 60(id) 16 + 413: 11(int) Load 409 + 414: 177(bool) UGreaterThan 413 16 + 415: 147(ptr) AccessChain 60(id) 38 + 416: 11(int) Load 415 + 417: 159(ptr) AccessChain 125 129 158 38 + 418: 89(int) Load 417 + 419: 89(int) ISub 418 250 + 420: 11(int) Bitcast 419 + 421: 177(bool) ULessThan 416 420 + 422: 177(bool) LogicalAnd 414 421 + SelectionMerge 424 None + BranchConditional 422 423 424 + 423: Label + 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 425 + 428: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 429 429 16 16 + 426: 11(int) Load 149(index) + 430: 159(ptr) AccessChain 125 129 158 16 + 431: 89(int) Load 430 + 432: 11(int) Bitcast 431 + 433: 11(int) IAdd 426 432 + 434: 11(int) ISub 433 38 + 437: 242(ptr) AccessChain 213(particleIn) 129 434 129 + 438: 87(fvec4) Load 437 + 439: 18(fvec3) VectorShuffle 438 438 0 1 2 + Store 436(param) 439 + 441: 18(fvec3) Load 271(pos) + Store 440(param) 441 + 443: 131(ptr) AccessChain 125 129 435 + 444: 8(float) Load 443 + Store 442(param) 444 + 445: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 436(param) 440(param) 442(param) + 446: 18(fvec3) Load 257(force) + 447: 18(fvec3) FAdd 446 445 + Store 257(force) 447 + Branch 424 + 424: Label + 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 450: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 451 451 16 16 + 448: 147(ptr) AccessChain 60(id) 16 + 452: 11(int) Load 448 + 453: 177(bool) UGreaterThan 452 16 + 454: 147(ptr) AccessChain 60(id) 38 + 455: 11(int) Load 454 + 456: 177(bool) UGreaterThan 455 16 + 457: 177(bool) LogicalAnd 453 456 + SelectionMerge 459 None + BranchConditional 457 458 459 + 458: Label + 462: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 460 + 463: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 464 464 16 16 + 461: 11(int) Load 149(index) + 465: 159(ptr) AccessChain 125 129 158 16 + 466: 89(int) Load 465 + 467: 11(int) Bitcast 466 + 468: 11(int) ISub 461 467 + 469: 11(int) ISub 468 38 + 471: 242(ptr) AccessChain 213(particleIn) 129 469 129 + 472: 87(fvec4) Load 471 + 473: 18(fvec3) VectorShuffle 472 472 0 1 2 + Store 470(param) 473 + 475: 18(fvec3) Load 271(pos) + Store 474(param) 475 + 477: 131(ptr) AccessChain 125 129 435 + 478: 8(float) Load 477 + Store 476(param) 478 + 479: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 470(param) 474(param) 476(param) + 480: 18(fvec3) Load 257(force) + 481: 18(fvec3) FAdd 480 479 + Store 257(force) 481 + Branch 459 + 459: Label + 483: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 485 485 16 16 + 482: 147(ptr) AccessChain 60(id) 16 + 486: 11(int) Load 482 + 487: 159(ptr) AccessChain 125 129 158 16 + 488: 89(int) Load 487 + 489: 89(int) ISub 488 250 + 490: 11(int) Bitcast 489 + 491: 177(bool) ULessThan 486 490 + 492: 147(ptr) AccessChain 60(id) 38 + 493: 11(int) Load 492 + 494: 159(ptr) AccessChain 125 129 158 38 + 495: 89(int) Load 494 + 496: 89(int) ISub 495 250 + 497: 11(int) Bitcast 496 + 498: 177(bool) ULessThan 493 497 + 499: 177(bool) LogicalAnd 491 498 + SelectionMerge 501 None + BranchConditional 499 500 501 + 500: Label + 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 502 + 505: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 506 506 16 16 + 503: 11(int) Load 149(index) + 507: 159(ptr) AccessChain 125 129 158 16 + 508: 89(int) Load 507 + 509: 11(int) Bitcast 508 + 510: 11(int) IAdd 503 509 + 511: 11(int) IAdd 510 38 + 513: 242(ptr) AccessChain 213(particleIn) 129 511 129 + 514: 87(fvec4) Load 513 + 515: 18(fvec3) VectorShuffle 514 514 0 1 2 + Store 512(param) 515 + 517: 18(fvec3) Load 271(pos) + Store 516(param) 517 + 519: 131(ptr) AccessChain 125 129 435 + 520: 8(float) Load 519 + Store 518(param) 520 + 521: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 512(param) 516(param) 518(param) + 522: 18(fvec3) Load 257(force) + 523: 18(fvec3) FAdd 522 521 + Store 257(force) 523 + Branch 501 + 501: Label + 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 526: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 527 527 16 16 + 524: 147(ptr) AccessChain 60(id) 16 + 528: 11(int) Load 524 + 529: 159(ptr) AccessChain 125 129 158 16 + 530: 89(int) Load 529 + 531: 89(int) ISub 530 250 + 532: 11(int) Bitcast 531 + 533: 177(bool) ULessThan 528 532 + 534: 147(ptr) AccessChain 60(id) 38 + 535: 11(int) Load 534 + 536: 177(bool) UGreaterThan 535 16 + 537: 177(bool) LogicalAnd 533 536 + SelectionMerge 539 None + BranchConditional 537 538 539 + 538: Label + 542: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 540 + 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 544 544 16 16 + 541: 11(int) Load 149(index) + 545: 159(ptr) AccessChain 125 129 158 16 + 546: 89(int) Load 545 + 547: 11(int) Bitcast 546 + 548: 11(int) ISub 541 547 + 549: 11(int) IAdd 548 38 + 551: 242(ptr) AccessChain 213(particleIn) 129 549 129 + 552: 87(fvec4) Load 551 + 553: 18(fvec3) VectorShuffle 552 552 0 1 2 + Store 550(param) 553 + 555: 18(fvec3) Load 271(pos) + Store 554(param) 555 + 557: 131(ptr) AccessChain 125 129 435 + 558: 8(float) Load 557 + Store 556(param) 558 + 559: 18(fvec3) FunctionCall 30(springForce(vf3;vf3;f1;) 550(param) 554(param) 556(param) + 560: 18(fvec3) Load 257(force) + 561: 18(fvec3) FAdd 560 559 + Store 257(force) 561 + Branch 539 + 539: Label + 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 566 566 16 16 + 563: 131(ptr) AccessChain 125 129 562 + 567: 8(float) Load 563 + 568: 8(float) FNegate 567 + 569: 18(fvec3) Load 281(vel) + 570: 18(fvec3) VectorTimesScalar 569 568 + 571: 18(fvec3) Load 257(force) + 572: 18(fvec3) FAdd 571 570 + Store 257(force) 572 + 578: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 576 576 16 16 + 577: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 574 573(f) 44 + 579: 18(fvec3) Load 257(force) + 580: 131(ptr) AccessChain 125 129 250 + 581: 8(float) Load 580 + 582: 8(float) FDiv 221 581 + 583: 18(fvec3) VectorTimesScalar 579 582 + Store 573(f) 583 + 585: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 586 586 16 16 + 584: 11(int) Load 149(index) + 587: 18(fvec3) Load 271(pos) + 588: 18(fvec3) Load 281(vel) + 589: 131(ptr) AccessChain 125 129 129 + 590: 8(float) Load 589 + 591: 18(fvec3) VectorTimesScalar 588 590 + 592: 18(fvec3) FAdd 587 591 + 594: 18(fvec3) Load 573(f) + 595: 18(fvec3) VectorTimesScalar 594 593 + 596: 131(ptr) AccessChain 125 129 129 + 597: 8(float) Load 596 + 598: 18(fvec3) VectorTimesScalar 595 597 + 599: 131(ptr) AccessChain 125 129 129 + 600: 8(float) Load 599 + 601: 18(fvec3) VectorTimesScalar 598 600 + 602: 18(fvec3) FAdd 592 601 + 603: 8(float) CompositeExtract 602 0 + 604: 8(float) CompositeExtract 602 1 + 605: 8(float) CompositeExtract 602 2 + 606: 87(fvec4) CompositeConstruct 603 604 605 221 + 607: 242(ptr) AccessChain 236(particleOut) 129 584 129 + Store 607 606 + 609: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 610 610 16 16 + 608: 11(int) Load 149(index) + 611: 18(fvec3) Load 281(vel) + 612: 18(fvec3) Load 573(f) + 613: 131(ptr) AccessChain 125 129 129 + 614: 8(float) Load 613 + 615: 18(fvec3) VectorTimesScalar 612 614 + 616: 18(fvec3) FAdd 611 615 + 617: 8(float) CompositeExtract 616 0 + 618: 8(float) CompositeExtract 616 1 + 619: 8(float) CompositeExtract 616 2 + 620: 87(fvec4) CompositeConstruct 617 618 619 251 + 621: 242(ptr) AccessChain 236(particleOut) 129 608 250 + Store 621 620 + 627: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 625 625 16 16 + 626: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 623 622(sphereDist) 44 + 628: 11(int) Load 149(index) + 629: 242(ptr) AccessChain 236(particleOut) 129 628 129 + 630: 87(fvec4) Load 629 + 631: 18(fvec3) VectorShuffle 630 630 0 1 2 + 633: 242(ptr) AccessChain 125 129 632 + 634: 87(fvec4) Load 633 + 635: 18(fvec3) VectorShuffle 634 634 0 1 2 + 636: 18(fvec3) FSub 631 635 + Store 622(sphereDist) 636 + 638: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 639 639 16 16 + 637: 18(fvec3) Load 622(sphereDist) + 640: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 637 + 642: 131(ptr) AccessChain 125 129 641 + 643: 8(float) Load 642 + 645: 8(float) FAdd 643 644 + 646: 177(bool) FOrdLessThan 640 645 + SelectionMerge 648 None + BranchConditional 646 647 648 + 647: Label + 651: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 649 + 652: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 653 653 16 16 + 650: 11(int) Load 149(index) + 654: 242(ptr) AccessChain 125 129 632 + 655: 87(fvec4) Load 654 + 656: 18(fvec3) VectorShuffle 655 655 0 1 2 + 657: 18(fvec3) Load 622(sphereDist) + 658: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 657 + 659: 131(ptr) AccessChain 125 129 641 + 660: 8(float) Load 659 + 661: 8(float) FAdd 660 644 + 662: 18(fvec3) VectorTimesScalar 658 661 + 663: 18(fvec3) FAdd 656 662 + 664: 131(ptr) AccessChain 236(particleOut) 129 650 129 16 + 665: 8(float) CompositeExtract 663 0 + Store 664 665 + 666: 131(ptr) AccessChain 236(particleOut) 129 650 129 38 + 667: 8(float) CompositeExtract 663 1 + Store 666 667 + 668: 131(ptr) AccessChain 236(particleOut) 129 650 129 49 + 669: 8(float) CompositeExtract 663 2 + Store 668 669 + 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 672 672 16 16 + 670: 11(int) Load 149(index) + 673: 242(ptr) AccessChain 236(particleOut) 129 670 250 + Store 673 252 + Branch 648 + 648: Label + 695: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 146 + 696: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 681 681 16 16 + 694: 692(ptr) AccessChain 690 129 129 + 697: 11(int) Load 694 + 698: 177(bool) IEqual 697 38 + SelectionMerge 700 None + BranchConditional 698 699 700 + 699: Label + 706: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 701 + 707: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 704 704 16 16 + 705: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 703 702(normal) 44 + Store 702(normal) 708 + 714: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 712 712 16 16 + 713: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 710 709(a) 44 + 718: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 716 715(b) 44 + 722: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 720 719(c) 44 + 724: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 725 725 16 16 + 723: 147(ptr) AccessChain 60(id) 38 + 726: 11(int) Load 723 + 727: 177(bool) UGreaterThan 726 16 + SelectionMerge 729 None + BranchConditional 727 728 729 + 728: Label + 732: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 730 + 733: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 734 734 16 16 + 731: 147(ptr) AccessChain 60(id) 16 + 735: 11(int) Load 731 + 736: 177(bool) UGreaterThan 735 16 + SelectionMerge 738 None + BranchConditional 736 737 738 + 737: Label + 741: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 739 + 742: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 743 743 16 16 + 740: 11(int) Load 149(index) + 744: 11(int) ISub 740 38 + 745: 242(ptr) AccessChain 213(particleIn) 129 744 129 + 746: 87(fvec4) Load 745 + 747: 18(fvec3) VectorShuffle 746 746 0 1 2 + 748: 18(fvec3) Load 271(pos) + 749: 18(fvec3) FSub 747 748 + Store 709(a) 749 + 751: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 752 752 16 16 + 750: 11(int) Load 149(index) + 753: 159(ptr) AccessChain 125 129 158 16 + 754: 89(int) Load 753 + 755: 11(int) Bitcast 754 + 756: 11(int) ISub 750 755 + 757: 11(int) ISub 756 38 + 758: 242(ptr) AccessChain 213(particleIn) 129 757 129 + 759: 87(fvec4) Load 758 + 760: 18(fvec3) VectorShuffle 759 759 0 1 2 + 761: 18(fvec3) Load 271(pos) + 762: 18(fvec3) FSub 760 761 + Store 715(b) 762 + 764: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 765 765 16 16 + 763: 11(int) Load 149(index) + 766: 159(ptr) AccessChain 125 129 158 16 + 767: 89(int) Load 766 + 768: 11(int) Bitcast 767 + 769: 11(int) ISub 763 768 + 770: 242(ptr) AccessChain 213(particleIn) 129 769 129 + 771: 87(fvec4) Load 770 + 772: 18(fvec3) VectorShuffle 771 771 0 1 2 + 773: 18(fvec3) Load 271(pos) + 774: 18(fvec3) FSub 772 773 + Store 719(c) 774 + 776: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 777 777 16 16 + 775: 18(fvec3) Load 709(a) + 778: 18(fvec3) Load 715(b) + 779: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 775 778 + 780: 18(fvec3) Load 715(b) + 781: 18(fvec3) Load 719(c) + 782: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 780 781 + 783: 18(fvec3) FAdd 779 782 + 784: 18(fvec3) Load 702(normal) + 785: 18(fvec3) FAdd 784 783 + Store 702(normal) 785 + Branch 738 + 738: Label + 787: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 730 + 788: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 789 789 16 16 + 786: 147(ptr) AccessChain 60(id) 16 + 790: 11(int) Load 786 + 791: 159(ptr) AccessChain 125 129 158 16 + 792: 89(int) Load 791 + 793: 89(int) ISub 792 250 + 794: 11(int) Bitcast 793 + 795: 177(bool) ULessThan 790 794 + SelectionMerge 797 None + BranchConditional 795 796 797 + 796: Label + 800: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 798 + 801: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 802 802 16 16 + 799: 11(int) Load 149(index) + 803: 159(ptr) AccessChain 125 129 158 16 + 804: 89(int) Load 803 + 805: 11(int) Bitcast 804 + 806: 11(int) ISub 799 805 + 807: 242(ptr) AccessChain 213(particleIn) 129 806 129 + 808: 87(fvec4) Load 807 + 809: 18(fvec3) VectorShuffle 808 808 0 1 2 + 810: 18(fvec3) Load 271(pos) + 811: 18(fvec3) FSub 809 810 + Store 709(a) 811 + 813: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 814 814 16 16 + 812: 11(int) Load 149(index) + 815: 159(ptr) AccessChain 125 129 158 16 + 816: 89(int) Load 815 + 817: 11(int) Bitcast 816 + 818: 11(int) ISub 812 817 + 819: 11(int) IAdd 818 38 + 820: 242(ptr) AccessChain 213(particleIn) 129 819 129 + 821: 87(fvec4) Load 820 + 822: 18(fvec3) VectorShuffle 821 821 0 1 2 + 823: 18(fvec3) Load 271(pos) + 824: 18(fvec3) FSub 822 823 + Store 715(b) 824 + 826: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 827 827 16 16 + 825: 11(int) Load 149(index) + 828: 11(int) IAdd 825 38 + 829: 242(ptr) AccessChain 213(particleIn) 129 828 129 + 830: 87(fvec4) Load 829 + 831: 18(fvec3) VectorShuffle 830 830 0 1 2 + 832: 18(fvec3) Load 271(pos) + 833: 18(fvec3) FSub 831 832 + Store 719(c) 833 + 835: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 836 836 16 16 + 834: 18(fvec3) Load 709(a) + 837: 18(fvec3) Load 715(b) + 838: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 834 837 + 839: 18(fvec3) Load 715(b) + 840: 18(fvec3) Load 719(c) + 841: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 839 840 + 842: 18(fvec3) FAdd 838 841 + 843: 18(fvec3) Load 702(normal) + 844: 18(fvec3) FAdd 843 842 + Store 702(normal) 844 + Branch 797 + 797: Label + Branch 729 + 729: Label + 846: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 701 + 847: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 848 848 16 16 + 845: 147(ptr) AccessChain 60(id) 38 + 849: 11(int) Load 845 + 850: 159(ptr) AccessChain 125 129 158 38 + 851: 89(int) Load 850 + 852: 89(int) ISub 851 250 + 853: 11(int) Bitcast 852 + 854: 177(bool) ULessThan 849 853 + SelectionMerge 856 None + BranchConditional 854 855 856 + 855: Label + 859: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 857 + 860: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 861 861 16 16 + 858: 147(ptr) AccessChain 60(id) 16 + 862: 11(int) Load 858 + 863: 177(bool) UGreaterThan 862 16 + SelectionMerge 865 None + BranchConditional 863 864 865 + 864: Label + 868: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 866 + 869: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 870 870 16 16 + 867: 11(int) Load 149(index) + 871: 159(ptr) AccessChain 125 129 158 16 + 872: 89(int) Load 871 + 873: 11(int) Bitcast 872 + 874: 11(int) IAdd 867 873 + 875: 242(ptr) AccessChain 213(particleIn) 129 874 129 + 876: 87(fvec4) Load 875 + 877: 18(fvec3) VectorShuffle 876 876 0 1 2 + 878: 18(fvec3) Load 271(pos) + 879: 18(fvec3) FSub 877 878 + Store 709(a) 879 + 881: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 882 882 16 16 + 880: 11(int) Load 149(index) + 883: 159(ptr) AccessChain 125 129 158 16 + 884: 89(int) Load 883 + 885: 11(int) Bitcast 884 + 886: 11(int) IAdd 880 885 + 887: 11(int) ISub 886 38 + 888: 242(ptr) AccessChain 213(particleIn) 129 887 129 + 889: 87(fvec4) Load 888 + 890: 18(fvec3) VectorShuffle 889 889 0 1 2 + 891: 18(fvec3) Load 271(pos) + 892: 18(fvec3) FSub 890 891 + Store 715(b) 892 + 894: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 895 895 16 16 + 893: 11(int) Load 149(index) + 896: 11(int) ISub 893 38 + 897: 242(ptr) AccessChain 213(particleIn) 129 896 129 + 898: 87(fvec4) Load 897 + 899: 18(fvec3) VectorShuffle 898 898 0 1 2 + 900: 18(fvec3) Load 271(pos) + 901: 18(fvec3) FSub 899 900 + Store 719(c) 901 + 903: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 904 904 16 16 + 902: 18(fvec3) Load 709(a) + 905: 18(fvec3) Load 715(b) + 906: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 902 905 + 907: 18(fvec3) Load 715(b) + 908: 18(fvec3) Load 719(c) + 909: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 907 908 + 910: 18(fvec3) FAdd 906 909 + 911: 18(fvec3) Load 702(normal) + 912: 18(fvec3) FAdd 911 910 + Store 702(normal) 912 + Branch 865 + 865: Label + 914: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 857 + 915: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 916 916 16 16 + 913: 147(ptr) AccessChain 60(id) 16 + 917: 11(int) Load 913 + 918: 159(ptr) AccessChain 125 129 158 16 + 919: 89(int) Load 918 + 920: 89(int) ISub 919 250 + 921: 11(int) Bitcast 920 + 922: 177(bool) ULessThan 917 921 + SelectionMerge 924 None + BranchConditional 922 923 924 + 923: Label + 927: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 925 928: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 929 929 16 16 - 927: 11(int) Load 144(index) - 930: 153(ptr) AccessChain 122 125 152 16 - 931: 86(int) Load 930 - 932: 11(int) Bitcast 931 - 933: 11(int) IAdd 927 932 - 934: 236(ptr) AccessChain 208(particleIn) 125 933 125 - 935: 84(fvec4) Load 934 - 936: 18(fvec3) VectorShuffle 935 935 0 1 2 - 937: 18(fvec3) Load 266(pos) - 938: 18(fvec3) FSub 936 937 - Store 740(c) 938 - 940: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 941 941 16 16 - 939: 18(fvec3) Load 709(a) - 942: 18(fvec3) Load 723(b) - 943: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 939 942 - 944: 18(fvec3) Load 723(b) - 945: 18(fvec3) Load 740(c) - 946: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 944 945 - 947: 18(fvec3) FAdd 943 946 - 948: 18(fvec3) Load 687(normal) - 949: 18(fvec3) FAdd 948 947 - Store 687(normal) 949 - Branch 903 - 903: Label - 950: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - Branch 837 - 837: Label - 952: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 - 953: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 954 954 16 16 - 951: 11(int) Load 144(index) - 955: 18(fvec3) Load 687(normal) - 956: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 955 - 957: 8(float) CompositeExtract 956 0 - 958: 8(float) CompositeExtract 956 1 - 959: 8(float) CompositeExtract 956 2 - 960: 84(fvec4) CompositeConstruct 957 958 959 245 - 961: 236(ptr) AccessChain 230(particleOut) 125 951 549 - Store 961 960 - Branch 686 - 686: Label - 962: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 926: 11(int) Load 149(index) + 930: 11(int) IAdd 926 38 + 931: 242(ptr) AccessChain 213(particleIn) 129 930 129 + 932: 87(fvec4) Load 931 + 933: 18(fvec3) VectorShuffle 932 932 0 1 2 + 934: 18(fvec3) Load 271(pos) + 935: 18(fvec3) FSub 933 934 + Store 709(a) 935 + 937: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 938 938 16 16 + 936: 11(int) Load 149(index) + 939: 159(ptr) AccessChain 125 129 158 16 + 940: 89(int) Load 939 + 941: 11(int) Bitcast 940 + 942: 11(int) IAdd 936 941 + 943: 11(int) IAdd 942 38 + 944: 242(ptr) AccessChain 213(particleIn) 129 943 129 + 945: 87(fvec4) Load 944 + 946: 18(fvec3) VectorShuffle 945 945 0 1 2 + 947: 18(fvec3) Load 271(pos) + 948: 18(fvec3) FSub 946 947 + Store 715(b) 948 + 950: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 951 951 16 16 + 949: 11(int) Load 149(index) + 952: 159(ptr) AccessChain 125 129 158 16 + 953: 89(int) Load 952 + 954: 11(int) Bitcast 953 + 955: 11(int) IAdd 949 954 + 956: 242(ptr) AccessChain 213(particleIn) 129 955 129 + 957: 87(fvec4) Load 956 + 958: 18(fvec3) VectorShuffle 957 957 0 1 2 + 959: 18(fvec3) Load 271(pos) + 960: 18(fvec3) FSub 958 959 + Store 719(c) 960 + 962: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 963 963 16 16 + 961: 18(fvec3) Load 709(a) + 964: 18(fvec3) Load 715(b) + 965: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 961 964 + 966: 18(fvec3) Load 715(b) + 967: 18(fvec3) Load 719(c) + 968: 18(fvec3) ExtInst 3(GLSL.std.450) 68(Cross) 966 967 + 969: 18(fvec3) FAdd 965 968 + 970: 18(fvec3) Load 702(normal) + 971: 18(fvec3) FAdd 970 969 + Store 702(normal) 971 + Branch 924 + 924: Label + Branch 856 + 856: Label + 973: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 701 + 974: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 975 975 16 16 + 972: 11(int) Load 149(index) + 976: 18(fvec3) Load 702(normal) + 977: 18(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 976 + 978: 8(float) CompositeExtract 977 0 + 979: 8(float) CompositeExtract 977 1 + 980: 8(float) CompositeExtract 977 2 + 981: 87(fvec4) CompositeConstruct 978 979 980 251 + 982: 242(ptr) AccessChain 236(particleOut) 129 972 562 + Store 982 981 + Branch 700 + 700: Label + 983: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 64 + 984: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 34 975 975 16 16 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.frag.out b/Test/baseResults/spv.debuginfo.hlsl.frag.out index 29ebf408..d8367e10 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.frag.out +++ b/Test/baseResults/spv.debuginfo.hlsl.frag.out @@ -1,7 +1,7 @@ spv.debuginfo.hlsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 903 +// Id's are bound by 931 Capability Shader Capability ImageQuery @@ -9,9 +9,9 @@ spv.debuginfo.hlsl.frag 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 6 "main" 896 899 + EntryPoint Fragment 6 "main" 924 927 ExecutionMode 6 OriginUpperLeft - 2: String "" + 2: String "spv.debuginfo.hlsl.frag" 9: String "float" 12: String "uint" 38: String "textureProj" @@ -23,73 +23,271 @@ spv.debuginfo.hlsl.frag // OpModuleProcessed keep-uncalled // OpModuleProcessed hlsl-offsets #line 1 +/* +The MIT License (MIT) + +Copyright (c) 2022 Google LLC +Copyright (c) 2022 Sascha Willems + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +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 Software. + +THE SOFTWARE IS 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 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +Texture2D textureposition : register(t1); +SamplerState samplerposition : register(s1); +Texture2D textureNormal : register(t2); +SamplerState samplerNormal : register(s2); +Texture2D textureAlbedo : register(t3); +SamplerState samplerAlbedo : register(s3); +// Depth from the light's point of view +//layout (binding = 5) uniform sampler2DShadow samplerShadowMap; +Texture2DArray textureShadowMap : register(t5); +SamplerState samplerShadowMap : register(s5); + +#define LIGHT_COUNT 3 +#define SHADOW_FACTOR 0.25 +#define AMBIENT_LIGHT 0.1 +#define USE_PCF + +struct Light +{ + float4 position; + float4 target; + float4 color; + float4x4 viewMatrix; +}; + +struct UBO +{ + float4 viewPos; + Light lights[LIGHT_COUNT]; + int useShadows; + int displayDebugTarget; +}; + +cbuffer ubo : register(b4) { UBO ubo; } + +float textureProj(float4 P, float layer, float2 offset) +{ + float shadow = 1.0; + float4 shadowCoord = P / P.w; + shadowCoord.xy = shadowCoord.xy * 0.5 + 0.5; + + if (shadowCoord.z > -1.0 && shadowCoord.z < 1.0) + { + float dist = textureShadowMap.Sample(samplerShadowMap, float3(shadowCoord.xy + offset, layer)).r; + if (shadowCoord.w > 0.0 && dist < shadowCoord.z) + { + shadow = SHADOW_FACTOR; + } + } + return shadow; +} + +float filterPCF(float4 sc, float layer) +{ + int2 texDim; int elements; int levels; + textureShadowMap.GetDimensions(0, texDim.x, texDim.y, elements, levels); + float scale = 1.5; + float dx = scale * 1.0 / float(texDim.x); + float dy = scale * 1.0 / float(texDim.y); + + float shadowFactor = 0.0; + int count = 0; + int range = 1; + + for (int x = -range; x <= range; x++) + { + for (int y = -range; y <= range; y++) + { + shadowFactor += textureProj(sc, layer, float2(dx*x, dy*y)); + count++; + } + + } + return shadowFactor / count; +} + +float3 shadow(float3 fragcolor, float3 fragPos) { + for (int i = 0; i < LIGHT_COUNT; ++i) + { + float4 shadowClip = mul(ubo.lights[i].viewMatrix, float4(fragPos.xyz, 1.0)); + + float shadowFactor; + #ifdef USE_PCF + shadowFactor= filterPCF(shadowClip, i); + #else + shadowFactor = textureProj(shadowClip, i, float2(0.0, 0.0)); + #endif + + fragcolor *= shadowFactor; + } + return fragcolor; +} + +float4 main([[vk::location(0)]] float2 inUV : TEXCOORD0) : SV_TARGET +{ + // Get G-Buffer values + float3 fragPos = textureposition.Sample(samplerposition, inUV).rgb; + float3 normal = textureNormal.Sample(samplerNormal, inUV).rgb; + float4 albedo = textureAlbedo.Sample(samplerAlbedo, inUV); + + float3 fragcolor; + + // Debug display + if (ubo.displayDebugTarget > 0) { + switch (ubo.displayDebugTarget) { + case 1: + fragcolor.rgb = shadow(float3(1.0, 1.0, 1.0), fragPos); + break; + case 2: + fragcolor.rgb = fragPos; + break; + case 3: + fragcolor.rgb = normal; + break; + case 4: + fragcolor.rgb = albedo.rgb; + break; + case 5: + fragcolor.rgb = albedo.aaa; + break; + } + return float4(fragcolor, 1.0); + } + + // Ambient part + fragcolor = albedo.rgb * AMBIENT_LIGHT; + + float3 N = normalize(normal); + + for(int i = 0; i < LIGHT_COUNT; ++i) + { + // Vector to light + float3 L = ubo.lights[i].position.xyz - fragPos; + // Distance from light to fragment position + float dist = length(L); + L = normalize(L); + + // Viewer to fragment + float3 V = ubo.viewPos.xyz - fragPos; + V = normalize(V); + + float lightCosInnerAngle = cos(radians(15.0)); + float lightCosOuterAngle = cos(radians(25.0)); + float lightRange = 100.0; + + // Direction vector from source to target + float3 dir = normalize(ubo.lights[i].position.xyz - ubo.lights[i].target.xyz); + + // Dual cone spot light with smooth transition between inner and outer angle + float cosDir = dot(L, dir); + float spotEffect = smoothstep(lightCosOuterAngle, lightCosInnerAngle, cosDir); + float heightAttenuation = smoothstep(lightRange, 0.0f, dist); + + // Diffuse lighting + float NdotL = max(0.0, dot(N, L)); + float3 diff = NdotL.xxx; + + // Specular lighting + float3 R = reflect(-L, N); + float NdotR = max(0.0, dot(R, V)); + float3 spec = (pow(NdotR, 16.0) * albedo.a * 2.5).xxx; + + fragcolor += float3((diff + spec) * spotEffect * heightAttenuation) * ubo.lights[i].color.rgb * albedo.rgb; + } + + // Shadow calculations in a separate pass + if (ubo.useShadows > 0) + { + fragcolor = shadow(fragcolor, fragPos); + } + + return float4(fragcolor, 1); +} " 47: String "P" 53: String "layer" 56: String "offset" 64: String "filterPCF" 68: String "sc" - 83: String "shadow" - 87: String "fragcolor" - 91: String "fragPos" - 98: String "@main" - 102: String "inUV" - 114: String "shadowCoord" - 141: String "bool" - 152: String "dist" - 159: String "type.2d.image" - 160: String "@type.2d.image" - 166: String "textureShadowMap" - 171: String "type.sampler" - 172: String "@type.sampler" - 177: String "samplerShadowMap" - 181: String "type.sampled.image" - 182: String "@type.sampled.image" - 227: String "sizeQueryTemp" - 234: String "int" - 242: String "texDim" - 258: String "elements" - 265: String "levels" - 272: String "scale" - 279: String "dx" - 291: String "dy" - 303: String "shadowFactor" - 309: String "count" - 316: String "range" - 323: String "x" - 343: String "y" - 409: String "i" - 427: String "shadowClip" - 442: String "color" - 448: String "viewMatrix" - 452: String "Light" - 458: String "lights" - 461: String "displayDebugTarget" - 466: String "UBO" - 469: String "ubo" - 523: String "textureposition" - 528: String "samplerposition" - 538: String "normal" - 544: String "textureNormal" - 549: String "samplerNormal" - 557: String "albedo" - 563: String "textureAlbedo" - 568: String "samplerAlbedo" - 662: String "N" - 686: String "L" - 712: String "V" - 727: String "lightCosInnerAngle" - 734: String "lightCosOuterAngle" - 741: String "lightRange" - 748: String "dir" - 764: String "cosDir" - 773: String "spotEffect" - 783: String "heightAttenuation" - 792: String "NdotL" - 802: String "diff" - 810: String "R" - 820: String "NdotR" - 830: String "spec" + 84: String "shadow" + 88: String "fragcolor" + 93: String "fragPos" + 100: String "@main" + 104: String "inUV" + 119: String "shadowCoord" + 146: String "bool" + 158: String "dist" + 165: String "type.2d.image" + 166: String "@type.2d.image" + 172: String "textureShadowMap" + 177: String "type.sampler" + 178: String "@type.sampler" + 183: String "samplerShadowMap" + 187: String "type.sampled.image" + 188: String "@type.sampled.image" + 229: String "int" + 237: String "texDim" + 246: String "elements" + 250: String "levels" + 258: String "sizeQueryTemp" + 282: String "scale" + 289: String "dx" + 301: String "dy" + 313: String "shadowFactor" + 319: String "count" + 326: String "range" + 336: String "x" + 360: String "y" + 428: String "i" + 447: String "shadowClip" + 462: String "color" + 468: String "viewMatrix" + 472: String "Light" + 478: String "lights" + 481: String "displayDebugTarget" + 486: String "UBO" + 489: String "ubo" + 497: String "" + 548: String "textureposition" + 553: String "samplerposition" + 563: String "normal" + 569: String "textureNormal" + 574: String "samplerNormal" + 582: String "albedo" + 588: String "textureAlbedo" + 593: String "samplerAlbedo" + 684: String "N" + 712: String "L" + 738: String "V" + 753: String "lightCosInnerAngle" + 760: String "lightCosOuterAngle" + 767: String "lightRange" + 774: String "dir" + 790: String "cosDir" + 799: String "spotEffect" + 809: String "heightAttenuation" + 818: String "NdotL" + 828: String "diff" + 836: String "R" + 846: String "NdotR" + 856: String "spec" Name 6 "main" Name 36 "textureProj(vf4;f1;vf2;" Name 33 "P" @@ -98,117 +296,117 @@ spv.debuginfo.hlsl.frag Name 62 "filterPCF(vf4;f1;" Name 60 "sc" Name 61 "layer" - Name 81 "shadow(vf3;vf3;" - Name 79 "fragcolor" - Name 80 "fragPos" - Name 96 "@main(vf2;" - Name 95 "inUV" - Name 106 "shadow" - Name 112 "shadowCoord" - Name 150 "dist" - Name 164 "textureShadowMap" - Name 175 "samplerShadowMap" - Name 225 "sizeQueryTemp" - Name 240 "texDim" - Name 256 "elements" - Name 263 "levels" - Name 270 "scale" - Name 277 "dx" - Name 289 "dy" - Name 301 "shadowFactor" - Name 307 "count" - Name 314 "range" - Name 321 "x" - Name 341 "y" - Name 374 "param" - Name 376 "param" - Name 378 "param" - Name 407 "i" - Name 425 "shadowClip" - Name 440 "Light" - MemberName 440(Light) 0 "position" - MemberName 440(Light) 1 "target" - MemberName 440(Light) 2 "color" - MemberName 440(Light) 3 "viewMatrix" - Name 455 "UBO" - MemberName 455(UBO) 0 "viewPos" - MemberName 455(UBO) 1 "lights" - MemberName 455(UBO) 2 "useShadows" - MemberName 455(UBO) 3 "displayDebugTarget" - Name 467 "ubo" - MemberName 467(ubo) 0 "ubo" - Name 475 "" - Name 483 "shadowFactor" - Name 490 "param" - Name 492 "param" - Name 512 "fragPos" - Name 521 "textureposition" - Name 526 "samplerposition" - Name 536 "normal" - Name 542 "textureNormal" - Name 547 "samplerNormal" - Name 555 "albedo" - Name 561 "textureAlbedo" - Name 566 "samplerAlbedo" - Name 593 "fragcolor" - Name 600 "param" - Name 601 "param" - Name 660 "N" - Name 668 "i" - Name 684 "L" - Name 699 "dist" - Name 710 "V" - Name 725 "lightCosInnerAngle" - Name 732 "lightCosOuterAngle" - Name 739 "lightRange" - Name 746 "dir" - Name 762 "cosDir" - Name 771 "spotEffect" - Name 781 "heightAttenuation" - Name 790 "NdotL" - Name 800 "diff" - Name 808 "R" - Name 818 "NdotR" - Name 828 "spec" - Name 875 "param" - Name 880 "param" - Name 894 "inUV" - Name 896 "inUV" - Name 899 "@entryPointOutput" - Name 900 "param" - Decorate 164(textureShadowMap) DescriptorSet 0 - Decorate 164(textureShadowMap) Binding 5 - Decorate 175(samplerShadowMap) DescriptorSet 0 - Decorate 175(samplerShadowMap) Binding 5 - MemberDecorate 440(Light) 0 Offset 0 - MemberDecorate 440(Light) 1 Offset 16 - MemberDecorate 440(Light) 2 Offset 32 - MemberDecorate 440(Light) 3 RowMajor - MemberDecorate 440(Light) 3 Offset 48 - MemberDecorate 440(Light) 3 MatrixStride 16 - Decorate 453 ArrayStride 112 - MemberDecorate 455(UBO) 0 Offset 0 - MemberDecorate 455(UBO) 1 Offset 16 - MemberDecorate 455(UBO) 2 Offset 352 - MemberDecorate 455(UBO) 3 Offset 356 - MemberDecorate 467(ubo) 0 Offset 0 - Decorate 467(ubo) Block - Decorate 475 DescriptorSet 0 - Decorate 475 Binding 4 - Decorate 521(textureposition) DescriptorSet 0 - Decorate 521(textureposition) Binding 1 - Decorate 526(samplerposition) DescriptorSet 0 - Decorate 526(samplerposition) Binding 1 - Decorate 542(textureNormal) DescriptorSet 0 - Decorate 542(textureNormal) Binding 2 - Decorate 547(samplerNormal) DescriptorSet 0 - Decorate 547(samplerNormal) Binding 2 - Decorate 561(textureAlbedo) DescriptorSet 0 - Decorate 561(textureAlbedo) Binding 3 - Decorate 566(samplerAlbedo) DescriptorSet 0 - Decorate 566(samplerAlbedo) Binding 3 - Decorate 896(inUV) Location 0 - Decorate 899(@entryPointOutput) Location 0 + Name 82 "shadow(vf3;vf3;" + Name 80 "fragcolor" + Name 81 "fragPos" + Name 98 "@main(vf2;" + Name 97 "inUV" + Name 110 "shadow" + Name 117 "shadowCoord" + Name 156 "dist" + Name 170 "textureShadowMap" + Name 181 "samplerShadowMap" + Name 235 "texDim" + Name 244 "elements" + Name 248 "levels" + Name 256 "sizeQueryTemp" + Name 280 "scale" + Name 287 "dx" + Name 299 "dy" + Name 311 "shadowFactor" + Name 317 "count" + Name 324 "range" + Name 334 "x" + Name 358 "y" + Name 391 "param" + Name 393 "param" + Name 395 "param" + Name 426 "i" + Name 445 "shadowClip" + Name 460 "Light" + MemberName 460(Light) 0 "position" + MemberName 460(Light) 1 "target" + MemberName 460(Light) 2 "color" + MemberName 460(Light) 3 "viewMatrix" + Name 475 "UBO" + MemberName 475(UBO) 0 "viewPos" + MemberName 475(UBO) 1 "lights" + MemberName 475(UBO) 2 "useShadows" + MemberName 475(UBO) 3 "displayDebugTarget" + Name 487 "ubo" + MemberName 487(ubo) 0 "ubo" + Name 495 "" + Name 504 "shadowFactor" + Name 513 "param" + Name 515 "param" + Name 536 "fragPos" + Name 546 "textureposition" + Name 551 "samplerposition" + Name 561 "normal" + Name 567 "textureNormal" + Name 572 "samplerNormal" + Name 580 "albedo" + Name 586 "textureAlbedo" + Name 591 "samplerAlbedo" + Name 598 "fragcolor" + Name 625 "param" + Name 629 "param" + Name 682 "N" + Name 693 "i" + Name 710 "L" + Name 725 "dist" + Name 736 "V" + Name 751 "lightCosInnerAngle" + Name 758 "lightCosOuterAngle" + Name 765 "lightRange" + Name 772 "dir" + Name 788 "cosDir" + Name 797 "spotEffect" + Name 807 "heightAttenuation" + Name 816 "NdotL" + Name 826 "diff" + Name 834 "R" + Name 844 "NdotR" + Name 854 "spec" + Name 902 "param" + Name 907 "param" + Name 922 "inUV" + Name 924 "inUV" + Name 927 "@entryPointOutput" + Name 928 "param" + Decorate 170(textureShadowMap) Binding 5 + Decorate 170(textureShadowMap) DescriptorSet 0 + Decorate 181(samplerShadowMap) Binding 5 + Decorate 181(samplerShadowMap) DescriptorSet 0 + MemberDecorate 460(Light) 0 Offset 0 + MemberDecorate 460(Light) 1 Offset 16 + MemberDecorate 460(Light) 2 Offset 32 + MemberDecorate 460(Light) 3 RowMajor + MemberDecorate 460(Light) 3 MatrixStride 16 + MemberDecorate 460(Light) 3 Offset 48 + Decorate 473 ArrayStride 112 + MemberDecorate 475(UBO) 0 Offset 0 + MemberDecorate 475(UBO) 1 Offset 16 + MemberDecorate 475(UBO) 2 Offset 352 + MemberDecorate 475(UBO) 3 Offset 356 + Decorate 487(ubo) Block + MemberDecorate 487(ubo) 0 Offset 0 + Decorate 495 Binding 4 + Decorate 495 DescriptorSet 0 + Decorate 546(textureposition) Binding 1 + Decorate 546(textureposition) DescriptorSet 0 + Decorate 551(samplerposition) Binding 1 + Decorate 551(samplerposition) DescriptorSet 0 + Decorate 567(textureNormal) Binding 2 + Decorate 567(textureNormal) DescriptorSet 0 + Decorate 572(samplerNormal) Binding 2 + Decorate 572(samplerNormal) DescriptorSet 0 + Decorate 586(textureAlbedo) Binding 3 + Decorate 586(textureAlbedo) DescriptorSet 0 + Decorate 591(samplerAlbedo) Binding 3 + Decorate 591(samplerAlbedo) DescriptorSet 0 + Decorate 924(inUV) Location 0 + Decorate 927(@entryPointOutput) Location 0 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -249,249 +447,271 @@ spv.debuginfo.hlsl.frag 66: 11(int) Constant 78 65: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 64 59 40 66 16 43 64 17 66 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 68 20 40 66 16 65 19 44 - 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 53 10 40 66 16 65 19 27 - 73: TypeVector 8(float) 3 - 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17 - 75: TypePointer Function 73(fvec3) - 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 74 22 16 - 77: TypeFunction 73(fvec3) 75(ptr) 75(ptr) - 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 74 74 74 - 85: 11(int) Constant 101 - 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 83 78 40 85 16 43 83 17 85 - 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 87 74 40 85 16 84 19 44 - 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 91 74 40 85 16 84 19 27 - 93: TypeFunction 18(fvec4) 29(ptr) - 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 20 28 - 100: 11(int) Constant 119 - 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 98 94 40 100 16 43 98 17 100 - 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 102 28 40 100 16 99 19 44 - 108: 11(int) Constant 62 - 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 10 40 108 16 39 19 - 111: 8(float) Constant 1065353216 - 115: 11(int) Constant 63 - 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 114 20 40 115 16 39 19 - 125: 11(int) Constant 64 - 127: 8(float) Constant 1056964608 - 137: 11(int) Constant 66 - 139: 8(float) Constant 3212836864 - 140: TypeBool - 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 141 14 27 16 - 153: 11(int) Constant 68 - 151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 152 10 40 153 16 39 19 - 157: TypeImage 8(float) 2D array sampled format:Unknown - 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 159 16 40 153 16 43 160 161 17 - 162: TypePointer UniformConstant 157 - 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 158 16 16 -164(textureShadowMap): 162(ptr) Variable UniformConstant - 167: 11(int) Constant 8 - 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 166 158 40 153 16 43 166 164(textureShadowMap) 167 - 169: TypeSampler - 170: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 171 44 40 153 16 43 172 161 17 - 173: TypePointer UniformConstant 169 - 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 170 16 16 -175(samplerShadowMap): 173(ptr) Variable UniformConstant - 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 177 170 40 153 16 43 177 175(samplerShadowMap) 167 - 179: TypeSampledImage 157 - 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 181 16 40 153 16 43 182 161 17 - 196: 11(int) Constant 69 - 198: 8(float) Constant 0 - 207: 8(float) Constant 1048576000 - 210: 11(int) Constant 71 - 215: 11(int) Constant 74 - 221: TypeVector 11(int) 3 - 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 13 17 - 223: TypePointer Function 221(ivec3) - 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 222 22 16 - 228: 11(int) Constant 80 - 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 227 222 40 228 16 65 19 - 233: TypeInt 32 1 - 235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 234 14 19 16 - 236: TypeVector 233(int) 2 - 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 235 27 - 238: TypePointer Function 236(ivec2) - 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 237 22 16 - 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 242 237 40 228 16 65 19 - 244: TypePointer Function 11(int) - 245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 22 16 - 249: TypePointer Function 233(int) - 250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 235 22 16 - 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 258 235 40 228 16 65 19 - 264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 265 235 40 228 16 65 19 - 273: 11(int) Constant 81 - 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 272 10 40 273 16 65 19 - 276: 8(float) Constant 1069547520 - 280: 11(int) Constant 82 - 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 279 10 40 280 16 65 19 - 292: 11(int) Constant 83 - 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 291 10 40 292 16 65 19 - 304: 11(int) Constant 85 - 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 303 10 40 304 16 65 19 - 310: 11(int) Constant 86 - 308: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 309 235 40 310 16 65 19 - 313: 233(int) Constant 0 - 317: 11(int) Constant 87 - 315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 316 235 40 317 16 65 19 - 320: 233(int) Constant 1 - 324: 11(int) Constant 89 - 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 323 235 40 324 16 65 19 - 344: 11(int) Constant 91 - 342: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 343 235 40 344 16 65 19 - 365: 11(int) Constant 93 - 384: 11(int) Constant 94 - 398: 11(int) Constant 98 - 410: 11(int) Constant 102 - 408: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 409 235 40 410 16 84 19 - 423: 233(int) Constant 3 - 428: 11(int) Constant 104 - 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 427 20 40 428 16 84 19 - 437: TypeMatrix 18(fvec4) 4 - 439: 140(bool) ConstantTrue - 438: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 439 - 440(Light): TypeStruct 18(fvec4) 18(fvec4) 18(fvec4) 437 - 443: 11(int) Constant 46 - 444: 11(int) Constant 14 - 441: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 442 20 40 443 444 16 16 17 - 445: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 442 20 40 443 444 16 16 17 - 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 442 20 40 443 444 16 16 17 - 449: 11(int) Constant 47 - 450: 11(int) Constant 21 - 447: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 448 438 40 449 450 16 16 17 - 451: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 452 44 40 428 16 43 452 16 17 441 445 446 447 - 453: TypeArray 440(Light) 17 - 454: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 451 17 - 455(UBO): TypeStruct 18(fvec4) 453 233(int) 233(int) - 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 442 20 40 443 444 16 16 17 - 459: 11(int) Constant 53 - 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 458 454 40 459 444 16 16 17 - 462: 11(int) Constant 55 - 463: 11(int) Constant 24 - 460: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 461 235 40 462 463 16 16 17 - 464: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 461 235 40 462 463 16 16 17 - 465: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 466 44 40 428 16 43 466 16 17 456 457 460 464 - 467(ubo): TypeStruct 455(UBO) - 470: 11(int) Constant 58 - 471: 11(int) Constant 37 - 468: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 469 465 40 470 471 16 16 17 - 472: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 469 44 40 428 16 43 469 16 17 468 - 473: TypePointer Uniform 467(ubo) - 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 472 27 16 - 475: 473(ptr) Variable Uniform - 476: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 472 40 428 16 43 2 475 167 - 478: TypePointer Uniform 437 - 479: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 438 27 16 - 485: 11(int) Constant 108 - 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 303 10 40 485 16 84 19 - 496: 11(int) Constant 113 - 506: 11(int) Constant 115 - 514: 11(int) Constant 121 - 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 91 74 40 514 16 99 19 - 517: TypeImage 8(float) 2D sampled format:Unknown - 518: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 159 16 40 514 16 43 160 161 17 - 519: TypePointer UniformConstant 517 - 520: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 518 16 16 -521(textureposition): 519(ptr) Variable UniformConstant - 522: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 523 518 40 514 16 43 523 521(textureposition) 167 - 525: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 171 44 40 514 16 43 172 161 17 -526(samplerposition): 173(ptr) Variable UniformConstant - 527: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 528 525 40 514 16 43 528 526(samplerposition) 167 - 530: TypeSampledImage 517 - 531: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 181 16 40 514 16 43 182 161 17 - 539: 11(int) Constant 122 - 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 538 74 40 539 16 99 19 -542(textureNormal): 519(ptr) Variable UniformConstant - 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 544 518 40 539 16 43 544 542(textureNormal) 167 - 546: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 171 44 40 539 16 43 172 161 17 -547(samplerNormal): 173(ptr) Variable UniformConstant - 548: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 549 546 40 539 16 43 549 547(samplerNormal) 167 - 558: 11(int) Constant 123 - 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 557 20 40 558 16 99 19 -561(textureAlbedo): 519(ptr) Variable UniformConstant - 562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 563 518 40 558 16 43 563 561(textureAlbedo) 167 - 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 171 44 40 558 16 43 172 161 17 -566(samplerAlbedo): 173(ptr) Variable UniformConstant - 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 568 565 40 558 16 43 568 566(samplerAlbedo) 167 - 573: TypePointer Uniform 233(int) - 574: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 235 27 16 - 577: 11(int) Constant 128 - 585: 11(int) Constant 129 - 595: 11(int) Constant 131 - 594: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 87 74 40 595 16 99 19 - 599: 73(fvec3) ConstantComposite 111 111 111 - 605: 11(int) Constant 132 - 611: 11(int) Constant 134 - 613: 11(int) Constant 135 - 619: 11(int) Constant 137 - 621: 11(int) Constant 138 - 627: 11(int) Constant 140 - 630: 11(int) Constant 141 - 636: 11(int) Constant 143 - 639: 11(int) Constant 144 - 646: 11(int) Constant 146 - 656: 11(int) Constant 150 - 658: 8(float) Constant 1036831949 - 663: 11(int) Constant 152 - 661: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 662 74 40 663 16 99 19 - 670: 11(int) Constant 154 - 669: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 409 235 40 670 16 99 19 - 687: 11(int) Constant 157 - 685: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 686 74 40 687 16 99 19 - 692: TypePointer Uniform 18(fvec4) - 693: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 27 16 - 701: 11(int) Constant 159 - 700: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 152 10 40 701 16 99 19 - 708: 11(int) Constant 160 - 713: 11(int) Constant 163 - 711: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 712 74 40 713 16 99 19 - 723: 11(int) Constant 164 - 728: 11(int) Constant 166 - 726: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 727 10 40 728 16 99 19 - 731: 8(float) Constant 1064781546 - 735: 11(int) Constant 167 - 733: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 734 10 40 735 16 99 19 - 738: 8(float) Constant 1063781322 - 742: 11(int) Constant 168 - 740: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 741 10 40 742 16 99 19 - 745: 8(float) Constant 1120403456 - 749: 11(int) Constant 171 - 747: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 748 74 40 749 16 99 19 - 765: 11(int) Constant 174 - 763: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 764 10 40 765 16 99 19 - 774: 11(int) Constant 175 - 772: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 773 10 40 774 16 99 19 - 784: 11(int) Constant 176 - 782: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 783 10 40 784 16 99 19 - 793: 11(int) Constant 179 - 791: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 792 10 40 793 16 99 19 - 803: 11(int) Constant 180 - 801: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 802 74 40 803 16 99 19 - 811: 11(int) Constant 183 - 809: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 810 74 40 811 16 99 19 - 821: 11(int) Constant 184 - 819: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 820 10 40 821 16 99 19 - 831: 11(int) Constant 185 - 829: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 830 74 40 831 16 99 19 - 835: 8(float) Constant 1098907648 - 840: 8(float) Constant 1075838976 - 845: 11(int) Constant 187 - 853: 233(int) Constant 2 - 870: 11(int) Constant 191 - 879: 11(int) Constant 193 - 886: 11(int) Constant 196 - 895: TypePointer Input 26(fvec2) - 896(inUV): 895(ptr) Variable Input - 898: TypePointer Output 18(fvec4) -899(@entryPointOutput): 898(ptr) Variable Output + 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 53 10 40 66 16 65 19 27 + 74: TypeVector 8(float) 3 + 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17 + 76: TypePointer Function 74(fvec3) + 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 75 22 16 + 78: TypeFunction 74(fvec3) 76(ptr) 76(ptr) + 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 75 75 75 + 86: 11(int) Constant 101 + 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 84 79 40 86 16 43 84 17 86 + 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 40 86 16 85 19 44 + 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 75 40 86 16 85 19 27 + 95: TypeFunction 18(fvec4) 29(ptr) + 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 20 28 + 102: 11(int) Constant 119 + 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 100 96 40 102 16 43 100 17 102 + 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 104 28 40 102 16 101 19 44 + 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 39 + 112: 11(int) Constant 62 + 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 84 10 40 112 16 109 19 + 116: 8(float) Constant 1065353216 + 120: 11(int) Constant 63 + 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 119 20 40 120 16 109 19 + 130: 11(int) Constant 64 + 132: 8(float) Constant 1056964608 + 142: 11(int) Constant 66 + 144: 8(float) Constant 3212836864 + 145: TypeBool + 147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 146 14 27 16 + 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 109 + 159: 11(int) Constant 68 + 157: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 158 10 40 159 16 155 19 + 163: TypeImage 8(float) 2D array sampled format:Unknown + 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 165 16 40 159 16 43 166 167 17 + 168: TypePointer UniformConstant 163 + 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 164 16 16 +170(textureShadowMap): 168(ptr) Variable UniformConstant + 173: 11(int) Constant 8 + 171: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 172 164 40 159 16 43 172 170(textureShadowMap) 173 + 175: TypeSampler + 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 177 44 40 159 16 43 178 167 17 + 179: TypePointer UniformConstant 175 + 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 176 16 16 +181(samplerShadowMap): 179(ptr) Variable UniformConstant + 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 183 176 40 159 16 43 183 181(samplerShadowMap) 173 + 185: TypeSampledImage 163 + 186: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 187 16 40 159 16 43 188 167 17 + 202: 11(int) Constant 69 + 204: 8(float) Constant 0 + 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 155 + 214: 8(float) Constant 1048576000 + 217: 11(int) Constant 71 + 221: 11(int) Constant 74 + 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 65 + 228: TypeInt 32 1 + 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 229 14 19 16 + 231: TypeVector 228(int) 2 + 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 230 27 + 233: TypePointer Function 231(ivec2) + 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 232 22 16 + 238: 11(int) Constant 79 + 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 237 232 40 238 16 227 19 + 242: TypePointer Function 228(int) + 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 230 22 16 + 245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 246 230 40 238 16 227 19 + 249: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 250 230 40 238 16 227 19 + 252: TypeVector 11(int) 3 + 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 13 17 + 254: TypePointer Function 252(ivec3) + 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 253 22 16 + 259: 11(int) Constant 80 + 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 258 253 40 259 16 227 19 + 264: TypePointer Function 11(int) + 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 22 16 + 283: 11(int) Constant 81 + 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 282 10 40 283 16 227 19 + 286: 8(float) Constant 1069547520 + 290: 11(int) Constant 82 + 288: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 289 10 40 290 16 227 19 + 302: 11(int) Constant 83 + 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 301 10 40 302 16 227 19 + 314: 11(int) Constant 85 + 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 313 10 40 314 16 227 19 + 320: 11(int) Constant 86 + 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 319 230 40 320 16 227 19 + 323: 228(int) Constant 0 + 327: 11(int) Constant 87 + 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 326 230 40 327 16 227 19 + 330: 228(int) Constant 1 + 332: 11(int) Constant 89 + 333: 11(int) Constant 11 + 331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 332 333 227 + 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 336 230 40 332 16 331 19 + 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 331 + 356: 11(int) Constant 91 + 357: 11(int) Constant 12 + 355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 356 357 354 + 359: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 360 230 40 356 16 355 19 + 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 355 + 382: 11(int) Constant 93 + 401: 11(int) Constant 94 + 414: 11(int) Constant 98 + 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 85 + 425: 11(int) Constant 102 + 424: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 425 333 423 + 427: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 428 230 40 425 16 424 19 + 442: 228(int) Constant 3 + 444: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 424 + 448: 11(int) Constant 104 + 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 447 20 40 448 16 444 19 + 457: TypeMatrix 18(fvec4) 4 + 459: 145(bool) ConstantTrue + 458: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 459 + 460(Light): TypeStruct 18(fvec4) 18(fvec4) 18(fvec4) 457 + 463: 11(int) Constant 46 + 464: 11(int) Constant 14 + 461: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 462 20 40 463 464 16 16 17 + 465: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 462 20 40 463 464 16 16 17 + 466: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 462 20 40 463 464 16 16 17 + 469: 11(int) Constant 47 + 470: 11(int) Constant 21 + 467: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 468 458 40 469 470 16 16 17 + 471: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 472 44 40 448 16 43 472 16 17 461 465 466 467 + 473: TypeArray 460(Light) 17 + 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 471 17 + 475(UBO): TypeStruct 18(fvec4) 473 228(int) 228(int) + 476: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 462 20 40 463 464 16 16 17 + 479: 11(int) Constant 53 + 477: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 478 474 40 479 464 16 16 17 + 482: 11(int) Constant 55 + 483: 11(int) Constant 24 + 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 481 230 40 482 483 16 16 17 + 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 481 230 40 482 483 16 16 17 + 485: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 486 44 40 448 16 43 486 16 17 476 477 480 484 + 487(ubo): TypeStruct 475(UBO) + 490: 11(int) Constant 58 + 491: 11(int) Constant 37 + 488: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 489 485 40 490 491 16 16 17 + 492: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 489 44 40 448 16 43 489 16 17 488 + 493: TypePointer Uniform 487(ubo) + 494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 492 27 16 + 495: 493(ptr) Variable Uniform + 496: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 497 492 40 448 16 43 497 495 173 + 499: TypePointer Uniform 457 + 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 458 27 16 + 506: 11(int) Constant 106 + 505: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 313 10 40 506 16 444 19 + 511: 11(int) Constant 108 + 519: 11(int) Constant 113 + 529: 11(int) Constant 115 + 535: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 101 + 538: 11(int) Constant 121 + 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 75 40 538 16 535 19 + 542: TypeImage 8(float) 2D sampled format:Unknown + 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 165 16 40 538 16 43 166 167 17 + 544: TypePointer UniformConstant 542 + 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 543 16 16 +546(textureposition): 544(ptr) Variable UniformConstant + 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 548 543 40 538 16 43 548 546(textureposition) 173 + 550: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 177 44 40 538 16 43 178 167 17 +551(samplerposition): 179(ptr) Variable UniformConstant + 552: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 553 550 40 538 16 43 553 551(samplerposition) 173 + 555: TypeSampledImage 542 + 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 187 16 40 538 16 43 188 167 17 + 564: 11(int) Constant 122 + 562: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 563 75 40 564 16 535 19 +567(textureNormal): 544(ptr) Variable UniformConstant + 568: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 569 543 40 564 16 43 569 567(textureNormal) 173 + 571: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 177 44 40 564 16 43 178 167 17 +572(samplerNormal): 179(ptr) Variable UniformConstant + 573: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 574 571 40 564 16 43 574 572(samplerNormal) 173 + 583: 11(int) Constant 123 + 581: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 582 20 40 583 16 535 19 +586(textureAlbedo): 544(ptr) Variable UniformConstant + 587: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 588 543 40 583 16 43 588 586(textureAlbedo) 173 + 590: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 177 44 40 583 16 43 178 167 17 +591(samplerAlbedo): 179(ptr) Variable UniformConstant + 592: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 593 590 40 583 16 43 593 591(samplerAlbedo) 173 + 600: 11(int) Constant 125 + 599: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 88 75 40 600 16 535 19 + 603: TypePointer Uniform 228(int) + 604: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 230 27 16 + 607: 11(int) Constant 128 + 612: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 535 + 616: 11(int) Constant 129 + 624: 74(fvec3) ConstantComposite 116 116 116 + 628: 11(int) Constant 131 + 633: 11(int) Constant 132 + 638: 11(int) Constant 134 + 640: 11(int) Constant 135 + 645: 11(int) Constant 137 + 647: 11(int) Constant 138 + 652: 11(int) Constant 140 + 655: 11(int) Constant 141 + 660: 11(int) Constant 143 + 663: 11(int) Constant 144 + 669: 11(int) Constant 146 + 678: 11(int) Constant 150 + 680: 8(float) Constant 1036831949 + 685: 11(int) Constant 152 + 683: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 684 75 40 685 16 535 19 + 691: 11(int) Constant 154 + 692: 11(int) Constant 10 + 690: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 691 692 535 + 694: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 428 230 40 691 16 690 19 + 709: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 690 + 713: 11(int) Constant 157 + 711: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 712 75 40 713 16 709 19 + 718: TypePointer Uniform 18(fvec4) + 719: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 27 16 + 727: 11(int) Constant 159 + 726: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 158 10 40 727 16 709 19 + 734: 11(int) Constant 160 + 739: 11(int) Constant 163 + 737: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 738 75 40 739 16 709 19 + 749: 11(int) Constant 164 + 754: 11(int) Constant 166 + 752: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 753 10 40 754 16 709 19 + 757: 8(float) Constant 1064781546 + 761: 11(int) Constant 167 + 759: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 760 10 40 761 16 709 19 + 764: 8(float) Constant 1063781322 + 768: 11(int) Constant 168 + 766: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 767 10 40 768 16 709 19 + 771: 8(float) Constant 1120403456 + 775: 11(int) Constant 171 + 773: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 774 75 40 775 16 709 19 + 791: 11(int) Constant 174 + 789: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 790 10 40 791 16 709 19 + 800: 11(int) Constant 175 + 798: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 799 10 40 800 16 709 19 + 810: 11(int) Constant 176 + 808: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 809 10 40 810 16 709 19 + 819: 11(int) Constant 179 + 817: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 818 10 40 819 16 709 19 + 829: 11(int) Constant 180 + 827: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 828 75 40 829 16 709 19 + 837: 11(int) Constant 183 + 835: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 836 75 40 837 16 709 19 + 847: 11(int) Constant 184 + 845: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 846 10 40 847 16 709 19 + 857: 11(int) Constant 185 + 855: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 856 75 40 857 16 709 19 + 861: 8(float) Constant 1098907648 + 866: 8(float) Constant 1075838976 + 871: 11(int) Constant 187 + 879: 228(int) Constant 2 + 896: 11(int) Constant 191 + 901: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 40 16 16 535 + 906: 11(int) Constant 193 + 913: 11(int) Constant 196 + 923: TypePointer Input 26(fvec2) + 924(inUV): 923(ptr) Variable Input + 926: TypePointer Output 18(fvec4) +927(@entryPointOutput): 926(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 894(inUV): 29(ptr) Variable Function - 900(param): 29(ptr) Variable Function - 897: 26(fvec2) Load 896(inUV) - Store 894(inUV) 897 - 901: 26(fvec2) Load 894(inUV) - Store 900(param) 901 - 902: 18(fvec4) FunctionCall 96(@main(vf2;) 900(param) - Store 899(@entryPointOutput) 902 + 922(inUV): 29(ptr) Variable Function + 928(param): 29(ptr) Variable Function + 925: 26(fvec2) Load 924(inUV) + Store 922(inUV) 925 + 929: 26(fvec2) Load 922(inUV) + Store 928(param) 929 + 930: 18(fvec4) FunctionCall 98(@main(vf2;) 928(param) + Store 927(@entryPointOutput) 930 Return FunctionEnd 36(textureProj(vf4;f1;vf2;): 8(float) Function None 31 @@ -499,646 +719,653 @@ spv.debuginfo.hlsl.frag 34(layer): 24(ptr) FunctionParameter 35(offset): 29(ptr) FunctionParameter 37: Label - 106(shadow): 24(ptr) Variable Function -112(shadowCoord): 21(ptr) Variable Function - 150(dist): 24(ptr) Variable Function + 110(shadow): 24(ptr) Variable Function +117(shadowCoord): 21(ptr) Variable Function + 156(dist): 24(ptr) Variable Function 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 42 42 16 16 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 46 33(P) 49 54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 52 34(layer) 49 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 55 35(offset) 49 - 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 39 36(textureProj(vf4;f1;vf2;) - 110: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 108 108 16 16 - 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 107 106(shadow) 49 - Store 106(shadow) 111 - 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 115 115 16 16 - 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 113 112(shadowCoord) 49 - 118: 18(fvec4) Load 33(P) - 119: 24(ptr) AccessChain 33(P) 17 - 120: 8(float) Load 119 - 121: 18(fvec4) CompositeConstruct 120 120 120 120 - 122: 18(fvec4) FDiv 118 121 - Store 112(shadowCoord) 122 - 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 125 125 16 16 - 123: 18(fvec4) Load 112(shadowCoord) - 126: 26(fvec2) VectorShuffle 123 123 0 1 - 128: 26(fvec2) VectorTimesScalar 126 127 - 129: 26(fvec2) CompositeConstruct 127 127 - 130: 26(fvec2) FAdd 128 129 - 131: 24(ptr) AccessChain 112(shadowCoord) 16 - 132: 8(float) CompositeExtract 130 0 - Store 131 132 - 133: 24(ptr) AccessChain 112(shadowCoord) 44 - 134: 8(float) CompositeExtract 130 1 - Store 133 134 - 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 137 137 16 16 - 135: 24(ptr) AccessChain 112(shadowCoord) 27 - 138: 8(float) Load 135 - 143: 140(bool) FOrdGreaterThan 138 139 - 144: 24(ptr) AccessChain 112(shadowCoord) 27 - 145: 8(float) Load 144 - 146: 140(bool) FOrdLessThan 145 111 - 147: 140(bool) LogicalAnd 143 146 - SelectionMerge 149 None - BranchConditional 147 148 149 - 148: Label - 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - 156: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 153 153 16 16 - 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 151 150(dist) 49 - 168: 157 Load 164(textureShadowMap) - 178: 169 Load 175(samplerShadowMap) - 183: 179 SampledImage 168 178 - 184: 18(fvec4) Load 112(shadowCoord) - 185: 26(fvec2) VectorShuffle 184 184 0 1 - 186: 26(fvec2) Load 35(offset) - 187: 26(fvec2) FAdd 185 186 - 188: 8(float) Load 34(layer) - 189: 8(float) CompositeExtract 187 0 - 190: 8(float) CompositeExtract 187 1 - 191: 73(fvec3) CompositeConstruct 189 190 188 - 192: 18(fvec4) ImageSampleImplicitLod 183 191 - 193: 8(float) CompositeExtract 192 0 - Store 150(dist) 193 - 195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 196 196 16 16 - 194: 24(ptr) AccessChain 112(shadowCoord) 17 - 197: 8(float) Load 194 - 199: 140(bool) FOrdGreaterThan 197 198 - 200: 8(float) Load 150(dist) - 201: 24(ptr) AccessChain 112(shadowCoord) 27 - 202: 8(float) Load 201 - 203: 140(bool) FOrdLessThan 200 202 - 204: 140(bool) LogicalAnd 199 203 - SelectionMerge 206 None - BranchConditional 204 205 206 - 205: Label - 208: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 210 210 16 16 - Store 106(shadow) 207 - Branch 206 - 206: Label - 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - Branch 149 - 149: Label - 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 - 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 215 215 16 16 - 212: 8(float) Load 106(shadow) - ReturnValue 212 + 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 39 36(textureProj(vf4;f1;vf2;) + 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 109 + 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 112 112 16 16 + 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 111 110(shadow) 49 + Store 110(shadow) 116 + 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 120 120 16 16 + 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 118 117(shadowCoord) 49 + 123: 18(fvec4) Load 33(P) + 124: 24(ptr) AccessChain 33(P) 17 + 125: 8(float) Load 124 + 126: 18(fvec4) CompositeConstruct 125 125 125 125 + 127: 18(fvec4) FDiv 123 126 + Store 117(shadowCoord) 127 + 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 130 130 16 16 + 128: 18(fvec4) Load 117(shadowCoord) + 131: 26(fvec2) VectorShuffle 128 128 0 1 + 133: 26(fvec2) VectorTimesScalar 131 132 + 134: 26(fvec2) CompositeConstruct 132 132 + 135: 26(fvec2) FAdd 133 134 + 136: 24(ptr) AccessChain 117(shadowCoord) 16 + 137: 8(float) CompositeExtract 135 0 + Store 136 137 + 138: 24(ptr) AccessChain 117(shadowCoord) 44 + 139: 8(float) CompositeExtract 135 1 + Store 138 139 + 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 142 142 16 16 + 140: 24(ptr) AccessChain 117(shadowCoord) 27 + 143: 8(float) Load 140 + 148: 145(bool) FOrdGreaterThan 143 144 + 149: 24(ptr) AccessChain 117(shadowCoord) 27 + 150: 8(float) Load 149 + 151: 145(bool) FOrdLessThan 150 116 + 152: 145(bool) LogicalAnd 148 151 + SelectionMerge 154 None + BranchConditional 152 153 154 + 153: Label + 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 155 + 162: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 159 159 16 16 + 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 157 156(dist) 49 + 174: 163 Load 170(textureShadowMap) + 184: 175 Load 181(samplerShadowMap) + 189: 185 SampledImage 174 184 + 190: 18(fvec4) Load 117(shadowCoord) + 191: 26(fvec2) VectorShuffle 190 190 0 1 + 192: 26(fvec2) Load 35(offset) + 193: 26(fvec2) FAdd 191 192 + 194: 8(float) Load 34(layer) + 195: 8(float) CompositeExtract 193 0 + 196: 8(float) CompositeExtract 193 1 + 197: 74(fvec3) CompositeConstruct 195 196 194 + 198: 18(fvec4) ImageSampleImplicitLod 189 197 + 199: 8(float) CompositeExtract 198 0 + Store 156(dist) 199 + 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 202 202 16 16 + 200: 24(ptr) AccessChain 117(shadowCoord) 17 + 203: 8(float) Load 200 + 205: 145(bool) FOrdGreaterThan 203 204 + 206: 8(float) Load 156(dist) + 207: 24(ptr) AccessChain 117(shadowCoord) 27 + 208: 8(float) Load 207 + 209: 145(bool) FOrdLessThan 206 208 + 210: 145(bool) LogicalAnd 205 209 + SelectionMerge 212 None + BranchConditional 210 211 212 + 211: Label + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 213 + 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 217 217 16 16 + Store 110(shadow) 214 + Branch 212 + 212: Label + Branch 154 + 154: Label + 219: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 109 + 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 221 221 16 16 + 218: 8(float) Load 110(shadow) + ReturnValue 218 FunctionEnd 62(filterPCF(vf4;f1;): 8(float) Function None 58 60(sc): 21(ptr) FunctionParameter 61(layer): 24(ptr) FunctionParameter 63: Label -225(sizeQueryTemp): 223(ptr) Variable Function - 240(texDim): 238(ptr) Variable Function - 256(elements): 249(ptr) Variable Function - 263(levels): 249(ptr) Variable Function - 270(scale): 24(ptr) Variable Function - 277(dx): 24(ptr) Variable Function - 289(dy): 24(ptr) Variable Function -301(shadowFactor): 24(ptr) Variable Function - 307(count): 249(ptr) Variable Function - 314(range): 249(ptr) Variable Function - 321(x): 249(ptr) Variable Function - 341(y): 249(ptr) Variable Function - 374(param): 21(ptr) Variable Function - 376(param): 24(ptr) Variable Function - 378(param): 29(ptr) Variable Function + 235(texDim): 233(ptr) Variable Function + 244(elements): 242(ptr) Variable Function + 248(levels): 242(ptr) Variable Function +256(sizeQueryTemp): 254(ptr) Variable Function + 280(scale): 24(ptr) Variable Function + 287(dx): 24(ptr) Variable Function + 299(dy): 24(ptr) Variable Function +311(shadowFactor): 24(ptr) Variable Function + 317(count): 242(ptr) Variable Function + 324(range): 242(ptr) Variable Function + 334(x): 242(ptr) Variable Function + 358(y): 242(ptr) Variable Function + 391(param): 21(ptr) Variable Function + 393(param): 24(ptr) Variable Function + 395(param): 29(ptr) Variable Function 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 66 66 16 16 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 67 60(sc) 49 - 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 71 61(layer) 49 - 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 66 66 16 16 - 219: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) - 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 228 228 16 16 - 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 226 225(sizeQueryTemp) 49 - 231: 157 Load 164(textureShadowMap) - 232: 221(ivec3) ImageQuerySizeLod 231 16 - Store 225(sizeQueryTemp) 232 - 243: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 241 240(texDim) 49 - 246: 244(ptr) AccessChain 225(sizeQueryTemp) 16 - 247: 11(int) Load 246 - 248: 233(int) Bitcast 247 - 251: 249(ptr) AccessChain 240(texDim) 16 - Store 251 248 - 252: 244(ptr) AccessChain 225(sizeQueryTemp) 44 - 253: 11(int) Load 252 - 254: 233(int) Bitcast 253 - 255: 249(ptr) AccessChain 240(texDim) 44 - Store 255 254 - 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 257 256(elements) 49 - 260: 244(ptr) AccessChain 225(sizeQueryTemp) 27 - 261: 11(int) Load 260 - 262: 233(int) Bitcast 261 - Store 256(elements) 262 - 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 264 263(levels) 49 - 267: 157 Load 164(textureShadowMap) - 268: 11(int) ImageQueryLevels 267 - 269: 233(int) Bitcast 268 - Store 263(levels) 269 - 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 273 273 16 16 - 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 271 270(scale) 49 - Store 270(scale) 276 - 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 280 280 16 16 - 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 278 277(dx) 49 - 283: 8(float) Load 270(scale) - 284: 8(float) FMul 283 111 - 285: 249(ptr) AccessChain 240(texDim) 16 - 286: 233(int) Load 285 - 287: 8(float) ConvertSToF 286 - 288: 8(float) FDiv 284 287 - Store 277(dx) 288 - 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 292 292 16 16 - 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 290 289(dy) 49 - 295: 8(float) Load 270(scale) - 296: 8(float) FMul 295 111 - 297: 249(ptr) AccessChain 240(texDim) 44 - 298: 233(int) Load 297 - 299: 8(float) ConvertSToF 298 - 300: 8(float) FDiv 296 299 - Store 289(dy) 300 - 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 304 304 16 16 - 305: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 302 301(shadowFactor) 49 - Store 301(shadowFactor) 198 - 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 310 310 16 16 - 311: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 308 307(count) 49 - Store 307(count) 313 - 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 317 317 16 16 - 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 315 314(range) 49 - Store 314(range) 320 - 326: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 324 324 16 16 - 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 322 321(x) 49 - 327: 233(int) Load 314(range) - 328: 233(int) SNegate 327 - Store 321(x) 328 - Branch 329 - 329: Label - 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 324 324 16 16 - LoopMerge 331 332 None - Branch 335 - 335: Label - 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 338: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 324 324 16 16 - 336: 233(int) Load 321(x) - 339: 233(int) Load 314(range) - 340: 140(bool) SLessThanEqual 336 339 - BranchConditional 340 330 331 - 330: Label - 346: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 344 344 16 16 - 345: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 342 341(y) 49 - 348: 233(int) Load 314(range) - 349: 233(int) SNegate 348 - Store 341(y) 349 - Branch 350 - 350: Label - 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 355: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 344 344 16 16 - LoopMerge 352 353 None - Branch 356 - 356: Label - 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 359: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 344 344 16 16 - 357: 233(int) Load 341(y) - 360: 233(int) Load 314(range) - 361: 140(bool) SLessThanEqual 357 360 - BranchConditional 361 351 352 - 351: Label - 363: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 364: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 365 365 16 16 - 362: 8(float) Load 277(dx) - 366: 233(int) Load 321(x) - 367: 8(float) ConvertSToF 366 - 368: 8(float) FMul 362 367 - 369: 8(float) Load 289(dy) - 370: 233(int) Load 341(y) - 371: 8(float) ConvertSToF 370 - 372: 8(float) FMul 369 371 - 373: 26(fvec2) CompositeConstruct 368 372 - 375: 18(fvec4) Load 60(sc) - Store 374(param) 375 - 377: 8(float) Load 61(layer) - Store 376(param) 377 - Store 378(param) 373 - 379: 8(float) FunctionCall 36(textureProj(vf4;f1;vf2;) 374(param) 376(param) 378(param) - 380: 8(float) Load 301(shadowFactor) - 381: 8(float) FAdd 380 379 - Store 301(shadowFactor) 381 - 383: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 384 384 16 16 - 382: 233(int) Load 307(count) - 385: 233(int) IAdd 382 320 - Store 307(count) 385 - Branch 353 - 353: Label - 387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 344 344 16 16 - 386: 233(int) Load 341(y) - 389: 233(int) IAdd 386 320 - Store 341(y) 389 - Branch 350 - 352: Label - 390: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - Branch 332 - 332: Label - 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 324 324 16 16 - 391: 233(int) Load 321(x) - 394: 233(int) IAdd 391 320 - Store 321(x) 394 - Branch 329 - 331: Label - 396: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 65 - 397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 398 398 16 16 - 395: 8(float) Load 301(shadowFactor) - 399: 233(int) Load 307(count) - 400: 8(float) ConvertSToF 399 - 401: 8(float) FDiv 395 400 - ReturnValue 401 + 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 72 61(layer) 49 + 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 65 62(filterPCF(vf4;f1;) + 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 227 + 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 238 238 16 16 + 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 236 235(texDim) 49 + 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 245 244(elements) 49 + 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 249 248(levels) 49 + 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 259 259 16 16 + 260: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 257 256(sizeQueryTemp) 49 + 262: 163 Load 170(textureShadowMap) + 263: 252(ivec3) ImageQuerySizeLod 262 16 + Store 256(sizeQueryTemp) 263 + 266: 264(ptr) AccessChain 256(sizeQueryTemp) 16 + 267: 11(int) Load 266 + 268: 228(int) Bitcast 267 + 269: 242(ptr) AccessChain 235(texDim) 16 + Store 269 268 + 270: 264(ptr) AccessChain 256(sizeQueryTemp) 44 + 271: 11(int) Load 270 + 272: 228(int) Bitcast 271 + 273: 242(ptr) AccessChain 235(texDim) 44 + Store 273 272 + 274: 264(ptr) AccessChain 256(sizeQueryTemp) 27 + 275: 11(int) Load 274 + 276: 228(int) Bitcast 275 + Store 244(elements) 276 + 277: 163 Load 170(textureShadowMap) + 278: 11(int) ImageQueryLevels 277 + 279: 228(int) Bitcast 278 + Store 248(levels) 279 + 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 283 283 16 16 + 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 281 280(scale) 49 + Store 280(scale) 286 + 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 290 290 16 16 + 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 288 287(dx) 49 + 293: 8(float) Load 280(scale) + 294: 8(float) FMul 293 116 + 295: 242(ptr) AccessChain 235(texDim) 16 + 296: 228(int) Load 295 + 297: 8(float) ConvertSToF 296 + 298: 8(float) FDiv 294 297 + Store 287(dx) 298 + 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 302 302 16 16 + 303: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 300 299(dy) 49 + 305: 8(float) Load 280(scale) + 306: 8(float) FMul 305 116 + 307: 242(ptr) AccessChain 235(texDim) 44 + 308: 228(int) Load 307 + 309: 8(float) ConvertSToF 308 + 310: 8(float) FDiv 306 309 + Store 299(dy) 310 + 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 314 314 16 16 + 315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 312 311(shadowFactor) 49 + Store 311(shadowFactor) 204 + 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 320 320 16 16 + 321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 318 317(count) 49 + Store 317(count) 323 + 329: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 327 327 16 16 + 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 325 324(range) 49 + Store 324(range) 330 + 338: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 331 + 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 332 332 16 16 + 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 335 334(x) 49 + 340: 228(int) Load 324(range) + 341: 228(int) SNegate 340 + Store 334(x) 341 + Branch 342 + 342: Label + 346: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 331 + 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 332 332 16 16 + LoopMerge 344 345 None + Branch 348 + 348: Label + 350: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 331 + 351: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 332 332 16 16 + 349: 228(int) Load 334(x) + 352: 228(int) Load 324(range) + 353: 145(bool) SLessThanEqual 349 352 + BranchConditional 353 343 344 + 343: Label + 362: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 355 + 363: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 356 356 16 16 + 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 359 358(y) 49 + 364: 228(int) Load 324(range) + 365: 228(int) SNegate 364 + Store 358(y) 365 + Branch 366 + 366: Label + 370: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 355 + 371: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 356 356 16 16 + LoopMerge 368 369 None + Branch 372 + 372: Label + 374: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 355 + 375: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 356 356 16 16 + 373: 228(int) Load 358(y) + 376: 228(int) Load 324(range) + 377: 145(bool) SLessThanEqual 373 376 + BranchConditional 377 367 368 + 367: Label + 380: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 378 + 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 382 382 16 16 + 379: 8(float) Load 287(dx) + 383: 228(int) Load 334(x) + 384: 8(float) ConvertSToF 383 + 385: 8(float) FMul 379 384 + 386: 8(float) Load 299(dy) + 387: 228(int) Load 358(y) + 388: 8(float) ConvertSToF 387 + 389: 8(float) FMul 386 388 + 390: 26(fvec2) CompositeConstruct 385 389 + 392: 18(fvec4) Load 60(sc) + Store 391(param) 392 + 394: 8(float) Load 61(layer) + Store 393(param) 394 + Store 395(param) 390 + 396: 8(float) FunctionCall 36(textureProj(vf4;f1;vf2;) 391(param) 393(param) 395(param) + 397: 8(float) Load 311(shadowFactor) + 398: 8(float) FAdd 397 396 + Store 311(shadowFactor) 398 + 400: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 401 401 16 16 + 399: 228(int) Load 317(count) + 402: 228(int) IAdd 399 330 + Store 317(count) 402 + Branch 369 + 369: Label + 404: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 355 + 405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 356 356 16 16 + 403: 228(int) Load 358(y) + 406: 228(int) IAdd 403 330 + Store 358(y) 406 + Branch 366 + 368: Label + Branch 345 + 345: Label + 408: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 331 + 409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 332 332 16 16 + 407: 228(int) Load 334(x) + 410: 228(int) IAdd 407 330 + Store 334(x) 410 + Branch 342 + 344: Label + 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 227 + 413: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 414 414 16 16 + 411: 8(float) Load 311(shadowFactor) + 415: 228(int) Load 317(count) + 416: 8(float) ConvertSToF 415 + 417: 8(float) FDiv 411 416 + ReturnValue 417 FunctionEnd -81(shadow(vf3;vf3;): 73(fvec3) Function None 77 - 79(fragcolor): 75(ptr) FunctionParameter - 80(fragPos): 75(ptr) FunctionParameter - 82: Label - 407(i): 249(ptr) Variable Function - 425(shadowClip): 21(ptr) Variable Function -483(shadowFactor): 24(ptr) Variable Function - 490(param): 21(ptr) Variable Function - 492(param): 24(ptr) Variable Function - 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 86 79(fragcolor) 49 - 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 90 80(fragPos) 49 - 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 85 85 16 16 - 405: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 84 81(shadow(vf3;vf3;) - 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 410 410 16 16 - 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 408 407(i) 49 - Store 407(i) 313 - Branch 413 - 413: Label - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 410 410 16 16 - LoopMerge 415 416 None - Branch 419 - 419: Label - 421: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 410 410 16 16 - 420: 233(int) Load 407(i) - 424: 140(bool) SLessThan 420 423 - BranchConditional 424 414 415 - 414: Label - 430: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 428 428 16 16 - 429: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 426 425(shadowClip) 49 - 432: 73(fvec3) Load 80(fragPos) - 433: 8(float) CompositeExtract 432 0 - 434: 8(float) CompositeExtract 432 1 - 435: 8(float) CompositeExtract 432 2 - 436: 18(fvec4) CompositeConstruct 433 434 435 111 - 477: 233(int) Load 407(i) - 480: 478(ptr) AccessChain 475 313 320 477 423 - 481: 437 Load 480 - 482: 18(fvec4) VectorTimesMatrix 436 481 - Store 425(shadowClip) 482 - 487: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 485 485 16 16 - 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 484 483(shadowFactor) 49 - 488: 233(int) Load 407(i) - 489: 8(float) ConvertSToF 488 - 491: 18(fvec4) Load 425(shadowClip) - Store 490(param) 491 - Store 492(param) 489 - 493: 8(float) FunctionCall 62(filterPCF(vf4;f1;) 490(param) 492(param) - Store 483(shadowFactor) 493 - 495: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 496 496 16 16 - 494: 8(float) Load 483(shadowFactor) - 497: 73(fvec3) Load 79(fragcolor) - 498: 73(fvec3) VectorTimesScalar 497 494 - Store 79(fragcolor) 498 - Branch 416 - 416: Label - 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 501: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 410 410 16 16 - 499: 233(int) Load 407(i) - 502: 233(int) IAdd 499 320 - Store 407(i) 502 - Branch 413 - 415: Label - 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 84 - 505: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 506 506 16 16 - 503: 73(fvec3) Load 79(fragcolor) - ReturnValue 503 +82(shadow(vf3;vf3;): 74(fvec3) Function None 78 + 80(fragcolor): 76(ptr) FunctionParameter + 81(fragPos): 76(ptr) FunctionParameter + 83: Label + 426(i): 242(ptr) Variable Function + 445(shadowClip): 21(ptr) Variable Function +504(shadowFactor): 24(ptr) Variable Function + 513(param): 21(ptr) Variable Function + 515(param): 24(ptr) Variable Function + 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 86 86 16 16 + 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 87 80(fragcolor) 49 + 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 81(fragPos) 49 + 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 85 82(shadow(vf3;vf3;) + 430: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 424 + 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 425 425 16 16 + 429: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 427 426(i) 49 + Store 426(i) 323 + Branch 432 + 432: Label + 436: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 424 + 437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 425 425 16 16 + LoopMerge 434 435 None + Branch 438 + 438: Label + 440: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 424 + 441: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 425 425 16 16 + 439: 228(int) Load 426(i) + 443: 145(bool) SLessThan 439 442 + BranchConditional 443 433 434 + 433: Label + 450: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 444 + 451: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 448 448 16 16 + 449: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 446 445(shadowClip) 49 + 452: 74(fvec3) Load 81(fragPos) + 453: 8(float) CompositeExtract 452 0 + 454: 8(float) CompositeExtract 452 1 + 455: 8(float) CompositeExtract 452 2 + 456: 18(fvec4) CompositeConstruct 453 454 455 116 + 498: 228(int) Load 426(i) + 501: 499(ptr) AccessChain 495 323 330 498 442 + 502: 457 Load 501 + 503: 18(fvec4) VectorTimesMatrix 456 502 + Store 445(shadowClip) 503 + 508: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 506 506 16 16 + 507: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 505 504(shadowFactor) 49 + 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 511 511 16 16 + 509: 228(int) Load 426(i) + 512: 8(float) ConvertSToF 509 + 514: 18(fvec4) Load 445(shadowClip) + Store 513(param) 514 + Store 515(param) 512 + 516: 8(float) FunctionCall 62(filterPCF(vf4;f1;) 513(param) 515(param) + Store 504(shadowFactor) 516 + 518: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 519 519 16 16 + 517: 8(float) Load 504(shadowFactor) + 520: 74(fvec3) Load 80(fragcolor) + 521: 74(fvec3) VectorTimesScalar 520 517 + Store 80(fragcolor) 521 + Branch 435 + 435: Label + 523: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 424 + 524: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 425 425 16 16 + 522: 228(int) Load 426(i) + 525: 228(int) IAdd 522 330 + Store 426(i) 525 + Branch 432 + 434: Label + 527: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 423 + 528: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 529 529 16 16 + 526: 74(fvec3) Load 80(fragcolor) + ReturnValue 526 FunctionEnd - 96(@main(vf2;): 18(fvec4) Function None 93 - 95(inUV): 29(ptr) FunctionParameter - 97: Label - 512(fragPos): 75(ptr) Variable Function - 536(normal): 75(ptr) Variable Function - 555(albedo): 21(ptr) Variable Function - 593(fragcolor): 75(ptr) Variable Function - 600(param): 75(ptr) Variable Function - 601(param): 75(ptr) Variable Function - 660(N): 75(ptr) Variable Function - 668(i): 249(ptr) Variable Function - 684(L): 75(ptr) Variable Function - 699(dist): 24(ptr) Variable Function - 710(V): 75(ptr) Variable Function -725(lightCosInnerAngle): 24(ptr) Variable Function -732(lightCosOuterAngle): 24(ptr) Variable Function - 739(lightRange): 24(ptr) Variable Function - 746(dir): 75(ptr) Variable Function - 762(cosDir): 24(ptr) Variable Function - 771(spotEffect): 24(ptr) Variable Function -781(heightAttenuation): 24(ptr) Variable Function - 790(NdotL): 24(ptr) Variable Function - 800(diff): 75(ptr) Variable Function - 808(R): 75(ptr) Variable Function - 818(NdotR): 24(ptr) Variable Function - 828(spec): 75(ptr) Variable Function - 875(param): 75(ptr) Variable Function - 880(param): 75(ptr) Variable Function - 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 - 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 101 95(inUV) 49 - 511: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 100 100 16 16 - 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 99 96(@main(vf2;) - 516: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 514 514 16 16 - 515: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 513 512(fragPos) 49 - 524: 517 Load 521(textureposition) - 529: 169 Load 526(samplerposition) - 532: 530 SampledImage 524 529 - 533: 26(fvec2) Load 95(inUV) - 534: 18(fvec4) ImageSampleImplicitLod 532 533 - 535: 73(fvec3) VectorShuffle 534 534 0 1 2 - Store 512(fragPos) 535 - 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 539 539 16 16 - 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 537 536(normal) 49 - 545: 517 Load 542(textureNormal) - 550: 169 Load 547(samplerNormal) - 551: 530 SampledImage 545 550 - 552: 26(fvec2) Load 95(inUV) - 553: 18(fvec4) ImageSampleImplicitLod 551 552 - 554: 73(fvec3) VectorShuffle 553 553 0 1 2 - Store 536(normal) 554 - 560: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 558 558 16 16 - 559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 556 555(albedo) 49 - 564: 517 Load 561(textureAlbedo) - 569: 169 Load 566(samplerAlbedo) - 570: 530 SampledImage 564 569 - 571: 26(fvec2) Load 95(inUV) - 572: 18(fvec4) ImageSampleImplicitLod 570 571 - Store 555(albedo) 572 - 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 577 577 16 16 - 575: 573(ptr) AccessChain 475 313 423 - 578: 233(int) Load 575 - 579: 140(bool) SGreaterThan 578 313 - SelectionMerge 581 None - BranchConditional 579 580 581 - 580: Label - 583: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 - 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 585 585 16 16 - 582: 573(ptr) AccessChain 475 313 423 - 586: 233(int) Load 582 - SelectionMerge 592 None - Switch 586 592 - case 1: 587 - case 2: 588 - case 3: 589 - case 4: 590 - case 5: 591 - 587: Label - 597: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 - 598: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 595 595 16 16 - 596: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 594 593(fragcolor) 49 - Store 600(param) 599 - 602: 73(fvec3) Load 512(fragPos) - Store 601(param) 602 - 603: 73(fvec3) FunctionCall 81(shadow(vf3;vf3;) 600(param) 601(param) - Store 593(fragcolor) 603 - 604: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 605 605 16 16 - Branch 592 - 588: Label - 609: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 - 610: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 611 611 16 16 - 608: 73(fvec3) Load 512(fragPos) - Store 593(fragcolor) 608 - 612: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 613 613 16 16 - Branch 592 - 589: Label - 617: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 - 618: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 619 619 16 16 - 616: 73(fvec3) Load 536(normal) - Store 593(fragcolor) 616 - 620: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 621 621 16 16 - Branch 592 - 590: Label - 625: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 - 626: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 627 627 16 16 - 624: 18(fvec4) Load 555(albedo) - 628: 73(fvec3) VectorShuffle 624 624 0 1 2 - Store 593(fragcolor) 628 - 629: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 630 630 16 16 - Branch 592 - 591: Label - 634: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 - 635: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 636 636 16 16 - 633: 18(fvec4) Load 555(albedo) - 637: 73(fvec3) VectorShuffle 633 633 3 3 3 - Store 593(fragcolor) 637 - 638: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 639 639 16 16 - Branch 592 - 592: Label - 644: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 - 645: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 646 646 16 16 - 643: 73(fvec3) Load 593(fragcolor) - 647: 8(float) CompositeExtract 643 0 - 648: 8(float) CompositeExtract 643 1 - 649: 8(float) CompositeExtract 643 2 - 650: 18(fvec4) CompositeConstruct 647 648 649 111 - ReturnValue 650 - 581: Label - 654: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 - 655: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 656 656 16 16 - 653: 18(fvec4) Load 555(albedo) - 657: 73(fvec3) VectorShuffle 653 653 0 1 2 - 659: 73(fvec3) VectorTimesScalar 657 658 - Store 593(fragcolor) 659 - 665: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 663 663 16 16 - 664: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 661 660(N) 49 - 666: 73(fvec3) Load 536(normal) - 667: 73(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 666 - Store 660(N) 667 - 672: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 670 670 16 16 - 671: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 669 668(i) 49 - Store 668(i) 313 - Branch 673 - 673: Label - 677: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 - 678: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 670 670 16 16 - LoopMerge 675 676 None - Branch 679 - 679: Label - 681: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 - 682: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 670 670 16 16 - 680: 233(int) Load 668(i) - 683: 140(bool) SLessThan 680 423 - BranchConditional 683 674 675 - 674: Label - 689: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 - 690: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 687 687 16 16 - 688: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 685 684(L) 49 - 691: 233(int) Load 668(i) - 694: 692(ptr) AccessChain 475 313 320 691 313 - 695: 18(fvec4) Load 694 - 696: 73(fvec3) VectorShuffle 695 695 0 1 2 - 697: 73(fvec3) Load 512(fragPos) - 698: 73(fvec3) FSub 696 697 - Store 684(L) 698 - 703: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 701 701 16 16 - 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 700 699(dist) 49 - 704: 73(fvec3) Load 684(L) - 705: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 704 - Store 699(dist) 705 - 707: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 708 708 16 16 - 706: 73(fvec3) Load 684(L) - 709: 73(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 706 - Store 684(L) 709 - 715: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 713 713 16 16 - 714: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 711 710(V) 49 - 716: 692(ptr) AccessChain 475 313 313 - 717: 18(fvec4) Load 716 - 718: 73(fvec3) VectorShuffle 717 717 0 1 2 - 719: 73(fvec3) Load 512(fragPos) - 720: 73(fvec3) FSub 718 719 - Store 710(V) 720 - 722: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 723 723 16 16 - 721: 73(fvec3) Load 710(V) - 724: 73(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 721 - Store 710(V) 724 - 730: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 728 728 16 16 - 729: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 726 725(lightCosInnerAngle) 49 - Store 725(lightCosInnerAngle) 731 - 737: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 735 735 16 16 - 736: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 733 732(lightCosOuterAngle) 49 - Store 732(lightCosOuterAngle) 738 - 744: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 742 742 16 16 - 743: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 740 739(lightRange) 49 - Store 739(lightRange) 745 - 751: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 749 749 16 16 - 750: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 747 746(dir) 49 - 752: 233(int) Load 668(i) - 753: 692(ptr) AccessChain 475 313 320 752 313 - 754: 18(fvec4) Load 753 - 755: 73(fvec3) VectorShuffle 754 754 0 1 2 - 756: 233(int) Load 668(i) - 757: 692(ptr) AccessChain 475 313 320 756 320 - 758: 18(fvec4) Load 757 - 759: 73(fvec3) VectorShuffle 758 758 0 1 2 - 760: 73(fvec3) FSub 755 759 - 761: 73(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 760 - Store 746(dir) 761 - 767: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 765 765 16 16 - 766: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 763 762(cosDir) 49 - 768: 73(fvec3) Load 684(L) - 769: 73(fvec3) Load 746(dir) - 770: 8(float) Dot 768 769 - Store 762(cosDir) 770 - 776: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 774 774 16 16 - 775: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 772 771(spotEffect) 49 - 777: 8(float) Load 732(lightCosOuterAngle) - 778: 8(float) Load 725(lightCosInnerAngle) - 779: 8(float) Load 762(cosDir) - 780: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 777 778 779 - Store 771(spotEffect) 780 - 786: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 784 784 16 16 - 785: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 782 781(heightAttenuation) 49 - 787: 8(float) Load 739(lightRange) - 788: 8(float) Load 699(dist) - 789: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 787 198 788 - Store 781(heightAttenuation) 789 - 795: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 793 793 16 16 - 794: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 791 790(NdotL) 49 - 796: 73(fvec3) Load 660(N) - 797: 73(fvec3) Load 684(L) - 798: 8(float) Dot 796 797 - 799: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 198 798 - Store 790(NdotL) 799 - 805: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 803 803 16 16 - 804: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 801 800(diff) 49 - 806: 8(float) Load 790(NdotL) - 807: 73(fvec3) CompositeConstruct 806 806 806 - Store 800(diff) 807 - 813: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 811 811 16 16 - 812: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 809 808(R) 49 - 814: 73(fvec3) Load 684(L) - 815: 73(fvec3) FNegate 814 - 816: 73(fvec3) Load 660(N) - 817: 73(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 815 816 - Store 808(R) 817 - 823: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 821 821 16 16 - 822: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 819 818(NdotR) 49 - 824: 73(fvec3) Load 808(R) - 825: 73(fvec3) Load 710(V) - 826: 8(float) Dot 824 825 - 827: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 198 826 - Store 818(NdotR) 827 - 833: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 831 831 16 16 - 832: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 829 828(spec) 49 - 834: 8(float) Load 818(NdotR) - 836: 8(float) ExtInst 3(GLSL.std.450) 26(Pow) 834 835 - 837: 24(ptr) AccessChain 555(albedo) 17 - 838: 8(float) Load 837 - 839: 8(float) FMul 836 838 - 841: 8(float) FMul 839 840 - 842: 73(fvec3) CompositeConstruct 841 841 841 - Store 828(spec) 842 - 844: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 845 845 16 16 - 843: 73(fvec3) Load 800(diff) - 846: 73(fvec3) Load 828(spec) - 847: 73(fvec3) FAdd 843 846 - 848: 8(float) Load 771(spotEffect) - 849: 73(fvec3) VectorTimesScalar 847 848 - 850: 8(float) Load 781(heightAttenuation) - 851: 73(fvec3) VectorTimesScalar 849 850 - 852: 233(int) Load 668(i) - 854: 692(ptr) AccessChain 475 313 320 852 853 - 855: 18(fvec4) Load 854 - 856: 73(fvec3) VectorShuffle 855 855 0 1 2 - 857: 73(fvec3) FMul 851 856 - 858: 18(fvec4) Load 555(albedo) - 859: 73(fvec3) VectorShuffle 858 858 0 1 2 - 860: 73(fvec3) FMul 857 859 - 861: 73(fvec3) Load 593(fragcolor) - 862: 73(fvec3) FAdd 861 860 - Store 593(fragcolor) 862 - Branch 676 - 676: Label - 864: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 - 865: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 670 670 16 16 - 863: 233(int) Load 668(i) - 866: 233(int) IAdd 863 320 - Store 668(i) 866 - Branch 673 - 675: Label - 868: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 - 869: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 870 870 16 16 - 867: 573(ptr) AccessChain 475 313 853 - 871: 233(int) Load 867 - 872: 140(bool) SGreaterThan 871 313 - SelectionMerge 874 None - BranchConditional 872 873 874 - 873: Label - 877: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 - 878: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 879 879 16 16 - 876: 73(fvec3) Load 593(fragcolor) - Store 875(param) 876 - 881: 73(fvec3) Load 512(fragPos) - Store 880(param) 881 - 882: 73(fvec3) FunctionCall 81(shadow(vf3;vf3;) 875(param) 880(param) - Store 593(fragcolor) 882 - Branch 874 - 874: Label - 884: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 99 - 885: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 886 886 16 16 - 883: 73(fvec3) Load 593(fragcolor) - 887: 8(float) CompositeExtract 883 0 - 888: 8(float) CompositeExtract 883 1 - 889: 8(float) CompositeExtract 883 2 - 890: 18(fvec4) CompositeConstruct 887 888 889 111 - ReturnValue 890 + 98(@main(vf2;): 18(fvec4) Function None 95 + 97(inUV): 29(ptr) FunctionParameter + 99: Label + 536(fragPos): 76(ptr) Variable Function + 561(normal): 76(ptr) Variable Function + 580(albedo): 21(ptr) Variable Function + 598(fragcolor): 76(ptr) Variable Function + 625(param): 76(ptr) Variable Function + 629(param): 76(ptr) Variable Function + 682(N): 76(ptr) Variable Function + 693(i): 242(ptr) Variable Function + 710(L): 76(ptr) Variable Function + 725(dist): 24(ptr) Variable Function + 736(V): 76(ptr) Variable Function +751(lightCosInnerAngle): 24(ptr) Variable Function +758(lightCosOuterAngle): 24(ptr) Variable Function + 765(lightRange): 24(ptr) Variable Function + 772(dir): 76(ptr) Variable Function + 788(cosDir): 24(ptr) Variable Function + 797(spotEffect): 24(ptr) Variable Function +807(heightAttenuation): 24(ptr) Variable Function + 816(NdotL): 24(ptr) Variable Function + 826(diff): 76(ptr) Variable Function + 834(R): 76(ptr) Variable Function + 844(NdotR): 24(ptr) Variable Function + 854(spec): 76(ptr) Variable Function + 902(param): 76(ptr) Variable Function + 907(param): 76(ptr) Variable Function + 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 101 + 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 102 102 16 16 + 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 103 97(inUV) 49 + 534: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 101 98(@main(vf2;) + 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 535 + 541: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 538 538 16 16 + 539: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 537 536(fragPos) 49 + 549: 542 Load 546(textureposition) + 554: 175 Load 551(samplerposition) + 557: 555 SampledImage 549 554 + 558: 26(fvec2) Load 97(inUV) + 559: 18(fvec4) ImageSampleImplicitLod 557 558 + 560: 74(fvec3) VectorShuffle 559 559 0 1 2 + Store 536(fragPos) 560 + 566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 564 564 16 16 + 565: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 562 561(normal) 49 + 570: 542 Load 567(textureNormal) + 575: 175 Load 572(samplerNormal) + 576: 555 SampledImage 570 575 + 577: 26(fvec2) Load 97(inUV) + 578: 18(fvec4) ImageSampleImplicitLod 576 577 + 579: 74(fvec3) VectorShuffle 578 578 0 1 2 + Store 561(normal) 579 + 585: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 583 583 16 16 + 584: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 581 580(albedo) 49 + 589: 542 Load 586(textureAlbedo) + 594: 175 Load 591(samplerAlbedo) + 595: 555 SampledImage 589 594 + 596: 26(fvec2) Load 97(inUV) + 597: 18(fvec4) ImageSampleImplicitLod 595 596 + Store 580(albedo) 597 + 602: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 600 600 16 16 + 601: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 599 598(fragcolor) 49 + 606: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 607 607 16 16 + 605: 603(ptr) AccessChain 495 323 442 + 608: 228(int) Load 605 + 609: 145(bool) SGreaterThan 608 323 + SelectionMerge 611 None + BranchConditional 609 610 611 + 610: Label + 614: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 612 + 615: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 616 616 16 16 + 613: 603(ptr) AccessChain 495 323 442 + 617: 228(int) Load 613 + SelectionMerge 623 None + Switch 617 623 + case 1: 618 + case 2: 619 + case 3: 620 + case 4: 621 + case 5: 622 + 618: Label + 626: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 612 + 627: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 628 628 16 16 + Store 625(param) 624 + 630: 74(fvec3) Load 536(fragPos) + Store 629(param) 630 + 631: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 625(param) 629(param) + Store 598(fragcolor) 631 + 632: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 633 633 16 16 + Branch 623 + 619: Label + 636: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 612 + 637: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 638 638 16 16 + 635: 74(fvec3) Load 536(fragPos) + Store 598(fragcolor) 635 + 639: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 640 640 16 16 + Branch 623 + 620: Label + 643: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 612 + 644: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 645 645 16 16 + 642: 74(fvec3) Load 561(normal) + Store 598(fragcolor) 642 + 646: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 647 647 16 16 + Branch 623 + 621: Label + 650: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 612 + 651: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 652 652 16 16 + 649: 18(fvec4) Load 580(albedo) + 653: 74(fvec3) VectorShuffle 649 649 0 1 2 + Store 598(fragcolor) 653 + 654: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 655 655 16 16 + Branch 623 + 622: Label + 658: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 612 + 659: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 660 660 16 16 + 657: 18(fvec4) Load 580(albedo) + 661: 74(fvec3) VectorShuffle 657 657 3 3 3 + Store 598(fragcolor) 661 + 662: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 663 663 16 16 + Branch 623 + 623: Label + 667: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 612 + 668: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 669 669 16 16 + 666: 74(fvec3) Load 598(fragcolor) + 670: 8(float) CompositeExtract 666 0 + 671: 8(float) CompositeExtract 666 1 + 672: 8(float) CompositeExtract 666 2 + 673: 18(fvec4) CompositeConstruct 670 671 672 116 + ReturnValue 673 + 611: Label + 676: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 535 + 677: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 678 678 16 16 + 675: 18(fvec4) Load 580(albedo) + 679: 74(fvec3) VectorShuffle 675 675 0 1 2 + 681: 74(fvec3) VectorTimesScalar 679 680 + Store 598(fragcolor) 681 + 687: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 685 685 16 16 + 686: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 683 682(N) 49 + 688: 74(fvec3) Load 561(normal) + 689: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 688 + Store 682(N) 689 + 696: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 690 + 697: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 691 691 16 16 + 695: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 694 693(i) 49 + Store 693(i) 323 + Branch 698 + 698: Label + 702: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 690 + 703: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 691 691 16 16 + LoopMerge 700 701 None + Branch 704 + 704: Label + 706: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 690 + 707: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 691 691 16 16 + 705: 228(int) Load 693(i) + 708: 145(bool) SLessThan 705 442 + BranchConditional 708 699 700 + 699: Label + 715: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 709 + 716: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 713 713 16 16 + 714: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 711 710(L) 49 + 717: 228(int) Load 693(i) + 720: 718(ptr) AccessChain 495 323 330 717 323 + 721: 18(fvec4) Load 720 + 722: 74(fvec3) VectorShuffle 721 721 0 1 2 + 723: 74(fvec3) Load 536(fragPos) + 724: 74(fvec3) FSub 722 723 + Store 710(L) 724 + 729: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 727 727 16 16 + 728: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 726 725(dist) 49 + 730: 74(fvec3) Load 710(L) + 731: 8(float) ExtInst 3(GLSL.std.450) 66(Length) 730 + Store 725(dist) 731 + 733: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 734 734 16 16 + 732: 74(fvec3) Load 710(L) + 735: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 732 + Store 710(L) 735 + 741: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 739 739 16 16 + 740: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 737 736(V) 49 + 742: 718(ptr) AccessChain 495 323 323 + 743: 18(fvec4) Load 742 + 744: 74(fvec3) VectorShuffle 743 743 0 1 2 + 745: 74(fvec3) Load 536(fragPos) + 746: 74(fvec3) FSub 744 745 + Store 736(V) 746 + 748: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 749 749 16 16 + 747: 74(fvec3) Load 736(V) + 750: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 747 + Store 736(V) 750 + 756: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 754 754 16 16 + 755: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 752 751(lightCosInnerAngle) 49 + Store 751(lightCosInnerAngle) 757 + 763: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 761 761 16 16 + 762: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 759 758(lightCosOuterAngle) 49 + Store 758(lightCosOuterAngle) 764 + 770: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 768 768 16 16 + 769: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 766 765(lightRange) 49 + Store 765(lightRange) 771 + 777: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 775 775 16 16 + 776: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 773 772(dir) 49 + 778: 228(int) Load 693(i) + 779: 718(ptr) AccessChain 495 323 330 778 323 + 780: 18(fvec4) Load 779 + 781: 74(fvec3) VectorShuffle 780 780 0 1 2 + 782: 228(int) Load 693(i) + 783: 718(ptr) AccessChain 495 323 330 782 330 + 784: 18(fvec4) Load 783 + 785: 74(fvec3) VectorShuffle 784 784 0 1 2 + 786: 74(fvec3) FSub 781 785 + 787: 74(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 786 + Store 772(dir) 787 + 793: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 791 791 16 16 + 792: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 789 788(cosDir) 49 + 794: 74(fvec3) Load 710(L) + 795: 74(fvec3) Load 772(dir) + 796: 8(float) Dot 794 795 + Store 788(cosDir) 796 + 802: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 800 800 16 16 + 801: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 798 797(spotEffect) 49 + 803: 8(float) Load 758(lightCosOuterAngle) + 804: 8(float) Load 751(lightCosInnerAngle) + 805: 8(float) Load 788(cosDir) + 806: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 803 804 805 + Store 797(spotEffect) 806 + 812: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 810 810 16 16 + 811: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 808 807(heightAttenuation) 49 + 813: 8(float) Load 765(lightRange) + 814: 8(float) Load 725(dist) + 815: 8(float) ExtInst 3(GLSL.std.450) 49(SmoothStep) 813 204 814 + Store 807(heightAttenuation) 815 + 821: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 819 819 16 16 + 820: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 817 816(NdotL) 49 + 822: 74(fvec3) Load 682(N) + 823: 74(fvec3) Load 710(L) + 824: 8(float) Dot 822 823 + 825: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 204 824 + Store 816(NdotL) 825 + 831: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 829 829 16 16 + 830: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 827 826(diff) 49 + 832: 8(float) Load 816(NdotL) + 833: 74(fvec3) CompositeConstruct 832 832 832 + Store 826(diff) 833 + 839: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 837 837 16 16 + 838: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 835 834(R) 49 + 840: 74(fvec3) Load 710(L) + 841: 74(fvec3) FNegate 840 + 842: 74(fvec3) Load 682(N) + 843: 74(fvec3) ExtInst 3(GLSL.std.450) 71(Reflect) 841 842 + Store 834(R) 843 + 849: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 847 847 16 16 + 848: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 845 844(NdotR) 49 + 850: 74(fvec3) Load 834(R) + 851: 74(fvec3) Load 736(V) + 852: 8(float) Dot 850 851 + 853: 8(float) ExtInst 3(GLSL.std.450) 40(FMax) 204 852 + Store 844(NdotR) 853 + 859: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 857 857 16 16 + 858: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 855 854(spec) 49 + 860: 8(float) Load 844(NdotR) + 862: 8(float) ExtInst 3(GLSL.std.450) 26(Pow) 860 861 + 863: 24(ptr) AccessChain 580(albedo) 17 + 864: 8(float) Load 863 + 865: 8(float) FMul 862 864 + 867: 8(float) FMul 865 866 + 868: 74(fvec3) CompositeConstruct 867 867 867 + Store 854(spec) 868 + 870: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 871 871 16 16 + 869: 74(fvec3) Load 826(diff) + 872: 74(fvec3) Load 854(spec) + 873: 74(fvec3) FAdd 869 872 + 874: 8(float) Load 797(spotEffect) + 875: 74(fvec3) VectorTimesScalar 873 874 + 876: 8(float) Load 807(heightAttenuation) + 877: 74(fvec3) VectorTimesScalar 875 876 + 878: 228(int) Load 693(i) + 880: 718(ptr) AccessChain 495 323 330 878 879 + 881: 18(fvec4) Load 880 + 882: 74(fvec3) VectorShuffle 881 881 0 1 2 + 883: 74(fvec3) FMul 877 882 + 884: 18(fvec4) Load 580(albedo) + 885: 74(fvec3) VectorShuffle 884 884 0 1 2 + 886: 74(fvec3) FMul 883 885 + 887: 74(fvec3) Load 598(fragcolor) + 888: 74(fvec3) FAdd 887 886 + Store 598(fragcolor) 888 + Branch 701 + 701: Label + 890: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 690 + 891: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 691 691 16 16 + 889: 228(int) Load 693(i) + 892: 228(int) IAdd 889 330 + Store 693(i) 892 + Branch 698 + 700: Label + 894: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 535 + 895: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 896 896 16 16 + 893: 603(ptr) AccessChain 495 323 879 + 897: 228(int) Load 893 + 898: 145(bool) SGreaterThan 897 323 + SelectionMerge 900 None + BranchConditional 898 899 900 + 899: Label + 904: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 901 + 905: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 906 906 16 16 + 903: 74(fvec3) Load 598(fragcolor) + Store 902(param) 903 + 908: 74(fvec3) Load 536(fragPos) + Store 907(param) 908 + 909: 74(fvec3) FunctionCall 82(shadow(vf3;vf3;) 902(param) 907(param) + Store 598(fragcolor) 909 + Branch 900 + 900: Label + 911: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 535 + 912: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 40 913 913 16 16 + 910: 74(fvec3) Load 598(fragcolor) + 914: 8(float) CompositeExtract 910 0 + 915: 8(float) CompositeExtract 910 1 + 916: 8(float) CompositeExtract 910 2 + 917: 18(fvec4) CompositeConstruct 914 915 916 116 + ReturnValue 917 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.geom.out b/Test/baseResults/spv.debuginfo.hlsl.geom.out index 1ba94470..f4503bad 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.geom.out +++ b/Test/baseResults/spv.debuginfo.hlsl.geom.out @@ -1,7 +1,7 @@ spv.debuginfo.hlsl.geom // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 366 +// Id's are bound by 373 Capability Geometry Capability MultiViewport @@ -9,12 +9,12 @@ spv.debuginfo.hlsl.geom 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Geometry 6 "main" 264 273 278 285 290 295 300 315 322 327 351 354 + EntryPoint Geometry 6 "main" 270 279 284 291 296 301 306 322 329 334 358 361 ExecutionMode 6 Triangles ExecutionMode 6 Invocations 2 ExecutionMode 6 OutputTriangleStrip ExecutionMode 6 OutputVertices 3 - 2: String "" + 2: String "spv.debuginfo.hlsl.geom" 9: String "float" 12: String "uint" 25: String "Pos" @@ -26,110 +26,190 @@ spv.debuginfo.hlsl.geom // OpModuleProcessed keep-uncalled // OpModuleProcessed hlsl-offsets #line 1 +/* +The MIT License (MIT) + +Copyright (c) 2022 Google LLC +Copyright (c) 2022 Sascha Willems + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +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 Software. + +THE SOFTWARE IS 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 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +struct UBO +{ + float4x4 projection[2]; + float4x4 modelview[2]; + float4 lightPos; +}; + +cbuffer ubo : register(b0) { UBO ubo; } + +struct VSOutput +{ + float4 Pos : SV_POSITION; +[[vk::location(0)]] float3 Normal : NORMAL0; +[[vk::location(1)]] float3 Color : COLOR0; +}; + +struct GSOutput +{ + float4 Pos : SV_POSITION; + uint ViewportIndex : SV_ViewportArrayIndex; + uint PrimitiveID : SV_PrimitiveID; +[[vk::location(0)]] float3 Normal : NORMAL0; +[[vk::location(1)]] float3 Color : COLOR0; +[[vk::location(2)]] float3 ViewVec : TEXCOOR1; +[[vk::location(3)]] float3 LightVec : TEXCOOR2; +}; + +[maxvertexcount(3)] +[instance(2)] +void main(triangle VSOutput input[3], inout TriangleStream outStream, uint InvocationID : SV_GSInstanceID, uint PrimitiveID : SV_PrimitiveID) +{ + for(int i = 0; i < 3; i++) + { + GSOutput output = (GSOutput)0; + output.Normal = mul((float3x3)ubo.modelview[InvocationID], input[i].Normal); + output.Color = input[i].Color; + + float4 pos = input[i].Pos; + float4 worldPos = mul(ubo.modelview[InvocationID], pos); + + float3 lPos = mul(ubo.modelview[InvocationID], ubo.lightPos).xyz; + output.LightVec = lPos - worldPos.xyz; + output.ViewVec = -worldPos.xyz; + + output.Pos = mul(ubo.projection[InvocationID], worldPos); + + // Set the viewport index that the vertex will be emitted to + output.ViewportIndex = InvocationID; + output.PrimitiveID = PrimitiveID; + outStream.Append( output ); + } + + outStream.RestartStrip(); +} " 31: String "Color" 36: String "VSOutput" - 49: String "PrimitiveID" - 54: String "LightVec" - 60: String "GSOutput" - 73: String "@main" + 50: String "PrimitiveID" + 55: String "LightVec" + 61: String "GSOutput" + 74: String "@main" 77: String "input" 83: String "outStream" 87: String "InvocationID" - 93: String "int" - 99: String "i" - 116: String "bool" - 121: String "output" - 147: String "projection" - 151: String "modelview" - 155: String "lightPos" - 159: String "UBO" - 162: String "ubo" - 198: String "pos" - 207: String "worldPos" - 218: String "lPos" - 266: String "outStream.Pos" - 275: String "outStream.ViewportIndex" - 280: String "outStream.PrimitiveID" - 287: String "outStream.Normal" - 292: String "outStream.Color" - 297: String "outStream.ViewVec" - 302: String "outStream.LightVec" + 97: String "int" + 103: String "i" + 120: String "bool" + 126: String "output" + 152: String "projection" + 156: String "modelview" + 160: String "lightPos" + 164: String "UBO" + 167: String "ubo" + 174: String "" + 204: String "pos" + 213: String "worldPos" + 224: String "lPos" + 272: String "outStream.Pos" + 281: String "outStream.ViewportIndex" + 286: String "outStream.PrimitiveID" + 293: String "outStream.Normal" + 298: String "outStream.Color" + 303: String "outStream.ViewVec" + 308: String "outStream.LightVec" Name 6 "main" Name 23 "VSOutput" MemberName 23(VSOutput) 0 "Pos" MemberName 23(VSOutput) 1 "Normal" MemberName 23(VSOutput) 2 "Color" - Name 45 "GSOutput" - MemberName 45(GSOutput) 0 "Pos" - MemberName 45(GSOutput) 1 "ViewportIndex" - MemberName 45(GSOutput) 2 "PrimitiveID" - MemberName 45(GSOutput) 3 "Normal" - MemberName 45(GSOutput) 4 "Color" - MemberName 45(GSOutput) 5 "ViewVec" - MemberName 45(GSOutput) 6 "LightVec" - Name 71 "@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;" - Name 67 "input" - Name 68 "outStream" - Name 69 "InvocationID" - Name 70 "PrimitiveID" - Name 97 "i" - Name 119 "output" - Name 145 "UBO" - MemberName 145(UBO) 0 "projection" - MemberName 145(UBO) 1 "modelview" - MemberName 145(UBO) 2 "lightPos" - Name 160 "ubo" - MemberName 160(ubo) 0 "ubo" - Name 167 "" - Name 196 "pos" - Name 205 "worldPos" - Name 216 "lPos" - Name 264 "outStream.Pos" - Name 273 "outStream.ViewportIndex" - Name 278 "outStream.PrimitiveID" - Name 285 "outStream.Normal" - Name 290 "outStream.Color" - Name 295 "outStream.ViewVec" - Name 300 "outStream.LightVec" - Name 312 "input" - Name 315 "input.Pos" - Name 322 "input.Normal" - Name 327 "input.Color" - Name 349 "InvocationID" - Name 351 "InvocationID" - Name 353 "PrimitiveID" - Name 354 "PrimitiveID" - Name 356 "outStream" - Name 357 "param" - Name 359 "param" - Name 360 "param" - Name 362 "param" - Decorate 141 ArrayStride 64 - Decorate 143 ArrayStride 64 - MemberDecorate 145(UBO) 0 RowMajor - MemberDecorate 145(UBO) 0 Offset 0 - MemberDecorate 145(UBO) 0 MatrixStride 16 - MemberDecorate 145(UBO) 1 RowMajor - MemberDecorate 145(UBO) 1 Offset 128 - MemberDecorate 145(UBO) 1 MatrixStride 16 - MemberDecorate 145(UBO) 2 Offset 256 - MemberDecorate 160(ubo) 0 Offset 0 - Decorate 160(ubo) Block - Decorate 167 DescriptorSet 0 - Decorate 167 Binding 0 - Decorate 264(outStream.Pos) BuiltIn Position - Decorate 273(outStream.ViewportIndex) BuiltIn ViewportIndex - Decorate 278(outStream.PrimitiveID) BuiltIn PrimitiveId - Decorate 285(outStream.Normal) Location 0 - Decorate 290(outStream.Color) Location 1 - Decorate 295(outStream.ViewVec) Location 2 - Decorate 300(outStream.LightVec) Location 3 - Decorate 315(input.Pos) BuiltIn Position - Decorate 322(input.Normal) Location 0 - Decorate 327(input.Color) Location 1 - Decorate 351(InvocationID) BuiltIn InvocationId - Decorate 354(PrimitiveID) BuiltIn PrimitiveId + Name 46 "GSOutput" + MemberName 46(GSOutput) 0 "Pos" + MemberName 46(GSOutput) 1 "ViewportIndex" + MemberName 46(GSOutput) 2 "PrimitiveID" + MemberName 46(GSOutput) 3 "Normal" + MemberName 46(GSOutput) 4 "Color" + MemberName 46(GSOutput) 5 "ViewVec" + MemberName 46(GSOutput) 6 "LightVec" + Name 72 "@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;" + Name 68 "input" + Name 69 "outStream" + Name 70 "InvocationID" + Name 71 "PrimitiveID" + Name 101 "i" + Name 124 "output" + Name 150 "UBO" + MemberName 150(UBO) 0 "projection" + MemberName 150(UBO) 1 "modelview" + MemberName 150(UBO) 2 "lightPos" + Name 165 "ubo" + MemberName 165(ubo) 0 "ubo" + Name 172 "" + Name 202 "pos" + Name 211 "worldPos" + Name 222 "lPos" + Name 270 "outStream.Pos" + Name 279 "outStream.ViewportIndex" + Name 284 "outStream.PrimitiveID" + Name 291 "outStream.Normal" + Name 296 "outStream.Color" + Name 301 "outStream.ViewVec" + Name 306 "outStream.LightVec" + Name 319 "input" + Name 322 "input.Pos" + Name 329 "input.Normal" + Name 334 "input.Color" + Name 356 "InvocationID" + Name 358 "InvocationID" + Name 360 "PrimitiveID" + Name 361 "PrimitiveID" + Name 363 "outStream" + Name 364 "param" + Name 366 "param" + Name 367 "param" + Name 369 "param" + Decorate 146 ArrayStride 64 + Decorate 148 ArrayStride 64 + MemberDecorate 150(UBO) 0 RowMajor + MemberDecorate 150(UBO) 0 MatrixStride 16 + MemberDecorate 150(UBO) 0 Offset 0 + MemberDecorate 150(UBO) 1 RowMajor + MemberDecorate 150(UBO) 1 MatrixStride 16 + MemberDecorate 150(UBO) 1 Offset 128 + MemberDecorate 150(UBO) 2 Offset 256 + Decorate 165(ubo) Block + MemberDecorate 165(ubo) 0 Offset 0 + Decorate 172 Binding 0 + Decorate 172 DescriptorSet 0 + Decorate 270(outStream.Pos) BuiltIn Position + Decorate 279(outStream.ViewportIndex) BuiltIn ViewportIndex + Decorate 284(outStream.PrimitiveID) BuiltIn PrimitiveId + Decorate 291(outStream.Normal) Location 0 + Decorate 296(outStream.Color) Location 1 + Decorate 301(outStream.ViewVec) Location 2 + Decorate 306(outStream.LightVec) Location 3 + Decorate 322(input.Pos) BuiltIn Position + Decorate 329(input.Normal) Location 0 + Decorate 334(input.Color) Location 1 + Decorate 358(InvocationID) BuiltIn InvocationId + Decorate 361(PrimitiveID) BuiltIn PrimitiveId 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -155,355 +235,361 @@ spv.debuginfo.hlsl.geom 30: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 31 22 26 32 33 16 16 17 34: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 31 22 26 32 33 16 16 17 37: 11(int) Constant 1 - 39: 11(int) Constant 5 - 38: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 37 19 26 39 - 35: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 36 37 26 16 16 38 36 16 17 24 30 34 - 40: TypeArray 23(VSOutput) 17 - 41: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 35 17 - 42: TypePointer Function 40 - 43: 11(int) Constant 7 - 44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 41 43 16 - 45(GSOutput): TypeStruct 18(fvec4) 11(int) 11(int) 21(fvec3) 21(fvec3) 21(fvec3) 21(fvec3) - 47: 11(int) Constant 44 - 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 25 20 26 47 29 16 16 17 - 50: 11(int) Constant 46 - 51: 11(int) Constant 19 - 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 49 13 26 50 51 16 16 17 - 52: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 49 13 26 50 51 16 16 17 - 55: 11(int) Constant 50 - 53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 54 22 26 55 28 16 16 17 - 56: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 54 22 26 55 28 16 16 17 - 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 54 22 26 55 28 16 16 17 - 58: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 54 22 26 55 28 16 16 17 - 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 60 37 26 16 16 38 60 16 17 46 48 52 53 56 57 58 - 61: TypePointer Function 45(GSOutput) - 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 59 43 16 - 63: TypePointer Function 11(int) - 64: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 43 16 - 65: TypeFunction 4 42(ptr) 61(ptr) 63(ptr) 63(ptr) - 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 4 41 59 13 13 - 75: 11(int) Constant 56 - 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 73 66 26 75 16 38 73 17 75 - 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 77 41 26 75 16 74 19 37 + 38: 11(int) Constant 56 + 40: 11(int) Constant 5 + 39: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 37 19 26 40 + 35: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 36 37 26 38 16 39 36 16 17 24 30 34 + 41: TypeArray 23(VSOutput) 17 + 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 35 17 + 43: TypePointer Function 41 + 44: 11(int) Constant 7 + 45: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 42 44 16 + 46(GSOutput): TypeStruct 18(fvec4) 11(int) 11(int) 21(fvec3) 21(fvec3) 21(fvec3) 21(fvec3) + 48: 11(int) Constant 44 + 47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 25 20 26 48 29 16 16 17 + 51: 11(int) Constant 46 + 52: 11(int) Constant 19 + 49: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 50 13 26 51 52 16 16 17 + 53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 50 13 26 51 52 16 16 17 + 56: 11(int) Constant 50 + 54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 55 22 26 56 28 16 16 17 + 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 55 22 26 56 28 16 16 17 + 58: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 55 22 26 56 28 16 16 17 + 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 55 22 26 56 28 16 16 17 + 60: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 61 37 26 38 16 39 61 16 17 47 49 53 54 57 58 59 + 62: TypePointer Function 46(GSOutput) + 63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 60 44 16 + 64: TypePointer Function 11(int) + 65: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 44 16 + 66: TypeFunction 4 43(ptr) 62(ptr) 64(ptr) 64(ptr) + 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 4 42 60 13 13 + 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 74 67 26 38 16 39 74 17 38 + 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 77 42 26 38 16 75 19 37 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) 84: 11(int) Constant 2 - 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 59 26 75 16 74 19 84 - 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 87 13 26 75 16 74 19 17 - 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 49 13 26 75 16 74 19 19 - 92: TypeInt 32 1 - 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 93 14 19 16 - 95: TypePointer Function 92(int) - 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 94 43 16 - 100: 11(int) Constant 57 - 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 99 94 26 100 16 74 19 - 103: 92(int) Constant 0 - 114: 92(int) Constant 3 - 115: TypeBool - 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 116 14 84 16 - 122: 11(int) Constant 59 - 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 121 59 26 122 16 74 19 - 126: 8(float) Constant 0 - 127: 18(fvec4) ConstantComposite 126 126 126 126 - 128: 21(fvec3) ConstantComposite 126 126 126 - 129:45(GSOutput) ConstantComposite 127 16 16 128 128 128 128 - 132: 11(int) Constant 60 - 133: 92(int) Constant 1 - 134: TypePointer Function 21(fvec3) - 135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 43 16 - 138: TypeMatrix 18(fvec4) 4 - 140: 115(bool) ConstantTrue - 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 140 - 141: TypeArray 138 84 - 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 139 84 - 143: TypeArray 138 84 - 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 139 84 - 145(UBO): TypeStruct 141 143 18(fvec4) - 148: 11(int) Constant 28 - 149: 11(int) Constant 21 - 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 147 142 26 148 149 16 16 17 - 152: 11(int) Constant 29 - 153: 11(int) Constant 20 - 150: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 151 144 26 152 153 16 16 17 - 156: 11(int) Constant 30 - 157: 11(int) Constant 17 - 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 155 20 26 156 157 16 16 17 - 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 159 37 26 132 16 38 159 16 17 146 150 154 - 160(ubo): TypeStruct 145(UBO) - 163: 11(int) Constant 33 - 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 162 158 26 163 28 16 16 17 - 164: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 162 37 26 132 16 38 162 16 17 161 - 165: TypePointer Uniform 160(ubo) - 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 164 84 16 - 167: 165(ptr) Variable Uniform - 169: 11(int) Constant 8 - 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 164 26 132 16 38 2 167 169 - 171: TypePointer Uniform 138 - 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 139 84 16 - 175: TypeMatrix 21(fvec3) 3 - 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 22 17 140 - 186: 92(int) Constant 4 - 189: 11(int) Constant 61 - 190: 92(int) Constant 2 - 194: TypePointer Function 18(fvec4) - 195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 43 16 - 199: 11(int) Constant 63 - 197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 198 20 26 199 16 74 19 - 208: 11(int) Constant 64 - 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 207 20 26 208 16 74 19 - 219: 11(int) Constant 66 - 217: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 218 22 26 219 16 74 19 - 222: TypePointer Uniform 18(fvec4) - 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 84 16 - 231: 92(int) Constant 6 - 234: 11(int) Constant 67 - 239: 92(int) Constant 5 - 242: 11(int) Constant 68 - 248: 11(int) Constant 70 - 256: 11(int) Constant 73 - 260: 11(int) Constant 74 - 262: TypePointer Output 18(fvec4) - 263: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 17 16 -264(outStream.Pos): 262(ptr) Variable Output - 267: 11(int) Constant 75 - 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 266 20 26 267 16 38 266 264(outStream.Pos) 169 - 271: TypePointer Output 11(int) - 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 17 16 -273(outStream.ViewportIndex): 271(ptr) Variable Output - 274: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 275 13 26 267 16 38 275 273(outStream.ViewportIndex) 169 -278(outStream.PrimitiveID): 271(ptr) Variable Output - 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 280 13 26 267 16 38 280 278(outStream.PrimitiveID) 169 - 283: TypePointer Output 21(fvec3) - 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 17 16 -285(outStream.Normal): 283(ptr) Variable Output - 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 287 22 26 267 16 38 287 285(outStream.Normal) 169 -290(outStream.Color): 283(ptr) Variable Output - 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 292 22 26 267 16 38 292 290(outStream.Color) 169 -295(outStream.ViewVec): 283(ptr) Variable Output - 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 297 22 26 267 16 38 297 295(outStream.ViewVec) 169 -300(outStream.LightVec): 283(ptr) Variable Output - 301: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 302 22 26 267 16 38 302 300(outStream.LightVec) 169 - 311: 11(int) Constant 78 - 313: TypeArray 18(fvec4) 17 - 314: TypePointer Input 313 - 315(input.Pos): 314(ptr) Variable Input - 316: TypePointer Input 18(fvec4) - 320: TypeArray 21(fvec3) 17 + 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 60 26 38 16 75 19 84 + 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 87 13 26 38 16 75 19 17 + 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 50 13 26 38 16 75 19 19 + 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 26 16 16 75 + 94: 11(int) Constant 57 + 95: 11(int) Constant 10 + 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 26 94 95 92 + 96: TypeInt 32 1 + 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 97 14 19 16 + 99: TypePointer Function 96(int) + 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 98 44 16 + 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 103 98 26 94 16 93 19 + 107: 96(int) Constant 0 + 118: 96(int) Constant 3 + 119: TypeBool + 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 120 14 84 16 + 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 26 16 16 93 + 127: 11(int) Constant 59 + 125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 126 60 26 127 16 123 19 + 131: 8(float) Constant 0 + 132: 18(fvec4) ConstantComposite 131 131 131 131 + 133: 21(fvec3) ConstantComposite 131 131 131 + 134:46(GSOutput) ConstantComposite 132 16 16 133 133 133 133 + 137: 11(int) Constant 60 + 138: 96(int) Constant 1 + 139: TypePointer Function 21(fvec3) + 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 44 16 + 143: TypeMatrix 18(fvec4) 4 + 145: 119(bool) ConstantTrue + 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 145 + 146: TypeArray 143 84 + 147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 144 84 + 148: TypeArray 143 84 + 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 144 84 + 150(UBO): TypeStruct 146 148 18(fvec4) + 153: 11(int) Constant 28 + 154: 11(int) Constant 21 + 151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 152 147 26 153 154 16 16 17 + 157: 11(int) Constant 29 + 158: 11(int) Constant 20 + 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 156 149 26 157 158 16 16 17 + 161: 11(int) Constant 30 + 162: 11(int) Constant 17 + 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 160 20 26 161 162 16 16 17 + 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 164 37 26 137 16 39 164 16 17 151 155 159 + 165(ubo): TypeStruct 150(UBO) + 168: 11(int) Constant 33 + 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 167 163 26 168 28 16 16 17 + 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 167 37 26 137 16 39 167 16 17 166 + 170: TypePointer Uniform 165(ubo) + 171: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 169 84 16 + 172: 170(ptr) Variable Uniform + 175: 11(int) Constant 8 + 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 174 169 26 137 16 39 174 172 175 + 177: TypePointer Uniform 143 + 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 144 84 16 + 181: TypeMatrix 21(fvec3) 3 + 182: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 22 17 145 + 192: 96(int) Constant 4 + 195: 11(int) Constant 61 + 196: 96(int) Constant 2 + 200: TypePointer Function 18(fvec4) + 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 44 16 + 205: 11(int) Constant 63 + 203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 204 20 26 205 16 123 19 + 214: 11(int) Constant 64 + 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 213 20 26 214 16 123 19 + 225: 11(int) Constant 66 + 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 224 22 26 225 16 123 19 + 228: TypePointer Uniform 18(fvec4) + 229: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 84 16 + 237: 96(int) Constant 6 + 240: 11(int) Constant 67 + 245: 96(int) Constant 5 + 248: 11(int) Constant 68 + 254: 11(int) Constant 70 + 262: 11(int) Constant 73 + 266: 11(int) Constant 74 + 268: TypePointer Output 18(fvec4) + 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 17 16 +270(outStream.Pos): 268(ptr) Variable Output + 273: 11(int) Constant 75 + 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 272 20 26 273 16 39 272 270(outStream.Pos) 175 + 277: TypePointer Output 11(int) + 278: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 17 16 +279(outStream.ViewportIndex): 277(ptr) Variable Output + 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 281 13 26 273 16 39 281 279(outStream.ViewportIndex) 175 +284(outStream.PrimitiveID): 277(ptr) Variable Output + 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 286 13 26 273 16 39 286 284(outStream.PrimitiveID) 175 + 289: TypePointer Output 21(fvec3) + 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 17 16 +291(outStream.Normal): 289(ptr) Variable Output + 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 293 22 26 273 16 39 293 291(outStream.Normal) 175 +296(outStream.Color): 289(ptr) Variable Output + 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 298 22 26 273 16 39 298 296(outStream.Color) 175 +301(outStream.ViewVec): 289(ptr) Variable Output + 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 303 22 26 273 16 39 303 301(outStream.ViewVec) 175 +306(outStream.LightVec): 289(ptr) Variable Output + 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 308 22 26 273 16 39 308 306(outStream.LightVec) 175 + 317: 11(int) Constant 78 + 320: TypeArray 18(fvec4) 17 321: TypePointer Input 320 -322(input.Normal): 321(ptr) Variable Input - 323: TypePointer Input 21(fvec3) -327(input.Color): 321(ptr) Variable Input - 350: TypePointer Input 11(int) -351(InvocationID): 350(ptr) Variable Input -354(PrimitiveID): 350(ptr) Variable Input + 322(input.Pos): 321(ptr) Variable Input + 323: TypePointer Input 18(fvec4) + 327: TypeArray 21(fvec3) 17 + 328: TypePointer Input 327 +329(input.Normal): 328(ptr) Variable Input + 330: TypePointer Input 21(fvec3) +334(input.Color): 328(ptr) Variable Input + 357: TypePointer Input 11(int) +358(InvocationID): 357(ptr) Variable Input +361(PrimitiveID): 357(ptr) Variable Input 6(main): 4 Function None 5 7: Label - 312(input): 42(ptr) Variable Function -349(InvocationID): 63(ptr) Variable Function -353(PrimitiveID): 63(ptr) Variable Function - 356(outStream): 61(ptr) Variable Function - 357(param): 42(ptr) Variable Function - 359(param): 61(ptr) Variable Function - 360(param): 63(ptr) Variable Function - 362(param): 63(ptr) Variable Function - 317: 316(ptr) AccessChain 315(input.Pos) 103 - 318: 18(fvec4) Load 317 - 319: 194(ptr) AccessChain 312(input) 103 103 - Store 319 318 - 324: 323(ptr) AccessChain 322(input.Normal) 103 - 325: 21(fvec3) Load 324 - 326: 134(ptr) AccessChain 312(input) 103 133 + 319(input): 43(ptr) Variable Function +356(InvocationID): 64(ptr) Variable Function +360(PrimitiveID): 64(ptr) Variable Function + 363(outStream): 62(ptr) Variable Function + 364(param): 43(ptr) Variable Function + 366(param): 62(ptr) Variable Function + 367(param): 64(ptr) Variable Function + 369(param): 64(ptr) Variable Function + 324: 323(ptr) AccessChain 322(input.Pos) 107 + 325: 18(fvec4) Load 324 + 326: 200(ptr) AccessChain 319(input) 107 107 Store 326 325 - 328: 323(ptr) AccessChain 327(input.Color) 103 - 329: 21(fvec3) Load 328 - 330: 134(ptr) AccessChain 312(input) 103 190 - Store 330 329 - 331: 316(ptr) AccessChain 315(input.Pos) 133 - 332: 18(fvec4) Load 331 - 333: 194(ptr) AccessChain 312(input) 133 103 + 331: 330(ptr) AccessChain 329(input.Normal) 107 + 332: 21(fvec3) Load 331 + 333: 139(ptr) AccessChain 319(input) 107 138 Store 333 332 - 334: 323(ptr) AccessChain 322(input.Normal) 133 - 335: 21(fvec3) Load 334 - 336: 134(ptr) AccessChain 312(input) 133 133 - Store 336 335 - 337: 323(ptr) AccessChain 327(input.Color) 133 - 338: 21(fvec3) Load 337 - 339: 134(ptr) AccessChain 312(input) 133 190 - Store 339 338 - 340: 316(ptr) AccessChain 315(input.Pos) 190 - 341: 18(fvec4) Load 340 - 342: 194(ptr) AccessChain 312(input) 190 103 - Store 342 341 - 343: 323(ptr) AccessChain 322(input.Normal) 190 - 344: 21(fvec3) Load 343 - 345: 134(ptr) AccessChain 312(input) 190 133 - Store 345 344 - 346: 323(ptr) AccessChain 327(input.Color) 190 - 347: 21(fvec3) Load 346 - 348: 134(ptr) AccessChain 312(input) 190 190 - Store 348 347 - 352: 11(int) Load 351(InvocationID) - Store 349(InvocationID) 352 - 355: 11(int) Load 354(PrimitiveID) - Store 353(PrimitiveID) 355 - 358: 40 Load 312(input) - Store 357(param) 358 - 361: 11(int) Load 349(InvocationID) - Store 360(param) 361 - 363: 11(int) Load 353(PrimitiveID) - Store 362(param) 363 - 364: 4 FunctionCall 71(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) 357(param) 359(param) 360(param) 362(param) - 365:45(GSOutput) Load 359(param) - Store 356(outStream) 365 + 335: 330(ptr) AccessChain 334(input.Color) 107 + 336: 21(fvec3) Load 335 + 337: 139(ptr) AccessChain 319(input) 107 196 + Store 337 336 + 338: 323(ptr) AccessChain 322(input.Pos) 138 + 339: 18(fvec4) Load 338 + 340: 200(ptr) AccessChain 319(input) 138 107 + Store 340 339 + 341: 330(ptr) AccessChain 329(input.Normal) 138 + 342: 21(fvec3) Load 341 + 343: 139(ptr) AccessChain 319(input) 138 138 + Store 343 342 + 344: 330(ptr) AccessChain 334(input.Color) 138 + 345: 21(fvec3) Load 344 + 346: 139(ptr) AccessChain 319(input) 138 196 + Store 346 345 + 347: 323(ptr) AccessChain 322(input.Pos) 196 + 348: 18(fvec4) Load 347 + 349: 200(ptr) AccessChain 319(input) 196 107 + Store 349 348 + 350: 330(ptr) AccessChain 329(input.Normal) 196 + 351: 21(fvec3) Load 350 + 352: 139(ptr) AccessChain 319(input) 196 138 + Store 352 351 + 353: 330(ptr) AccessChain 334(input.Color) 196 + 354: 21(fvec3) Load 353 + 355: 139(ptr) AccessChain 319(input) 196 196 + Store 355 354 + 359: 11(int) Load 358(InvocationID) + Store 356(InvocationID) 359 + 362: 11(int) Load 361(PrimitiveID) + Store 360(PrimitiveID) 362 + 365: 41 Load 319(input) + Store 364(param) 365 + 368: 11(int) Load 356(InvocationID) + Store 367(param) 368 + 370: 11(int) Load 360(PrimitiveID) + Store 369(param) 370 + 371: 4 FunctionCall 72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) 364(param) 366(param) 367(param) 369(param) + 372:46(GSOutput) Load 366(param) + Store 363(outStream) 372 Return FunctionEnd -71(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;): 4 Function None 65 - 67(input): 42(ptr) FunctionParameter - 68(outStream): 61(ptr) FunctionParameter -69(InvocationID): 63(ptr) FunctionParameter - 70(PrimitiveID): 63(ptr) FunctionParameter - 72: Label - 97(i): 95(ptr) Variable Function - 119(output): 61(ptr) Variable Function - 196(pos): 194(ptr) Variable Function - 205(worldPos): 194(ptr) Variable Function - 216(lPos): 134(ptr) Variable Function - 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74 - 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 75 75 16 16 - 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 76 67(input) 79 - 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 82 68(outStream) 79 - 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 86 69(InvocationID) 79 - 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 89 70(PrimitiveID) 79 - 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 74 71(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) - 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16 - 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 98 97(i) 79 - Store 97(i) 103 - Branch 104 - 104: Label - 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74 - 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16 - LoopMerge 106 107 None - Branch 110 - 110: Label - 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74 - 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16 - 111: 92(int) Load 97(i) - 118: 115(bool) SLessThan 111 114 - BranchConditional 118 105 106 - 105: Label - 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74 - 125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 122 122 16 16 - 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 120 119(output) 79 - Store 119(output) 129 - 131: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 132 132 16 16 - 130: 92(int) Load 97(i) - 136: 134(ptr) AccessChain 67(input) 130 133 - 137: 21(fvec3) Load 136 - 170: 11(int) Load 69(InvocationID) - 173: 171(ptr) AccessChain 167 103 133 170 - 174: 138 Load 173 - 177: 18(fvec4) CompositeExtract 174 0 - 178: 21(fvec3) VectorShuffle 177 177 0 1 2 - 179: 18(fvec4) CompositeExtract 174 1 - 180: 21(fvec3) VectorShuffle 179 179 0 1 2 - 181: 18(fvec4) CompositeExtract 174 2 - 182: 21(fvec3) VectorShuffle 181 181 0 1 2 - 183: 175 CompositeConstruct 178 180 182 - 184: 21(fvec3) VectorTimesMatrix 137 183 - 185: 134(ptr) AccessChain 119(output) 114 - Store 185 184 - 188: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 189 189 16 16 - 187: 92(int) Load 97(i) - 191: 134(ptr) AccessChain 67(input) 187 190 - 192: 21(fvec3) Load 191 - 193: 134(ptr) AccessChain 119(output) 186 - Store 193 192 - 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 199 199 16 16 - 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 197 196(pos) 79 - 202: 92(int) Load 97(i) - 203: 194(ptr) AccessChain 67(input) 202 103 - 204: 18(fvec4) Load 203 - Store 196(pos) 204 - 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 208 208 16 16 - 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 206 205(worldPos) 79 - 211: 18(fvec4) Load 196(pos) - 212: 11(int) Load 69(InvocationID) - 213: 171(ptr) AccessChain 167 103 133 212 - 214: 138 Load 213 - 215: 18(fvec4) VectorTimesMatrix 211 214 - Store 205(worldPos) 215 - 221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 219 219 16 16 - 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 217 216(lPos) 79 - 224: 222(ptr) AccessChain 167 103 190 - 225: 18(fvec4) Load 224 - 226: 11(int) Load 69(InvocationID) - 227: 171(ptr) AccessChain 167 103 133 226 - 228: 138 Load 227 - 229: 18(fvec4) VectorTimesMatrix 225 228 - 230: 21(fvec3) VectorShuffle 229 229 0 1 2 - Store 216(lPos) 230 - 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 234 234 16 16 - 232: 21(fvec3) Load 216(lPos) - 235: 18(fvec4) Load 205(worldPos) +72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;): 4 Function None 66 + 68(input): 43(ptr) FunctionParameter + 69(outStream): 62(ptr) FunctionParameter +70(InvocationID): 64(ptr) FunctionParameter + 71(PrimitiveID): 64(ptr) FunctionParameter + 73: Label + 101(i): 99(ptr) Variable Function + 124(output): 62(ptr) Variable Function + 202(pos): 200(ptr) Variable Function + 211(worldPos): 200(ptr) Variable Function + 222(lPos): 139(ptr) Variable Function + 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 + 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 38 38 16 16 + 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 76 68(input) 79 + 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 82 69(outStream) 79 + 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 86 70(InvocationID) 79 + 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 89 71(PrimitiveID) 79 + 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 75 72(@main(struct-VSOutput-vf4-vf3-vf31[3];struct-GSOutput-vf4-u1-u1-vf3-vf3-vf3-vf31;u1;u1;) + 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 93 + 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 94 94 16 16 + 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 102 101(i) 79 + Store 101(i) 107 + Branch 108 + 108: Label + 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 93 + 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 94 94 16 16 + LoopMerge 110 111 None + Branch 114 + 114: Label + 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 93 + 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 94 94 16 16 + 115: 96(int) Load 101(i) + 122: 119(bool) SLessThan 115 118 + BranchConditional 122 109 110 + 109: Label + 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 123 + 130: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 127 127 16 16 + 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 125 124(output) 79 + Store 124(output) 134 + 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 137 137 16 16 + 135: 96(int) Load 101(i) + 141: 139(ptr) AccessChain 68(input) 135 138 + 142: 21(fvec3) Load 141 + 176: 11(int) Load 70(InvocationID) + 179: 177(ptr) AccessChain 172 107 138 176 + 180: 143 Load 179 + 183: 18(fvec4) CompositeExtract 180 0 + 184: 21(fvec3) VectorShuffle 183 183 0 1 2 + 185: 18(fvec4) CompositeExtract 180 1 + 186: 21(fvec3) VectorShuffle 185 185 0 1 2 + 187: 18(fvec4) CompositeExtract 180 2 + 188: 21(fvec3) VectorShuffle 187 187 0 1 2 + 189: 181 CompositeConstruct 184 186 188 + 190: 21(fvec3) VectorTimesMatrix 142 189 + 191: 139(ptr) AccessChain 124(output) 118 + Store 191 190 + 194: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 195 195 16 16 + 193: 96(int) Load 101(i) + 197: 139(ptr) AccessChain 68(input) 193 196 + 198: 21(fvec3) Load 197 + 199: 139(ptr) AccessChain 124(output) 192 + Store 199 198 + 207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 205 205 16 16 + 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 203 202(pos) 79 + 208: 96(int) Load 101(i) + 209: 200(ptr) AccessChain 68(input) 208 107 + 210: 18(fvec4) Load 209 + Store 202(pos) 210 + 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 214 214 16 16 + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 212 211(worldPos) 79 + 217: 18(fvec4) Load 202(pos) + 218: 11(int) Load 70(InvocationID) + 219: 177(ptr) AccessChain 172 107 138 218 + 220: 143 Load 219 + 221: 18(fvec4) VectorTimesMatrix 217 220 + Store 211(worldPos) 221 + 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 225 225 16 16 + 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 223 222(lPos) 79 + 230: 228(ptr) AccessChain 172 107 196 + 231: 18(fvec4) Load 230 + 232: 11(int) Load 70(InvocationID) + 233: 177(ptr) AccessChain 172 107 138 232 + 234: 143 Load 233 + 235: 18(fvec4) VectorTimesMatrix 231 234 236: 21(fvec3) VectorShuffle 235 235 0 1 2 - 237: 21(fvec3) FSub 232 236 - 238: 134(ptr) AccessChain 119(output) 231 - Store 238 237 - 241: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 242 242 16 16 - 240: 18(fvec4) Load 205(worldPos) - 243: 21(fvec3) VectorShuffle 240 240 0 1 2 - 244: 21(fvec3) FNegate 243 - 245: 134(ptr) AccessChain 119(output) 239 - Store 245 244 + Store 222(lPos) 236 + 239: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 240 240 16 16 + 238: 21(fvec3) Load 222(lPos) + 241: 18(fvec4) Load 211(worldPos) + 242: 21(fvec3) VectorShuffle 241 241 0 1 2 + 243: 21(fvec3) FSub 238 242 + 244: 139(ptr) AccessChain 124(output) 237 + Store 244 243 247: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 248 248 16 16 - 246: 18(fvec4) Load 205(worldPos) - 249: 11(int) Load 69(InvocationID) - 250: 171(ptr) AccessChain 167 103 103 249 - 251: 138 Load 250 - 252: 18(fvec4) VectorTimesMatrix 246 251 - 253: 194(ptr) AccessChain 119(output) 103 - Store 253 252 - 255: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 256 256 16 16 - 254: 11(int) Load 69(InvocationID) - 257: 63(ptr) AccessChain 119(output) 133 - Store 257 254 - 259: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 260 260 16 16 - 258: 11(int) Load 70(PrimitiveID) - 261: 63(ptr) AccessChain 119(output) 190 - Store 261 258 - 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 267 267 16 16 - 268: 194(ptr) AccessChain 119(output) 103 - 270: 18(fvec4) Load 268 - Store 264(outStream.Pos) 270 - 276: 63(ptr) AccessChain 119(output) 133 - 277: 11(int) Load 276 - Store 273(outStream.ViewportIndex) 277 - 281: 63(ptr) AccessChain 119(output) 190 - 282: 11(int) Load 281 - Store 278(outStream.PrimitiveID) 282 - 288: 134(ptr) AccessChain 119(output) 114 - 289: 21(fvec3) Load 288 - Store 285(outStream.Normal) 289 - 293: 134(ptr) AccessChain 119(output) 186 - 294: 21(fvec3) Load 293 - Store 290(outStream.Color) 294 - 298: 134(ptr) AccessChain 119(output) 239 - 299: 21(fvec3) Load 298 - Store 295(outStream.ViewVec) 299 - 303: 134(ptr) AccessChain 119(output) 231 - 304: 21(fvec3) Load 303 - Store 300(outStream.LightVec) 304 + 246: 18(fvec4) Load 211(worldPos) + 249: 21(fvec3) VectorShuffle 246 246 0 1 2 + 250: 21(fvec3) FNegate 249 + 251: 139(ptr) AccessChain 124(output) 245 + Store 251 250 + 253: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 254 254 16 16 + 252: 18(fvec4) Load 211(worldPos) + 255: 11(int) Load 70(InvocationID) + 256: 177(ptr) AccessChain 172 107 107 255 + 257: 143 Load 256 + 258: 18(fvec4) VectorTimesMatrix 252 257 + 259: 200(ptr) AccessChain 124(output) 107 + Store 259 258 + 261: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 262 262 16 16 + 260: 11(int) Load 70(InvocationID) + 263: 64(ptr) AccessChain 124(output) 138 + Store 263 260 + 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 266 266 16 16 + 264: 11(int) Load 71(PrimitiveID) + 267: 64(ptr) AccessChain 124(output) 196 + Store 267 264 + 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 273 273 16 16 + 274: 200(ptr) AccessChain 124(output) 107 + 276: 18(fvec4) Load 274 + Store 270(outStream.Pos) 276 + 282: 64(ptr) AccessChain 124(output) 138 + 283: 11(int) Load 282 + Store 279(outStream.ViewportIndex) 283 + 287: 64(ptr) AccessChain 124(output) 196 + 288: 11(int) Load 287 + Store 284(outStream.PrimitiveID) 288 + 294: 139(ptr) AccessChain 124(output) 118 + 295: 21(fvec3) Load 294 + Store 291(outStream.Normal) 295 + 299: 139(ptr) AccessChain 124(output) 192 + 300: 21(fvec3) Load 299 + Store 296(outStream.Color) 300 + 304: 139(ptr) AccessChain 124(output) 245 + 305: 21(fvec3) Load 304 + Store 301(outStream.ViewVec) 305 + 309: 139(ptr) AccessChain 124(output) 237 + 310: 21(fvec3) Load 309 + Store 306(outStream.LightVec) 310 EmitVertex - Branch 107 - 107: Label - 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74 - 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 100 100 16 16 - 305: 92(int) Load 97(i) - 308: 92(int) IAdd 305 133 - Store 97(i) 308 - Branch 104 - 106: Label - 309: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 74 - 310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 311 311 16 16 + Branch 111 + 111: Label + 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 93 + 313: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 94 94 16 16 + 311: 96(int) Load 101(i) + 314: 96(int) IAdd 311 138 + Store 101(i) 314 + Branch 108 + 110: Label + 315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 92 + 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 26 317 317 16 16 EndPrimitive + 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 75 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.tesc.out b/Test/baseResults/spv.debuginfo.hlsl.tesc.out index 14f1e4b2..494878cd 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.tesc.out +++ b/Test/baseResults/spv.debuginfo.hlsl.tesc.out @@ -1,21 +1,21 @@ spv.debuginfo.hlsl.tesc -WARNING: 0:158: '' : attribute does not apply to entry point +WARNING: spv.debuginfo.hlsl.tesc:158: '' : attribute does not apply to entry point // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 705 +// Id's are bound by 724 Capability Tessellation Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint TessellationControl 6 "main" 597 604 611 645 654 661 668 683 698 + EntryPoint TessellationControl 6 "main" 616 623 630 664 673 680 687 702 717 ExecutionMode 6 OutputVertices 4 ExecutionMode 6 Quads ExecutionMode 6 SpacingEqual ExecutionMode 6 VertexOrderCw - 2: String "" + 2: String "spv.debuginfo.hlsl.tesc" 9: String "float" 12: String "uint" 30: String "screenSpaceTessFactor" @@ -27,48 +27,213 @@ WARNING: 0:158: '' : attribute does not apply to entry point // OpModuleProcessed keep-uncalled // OpModuleProcessed hlsl-offsets #line 1 +/* +The MIT License (MIT) + +Copyright (c) 2022 Google LLC +Copyright (c) 2022 Sascha Willems + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +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 Software. + +THE SOFTWARE IS 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 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +struct UBO +{ + float4x4 projection; + float4x4 modelview; + float4 lightPos; + float4 frustumPlanes[6]; + float displacementFactor; + float tessellationFactor; + float2 viewportDim; + float tessellatedEdgeSize; +}; +cbuffer ubo : register(b0) { UBO ubo; }; + +Texture2D textureHeight : register(t1); +SamplerState samplerHeight : register(s1); + +struct VSOutput +{ + float4 Pos : SV_POSITION; +[[vk::location(0)]] float3 Normal : NORMAL0; +[[vk::location(1)]] float2 UV : TEXCOORD0; +}; + +struct HSOutput +{ +[[vk::location(2)]] float4 Pos : SV_POSITION; +[[vk::location(0)]] float3 Normal : NORMAL0; +[[vk::location(1)]] float2 UV : TEXCOORD0; +}; + +struct ConstantsHSOutput +{ + float TessLevelOuter[4] : SV_TessFactor; + float TessLevelInner[2] : SV_InsideTessFactor; +}; + +// Calculate the tessellation factor based on screen space +// dimensions of the edge +float screenSpaceTessFactor(float4 p0, float4 p1) +{ + // Calculate edge mid point + float4 midPoint = 0.5 * (p0 + p1); + // Sphere radius as distance between the control points + float radius = distance(p0, p1) / 2.0; + + // View space + float4 v0 = mul(ubo.modelview, midPoint); + + // Project into clip space + float4 clip0 = mul(ubo.projection, (v0 - float4(radius, float3(0.0, 0.0, 0.0)))); + float4 clip1 = mul(ubo.projection, (v0 + float4(radius, float3(0.0, 0.0, 0.0)))); + + // Get normalized device coordinates + clip0 /= clip0.w; + clip1 /= clip1.w; + + // Convert to viewport coordinates + clip0.xy *= ubo.viewportDim; + clip1.xy *= ubo.viewportDim; + + // Return the tessellation factor based on the screen size + // given by the distance of the two edge control points in screen space + // and a reference (min.) tessellation size for the edge set by the application + return clamp(distance(clip0, clip1) / ubo.tessellatedEdgeSize * ubo.tessellationFactor, 1.0, 64.0); +} + +// Checks the current's patch visibility against the frustum using a sphere check +// Sphere radius is given by the patch size +bool frustumCheck(float4 Pos, float2 inUV) +{ + // Fixed radius (increase if patch size is increased in example) + const float radius = 8.0f; + float4 pos = Pos; + pos.y -= textureHeight.SampleLevel(samplerHeight, inUV, 0.0).r * ubo.displacementFactor; + + // Check sphere against frustum planes + for (int i = 0; i < 6; i++) { + if (dot(pos, ubo.frustumPlanes[i]) + radius < 0.0) + { + return false; + } + } + return true; +} + +ConstantsHSOutput ConstantsHS(InputPatch patch) +{ + ConstantsHSOutput output = (ConstantsHSOutput)0; + + if (!frustumCheck(patch[0].Pos, patch[0].UV)) + { + output.TessLevelInner[0] = 0.0; + output.TessLevelInner[1] = 0.0; + output.TessLevelOuter[0] = 0.0; + output.TessLevelOuter[1] = 0.0; + output.TessLevelOuter[2] = 0.0; + output.TessLevelOuter[3] = 0.0; + } + else + { + if (ubo.tessellationFactor > 0.0) + { + output.TessLevelOuter[0] = screenSpaceTessFactor(patch[3].Pos, patch[0].Pos); + output.TessLevelOuter[1] = screenSpaceTessFactor(patch[0].Pos, patch[1].Pos); + output.TessLevelOuter[2] = screenSpaceTessFactor(patch[1].Pos, patch[2].Pos); + output.TessLevelOuter[3] = screenSpaceTessFactor(patch[2].Pos, patch[3].Pos); + output.TessLevelInner[0] = lerp(output.TessLevelOuter[0], output.TessLevelOuter[3], 0.5); + output.TessLevelInner[1] = lerp(output.TessLevelOuter[2], output.TessLevelOuter[1], 0.5); + } + else + { + // Tessellation factor can be set to zero by example + // to demonstrate a simple passthrough + output.TessLevelInner[0] = 1.0; + output.TessLevelInner[1] = 1.0; + output.TessLevelOuter[0] = 1.0; + output.TessLevelOuter[1] = 1.0; + output.TessLevelOuter[2] = 1.0; + output.TessLevelOuter[3] = 1.0; + } + } + + return output; +} + +[domain("quad")] +[partitioning("integer")] +[outputtopology("triangle_cw")] +[outputcontrolpoints(4)] +[patchconstantfunc("ConstantsHS")] +[maxtessfactor(20.0f)] +HSOutput main(InputPatch patch, uint InvocationID : SV_OutputControlPointID) +{ + HSOutput output = (HSOutput)0; + output.Pos = patch[InvocationID].Pos; + output.Normal = patch[InvocationID].Normal; + output.UV = patch[InvocationID].UV; + return output; +} " 39: String "p0" 45: String "p1" 53: String "bool" 61: String "frustumCheck" 65: String "Pos" - 69: String "inUV" - 78: String "Normal" - 82: String "UV" - 86: String "VSOutput" - 97: String "TessLevelOuter" - 101: String "TessLevelInner" - 104: String "ConstantsHSOutput" - 110: String "ConstantsHS" - 114: String "patch" - 127: String "HSOutput" - 134: String "@main" - 141: String "InvocationID" - 146: String "midPoint" - 159: String "radius" - 170: String "v0" - 182: String "modelview" - 187: String "lightPos" - 191: String "frustumPlanes" - 194: String "tessellatedEdgeSize" - 198: String "viewportDim" - 202: String "UBO" - 205: String "ubo" - 214: String "int" - 225: String "clip0" - 243: String "clip1" - 321: String "pos" - 328: String "type.2d.image" - 330: String "@type.2d.image" - 336: String "textureHeight" - 341: String "type.sampler" - 342: String "@type.sampler" - 347: String "samplerHeight" - 351: String "type.sampled.image" - 352: String "@type.sampled.image" - 369: String "i" - 423: String "output" + 70: String "inUV" + 79: String "Normal" + 83: String "UV" + 87: String "VSOutput" + 99: String "TessLevelOuter" + 103: String "TessLevelInner" + 106: String "ConstantsHSOutput" + 112: String "ConstantsHS" + 115: String "patch" + 129: String "HSOutput" + 137: String "@main" + 144: String "InvocationID" + 150: String "midPoint" + 164: String "radius" + 175: String "v0" + 187: String "modelview" + 192: String "lightPos" + 196: String "frustumPlanes" + 199: String "tessellatedEdgeSize" + 203: String "viewportDim" + 207: String "UBO" + 210: String "ubo" + 217: String "" + 220: String "int" + 231: String "clip0" + 249: String "clip1" + 328: String "pos" + 336: String "type.2d.image" + 338: String "@type.2d.image" + 344: String "textureHeight" + 349: String "type.sampler" + 350: String "@type.sampler" + 355: String "samplerHeight" + 359: String "type.sampled.image" + 360: String "@type.sampled.image" + 380: String "i" + 435: String "output" Name 6 "main" Name 28 "screenSpaceTessFactor(vf4;vf4;" Name 26 "p0" @@ -76,103 +241,103 @@ WARNING: 0:158: '' : attribute does not apply to entry point Name 59 "frustumCheck(vf4;vf2;" Name 57 "Pos" Name 58 "inUV" - Name 73 "VSOutput" - MemberName 73(VSOutput) 0 "Pos" - MemberName 73(VSOutput) 1 "Normal" - MemberName 73(VSOutput) 2 "UV" - Name 95 "ConstantsHSOutput" - MemberName 95(ConstantsHSOutput) 0 "TessLevelOuter" - MemberName 95(ConstantsHSOutput) 1 "TessLevelInner" - Name 108 "ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];" - Name 107 "patch" - Name 119 "HSOutput" - MemberName 119(HSOutput) 0 "Pos" - MemberName 119(HSOutput) 1 "Normal" - MemberName 119(HSOutput) 2 "UV" - Name 132 "@main(struct-VSOutput-vf4-vf3-vf21[4];u1;" - Name 130 "patch" - Name 131 "InvocationID" - Name 144 "midPoint" - Name 157 "radius" - Name 168 "v0" - Name 180 "UBO" - MemberName 180(UBO) 0 "projection" - MemberName 180(UBO) 1 "modelview" - MemberName 180(UBO) 2 "lightPos" - MemberName 180(UBO) 3 "frustumPlanes" - MemberName 180(UBO) 4 "displacementFactor" - MemberName 180(UBO) 5 "tessellationFactor" - MemberName 180(UBO) 6 "viewportDim" - MemberName 180(UBO) 7 "tessellatedEdgeSize" - Name 203 "ubo" - MemberName 203(ubo) 0 "ubo" - Name 210 "" - Name 223 "clip0" - Name 241 "clip1" - Name 319 "pos" - Name 334 "textureHeight" - Name 345 "samplerHeight" - Name 367 "i" - Name 421 "output" - Name 431 "param" - Name 436 "param" - Name 471 "param" - Name 477 "param" - Name 482 "param" + Name 74 "VSOutput" + MemberName 74(VSOutput) 0 "Pos" + MemberName 74(VSOutput) 1 "Normal" + MemberName 74(VSOutput) 2 "UV" + Name 97 "ConstantsHSOutput" + MemberName 97(ConstantsHSOutput) 0 "TessLevelOuter" + MemberName 97(ConstantsHSOutput) 1 "TessLevelInner" + Name 110 "ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];" + Name 109 "patch" + Name 121 "HSOutput" + MemberName 121(HSOutput) 0 "Pos" + MemberName 121(HSOutput) 1 "Normal" + MemberName 121(HSOutput) 2 "UV" + Name 135 "@main(struct-VSOutput-vf4-vf3-vf21[4];u1;" + Name 133 "patch" + Name 134 "InvocationID" + Name 148 "midPoint" + Name 162 "radius" + Name 173 "v0" + Name 185 "UBO" + MemberName 185(UBO) 0 "projection" + MemberName 185(UBO) 1 "modelview" + MemberName 185(UBO) 2 "lightPos" + MemberName 185(UBO) 3 "frustumPlanes" + MemberName 185(UBO) 4 "displacementFactor" + MemberName 185(UBO) 5 "tessellationFactor" + MemberName 185(UBO) 6 "viewportDim" + MemberName 185(UBO) 7 "tessellatedEdgeSize" + Name 208 "ubo" + MemberName 208(ubo) 0 "ubo" + Name 215 "" + Name 229 "clip0" + Name 247 "clip1" + Name 326 "pos" + Name 342 "textureHeight" + Name 353 "samplerHeight" + Name 378 "i" + Name 433 "output" + Name 444 "param" + Name 449 "param" Name 487 "param" - Name 492 "param" - Name 497 "param" - Name 502 "param" - Name 507 "param" - Name 560 "output" - Name 594 "patch" - Name 597 "patch.Pos" - Name 604 "patch.Normal" - Name 611 "patch.UV" - Name 643 "InvocationID" - Name 645 "InvocationID" - Name 647 "flattenTemp" - Name 648 "param" - Name 650 "param" - Name 654 "@entryPointOutput.Pos" - Name 661 "@entryPointOutput.Normal" - Name 668 "@entryPointOutput.UV" - Name 678 "@patchConstantResult" - Name 679 "param" - Name 683 "@patchConstantOutput.TessLevelOuter" - Name 698 "@patchConstantOutput.TessLevelInner" - Decorate 178 ArrayStride 16 - MemberDecorate 180(UBO) 0 RowMajor - MemberDecorate 180(UBO) 0 Offset 0 - MemberDecorate 180(UBO) 0 MatrixStride 16 - MemberDecorate 180(UBO) 1 RowMajor - MemberDecorate 180(UBO) 1 Offset 64 - MemberDecorate 180(UBO) 1 MatrixStride 16 - MemberDecorate 180(UBO) 2 Offset 128 - MemberDecorate 180(UBO) 3 Offset 144 - MemberDecorate 180(UBO) 4 Offset 240 - MemberDecorate 180(UBO) 5 Offset 244 - MemberDecorate 180(UBO) 6 Offset 248 - MemberDecorate 180(UBO) 7 Offset 256 - MemberDecorate 203(ubo) 0 Offset 0 - Decorate 203(ubo) Block - Decorate 210 DescriptorSet 0 - Decorate 210 Binding 0 - Decorate 334(textureHeight) DescriptorSet 0 - Decorate 334(textureHeight) Binding 1 - Decorate 345(samplerHeight) DescriptorSet 0 - Decorate 345(samplerHeight) Binding 1 - Decorate 597(patch.Pos) BuiltIn Position - Decorate 604(patch.Normal) Location 0 - Decorate 611(patch.UV) Location 1 - Decorate 645(InvocationID) BuiltIn InvocationId - Decorate 654(@entryPointOutput.Pos) BuiltIn Position - Decorate 661(@entryPointOutput.Normal) Location 0 - Decorate 668(@entryPointOutput.UV) Location 1 - Decorate 683(@patchConstantOutput.TessLevelOuter) Patch - Decorate 683(@patchConstantOutput.TessLevelOuter) BuiltIn TessLevelOuter - Decorate 698(@patchConstantOutput.TessLevelInner) Patch - Decorate 698(@patchConstantOutput.TessLevelInner) BuiltIn TessLevelInner + Name 493 "param" + Name 498 "param" + Name 503 "param" + Name 508 "param" + Name 513 "param" + Name 518 "param" + Name 523 "param" + Name 577 "output" + Name 613 "patch" + Name 616 "patch.Pos" + Name 623 "patch.Normal" + Name 630 "patch.UV" + Name 662 "InvocationID" + Name 664 "InvocationID" + Name 666 "flattenTemp" + Name 667 "param" + Name 669 "param" + Name 673 "@entryPointOutput.Pos" + Name 680 "@entryPointOutput.Normal" + Name 687 "@entryPointOutput.UV" + Name 697 "@patchConstantResult" + Name 698 "param" + Name 702 "@patchConstantOutput.TessLevelOuter" + Name 717 "@patchConstantOutput.TessLevelInner" + Decorate 183 ArrayStride 16 + MemberDecorate 185(UBO) 0 RowMajor + MemberDecorate 185(UBO) 0 MatrixStride 16 + MemberDecorate 185(UBO) 0 Offset 0 + MemberDecorate 185(UBO) 1 RowMajor + MemberDecorate 185(UBO) 1 MatrixStride 16 + MemberDecorate 185(UBO) 1 Offset 64 + MemberDecorate 185(UBO) 2 Offset 128 + MemberDecorate 185(UBO) 3 Offset 144 + MemberDecorate 185(UBO) 4 Offset 240 + MemberDecorate 185(UBO) 5 Offset 244 + MemberDecorate 185(UBO) 6 Offset 248 + MemberDecorate 185(UBO) 7 Offset 256 + Decorate 208(ubo) Block + MemberDecorate 208(ubo) 0 Offset 0 + Decorate 215 Binding 0 + Decorate 215 DescriptorSet 0 + Decorate 342(textureHeight) Binding 1 + Decorate 342(textureHeight) DescriptorSet 0 + Decorate 353(samplerHeight) Binding 1 + Decorate 353(samplerHeight) DescriptorSet 0 + Decorate 616(patch.Pos) BuiltIn Position + Decorate 623(patch.Normal) Location 0 + Decorate 630(patch.UV) Location 1 + Decorate 664(InvocationID) BuiltIn InvocationId + Decorate 673(@entryPointOutput.Pos) BuiltIn Position + Decorate 680(@entryPointOutput.Normal) Location 0 + Decorate 687(@entryPointOutput.UV) Location 1 + Decorate 702(@patchConstantOutput.TessLevelOuter) BuiltIn TessLevelOuter + Decorate 702(@patchConstantOutput.TessLevelOuter) Patch + Decorate 717(@patchConstantOutput.TessLevelInner) BuiltIn TessLevelInner + Decorate 717(@patchConstantOutput.TessLevelInner) Patch 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -212,712 +377,727 @@ WARNING: 0:158: '' : attribute does not apply to entry point 63: 11(int) Constant 95 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 61 56 32 63 16 35 61 17 63 64: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 65 20 32 63 16 62 19 36 - 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 69 49 32 63 16 62 19 46 - 71: TypeVector 8(float) 3 - 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17 - 73(VSOutput): TypeStruct 18(fvec4) 71(fvec3) 48(fvec2) - 75: 11(int) Constant 44 - 76: 11(int) Constant 13 - 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 65 20 32 75 76 16 16 17 - 79: 11(int) Constant 45 - 80: 11(int) Constant 35 - 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 78 72 32 79 80 16 16 17 - 83: 11(int) Constant 46 - 84: 11(int) Constant 31 - 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 82 49 32 83 84 16 16 17 - 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 86 36 32 63 16 35 86 16 17 74 77 81 - 87: TypeArray 73(VSOutput) 19 - 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 85 19 - 89: TypePointer Function 87 - 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 88 22 16 - 91: TypeArray 8(float) 19 - 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 19 - 93: TypeArray 8(float) 46 - 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 46 -95(ConstantsHSOutput): TypeStruct 91 93 - 98: 11(int) Constant 58 - 99: 11(int) Constant 25 - 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 97 92 32 98 99 16 16 17 - 102: 11(int) Constant 59 - 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 101 94 32 102 99 16 16 17 - 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 104 36 32 63 16 35 104 16 17 96 100 - 105: TypeFunction 95(ConstantsHSOutput) 89(ptr) - 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 103 88 - 112: 11(int) Constant 112 - 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 110 106 32 112 16 35 110 17 112 - 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 114 88 32 112 16 111 19 36 - 117: TypePointer Function 11(int) - 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 22 16 - 119(HSOutput): TypeStruct 18(fvec4) 71(fvec3) 48(fvec2) - 121: 11(int) Constant 51 - 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 65 20 32 121 14 16 16 17 - 123: 11(int) Constant 52 - 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 78 72 32 123 80 16 16 17 - 125: 11(int) Constant 53 - 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 82 49 32 125 84 16 16 17 - 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 127 36 32 112 16 35 127 16 17 120 122 124 - 128: TypeFunction 119(HSOutput) 89(ptr) 117(ptr) - 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 126 88 13 - 136: 11(int) Constant 158 - 135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 134 129 32 136 16 35 134 17 136 - 137: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 114 88 32 136 16 135 19 36 - 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 141 13 32 136 16 135 19 46 - 147: 11(int) Constant 67 - 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 146 20 32 147 16 31 19 - 150: 8(float) Constant 1056964608 - 155: TypePointer Function 8(float) - 156: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 22 16 - 160: 11(int) Constant 69 - 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 159 10 32 160 16 31 19 - 166: 8(float) Constant 1073741824 - 171: 11(int) Constant 72 - 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 170 20 32 171 16 31 19 - 175: TypeMatrix 18(fvec4) 4 - 177: 52(bool) ConstantTrue - 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 177 - 178: TypeArray 18(fvec4) 15 - 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 20 15 - 180(UBO): TypeStruct 175 175 18(fvec4) 178 8(float) 8(float) 48(fvec2) 8(float) - 183: 11(int) Constant 29 - 184: 11(int) Constant 20 - 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 182 176 32 183 184 16 16 17 - 185: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 182 176 32 183 184 16 16 17 - 188: 11(int) Constant 30 - 189: 11(int) Constant 17 - 186: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 187 20 32 188 189 16 16 17 - 192: 11(int) Constant 22 - 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 191 179 32 84 192 16 16 17 - 195: 11(int) Constant 27 - 193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 194 10 32 80 195 16 16 17 - 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 194 10 32 80 195 16 16 17 - 199: 11(int) Constant 34 - 197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 198 49 32 199 184 16 16 17 - 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 194 10 32 80 195 16 16 17 - 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 202 36 32 171 16 35 202 16 17 181 185 186 190 193 196 197 200 - 203(ubo): TypeStruct 180(UBO) - 206: 11(int) Constant 37 - 204: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 205 201 32 206 206 16 16 17 - 207: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 205 36 32 171 16 35 205 16 17 204 - 208: TypePointer Uniform 203(ubo) - 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 207 46 16 - 210: 208(ptr) Variable Uniform - 212: 11(int) Constant 8 - 211: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 207 32 171 16 35 2 210 212 - 213: TypeInt 32 1 - 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 214 14 19 16 - 216: 213(int) Constant 0 - 217: 213(int) Constant 1 - 218: TypePointer Uniform 175 - 219: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 176 46 16 - 226: 11(int) Constant 75 - 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 225 20 32 226 16 31 19 - 231: 8(float) Constant 0 - 232: 71(fvec3) ConstantComposite 231 231 231 - 244: 11(int) Constant 76 - 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 243 20 32 244 16 31 19 - 259: 11(int) Constant 79 - 266: 11(int) Constant 80 - 271: 213(int) Constant 6 - 272: TypePointer Uniform 48(fvec2) - 273: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 49 46 16 - 276: 11(int) Constant 83 - 287: 11(int) Constant 84 - 298: 11(int) Constant 89 - 301: 213(int) Constant 7 - 302: TypePointer Uniform 8(float) - 303: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 46 16 - 307: 213(int) Constant 5 - 311: 8(float) Constant 1065353216 - 312: 8(float) Constant 1115684864 - 322: 11(int) Constant 98 - 320: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 321 20 32 322 16 62 19 - 326: TypeImage 8(float) 2D sampled format:Unknown - 329: 11(int) Constant 99 - 331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 328 16 32 329 16 35 330 331 17 - 332: TypePointer UniformConstant 326 - 333: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 327 16 16 -334(textureHeight): 332(ptr) Variable UniformConstant - 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 336 327 32 329 16 35 336 334(textureHeight) 212 - 339: TypeSampler - 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 341 36 32 329 16 35 342 331 17 - 343: TypePointer UniformConstant 339 - 344: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 340 16 16 -345(samplerHeight): 343(ptr) Variable UniformConstant - 346: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 347 340 32 329 16 35 347 345(samplerHeight) 212 - 349: TypeSampledImage 326 - 350: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 351 16 32 329 16 35 352 331 17 - 357: 213(int) Constant 4 - 365: TypePointer Function 213(int) - 366: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 215 22 16 - 370: 11(int) Constant 102 - 368: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 369 215 32 370 16 62 19 - 387: 11(int) Constant 103 - 388: 213(int) Constant 3 - 390: TypePointer Uniform 18(fvec4) - 391: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 46 16 - 395: 8(float) Constant 1090519040 - 400: 52(bool) ConstantFalse - 403: 11(int) Constant 105 - 413: 11(int) Constant 108 - 419: TypePointer Function 95(ConstantsHSOutput) - 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 103 22 16 - 424: 11(int) Constant 113 - 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 423 103 32 424 16 111 19 - 427: 91 ConstantComposite 231 231 231 231 - 428: 93 ConstantComposite 231 231 - 429:95(ConstantsHSOutput) ConstantComposite 427 428 - 430: 213(int) Constant 2 - 434: 11(int) Constant 115 - 446: 11(int) Constant 117 - 449: 11(int) Constant 118 - 452: 11(int) Constant 119 - 455: 11(int) Constant 120 - 458: 11(int) Constant 121 - 461: 11(int) Constant 122 - 466: 11(int) Constant 126 - 475: 11(int) Constant 128 - 485: 11(int) Constant 129 - 495: 11(int) Constant 130 - 505: 11(int) Constant 131 - 514: 11(int) Constant 132 - 522: 11(int) Constant 133 - 532: 11(int) Constant 139 - 535: 11(int) Constant 140 - 538: 11(int) Constant 141 - 541: 11(int) Constant 142 - 544: 11(int) Constant 143 - 547: 11(int) Constant 144 - 552: 11(int) Constant 148 - 558: TypePointer Function 119(HSOutput) - 559: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 126 22 16 - 562: 11(int) Constant 159 - 561: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 423 126 32 562 16 135 19 - 565: 18(fvec4) ConstantComposite 231 231 231 231 - 566: 48(fvec2) ConstantComposite 231 231 - 567:119(HSOutput) ConstantComposite 565 232 566 - 570: 11(int) Constant 160 - 576: 11(int) Constant 161 - 577: TypePointer Function 71(fvec3) - 578: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 22 16 - 584: 11(int) Constant 162 - 590: 11(int) Constant 163 - 595: TypeArray 18(fvec4) 19 - 596: TypePointer Input 595 - 597(patch.Pos): 596(ptr) Variable Input - 598: TypePointer Input 18(fvec4) - 602: TypeArray 71(fvec3) 19 - 603: TypePointer Input 602 -604(patch.Normal): 603(ptr) Variable Input - 605: TypePointer Input 71(fvec3) - 609: TypeArray 48(fvec2) 19 - 610: TypePointer Input 609 - 611(patch.UV): 610(ptr) Variable Input - 612: TypePointer Input 48(fvec2) - 644: TypePointer Input 11(int) -645(InvocationID): 644(ptr) Variable Input - 653: TypePointer Output 595 -654(@entryPointOutput.Pos): 653(ptr) Variable Output - 658: TypePointer Output 18(fvec4) - 660: TypePointer Output 602 -661(@entryPointOutput.Normal): 660(ptr) Variable Output - 665: TypePointer Output 71(fvec3) - 667: TypePointer Output 609 -668(@entryPointOutput.UV): 667(ptr) Variable Output - 672: TypePointer Output 48(fvec2) - 682: TypePointer Output 91 -683(@patchConstantOutput.TessLevelOuter): 682(ptr) Variable Output - 686: TypePointer Output 8(float) - 697: TypePointer Output 93 -698(@patchConstantOutput.TessLevelInner): 697(ptr) Variable Output + 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 70 49 32 63 16 62 19 46 + 72: TypeVector 8(float) 3 + 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17 + 74(VSOutput): TypeStruct 18(fvec4) 72(fvec3) 48(fvec2) + 76: 11(int) Constant 44 + 77: 11(int) Constant 13 + 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 65 20 32 76 77 16 16 17 + 80: 11(int) Constant 45 + 81: 11(int) Constant 35 + 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 79 73 32 80 81 16 16 17 + 84: 11(int) Constant 46 + 85: 11(int) Constant 31 + 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 83 49 32 84 85 16 16 17 + 88: 11(int) Constant 112 + 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 87 36 32 88 16 35 87 16 17 75 78 82 + 89: TypeArray 74(VSOutput) 19 + 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 86 19 + 91: TypePointer Function 89 + 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 90 22 16 + 93: TypeArray 8(float) 19 + 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 19 + 95: TypeArray 8(float) 46 + 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 10 46 +97(ConstantsHSOutput): TypeStruct 93 95 + 100: 11(int) Constant 58 + 101: 11(int) Constant 25 + 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 99 94 32 100 101 16 16 17 + 104: 11(int) Constant 59 + 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 103 96 32 104 101 16 16 17 + 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 106 36 32 88 16 35 106 16 17 98 102 + 107: TypeFunction 97(ConstantsHSOutput) 91(ptr) + 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 105 90 + 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 112 108 32 88 16 35 112 17 88 + 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 115 90 32 88 16 113 19 36 + 119: TypePointer Function 11(int) + 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 13 22 16 + 121(HSOutput): TypeStruct 18(fvec4) 72(fvec3) 48(fvec2) + 123: 11(int) Constant 51 + 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 65 20 32 123 14 16 16 17 + 125: 11(int) Constant 52 + 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 79 73 32 125 81 16 16 17 + 127: 11(int) Constant 53 + 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 83 49 32 127 85 16 16 17 + 130: 11(int) Constant 158 + 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 129 36 32 130 16 35 129 16 17 122 124 126 + 131: TypeFunction 121(HSOutput) 91(ptr) 119(ptr) + 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 128 90 13 + 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 137 132 32 130 16 35 137 17 130 + 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 115 90 32 130 16 138 19 36 + 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 144 13 32 130 16 138 19 46 + 147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 31 + 151: 11(int) Constant 67 + 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 150 20 32 151 16 147 19 + 155: 8(float) Constant 1056964608 + 160: TypePointer Function 8(float) + 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 22 16 + 165: 11(int) Constant 69 + 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 164 10 32 165 16 147 19 + 171: 8(float) Constant 1073741824 + 176: 11(int) Constant 72 + 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 175 20 32 176 16 147 19 + 180: TypeMatrix 18(fvec4) 4 + 182: 52(bool) ConstantTrue + 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 20 19 182 + 183: TypeArray 18(fvec4) 15 + 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 20 15 + 185(UBO): TypeStruct 180 180 18(fvec4) 183 8(float) 8(float) 48(fvec2) 8(float) + 188: 11(int) Constant 29 + 189: 11(int) Constant 20 + 186: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 187 181 32 188 189 16 16 17 + 190: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 187 181 32 188 189 16 16 17 + 193: 11(int) Constant 30 + 194: 11(int) Constant 17 + 191: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 192 20 32 193 194 16 16 17 + 197: 11(int) Constant 22 + 195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 196 184 32 85 197 16 16 17 + 200: 11(int) Constant 27 + 198: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 199 10 32 81 200 16 16 17 + 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 199 10 32 81 200 16 16 17 + 204: 11(int) Constant 34 + 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 203 49 32 204 189 16 16 17 + 205: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 199 10 32 81 200 16 16 17 + 206: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 207 36 32 176 16 35 207 16 17 186 190 191 195 198 201 202 205 + 208(ubo): TypeStruct 185(UBO) + 211: 11(int) Constant 37 + 209: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 210 206 32 211 211 16 16 17 + 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 210 36 32 176 16 35 210 16 17 209 + 213: TypePointer Uniform 208(ubo) + 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 212 46 16 + 215: 213(ptr) Variable Uniform + 218: 11(int) Constant 8 + 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 217 212 32 176 16 35 217 215 218 + 219: TypeInt 32 1 + 221: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 220 14 19 16 + 222: 219(int) Constant 0 + 223: 219(int) Constant 1 + 224: TypePointer Uniform 180 + 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 181 46 16 + 232: 11(int) Constant 75 + 230: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 231 20 32 232 16 147 19 + 237: 8(float) Constant 0 + 238: 72(fvec3) ConstantComposite 237 237 237 + 250: 11(int) Constant 76 + 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 249 20 32 250 16 147 19 + 265: 11(int) Constant 79 + 272: 11(int) Constant 80 + 277: 219(int) Constant 6 + 278: TypePointer Uniform 48(fvec2) + 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 49 46 16 + 282: 11(int) Constant 83 + 293: 11(int) Constant 84 + 304: 11(int) Constant 89 + 307: 219(int) Constant 7 + 308: TypePointer Uniform 8(float) + 309: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 46 16 + 313: 219(int) Constant 5 + 317: 8(float) Constant 1065353216 + 318: 8(float) Constant 1115684864 + 325: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 62 + 329: 11(int) Constant 98 + 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 328 20 32 329 16 325 19 + 334: TypeImage 8(float) 2D sampled format:Unknown + 337: 11(int) Constant 99 + 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 336 16 32 337 16 35 338 339 17 + 340: TypePointer UniformConstant 334 + 341: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 335 16 16 +342(textureHeight): 340(ptr) Variable UniformConstant + 343: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 344 335 32 337 16 35 344 342(textureHeight) 218 + 347: TypeSampler + 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 349 36 32 337 16 35 350 339 17 + 351: TypePointer UniformConstant 347 + 352: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 348 16 16 +353(samplerHeight): 351(ptr) Variable UniformConstant + 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 355 348 32 337 16 35 355 353(samplerHeight) 218 + 357: TypeSampledImage 334 + 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 359 16 32 337 16 35 360 339 17 + 365: 219(int) Constant 4 + 374: 11(int) Constant 102 + 375: 11(int) Constant 11 + 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 374 375 325 + 376: TypePointer Function 219(int) + 377: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 221 22 16 + 379: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 380 221 32 374 16 373 19 + 395: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 373 + 399: 11(int) Constant 103 + 400: 219(int) Constant 3 + 402: TypePointer Uniform 18(fvec4) + 403: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 20 46 16 + 407: 8(float) Constant 1090519040 + 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 395 + 413: 52(bool) ConstantFalse + 416: 11(int) Constant 105 + 424: 11(int) Constant 108 + 430: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 113 + 431: TypePointer Function 97(ConstantsHSOutput) + 432: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 105 22 16 + 436: 11(int) Constant 113 + 434: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 435 105 32 436 16 430 19 + 440: 93 ConstantComposite 237 237 237 237 + 441: 95 ConstantComposite 237 237 + 442:97(ConstantsHSOutput) ConstantComposite 440 441 + 443: 219(int) Constant 2 + 447: 11(int) Constant 115 + 456: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 430 + 460: 11(int) Constant 117 + 463: 11(int) Constant 118 + 466: 11(int) Constant 119 + 469: 11(int) Constant 120 + 472: 11(int) Constant 121 + 475: 11(int) Constant 122 + 477: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 430 + 481: 11(int) Constant 126 + 486: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 477 + 491: 11(int) Constant 128 + 501: 11(int) Constant 129 + 511: 11(int) Constant 130 + 521: 11(int) Constant 131 + 530: 11(int) Constant 132 + 538: 11(int) Constant 133 + 545: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 477 + 549: 11(int) Constant 139 + 552: 11(int) Constant 140 + 555: 11(int) Constant 141 + 558: 11(int) Constant 142 + 561: 11(int) Constant 143 + 564: 11(int) Constant 144 + 568: 11(int) Constant 148 + 574: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 32 16 16 138 + 575: TypePointer Function 121(HSOutput) + 576: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 128 22 16 + 579: 11(int) Constant 159 + 578: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 435 128 32 579 16 574 19 + 583: 18(fvec4) ConstantComposite 237 237 237 237 + 584: 48(fvec2) ConstantComposite 237 237 + 585:121(HSOutput) ConstantComposite 583 238 584 + 588: 11(int) Constant 160 + 594: 11(int) Constant 161 + 595: TypePointer Function 72(fvec3) + 596: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 73 22 16 + 602: 11(int) Constant 162 + 608: 11(int) Constant 163 + 614: TypeArray 18(fvec4) 19 + 615: TypePointer Input 614 + 616(patch.Pos): 615(ptr) Variable Input + 617: TypePointer Input 18(fvec4) + 621: TypeArray 72(fvec3) 19 + 622: TypePointer Input 621 +623(patch.Normal): 622(ptr) Variable Input + 624: TypePointer Input 72(fvec3) + 628: TypeArray 48(fvec2) 19 + 629: TypePointer Input 628 + 630(patch.UV): 629(ptr) Variable Input + 631: TypePointer Input 48(fvec2) + 663: TypePointer Input 11(int) +664(InvocationID): 663(ptr) Variable Input + 672: TypePointer Output 614 +673(@entryPointOutput.Pos): 672(ptr) Variable Output + 677: TypePointer Output 18(fvec4) + 679: TypePointer Output 621 +680(@entryPointOutput.Normal): 679(ptr) Variable Output + 684: TypePointer Output 72(fvec3) + 686: TypePointer Output 628 +687(@entryPointOutput.UV): 686(ptr) Variable Output + 691: TypePointer Output 48(fvec2) + 701: TypePointer Output 93 +702(@patchConstantOutput.TessLevelOuter): 701(ptr) Variable Output + 705: TypePointer Output 8(float) + 716: TypePointer Output 95 +717(@patchConstantOutput.TessLevelInner): 716(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 594(patch): 89(ptr) Variable Function -643(InvocationID): 117(ptr) Variable Function -647(flattenTemp): 558(ptr) Variable Function - 648(param): 89(ptr) Variable Function - 650(param): 117(ptr) Variable Function -678(@patchConstantResult): 419(ptr) Variable Function - 679(param): 89(ptr) Variable Function - 599: 598(ptr) AccessChain 597(patch.Pos) 216 - 600: 18(fvec4) Load 599 - 601: 21(ptr) AccessChain 594(patch) 216 216 - Store 601 600 - 606: 605(ptr) AccessChain 604(patch.Normal) 216 - 607: 71(fvec3) Load 606 - 608: 577(ptr) AccessChain 594(patch) 216 217 - Store 608 607 - 613: 612(ptr) AccessChain 611(patch.UV) 216 - 614: 48(fvec2) Load 613 - 615: 50(ptr) AccessChain 594(patch) 216 430 - Store 615 614 - 616: 598(ptr) AccessChain 597(patch.Pos) 217 - 617: 18(fvec4) Load 616 - 618: 21(ptr) AccessChain 594(patch) 217 216 - Store 618 617 - 619: 605(ptr) AccessChain 604(patch.Normal) 217 - 620: 71(fvec3) Load 619 - 621: 577(ptr) AccessChain 594(patch) 217 217 - Store 621 620 - 622: 612(ptr) AccessChain 611(patch.UV) 217 - 623: 48(fvec2) Load 622 - 624: 50(ptr) AccessChain 594(patch) 217 430 - Store 624 623 - 625: 598(ptr) AccessChain 597(patch.Pos) 430 - 626: 18(fvec4) Load 625 - 627: 21(ptr) AccessChain 594(patch) 430 216 + 613(patch): 91(ptr) Variable Function +662(InvocationID): 119(ptr) Variable Function +666(flattenTemp): 575(ptr) Variable Function + 667(param): 91(ptr) Variable Function + 669(param): 119(ptr) Variable Function +697(@patchConstantResult): 431(ptr) Variable Function + 698(param): 91(ptr) Variable Function + 618: 617(ptr) AccessChain 616(patch.Pos) 222 + 619: 18(fvec4) Load 618 + 620: 21(ptr) AccessChain 613(patch) 222 222 + Store 620 619 + 625: 624(ptr) AccessChain 623(patch.Normal) 222 + 626: 72(fvec3) Load 625 + 627: 595(ptr) AccessChain 613(patch) 222 223 Store 627 626 - 628: 605(ptr) AccessChain 604(patch.Normal) 430 - 629: 71(fvec3) Load 628 - 630: 577(ptr) AccessChain 594(patch) 430 217 - Store 630 629 - 631: 612(ptr) AccessChain 611(patch.UV) 430 - 632: 48(fvec2) Load 631 - 633: 50(ptr) AccessChain 594(patch) 430 430 - Store 633 632 - 634: 598(ptr) AccessChain 597(patch.Pos) 388 - 635: 18(fvec4) Load 634 - 636: 21(ptr) AccessChain 594(patch) 388 216 - Store 636 635 - 637: 605(ptr) AccessChain 604(patch.Normal) 388 - 638: 71(fvec3) Load 637 - 639: 577(ptr) AccessChain 594(patch) 388 217 - Store 639 638 - 640: 612(ptr) AccessChain 611(patch.UV) 388 - 641: 48(fvec2) Load 640 - 642: 50(ptr) AccessChain 594(patch) 388 430 - Store 642 641 - 646: 11(int) Load 645(InvocationID) - Store 643(InvocationID) 646 - 649: 87 Load 594(patch) - Store 648(param) 649 - 651: 11(int) Load 643(InvocationID) - Store 650(param) 651 - 652:119(HSOutput) FunctionCall 132(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) 648(param) 650(param) - Store 647(flattenTemp) 652 - 655: 11(int) Load 645(InvocationID) - 656: 21(ptr) AccessChain 647(flattenTemp) 216 - 657: 18(fvec4) Load 656 - 659: 658(ptr) AccessChain 654(@entryPointOutput.Pos) 655 - Store 659 657 - 662: 11(int) Load 645(InvocationID) - 663: 577(ptr) AccessChain 647(flattenTemp) 217 - 664: 71(fvec3) Load 663 - 666: 665(ptr) AccessChain 661(@entryPointOutput.Normal) 662 - Store 666 664 - 669: 11(int) Load 645(InvocationID) - 670: 50(ptr) AccessChain 647(flattenTemp) 430 - 671: 48(fvec2) Load 670 - 673: 672(ptr) AccessChain 668(@entryPointOutput.UV) 669 - Store 673 671 + 632: 631(ptr) AccessChain 630(patch.UV) 222 + 633: 48(fvec2) Load 632 + 634: 50(ptr) AccessChain 613(patch) 222 443 + Store 634 633 + 635: 617(ptr) AccessChain 616(patch.Pos) 223 + 636: 18(fvec4) Load 635 + 637: 21(ptr) AccessChain 613(patch) 223 222 + Store 637 636 + 638: 624(ptr) AccessChain 623(patch.Normal) 223 + 639: 72(fvec3) Load 638 + 640: 595(ptr) AccessChain 613(patch) 223 223 + Store 640 639 + 641: 631(ptr) AccessChain 630(patch.UV) 223 + 642: 48(fvec2) Load 641 + 643: 50(ptr) AccessChain 613(patch) 223 443 + Store 643 642 + 644: 617(ptr) AccessChain 616(patch.Pos) 443 + 645: 18(fvec4) Load 644 + 646: 21(ptr) AccessChain 613(patch) 443 222 + Store 646 645 + 647: 624(ptr) AccessChain 623(patch.Normal) 443 + 648: 72(fvec3) Load 647 + 649: 595(ptr) AccessChain 613(patch) 443 223 + Store 649 648 + 650: 631(ptr) AccessChain 630(patch.UV) 443 + 651: 48(fvec2) Load 650 + 652: 50(ptr) AccessChain 613(patch) 443 443 + Store 652 651 + 653: 617(ptr) AccessChain 616(patch.Pos) 400 + 654: 18(fvec4) Load 653 + 655: 21(ptr) AccessChain 613(patch) 400 222 + Store 655 654 + 656: 624(ptr) AccessChain 623(patch.Normal) 400 + 657: 72(fvec3) Load 656 + 658: 595(ptr) AccessChain 613(patch) 400 223 + Store 658 657 + 659: 631(ptr) AccessChain 630(patch.UV) 400 + 660: 48(fvec2) Load 659 + 661: 50(ptr) AccessChain 613(patch) 400 443 + Store 661 660 + 665: 11(int) Load 664(InvocationID) + Store 662(InvocationID) 665 + 668: 89 Load 613(patch) + Store 667(param) 668 + 670: 11(int) Load 662(InvocationID) + Store 669(param) 670 + 671:121(HSOutput) FunctionCall 135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) 667(param) 669(param) + Store 666(flattenTemp) 671 + 674: 11(int) Load 664(InvocationID) + 675: 21(ptr) AccessChain 666(flattenTemp) 222 + 676: 18(fvec4) Load 675 + 678: 677(ptr) AccessChain 673(@entryPointOutput.Pos) 674 + Store 678 676 + 681: 11(int) Load 664(InvocationID) + 682: 595(ptr) AccessChain 666(flattenTemp) 223 + 683: 72(fvec3) Load 682 + 685: 684(ptr) AccessChain 680(@entryPointOutput.Normal) 681 + Store 685 683 + 688: 11(int) Load 664(InvocationID) + 689: 50(ptr) AccessChain 666(flattenTemp) 443 + 690: 48(fvec2) Load 689 + 692: 691(ptr) AccessChain 687(@entryPointOutput.UV) 688 + Store 692 690 ControlBarrier 46 19 16 - 674: 11(int) Load 645(InvocationID) - 675: 52(bool) IEqual 674 216 - SelectionMerge 677 None - BranchConditional 675 676 677 - 676: Label - 680: 87 Load 594(patch) - Store 679(param) 680 - 681:95(ConstantsHSOutput) FunctionCall 108(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) 679(param) - Store 678(@patchConstantResult) 681 - 684: 155(ptr) AccessChain 678(@patchConstantResult) 216 216 - 685: 8(float) Load 684 - 687: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 216 - Store 687 685 - 688: 155(ptr) AccessChain 678(@patchConstantResult) 216 217 - 689: 8(float) Load 688 - 690: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 217 - Store 690 689 - 691: 155(ptr) AccessChain 678(@patchConstantResult) 216 430 - 692: 8(float) Load 691 - 693: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 430 - Store 693 692 - 694: 155(ptr) AccessChain 678(@patchConstantResult) 216 388 - 695: 8(float) Load 694 - 696: 686(ptr) AccessChain 683(@patchConstantOutput.TessLevelOuter) 388 - Store 696 695 - 699: 155(ptr) AccessChain 678(@patchConstantResult) 217 216 - 700: 8(float) Load 699 - 701: 686(ptr) AccessChain 698(@patchConstantOutput.TessLevelInner) 216 - Store 701 700 - 702: 155(ptr) AccessChain 678(@patchConstantResult) 217 217 - 703: 8(float) Load 702 - 704: 686(ptr) AccessChain 698(@patchConstantOutput.TessLevelInner) 217 - Store 704 703 - Branch 677 - 677: Label + 693: 11(int) Load 664(InvocationID) + 694: 52(bool) IEqual 693 222 + SelectionMerge 696 None + BranchConditional 694 695 696 + 695: Label + 699: 89 Load 613(patch) + Store 698(param) 699 + 700:97(ConstantsHSOutput) FunctionCall 110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) 698(param) + Store 697(@patchConstantResult) 700 + 703: 160(ptr) AccessChain 697(@patchConstantResult) 222 222 + 704: 8(float) Load 703 + 706: 705(ptr) AccessChain 702(@patchConstantOutput.TessLevelOuter) 222 + Store 706 704 + 707: 160(ptr) AccessChain 697(@patchConstantResult) 222 223 + 708: 8(float) Load 707 + 709: 705(ptr) AccessChain 702(@patchConstantOutput.TessLevelOuter) 223 + Store 709 708 + 710: 160(ptr) AccessChain 697(@patchConstantResult) 222 443 + 711: 8(float) Load 710 + 712: 705(ptr) AccessChain 702(@patchConstantOutput.TessLevelOuter) 443 + Store 712 711 + 713: 160(ptr) AccessChain 697(@patchConstantResult) 222 400 + 714: 8(float) Load 713 + 715: 705(ptr) AccessChain 702(@patchConstantOutput.TessLevelOuter) 400 + Store 715 714 + 718: 160(ptr) AccessChain 697(@patchConstantResult) 223 222 + 719: 8(float) Load 718 + 720: 705(ptr) AccessChain 717(@patchConstantOutput.TessLevelInner) 222 + Store 720 719 + 721: 160(ptr) AccessChain 697(@patchConstantResult) 223 223 + 722: 8(float) Load 721 + 723: 705(ptr) AccessChain 717(@patchConstantOutput.TessLevelInner) 223 + Store 723 722 + Branch 696 + 696: Label Return FunctionEnd 28(screenSpaceTessFactor(vf4;vf4;): 8(float) Function None 24 26(p0): 21(ptr) FunctionParameter 27(p1): 21(ptr) FunctionParameter 29: Label - 144(midPoint): 21(ptr) Variable Function - 157(radius): 155(ptr) Variable Function - 168(v0): 21(ptr) Variable Function - 223(clip0): 21(ptr) Variable Function - 241(clip1): 21(ptr) Variable Function + 148(midPoint): 21(ptr) Variable Function + 162(radius): 160(ptr) Variable Function + 173(v0): 21(ptr) Variable Function + 229(clip0): 21(ptr) Variable Function + 247(clip1): 21(ptr) Variable Function 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 31 43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 34 34 16 16 40: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 38 26(p0) 41 47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 44 27(p1) 41 - 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 31 28(screenSpaceTessFactor(vf4;vf4;) - 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 147 147 16 16 - 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 145 144(midPoint) 41 - 151: 18(fvec4) Load 26(p0) - 152: 18(fvec4) Load 27(p1) - 153: 18(fvec4) FAdd 151 152 - 154: 18(fvec4) VectorTimesScalar 153 150 - Store 144(midPoint) 154 - 162: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 160 160 16 16 - 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 158 157(radius) 41 - 163: 18(fvec4) Load 26(p0) - 164: 18(fvec4) Load 27(p1) - 165: 8(float) ExtInst 3(GLSL.std.450) 67(Distance) 163 164 - 167: 8(float) FDiv 165 166 - Store 157(radius) 167 - 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 171 171 16 16 - 172: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 169 168(v0) 41 - 174: 18(fvec4) Load 144(midPoint) - 220: 218(ptr) AccessChain 210 216 217 - 221: 175 Load 220 - 222: 18(fvec4) VectorTimesMatrix 174 221 - Store 168(v0) 222 - 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 226 226 16 16 - 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 224 223(clip0) 41 - 229: 18(fvec4) Load 168(v0) - 230: 8(float) Load 157(radius) - 233: 8(float) CompositeExtract 232 0 - 234: 8(float) CompositeExtract 232 1 - 235: 8(float) CompositeExtract 232 2 - 236: 18(fvec4) CompositeConstruct 230 233 234 235 - 237: 18(fvec4) FSub 229 236 - 238: 218(ptr) AccessChain 210 216 216 - 239: 175 Load 238 - 240: 18(fvec4) VectorTimesMatrix 237 239 - Store 223(clip0) 240 - 246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 244 244 16 16 - 245: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 242 241(clip1) 41 - 247: 18(fvec4) Load 168(v0) - 248: 8(float) Load 157(radius) - 249: 8(float) CompositeExtract 232 0 - 250: 8(float) CompositeExtract 232 1 - 251: 8(float) CompositeExtract 232 2 - 252: 18(fvec4) CompositeConstruct 248 249 250 251 - 253: 18(fvec4) FAdd 247 252 - 254: 218(ptr) AccessChain 210 216 216 - 255: 175 Load 254 - 256: 18(fvec4) VectorTimesMatrix 253 255 - Store 241(clip1) 256 - 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 259 259 16 16 - 257: 155(ptr) AccessChain 223(clip0) 17 - 260: 8(float) Load 257 - 261: 18(fvec4) Load 223(clip0) - 262: 18(fvec4) CompositeConstruct 260 260 260 260 - 263: 18(fvec4) FDiv 261 262 - Store 223(clip0) 263 - 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 266 266 16 16 - 264: 155(ptr) AccessChain 241(clip1) 17 - 267: 8(float) Load 264 - 268: 18(fvec4) Load 241(clip1) - 269: 18(fvec4) CompositeConstruct 267 267 267 267 - 270: 18(fvec4) FDiv 268 269 - Store 241(clip1) 270 - 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 276 276 16 16 - 274: 272(ptr) AccessChain 210 216 271 - 277: 48(fvec2) Load 274 - 278: 18(fvec4) Load 223(clip0) - 279: 48(fvec2) VectorShuffle 278 278 0 1 - 280: 48(fvec2) FMul 279 277 - 281: 155(ptr) AccessChain 223(clip0) 16 - 282: 8(float) CompositeExtract 280 0 - Store 281 282 - 283: 155(ptr) AccessChain 223(clip0) 36 - 284: 8(float) CompositeExtract 280 1 - Store 283 284 - 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 287 287 16 16 - 285: 272(ptr) AccessChain 210 216 271 - 288: 48(fvec2) Load 285 - 289: 18(fvec4) Load 241(clip1) - 290: 48(fvec2) VectorShuffle 289 289 0 1 - 291: 48(fvec2) FMul 290 288 - 292: 155(ptr) AccessChain 241(clip1) 16 - 293: 8(float) CompositeExtract 291 0 - Store 292 293 - 294: 155(ptr) AccessChain 241(clip1) 36 - 295: 8(float) CompositeExtract 291 1 - Store 294 295 - 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 298 298 16 16 - 296: 18(fvec4) Load 223(clip0) - 299: 18(fvec4) Load 241(clip1) - 300: 8(float) ExtInst 3(GLSL.std.450) 67(Distance) 296 299 - 304: 302(ptr) AccessChain 210 216 301 - 305: 8(float) Load 304 - 306: 8(float) FDiv 300 305 - 308: 302(ptr) AccessChain 210 216 307 - 309: 8(float) Load 308 - 310: 8(float) FMul 306 309 - 313: 8(float) ExtInst 3(GLSL.std.450) 43(FClamp) 310 311 312 - ReturnValue 313 + 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 31 28(screenSpaceTessFactor(vf4;vf4;) + 153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 147 + 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 151 151 16 16 + 152: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 149 148(midPoint) 41 + 156: 18(fvec4) Load 26(p0) + 157: 18(fvec4) Load 27(p1) + 158: 18(fvec4) FAdd 156 157 + 159: 18(fvec4) VectorTimesScalar 158 155 + Store 148(midPoint) 159 + 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 165 165 16 16 + 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 163 162(radius) 41 + 168: 18(fvec4) Load 26(p0) + 169: 18(fvec4) Load 27(p1) + 170: 8(float) ExtInst 3(GLSL.std.450) 67(Distance) 168 169 + 172: 8(float) FDiv 170 171 + Store 162(radius) 172 + 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 176 176 16 16 + 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 174 173(v0) 41 + 179: 18(fvec4) Load 148(midPoint) + 226: 224(ptr) AccessChain 215 222 223 + 227: 180 Load 226 + 228: 18(fvec4) VectorTimesMatrix 179 227 + Store 173(v0) 228 + 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 232 232 16 16 + 233: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 230 229(clip0) 41 + 235: 18(fvec4) Load 173(v0) + 236: 8(float) Load 162(radius) + 239: 8(float) CompositeExtract 238 0 + 240: 8(float) CompositeExtract 238 1 + 241: 8(float) CompositeExtract 238 2 + 242: 18(fvec4) CompositeConstruct 236 239 240 241 + 243: 18(fvec4) FSub 235 242 + 244: 224(ptr) AccessChain 215 222 222 + 245: 180 Load 244 + 246: 18(fvec4) VectorTimesMatrix 243 245 + Store 229(clip0) 246 + 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 250 250 16 16 + 251: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 248 247(clip1) 41 + 253: 18(fvec4) Load 173(v0) + 254: 8(float) Load 162(radius) + 255: 8(float) CompositeExtract 238 0 + 256: 8(float) CompositeExtract 238 1 + 257: 8(float) CompositeExtract 238 2 + 258: 18(fvec4) CompositeConstruct 254 255 256 257 + 259: 18(fvec4) FAdd 253 258 + 260: 224(ptr) AccessChain 215 222 222 + 261: 180 Load 260 + 262: 18(fvec4) VectorTimesMatrix 259 261 + Store 247(clip1) 262 + 264: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 265 265 16 16 + 263: 160(ptr) AccessChain 229(clip0) 17 + 266: 8(float) Load 263 + 267: 18(fvec4) Load 229(clip0) + 268: 18(fvec4) CompositeConstruct 266 266 266 266 + 269: 18(fvec4) FDiv 267 268 + Store 229(clip0) 269 + 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 272 272 16 16 + 270: 160(ptr) AccessChain 247(clip1) 17 + 273: 8(float) Load 270 + 274: 18(fvec4) Load 247(clip1) + 275: 18(fvec4) CompositeConstruct 273 273 273 273 + 276: 18(fvec4) FDiv 274 275 + Store 247(clip1) 276 + 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 282 282 16 16 + 280: 278(ptr) AccessChain 215 222 277 + 283: 48(fvec2) Load 280 + 284: 18(fvec4) Load 229(clip0) + 285: 48(fvec2) VectorShuffle 284 284 0 1 + 286: 48(fvec2) FMul 285 283 + 287: 160(ptr) AccessChain 229(clip0) 16 + 288: 8(float) CompositeExtract 286 0 + Store 287 288 + 289: 160(ptr) AccessChain 229(clip0) 36 + 290: 8(float) CompositeExtract 286 1 + Store 289 290 + 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 293 293 16 16 + 291: 278(ptr) AccessChain 215 222 277 + 294: 48(fvec2) Load 291 + 295: 18(fvec4) Load 247(clip1) + 296: 48(fvec2) VectorShuffle 295 295 0 1 + 297: 48(fvec2) FMul 296 294 + 298: 160(ptr) AccessChain 247(clip1) 16 + 299: 8(float) CompositeExtract 297 0 + Store 298 299 + 300: 160(ptr) AccessChain 247(clip1) 36 + 301: 8(float) CompositeExtract 297 1 + Store 300 301 + 303: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 304 304 16 16 + 302: 18(fvec4) Load 229(clip0) + 305: 18(fvec4) Load 247(clip1) + 306: 8(float) ExtInst 3(GLSL.std.450) 67(Distance) 302 305 + 310: 308(ptr) AccessChain 215 222 307 + 311: 8(float) Load 310 + 312: 8(float) FDiv 306 311 + 314: 308(ptr) AccessChain 215 222 313 + 315: 8(float) Load 314 + 316: 8(float) FMul 312 315 + 319: 8(float) ExtInst 3(GLSL.std.450) 43(FClamp) 316 317 318 + ReturnValue 319 FunctionEnd 59(frustumCheck(vf4;vf2;): 52(bool) Function None 55 57(Pos): 21(ptr) FunctionParameter 58(inUV): 50(ptr) FunctionParameter 60: Label - 319(pos): 21(ptr) Variable Function - 367(i): 365(ptr) Variable Function + 326(pos): 21(ptr) Variable Function + 378(i): 376(ptr) Variable Function 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 + 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 63 63 16 16 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 64 57(Pos) 41 - 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 68 58(inUV) 41 - 318: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 63 63 16 16 - 317: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 62 59(frustumCheck(vf4;vf2;) - 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 322 322 16 16 - 323: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 320 319(pos) 41 - 325: 18(fvec4) Load 57(Pos) - Store 319(pos) 325 - 338: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 329 329 16 16 - 337: 326 Load 334(textureHeight) - 348: 339 Load 345(samplerHeight) - 353: 349 SampledImage 337 348 - 354: 48(fvec2) Load 58(inUV) - 355: 18(fvec4) ImageSampleExplicitLod 353 354 Lod 231 - 356: 8(float) CompositeExtract 355 0 - 358: 302(ptr) AccessChain 210 216 357 - 359: 8(float) Load 358 - 360: 8(float) FMul 356 359 - 361: 155(ptr) AccessChain 319(pos) 36 - 362: 8(float) Load 361 - 363: 8(float) FSub 362 360 - 364: 155(ptr) AccessChain 319(pos) 36 - Store 364 363 - 372: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 370 370 16 16 - 371: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 368 367(i) 41 - Store 367(i) 216 - Branch 373 - 373: Label - 377: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 370 370 16 16 - LoopMerge 375 376 None - Branch 379 - 379: Label - 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 370 370 16 16 - 380: 213(int) Load 367(i) - 383: 52(bool) SLessThan 380 271 - BranchConditional 383 374 375 - 374: Label - 385: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 386: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 387 387 16 16 - 384: 18(fvec4) Load 319(pos) - 389: 213(int) Load 367(i) - 392: 390(ptr) AccessChain 210 216 388 389 - 393: 18(fvec4) Load 392 - 394: 8(float) Dot 384 393 - 396: 8(float) FAdd 394 395 - 397: 52(bool) FOrdLessThan 396 231 - SelectionMerge 399 None - BranchConditional 397 398 399 - 398: Label - 401: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 402: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 403 403 16 16 - ReturnValue 400 - 399: Label - 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - Branch 376 - 376: Label - 408: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 409: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 370 370 16 16 - 407: 213(int) Load 367(i) - 410: 213(int) IAdd 407 217 - Store 367(i) 410 - Branch 373 - 375: Label - 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 62 - 412: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 413 413 16 16 - ReturnValue 177 + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 69 58(inUV) 41 + 324: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 62 59(frustumCheck(vf4;vf2;) + 331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 325 + 332: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 329 329 16 16 + 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 327 326(pos) 41 + 333: 18(fvec4) Load 57(Pos) + Store 326(pos) 333 + 346: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 337 337 16 16 + 345: 334 Load 342(textureHeight) + 356: 347 Load 353(samplerHeight) + 361: 357 SampledImage 345 356 + 362: 48(fvec2) Load 58(inUV) + 363: 18(fvec4) ImageSampleExplicitLod 361 362 Lod 237 + 364: 8(float) CompositeExtract 363 0 + 366: 308(ptr) AccessChain 215 222 365 + 367: 8(float) Load 366 + 368: 8(float) FMul 364 367 + 369: 160(ptr) AccessChain 326(pos) 36 + 370: 8(float) Load 369 + 371: 8(float) FSub 370 368 + 372: 160(ptr) AccessChain 326(pos) 36 + Store 372 371 + 382: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 373 + 383: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 374 374 16 16 + 381: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 379 378(i) 41 + Store 378(i) 222 + Branch 384 + 384: Label + 388: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 373 + 389: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 374 374 16 16 + LoopMerge 386 387 None + Branch 390 + 390: Label + 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 373 + 393: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 374 374 16 16 + 391: 219(int) Load 378(i) + 394: 52(bool) SLessThan 391 277 + BranchConditional 394 385 386 + 385: Label + 397: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 395 + 398: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 399 399 16 16 + 396: 18(fvec4) Load 326(pos) + 401: 219(int) Load 378(i) + 404: 402(ptr) AccessChain 215 222 400 401 + 405: 18(fvec4) Load 404 + 406: 8(float) Dot 396 405 + 408: 8(float) FAdd 406 407 + 409: 52(bool) FOrdLessThan 408 237 + SelectionMerge 411 None + BranchConditional 409 410 411 + 410: Label + 414: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 412 + 415: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 416 416 16 16 + ReturnValue 413 + 411: Label + Branch 387 + 387: Label + 419: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 373 + 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 374 374 16 16 + 418: 219(int) Load 378(i) + 421: 219(int) IAdd 418 223 + Store 378(i) 421 + Branch 384 + 386: Label + 422: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 325 + 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 424 424 16 16 + ReturnValue 182 FunctionEnd -108(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];):95(ConstantsHSOutput) Function None 105 - 107(patch): 89(ptr) FunctionParameter - 109: Label - 421(output): 419(ptr) Variable Function - 431(param): 21(ptr) Variable Function - 436(param): 50(ptr) Variable Function - 471(param): 21(ptr) Variable Function - 477(param): 21(ptr) Variable Function - 482(param): 21(ptr) Variable Function +110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];):97(ConstantsHSOutput) Function None 107 + 109(patch): 91(ptr) FunctionParameter + 111: Label + 433(output): 431(ptr) Variable Function + 444(param): 21(ptr) Variable Function + 449(param): 50(ptr) Variable Function 487(param): 21(ptr) Variable Function - 492(param): 21(ptr) Variable Function - 497(param): 21(ptr) Variable Function - 502(param): 21(ptr) Variable Function - 507(param): 21(ptr) Variable Function - 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111 - 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 113 107(patch) 41 - 418: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 112 112 16 16 - 417: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 111 108(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) - 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 424 424 16 16 - 425: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 422 421(output) 41 - Store 421(output) 429 - 433: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 434 434 16 16 - 432: 21(ptr) AccessChain 107(patch) 216 216 - 435: 18(fvec4) Load 432 - Store 431(param) 435 - 437: 50(ptr) AccessChain 107(patch) 216 430 - 438: 48(fvec2) Load 437 - Store 436(param) 438 - 439: 52(bool) FunctionCall 59(frustumCheck(vf4;vf2;) 431(param) 436(param) - 440: 52(bool) LogicalNot 439 - SelectionMerge 442 None - BranchConditional 440 441 462 - 441: Label - 444: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111 - 445: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 446 446 16 16 - 443: 155(ptr) AccessChain 421(output) 217 216 - Store 443 231 - 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 449 449 16 16 - 447: 155(ptr) AccessChain 421(output) 217 217 - Store 447 231 - 451: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 452 452 16 16 - 450: 155(ptr) AccessChain 421(output) 216 216 - Store 450 231 - 454: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 455 455 16 16 - 453: 155(ptr) AccessChain 421(output) 216 217 - Store 453 231 - 457: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 458 458 16 16 - 456: 155(ptr) AccessChain 421(output) 216 430 - Store 456 231 - 460: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 461 461 16 16 - 459: 155(ptr) AccessChain 421(output) 216 388 - Store 459 231 - Branch 442 - 462: Label - 464: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111 + 493(param): 21(ptr) Variable Function + 498(param): 21(ptr) Variable Function + 503(param): 21(ptr) Variable Function + 508(param): 21(ptr) Variable Function + 513(param): 21(ptr) Variable Function + 518(param): 21(ptr) Variable Function + 523(param): 21(ptr) Variable Function + 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 + 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 88 88 16 16 + 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 114 109(patch) 41 + 429: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 113 110(ConstantsHS(struct-VSOutput-vf4-vf3-vf21[4];) + 438: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 430 + 439: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 436 436 16 16 + 437: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 434 433(output) 41 + Store 433(output) 442 + 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 447 447 16 16 + 445: 21(ptr) AccessChain 109(patch) 222 222 + 448: 18(fvec4) Load 445 + Store 444(param) 448 + 450: 50(ptr) AccessChain 109(patch) 222 443 + 451: 48(fvec2) Load 450 + Store 449(param) 451 + 452: 52(bool) FunctionCall 59(frustumCheck(vf4;vf2;) 444(param) 449(param) + 453: 52(bool) LogicalNot 452 + SelectionMerge 455 None + BranchConditional 453 454 476 + 454: Label + 458: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 456 + 459: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 460 460 16 16 + 457: 160(ptr) AccessChain 433(output) 223 222 + Store 457 237 + 462: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 463 463 16 16 + 461: 160(ptr) AccessChain 433(output) 223 223 + Store 461 237 465: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 466 466 16 16 - 463: 302(ptr) AccessChain 210 216 307 - 467: 8(float) Load 463 - 468: 52(bool) FOrdGreaterThan 467 231 - SelectionMerge 470 None - BranchConditional 468 469 528 - 469: Label - 473: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111 - 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 475 475 16 16 - 472: 21(ptr) AccessChain 107(patch) 388 216 - 476: 18(fvec4) Load 472 - Store 471(param) 476 - 478: 21(ptr) AccessChain 107(patch) 216 216 - 479: 18(fvec4) Load 478 - Store 477(param) 479 - 480: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 471(param) 477(param) - 481: 155(ptr) AccessChain 421(output) 216 216 - Store 481 480 - 484: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 485 485 16 16 - 483: 21(ptr) AccessChain 107(patch) 216 216 - 486: 18(fvec4) Load 483 - Store 482(param) 486 - 488: 21(ptr) AccessChain 107(patch) 217 216 - 489: 18(fvec4) Load 488 - Store 487(param) 489 - 490: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 482(param) 487(param) - 491: 155(ptr) AccessChain 421(output) 216 217 - Store 491 490 - 494: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 495 495 16 16 - 493: 21(ptr) AccessChain 107(patch) 217 216 - 496: 18(fvec4) Load 493 - Store 492(param) 496 - 498: 21(ptr) AccessChain 107(patch) 430 216 - 499: 18(fvec4) Load 498 - Store 497(param) 499 - 500: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 492(param) 497(param) - 501: 155(ptr) AccessChain 421(output) 216 430 - Store 501 500 - 504: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 505 505 16 16 - 503: 21(ptr) AccessChain 107(patch) 430 216 - 506: 18(fvec4) Load 503 - Store 502(param) 506 - 508: 21(ptr) AccessChain 107(patch) 388 216 - 509: 18(fvec4) Load 508 - Store 507(param) 509 - 510: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 502(param) 507(param) - 511: 155(ptr) AccessChain 421(output) 216 388 - Store 511 510 - 513: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 514 514 16 16 - 512: 155(ptr) AccessChain 421(output) 216 216 - 515: 8(float) Load 512 - 516: 155(ptr) AccessChain 421(output) 216 388 - 517: 8(float) Load 516 - 518: 8(float) ExtInst 3(GLSL.std.450) 46(FMix) 515 517 150 - 519: 155(ptr) AccessChain 421(output) 217 216 - Store 519 518 - 521: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 522 522 16 16 - 520: 155(ptr) AccessChain 421(output) 216 430 - 523: 8(float) Load 520 - 524: 155(ptr) AccessChain 421(output) 216 217 - 525: 8(float) Load 524 - 526: 8(float) ExtInst 3(GLSL.std.450) 46(FMix) 523 525 150 - 527: 155(ptr) AccessChain 421(output) 217 217 + 464: 160(ptr) AccessChain 433(output) 222 222 + Store 464 237 + 468: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 469 469 16 16 + 467: 160(ptr) AccessChain 433(output) 222 223 + Store 467 237 + 471: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 472 472 16 16 + 470: 160(ptr) AccessChain 433(output) 222 443 + Store 470 237 + 474: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 475 475 16 16 + 473: 160(ptr) AccessChain 433(output) 222 400 + Store 473 237 + Branch 455 + 476: Label + 479: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 477 + 480: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 481 481 16 16 + 478: 308(ptr) AccessChain 215 222 313 + 482: 8(float) Load 478 + 483: 52(bool) FOrdGreaterThan 482 237 + SelectionMerge 485 None + BranchConditional 483 484 544 + 484: Label + 489: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 486 + 490: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 491 491 16 16 + 488: 21(ptr) AccessChain 109(patch) 400 222 + 492: 18(fvec4) Load 488 + Store 487(param) 492 + 494: 21(ptr) AccessChain 109(patch) 222 222 + 495: 18(fvec4) Load 494 + Store 493(param) 495 + 496: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 487(param) 493(param) + 497: 160(ptr) AccessChain 433(output) 222 222 + Store 497 496 + 500: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 501 501 16 16 + 499: 21(ptr) AccessChain 109(patch) 222 222 + 502: 18(fvec4) Load 499 + Store 498(param) 502 + 504: 21(ptr) AccessChain 109(patch) 223 222 + 505: 18(fvec4) Load 504 + Store 503(param) 505 + 506: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 498(param) 503(param) + 507: 160(ptr) AccessChain 433(output) 222 223 + Store 507 506 + 510: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 511 511 16 16 + 509: 21(ptr) AccessChain 109(patch) 223 222 + 512: 18(fvec4) Load 509 + Store 508(param) 512 + 514: 21(ptr) AccessChain 109(patch) 443 222 + 515: 18(fvec4) Load 514 + Store 513(param) 515 + 516: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 508(param) 513(param) + 517: 160(ptr) AccessChain 433(output) 222 443 + Store 517 516 + 520: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 521 521 16 16 + 519: 21(ptr) AccessChain 109(patch) 443 222 + 522: 18(fvec4) Load 519 + Store 518(param) 522 + 524: 21(ptr) AccessChain 109(patch) 400 222 + 525: 18(fvec4) Load 524 + Store 523(param) 525 + 526: 8(float) FunctionCall 28(screenSpaceTessFactor(vf4;vf4;) 518(param) 523(param) + 527: 160(ptr) AccessChain 433(output) 222 400 Store 527 526 - Branch 470 - 528: Label - 530: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111 - 531: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 532 532 16 16 - 529: 155(ptr) AccessChain 421(output) 217 216 - Store 529 311 - 534: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 535 535 16 16 - 533: 155(ptr) AccessChain 421(output) 217 217 - Store 533 311 + 529: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 530 530 16 16 + 528: 160(ptr) AccessChain 433(output) 222 222 + 531: 8(float) Load 528 + 532: 160(ptr) AccessChain 433(output) 222 400 + 533: 8(float) Load 532 + 534: 8(float) ExtInst 3(GLSL.std.450) 46(FMix) 531 533 155 + 535: 160(ptr) AccessChain 433(output) 223 222 + Store 535 534 537: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 538 538 16 16 - 536: 155(ptr) AccessChain 421(output) 216 216 - Store 536 311 - 540: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 541 541 16 16 - 539: 155(ptr) AccessChain 421(output) 216 217 - Store 539 311 - 543: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 544 544 16 16 - 542: 155(ptr) AccessChain 421(output) 216 430 - Store 542 311 - 546: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 547 547 16 16 - 545: 155(ptr) AccessChain 421(output) 216 388 - Store 545 311 - Branch 470 - 470: Label - 548: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111 - Branch 442 - 442: Label - 550: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 111 - 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 552 552 16 16 - 549:95(ConstantsHSOutput) Load 421(output) - ReturnValue 549 + 536: 160(ptr) AccessChain 433(output) 222 443 + 539: 8(float) Load 536 + 540: 160(ptr) AccessChain 433(output) 222 223 + 541: 8(float) Load 540 + 542: 8(float) ExtInst 3(GLSL.std.450) 46(FMix) 539 541 155 + 543: 160(ptr) AccessChain 433(output) 223 223 + Store 543 542 + Branch 485 + 544: Label + 547: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 545 + 548: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 549 549 16 16 + 546: 160(ptr) AccessChain 433(output) 223 222 + Store 546 317 + 551: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 552 552 16 16 + 550: 160(ptr) AccessChain 433(output) 223 223 + Store 550 317 + 554: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 555 555 16 16 + 553: 160(ptr) AccessChain 433(output) 222 222 + Store 553 317 + 557: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 558 558 16 16 + 556: 160(ptr) AccessChain 433(output) 222 223 + Store 556 317 + 560: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 561 561 16 16 + 559: 160(ptr) AccessChain 433(output) 222 443 + Store 559 317 + 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 564 564 16 16 + 562: 160(ptr) AccessChain 433(output) 222 400 + Store 562 317 + Branch 485 + 485: Label + Branch 455 + 455: Label + 566: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 430 + 567: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 568 568 16 16 + 565:97(ConstantsHSOutput) Load 433(output) + ReturnValue 565 FunctionEnd -132(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;):119(HSOutput) Function None 128 - 130(patch): 89(ptr) FunctionParameter -131(InvocationID): 117(ptr) FunctionParameter - 133: Label - 560(output): 558(ptr) Variable Function - 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 135 - 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 137 130(patch) 41 - 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 140 131(InvocationID) 41 - 557: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 136 136 16 16 - 556: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 135 132(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) - 564: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 562 562 16 16 - 563: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 561 560(output) 41 - Store 560(output) 567 - 569: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 570 570 16 16 - 568: 11(int) Load 131(InvocationID) - 571: 21(ptr) AccessChain 130(patch) 568 216 - 572: 18(fvec4) Load 571 - 573: 21(ptr) AccessChain 560(output) 216 - Store 573 572 - 575: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 576 576 16 16 - 574: 11(int) Load 131(InvocationID) - 579: 577(ptr) AccessChain 130(patch) 574 217 - 580: 71(fvec3) Load 579 - 581: 577(ptr) AccessChain 560(output) 217 - Store 581 580 - 583: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 584 584 16 16 - 582: 11(int) Load 131(InvocationID) - 585: 50(ptr) AccessChain 130(patch) 582 430 - 586: 48(fvec2) Load 585 - 587: 50(ptr) AccessChain 560(output) 430 - Store 587 586 - 589: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 590 590 16 16 - 588:119(HSOutput) Load 560(output) - ReturnValue 588 +135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;):121(HSOutput) Function None 131 + 133(patch): 91(ptr) FunctionParameter +134(InvocationID): 119(ptr) FunctionParameter + 136: Label + 577(output): 575(ptr) Variable Function + 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 138 + 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 130 130 16 16 + 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 139 133(patch) 41 + 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 143 134(InvocationID) 41 + 573: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 138 135(@main(struct-VSOutput-vf4-vf3-vf21[4];u1;) + 581: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 574 + 582: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 579 579 16 16 + 580: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 578 577(output) 41 + Store 577(output) 585 + 587: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 588 588 16 16 + 586: 11(int) Load 134(InvocationID) + 589: 21(ptr) AccessChain 133(patch) 586 222 + 590: 18(fvec4) Load 589 + 591: 21(ptr) AccessChain 577(output) 222 + Store 591 590 + 593: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 594 594 16 16 + 592: 11(int) Load 134(InvocationID) + 597: 595(ptr) AccessChain 133(patch) 592 223 + 598: 72(fvec3) Load 597 + 599: 595(ptr) AccessChain 577(output) 223 + Store 599 598 + 601: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 602 602 16 16 + 600: 11(int) Load 134(InvocationID) + 603: 50(ptr) AccessChain 133(patch) 600 443 + 604: 48(fvec2) Load 603 + 605: 50(ptr) AccessChain 577(output) 443 + Store 605 604 + 607: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 32 608 608 16 16 + 606:121(HSOutput) Load 577(output) + ReturnValue 606 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.tese.out b/Test/baseResults/spv.debuginfo.hlsl.tese.out index 774bf198..22e613d6 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.tese.out +++ b/Test/baseResults/spv.debuginfo.hlsl.tese.out @@ -1,16 +1,16 @@ spv.debuginfo.hlsl.tese // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 477 +// Id's are bound by 481 Capability Tessellation Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint TessellationEvaluation 6 "main" 368 383 392 401 408 414 454 458 462 465 468 471 474 + EntryPoint TessellationEvaluation 6 "main" 372 387 396 405 412 418 458 462 466 469 472 475 478 ExecutionMode 6 Quads - 2: String "" + 2: String "spv.debuginfo.hlsl.tese" 9: String "float" 12: String "uint" 26: String "TessLevelOuter" @@ -22,142 +22,237 @@ spv.debuginfo.hlsl.tese // OpModuleProcessed keep-uncalled // OpModuleProcessed hlsl-offsets #line 1 +/* +The MIT License (MIT) + +Copyright (c) 2022 Google LLC +Copyright (c) 2022 Sascha Willems + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +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 Software. + +THE SOFTWARE IS 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 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +struct UBO +{ + float4x4 projection; + float4x4 modelview; + float4 lightPos; + float4 frustumPlanes[6]; + float displacementFactor; + float tessellationFactor; + float2 viewportDim; + float tessellatedEdgeSize; +}; +cbuffer ubo : register(b0) { UBO ubo; }; + +Texture2D displacementMapTexture : register(t1); +SamplerState displacementMapSampler : register(s1); + +struct HSOutput +{ +[[vk::location(2)]] float4 Pos : SV_POSITION; +[[vk::location(0)]] float3 Normal : NORMAL0; +[[vk::location(1)]] float2 UV : TEXCOORD0; +}; + +struct ConstantsHSOutput +{ + float TessLevelOuter[4] : SV_TessFactor; + float TessLevelInner[2] : SV_InsideTessFactor; +}; + +struct DSOutput +{ + float4 Pos : SV_POSITION; +[[vk::location(0)]] float3 Normal : NORMAL0; +[[vk::location(1)]] float2 UV : TEXCOORD0; +[[vk::location(2)]] float3 ViewVec : TEXCOORD1; +[[vk::location(3)]] float3 LightVec : TEXCOORD2; +[[vk::location(4)]] float3 EyePos : POSITION1; +[[vk::location(5)]] float3 WorldPos : POSITION0; +}; + +[domain("quad")] +DSOutput main(ConstantsHSOutput input, float2 TessCoord : SV_DomainLocation, const OutputPatch patch) +{ + // Interpolate UV coordinates + DSOutput output = (DSOutput)0; + float2 uv1 = lerp(patch[0].UV, patch[1].UV, TessCoord.x); + float2 uv2 = lerp(patch[3].UV, patch[2].UV, TessCoord.x); + output.UV = lerp(uv1, uv2, TessCoord.y); + + float3 n1 = lerp(patch[0].Normal, patch[1].Normal, TessCoord.x); + float3 n2 = lerp(patch[3].Normal, patch[2].Normal, TessCoord.x); + output.Normal = lerp(n1, n2, TessCoord.y); + + // Interpolate positions + float4 pos1 = lerp(patch[0].Pos, patch[1].Pos, TessCoord.x); + float4 pos2 = lerp(patch[3].Pos, patch[2].Pos, TessCoord.x); + float4 pos = lerp(pos1, pos2, TessCoord.y); + // Displace + pos.y -= displacementMapTexture.SampleLevel(displacementMapSampler, output.UV, 0.0).r * ubo.displacementFactor; + // Perspective projection + output.Pos = mul(ubo.projection, mul(ubo.modelview, pos)); + + // Calculate vectors for lighting based on tessellated position + output.ViewVec = -pos.xyz; + output.LightVec = normalize(ubo.lightPos.xyz + output.ViewVec); + output.WorldPos = pos.xyz; + output.EyePos = mul(ubo.modelview, pos).xyz; + return output; +} " 32: String "TessLevelInner" 35: String "ConstantsHSOutput" - 52: String "Pos" - 55: String "Normal" - 59: String "UV" - 63: String "HSOutput" - 71: String "WorldPos" - 81: String "DSOutput" - 89: String "@main" + 53: String "Pos" + 56: String "Normal" + 60: String "UV" + 64: String "HSOutput" + 72: String "WorldPos" + 82: String "DSOutput" + 90: String "@main" 93: String "input" 99: String "TessCoord" 102: String "patch" - 109: String "output" - 120: String "uv1" - 125: String "int" - 140: String "uv2" - 164: String "n1" - 176: String "n2" - 199: String "pos1" - 211: String "pos2" - 223: String "pos" - 235: String "type.2d.image" - 237: String "@type.2d.image" - 243: String "displacementMapTexture" - 249: String "type.sampler" - 250: String "@type.sampler" - 255: String "displacementMapSampler" - 259: String "type.sampled.image" - 260: String "@type.sampled.image" - 269: String "bool" - 276: String "modelview" - 281: String "lightPos" - 285: String "frustumPlanes" - 288: String "tessellatedEdgeSize" - 292: String "viewportDim" - 296: String "UBO" - 299: String "ubo" + 110: String "output" + 122: String "uv1" + 127: String "int" + 142: String "uv2" + 166: String "n1" + 178: String "n2" + 201: String "pos1" + 213: String "pos2" + 225: String "pos" + 237: String "type.2d.image" + 239: String "@type.2d.image" + 245: String "displacementMapTexture" + 251: String "type.sampler" + 252: String "@type.sampler" + 257: String "displacementMapSampler" + 261: String "type.sampled.image" + 262: String "@type.sampled.image" + 271: String "bool" + 278: String "modelview" + 283: String "lightPos" + 287: String "frustumPlanes" + 290: String "tessellatedEdgeSize" + 294: String "viewportDim" + 298: String "UBO" + 301: String "ubo" + 307: String "" Name 6 "main" Name 24 "ConstantsHSOutput" MemberName 24(ConstantsHSOutput) 0 "TessLevelOuter" MemberName 24(ConstantsHSOutput) 1 "TessLevelInner" - Name 50 "HSOutput" - MemberName 50(HSOutput) 0 "Pos" - MemberName 50(HSOutput) 1 "Normal" - MemberName 50(HSOutput) 2 "UV" - Name 66 "DSOutput" - MemberName 66(DSOutput) 0 "Pos" - MemberName 66(DSOutput) 1 "Normal" - MemberName 66(DSOutput) 2 "UV" - MemberName 66(DSOutput) 3 "ViewVec" - MemberName 66(DSOutput) 4 "LightVec" - MemberName 66(DSOutput) 5 "EyePos" - MemberName 66(DSOutput) 6 "WorldPos" - Name 87 "@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];" - Name 84 "input" - Name 85 "TessCoord" - Name 86 "patch" - Name 107 "output" - Name 118 "uv1" - Name 138 "uv2" - Name 162 "n1" - Name 174 "n2" - Name 197 "pos1" - Name 209 "pos2" - Name 221 "pos" - Name 241 "displacementMapTexture" - Name 253 "displacementMapSampler" - Name 274 "UBO" - MemberName 274(UBO) 0 "projection" - MemberName 274(UBO) 1 "modelview" - MemberName 274(UBO) 2 "lightPos" - MemberName 274(UBO) 3 "frustumPlanes" - MemberName 274(UBO) 4 "displacementFactor" - MemberName 274(UBO) 5 "tessellationFactor" - MemberName 274(UBO) 6 "viewportDim" - MemberName 274(UBO) 7 "tessellatedEdgeSize" - Name 297 "ubo" - MemberName 297(ubo) 0 "ubo" - Name 303 "" - Name 366 "input" - Name 368 "input.TessLevelOuter" - Name 383 "input.TessLevelInner" - Name 390 "TessCoord" - Name 392 "TessCoord" - Name 398 "patch" - Name 401 "patch.Pos" - Name 408 "patch.Normal" - Name 414 "patch.UV" - Name 446 "flattenTemp" - Name 448 "param" - Name 450 "param" - Name 454 "@entryPointOutput.Pos" - Name 458 "@entryPointOutput.Normal" - Name 462 "@entryPointOutput.UV" - Name 465 "@entryPointOutput.ViewVec" - Name 468 "@entryPointOutput.LightVec" - Name 471 "@entryPointOutput.EyePos" - Name 474 "@entryPointOutput.WorldPos" - Decorate 241(displacementMapTexture) DescriptorSet 0 - Decorate 241(displacementMapTexture) Binding 1 - Decorate 253(displacementMapSampler) DescriptorSet 0 - Decorate 253(displacementMapSampler) Binding 1 - Decorate 272 ArrayStride 16 - MemberDecorate 274(UBO) 0 RowMajor - MemberDecorate 274(UBO) 0 Offset 0 - MemberDecorate 274(UBO) 0 MatrixStride 16 - MemberDecorate 274(UBO) 1 RowMajor - MemberDecorate 274(UBO) 1 Offset 64 - MemberDecorate 274(UBO) 1 MatrixStride 16 - MemberDecorate 274(UBO) 2 Offset 128 - MemberDecorate 274(UBO) 3 Offset 144 - MemberDecorate 274(UBO) 4 Offset 240 - MemberDecorate 274(UBO) 5 Offset 244 - MemberDecorate 274(UBO) 6 Offset 248 - MemberDecorate 274(UBO) 7 Offset 256 - MemberDecorate 297(ubo) 0 Offset 0 - Decorate 297(ubo) Block - Decorate 303 DescriptorSet 0 - Decorate 303 Binding 0 - Decorate 368(input.TessLevelOuter) Patch - Decorate 368(input.TessLevelOuter) BuiltIn TessLevelOuter - Decorate 383(input.TessLevelInner) Patch - Decorate 383(input.TessLevelInner) BuiltIn TessLevelInner - Decorate 392(TessCoord) Patch - Decorate 392(TessCoord) BuiltIn TessCoord - Decorate 401(patch.Pos) BuiltIn Position - Decorate 408(patch.Normal) Location 0 - Decorate 414(patch.UV) Location 1 - Decorate 454(@entryPointOutput.Pos) BuiltIn Position - Decorate 458(@entryPointOutput.Normal) Location 0 - Decorate 462(@entryPointOutput.UV) Location 1 - Decorate 465(@entryPointOutput.ViewVec) Location 2 - Decorate 468(@entryPointOutput.LightVec) Location 3 - Decorate 471(@entryPointOutput.EyePos) Location 4 - Decorate 474(@entryPointOutput.WorldPos) Location 5 + Name 51 "HSOutput" + MemberName 51(HSOutput) 0 "Pos" + MemberName 51(HSOutput) 1 "Normal" + MemberName 51(HSOutput) 2 "UV" + Name 67 "DSOutput" + MemberName 67(DSOutput) 0 "Pos" + MemberName 67(DSOutput) 1 "Normal" + MemberName 67(DSOutput) 2 "UV" + MemberName 67(DSOutput) 3 "ViewVec" + MemberName 67(DSOutput) 4 "LightVec" + MemberName 67(DSOutput) 5 "EyePos" + MemberName 67(DSOutput) 6 "WorldPos" + Name 88 "@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];" + Name 85 "input" + Name 86 "TessCoord" + Name 87 "patch" + Name 108 "output" + Name 120 "uv1" + Name 140 "uv2" + Name 164 "n1" + Name 176 "n2" + Name 199 "pos1" + Name 211 "pos2" + Name 223 "pos" + Name 243 "displacementMapTexture" + Name 255 "displacementMapSampler" + Name 276 "UBO" + MemberName 276(UBO) 0 "projection" + MemberName 276(UBO) 1 "modelview" + MemberName 276(UBO) 2 "lightPos" + MemberName 276(UBO) 3 "frustumPlanes" + MemberName 276(UBO) 4 "displacementFactor" + MemberName 276(UBO) 5 "tessellationFactor" + MemberName 276(UBO) 6 "viewportDim" + MemberName 276(UBO) 7 "tessellatedEdgeSize" + Name 299 "ubo" + MemberName 299(ubo) 0 "ubo" + Name 305 "" + Name 370 "input" + Name 372 "input.TessLevelOuter" + Name 387 "input.TessLevelInner" + Name 394 "TessCoord" + Name 396 "TessCoord" + Name 402 "patch" + Name 405 "patch.Pos" + Name 412 "patch.Normal" + Name 418 "patch.UV" + Name 450 "flattenTemp" + Name 452 "param" + Name 454 "param" + Name 458 "@entryPointOutput.Pos" + Name 462 "@entryPointOutput.Normal" + Name 466 "@entryPointOutput.UV" + Name 469 "@entryPointOutput.ViewVec" + Name 472 "@entryPointOutput.LightVec" + Name 475 "@entryPointOutput.EyePos" + Name 478 "@entryPointOutput.WorldPos" + Decorate 243(displacementMapTexture) Binding 1 + Decorate 243(displacementMapTexture) DescriptorSet 0 + Decorate 255(displacementMapSampler) Binding 1 + Decorate 255(displacementMapSampler) DescriptorSet 0 + Decorate 274 ArrayStride 16 + MemberDecorate 276(UBO) 0 RowMajor + MemberDecorate 276(UBO) 0 MatrixStride 16 + MemberDecorate 276(UBO) 0 Offset 0 + MemberDecorate 276(UBO) 1 RowMajor + MemberDecorate 276(UBO) 1 MatrixStride 16 + MemberDecorate 276(UBO) 1 Offset 64 + MemberDecorate 276(UBO) 2 Offset 128 + MemberDecorate 276(UBO) 3 Offset 144 + MemberDecorate 276(UBO) 4 Offset 240 + MemberDecorate 276(UBO) 5 Offset 244 + MemberDecorate 276(UBO) 6 Offset 248 + MemberDecorate 276(UBO) 7 Offset 256 + Decorate 299(ubo) Block + MemberDecorate 299(ubo) 0 Offset 0 + Decorate 305 Binding 0 + Decorate 305 DescriptorSet 0 + Decorate 372(input.TessLevelOuter) BuiltIn TessLevelOuter + Decorate 372(input.TessLevelOuter) Patch + Decorate 387(input.TessLevelInner) BuiltIn TessLevelInner + Decorate 387(input.TessLevelInner) Patch + Decorate 396(TessCoord) BuiltIn TessCoord + Decorate 396(TessCoord) Patch + Decorate 405(patch.Pos) BuiltIn Position + Decorate 412(patch.Normal) Location 0 + Decorate 418(patch.UV) Location 1 + Decorate 458(@entryPointOutput.Pos) BuiltIn Position + Decorate 462(@entryPointOutput.Normal) Location 0 + Decorate 466(@entryPointOutput.UV) Location 1 + Decorate 469(@entryPointOutput.ViewVec) Location 2 + Decorate 472(@entryPointOutput.LightVec) Location 3 + Decorate 475(@entryPointOutput.EyePos) Location 4 + Decorate 478(@entryPointOutput.WorldPos) Location 5 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -182,457 +277,459 @@ spv.debuginfo.hlsl.tese 33: 11(int) Constant 52 31: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 32 23 27 33 30 16 16 17 36: 11(int) Constant 1 - 38: 11(int) Constant 5 - 37: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 36 18 27 38 - 34: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 35 36 27 16 16 37 35 16 17 25 31 - 39: TypePointer Function 24(ConstantsHSOutput) - 40: 11(int) Constant 7 - 41: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 34 40 16 - 42: TypeVector 8(float) 2 - 43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 21 - 44: TypePointer Function 42(fvec2) - 45: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 43 40 16 - 46: TypeVector 8(float) 4 - 47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 18 - 48: TypeVector 8(float) 3 - 49: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17 - 50(HSOutput): TypeStruct 46(fvec4) 48(fvec3) 42(fvec2) - 53: 11(int) Constant 44 - 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 52 47 27 53 14 16 16 17 - 56: 11(int) Constant 45 - 57: 11(int) Constant 35 - 54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 55 49 27 56 57 16 16 17 - 60: 11(int) Constant 46 - 61: 11(int) Constant 31 - 58: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 59 43 27 60 61 16 16 17 - 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 63 36 27 16 16 37 63 16 17 51 54 58 - 64: TypeArray 50(HSOutput) 18 - 65: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 62 18 - 66(DSOutput): TypeStruct 46(fvec4) 48(fvec3) 42(fvec2) 48(fvec3) 48(fvec3) 48(fvec3) 48(fvec3) - 68: 11(int) Constant 57 - 69: 11(int) Constant 13 - 67: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 52 47 27 68 69 16 16 17 - 72: 11(int) Constant 63 - 73: 11(int) Constant 37 - 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 49 27 72 73 16 16 17 - 75: 11(int) Constant 59 - 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 59 43 27 75 61 16 16 17 - 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 49 27 72 73 16 16 17 - 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 49 27 72 73 16 16 17 - 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 49 27 72 73 16 16 17 - 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 71 49 27 72 73 16 16 17 - 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 81 36 27 16 16 37 81 16 17 67 70 74 76 77 78 79 - 82: TypeFunction 66(DSOutput) 39(ptr) 44(ptr) 64 - 83: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 80 34 43 62 - 91: 11(int) Constant 68 - 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 89 83 27 91 16 37 89 17 91 - 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 34 27 91 16 90 18 36 + 37: 11(int) Constant 68 + 39: 11(int) Constant 5 + 38: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 36 18 27 39 + 34: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 35 36 27 37 16 38 35 16 17 25 31 + 40: TypePointer Function 24(ConstantsHSOutput) + 41: 11(int) Constant 7 + 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 34 41 16 + 43: TypeVector 8(float) 2 + 44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 21 + 45: TypePointer Function 43(fvec2) + 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 44 41 16 + 47: TypeVector 8(float) 4 + 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 18 + 49: TypeVector 8(float) 3 + 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 17 + 51(HSOutput): TypeStruct 47(fvec4) 49(fvec3) 43(fvec2) + 54: 11(int) Constant 44 + 52: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 53 48 27 54 14 16 16 17 + 57: 11(int) Constant 45 + 58: 11(int) Constant 35 + 55: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 56 50 27 57 58 16 16 17 + 61: 11(int) Constant 46 + 62: 11(int) Constant 31 + 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 60 44 27 61 62 16 16 17 + 63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 64 36 27 37 16 38 64 16 17 52 55 59 + 65: TypeArray 51(HSOutput) 18 + 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 63 18 + 67(DSOutput): TypeStruct 47(fvec4) 49(fvec3) 43(fvec2) 49(fvec3) 49(fvec3) 49(fvec3) 49(fvec3) + 69: 11(int) Constant 57 + 70: 11(int) Constant 13 + 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 53 48 27 69 70 16 16 17 + 73: 11(int) Constant 63 + 74: 11(int) Constant 37 + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 72 50 27 73 74 16 16 17 + 76: 11(int) Constant 59 + 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 60 44 27 76 62 16 16 17 + 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 72 50 27 73 74 16 16 17 + 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 72 50 27 73 74 16 16 17 + 79: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 72 50 27 73 74 16 16 17 + 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 72 50 27 73 74 16 16 17 + 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 82 36 27 37 16 38 82 16 17 68 71 75 77 78 79 80 + 83: TypeFunction 67(DSOutput) 40(ptr) 45(ptr) 65 + 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 81 34 44 63 + 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 90 84 27 37 16 38 90 17 37 + 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 34 27 37 16 91 18 36 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) - 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 99 43 27 91 16 90 18 21 - 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 102 62 27 91 16 90 18 17 - 105: TypePointer Function 66(DSOutput) - 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 80 40 16 - 110: 11(int) Constant 70 - 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 109 80 27 110 16 90 18 - 113: 8(float) Constant 0 - 114: 46(fvec4) ConstantComposite 113 113 113 113 - 115: 48(fvec3) ConstantComposite 113 113 113 - 116: 42(fvec2) ConstantComposite 113 113 - 117:66(DSOutput) ConstantComposite 114 115 116 115 115 115 115 - 121: 11(int) Constant 71 - 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 120 43 27 121 16 90 18 - 124: TypeInt 32 1 - 126: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 125 14 18 16 - 127: 124(int) Constant 0 - 128: 124(int) Constant 2 - 130: 124(int) Constant 1 - 132: TypePointer Function 8(float) - 133: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 40 16 - 141: 11(int) Constant 72 - 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 140 43 27 141 16 90 18 - 144: 124(int) Constant 3 - 153: 11(int) Constant 73 - 160: TypePointer Function 48(fvec3) - 161: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 49 40 16 - 165: 11(int) Constant 75 - 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 164 49 27 165 16 90 18 - 177: 11(int) Constant 76 - 175: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 176 49 27 177 16 90 18 - 188: 11(int) Constant 77 - 195: TypePointer Function 46(fvec4) - 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 47 40 16 - 200: 11(int) Constant 80 - 198: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 199 47 27 200 16 90 18 - 212: 11(int) Constant 81 - 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 211 47 27 212 16 90 18 - 224: 11(int) Constant 82 - 222: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 223 47 27 224 16 90 18 - 233: TypeImage 8(float) 2D sampled format:Unknown - 236: 11(int) Constant 84 - 238: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) - 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 235 16 27 236 16 37 237 238 17 - 239: TypePointer UniformConstant 233 - 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 234 16 16 -241(displacementMapTexture): 239(ptr) Variable UniformConstant - 244: 11(int) Constant 8 - 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 243 234 27 236 16 37 243 241(displacementMapTexture) 244 - 247: TypeSampler - 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 249 36 27 236 16 37 250 238 17 - 251: TypePointer UniformConstant 247 - 252: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 248 16 16 -253(displacementMapSampler): 251(ptr) Variable UniformConstant - 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 255 248 27 236 16 37 255 253(displacementMapSampler) 244 - 257: TypeSampledImage 233 - 258: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 259 16 27 236 16 37 260 238 17 - 266: TypeMatrix 46(fvec4) 4 - 268: TypeBool - 270: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 269 14 21 16 - 271: 268(bool) ConstantTrue - 267: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 47 18 271 - 272: TypeArray 46(fvec4) 15 - 273: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 47 15 - 274(UBO): TypeStruct 266 266 46(fvec4) 272 8(float) 8(float) 42(fvec2) 8(float) - 277: 11(int) Constant 29 - 278: 11(int) Constant 20 - 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 276 267 27 277 278 16 16 17 - 279: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 276 267 27 277 278 16 16 17 - 282: 11(int) Constant 30 - 283: 11(int) Constant 17 - 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 281 47 27 282 283 16 16 17 - 286: 11(int) Constant 22 - 284: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 285 273 27 61 286 16 16 17 - 289: 11(int) Constant 27 - 287: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 288 10 27 57 289 16 16 17 - 290: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 288 10 27 57 289 16 16 17 - 293: 11(int) Constant 34 - 291: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 292 43 27 293 278 16 16 17 - 294: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 288 10 27 57 289 16 16 17 - 295: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 296 36 27 236 16 37 296 16 17 275 279 280 284 287 290 291 294 - 297(ubo): TypeStruct 274(UBO) - 298: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 299 295 27 73 73 16 16 17 - 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 299 36 27 236 16 37 299 16 17 298 - 301: TypePointer Uniform 297(ubo) - 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 300 21 16 - 303: 301(ptr) Variable Uniform - 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 300 27 236 16 37 2 303 244 - 305: 124(int) Constant 4 - 306: TypePointer Uniform 8(float) - 307: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 21 16 - 317: 11(int) Constant 86 - 318: TypePointer Uniform 266 - 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 267 21 16 - 329: 11(int) Constant 89 - 333: TypePointer Uniform 46(fvec4) - 334: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 47 21 16 - 337: 11(int) Constant 90 - 345: 124(int) Constant 6 - 348: 11(int) Constant 91 - 351: 124(int) Constant 5 - 354: 11(int) Constant 92 - 362: 11(int) Constant 93 - 367: TypePointer Input 19 -368(input.TessLevelOuter): 367(ptr) Variable Input - 369: TypePointer Input 8(float) - 382: TypePointer Input 22 -383(input.TessLevelInner): 382(ptr) Variable Input - 391: TypePointer Input 48(fvec3) - 392(TessCoord): 391(ptr) Variable Input - 397: TypePointer Function 64 - 399: TypeArray 46(fvec4) 18 - 400: TypePointer Input 399 - 401(patch.Pos): 400(ptr) Variable Input - 402: TypePointer Input 46(fvec4) - 406: TypeArray 48(fvec3) 18 - 407: TypePointer Input 406 -408(patch.Normal): 407(ptr) Variable Input - 412: TypeArray 42(fvec2) 18 - 413: TypePointer Input 412 - 414(patch.UV): 413(ptr) Variable Input - 415: TypePointer Input 42(fvec2) - 453: TypePointer Output 46(fvec4) -454(@entryPointOutput.Pos): 453(ptr) Variable Output - 457: TypePointer Output 48(fvec3) -458(@entryPointOutput.Normal): 457(ptr) Variable Output - 461: TypePointer Output 42(fvec2) -462(@entryPointOutput.UV): 461(ptr) Variable Output -465(@entryPointOutput.ViewVec): 457(ptr) Variable Output -468(@entryPointOutput.LightVec): 457(ptr) Variable Output -471(@entryPointOutput.EyePos): 457(ptr) Variable Output -474(@entryPointOutput.WorldPos): 457(ptr) Variable Output + 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 99 44 27 37 16 91 18 21 + 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 102 63 27 37 16 91 18 17 + 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 27 16 16 91 + 106: TypePointer Function 67(DSOutput) + 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 81 41 16 + 111: 11(int) Constant 70 + 109: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 110 81 27 111 16 105 18 + 115: 8(float) Constant 0 + 116: 47(fvec4) ConstantComposite 115 115 115 115 + 117: 49(fvec3) ConstantComposite 115 115 115 + 118: 43(fvec2) ConstantComposite 115 115 + 119:67(DSOutput) ConstantComposite 116 117 118 117 117 117 117 + 123: 11(int) Constant 71 + 121: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 122 44 27 123 16 105 18 + 126: TypeInt 32 1 + 128: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 127 14 18 16 + 129: 126(int) Constant 0 + 130: 126(int) Constant 2 + 132: 126(int) Constant 1 + 134: TypePointer Function 8(float) + 135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 41 16 + 143: 11(int) Constant 72 + 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 142 44 27 143 16 105 18 + 146: 126(int) Constant 3 + 155: 11(int) Constant 73 + 162: TypePointer Function 49(fvec3) + 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 50 41 16 + 167: 11(int) Constant 75 + 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 166 50 27 167 16 105 18 + 179: 11(int) Constant 76 + 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 178 50 27 179 16 105 18 + 190: 11(int) Constant 77 + 197: TypePointer Function 47(fvec4) + 198: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 48 41 16 + 202: 11(int) Constant 80 + 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 201 48 27 202 16 105 18 + 214: 11(int) Constant 81 + 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 213 48 27 214 16 105 18 + 226: 11(int) Constant 82 + 224: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 225 48 27 226 16 105 18 + 235: TypeImage 8(float) 2D sampled format:Unknown + 238: 11(int) Constant 84 + 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 0(DebugInfoNone) + 236: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 237 16 27 238 16 38 239 240 17 + 241: TypePointer UniformConstant 235 + 242: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 236 16 16 +243(displacementMapTexture): 241(ptr) Variable UniformConstant + 246: 11(int) Constant 8 + 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 245 236 27 238 16 38 245 243(displacementMapTexture) 246 + 249: TypeSampler + 250: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 251 36 27 238 16 38 252 240 17 + 253: TypePointer UniformConstant 249 + 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 250 16 16 +255(displacementMapSampler): 253(ptr) Variable UniformConstant + 256: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 257 250 27 238 16 38 257 255(displacementMapSampler) 246 + 259: TypeSampledImage 235 + 260: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 261 16 27 238 16 38 262 240 17 + 268: TypeMatrix 47(fvec4) 4 + 270: TypeBool + 272: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 271 14 21 16 + 273: 270(bool) ConstantTrue + 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 48 18 273 + 274: TypeArray 47(fvec4) 15 + 275: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 5(DebugTypeArray) 48 15 + 276(UBO): TypeStruct 268 268 47(fvec4) 274 8(float) 8(float) 43(fvec2) 8(float) + 279: 11(int) Constant 29 + 280: 11(int) Constant 20 + 277: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 278 269 27 279 280 16 16 17 + 281: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 278 269 27 279 280 16 16 17 + 284: 11(int) Constant 30 + 285: 11(int) Constant 17 + 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 283 48 27 284 285 16 16 17 + 288: 11(int) Constant 22 + 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 287 275 27 62 288 16 16 17 + 291: 11(int) Constant 27 + 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 290 10 27 58 291 16 16 17 + 292: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 290 10 27 58 291 16 16 17 + 295: 11(int) Constant 34 + 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 294 44 27 295 280 16 16 17 + 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 290 10 27 58 291 16 16 17 + 297: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 298 36 27 238 16 38 298 16 17 277 281 282 286 289 292 293 296 + 299(ubo): TypeStruct 276(UBO) + 300: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 301 297 27 74 74 16 16 17 + 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 301 36 27 238 16 38 301 16 17 300 + 303: TypePointer Uniform 299(ubo) + 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 302 21 16 + 305: 303(ptr) Variable Uniform + 306: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 307 302 27 238 16 38 307 305 246 + 308: 126(int) Constant 4 + 309: TypePointer Uniform 8(float) + 310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 21 16 + 320: 11(int) Constant 86 + 321: TypePointer Uniform 268 + 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 269 21 16 + 332: 11(int) Constant 89 + 336: TypePointer Uniform 47(fvec4) + 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 48 21 16 + 340: 11(int) Constant 90 + 348: 126(int) Constant 6 + 351: 11(int) Constant 91 + 354: 126(int) Constant 5 + 357: 11(int) Constant 92 + 365: 11(int) Constant 93 + 371: TypePointer Input 19 +372(input.TessLevelOuter): 371(ptr) Variable Input + 373: TypePointer Input 8(float) + 386: TypePointer Input 22 +387(input.TessLevelInner): 386(ptr) Variable Input + 395: TypePointer Input 49(fvec3) + 396(TessCoord): 395(ptr) Variable Input + 401: TypePointer Function 65 + 403: TypeArray 47(fvec4) 18 + 404: TypePointer Input 403 + 405(patch.Pos): 404(ptr) Variable Input + 406: TypePointer Input 47(fvec4) + 410: TypeArray 49(fvec3) 18 + 411: TypePointer Input 410 +412(patch.Normal): 411(ptr) Variable Input + 416: TypeArray 43(fvec2) 18 + 417: TypePointer Input 416 + 418(patch.UV): 417(ptr) Variable Input + 419: TypePointer Input 43(fvec2) + 457: TypePointer Output 47(fvec4) +458(@entryPointOutput.Pos): 457(ptr) Variable Output + 461: TypePointer Output 49(fvec3) +462(@entryPointOutput.Normal): 461(ptr) Variable Output + 465: TypePointer Output 43(fvec2) +466(@entryPointOutput.UV): 465(ptr) Variable Output +469(@entryPointOutput.ViewVec): 461(ptr) Variable Output +472(@entryPointOutput.LightVec): 461(ptr) Variable Output +475(@entryPointOutput.EyePos): 461(ptr) Variable Output +478(@entryPointOutput.WorldPos): 461(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 366(input): 39(ptr) Variable Function - 390(TessCoord): 44(ptr) Variable Function - 398(patch): 397(ptr) Variable Function -446(flattenTemp): 105(ptr) Variable Function - 448(param): 39(ptr) Variable Function - 450(param): 44(ptr) Variable Function - 370: 369(ptr) AccessChain 368(input.TessLevelOuter) 127 - 371: 8(float) Load 370 - 372: 132(ptr) AccessChain 366(input) 127 127 - Store 372 371 - 373: 369(ptr) AccessChain 368(input.TessLevelOuter) 130 - 374: 8(float) Load 373 - 375: 132(ptr) AccessChain 366(input) 127 130 - Store 375 374 - 376: 369(ptr) AccessChain 368(input.TessLevelOuter) 128 - 377: 8(float) Load 376 - 378: 132(ptr) AccessChain 366(input) 127 128 - Store 378 377 - 379: 369(ptr) AccessChain 368(input.TessLevelOuter) 144 - 380: 8(float) Load 379 - 381: 132(ptr) AccessChain 366(input) 127 144 - Store 381 380 - 384: 369(ptr) AccessChain 383(input.TessLevelInner) 127 - 385: 8(float) Load 384 - 386: 132(ptr) AccessChain 366(input) 130 127 - Store 386 385 - 387: 369(ptr) AccessChain 383(input.TessLevelInner) 130 - 388: 8(float) Load 387 - 389: 132(ptr) AccessChain 366(input) 130 130 - Store 389 388 - 393: 48(fvec3) Load 392(TessCoord) - 394: 8(float) CompositeExtract 393 0 - 395: 8(float) CompositeExtract 393 1 - 396: 42(fvec2) CompositeConstruct 394 395 - Store 390(TessCoord) 396 - 403: 402(ptr) AccessChain 401(patch.Pos) 127 - 404: 46(fvec4) Load 403 - 405: 195(ptr) AccessChain 398(patch) 127 127 - Store 405 404 - 409: 391(ptr) AccessChain 408(patch.Normal) 127 - 410: 48(fvec3) Load 409 - 411: 160(ptr) AccessChain 398(patch) 127 130 - Store 411 410 - 416: 415(ptr) AccessChain 414(patch.UV) 127 - 417: 42(fvec2) Load 416 - 418: 44(ptr) AccessChain 398(patch) 127 128 - Store 418 417 - 419: 402(ptr) AccessChain 401(patch.Pos) 130 - 420: 46(fvec4) Load 419 - 421: 195(ptr) AccessChain 398(patch) 130 127 - Store 421 420 - 422: 391(ptr) AccessChain 408(patch.Normal) 130 - 423: 48(fvec3) Load 422 - 424: 160(ptr) AccessChain 398(patch) 130 130 - Store 424 423 - 425: 415(ptr) AccessChain 414(patch.UV) 130 - 426: 42(fvec2) Load 425 - 427: 44(ptr) AccessChain 398(patch) 130 128 - Store 427 426 - 428: 402(ptr) AccessChain 401(patch.Pos) 128 - 429: 46(fvec4) Load 428 - 430: 195(ptr) AccessChain 398(patch) 128 127 - Store 430 429 - 431: 391(ptr) AccessChain 408(patch.Normal) 128 - 432: 48(fvec3) Load 431 - 433: 160(ptr) AccessChain 398(patch) 128 130 - Store 433 432 - 434: 415(ptr) AccessChain 414(patch.UV) 128 - 435: 42(fvec2) Load 434 - 436: 44(ptr) AccessChain 398(patch) 128 128 - Store 436 435 - 437: 402(ptr) AccessChain 401(patch.Pos) 144 - 438: 46(fvec4) Load 437 - 439: 195(ptr) AccessChain 398(patch) 144 127 - Store 439 438 - 440: 391(ptr) AccessChain 408(patch.Normal) 144 - 441: 48(fvec3) Load 440 - 442: 160(ptr) AccessChain 398(patch) 144 130 - Store 442 441 - 443: 415(ptr) AccessChain 414(patch.UV) 144 - 444: 42(fvec2) Load 443 - 445: 44(ptr) AccessChain 398(patch) 144 128 - Store 445 444 - 447: 64 Load 398(patch) - 449:24(ConstantsHSOutput) Load 366(input) - Store 448(param) 449 - 451: 42(fvec2) Load 390(TessCoord) - Store 450(param) 451 - 452:66(DSOutput) FunctionCall 87(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) 448(param) 450(param) 447 - Store 446(flattenTemp) 452 - 455: 195(ptr) AccessChain 446(flattenTemp) 127 - 456: 46(fvec4) Load 455 - Store 454(@entryPointOutput.Pos) 456 - 459: 160(ptr) AccessChain 446(flattenTemp) 130 - 460: 48(fvec3) Load 459 - Store 458(@entryPointOutput.Normal) 460 - 463: 44(ptr) AccessChain 446(flattenTemp) 128 - 464: 42(fvec2) Load 463 - Store 462(@entryPointOutput.UV) 464 - 466: 160(ptr) AccessChain 446(flattenTemp) 144 - 467: 48(fvec3) Load 466 - Store 465(@entryPointOutput.ViewVec) 467 - 469: 160(ptr) AccessChain 446(flattenTemp) 305 - 470: 48(fvec3) Load 469 - Store 468(@entryPointOutput.LightVec) 470 - 472: 160(ptr) AccessChain 446(flattenTemp) 351 - 473: 48(fvec3) Load 472 - Store 471(@entryPointOutput.EyePos) 473 - 475: 160(ptr) AccessChain 446(flattenTemp) 345 - 476: 48(fvec3) Load 475 - Store 474(@entryPointOutput.WorldPos) 476 + 370(input): 40(ptr) Variable Function + 394(TessCoord): 45(ptr) Variable Function + 402(patch): 401(ptr) Variable Function +450(flattenTemp): 106(ptr) Variable Function + 452(param): 40(ptr) Variable Function + 454(param): 45(ptr) Variable Function + 374: 373(ptr) AccessChain 372(input.TessLevelOuter) 129 + 375: 8(float) Load 374 + 376: 134(ptr) AccessChain 370(input) 129 129 + Store 376 375 + 377: 373(ptr) AccessChain 372(input.TessLevelOuter) 132 + 378: 8(float) Load 377 + 379: 134(ptr) AccessChain 370(input) 129 132 + Store 379 378 + 380: 373(ptr) AccessChain 372(input.TessLevelOuter) 130 + 381: 8(float) Load 380 + 382: 134(ptr) AccessChain 370(input) 129 130 + Store 382 381 + 383: 373(ptr) AccessChain 372(input.TessLevelOuter) 146 + 384: 8(float) Load 383 + 385: 134(ptr) AccessChain 370(input) 129 146 + Store 385 384 + 388: 373(ptr) AccessChain 387(input.TessLevelInner) 129 + 389: 8(float) Load 388 + 390: 134(ptr) AccessChain 370(input) 132 129 + Store 390 389 + 391: 373(ptr) AccessChain 387(input.TessLevelInner) 132 + 392: 8(float) Load 391 + 393: 134(ptr) AccessChain 370(input) 132 132 + Store 393 392 + 397: 49(fvec3) Load 396(TessCoord) + 398: 8(float) CompositeExtract 397 0 + 399: 8(float) CompositeExtract 397 1 + 400: 43(fvec2) CompositeConstruct 398 399 + Store 394(TessCoord) 400 + 407: 406(ptr) AccessChain 405(patch.Pos) 129 + 408: 47(fvec4) Load 407 + 409: 197(ptr) AccessChain 402(patch) 129 129 + Store 409 408 + 413: 395(ptr) AccessChain 412(patch.Normal) 129 + 414: 49(fvec3) Load 413 + 415: 162(ptr) AccessChain 402(patch) 129 132 + Store 415 414 + 420: 419(ptr) AccessChain 418(patch.UV) 129 + 421: 43(fvec2) Load 420 + 422: 45(ptr) AccessChain 402(patch) 129 130 + Store 422 421 + 423: 406(ptr) AccessChain 405(patch.Pos) 132 + 424: 47(fvec4) Load 423 + 425: 197(ptr) AccessChain 402(patch) 132 129 + Store 425 424 + 426: 395(ptr) AccessChain 412(patch.Normal) 132 + 427: 49(fvec3) Load 426 + 428: 162(ptr) AccessChain 402(patch) 132 132 + Store 428 427 + 429: 419(ptr) AccessChain 418(patch.UV) 132 + 430: 43(fvec2) Load 429 + 431: 45(ptr) AccessChain 402(patch) 132 130 + Store 431 430 + 432: 406(ptr) AccessChain 405(patch.Pos) 130 + 433: 47(fvec4) Load 432 + 434: 197(ptr) AccessChain 402(patch) 130 129 + Store 434 433 + 435: 395(ptr) AccessChain 412(patch.Normal) 130 + 436: 49(fvec3) Load 435 + 437: 162(ptr) AccessChain 402(patch) 130 132 + Store 437 436 + 438: 419(ptr) AccessChain 418(patch.UV) 130 + 439: 43(fvec2) Load 438 + 440: 45(ptr) AccessChain 402(patch) 130 130 + Store 440 439 + 441: 406(ptr) AccessChain 405(patch.Pos) 146 + 442: 47(fvec4) Load 441 + 443: 197(ptr) AccessChain 402(patch) 146 129 + Store 443 442 + 444: 395(ptr) AccessChain 412(patch.Normal) 146 + 445: 49(fvec3) Load 444 + 446: 162(ptr) AccessChain 402(patch) 146 132 + Store 446 445 + 447: 419(ptr) AccessChain 418(patch.UV) 146 + 448: 43(fvec2) Load 447 + 449: 45(ptr) AccessChain 402(patch) 146 130 + Store 449 448 + 451: 65 Load 402(patch) + 453:24(ConstantsHSOutput) Load 370(input) + Store 452(param) 453 + 455: 43(fvec2) Load 394(TessCoord) + Store 454(param) 455 + 456:67(DSOutput) FunctionCall 88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) 452(param) 454(param) 451 + Store 450(flattenTemp) 456 + 459: 197(ptr) AccessChain 450(flattenTemp) 129 + 460: 47(fvec4) Load 459 + Store 458(@entryPointOutput.Pos) 460 + 463: 162(ptr) AccessChain 450(flattenTemp) 132 + 464: 49(fvec3) Load 463 + Store 462(@entryPointOutput.Normal) 464 + 467: 45(ptr) AccessChain 450(flattenTemp) 130 + 468: 43(fvec2) Load 467 + Store 466(@entryPointOutput.UV) 468 + 470: 162(ptr) AccessChain 450(flattenTemp) 146 + 471: 49(fvec3) Load 470 + Store 469(@entryPointOutput.ViewVec) 471 + 473: 162(ptr) AccessChain 450(flattenTemp) 308 + 474: 49(fvec3) Load 473 + Store 472(@entryPointOutput.LightVec) 474 + 476: 162(ptr) AccessChain 450(flattenTemp) 354 + 477: 49(fvec3) Load 476 + Store 475(@entryPointOutput.EyePos) 477 + 479: 162(ptr) AccessChain 450(flattenTemp) 348 + 480: 49(fvec3) Load 479 + Store 478(@entryPointOutput.WorldPos) 480 Return FunctionEnd -87(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];):66(DSOutput) Function None 82 - 84(input): 39(ptr) FunctionParameter - 85(TessCoord): 44(ptr) FunctionParameter - 86(patch): 64 FunctionParameter - 88: Label - 107(output): 105(ptr) Variable Function - 118(uv1): 44(ptr) Variable Function - 138(uv2): 44(ptr) Variable Function - 162(n1): 160(ptr) Variable Function - 174(n2): 160(ptr) Variable Function - 197(pos1): 195(ptr) Variable Function - 209(pos2): 195(ptr) Variable Function - 221(pos): 195(ptr) Variable Function - 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 90 - 97: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 91 91 16 16 - 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 84(input) 95 - 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 98 85(TessCoord) 95 - 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 101 86(patch) 95 - 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 90 87(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) - 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 110 110 16 16 - 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 108 107(output) 95 - Store 107(output) 117 - 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 121 121 16 16 - 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 119 118(uv1) 95 - 129: 42(fvec2) CompositeExtract 86(patch) 0 2 - 131: 42(fvec2) CompositeExtract 86(patch) 1 2 - 134: 132(ptr) AccessChain 85(TessCoord) 16 - 135: 8(float) Load 134 - 136: 42(fvec2) CompositeConstruct 135 135 - 137: 42(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 129 131 136 - Store 118(uv1) 137 - 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 141 141 16 16 - 142: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 139 138(uv2) 95 - 145: 42(fvec2) CompositeExtract 86(patch) 3 2 - 146: 42(fvec2) CompositeExtract 86(patch) 2 2 - 147: 132(ptr) AccessChain 85(TessCoord) 16 - 148: 8(float) Load 147 - 149: 42(fvec2) CompositeConstruct 148 148 - 150: 42(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 145 146 149 - Store 138(uv2) 150 - 152: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 153 153 16 16 - 151: 42(fvec2) Load 118(uv1) - 154: 42(fvec2) Load 138(uv2) - 155: 132(ptr) AccessChain 85(TessCoord) 36 - 156: 8(float) Load 155 - 157: 42(fvec2) CompositeConstruct 156 156 - 158: 42(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 151 154 157 - 159: 44(ptr) AccessChain 107(output) 128 - Store 159 158 - 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 165 165 16 16 - 166: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 163 162(n1) 95 - 168: 48(fvec3) CompositeExtract 86(patch) 0 1 - 169: 48(fvec3) CompositeExtract 86(patch) 1 1 - 170: 132(ptr) AccessChain 85(TessCoord) 16 - 171: 8(float) Load 170 - 172: 48(fvec3) CompositeConstruct 171 171 171 - 173: 48(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 168 169 172 - Store 162(n1) 173 - 179: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 177 177 16 16 - 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 175 174(n2) 95 - 180: 48(fvec3) CompositeExtract 86(patch) 3 1 - 181: 48(fvec3) CompositeExtract 86(patch) 2 1 - 182: 132(ptr) AccessChain 85(TessCoord) 16 - 183: 8(float) Load 182 - 184: 48(fvec3) CompositeConstruct 183 183 183 - 185: 48(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 180 181 184 - Store 174(n2) 185 - 187: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 188 188 16 16 - 186: 48(fvec3) Load 162(n1) - 189: 48(fvec3) Load 174(n2) - 190: 132(ptr) AccessChain 85(TessCoord) 36 - 191: 8(float) Load 190 - 192: 48(fvec3) CompositeConstruct 191 191 191 - 193: 48(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 186 189 192 - 194: 160(ptr) AccessChain 107(output) 130 - Store 194 193 - 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 200 200 16 16 - 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 198 197(pos1) 95 - 203: 46(fvec4) CompositeExtract 86(patch) 0 0 - 204: 46(fvec4) CompositeExtract 86(patch) 1 0 - 205: 132(ptr) AccessChain 85(TessCoord) 16 - 206: 8(float) Load 205 - 207: 46(fvec4) CompositeConstruct 206 206 206 206 - 208: 46(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 203 204 207 - Store 197(pos1) 208 - 214: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 212 212 16 16 - 213: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 210 209(pos2) 95 - 215: 46(fvec4) CompositeExtract 86(patch) 3 0 - 216: 46(fvec4) CompositeExtract 86(patch) 2 0 - 217: 132(ptr) AccessChain 85(TessCoord) 16 - 218: 8(float) Load 217 - 219: 46(fvec4) CompositeConstruct 218 218 218 218 - 220: 46(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 215 216 219 - Store 209(pos2) 220 - 226: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 224 224 16 16 - 225: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 222 221(pos) 95 - 227: 46(fvec4) Load 197(pos1) - 228: 46(fvec4) Load 209(pos2) - 229: 132(ptr) AccessChain 85(TessCoord) 36 - 230: 8(float) Load 229 - 231: 46(fvec4) CompositeConstruct 230 230 230 230 - 232: 46(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 227 228 231 - Store 221(pos) 232 - 246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 236 236 16 16 - 245: 233 Load 241(displacementMapTexture) - 256: 247 Load 253(displacementMapSampler) - 261: 257 SampledImage 245 256 - 262: 44(ptr) AccessChain 107(output) 128 - 263: 42(fvec2) Load 262 - 264: 46(fvec4) ImageSampleExplicitLod 261 263 Lod 113 - 265: 8(float) CompositeExtract 264 0 - 308: 306(ptr) AccessChain 303 127 305 - 309: 8(float) Load 308 - 310: 8(float) FMul 265 309 - 311: 132(ptr) AccessChain 221(pos) 36 +88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];):67(DSOutput) Function None 83 + 85(input): 40(ptr) FunctionParameter + 86(TessCoord): 45(ptr) FunctionParameter + 87(patch): 65 FunctionParameter + 89: Label + 108(output): 106(ptr) Variable Function + 120(uv1): 45(ptr) Variable Function + 140(uv2): 45(ptr) Variable Function + 164(n1): 162(ptr) Variable Function + 176(n2): 162(ptr) Variable Function + 199(pos1): 197(ptr) Variable Function + 211(pos2): 197(ptr) Variable Function + 223(pos): 197(ptr) Variable Function + 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 91 + 97: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 37 37 16 16 + 94: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 85(input) 95 + 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 98 86(TessCoord) 95 + 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 101 87(patch) 95 + 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 91 88(@main(struct-ConstantsHSOutput-f1[4]-f1[2]1;vf2;struct-HSOutput-vf4-vf3-vf21[4];) + 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 105 + 114: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 111 111 16 16 + 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 109 108(output) 95 + Store 108(output) 119 + 125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 123 123 16 16 + 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 121 120(uv1) 95 + 131: 43(fvec2) CompositeExtract 87(patch) 0 2 + 133: 43(fvec2) CompositeExtract 87(patch) 1 2 + 136: 134(ptr) AccessChain 86(TessCoord) 16 + 137: 8(float) Load 136 + 138: 43(fvec2) CompositeConstruct 137 137 + 139: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 131 133 138 + Store 120(uv1) 139 + 145: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 143 143 16 16 + 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 141 140(uv2) 95 + 147: 43(fvec2) CompositeExtract 87(patch) 3 2 + 148: 43(fvec2) CompositeExtract 87(patch) 2 2 + 149: 134(ptr) AccessChain 86(TessCoord) 16 + 150: 8(float) Load 149 + 151: 43(fvec2) CompositeConstruct 150 150 + 152: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 147 148 151 + Store 140(uv2) 152 + 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 155 155 16 16 + 153: 43(fvec2) Load 120(uv1) + 156: 43(fvec2) Load 140(uv2) + 157: 134(ptr) AccessChain 86(TessCoord) 36 + 158: 8(float) Load 157 + 159: 43(fvec2) CompositeConstruct 158 158 + 160: 43(fvec2) ExtInst 3(GLSL.std.450) 46(FMix) 153 156 159 + 161: 45(ptr) AccessChain 108(output) 130 + Store 161 160 + 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 167 167 16 16 + 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 165 164(n1) 95 + 170: 49(fvec3) CompositeExtract 87(patch) 0 1 + 171: 49(fvec3) CompositeExtract 87(patch) 1 1 + 172: 134(ptr) AccessChain 86(TessCoord) 16 + 173: 8(float) Load 172 + 174: 49(fvec3) CompositeConstruct 173 173 173 + 175: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 170 171 174 + Store 164(n1) 175 + 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 179 179 16 16 + 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 177 176(n2) 95 + 182: 49(fvec3) CompositeExtract 87(patch) 3 1 + 183: 49(fvec3) CompositeExtract 87(patch) 2 1 + 184: 134(ptr) AccessChain 86(TessCoord) 16 + 185: 8(float) Load 184 + 186: 49(fvec3) CompositeConstruct 185 185 185 + 187: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 182 183 186 + Store 176(n2) 187 + 189: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 190 190 16 16 + 188: 49(fvec3) Load 164(n1) + 191: 49(fvec3) Load 176(n2) + 192: 134(ptr) AccessChain 86(TessCoord) 36 + 193: 8(float) Load 192 + 194: 49(fvec3) CompositeConstruct 193 193 193 + 195: 49(fvec3) ExtInst 3(GLSL.std.450) 46(FMix) 188 191 194 + 196: 162(ptr) AccessChain 108(output) 132 + Store 196 195 + 204: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 202 202 16 16 + 203: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 200 199(pos1) 95 + 205: 47(fvec4) CompositeExtract 87(patch) 0 0 + 206: 47(fvec4) CompositeExtract 87(patch) 1 0 + 207: 134(ptr) AccessChain 86(TessCoord) 16 + 208: 8(float) Load 207 + 209: 47(fvec4) CompositeConstruct 208 208 208 208 + 210: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 205 206 209 + Store 199(pos1) 210 + 216: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 214 214 16 16 + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 212 211(pos2) 95 + 217: 47(fvec4) CompositeExtract 87(patch) 3 0 + 218: 47(fvec4) CompositeExtract 87(patch) 2 0 + 219: 134(ptr) AccessChain 86(TessCoord) 16 + 220: 8(float) Load 219 + 221: 47(fvec4) CompositeConstruct 220 220 220 220 + 222: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 217 218 221 + Store 211(pos2) 222 + 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 226 226 16 16 + 227: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 224 223(pos) 95 + 229: 47(fvec4) Load 199(pos1) + 230: 47(fvec4) Load 211(pos2) + 231: 134(ptr) AccessChain 86(TessCoord) 36 + 232: 8(float) Load 231 + 233: 47(fvec4) CompositeConstruct 232 232 232 232 + 234: 47(fvec4) ExtInst 3(GLSL.std.450) 46(FMix) 229 230 233 + Store 223(pos) 234 + 248: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 238 238 16 16 + 247: 235 Load 243(displacementMapTexture) + 258: 249 Load 255(displacementMapSampler) + 263: 259 SampledImage 247 258 + 264: 45(ptr) AccessChain 108(output) 130 + 265: 43(fvec2) Load 264 + 266: 47(fvec4) ImageSampleExplicitLod 263 265 Lod 115 + 267: 8(float) CompositeExtract 266 0 + 311: 309(ptr) AccessChain 305 129 308 312: 8(float) Load 311 - 313: 8(float) FSub 312 310 - 314: 132(ptr) AccessChain 221(pos) 36 - Store 314 313 - 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 317 317 16 16 - 315: 46(fvec4) Load 221(pos) - 320: 318(ptr) AccessChain 303 127 130 - 321: 266 Load 320 - 322: 46(fvec4) VectorTimesMatrix 315 321 - 323: 318(ptr) AccessChain 303 127 127 - 324: 266 Load 323 - 325: 46(fvec4) VectorTimesMatrix 322 324 - 326: 195(ptr) AccessChain 107(output) 127 - Store 326 325 - 328: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 329 329 16 16 - 327: 46(fvec4) Load 221(pos) - 330: 48(fvec3) VectorShuffle 327 327 0 1 2 - 331: 48(fvec3) FNegate 330 - 332: 160(ptr) AccessChain 107(output) 144 - Store 332 331 - 336: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 337 337 16 16 - 335: 333(ptr) AccessChain 303 127 128 - 338: 46(fvec4) Load 335 - 339: 48(fvec3) VectorShuffle 338 338 0 1 2 - 340: 160(ptr) AccessChain 107(output) 144 - 341: 48(fvec3) Load 340 - 342: 48(fvec3) FAdd 339 341 - 343: 48(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 342 - 344: 160(ptr) AccessChain 107(output) 305 - Store 344 343 - 347: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 348 348 16 16 - 346: 46(fvec4) Load 221(pos) - 349: 48(fvec3) VectorShuffle 346 346 0 1 2 - 350: 160(ptr) AccessChain 107(output) 345 - Store 350 349 - 353: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 354 354 16 16 - 352: 46(fvec4) Load 221(pos) - 355: 318(ptr) AccessChain 303 127 130 - 356: 266 Load 355 - 357: 46(fvec4) VectorTimesMatrix 352 356 - 358: 48(fvec3) VectorShuffle 357 357 0 1 2 - 359: 160(ptr) AccessChain 107(output) 351 - Store 359 358 - 361: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 362 362 16 16 - 360:66(DSOutput) Load 107(output) - ReturnValue 360 + 313: 8(float) FMul 267 312 + 314: 134(ptr) AccessChain 223(pos) 36 + 315: 8(float) Load 314 + 316: 8(float) FSub 315 313 + 317: 134(ptr) AccessChain 223(pos) 36 + Store 317 316 + 319: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 320 320 16 16 + 318: 47(fvec4) Load 223(pos) + 323: 321(ptr) AccessChain 305 129 132 + 324: 268 Load 323 + 325: 47(fvec4) VectorTimesMatrix 318 324 + 326: 321(ptr) AccessChain 305 129 129 + 327: 268 Load 326 + 328: 47(fvec4) VectorTimesMatrix 325 327 + 329: 197(ptr) AccessChain 108(output) 129 + Store 329 328 + 331: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 332 332 16 16 + 330: 47(fvec4) Load 223(pos) + 333: 49(fvec3) VectorShuffle 330 330 0 1 2 + 334: 49(fvec3) FNegate 333 + 335: 162(ptr) AccessChain 108(output) 146 + Store 335 334 + 339: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 340 340 16 16 + 338: 336(ptr) AccessChain 305 129 130 + 341: 47(fvec4) Load 338 + 342: 49(fvec3) VectorShuffle 341 341 0 1 2 + 343: 162(ptr) AccessChain 108(output) 146 + 344: 49(fvec3) Load 343 + 345: 49(fvec3) FAdd 342 344 + 346: 49(fvec3) ExtInst 3(GLSL.std.450) 69(Normalize) 345 + 347: 162(ptr) AccessChain 108(output) 308 + Store 347 346 + 350: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 351 351 16 16 + 349: 47(fvec4) Load 223(pos) + 352: 49(fvec3) VectorShuffle 349 349 0 1 2 + 353: 162(ptr) AccessChain 108(output) 348 + Store 353 352 + 356: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 357 357 16 16 + 355: 47(fvec4) Load 223(pos) + 358: 321(ptr) AccessChain 305 129 132 + 359: 268 Load 358 + 360: 47(fvec4) VectorTimesMatrix 355 359 + 361: 49(fvec3) VectorShuffle 360 360 0 1 2 + 362: 162(ptr) AccessChain 108(output) 354 + Store 362 361 + 364: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 27 365 365 16 16 + 363:67(DSOutput) Load 108(output) + ReturnValue 363 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.hlsl.vert.out b/Test/baseResults/spv.debuginfo.hlsl.vert.out index 55452392..4e49f04a 100644 --- a/Test/baseResults/spv.debuginfo.hlsl.vert.out +++ b/Test/baseResults/spv.debuginfo.hlsl.vert.out @@ -1,15 +1,15 @@ spv.debuginfo.hlsl.vert // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 512 +// Id's are bound by 518 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 3: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Vertex 6 "main" 461 464 468 471 474 477 481 485 493 497 500 503 506 509 - 2: String "" + EntryPoint Vertex 6 "main" 467 470 474 477 480 483 487 491 499 503 506 509 512 515 + 2: String "spv.debuginfo.hlsl.vert" 9: String "float" 12: String "uint" 24: String "int" @@ -22,33 +22,146 @@ spv.debuginfo.hlsl.vert // OpModuleProcessed keep-uncalled // OpModuleProcessed hlsl-offsets #line 1 +/* +The MIT License (MIT) + +Copyright (c) 2022 Google LLC +Copyright (c) 2022 Sascha Willems + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +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 Software. + +THE SOFTWARE IS 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 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +struct VSInput +{ +[[vk::location(0)]] float3 Pos : POSITION0; +[[vk::location(1)]] float3 Normal : NORMAL0; +[[vk::location(2)]] float2 UV : TEXCOORD0; +[[vk::location(3)]] float3 Color : COLOR0; + +// Instanced attributes +[[vk::location(4)]] float3 instancePos : POSITION1; +[[vk::location(5)]] float3 instanceRot : TEXCOORD1; +[[vk::location(6)]] float instanceScale : TEXCOORD2; +[[vk::location(7)]] int instanceTexIndex : TEXCOORD3; +}; + +struct UBO +{ + float4x4 projection; + float4x4 modelview; + float4 lightPos; + float locSpeed; + float globSpeed; +}; + +cbuffer ubo : register(b0) { UBO ubo; } + +struct VSOutput +{ + float4 Pos : SV_POSITION; +[[vk::location(0)]] float3 Normal : NORMAL0; +[[vk::location(1)]] float3 Color : COLOR0; +[[vk::location(2)]] float3 UV : TEXCOORD0; +[[vk::location(3)]] float3 ViewVec : TEXCOORD1; +[[vk::location(4)]] float3 LightVec : TEXCOORD2; +}; + +VSOutput main(VSInput input) +{ + VSOutput output = (VSOutput)0; + output.Color = input.Color; + output.UV = float3(input.UV, input.instanceTexIndex); + + // rotate around x + float s = sin(input.instanceRot.x + ubo.locSpeed); + float c = cos(input.instanceRot.x + ubo.locSpeed); + + float3x3 mx = { c, -s, 0.0, + s, c, 0.0, + 0.0, 0.0, 1.0 }; + + // rotate around y + s = sin(input.instanceRot.y + ubo.locSpeed); + c = cos(input.instanceRot.y + ubo.locSpeed); + + float3x3 my = { c, 0.0, -s, + 0.0, 1.0, 0.0, + s, 0.0, c }; + + // rot around z + s = sin(input.instanceRot.z + ubo.locSpeed); + c = cos(input.instanceRot.z + ubo.locSpeed); + + float3x3 mz = { 1.0, 0.0, 0.0, + 0.0, c, -s, + 0.0, s, c }; + + float3x3 rotMat = mul(mz, mul(my, mx)); + + float4x4 gRotMat; + s = sin(input.instanceRot.y + ubo.globSpeed); + c = cos(input.instanceRot.y + ubo.globSpeed); + gRotMat[0] = float4(c, 0.0, -s, 0.0); + gRotMat[1] = float4(0.0, 1.0, 0.0, 0.0); + gRotMat[2] = float4(s, 0.0, c, 0.0); + gRotMat[3] = float4(0.0, 0.0, 0.0, 1.0); + + float4 locPos = float4(mul(rotMat, input.Pos.xyz), 1.0); + float4 pos = float4((locPos.xyz * input.instanceScale) + input.instancePos, 1.0); + + output.Pos = mul(ubo.projection, mul(ubo.modelview, mul(gRotMat, pos))); + output.Normal = mul((float3x3)mul(ubo.modelview, gRotMat), mul(rotMat, input.Normal)); + + pos = mul(ubo.modelview, float4(input.Pos.xyz + input.instancePos, 1.0)); + float3 lPos = mul((float3x3)ubo.modelview, ubo.lightPos.xyz); + output.LightVec = lPos - pos.xyz; + output.ViewVec = -pos.xyz; + return output; +} " 36: String "UV" 43: String "instanceScale" 47: String "instanceTexIndex" 51: String "VSInput" - 62: String "Pos" - 66: String "LightVec" - 73: String "VSOutput" - 79: String "@main" + 63: String "Pos" + 67: String "LightVec" + 74: String "VSOutput" + 80: String "@main" 83: String "input" - 93: String "output" - 130: String "s" - 140: String "bool" - 145: String "modelview" - 150: String "lightPos" - 154: String "globSpeed" - 158: String "UBO" - 161: String "ubo" - 178: String "c" - 194: String "mx" - 229: String "my" - 263: String "mz" - 283: String "rotMat" - 313: String "gRotMat" - 341: String "locPos" - 355: String "pos" - 421: String "lPos" + 94: String "output" + 132: String "s" + 142: String "bool" + 147: String "modelview" + 152: String "lightPos" + 156: String "globSpeed" + 160: String "UBO" + 163: String "ubo" + 170: String "" + 181: String "c" + 197: String "mx" + 232: String "my" + 266: String "mz" + 286: String "rotMat" + 299: String "gRotMat" + 346: String "locPos" + 360: String "pos" + 426: String "lPos" Name 6 "main" Name 27 "VSInput" MemberName 27(VSInput) 0 "Pos" @@ -59,79 +172,79 @@ spv.debuginfo.hlsl.vert MemberName 27(VSInput) 5 "instanceRot" MemberName 27(VSInput) 6 "instanceScale" MemberName 27(VSInput) 7 "instanceTexIndex" - Name 60 "VSOutput" - MemberName 60(VSOutput) 0 "Pos" - MemberName 60(VSOutput) 1 "Normal" - MemberName 60(VSOutput) 2 "Color" - MemberName 60(VSOutput) 3 "UV" - MemberName 60(VSOutput) 4 "ViewVec" - MemberName 60(VSOutput) 5 "LightVec" - Name 77 "@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;" - Name 76 "input" - Name 91 "output" - Name 128 "s" - Name 143 "UBO" - MemberName 143(UBO) 0 "projection" - MemberName 143(UBO) 1 "modelview" - MemberName 143(UBO) 2 "lightPos" - MemberName 143(UBO) 3 "locSpeed" - MemberName 143(UBO) 4 "globSpeed" - Name 159 "ubo" - MemberName 159(ubo) 0 "ubo" - Name 166 "" - Name 176 "c" - Name 192 "mx" - Name 227 "my" - Name 261 "mz" - Name 281 "rotMat" - Name 311 "gRotMat" - Name 339 "locPos" - Name 353 "pos" - Name 419 "lPos" - Name 459 "input" - Name 461 "input.Pos" - Name 464 "input.Normal" - Name 468 "input.UV" - Name 471 "input.Color" - Name 474 "input.instancePos" - Name 477 "input.instanceRot" - Name 481 "input.instanceScale" - Name 485 "input.instanceTexIndex" - Name 488 "flattenTemp" - Name 489 "param" - Name 493 "@entryPointOutput.Pos" - Name 497 "@entryPointOutput.Normal" - Name 500 "@entryPointOutput.Color" - Name 503 "@entryPointOutput.UV" - Name 506 "@entryPointOutput.ViewVec" - Name 509 "@entryPointOutput.LightVec" - MemberDecorate 143(UBO) 0 RowMajor - MemberDecorate 143(UBO) 0 Offset 0 - MemberDecorate 143(UBO) 0 MatrixStride 16 - MemberDecorate 143(UBO) 1 RowMajor - MemberDecorate 143(UBO) 1 Offset 64 - MemberDecorate 143(UBO) 1 MatrixStride 16 - MemberDecorate 143(UBO) 2 Offset 128 - MemberDecorate 143(UBO) 3 Offset 144 - MemberDecorate 143(UBO) 4 Offset 148 - MemberDecorate 159(ubo) 0 Offset 0 - Decorate 159(ubo) Block - Decorate 166 DescriptorSet 0 - Decorate 166 Binding 0 - Decorate 461(input.Pos) Location 0 - Decorate 464(input.Normal) Location 1 - Decorate 468(input.UV) Location 2 - Decorate 471(input.Color) Location 3 - Decorate 474(input.instancePos) Location 4 - Decorate 477(input.instanceRot) Location 5 - Decorate 481(input.instanceScale) Location 6 - Decorate 485(input.instanceTexIndex) Location 7 - Decorate 493(@entryPointOutput.Pos) BuiltIn Position - Decorate 497(@entryPointOutput.Normal) Location 0 - Decorate 500(@entryPointOutput.Color) Location 1 - Decorate 503(@entryPointOutput.UV) Location 2 - Decorate 506(@entryPointOutput.ViewVec) Location 3 - Decorate 509(@entryPointOutput.LightVec) Location 4 + Name 61 "VSOutput" + MemberName 61(VSOutput) 0 "Pos" + MemberName 61(VSOutput) 1 "Normal" + MemberName 61(VSOutput) 2 "Color" + MemberName 61(VSOutput) 3 "UV" + MemberName 61(VSOutput) 4 "ViewVec" + MemberName 61(VSOutput) 5 "LightVec" + Name 78 "@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;" + Name 77 "input" + Name 92 "output" + Name 130 "s" + Name 145 "UBO" + MemberName 145(UBO) 0 "projection" + MemberName 145(UBO) 1 "modelview" + MemberName 145(UBO) 2 "lightPos" + MemberName 145(UBO) 3 "locSpeed" + MemberName 145(UBO) 4 "globSpeed" + Name 161 "ubo" + MemberName 161(ubo) 0 "ubo" + Name 168 "" + Name 179 "c" + Name 195 "mx" + Name 230 "my" + Name 264 "mz" + Name 284 "rotMat" + Name 297 "gRotMat" + Name 344 "locPos" + Name 358 "pos" + Name 424 "lPos" + Name 465 "input" + Name 467 "input.Pos" + Name 470 "input.Normal" + Name 474 "input.UV" + Name 477 "input.Color" + Name 480 "input.instancePos" + Name 483 "input.instanceRot" + Name 487 "input.instanceScale" + Name 491 "input.instanceTexIndex" + Name 494 "flattenTemp" + Name 495 "param" + Name 499 "@entryPointOutput.Pos" + Name 503 "@entryPointOutput.Normal" + Name 506 "@entryPointOutput.Color" + Name 509 "@entryPointOutput.UV" + Name 512 "@entryPointOutput.ViewVec" + Name 515 "@entryPointOutput.LightVec" + MemberDecorate 145(UBO) 0 RowMajor + MemberDecorate 145(UBO) 0 MatrixStride 16 + MemberDecorate 145(UBO) 0 Offset 0 + MemberDecorate 145(UBO) 1 RowMajor + MemberDecorate 145(UBO) 1 MatrixStride 16 + MemberDecorate 145(UBO) 1 Offset 64 + MemberDecorate 145(UBO) 2 Offset 128 + MemberDecorate 145(UBO) 3 Offset 144 + MemberDecorate 145(UBO) 4 Offset 148 + Decorate 161(ubo) Block + MemberDecorate 161(ubo) 0 Offset 0 + Decorate 168 Binding 0 + Decorate 168 DescriptorSet 0 + Decorate 467(input.Pos) Location 0 + Decorate 470(input.Normal) Location 1 + Decorate 474(input.UV) Location 2 + Decorate 477(input.Color) Location 3 + Decorate 480(input.instancePos) Location 4 + Decorate 483(input.instanceRot) Location 5 + Decorate 487(input.instanceScale) Location 6 + Decorate 491(input.instanceTexIndex) Location 7 + Decorate 499(@entryPointOutput.Pos) BuiltIn Position + Decorate 503(@entryPointOutput.Normal) Location 0 + Decorate 506(@entryPointOutput.Color) Location 1 + Decorate 509(@entryPointOutput.UV) Location 2 + Decorate 512(@entryPointOutput.ViewVec) Location 3 + Decorate 515(@entryPointOutput.LightVec) Location 4 4: TypeVoid 5: TypeFunction 4 8: TypeFloat 32 @@ -169,487 +282,491 @@ spv.debuginfo.hlsl.vert 49: 11(int) Constant 42 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 47 25 30 48 49 16 16 17 52: 11(int) Constant 1 - 54: 11(int) Constant 5 - 53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 52 26 30 54 - 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 51 52 30 16 16 53 51 16 17 28 34 35 39 40 41 42 46 - 55: TypePointer Function 27(VSInput) - 56: 11(int) Constant 7 - 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 50 56 16 - 58: TypeVector 8(float) 4 - 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 26 - 60(VSOutput): TypeStruct 58(fvec4) 18(fvec3) 18(fvec3) 18(fvec3) 18(fvec3) 18(fvec3) - 63: 11(int) Constant 53 - 64: 11(int) Constant 13 - 61: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 62 59 30 63 64 16 16 17 - 67: 11(int) Constant 58 - 65: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 66 19 30 67 48 16 16 17 - 68: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 66 19 30 67 48 16 16 17 - 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 66 19 30 67 48 16 16 17 - 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 66 19 30 67 48 16 16 17 - 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 66 19 30 67 48 16 16 17 - 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 73 52 30 16 16 53 73 16 17 61 65 68 69 70 71 - 74: TypeFunction 60(VSOutput) 55(ptr) - 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 72 50 - 81: 11(int) Constant 62 - 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 79 75 30 81 16 53 79 17 81 - 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 50 30 81 16 80 26 52 + 53: 11(int) Constant 62 + 55: 11(int) Constant 5 + 54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 52 26 30 55 + 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 51 52 30 53 16 54 51 16 17 28 34 35 39 40 41 42 46 + 56: TypePointer Function 27(VSInput) + 57: 11(int) Constant 7 + 58: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 50 57 16 + 59: TypeVector 8(float) 4 + 60: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 6(DebugTypeVector) 10 26 + 61(VSOutput): TypeStruct 59(fvec4) 18(fvec3) 18(fvec3) 18(fvec3) 18(fvec3) 18(fvec3) + 64: 11(int) Constant 53 + 65: 11(int) Constant 13 + 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 63 60 30 64 65 16 16 17 + 68: 11(int) Constant 58 + 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 67 19 30 68 48 16 16 17 + 69: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 67 19 30 68 48 16 16 17 + 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 67 19 30 68 48 16 16 17 + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 67 19 30 68 48 16 16 17 + 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 67 19 30 68 48 16 16 17 + 73: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 74 52 30 53 16 54 74 16 17 62 66 69 70 71 72 + 75: TypeFunction 61(VSOutput) 56(ptr) + 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 17 73 50 + 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 80 76 30 53 16 54 80 17 53 + 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 83 50 30 53 16 81 26 52 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) - 89: TypePointer Function 60(VSOutput) - 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 72 56 16 - 94: 11(int) Constant 63 - 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 93 72 30 94 16 80 26 - 97: 8(float) Constant 0 - 98: 58(fvec4) ConstantComposite 97 97 97 97 - 99: 18(fvec3) ConstantComposite 97 97 97 - 100:60(VSOutput) ConstantComposite 98 99 99 99 99 99 - 101: 23(int) Constant 2 - 102: 23(int) Constant 3 - 103: TypePointer Function 18(fvec3) - 104: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 19 56 16 - 107: 11(int) Constant 64 - 110: TypePointer Function 20(fvec2) - 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 56 16 - 114: 11(int) Constant 65 - 116: 23(int) Constant 7 - 117: TypePointer Function 23(int) - 118: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 25 56 16 - 126: TypePointer Function 8(float) - 127: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 56 16 - 131: 11(int) Constant 68 - 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 130 10 30 131 16 80 26 - 134: 23(int) Constant 5 - 137: TypeMatrix 58(fvec4) 4 - 139: TypeBool - 141: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 140 14 21 16 - 142: 139(bool) ConstantTrue - 138: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 59 26 142 - 143(UBO): TypeStruct 137 137 58(fvec4) 8(float) 8(float) - 146: 11(int) Constant 43 - 147: 11(int) Constant 20 - 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 145 138 30 146 147 16 16 17 - 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 145 138 30 146 147 16 16 17 - 151: 11(int) Constant 44 - 152: 11(int) Constant 17 - 149: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 150 59 30 151 152 16 16 17 - 155: 11(int) Constant 46 - 153: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 154 10 30 155 152 16 16 17 - 156: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 154 10 30 155 152 16 16 17 - 157: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 158 52 30 131 16 53 158 16 17 144 148 149 153 156 - 159(ubo): TypeStruct 143(UBO) - 162: 11(int) Constant 49 - 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 161 157 30 162 48 16 16 17 - 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 161 52 30 131 16 53 161 16 17 160 - 164: TypePointer Uniform 159(ubo) - 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 163 21 16 - 166: 164(ptr) Variable Uniform - 168: 11(int) Constant 8 - 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 2 163 30 131 16 53 2 166 168 - 169: 23(int) Constant 0 - 170: TypePointer Uniform 8(float) - 171: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 21 16 - 179: 11(int) Constant 69 - 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 178 10 30 179 16 80 26 - 188: TypeMatrix 18(fvec3) 3 - 189: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 19 17 142 - 190: TypePointer Function 188 - 191: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 189 56 16 - 195: 11(int) Constant 71 - 193: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 194 189 30 195 16 80 26 - 203: 11(int) Constant 72 - 205: 8(float) Constant 1065353216 - 213: 11(int) Constant 76 - 221: 11(int) Constant 77 - 230: 11(int) Constant 79 - 228: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 229 189 30 230 16 80 26 - 238: 11(int) Constant 81 - 247: 11(int) Constant 84 - 255: 11(int) Constant 85 - 264: 11(int) Constant 87 - 262: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 263 189 30 264 16 80 26 - 269: 11(int) Constant 88 - 274: 11(int) Constant 89 - 284: 11(int) Constant 91 - 282: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 283 189 30 284 16 80 26 - 294: 11(int) Constant 94 - 296: 23(int) Constant 4 - 303: 11(int) Constant 95 - 309: TypePointer Function 137 - 310: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 138 56 16 - 314: 11(int) Constant 96 - 312: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 313 138 30 314 16 80 26 - 321: TypePointer Function 58(fvec4) - 322: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 59 56 16 - 324: 23(int) Constant 1 - 325: 58(fvec4) ConstantComposite 97 205 97 97 - 328: 11(int) Constant 97 - 331: 11(int) Constant 98 - 335: 58(fvec4) ConstantComposite 97 97 97 205 - 338: 11(int) Constant 99 - 342: 11(int) Constant 101 - 340: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 341 59 30 342 16 80 26 - 356: 11(int) Constant 102 - 354: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 355 59 30 356 16 80 26 - 361: 23(int) Constant 6 - 374: 11(int) Constant 104 - 377: TypePointer Uniform 137 - 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 138 21 16 - 388: 11(int) Constant 105 - 407: 11(int) Constant 107 - 422: 11(int) Constant 108 - 420: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 421 19 30 422 16 80 26 - 425: TypePointer Uniform 58(fvec4) - 426: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 59 21 16 - 442: 11(int) Constant 109 - 449: 11(int) Constant 110 - 455: 11(int) Constant 111 - 460: TypePointer Input 18(fvec3) - 461(input.Pos): 460(ptr) Variable Input -464(input.Normal): 460(ptr) Variable Input - 467: TypePointer Input 20(fvec2) - 468(input.UV): 467(ptr) Variable Input -471(input.Color): 460(ptr) Variable Input -474(input.instancePos): 460(ptr) Variable Input -477(input.instanceRot): 460(ptr) Variable Input - 480: TypePointer Input 8(float) -481(input.instanceScale): 480(ptr) Variable Input - 484: TypePointer Input 23(int) -485(input.instanceTexIndex): 484(ptr) Variable Input - 492: TypePointer Output 58(fvec4) -493(@entryPointOutput.Pos): 492(ptr) Variable Output - 496: TypePointer Output 18(fvec3) -497(@entryPointOutput.Normal): 496(ptr) Variable Output -500(@entryPointOutput.Color): 496(ptr) Variable Output -503(@entryPointOutput.UV): 496(ptr) Variable Output -506(@entryPointOutput.ViewVec): 496(ptr) Variable Output -509(@entryPointOutput.LightVec): 496(ptr) Variable Output + 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 30 16 16 81 + 90: TypePointer Function 61(VSOutput) + 91: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 73 57 16 + 95: 11(int) Constant 63 + 93: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 94 73 30 95 16 89 26 + 99: 8(float) Constant 0 + 100: 59(fvec4) ConstantComposite 99 99 99 99 + 101: 18(fvec3) ConstantComposite 99 99 99 + 102:61(VSOutput) ConstantComposite 100 101 101 101 101 101 + 103: 23(int) Constant 2 + 104: 23(int) Constant 3 + 105: TypePointer Function 18(fvec3) + 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 19 57 16 + 109: 11(int) Constant 64 + 112: TypePointer Function 20(fvec2) + 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 57 16 + 116: 11(int) Constant 65 + 118: 23(int) Constant 7 + 119: TypePointer Function 23(int) + 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 25 57 16 + 128: TypePointer Function 8(float) + 129: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 57 16 + 133: 11(int) Constant 68 + 131: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 132 10 30 133 16 89 26 + 136: 23(int) Constant 5 + 139: TypeMatrix 59(fvec4) 4 + 141: TypeBool + 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 142 14 21 16 + 144: 141(bool) ConstantTrue + 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 60 26 144 + 145(UBO): TypeStruct 139 139 59(fvec4) 8(float) 8(float) + 148: 11(int) Constant 43 + 149: 11(int) Constant 20 + 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 147 140 30 148 149 16 16 17 + 150: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 147 140 30 148 149 16 16 17 + 153: 11(int) Constant 44 + 154: 11(int) Constant 17 + 151: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 152 60 30 153 154 16 16 17 + 157: 11(int) Constant 46 + 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 156 10 30 157 154 16 16 17 + 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 156 10 30 157 154 16 16 17 + 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 160 52 30 133 16 54 160 16 17 146 150 151 155 158 + 161(ubo): TypeStruct 145(UBO) + 164: 11(int) Constant 49 + 162: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 163 159 30 164 48 16 16 17 + 165: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 163 52 30 133 16 54 163 16 17 162 + 166: TypePointer Uniform 161(ubo) + 167: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 165 21 16 + 168: 166(ptr) Variable Uniform + 171: 11(int) Constant 8 + 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 170 165 30 133 16 54 170 168 171 + 172: 23(int) Constant 0 + 173: TypePointer Uniform 8(float) + 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 10 21 16 + 182: 11(int) Constant 69 + 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 181 10 30 182 16 89 26 + 191: TypeMatrix 18(fvec3) 3 + 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 108(DebugTypeMatrix) 19 17 144 + 193: TypePointer Function 191 + 194: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 192 57 16 + 198: 11(int) Constant 71 + 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 197 192 30 198 16 89 26 + 206: 11(int) Constant 72 + 208: 8(float) Constant 1065353216 + 216: 11(int) Constant 76 + 224: 11(int) Constant 77 + 233: 11(int) Constant 79 + 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 232 192 30 233 16 89 26 + 241: 11(int) Constant 81 + 250: 11(int) Constant 84 + 258: 11(int) Constant 85 + 267: 11(int) Constant 87 + 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 266 192 30 267 16 89 26 + 272: 11(int) Constant 88 + 277: 11(int) Constant 89 + 287: 11(int) Constant 91 + 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 286 192 30 287 16 89 26 + 295: TypePointer Function 139 + 296: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 140 57 16 + 300: 11(int) Constant 93 + 298: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 299 140 30 300 16 89 26 + 305: 11(int) Constant 94 + 307: 23(int) Constant 4 + 314: 11(int) Constant 95 + 322: 11(int) Constant 96 + 326: TypePointer Function 59(fvec4) + 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 60 57 16 + 329: 23(int) Constant 1 + 330: 59(fvec4) ConstantComposite 99 208 99 99 + 333: 11(int) Constant 97 + 336: 11(int) Constant 98 + 340: 59(fvec4) ConstantComposite 99 99 99 208 + 343: 11(int) Constant 99 + 347: 11(int) Constant 101 + 345: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 346 60 30 347 16 89 26 + 361: 11(int) Constant 102 + 359: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 360 60 30 361 16 89 26 + 366: 23(int) Constant 6 + 379: 11(int) Constant 104 + 382: TypePointer Uniform 139 + 383: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 140 21 16 + 393: 11(int) Constant 105 + 412: 11(int) Constant 107 + 427: 11(int) Constant 108 + 425: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 426 19 30 427 16 89 26 + 430: TypePointer Uniform 59(fvec4) + 431: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 60 21 16 + 447: 11(int) Constant 109 + 454: 11(int) Constant 110 + 460: 11(int) Constant 111 + 466: TypePointer Input 18(fvec3) + 467(input.Pos): 466(ptr) Variable Input +470(input.Normal): 466(ptr) Variable Input + 473: TypePointer Input 20(fvec2) + 474(input.UV): 473(ptr) Variable Input +477(input.Color): 466(ptr) Variable Input +480(input.instancePos): 466(ptr) Variable Input +483(input.instanceRot): 466(ptr) Variable Input + 486: TypePointer Input 8(float) +487(input.instanceScale): 486(ptr) Variable Input + 490: TypePointer Input 23(int) +491(input.instanceTexIndex): 490(ptr) Variable Input + 498: TypePointer Output 59(fvec4) +499(@entryPointOutput.Pos): 498(ptr) Variable Output + 502: TypePointer Output 18(fvec3) +503(@entryPointOutput.Normal): 502(ptr) Variable Output +506(@entryPointOutput.Color): 502(ptr) Variable Output +509(@entryPointOutput.UV): 502(ptr) Variable Output +512(@entryPointOutput.ViewVec): 502(ptr) Variable Output +515(@entryPointOutput.LightVec): 502(ptr) Variable Output 6(main): 4 Function None 5 7: Label - 459(input): 55(ptr) Variable Function -488(flattenTemp): 89(ptr) Variable Function - 489(param): 55(ptr) Variable Function - 462: 18(fvec3) Load 461(input.Pos) - 463: 103(ptr) AccessChain 459(input) 169 - Store 463 462 - 465: 18(fvec3) Load 464(input.Normal) - 466: 103(ptr) AccessChain 459(input) 324 - Store 466 465 - 469: 20(fvec2) Load 468(input.UV) - 470: 110(ptr) AccessChain 459(input) 101 - Store 470 469 - 472: 18(fvec3) Load 471(input.Color) - 473: 103(ptr) AccessChain 459(input) 102 - Store 473 472 - 475: 18(fvec3) Load 474(input.instancePos) - 476: 103(ptr) AccessChain 459(input) 296 + 465(input): 56(ptr) Variable Function +494(flattenTemp): 90(ptr) Variable Function + 495(param): 56(ptr) Variable Function + 468: 18(fvec3) Load 467(input.Pos) + 469: 105(ptr) AccessChain 465(input) 172 + Store 469 468 + 471: 18(fvec3) Load 470(input.Normal) + 472: 105(ptr) AccessChain 465(input) 329 + Store 472 471 + 475: 20(fvec2) Load 474(input.UV) + 476: 112(ptr) AccessChain 465(input) 103 Store 476 475 - 478: 18(fvec3) Load 477(input.instanceRot) - 479: 103(ptr) AccessChain 459(input) 134 + 478: 18(fvec3) Load 477(input.Color) + 479: 105(ptr) AccessChain 465(input) 104 Store 479 478 - 482: 8(float) Load 481(input.instanceScale) - 483: 126(ptr) AccessChain 459(input) 361 - Store 483 482 - 486: 23(int) Load 485(input.instanceTexIndex) - 487: 117(ptr) AccessChain 459(input) 116 - Store 487 486 - 490: 27(VSInput) Load 459(input) - Store 489(param) 490 - 491:60(VSOutput) FunctionCall 77(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;) 489(param) - Store 488(flattenTemp) 491 - 494: 321(ptr) AccessChain 488(flattenTemp) 169 - 495: 58(fvec4) Load 494 - Store 493(@entryPointOutput.Pos) 495 - 498: 103(ptr) AccessChain 488(flattenTemp) 324 - 499: 18(fvec3) Load 498 - Store 497(@entryPointOutput.Normal) 499 - 501: 103(ptr) AccessChain 488(flattenTemp) 101 - 502: 18(fvec3) Load 501 - Store 500(@entryPointOutput.Color) 502 - 504: 103(ptr) AccessChain 488(flattenTemp) 102 + 481: 18(fvec3) Load 480(input.instancePos) + 482: 105(ptr) AccessChain 465(input) 307 + Store 482 481 + 484: 18(fvec3) Load 483(input.instanceRot) + 485: 105(ptr) AccessChain 465(input) 136 + Store 485 484 + 488: 8(float) Load 487(input.instanceScale) + 489: 128(ptr) AccessChain 465(input) 366 + Store 489 488 + 492: 23(int) Load 491(input.instanceTexIndex) + 493: 119(ptr) AccessChain 465(input) 118 + Store 493 492 + 496: 27(VSInput) Load 465(input) + Store 495(param) 496 + 497:61(VSOutput) FunctionCall 78(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;) 495(param) + Store 494(flattenTemp) 497 + 500: 326(ptr) AccessChain 494(flattenTemp) 172 + 501: 59(fvec4) Load 500 + Store 499(@entryPointOutput.Pos) 501 + 504: 105(ptr) AccessChain 494(flattenTemp) 329 505: 18(fvec3) Load 504 - Store 503(@entryPointOutput.UV) 505 - 507: 103(ptr) AccessChain 488(flattenTemp) 296 + Store 503(@entryPointOutput.Normal) 505 + 507: 105(ptr) AccessChain 494(flattenTemp) 103 508: 18(fvec3) Load 507 - Store 506(@entryPointOutput.ViewVec) 508 - 510: 103(ptr) AccessChain 488(flattenTemp) 134 + Store 506(@entryPointOutput.Color) 508 + 510: 105(ptr) AccessChain 494(flattenTemp) 104 511: 18(fvec3) Load 510 - Store 509(@entryPointOutput.LightVec) 511 + Store 509(@entryPointOutput.UV) 511 + 513: 105(ptr) AccessChain 494(flattenTemp) 307 + 514: 18(fvec3) Load 513 + Store 512(@entryPointOutput.ViewVec) 514 + 516: 105(ptr) AccessChain 494(flattenTemp) 136 + 517: 18(fvec3) Load 516 + Store 515(@entryPointOutput.LightVec) 517 Return FunctionEnd -77(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;):60(VSOutput) Function None 74 - 76(input): 55(ptr) FunctionParameter - 78: Label - 91(output): 89(ptr) Variable Function - 128(s): 126(ptr) Variable Function - 176(c): 126(ptr) Variable Function - 192(mx): 190(ptr) Variable Function - 227(my): 190(ptr) Variable Function - 261(mz): 190(ptr) Variable Function - 281(rotMat): 190(ptr) Variable Function - 311(gRotMat): 309(ptr) Variable Function - 339(locPos): 321(ptr) Variable Function - 353(pos): 321(ptr) Variable Function - 419(lPos): 103(ptr) Variable Function - 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 80 - 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 81 81 16 16 - 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 82 76(input) 85 - 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 80 77(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;) - 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 94 94 16 16 - 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 92 91(output) 85 - Store 91(output) 100 - 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 107 107 16 16 - 105: 103(ptr) AccessChain 76(input) 102 - 108: 18(fvec3) Load 105 - 109: 103(ptr) AccessChain 91(output) 101 - Store 109 108 - 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 114 114 16 16 - 112: 110(ptr) AccessChain 76(input) 101 - 115: 20(fvec2) Load 112 - 119: 117(ptr) AccessChain 76(input) 116 - 120: 23(int) Load 119 - 121: 8(float) ConvertSToF 120 - 122: 8(float) CompositeExtract 115 0 - 123: 8(float) CompositeExtract 115 1 - 124: 18(fvec3) CompositeConstruct 122 123 121 - 125: 103(ptr) AccessChain 91(output) 102 - Store 125 124 - 133: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 131 131 16 16 - 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 129 128(s) 85 - 135: 126(ptr) AccessChain 76(input) 134 16 - 136: 8(float) Load 135 - 172: 170(ptr) AccessChain 166 169 102 - 173: 8(float) Load 172 - 174: 8(float) FAdd 136 173 - 175: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 174 - Store 128(s) 175 - 181: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 179 179 16 16 - 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 177 176(c) 85 - 182: 126(ptr) AccessChain 76(input) 134 16 - 183: 8(float) Load 182 - 184: 170(ptr) AccessChain 166 169 102 - 185: 8(float) Load 184 - 186: 8(float) FAdd 183 185 - 187: 8(float) ExtInst 3(GLSL.std.450) 14(Cos) 186 - Store 176(c) 187 - 197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 195 195 16 16 - 196: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 193 192(mx) 85 - 198: 8(float) Load 176(c) - 199: 8(float) Load 128(s) - 200: 8(float) FNegate 199 - 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 203 203 16 16 - 201: 8(float) Load 128(s) - 204: 8(float) Load 176(c) - 206: 18(fvec3) CompositeConstruct 198 200 97 - 207: 18(fvec3) CompositeConstruct 201 204 97 - 208: 18(fvec3) CompositeConstruct 97 97 205 - 209: 188 CompositeConstruct 206 207 208 - 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 195 195 16 16 - Store 192(mx) 209 - 212: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 213 213 16 16 - 211: 126(ptr) AccessChain 76(input) 134 52 - 214: 8(float) Load 211 - 215: 170(ptr) AccessChain 166 169 102 - 216: 8(float) Load 215 - 217: 8(float) FAdd 214 216 - 218: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 217 - Store 128(s) 218 - 220: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 221 221 16 16 - 219: 126(ptr) AccessChain 76(input) 134 52 - 222: 8(float) Load 219 - 223: 170(ptr) AccessChain 166 169 102 - 224: 8(float) Load 223 - 225: 8(float) FAdd 222 224 - 226: 8(float) ExtInst 3(GLSL.std.450) 14(Cos) 225 - Store 176(c) 226 - 232: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 230 230 16 16 - 231: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 228 227(my) 85 - 233: 8(float) Load 176(c) - 234: 8(float) Load 128(s) - 235: 8(float) FNegate 234 - 237: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 238 238 16 16 - 236: 8(float) Load 128(s) - 239: 8(float) Load 176(c) - 240: 18(fvec3) CompositeConstruct 233 97 235 - 241: 18(fvec3) CompositeConstruct 97 205 97 - 242: 18(fvec3) CompositeConstruct 236 97 239 - 243: 188 CompositeConstruct 240 241 242 - 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 230 230 16 16 - Store 227(my) 243 - 246: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 247 247 16 16 - 245: 126(ptr) AccessChain 76(input) 134 21 - 248: 8(float) Load 245 - 249: 170(ptr) AccessChain 166 169 102 - 250: 8(float) Load 249 - 251: 8(float) FAdd 248 250 - 252: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 251 - Store 128(s) 252 - 254: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 255 255 16 16 - 253: 126(ptr) AccessChain 76(input) 134 21 - 256: 8(float) Load 253 - 257: 170(ptr) AccessChain 166 169 102 - 258: 8(float) Load 257 - 259: 8(float) FAdd 256 258 - 260: 8(float) ExtInst 3(GLSL.std.450) 14(Cos) 259 - Store 176(c) 260 - 266: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 264 264 16 16 - 265: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 262 261(mz) 85 - 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 269 269 16 16 - 267: 8(float) Load 176(c) - 270: 8(float) Load 128(s) - 271: 8(float) FNegate 270 - 273: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 274 274 16 16 - 272: 8(float) Load 128(s) - 275: 8(float) Load 176(c) - 276: 18(fvec3) CompositeConstruct 205 97 97 - 277: 18(fvec3) CompositeConstruct 97 267 271 - 278: 18(fvec3) CompositeConstruct 97 272 275 - 279: 188 CompositeConstruct 276 277 278 - 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 264 264 16 16 - Store 261(mz) 279 - 286: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 284 284 16 16 - 285: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 282 281(rotMat) 85 - 287: 188 Load 192(mx) - 288: 188 Load 227(my) - 289: 188 MatrixTimesMatrix 287 288 - 290: 188 Load 261(mz) - 291: 188 MatrixTimesMatrix 289 290 - Store 281(rotMat) 291 - 293: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 294 294 16 16 - 292: 126(ptr) AccessChain 76(input) 134 52 - 295: 8(float) Load 292 - 297: 170(ptr) AccessChain 166 169 296 - 298: 8(float) Load 297 - 299: 8(float) FAdd 295 298 - 300: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 299 - Store 128(s) 300 - 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 303 303 16 16 - 301: 126(ptr) AccessChain 76(input) 134 52 - 304: 8(float) Load 301 - 305: 170(ptr) AccessChain 166 169 296 - 306: 8(float) Load 305 - 307: 8(float) FAdd 304 306 - 308: 8(float) ExtInst 3(GLSL.std.450) 14(Cos) 307 - Store 176(c) 308 - 316: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 314 314 16 16 - 315: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 312 311(gRotMat) 85 - 317: 8(float) Load 176(c) - 318: 8(float) Load 128(s) - 319: 8(float) FNegate 318 - 320: 58(fvec4) CompositeConstruct 317 97 319 97 - 323: 321(ptr) AccessChain 311(gRotMat) 169 - Store 323 320 - 327: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 328 328 16 16 - 326: 321(ptr) AccessChain 311(gRotMat) 324 - Store 326 325 - 330: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 331 331 16 16 - 329: 8(float) Load 128(s) - 332: 8(float) Load 176(c) - 333: 58(fvec4) CompositeConstruct 329 97 332 97 - 334: 321(ptr) AccessChain 311(gRotMat) 101 - Store 334 333 - 337: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 338 338 16 16 - 336: 321(ptr) AccessChain 311(gRotMat) 102 - Store 336 335 - 344: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 342 342 16 16 - 343: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 340 339(locPos) 85 - 345: 103(ptr) AccessChain 76(input) 169 - 346: 18(fvec3) Load 345 - 347: 188 Load 281(rotMat) - 348: 18(fvec3) VectorTimesMatrix 346 347 - 349: 8(float) CompositeExtract 348 0 - 350: 8(float) CompositeExtract 348 1 - 351: 8(float) CompositeExtract 348 2 - 352: 58(fvec4) CompositeConstruct 349 350 351 205 - Store 339(locPos) 352 - 358: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 356 356 16 16 - 357: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 354 353(pos) 85 - 359: 58(fvec4) Load 339(locPos) - 360: 18(fvec3) VectorShuffle 359 359 0 1 2 - 362: 126(ptr) AccessChain 76(input) 361 - 363: 8(float) Load 362 - 364: 18(fvec3) VectorTimesScalar 360 363 - 365: 103(ptr) AccessChain 76(input) 296 - 366: 18(fvec3) Load 365 - 367: 18(fvec3) FAdd 364 366 - 368: 8(float) CompositeExtract 367 0 - 369: 8(float) CompositeExtract 367 1 - 370: 8(float) CompositeExtract 367 2 - 371: 58(fvec4) CompositeConstruct 368 369 370 205 - Store 353(pos) 371 - 373: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 374 374 16 16 - 372: 58(fvec4) Load 353(pos) - 375: 137 Load 311(gRotMat) - 376: 58(fvec4) VectorTimesMatrix 372 375 - 379: 377(ptr) AccessChain 166 169 324 - 380: 137 Load 379 - 381: 58(fvec4) VectorTimesMatrix 376 380 - 382: 377(ptr) AccessChain 166 169 169 - 383: 137 Load 382 - 384: 58(fvec4) VectorTimesMatrix 381 383 - 385: 321(ptr) AccessChain 91(output) 169 - Store 385 384 - 387: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 388 388 16 16 - 386: 103(ptr) AccessChain 76(input) 324 - 389: 18(fvec3) Load 386 - 390: 188 Load 281(rotMat) - 391: 18(fvec3) VectorTimesMatrix 389 390 - 392: 137 Load 311(gRotMat) - 393: 377(ptr) AccessChain 166 169 324 - 394: 137 Load 393 - 395: 137 MatrixTimesMatrix 392 394 - 396: 58(fvec4) CompositeExtract 395 0 - 397: 18(fvec3) VectorShuffle 396 396 0 1 2 - 398: 58(fvec4) CompositeExtract 395 1 - 399: 18(fvec3) VectorShuffle 398 398 0 1 2 - 400: 58(fvec4) CompositeExtract 395 2 - 401: 18(fvec3) VectorShuffle 400 400 0 1 2 - 402: 188 CompositeConstruct 397 399 401 - 403: 18(fvec3) VectorTimesMatrix 391 402 - 404: 103(ptr) AccessChain 91(output) 324 - Store 404 403 - 406: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 407 407 16 16 - 405: 103(ptr) AccessChain 76(input) 169 - 408: 18(fvec3) Load 405 - 409: 103(ptr) AccessChain 76(input) 296 - 410: 18(fvec3) Load 409 - 411: 18(fvec3) FAdd 408 410 - 412: 8(float) CompositeExtract 411 0 - 413: 8(float) CompositeExtract 411 1 - 414: 8(float) CompositeExtract 411 2 - 415: 58(fvec4) CompositeConstruct 412 413 414 205 - 416: 377(ptr) AccessChain 166 169 324 - 417: 137 Load 416 - 418: 58(fvec4) VectorTimesMatrix 415 417 - Store 353(pos) 418 - 424: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 422 422 16 16 - 423: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 420 419(lPos) 85 - 427: 425(ptr) AccessChain 166 169 101 - 428: 58(fvec4) Load 427 - 429: 18(fvec3) VectorShuffle 428 428 0 1 2 - 430: 377(ptr) AccessChain 166 169 324 - 431: 137 Load 430 - 432: 58(fvec4) CompositeExtract 431 0 - 433: 18(fvec3) VectorShuffle 432 432 0 1 2 - 434: 58(fvec4) CompositeExtract 431 1 - 435: 18(fvec3) VectorShuffle 434 434 0 1 2 - 436: 58(fvec4) CompositeExtract 431 2 - 437: 18(fvec3) VectorShuffle 436 436 0 1 2 - 438: 188 CompositeConstruct 433 435 437 - 439: 18(fvec3) VectorTimesMatrix 429 438 - Store 419(lPos) 439 - 441: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 442 442 16 16 - 440: 18(fvec3) Load 419(lPos) - 443: 58(fvec4) Load 353(pos) - 444: 18(fvec3) VectorShuffle 443 443 0 1 2 - 445: 18(fvec3) FSub 440 444 - 446: 103(ptr) AccessChain 91(output) 134 - Store 446 445 - 448: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 449 449 16 16 - 447: 58(fvec4) Load 353(pos) - 450: 18(fvec3) VectorShuffle 447 447 0 1 2 - 451: 18(fvec3) FNegate 450 - 452: 103(ptr) AccessChain 91(output) 296 - Store 452 451 - 454: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 455 455 16 16 - 453:60(VSOutput) Load 91(output) - ReturnValue 453 +78(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;):61(VSOutput) Function None 75 + 77(input): 56(ptr) FunctionParameter + 79: Label + 92(output): 90(ptr) Variable Function + 130(s): 128(ptr) Variable Function + 179(c): 128(ptr) Variable Function + 195(mx): 193(ptr) Variable Function + 230(my): 193(ptr) Variable Function + 264(mz): 193(ptr) Variable Function + 284(rotMat): 193(ptr) Variable Function + 297(gRotMat): 295(ptr) Variable Function + 344(locPos): 326(ptr) Variable Function + 358(pos): 326(ptr) Variable Function + 424(lPos): 105(ptr) Variable Function + 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 81 + 87: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 53 53 16 16 + 84: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 82 77(input) 85 + 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 81 78(@main(struct-VSInput-vf3-vf3-vf2-vf3-vf3-vf3-f1-i11;) + 97: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 89 + 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 95 95 16 16 + 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 93 92(output) 85 + Store 92(output) 102 + 108: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 109 109 16 16 + 107: 105(ptr) AccessChain 77(input) 104 + 110: 18(fvec3) Load 107 + 111: 105(ptr) AccessChain 92(output) 103 + Store 111 110 + 115: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 116 116 16 16 + 114: 112(ptr) AccessChain 77(input) 103 + 117: 20(fvec2) Load 114 + 121: 119(ptr) AccessChain 77(input) 118 + 122: 23(int) Load 121 + 123: 8(float) ConvertSToF 122 + 124: 8(float) CompositeExtract 117 0 + 125: 8(float) CompositeExtract 117 1 + 126: 18(fvec3) CompositeConstruct 124 125 123 + 127: 105(ptr) AccessChain 92(output) 104 + Store 127 126 + 135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 133 133 16 16 + 134: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 131 130(s) 85 + 137: 128(ptr) AccessChain 77(input) 136 16 + 138: 8(float) Load 137 + 175: 173(ptr) AccessChain 168 172 104 + 176: 8(float) Load 175 + 177: 8(float) FAdd 138 176 + 178: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 177 + Store 130(s) 178 + 184: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 182 182 16 16 + 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 180 179(c) 85 + 185: 128(ptr) AccessChain 77(input) 136 16 + 186: 8(float) Load 185 + 187: 173(ptr) AccessChain 168 172 104 + 188: 8(float) Load 187 + 189: 8(float) FAdd 186 188 + 190: 8(float) ExtInst 3(GLSL.std.450) 14(Cos) 189 + Store 179(c) 190 + 200: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 198 198 16 16 + 199: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 196 195(mx) 85 + 201: 8(float) Load 179(c) + 202: 8(float) Load 130(s) + 203: 8(float) FNegate 202 + 205: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 206 206 16 16 + 204: 8(float) Load 130(s) + 207: 8(float) Load 179(c) + 210: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 198 198 16 16 + 209: 18(fvec3) CompositeConstruct 201 203 99 + 211: 18(fvec3) CompositeConstruct 204 207 99 + 212: 18(fvec3) CompositeConstruct 99 99 208 + 213: 191 CompositeConstruct 209 211 212 + Store 195(mx) 213 + 215: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 216 216 16 16 + 214: 128(ptr) AccessChain 77(input) 136 52 + 217: 8(float) Load 214 + 218: 173(ptr) AccessChain 168 172 104 + 219: 8(float) Load 218 + 220: 8(float) FAdd 217 219 + 221: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 220 + Store 130(s) 221 + 223: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 224 224 16 16 + 222: 128(ptr) AccessChain 77(input) 136 52 + 225: 8(float) Load 222 + 226: 173(ptr) AccessChain 168 172 104 + 227: 8(float) Load 226 + 228: 8(float) FAdd 225 227 + 229: 8(float) ExtInst 3(GLSL.std.450) 14(Cos) 228 + Store 179(c) 229 + 235: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 233 233 16 16 + 234: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 231 230(my) 85 + 236: 8(float) Load 179(c) + 237: 8(float) Load 130(s) + 238: 8(float) FNegate 237 + 240: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 241 241 16 16 + 239: 8(float) Load 130(s) + 242: 8(float) Load 179(c) + 244: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 233 233 16 16 + 243: 18(fvec3) CompositeConstruct 236 99 238 + 245: 18(fvec3) CompositeConstruct 99 208 99 + 246: 18(fvec3) CompositeConstruct 239 99 242 + 247: 191 CompositeConstruct 243 245 246 + Store 230(my) 247 + 249: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 250 250 16 16 + 248: 128(ptr) AccessChain 77(input) 136 21 + 251: 8(float) Load 248 + 252: 173(ptr) AccessChain 168 172 104 + 253: 8(float) Load 252 + 254: 8(float) FAdd 251 253 + 255: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 254 + Store 130(s) 255 + 257: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 258 258 16 16 + 256: 128(ptr) AccessChain 77(input) 136 21 + 259: 8(float) Load 256 + 260: 173(ptr) AccessChain 168 172 104 + 261: 8(float) Load 260 + 262: 8(float) FAdd 259 261 + 263: 8(float) ExtInst 3(GLSL.std.450) 14(Cos) 262 + Store 179(c) 263 + 269: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 267 267 16 16 + 268: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 265 264(mz) 85 + 271: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 272 272 16 16 + 270: 8(float) Load 179(c) + 273: 8(float) Load 130(s) + 274: 8(float) FNegate 273 + 276: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 277 277 16 16 + 275: 8(float) Load 130(s) + 278: 8(float) Load 179(c) + 280: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 267 267 16 16 + 279: 18(fvec3) CompositeConstruct 208 99 99 + 281: 18(fvec3) CompositeConstruct 99 270 274 + 282: 18(fvec3) CompositeConstruct 99 275 278 + 283: 191 CompositeConstruct 279 281 282 + Store 264(mz) 283 + 289: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 287 287 16 16 + 288: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 285 284(rotMat) 85 + 290: 191 Load 195(mx) + 291: 191 Load 230(my) + 292: 191 MatrixTimesMatrix 290 291 + 293: 191 Load 264(mz) + 294: 191 MatrixTimesMatrix 292 293 + Store 284(rotMat) 294 + 302: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 300 300 16 16 + 301: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 298 297(gRotMat) 85 + 304: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 305 305 16 16 + 303: 128(ptr) AccessChain 77(input) 136 52 + 306: 8(float) Load 303 + 308: 173(ptr) AccessChain 168 172 307 + 309: 8(float) Load 308 + 310: 8(float) FAdd 306 309 + 311: 8(float) ExtInst 3(GLSL.std.450) 13(Sin) 310 + Store 130(s) 311 + 313: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 314 314 16 16 + 312: 128(ptr) AccessChain 77(input) 136 52 + 315: 8(float) Load 312 + 316: 173(ptr) AccessChain 168 172 307 + 317: 8(float) Load 316 + 318: 8(float) FAdd 315 317 + 319: 8(float) ExtInst 3(GLSL.std.450) 14(Cos) 318 + Store 179(c) 319 + 321: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 322 322 16 16 + 320: 8(float) Load 179(c) + 323: 8(float) Load 130(s) + 324: 8(float) FNegate 323 + 325: 59(fvec4) CompositeConstruct 320 99 324 99 + 328: 326(ptr) AccessChain 297(gRotMat) 172 + Store 328 325 + 332: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 333 333 16 16 + 331: 326(ptr) AccessChain 297(gRotMat) 329 + Store 331 330 + 335: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 336 336 16 16 + 334: 8(float) Load 130(s) + 337: 8(float) Load 179(c) + 338: 59(fvec4) CompositeConstruct 334 99 337 99 + 339: 326(ptr) AccessChain 297(gRotMat) 103 + Store 339 338 + 342: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 343 343 16 16 + 341: 326(ptr) AccessChain 297(gRotMat) 104 + Store 341 340 + 349: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 347 347 16 16 + 348: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 345 344(locPos) 85 + 350: 105(ptr) AccessChain 77(input) 172 + 351: 18(fvec3) Load 350 + 352: 191 Load 284(rotMat) + 353: 18(fvec3) VectorTimesMatrix 351 352 + 354: 8(float) CompositeExtract 353 0 + 355: 8(float) CompositeExtract 353 1 + 356: 8(float) CompositeExtract 353 2 + 357: 59(fvec4) CompositeConstruct 354 355 356 208 + Store 344(locPos) 357 + 363: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 361 361 16 16 + 362: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 359 358(pos) 85 + 364: 59(fvec4) Load 344(locPos) + 365: 18(fvec3) VectorShuffle 364 364 0 1 2 + 367: 128(ptr) AccessChain 77(input) 366 + 368: 8(float) Load 367 + 369: 18(fvec3) VectorTimesScalar 365 368 + 370: 105(ptr) AccessChain 77(input) 307 + 371: 18(fvec3) Load 370 + 372: 18(fvec3) FAdd 369 371 + 373: 8(float) CompositeExtract 372 0 + 374: 8(float) CompositeExtract 372 1 + 375: 8(float) CompositeExtract 372 2 + 376: 59(fvec4) CompositeConstruct 373 374 375 208 + Store 358(pos) 376 + 378: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 379 379 16 16 + 377: 59(fvec4) Load 358(pos) + 380: 139 Load 297(gRotMat) + 381: 59(fvec4) VectorTimesMatrix 377 380 + 384: 382(ptr) AccessChain 168 172 329 + 385: 139 Load 384 + 386: 59(fvec4) VectorTimesMatrix 381 385 + 387: 382(ptr) AccessChain 168 172 172 + 388: 139 Load 387 + 389: 59(fvec4) VectorTimesMatrix 386 388 + 390: 326(ptr) AccessChain 92(output) 172 + Store 390 389 + 392: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 393 393 16 16 + 391: 105(ptr) AccessChain 77(input) 329 + 394: 18(fvec3) Load 391 + 395: 191 Load 284(rotMat) + 396: 18(fvec3) VectorTimesMatrix 394 395 + 397: 139 Load 297(gRotMat) + 398: 382(ptr) AccessChain 168 172 329 + 399: 139 Load 398 + 400: 139 MatrixTimesMatrix 397 399 + 401: 59(fvec4) CompositeExtract 400 0 + 402: 18(fvec3) VectorShuffle 401 401 0 1 2 + 403: 59(fvec4) CompositeExtract 400 1 + 404: 18(fvec3) VectorShuffle 403 403 0 1 2 + 405: 59(fvec4) CompositeExtract 400 2 + 406: 18(fvec3) VectorShuffle 405 405 0 1 2 + 407: 191 CompositeConstruct 402 404 406 + 408: 18(fvec3) VectorTimesMatrix 396 407 + 409: 105(ptr) AccessChain 92(output) 329 + Store 409 408 + 411: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 412 412 16 16 + 410: 105(ptr) AccessChain 77(input) 172 + 413: 18(fvec3) Load 410 + 414: 105(ptr) AccessChain 77(input) 307 + 415: 18(fvec3) Load 414 + 416: 18(fvec3) FAdd 413 415 + 417: 8(float) CompositeExtract 416 0 + 418: 8(float) CompositeExtract 416 1 + 419: 8(float) CompositeExtract 416 2 + 420: 59(fvec4) CompositeConstruct 417 418 419 208 + 421: 382(ptr) AccessChain 168 172 329 + 422: 139 Load 421 + 423: 59(fvec4) VectorTimesMatrix 420 422 + Store 358(pos) 423 + 429: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 427 427 16 16 + 428: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 425 424(lPos) 85 + 432: 430(ptr) AccessChain 168 172 103 + 433: 59(fvec4) Load 432 + 434: 18(fvec3) VectorShuffle 433 433 0 1 2 + 435: 382(ptr) AccessChain 168 172 329 + 436: 139 Load 435 + 437: 59(fvec4) CompositeExtract 436 0 + 438: 18(fvec3) VectorShuffle 437 437 0 1 2 + 439: 59(fvec4) CompositeExtract 436 1 + 440: 18(fvec3) VectorShuffle 439 439 0 1 2 + 441: 59(fvec4) CompositeExtract 436 2 + 442: 18(fvec3) VectorShuffle 441 441 0 1 2 + 443: 191 CompositeConstruct 438 440 442 + 444: 18(fvec3) VectorTimesMatrix 434 443 + Store 424(lPos) 444 + 446: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 447 447 16 16 + 445: 18(fvec3) Load 424(lPos) + 448: 59(fvec4) Load 358(pos) + 449: 18(fvec3) VectorShuffle 448 448 0 1 2 + 450: 18(fvec3) FSub 445 449 + 451: 105(ptr) AccessChain 92(output) 136 + Store 451 450 + 453: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 454 454 16 16 + 452: 59(fvec4) Load 358(pos) + 455: 18(fvec3) VectorShuffle 452 452 0 1 2 + 456: 18(fvec3) FNegate 455 + 457: 105(ptr) AccessChain 92(output) 307 + Store 457 456 + 459: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 30 460 460 16 16 + 458:61(VSOutput) Load 92(output) + ReturnValue 458 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.implicit_br.glsl.frag.out b/Test/baseResults/spv.debuginfo.implicit_br.glsl.frag.out new file mode 100644 index 00000000..7a3ef975 --- /dev/null +++ b/Test/baseResults/spv.debuginfo.implicit_br.glsl.frag.out @@ -0,0 +1,335 @@ +spv.debuginfo.implicit_br.glsl.frag +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 204 + + Capability Shader + Extension "SPV_KHR_non_semantic_info" + 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" + 3: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 14 "main" 196 + ExecutionMode 14 OriginUpperLeft + 2: String "spv.debuginfo.implicit_br.glsl.frag" + 8: String "uint" + 18: String "test_if" + 21: String "// OpModuleProcessed auto-map-locations +// OpModuleProcessed auto-map-bindings +// OpModuleProcessed client vulkan100 +// OpModuleProcessed target-env vulkan1.0 +// OpModuleProcessed keep-uncalled +// OpModuleProcessed entry-point main +#line 1 +#version 460 + +out int outx; +int counter = 0; + +void test_if() { + if (false) { + counter += 1; + } +} + +void test_ifelse() { + if (false) { + counter += 1; + } + else { + counter += 2; + } +} + +void test_if_compound() { + if (false) { + if (false) { + counter += 1; + } + } +} + +void test_if_compound2() { + if (false) { + if (false) { + counter += 1; + } + + counter += 2; + } +} + +void test_switch() { + switch (0) { + case 0: + counter += 1; + // implict fallthrough + case 1: + counter += 2; + break; + default: + counter += 3; + // implicit break + } +} + +void main() { + test_if(); + test_ifelse(); + test_if_compound(); + test_if_compound2(); + test_switch(); + outx = counter; +}" + 28: String "test_ifelse" + 33: String "test_if_compound" + 38: String "test_if_compound2" + 43: String "test_switch" + 46: String "main" + 50: String "int" + 56: String "counter" + 65: String "bool" + 198: String "outx" + Name 14 "main" + Name 16 "test_if(" + Name 26 "test_ifelse(" + Name 31 "test_if_compound(" + Name 36 "test_if_compound2(" + Name 41 "test_switch(" + Name 54 "counter" + Name 196 "outx" + Decorate 196(outx) Location 0 + 4: TypeVoid + 5: TypeFunction 4 + 7: TypeInt 32 0 + 10: 7(int) Constant 32 + 11: 7(int) Constant 6 + 12: 7(int) Constant 0 + 9: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12 + 13: 7(int) Constant 3 + 6: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4 + 20: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 21 + 23: 7(int) Constant 1 + 24: 7(int) Constant 4 + 25: 7(int) Constant 2 + 22: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 23 24 20 25 + 19: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 18 6 20 11 12 22 18 13 11 + 30: 7(int) Constant 12 + 29: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 28 6 20 30 12 22 28 13 30 + 35: 7(int) Constant 21 + 34: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 33 6 20 35 12 22 33 13 35 + 40: 7(int) Constant 29 + 39: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 38 6 20 40 12 22 38 13 40 + 45: 7(int) Constant 39 + 44: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 43 6 20 45 12 22 43 13 45 + 48: 7(int) Constant 53 + 47: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 46 6 20 48 12 22 46 13 48 + 49: TypeInt 32 1 + 51: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 50 10 24 12 + 52: TypePointer Private 49(int) + 53: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 51 11 12 + 54(counter): 52(ptr) Variable Private + 57: 7(int) Constant 8 + 55: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 56 51 20 24 12 22 56 54(counter) 57 + 58: 49(int) Constant 0 + 64: TypeBool + 66: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 65 10 25 12 + 67: 64(bool) ConstantFalse + 71: 7(int) Constant 17 + 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 57 71 19 + 72: 49(int) Constant 1 + 79: 7(int) Constant 10 + 86: 7(int) Constant 14 + 85: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 86 71 29 + 92: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 71 71 29 + 93: 49(int) Constant 2 + 100: 7(int) Constant 19 + 107: 7(int) Constant 23 + 108: 7(int) Constant 9 + 106: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 107 108 34 + 114: 7(int) Constant 24 + 113: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 114 35 106 + 121: 7(int) Constant 27 + 128: 7(int) Constant 31 + 127: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 128 108 39 + 133: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 20 10 35 127 + 141: 7(int) Constant 35 + 145: 7(int) Constant 37 + 156: 7(int) Constant 42 + 161: 7(int) Constant 45 + 164: 7(int) Constant 46 + 166: 49(int) Constant 3 + 170: 7(int) Constant 48 + 175: 7(int) Constant 51 + 181: 7(int) Constant 54 + 184: 7(int) Constant 55 + 187: 7(int) Constant 56 + 190: 7(int) Constant 57 + 193: 7(int) Constant 58 + 194: TypePointer Output 49(int) + 195: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 51 13 12 + 196(outx): 194(ptr) Variable Output + 199: 7(int) Constant 59 + 197: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 198 51 20 199 12 22 198 196(outx) 57 + 203: 7(int) Constant 60 + 14(main): 4 Function None 5 + 15: Label + 59: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 22 + 60: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 24 24 12 12 + Store 54(counter) 58 + 177: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 47 + 178: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 48 48 12 12 + 176: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 47 14(main) + 180: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 181 181 12 12 + 179: 4 FunctionCall 16(test_if() + 183: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 184 184 12 12 + 182: 4 FunctionCall 26(test_ifelse() + 186: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 187 187 12 12 + 185: 4 FunctionCall 31(test_if_compound() + 189: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 190 190 12 12 + 188: 4 FunctionCall 36(test_if_compound2() + 192: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 193 193 12 12 + 191: 4 FunctionCall 41(test_switch() + 201: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 199 199 12 12 + 200: 49(int) Load 54(counter) + Store 196(outx) 200 + 202: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 203 203 12 12 + Return + FunctionEnd + 16(test_if(): 4 Function None 5 + 17: Label + 62: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 19 + 63: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 11 11 12 12 + 61: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 19 16(test_if() + SelectionMerge 69 None + BranchConditional 67 68 69 + 68: Label + 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 70 + 75: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 57 57 12 12 + 73: 49(int) Load 54(counter) + 76: 49(int) IAdd 73 72 + Store 54(counter) 76 + Branch 69 + 69: Label + 77: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 19 + 78: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 79 79 12 12 + Return + FunctionEnd +26(test_ifelse(): 4 Function None 5 + 27: Label + 81: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 + 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 30 30 12 12 + 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 29 26(test_ifelse() + SelectionMerge 84 None + BranchConditional 67 83 91 + 83: Label + 88: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 85 + 89: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 86 86 12 12 + 87: 49(int) Load 54(counter) + 90: 49(int) IAdd 87 72 + Store 54(counter) 90 + Branch 84 + 91: Label + 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 92 + 96: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 71 71 12 12 + 94: 49(int) Load 54(counter) + 97: 49(int) IAdd 94 93 + Store 54(counter) 97 + Branch 84 + 84: Label + 98: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 29 + 99: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 100 100 12 12 + Return + FunctionEnd +31(test_if_compound(): 4 Function None 5 + 32: Label + 102: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 + 103: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 35 35 12 12 + 101: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 34 31(test_if_compound() + SelectionMerge 105 None + BranchConditional 67 104 105 + 104: Label + 111: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 106 + 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 35 35 12 12 + SelectionMerge 110 None + BranchConditional 67 109 110 + 109: Label + 116: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 113 + 117: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 114 114 12 12 + 115: 49(int) Load 54(counter) + 118: 49(int) IAdd 115 72 + Store 54(counter) 118 + Branch 110 + 110: Label + Branch 105 + 105: Label + 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 34 + 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 121 121 12 12 + Return + FunctionEnd +36(test_if_compound2(): 4 Function None 5 + 37: Label + 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 40 40 12 12 + 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 39 36(test_if_compound2() + SelectionMerge 126 None + BranchConditional 67 125 126 + 125: Label + 131: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 127 + 132: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 40 40 12 12 + SelectionMerge 130 None + BranchConditional 67 129 130 + 129: Label + 135: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 133 + 136: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 10 10 12 12 + 134: 49(int) Load 54(counter) + 137: 49(int) IAdd 134 72 + Store 54(counter) 137 + Branch 130 + 130: Label + 139: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 127 + 140: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 141 141 12 12 + 138: 49(int) Load 54(counter) + 142: 49(int) IAdd 138 93 + Store 54(counter) 142 + Branch 126 + 126: Label + 143: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 39 + 144: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 145 145 12 12 + Return + FunctionEnd +41(test_switch(): 4 Function None 5 + 42: Label + 147: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 148: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 45 45 12 12 + 146: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 44 41(test_switch() + SelectionMerge 152 None + Switch 58 151 + case 0: 149 + case 1: 150 + 151: Label + 168: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 169: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 170 170 12 12 + 167: 49(int) Load 54(counter) + 171: 49(int) IAdd 167 166 + Store 54(counter) 171 + Branch 152 + 149: Label + 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 155: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 156 156 12 12 + 153: 49(int) Load 54(counter) + 157: 49(int) IAdd 153 72 + Store 54(counter) 157 + Branch 150 + 150: Label + 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 160: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 161 161 12 12 + 158: 49(int) Load 54(counter) + 162: 49(int) IAdd 158 93 + Store 54(counter) 162 + 163: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 164 164 12 12 + Branch 152 + 152: Label + 173: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 44 + 174: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 20 175 175 12 12 + Return + FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.include.glsl.frag.out b/Test/baseResults/spv.debuginfo.include.glsl.frag.out index 22453950..1d8348ae 100644 --- a/Test/baseResults/spv.debuginfo.include.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.include.glsl.frag.out @@ -1,21 +1,31 @@ spv.debuginfo.include.glsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 109 +// Id's are bound by 112 Capability Shader Extension "SPV_KHR_non_semantic_info" 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" 4: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 15 "main" 81 + EntryPoint Fragment 15 "main" 82 ExecutionMode 15 OriginUpperLeft 2: String "spv.debuginfo.include.glsl.frag" 3: String "spv.debuginfo.include.glsl.h" 9: String "uint" 18: String "float" 31: String "headerFunction" - 34: String "// OpModuleProcessed auto-map-locations + 34: String " +out vec4 headerOut; + +uniform UBO { + vec4 headerUboItem; +}; + +vec4 headerFunction(vec4 a) { + return -a; +}" + 39: String "// OpModuleProcessed auto-map-locations // OpModuleProcessed auto-map-bindings // OpModuleProcessed client vulkan100 // OpModuleProcessed target-env vulkan1.0 @@ -34,43 +44,33 @@ vec4 mainFileFunction(vec4 v) { void main() { headerOut = headerFunction(mainFileFunction(headerUboItem)); }" - 40: String "a" - 48: String "mainFileFunction" - 51: String "v" - 54: String "main" - 60: String " -out vec4 headerOut; - -uniform UBO { - vec4 headerUboItem; -}; - -vec4 headerFunction(vec4 a) { - return -a; -}" - 83: String "headerOut" - 87: String "headerUboItem" - 90: String "UBO" - 95: String "" - 97: String "int" + 42: String "a" + 50: String "mainFileFunction" + 53: String "v" + 57: String "main" + 84: String "headerOut" + 88: String "headerUboItem" + 91: String "UBO" + 96: String "" + 98: String "int" SourceExtension "GL_GOOGLE_cpp_style_line_directive" SourceExtension "GL_GOOGLE_include_directive" Name 15 "main" Name 29 "headerFunction(vf4;" Name 28 "a" - Name 46 "mainFileFunction(vf4;" - Name 45 "v" - Name 81 "headerOut" - Name 85 "UBO" - MemberName 85(UBO) 0 "headerUboItem" - Name 93 "" - Name 100 "param" - Name 107 "param" - Decorate 81(headerOut) Location 0 - MemberDecorate 85(UBO) 0 Offset 0 - Decorate 85(UBO) Block - Decorate 93 DescriptorSet 0 - Decorate 93 Binding 0 + Name 48 "mainFileFunction(vf4;" + Name 47 "v" + Name 82 "headerOut" + Name 86 "UBO" + MemberName 86(UBO) 0 "headerUboItem" + Name 94 "" + Name 101 "param" + Name 108 "param" + Decorate 82(headerOut) Location 0 + Decorate 86(UBO) Block + MemberDecorate 86(UBO) 0 Offset 0 + Decorate 94 Binding 0 + Decorate 94 DescriptorSet 0 5: TypeVoid 6: TypeFunction 5 8: TypeInt 32 0 @@ -90,77 +90,78 @@ vec4 headerFunction(vec4 a) { 25: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 24 13 26: TypeFunction 20(fvec4) 23(ptr) 27: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 14 22 22 - 33: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 34 + 33: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 3 34 35: 8(int) Constant 8 37: 8(int) Constant 1 - 38: 8(int) Constant 2 - 36: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 37 21 33 38 + 38: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 39 + 40: 8(int) Constant 2 + 36: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 37 21 38 40 32: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 31 27 33 35 13 36 31 14 35 - 39: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 40 22 33 35 13 32 21 37 - 42: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) - 49: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 48 27 33 12 13 36 48 14 12 - 50: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 51 22 33 12 13 49 21 37 - 56: 8(int) Constant 10 - 55: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 54 7 33 56 13 36 54 14 56 - 59: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 3 60 + 41: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 42 22 33 35 13 32 21 37 + 44: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) + 51: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 50 27 38 12 13 36 50 14 12 + 52: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 53 22 38 12 13 51 21 37 + 59: 8(int) Constant 10 + 58: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 57 7 38 59 13 36 57 14 59 63: 8(int) Constant 9 - 79: TypePointer Output 20(fvec4) - 80: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 14 13 - 81(headerOut): 79(ptr) Variable Output - 84: 8(int) Constant 11 - 82: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 83 22 33 84 13 36 83 81(headerOut) 35 - 85(UBO): TypeStruct 20(fvec4) - 88: 8(int) Constant 5 - 86: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 87 22 33 88 24 13 13 14 - 89: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 90 37 33 84 13 36 90 13 14 86 - 91: TypePointer Uniform 85(UBO) - 92: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 89 38 13 - 93: 91(ptr) Variable Uniform - 94: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 95 89 33 84 13 36 95 93 35 - 96: TypeInt 32 1 - 98: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 97 11 21 13 - 99: 96(int) Constant 0 - 101: TypePointer Uniform 20(fvec4) - 102: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 38 13 + 80: TypePointer Output 20(fvec4) + 81: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 14 13 + 82(headerOut): 80(ptr) Variable Output + 85: 8(int) Constant 11 + 83: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 84 22 38 85 13 36 84 82(headerOut) 35 + 86(UBO): TypeStruct 20(fvec4) + 89: 8(int) Constant 5 + 87: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 11(DebugTypeMember) 88 22 38 89 24 13 13 14 + 90: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 10(DebugTypeComposite) 91 37 38 85 13 36 91 13 14 87 + 92: TypePointer Uniform 86(UBO) + 93: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 90 40 13 + 94: 92(ptr) Variable Uniform + 95: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 96 90 38 85 13 36 96 94 35 + 97: TypeInt 32 1 + 99: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 98 11 21 13 + 100: 97(int) Constant 0 + 102: TypePointer Uniform 20(fvec4) + 103: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 22 40 13 + 111: 8(int) Constant 12 15(main): 5 Function None 6 16: Label - 100(param): 23(ptr) Variable Function - 107(param): 23(ptr) Variable Function - 77: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 55 - 78: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 56 56 13 13 - 76: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 55 15(main) - 104: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 84 84 13 13 - 103: 101(ptr) AccessChain 93 99 - 105: 20(fvec4) Load 103 - Store 100(param) 105 - 106: 20(fvec4) FunctionCall 46(mainFileFunction(vf4;) 100(param) - Store 107(param) 106 - 108: 20(fvec4) FunctionCall 29(headerFunction(vf4;) 107(param) - Store 81(headerOut) 108 + 101(param): 23(ptr) Variable Function + 108(param): 23(ptr) Variable Function + 78: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 58 + 79: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 59 59 13 13 + 77: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 58 15(main) + 105: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 85 85 13 13 + 104: 102(ptr) AccessChain 94 100 + 106: 20(fvec4) Load 104 + Store 101(param) 106 + 107: 20(fvec4) FunctionCall 48(mainFileFunction(vf4;) 101(param) + Store 108(param) 107 + 109: 20(fvec4) FunctionCall 29(headerFunction(vf4;) 108(param) + Store 82(headerOut) 109 + 110: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 111 111 13 13 Return FunctionEnd 29(headerFunction(vf4;): 20(fvec4) Function None 26 28(a): 23(ptr) FunctionParameter 30: Label - 43: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 32 - 44: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 35 35 13 13 - 41: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 39 28(a) 42 - 58: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 59 35 35 13 13 - 57: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 32 29(headerFunction(vf4;) - 62: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 59 63 63 13 13 + 45: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 32 + 46: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 35 35 13 13 + 43: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 41 28(a) 44 + 60: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 32 29(headerFunction(vf4;) + 62: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 63 63 13 13 61: 20(fvec4) Load 28(a) 64: 20(fvec4) FNegate 61 ReturnValue 64 FunctionEnd -46(mainFileFunction(vf4;): 20(fvec4) Function None 26 - 45(v): 23(ptr) FunctionParameter - 47: Label - 53: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 49 - 52: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 50 45(v) 42 - 69: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 12 12 13 13 - 68: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 49 46(mainFileFunction(vf4;) - 71: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 33 24 24 13 13 - 70: 20(fvec4) Load 45(v) +48(mainFileFunction(vf4;): 20(fvec4) Function None 26 + 47(v): 23(ptr) FunctionParameter + 49: Label + 55: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 51 + 56: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 12 12 13 13 + 54: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 52 47(v) 44 + 69: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 51 48(mainFileFunction(vf4;) + 71: 5 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 38 24 24 13 13 + 70: 20(fvec4) Load 47(v) 72: 20(fvec4) FNegate 70 ReturnValue 72 FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.multiline.glsl.frag.out b/Test/baseResults/spv.debuginfo.multiline.glsl.frag.out new file mode 100644 index 00000000..b16727df --- /dev/null +++ b/Test/baseResults/spv.debuginfo.multiline.glsl.frag.out @@ -0,0 +1,165 @@ +spv.debuginfo.multiline.glsl.frag +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 109 + + Capability Shader + Extension "SPV_KHR_non_semantic_info" + 1: ExtInstImport "NonSemantic.Shader.DebugInfo.100" + 3: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 14 "main" 75 81 + ExecutionMode 14 OriginUpperLeft + 2: String "spv.debuginfo.multiline.glsl.frag" + 8: String "uint" + 17: String "float" + 29: String "add" + 32: String "// OpModuleProcessed auto-map-locations +// OpModuleProcessed auto-map-bindings +// OpModuleProcessed client vulkan100 +// OpModuleProcessed target-env vulkan1.0 +// OpModuleProcessed keep-uncalled +// OpModuleProcessed entry-point main +#line 1 +#version 460 + +in float inx; +out float outx; + +float add(float x, float y, float z) { + return + x + + + y + + + z + ; +} + +void main() { + outx + = + add( + inx+1, + inx+2, + inx+3 + ) + ; +}" + 38: String "x" + 44: String "y" + 47: String "z" + 49: String "main" + 77: String "outx" + 83: String "inx" + Name 14 "main" + Name 27 "add(f1;f1;f1;" + Name 24 "x" + Name 25 "y" + Name 26 "z" + Name 75 "outx" + Name 81 "inx" + Name 99 "param" + Name 102 "param" + Name 103 "param" + Decorate 75(outx) Location 0 + Decorate 81(inx) Location 0 + 4: TypeVoid + 5: TypeFunction 4 + 7: TypeInt 32 0 + 10: 7(int) Constant 32 + 11: 7(int) Constant 6 + 12: 7(int) Constant 0 + 9: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 8 10 11 12 + 13: 7(int) Constant 3 + 6: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 4 + 16: TypeFloat 32 + 18: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 17 10 13 12 + 19: TypePointer Function 16(float) + 20: 7(int) Constant 7 + 21: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 20 12 + 22: TypeFunction 16(float) 19(ptr) 19(ptr) 19(ptr) + 23: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 8(DebugTypeFunction) 13 18 18 18 18 + 31: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 35(DebugSource) 2 32 + 34: 7(int) Constant 1 + 35: 7(int) Constant 4 + 36: 7(int) Constant 2 + 33: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 1(DebugCompilationUnit) 34 35 31 36 + 30: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 29 23 31 11 12 33 29 13 11 + 37: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 38 18 31 11 12 30 35 34 + 40: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 31(DebugExpression) + 43: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 44 18 31 11 12 30 35 36 + 46: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 26(DebugLocalVariable) 47 18 31 11 12 30 35 13 + 51: 7(int) Constant 16 + 50: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 20(DebugFunction) 49 6 31 51 12 33 49 13 51 + 55: 7(int) Constant 8 + 58: 7(int) Constant 10 + 62: 7(int) Constant 12 + 69: 7(int) Constant 14 + 73: TypePointer Output 16(float) + 74: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 13 12 + 75(outx): 73(ptr) Variable Output + 78: 7(int) Constant 17 + 76: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 77 18 31 78 12 33 77 75(outx) 55 + 79: TypePointer Input 16(float) + 80: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 3(DebugTypePointer) 18 34 12 + 81(inx): 79(ptr) Variable Input + 84: 7(int) Constant 20 + 82: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 83 18 31 84 12 33 83 81(inx) 55 + 87: 16(float) Constant 1065353216 + 91: 7(int) Constant 21 + 92: 16(float) Constant 1073741824 + 96: 7(int) Constant 22 + 97: 16(float) Constant 1077936128 + 101: 7(int) Constant 23 + 106: 7(int) Constant 18 + 108: 7(int) Constant 25 + 14(main): 4 Function None 5 + 15: Label + 99(param): 19(ptr) Variable Function + 102(param): 19(ptr) Variable Function + 103(param): 19(ptr) Variable Function + 71: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 50 + 72: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 51 51 12 12 + 70: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 50 14(main) + 86: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 84 84 12 12 + 85: 16(float) Load 81(inx) + 88: 16(float) FAdd 85 87 + 90: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 91 91 12 12 + 89: 16(float) Load 81(inx) + 93: 16(float) FAdd 89 92 + 95: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 96 96 12 12 + 94: 16(float) Load 81(inx) + 98: 16(float) FAdd 94 97 + 100: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 101 101 12 12 + Store 99(param) 88 + Store 102(param) 93 + Store 103(param) 98 + 104: 16(float) FunctionCall 27(add(f1;f1;f1;) 99(param) 102(param) 103(param) + 105: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 106 106 12 12 + Store 75(outx) 104 + 107: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 108 108 12 12 + Return + FunctionEnd +27(add(f1;f1;f1;): 16(float) Function None 22 + 24(x): 19(ptr) FunctionParameter + 25(y): 19(ptr) FunctionParameter + 26(z): 19(ptr) FunctionParameter + 28: Label + 41: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 30 + 42: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 11 11 12 12 + 39: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 37 24(x) 40 + 45: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 43 25(y) 40 + 48: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 28(DebugDeclare) 46 26(z) 40 + 52: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 101(DebugFunctionDefinition) 30 27(add(f1;f1;f1;) + 54: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 55 55 12 12 + 53: 16(float) Load 24(x) + 57: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 58 58 12 12 + 56: 16(float) Load 25(y) + 59: 16(float) FAdd 53 56 + 61: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 62 62 12 12 + 60: 16(float) Load 26(z) + 63: 16(float) FAdd 59 60 + 64: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 31 20 20 12 12 + ReturnValue 63 + FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out b/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out index 140c9b90..04384097 100644 --- a/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out +++ b/Test/baseResults/spv.debuginfo.rt_types.glsl.rgen.out @@ -1,7 +1,7 @@ spv.debuginfo.rt_types.glsl.rgen // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 123 +// Id's are bound by 127 Capability RayQueryKHR Capability RayTracingNV @@ -73,11 +73,11 @@ void main() MemberName 85(block) 0 "dir" MemberName 85(block) 1 "origin" Name 94 "" - Decorate 76(acc0) DescriptorSet 0 Decorate 76(acc0) Binding 0 + Decorate 76(acc0) DescriptorSet 0 + Decorate 85(block) BufferBlock MemberDecorate 85(block) 0 Offset 0 MemberDecorate 85(block) 1 Offset 16 - Decorate 85(block) BufferBlock 4: TypeVoid 5: TypeFunction 4 7: TypeInt 32 0 @@ -147,7 +147,10 @@ void main() 110: TypeBool 112: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 2(DebugTypeBasic) 111 10 24 12 115: 7(int) Constant 19 - 121: 7(int) Constant 21 + 120: 7(int) Constant 21 + 121: 7(int) Constant 30 + 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 21(DebugLexicalBlock) 18 120 121 17 + 126: 7(int) Constant 23 14(main): 4 Function None 5 15: Label 31(rayFlags): 28(ptr) Variable Function @@ -181,11 +184,12 @@ void main() SelectionMerge 118 None BranchConditional 116 117 118 117: Label - 119: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 - 120: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 121 121 12 12 + 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 119 + 123: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 120 120 12 12 RayQueryTerminateKHR 66(localRayQuery) Branch 118 118: Label - 122: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 124: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 + 125: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 126 126 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.debuginfo.scalar_types.glsl.frag.out b/Test/baseResults/spv.debuginfo.scalar_types.glsl.frag.out index e914cb66..019c0a03 100644 --- a/Test/baseResults/spv.debuginfo.scalar_types.glsl.frag.out +++ b/Test/baseResults/spv.debuginfo.scalar_types.glsl.frag.out @@ -1,7 +1,7 @@ spv.debuginfo.scalar_types.glsl.frag // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 159 +// Id's are bound by 161 Capability Shader Capability Float16 @@ -229,6 +229,7 @@ void main() { 156: 7(int) Constant 54 154: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 18(DebugGlobalVariable) 155 150 18 156 12 21 155 153(VAR_float16_t) 37 157:148(float16_t) Constant 0 + 160: 7(int) Constant 55 14(main): 4 Function None 5 15: Label 26: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 23(DebugScope) 17 @@ -258,5 +259,6 @@ void main() { Store 142(VAR_uint64_t) 146 158: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 156 156 12 12 Store 153(VAR_float16_t) 157 + 159: 4 ExtInst 1(NonSemantic.Shader.DebugInfo.100) 103(DebugLine) 18 160 160 12 12 Return FunctionEnd diff --git a/Test/baseResults/spv.deepRvalue.frag.out b/Test/baseResults/spv.deepRvalue.frag.out index efb9d2ec..a278a9cf 100644 --- a/Test/baseResults/spv.deepRvalue.frag.out +++ b/Test/baseResults/spv.deepRvalue.frag.out @@ -27,8 +27,8 @@ spv.deepRvalue.frag MemberName 131(str) 2 "c" Name 133 "t" Name 146 "gl_FragColor" - Decorate 111(samp2D) DescriptorSet 0 Decorate 111(samp2D) Binding 0 + Decorate 111(samp2D) DescriptorSet 0 Decorate 146(gl_FragColor) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.deviceGroup.frag.out b/Test/baseResults/spv.deviceGroup.frag.out index 68285a1b..7ffc1957 100644 --- a/Test/baseResults/spv.deviceGroup.frag.out +++ b/Test/baseResults/spv.deviceGroup.frag.out @@ -15,8 +15,8 @@ spv.deviceGroup.frag Name 9 "color" Name 12 "gl_DeviceIndex" Decorate 9(color) Location 0 - Decorate 12(gl_DeviceIndex) Flat Decorate 12(gl_DeviceIndex) BuiltIn DeviceIndex + Decorate 12(gl_DeviceIndex) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.double.comp.out b/Test/baseResults/spv.double.comp.out index 3a5eef8a..f7a4f811 100644 --- a/Test/baseResults/spv.double.comp.out +++ b/Test/baseResults/spv.double.comp.out @@ -22,16 +22,16 @@ spv.double.comp Name 49 "aa" Name 54 "globalCoef" Name 59 "destTex" + Decorate 8(bufName) BufferBlock MemberDecorate 8(bufName) 0 Offset 0 MemberDecorate 8(bufName) 1 Offset 8 - Decorate 8(bufName) BufferBlock - Decorate 10(bufInst) DescriptorSet 0 Decorate 10(bufInst) Binding 0 + Decorate 10(bufInst) DescriptorSet 0 Decorate 26(gl_GlobalInvocationID) BuiltIn GlobalInvocationId Decorate 33(gl_LocalInvocationID) BuiltIn LocalInvocationId - Decorate 59(destTex) DescriptorSet 0 - Decorate 59(destTex) Binding 0 Decorate 59(destTex) NonReadable + Decorate 59(destTex) Binding 0 + Decorate 59(destTex) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.expect_assume.assumeEXT.comp.out b/Test/baseResults/spv.expect_assume.assumeEXT.comp.out index 517103f0..2a1ca7fe 100644 --- a/Test/baseResults/spv.expect_assume.assumeEXT.comp.out +++ b/Test/baseResults/spv.expect_assume.assumeEXT.comp.out @@ -16,11 +16,12 @@ spv.expect_assume.assumeEXT.comp Name 7 "roblock" MemberName 7(roblock) 0 "i" Name 9 "ro" + Decorate 7(roblock) BufferBlock MemberDecorate 7(roblock) 0 NonWritable MemberDecorate 7(roblock) 0 Offset 0 - Decorate 7(roblock) BufferBlock - Decorate 9(ro) DescriptorSet 0 + Decorate 9(ro) NonWritable Decorate 9(ro) Binding 0 + Decorate 9(ro) DescriptorSet 0 Decorate 21 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.expect_assume.expectEXT.comp.out b/Test/baseResults/spv.expect_assume.expectEXT.comp.out index ee4fdf61..bb9d073f 100644 --- a/Test/baseResults/spv.expect_assume.expectEXT.comp.out +++ b/Test/baseResults/spv.expect_assume.expectEXT.comp.out @@ -28,6 +28,7 @@ spv.expect_assume.expectEXT.comp MemberName 18(roblock) 10 "uv3" MemberName 18(roblock) 11 "uv4" Name 20 "ro" + Decorate 18(roblock) BufferBlock MemberDecorate 18(roblock) 0 NonWritable MemberDecorate 18(roblock) 0 Offset 0 MemberDecorate 18(roblock) 1 NonWritable @@ -52,9 +53,9 @@ spv.expect_assume.expectEXT.comp MemberDecorate 18(roblock) 10 Offset 112 MemberDecorate 18(roblock) 11 NonWritable MemberDecorate 18(roblock) 11 Offset 128 - Decorate 18(roblock) BufferBlock - Decorate 20(ro) DescriptorSet 0 + Decorate 20(ro) NonWritable Decorate 20(ro) Binding 0 + Decorate 20(ro) DescriptorSet 0 Decorate 177 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.expect_assume.expectEXT.exttypes.comp.out b/Test/baseResults/spv.expect_assume.expectEXT.exttypes.comp.out index 6647f0c6..f449a636 100644 --- a/Test/baseResults/spv.expect_assume.expectEXT.exttypes.comp.out +++ b/Test/baseResults/spv.expect_assume.expectEXT.exttypes.comp.out @@ -56,6 +56,7 @@ spv.expect_assume.expectEXT.exttypes.comp MemberName 42(roblock) 30 "u64v3" MemberName 42(roblock) 31 "u64v4" Name 44 "ro" + Decorate 42(roblock) BufferBlock MemberDecorate 42(roblock) 0 NonWritable MemberDecorate 42(roblock) 0 Offset 0 MemberDecorate 42(roblock) 1 NonWritable @@ -120,9 +121,9 @@ spv.expect_assume.expectEXT.exttypes.comp MemberDecorate 42(roblock) 30 Offset 320 MemberDecorate 42(roblock) 31 NonWritable MemberDecorate 42(roblock) 31 Offset 352 - Decorate 42(roblock) BufferBlock - Decorate 44(ro) DescriptorSet 0 + Decorate 44(ro) NonWritable Decorate 44(ro) Binding 0 + Decorate 44(ro) DescriptorSet 0 Decorate 457 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.explicittypes.frag.out b/Test/baseResults/spv.explicittypes.frag.out index 65d3b1ff..eec771a9 100644 --- a/Test/baseResults/spv.explicittypes.frag.out +++ b/Test/baseResults/spv.explicittypes.frag.out @@ -1,7 +1,7 @@ spv.explicittypes.frag // Module Version 10300 // Generated by (magic number): 8000b -// Id's are bound by 576 +// Id's are bound by 567 Capability Shader Capability Float16 @@ -80,63 +80,63 @@ spv.explicittypes.frag Name 399 "f64v" Name 406 "i8v" Name 412 "i16v" - Name 429 "u8v" - Name 435 "u16v" - Name 452 "f16v" - Name 465 "bv" - Name 481 "u64v" - Name 482 "i64v" - Name 485 "f64v" - Name 490 "i8v" - Name 496 "i16v" - Name 502 "i32v" - Name 510 "u8v" - Name 516 "u16v" - Name 522 "u32v" - Name 534 "f16v" - Name 537 "f32v" - Name 548 "bv" - Name 573 "Block" - MemberName 573(Block) 0 "i16" - MemberName 573(Block) 1 "i16v2" - MemberName 573(Block) 2 "i16v3" - MemberName 573(Block) 3 "i16v4" - MemberName 573(Block) 4 "u16" - MemberName 573(Block) 5 "u16v2" - MemberName 573(Block) 6 "u16v3" - MemberName 573(Block) 7 "u16v4" - MemberName 573(Block) 8 "i32" - MemberName 573(Block) 9 "i32v2" - MemberName 573(Block) 10 "i32v3" - MemberName 573(Block) 11 "i32v4" - MemberName 573(Block) 12 "u32" - MemberName 573(Block) 13 "u32v2" - MemberName 573(Block) 14 "u32v3" - MemberName 573(Block) 15 "u32v4" - Name 575 "block" - MemberDecorate 26(Uniforms) 0 Offset 0 + Name 426 "u8v" + Name 432 "u16v" + Name 446 "f16v" + Name 459 "bv" + Name 475 "u64v" + Name 476 "i64v" + Name 479 "f64v" + Name 484 "i8v" + Name 490 "i16v" + Name 496 "i32v" + Name 504 "u8v" + Name 510 "u16v" + Name 516 "u32v" + Name 525 "f16v" + Name 528 "f32v" + Name 539 "bv" + Name 564 "Block" + MemberName 564(Block) 0 "i16" + MemberName 564(Block) 1 "i16v2" + MemberName 564(Block) 2 "i16v3" + MemberName 564(Block) 3 "i16v4" + MemberName 564(Block) 4 "u16" + MemberName 564(Block) 5 "u16v2" + MemberName 564(Block) 6 "u16v3" + MemberName 564(Block) 7 "u16v4" + MemberName 564(Block) 8 "i32" + MemberName 564(Block) 9 "i32v2" + MemberName 564(Block) 10 "i32v3" + MemberName 564(Block) 11 "i32v4" + MemberName 564(Block) 12 "u32" + MemberName 564(Block) 13 "u32v2" + MemberName 564(Block) 14 "u32v3" + MemberName 564(Block) 15 "u32v4" + Name 566 "block" Decorate 26(Uniforms) Block - Decorate 28 DescriptorSet 0 + MemberDecorate 26(Uniforms) 0 Offset 0 Decorate 28 Binding 0 - MemberDecorate 573(Block) 0 Offset 0 - MemberDecorate 573(Block) 1 Offset 4 - MemberDecorate 573(Block) 2 Offset 8 - MemberDecorate 573(Block) 3 Offset 16 - MemberDecorate 573(Block) 4 Offset 24 - MemberDecorate 573(Block) 5 Offset 28 - MemberDecorate 573(Block) 6 Offset 32 - MemberDecorate 573(Block) 7 Offset 40 - MemberDecorate 573(Block) 8 Offset 48 - MemberDecorate 573(Block) 9 Offset 56 - MemberDecorate 573(Block) 10 Offset 64 - MemberDecorate 573(Block) 11 Offset 80 - MemberDecorate 573(Block) 12 Offset 96 - MemberDecorate 573(Block) 13 Offset 104 - MemberDecorate 573(Block) 14 Offset 112 - MemberDecorate 573(Block) 15 Offset 128 - Decorate 573(Block) Block - Decorate 575(block) DescriptorSet 0 - Decorate 575(block) Binding 1 + Decorate 28 DescriptorSet 0 + Decorate 564(Block) Block + MemberDecorate 564(Block) 0 Offset 0 + MemberDecorate 564(Block) 1 Offset 4 + MemberDecorate 564(Block) 2 Offset 8 + MemberDecorate 564(Block) 3 Offset 16 + MemberDecorate 564(Block) 4 Offset 24 + MemberDecorate 564(Block) 5 Offset 28 + MemberDecorate 564(Block) 6 Offset 32 + MemberDecorate 564(Block) 7 Offset 40 + MemberDecorate 564(Block) 8 Offset 48 + MemberDecorate 564(Block) 9 Offset 56 + MemberDecorate 564(Block) 10 Offset 64 + MemberDecorate 564(Block) 11 Offset 80 + MemberDecorate 564(Block) 12 Offset 96 + MemberDecorate 564(Block) 13 Offset 104 + MemberDecorate 564(Block) 14 Offset 112 + MemberDecorate 564(Block) 15 Offset 128 + Decorate 566(block) Binding 1 + Decorate 566(block) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 16: TypeInt 64 1 @@ -249,32 +249,32 @@ spv.explicittypes.frag 372: 91(int16_t) Constant 1 373:145(i16vec2) ConstantComposite 371 371 374:145(i16vec2) ConstantComposite 372 372 - 467: 29(int) Constant 1 - 468: 148(ivec2) ConstantComposite 30 30 - 469: 148(ivec2) ConstantComposite 467 467 - 472: 19(int) Constant 0 - 473: 19(int) Constant 1 - 474: 154(ivec2) ConstantComposite 472 472 - 475: 154(ivec2) ConstantComposite 473 473 - 550: 16(int64_t) Constant 0 0 - 551: 16(int64_t) Constant 1 0 - 552:162(i64vec2) ConstantComposite 550 550 - 553:162(i64vec2) ConstantComposite 551 551 - 556: 38(int64_t) Constant 0 0 - 557: 38(int64_t) Constant 1 0 - 558:167(i64vec2) ConstantComposite 556 556 - 559:167(i64vec2) ConstantComposite 557 557 - 565: TypeVector 77(int16_t) 3 - 566: TypeVector 77(int16_t) 4 - 567: TypeVector 91(int16_t) 3 - 568: TypeVector 91(int16_t) 4 - 569: TypeVector 29(int) 3 - 570: TypeVector 29(int) 4 - 571: TypeVector 19(int) 3 - 572: TypeVector 19(int) 4 - 573(Block): TypeStruct 77(int16_t) 139(i16vec2) 565(i16vec3) 566(i16vec4) 91(int16_t) 145(i16vec2) 567(i16vec3) 568(i16vec4) 29(int) 148(ivec2) 569(ivec3) 570(ivec4) 19(int) 154(ivec2) 571(ivec3) 572(ivec4) - 574: TypePointer Uniform 573(Block) - 575(block): 574(ptr) Variable Uniform + 461: 29(int) Constant 1 + 462: 148(ivec2) ConstantComposite 30 30 + 463: 148(ivec2) ConstantComposite 461 461 + 466: 19(int) Constant 0 + 467: 19(int) Constant 1 + 468: 154(ivec2) ConstantComposite 466 466 + 469: 154(ivec2) ConstantComposite 467 467 + 541: 16(int64_t) Constant 0 0 + 542: 16(int64_t) Constant 1 0 + 543:162(i64vec2) ConstantComposite 541 541 + 544:162(i64vec2) ConstantComposite 542 542 + 547: 38(int64_t) Constant 0 0 + 548: 38(int64_t) Constant 1 0 + 549:167(i64vec2) ConstantComposite 547 547 + 550:167(i64vec2) ConstantComposite 548 548 + 556: TypeVector 77(int16_t) 3 + 557: TypeVector 77(int16_t) 4 + 558: TypeVector 91(int16_t) 3 + 559: TypeVector 91(int16_t) 4 + 560: TypeVector 29(int) 3 + 561: TypeVector 29(int) 4 + 562: TypeVector 19(int) 3 + 563: TypeVector 19(int) 4 + 564(Block): TypeStruct 77(int16_t) 139(i16vec2) 556(i16vec3) 557(i16vec4) 91(int16_t) 145(i16vec2) 558(i16vec3) 559(i16vec4) 29(int) 148(ivec2) 560(ivec3) 561(ivec4) 19(int) 154(ivec2) 562(ivec3) 563(ivec4) + 565: TypePointer Uniform 564(Block) + 566(block): 565(ptr) Variable Uniform 4(main): 2 Function None 3 5: Label Return @@ -649,10 +649,10 @@ spv.explicittypes.frag 399(f64v): 194(ptr) Variable Function 406(i8v): 135(ptr) Variable Function 412(i16v): 140(ptr) Variable Function - 429(u8v): 132(ptr) Variable Function - 435(u16v): 221(ptr) Variable Function - 452(f16v): 182(ptr) Variable Function - 465(bv): 251(ptr) Variable Function + 426(u8v): 132(ptr) Variable Function + 432(u16v): 221(ptr) Variable Function + 446(f16v): 182(ptr) Variable Function + 459(bv): 251(ptr) Variable Function 382: 148(ivec2) Load 381(i32v) 383: 154(ivec2) Bitcast 382 Store 380(u32v) 383 @@ -697,186 +697,177 @@ spv.explicittypes.frag 417:139(i16vec2) Bitcast 416 Store 412(i16v) 417 418: 148(ivec2) Load 381(i32v) - 419: 29(int) CompositeExtract 418 0 - 420: 29(int) CompositeExtract 418 1 - 421: 148(ivec2) CompositeConstruct 419 420 - Store 381(i32v) 421 - 422: 154(ivec2) Load 380(u32v) - 423: 148(ivec2) Bitcast 422 - Store 381(i32v) 423 - 424: 148(ivec2) Load 381(i32v) - 425:162(i64vec2) SConvert 424 + Store 381(i32v) 418 + 419: 154(ivec2) Load 380(u32v) + 420: 148(ivec2) Bitcast 419 + Store 381(i32v) 420 + 421: 148(ivec2) Load 381(i32v) + 422:162(i64vec2) SConvert 421 + Store 384(i64v) 422 + 423: 154(ivec2) Load 380(u32v) + 424:167(i64vec2) UConvert 423 + 425:162(i64vec2) Bitcast 424 Store 384(i64v) 425 - 426: 154(ivec2) Load 380(u32v) - 427:167(i64vec2) UConvert 426 - 428:162(i64vec2) Bitcast 427 - Store 384(i64v) 428 - 430: 148(ivec2) Load 381(i32v) - 431: 134(i8vec2) SConvert 430 - 432: 131(i8vec2) Bitcast 431 - Store 429(u8v) 432 - 433: 154(ivec2) Load 380(u32v) - 434: 131(i8vec2) UConvert 433 - Store 429(u8v) 434 - 436: 148(ivec2) Load 381(i32v) - 437:139(i16vec2) SConvert 436 - 438:145(i16vec2) Bitcast 437 - Store 435(u16v) 438 - 439: 154(ivec2) Load 380(u32v) - 440:145(i16vec2) UConvert 439 - Store 435(u16v) 440 + 427: 148(ivec2) Load 381(i32v) + 428: 134(i8vec2) SConvert 427 + 429: 131(i8vec2) Bitcast 428 + Store 426(u8v) 429 + 430: 154(ivec2) Load 380(u32v) + 431: 131(i8vec2) UConvert 430 + Store 426(u8v) 431 + 433: 148(ivec2) Load 381(i32v) + 434:139(i16vec2) SConvert 433 + 435:145(i16vec2) Bitcast 434 + Store 432(u16v) 435 + 436: 154(ivec2) Load 380(u32v) + 437:145(i16vec2) UConvert 436 + Store 432(u16v) 437 + 438: 148(ivec2) Load 381(i32v) + 439: 154(ivec2) Bitcast 438 + Store 380(u32v) 439 + 440: 154(ivec2) Load 380(u32v) + Store 380(u32v) 440 441: 148(ivec2) Load 381(i32v) - 442: 154(ivec2) Bitcast 441 - Store 380(u32v) 442 - 443: 154(ivec2) Load 380(u32v) - 444: 19(int) CompositeExtract 443 0 - 445: 19(int) CompositeExtract 443 1 - 446: 154(ivec2) CompositeConstruct 444 445 - Store 380(u32v) 446 + 442:162(i64vec2) SConvert 441 + 443:167(i64vec2) Bitcast 442 + Store 387(u64v) 443 + 444: 154(ivec2) Load 380(u32v) + 445:167(i64vec2) UConvert 444 + Store 387(u64v) 445 447: 148(ivec2) Load 381(i32v) - 448:162(i64vec2) SConvert 447 - 449:167(i64vec2) Bitcast 448 - Store 387(u64v) 449 - 450: 154(ivec2) Load 380(u32v) - 451:167(i64vec2) UConvert 450 - Store 387(u64v) 451 - 453: 148(ivec2) Load 381(i32v) - 454:181(f16vec2) ConvertSToF 453 - Store 452(f16v) 454 - 455: 148(ivec2) Load 381(i32v) - 456: 187(fvec2) ConvertSToF 455 + 448:181(f16vec2) ConvertSToF 447 + Store 446(f16v) 448 + 449: 148(ivec2) Load 381(i32v) + 450: 187(fvec2) ConvertSToF 449 + Store 396(f32v) 450 + 451: 148(ivec2) Load 381(i32v) + 452:193(f64vec2) ConvertSToF 451 + Store 399(f64v) 452 + 453: 154(ivec2) Load 380(u32v) + 454:181(f16vec2) ConvertUToF 453 + Store 446(f16v) 454 + 455: 154(ivec2) Load 380(u32v) + 456: 187(fvec2) ConvertUToF 455 Store 396(f32v) 456 - 457: 148(ivec2) Load 381(i32v) - 458:193(f64vec2) ConvertSToF 457 + 457: 154(ivec2) Load 380(u32v) + 458:193(f64vec2) ConvertUToF 457 Store 399(f64v) 458 - 459: 154(ivec2) Load 380(u32v) - 460:181(f16vec2) ConvertUToF 459 - Store 452(f16v) 460 - 461: 154(ivec2) Load 380(u32v) - 462: 187(fvec2) ConvertUToF 461 - Store 396(f32v) 462 - 463: 154(ivec2) Load 380(u32v) - 464:193(f64vec2) ConvertUToF 463 - Store 399(f64v) 464 - 466: 250(bvec2) Load 465(bv) - 470: 148(ivec2) Select 466 469 468 - Store 381(i32v) 470 - 471: 250(bvec2) Load 465(bv) - 476: 154(ivec2) Select 471 475 474 - Store 380(u32v) 476 - 477: 148(ivec2) Load 381(i32v) - 478: 250(bvec2) INotEqual 477 474 - Store 465(bv) 478 - 479: 154(ivec2) Load 380(u32v) - 480: 250(bvec2) INotEqual 479 474 - Store 465(bv) 480 + 460: 250(bvec2) Load 459(bv) + 464: 148(ivec2) Select 460 463 462 + Store 381(i32v) 464 + 465: 250(bvec2) Load 459(bv) + 470: 154(ivec2) Select 465 469 468 + Store 380(u32v) 470 + 471: 148(ivec2) Load 381(i32v) + 472: 250(bvec2) INotEqual 471 468 + Store 459(bv) 472 + 473: 154(ivec2) Load 380(u32v) + 474: 250(bvec2) INotEqual 473 468 + Store 459(bv) 474 Return FunctionEnd 14(typeCast64(): 2 Function None 3 15: Label - 481(u64v): 168(ptr) Variable Function - 482(i64v): 163(ptr) Variable Function - 485(f64v): 194(ptr) Variable Function - 490(i8v): 135(ptr) Variable Function - 496(i16v): 140(ptr) Variable Function - 502(i32v): 149(ptr) Variable Function - 510(u8v): 132(ptr) Variable Function - 516(u16v): 221(ptr) Variable Function - 522(u32v): 157(ptr) Variable Function - 534(f16v): 182(ptr) Variable Function - 537(f32v): 188(ptr) Variable Function - 548(bv): 251(ptr) Variable Function - 483:162(i64vec2) Load 482(i64v) - 484:167(i64vec2) Bitcast 483 - Store 481(u64v) 484 - 486:162(i64vec2) Load 482(i64v) - 487:193(f64vec2) ConvertSToF 486 - Store 485(f64v) 487 - 488:167(i64vec2) Load 481(u64v) - 489:193(f64vec2) ConvertUToF 488 - Store 485(f64v) 489 - 491:162(i64vec2) Load 482(i64v) - 492: 134(i8vec2) SConvert 491 - Store 490(i8v) 492 - 493:167(i64vec2) Load 481(u64v) - 494: 131(i8vec2) UConvert 493 - 495: 134(i8vec2) Bitcast 494 - Store 490(i8v) 495 - 497:162(i64vec2) Load 482(i64v) - 498:139(i16vec2) SConvert 497 - Store 496(i16v) 498 - 499:167(i64vec2) Load 481(u64v) - 500:145(i16vec2) UConvert 499 - 501:139(i16vec2) Bitcast 500 - Store 496(i16v) 501 - 503:162(i64vec2) Load 482(i64v) - 504: 148(ivec2) SConvert 503 - Store 502(i32v) 504 - 505:167(i64vec2) Load 481(u64v) - 506: 154(ivec2) UConvert 505 - 507: 148(ivec2) Bitcast 506 - Store 502(i32v) 507 - 508:167(i64vec2) Load 481(u64v) - 509:162(i64vec2) Bitcast 508 - Store 482(i64v) 509 - 511:162(i64vec2) Load 482(i64v) - 512: 134(i8vec2) SConvert 511 - 513: 131(i8vec2) Bitcast 512 - Store 510(u8v) 513 - 514:167(i64vec2) Load 481(u64v) - 515: 131(i8vec2) UConvert 514 - Store 510(u8v) 515 - 517:162(i64vec2) Load 482(i64v) - 518:139(i16vec2) SConvert 517 - 519:145(i16vec2) Bitcast 518 - Store 516(u16v) 519 - 520:167(i64vec2) Load 481(u64v) - 521:145(i16vec2) UConvert 520 - Store 516(u16v) 521 - 523:162(i64vec2) Load 482(i64v) - 524: 148(ivec2) SConvert 523 - 525: 154(ivec2) Bitcast 524 - Store 522(u32v) 525 - 526:167(i64vec2) Load 481(u64v) - 527: 154(ivec2) UConvert 526 - Store 522(u32v) 527 - 528:162(i64vec2) Load 482(i64v) - 529:167(i64vec2) Bitcast 528 - Store 481(u64v) 529 - 530:167(i64vec2) Load 481(u64v) - 531: 38(int64_t) CompositeExtract 530 0 - 532: 38(int64_t) CompositeExtract 530 1 - 533:167(i64vec2) CompositeConstruct 531 532 - Store 481(u64v) 533 - 535:162(i64vec2) Load 482(i64v) - 536:181(f16vec2) ConvertSToF 535 - Store 534(f16v) 536 - 538:162(i64vec2) Load 482(i64v) - 539: 187(fvec2) ConvertSToF 538 - Store 537(f32v) 539 - 540:162(i64vec2) Load 482(i64v) - 541:193(f64vec2) ConvertSToF 540 - Store 485(f64v) 541 - 542:167(i64vec2) Load 481(u64v) - 543:181(f16vec2) ConvertUToF 542 - Store 534(f16v) 543 - 544:167(i64vec2) Load 481(u64v) - 545: 187(fvec2) ConvertUToF 544 - Store 537(f32v) 545 - 546:167(i64vec2) Load 481(u64v) - 547:193(f64vec2) ConvertUToF 546 - Store 485(f64v) 547 - 549: 250(bvec2) Load 548(bv) - 554:162(i64vec2) Select 549 553 552 - Store 482(i64v) 554 - 555: 250(bvec2) Load 548(bv) - 560:167(i64vec2) Select 555 559 558 - Store 481(u64v) 560 - 561:162(i64vec2) Load 482(i64v) - 562: 250(bvec2) INotEqual 561 558 - Store 548(bv) 562 - 563:167(i64vec2) Load 481(u64v) - 564: 250(bvec2) INotEqual 563 558 - Store 548(bv) 564 + 475(u64v): 168(ptr) Variable Function + 476(i64v): 163(ptr) Variable Function + 479(f64v): 194(ptr) Variable Function + 484(i8v): 135(ptr) Variable Function + 490(i16v): 140(ptr) Variable Function + 496(i32v): 149(ptr) Variable Function + 504(u8v): 132(ptr) Variable Function + 510(u16v): 221(ptr) Variable Function + 516(u32v): 157(ptr) Variable Function + 525(f16v): 182(ptr) Variable Function + 528(f32v): 188(ptr) Variable Function + 539(bv): 251(ptr) Variable Function + 477:162(i64vec2) Load 476(i64v) + 478:167(i64vec2) Bitcast 477 + Store 475(u64v) 478 + 480:162(i64vec2) Load 476(i64v) + 481:193(f64vec2) ConvertSToF 480 + Store 479(f64v) 481 + 482:167(i64vec2) Load 475(u64v) + 483:193(f64vec2) ConvertUToF 482 + Store 479(f64v) 483 + 485:162(i64vec2) Load 476(i64v) + 486: 134(i8vec2) SConvert 485 + Store 484(i8v) 486 + 487:167(i64vec2) Load 475(u64v) + 488: 131(i8vec2) UConvert 487 + 489: 134(i8vec2) Bitcast 488 + Store 484(i8v) 489 + 491:162(i64vec2) Load 476(i64v) + 492:139(i16vec2) SConvert 491 + Store 490(i16v) 492 + 493:167(i64vec2) Load 475(u64v) + 494:145(i16vec2) UConvert 493 + 495:139(i16vec2) Bitcast 494 + Store 490(i16v) 495 + 497:162(i64vec2) Load 476(i64v) + 498: 148(ivec2) SConvert 497 + Store 496(i32v) 498 + 499:167(i64vec2) Load 475(u64v) + 500: 154(ivec2) UConvert 499 + 501: 148(ivec2) Bitcast 500 + Store 496(i32v) 501 + 502:167(i64vec2) Load 475(u64v) + 503:162(i64vec2) Bitcast 502 + Store 476(i64v) 503 + 505:162(i64vec2) Load 476(i64v) + 506: 134(i8vec2) SConvert 505 + 507: 131(i8vec2) Bitcast 506 + Store 504(u8v) 507 + 508:167(i64vec2) Load 475(u64v) + 509: 131(i8vec2) UConvert 508 + Store 504(u8v) 509 + 511:162(i64vec2) Load 476(i64v) + 512:139(i16vec2) SConvert 511 + 513:145(i16vec2) Bitcast 512 + Store 510(u16v) 513 + 514:167(i64vec2) Load 475(u64v) + 515:145(i16vec2) UConvert 514 + Store 510(u16v) 515 + 517:162(i64vec2) Load 476(i64v) + 518: 148(ivec2) SConvert 517 + 519: 154(ivec2) Bitcast 518 + Store 516(u32v) 519 + 520:167(i64vec2) Load 475(u64v) + 521: 154(ivec2) UConvert 520 + Store 516(u32v) 521 + 522:162(i64vec2) Load 476(i64v) + 523:167(i64vec2) Bitcast 522 + Store 475(u64v) 523 + 524:167(i64vec2) Load 475(u64v) + Store 475(u64v) 524 + 526:162(i64vec2) Load 476(i64v) + 527:181(f16vec2) ConvertSToF 526 + Store 525(f16v) 527 + 529:162(i64vec2) Load 476(i64v) + 530: 187(fvec2) ConvertSToF 529 + Store 528(f32v) 530 + 531:162(i64vec2) Load 476(i64v) + 532:193(f64vec2) ConvertSToF 531 + Store 479(f64v) 532 + 533:167(i64vec2) Load 475(u64v) + 534:181(f16vec2) ConvertUToF 533 + Store 525(f16v) 534 + 535:167(i64vec2) Load 475(u64v) + 536: 187(fvec2) ConvertUToF 535 + Store 528(f32v) 536 + 537:167(i64vec2) Load 475(u64v) + 538:193(f64vec2) ConvertUToF 537 + Store 479(f64v) 538 + 540: 250(bvec2) Load 539(bv) + 545:162(i64vec2) Select 540 544 543 + Store 476(i64v) 545 + 546: 250(bvec2) Load 539(bv) + 551:167(i64vec2) Select 546 550 549 + Store 475(u64v) 551 + 552:162(i64vec2) Load 476(i64v) + 553: 250(bvec2) INotEqual 552 549 + Store 539(bv) 553 + 554:167(i64vec2) Load 475(u64v) + 555: 250(bvec2) INotEqual 554 549 + Store 539(bv) 555 Return FunctionEnd diff --git a/Test/baseResults/spv.ext.AccelDecl.frag.out b/Test/baseResults/spv.ext.AccelDecl.frag.out index e329ee92..9b418973 100644 --- a/Test/baseResults/spv.ext.AccelDecl.frag.out +++ b/Test/baseResults/spv.ext.AccelDecl.frag.out @@ -21,8 +21,8 @@ spv.ext.AccelDecl.frag Name 9 "outColor" Name 14 "topLevelAS" Decorate 9(outColor) Location 0 - Decorate 14(topLevelAS) DescriptorSet 0 Decorate 14(topLevelAS) Binding 1 + Decorate 14(topLevelAS) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.ext.ClosestHitShader.rchit.out b/Test/baseResults/spv.ext.ClosestHitShader.rchit.out index 3c1883bc..3a47f1ea 100644 --- a/Test/baseResults/spv.ext.ClosestHitShader.rchit.out +++ b/Test/baseResults/spv.ext.ClosestHitShader.rchit.out @@ -74,8 +74,8 @@ spv.ext.ClosestHitShader.rchit Decorate 69(gl_GeometryIndexEXT) BuiltIn RayGeometryIndexKHR Decorate 81(gl_CullMaskEXT) BuiltIn CullMaskKHR Decorate 87(gl_HitTriangleVertexPositionsEXT) BuiltIn HitTriangleVertexPositionsKHR - Decorate 93(accEXT) DescriptorSet 0 Decorate 93(accEXT) Binding 0 + Decorate 93(accEXT) DescriptorSet 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 d586ffb4..28a54700 100644 --- a/Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out +++ b/Test/baseResults/spv.ext.ClosestHitShader_Subgroup.rchit.out @@ -32,8 +32,8 @@ spv.ext.ClosestHitShader_Subgroup.rchit Name 48 "gl_SubgroupLeMask" Name 53 "gl_SubGroupLtMaskARB" Name 61 "gl_SMIDNV" - Decorate 8(accEXT) DescriptorSet 0 Decorate 8(accEXT) Binding 0 + Decorate 8(accEXT) DescriptorSet 0 Decorate 28(gl_SubgroupInvocationID) RelaxedPrecision Decorate 28(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId Decorate 29 RelaxedPrecision diff --git a/Test/baseResults/spv.ext.MissShader.rmiss.out b/Test/baseResults/spv.ext.MissShader.rmiss.out index 0f0f25a5..d03c5c38 100644 --- a/Test/baseResults/spv.ext.MissShader.rmiss.out +++ b/Test/baseResults/spv.ext.MissShader.rmiss.out @@ -57,8 +57,8 @@ spv.ext.MissShader.rmiss Decorate 29(gl_RayTminEXT) BuiltIn RayTminKHR Decorate 32(gl_RayTmaxEXT) BuiltIn RayTmaxKHR Decorate 37(gl_CullMaskEXT) BuiltIn CullMaskKHR - Decorate 41(accEXT) DescriptorSet 0 Decorate 41(accEXT) Binding 0 + Decorate 41(accEXT) DescriptorSet 0 Decorate 57(gl_SubGroupSizeARB) BuiltIn SubgroupSize Decorate 57(gl_SubGroupSizeARB) Volatile Decorate 57(gl_SubGroupSizeARB) Coherent @@ -68,8 +68,8 @@ spv.ext.MissShader.rmiss Decorate 67(gl_WarpIDNV) BuiltIn WarpIDNV Decorate 67(gl_WarpIDNV) Volatile Decorate 67(gl_WarpIDNV) Coherent - Decorate 78(s2D) DescriptorSet 0 Decorate 78(s2D) Binding 1 + Decorate 78(s2D) DescriptorSet 0 Decorate 82(c2) Location 2 Decorate 87(lodClamp) Location 3 2: TypeVoid diff --git a/Test/baseResults/spv.ext.RayConstants.rgen.out b/Test/baseResults/spv.ext.RayConstants.rgen.out index 9cd294a9..05fb8f79 100644 --- a/Test/baseResults/spv.ext.RayConstants.rgen.out +++ b/Test/baseResults/spv.ext.RayConstants.rgen.out @@ -13,8 +13,8 @@ spv.ext.RayConstants.rgen Name 4 "main" Name 8 "accEXT" Name 26 "payload" - Decorate 8(accEXT) DescriptorSet 0 Decorate 8(accEXT) Binding 0 + Decorate 8(accEXT) DescriptorSet 0 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 31a8bda0..7fec5c39 100644 --- a/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out +++ b/Test/baseResults/spv.ext.RayGenSBTlayout.rgen.out @@ -37,6 +37,7 @@ spv.ext.RayGenSBTlayout.rgen Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR Decorate 34 ArrayStride 8 Decorate 35 ArrayStride 16 + Decorate 36(block) Block MemberDecorate 36(block) 0 Offset 0 MemberDecorate 36(block) 1 Offset 16 MemberDecorate 36(block) 2 Offset 28 @@ -48,7 +49,6 @@ spv.ext.RayGenSBTlayout.rgen MemberDecorate 36(block) 8 Offset 112 MemberDecorate 36(block) 9 Offset 120 MemberDecorate 36(block) 10 Offset 128 - Decorate 36(block) Block 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 f0302f74..714242b0 100644 --- a/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out +++ b/Test/baseResults/spv.ext.RayGenSBTlayout140.rgen.out @@ -37,6 +37,7 @@ spv.ext.RayGenSBTlayout140.rgen Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR Decorate 34 ArrayStride 16 Decorate 35 ArrayStride 16 + Decorate 36(block) Block MemberDecorate 36(block) 0 Offset 0 MemberDecorate 36(block) 1 Offset 16 MemberDecorate 36(block) 2 Offset 28 @@ -48,7 +49,6 @@ spv.ext.RayGenSBTlayout140.rgen MemberDecorate 36(block) 8 Offset 128 MemberDecorate 36(block) 9 Offset 136 MemberDecorate 36(block) 10 Offset 144 - Decorate 36(block) Block 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 e83dd424..ab2b9963 100644 --- a/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out +++ b/Test/baseResults/spv.ext.RayGenSBTlayout430.rgen.out @@ -37,6 +37,7 @@ spv.ext.RayGenSBTlayout430.rgen Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR Decorate 34 ArrayStride 8 Decorate 35 ArrayStride 16 + Decorate 36(block) Block MemberDecorate 36(block) 0 Offset 0 MemberDecorate 36(block) 1 Offset 16 MemberDecorate 36(block) 2 Offset 28 @@ -48,7 +49,6 @@ spv.ext.RayGenSBTlayout430.rgen MemberDecorate 36(block) 8 Offset 112 MemberDecorate 36(block) 9 Offset 120 MemberDecorate 36(block) 10 Offset 128 - Decorate 36(block) Block 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 a24b64c7..6f4b471d 100644 --- a/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out +++ b/Test/baseResults/spv.ext.RayGenSBTlayoutscalar.rgen.out @@ -38,6 +38,7 @@ spv.ext.RayGenSBTlayoutscalar.rgen Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR Decorate 34 ArrayStride 8 Decorate 35 ArrayStride 12 + Decorate 36(block) Block MemberDecorate 36(block) 0 Offset 0 MemberDecorate 36(block) 1 Offset 12 MemberDecorate 36(block) 2 Offset 24 @@ -49,7 +50,6 @@ spv.ext.RayGenSBTlayoutscalar.rgen MemberDecorate 36(block) 8 Offset 92 MemberDecorate 36(block) 9 Offset 96 MemberDecorate 36(block) 10 Offset 104 - Decorate 36(block) Block 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 b872d9e0..37380e96 100644 --- a/Test/baseResults/spv.ext.RayGenShader.rgen.out +++ b/Test/baseResults/spv.ext.RayGenShader.rgen.out @@ -30,15 +30,15 @@ spv.ext.RayGenShader.rgen Name 57 "imageu" Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR - Decorate 29(accEXT0) DescriptorSet 0 Decorate 29(accEXT0) Binding 0 + Decorate 29(accEXT0) DescriptorSet 0 + Decorate 38(block) Block MemberDecorate 38(block) 0 Offset 0 MemberDecorate 38(block) 1 Offset 16 - Decorate 38(block) Block - Decorate 54(accEXT1) DescriptorSet 0 Decorate 54(accEXT1) Binding 1 - Decorate 57(imageu) DescriptorSet 0 + Decorate 54(accEXT1) DescriptorSet 0 Decorate 57(imageu) Binding 2 + Decorate 57(imageu) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.ext.RayGenShader11.rgen.out b/Test/baseResults/spv.ext.RayGenShader11.rgen.out index d79f4f37..b8d72563 100644 --- a/Test/baseResults/spv.ext.RayGenShader11.rgen.out +++ b/Test/baseResults/spv.ext.RayGenShader11.rgen.out @@ -25,11 +25,11 @@ spv.ext.RayGenShader11.rgen Name 52 "payload" Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR - Decorate 29(accEXT) DescriptorSet 0 Decorate 29(accEXT) Binding 0 + Decorate 29(accEXT) DescriptorSet 0 + Decorate 37(block) Block MemberDecorate 37(block) 0 Offset 0 MemberDecorate 37(block) 1 Offset 16 - Decorate 37(block) Block 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 7e351d75..ebe0d39a 100644 --- a/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out +++ b/Test/baseResults/spv.ext.RayGenShaderArray.rgen.out @@ -35,16 +35,16 @@ spv.ext.RayGenShaderArray.rgen Name 65 "accEXT1" Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR - Decorate 30(accEXT0) DescriptorSet 0 Decorate 30(accEXT0) Binding 0 + Decorate 30(accEXT0) DescriptorSet 0 + Decorate 36(block) Block MemberDecorate 36(block) 0 Offset 0 MemberDecorate 36(block) 1 Offset 16 MemberDecorate 36(block) 2 Offset 28 MemberDecorate 36(block) 3 Offset 32 MemberDecorate 36(block) 4 Offset 40 - Decorate 36(block) Block - Decorate 65(accEXT1) DescriptorSet 0 Decorate 65(accEXT1) Binding 1 + Decorate 65(accEXT1) DescriptorSet 0 Decorate 80 DecorationNonUniformEXT Decorate 81 DecorationNonUniformEXT Decorate 82 DecorationNonUniformEXT diff --git a/Test/baseResults/spv.ext.World3x4.rahit.out b/Test/baseResults/spv.ext.World3x4.rahit.out index 92ad18fb..3c63dd33 100644 --- a/Test/baseResults/spv.ext.World3x4.rahit.out +++ b/Test/baseResults/spv.ext.World3x4.rahit.out @@ -26,8 +26,8 @@ spv.ext.World3x4.rahit Name 89 "hitValue" Decorate 43(gl_LaunchIDEXT) BuiltIn LaunchIdKHR Decorate 60(gl_WorldToObject3x4EXT) BuiltIn WorldToObjectKHR - Decorate 78(result) DescriptorSet 0 Decorate 78(result) Binding 0 + Decorate 78(result) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.ext.meshShaderBuiltins.mesh.out b/Test/baseResults/spv.ext.meshShaderBuiltins.mesh.out index a1d71a5b..7fac1a7e 100644 --- a/Test/baseResults/spv.ext.meshShaderBuiltins.mesh.out +++ b/Test/baseResults/spv.ext.meshShaderBuiltins.mesh.out @@ -50,20 +50,20 @@ spv.ext.meshShaderBuiltins.mesh Decorate 13(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 19(gl_WorkGroupID) BuiltIn WorkgroupId Decorate 24(gl_NumWorkGroups) BuiltIn NumWorkgroups + Decorate 38(gl_MeshPerVertexEXT) Block MemberDecorate 38(gl_MeshPerVertexEXT) 0 BuiltIn Position MemberDecorate 38(gl_MeshPerVertexEXT) 1 BuiltIn PointSize MemberDecorate 38(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance MemberDecorate 38(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance - Decorate 38(gl_MeshPerVertexEXT) Block - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT Decorate 90(gl_MeshPerPrimitiveEXT) Block + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV Decorate 134(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT Decorate 152(gl_DrawIDARB) BuiltIn DrawIndex Decorate 155(gl_ViewIndex) BuiltIn ViewIndex diff --git a/Test/baseResults/spv.ext.meshShaderBuiltinsShadingRate.mesh.out b/Test/baseResults/spv.ext.meshShaderBuiltinsShadingRate.mesh.out index 65bd740d..fc14ff6c 100644 --- a/Test/baseResults/spv.ext.meshShaderBuiltinsShadingRate.mesh.out +++ b/Test/baseResults/spv.ext.meshShaderBuiltinsShadingRate.mesh.out @@ -54,22 +54,22 @@ spv.ext.meshShaderBuiltinsShadingRate.mesh Decorate 13(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 19(gl_WorkGroupID) BuiltIn WorkgroupId Decorate 24(gl_NumWorkGroups) BuiltIn NumWorkgroups + Decorate 38(gl_MeshPerVertexEXT) Block MemberDecorate 38(gl_MeshPerVertexEXT) 0 BuiltIn Position MemberDecorate 38(gl_MeshPerVertexEXT) 1 BuiltIn PointSize MemberDecorate 38(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance MemberDecorate 38(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance - Decorate 38(gl_MeshPerVertexEXT) Block - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 4 PerPrimitiveNV - MemberDecorate 90(gl_MeshPerPrimitiveEXT) 4 BuiltIn PrimitiveShadingRateKHR Decorate 90(gl_MeshPerPrimitiveEXT) Block + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 4 BuiltIn PrimitiveShadingRateKHR + MemberDecorate 90(gl_MeshPerPrimitiveEXT) 4 PerPrimitiveNV Decorate 140(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT Decorate 158(gl_DrawIDARB) BuiltIn DrawIndex Decorate 161(gl_ViewIndex) BuiltIn ViewIndex diff --git a/Test/baseResults/spv.ext.meshShaderRedeclBuiltins.mesh.out b/Test/baseResults/spv.ext.meshShaderRedeclBuiltins.mesh.out index 35773007..534cf403 100644 --- a/Test/baseResults/spv.ext.meshShaderRedeclBuiltins.mesh.out +++ b/Test/baseResults/spv.ext.meshShaderRedeclBuiltins.mesh.out @@ -36,20 +36,20 @@ spv.ext.meshShaderRedeclBuiltins.mesh Name 122 "gl_PrimitivePointIndicesEXT" Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId + Decorate 26(gl_MeshPerVertexEXT) Block MemberDecorate 26(gl_MeshPerVertexEXT) 0 BuiltIn Position MemberDecorate 26(gl_MeshPerVertexEXT) 1 BuiltIn PointSize MemberDecorate 26(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance MemberDecorate 26(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance - Decorate 26(gl_MeshPerVertexEXT) Block - MemberDecorate 78(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV - MemberDecorate 78(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId - MemberDecorate 78(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV - MemberDecorate 78(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer - MemberDecorate 78(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV - MemberDecorate 78(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex - MemberDecorate 78(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV - MemberDecorate 78(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT Decorate 78(gl_MeshPerPrimitiveEXT) Block + MemberDecorate 78(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId + MemberDecorate 78(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV + MemberDecorate 78(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer + MemberDecorate 78(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV + MemberDecorate 78(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex + MemberDecorate 78(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV + MemberDecorate 78(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT + MemberDecorate 78(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV Decorate 122(gl_PrimitivePointIndicesEXT) BuiltIn PrimitivePointIndicesEXT Decorate 127 BuiltIn WorkgroupSize 2: TypeVoid diff --git a/Test/baseResults/spv.ext.meshShaderTaskMem.mesh.out b/Test/baseResults/spv.ext.meshShaderTaskMem.mesh.out index b206177e..5af26300 100644 --- a/Test/baseResults/spv.ext.meshShaderTaskMem.mesh.out +++ b/Test/baseResults/spv.ext.meshShaderTaskMem.mesh.out @@ -33,11 +33,11 @@ spv.ext.meshShaderTaskMem.mesh Decorate 18(outBlock) Block Decorate 22(myblk) Location 0 Decorate 35 ArrayStride 4 + Decorate 36(bufferBlock) Block MemberDecorate 36(bufferBlock) 0 Offset 0 MemberDecorate 36(bufferBlock) 1 Offset 16 - Decorate 36(bufferBlock) Block - Decorate 38(mybuf) DescriptorSet 0 Decorate 38(mybuf) Binding 0 + Decorate 38(mybuf) DescriptorSet 0 Decorate 57 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.ext.meshShaderUserDefined.mesh.out b/Test/baseResults/spv.ext.meshShaderUserDefined.mesh.out index dc347aac..6fcd594e 100644 --- a/Test/baseResults/spv.ext.meshShaderUserDefined.mesh.out +++ b/Test/baseResults/spv.ext.meshShaderUserDefined.mesh.out @@ -34,13 +34,13 @@ spv.ext.meshShaderUserDefined.mesh Name 104 "blk2" Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId + Decorate 30(myblock) Block MemberDecorate 30(myblock) 0 PerPrimitiveNV MemberDecorate 30(myblock) 1 PerPrimitiveNV MemberDecorate 30(myblock) 2 PerPrimitiveNV MemberDecorate 30(myblock) 3 PerPrimitiveNV MemberDecorate 30(myblock) 4 PerPrimitiveNV MemberDecorate 30(myblock) 5 PerPrimitiveNV - Decorate 30(myblock) Block Decorate 34(blk) Location 0 Decorate 100(myblock2) Block Decorate 104(blk2) Location 20 diff --git a/Test/baseResults/spv.ext.meshTaskShader.task.out b/Test/baseResults/spv.ext.meshTaskShader.task.out index 41a81d0a..d3f26116 100644 --- a/Test/baseResults/spv.ext.meshTaskShader.task.out +++ b/Test/baseResults/spv.ext.meshTaskShader.task.out @@ -29,13 +29,13 @@ spv.ext.meshTaskShader.task Name 80 "mytask" Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId - MemberDecorate 37(block0) 0 Offset 0 Decorate 37(block0) Block - Decorate 39 DescriptorSet 0 + MemberDecorate 37(block0) 0 Offset 0 Decorate 39 Binding 1 - Decorate 55(uni_image) DescriptorSet 0 - Decorate 55(uni_image) Binding 0 + Decorate 39 DescriptorSet 0 Decorate 55(uni_image) NonReadable + Decorate 55(uni_image) Binding 0 + Decorate 55(uni_image) DescriptorSet 0 Decorate 102 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.ext.textureShadowLod.frag.out b/Test/baseResults/spv.ext.textureShadowLod.frag.out index ca4a8727..c4f9f352 100644 --- a/Test/baseResults/spv.ext.textureShadowLod.frag.out +++ b/Test/baseResults/spv.ext.textureShadowLod.frag.out @@ -18,13 +18,13 @@ spv.ext.textureShadowLod.frag Name 24 "sca" Name 43 "sc" Decorate 8(c) Location 0 - Decorate 12(s2da) DescriptorSet 0 Decorate 12(s2da) Binding 0 + Decorate 12(s2da) DescriptorSet 0 Decorate 16(tc) Location 0 - Decorate 24(sca) DescriptorSet 0 Decorate 24(sca) Binding 1 - Decorate 43(sc) DescriptorSet 0 + Decorate 24(sca) DescriptorSet 0 Decorate 43(sc) Binding 2 + Decorate 43(sc) DescriptorSet 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 2cce8155..21e91638 100644 --- a/Test/baseResults/spv.float16.frag.out +++ b/Test/baseResults/spv.float16.frag.out @@ -2,7 +2,7 @@ spv.float16.frag Validation failed // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 542 +// Id's are bound by 538 Capability Shader Capability Float16 @@ -17,7 +17,7 @@ Validation failed Extension "SPV_KHR_16bit_storage" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 465 + EntryPoint Fragment 4 "main" 461 ExecutionMode 4 OriginUpperLeft Source GLSL 450 SourceExtension "GL_AMD_gpu_shader_half_float" @@ -43,124 +43,124 @@ Validation failed Name 156 "bv" Name 167 "fv" Name 175 "dv" - Name 186 "iv" - Name 193 "uv" - Name 201 "i64v" - Name 209 "u64v" - Name 216 "f16v2" - Name 217 "f16v1" - Name 249 "f16v2" - Name 250 "f16v1" - Name 266 "f16v2" - Name 267 "f16v1" - Name 288 "f16" - Name 292 "f16v3" - Name 332 "bv" - Name 353 "b" - Name 363 "iv" - Name 364 "ResType" - Name 372 "u" - Name 373 "f16v" - Name 378 "f16" - Name 379 "f16v1" - Name 383 "f16v2" - Name 389 "f16v3" - Name 408 "f16m3" - Name 409 "f16m1" - Name 411 "f16m2" - Name 420 "f16v1" - Name 422 "f16v2" - Name 427 "f16m4" - Name 430 "f16" - Name 433 "f16m5" - Name 438 "f16m6" - Name 439 "f16m7" - Name 442 "bv" - Name 443 "f16v1" - Name 445 "f16v2" - Name 463 "f16v" - Name 465 "if16v" - 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 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 + Name 182 "iv" + Name 189 "uv" + Name 197 "i64v" + Name 205 "u64v" + Name 212 "f16v2" + Name 213 "f16v1" + Name 245 "f16v2" + Name 246 "f16v1" + Name 262 "f16v2" + Name 263 "f16v1" + Name 284 "f16" + Name 288 "f16v3" + Name 328 "bv" + Name 349 "b" + Name 359 "iv" + Name 360 "ResType" + Name 368 "u" + Name 369 "f16v" + Name 374 "f16" + Name 375 "f16v1" + Name 379 "f16v2" + Name 385 "f16v3" + Name 404 "f16m3" + Name 405 "f16m1" + Name 407 "f16m2" + Name 416 "f16v1" + Name 418 "f16v2" + Name 423 "f16m4" + Name 426 "f16" + Name 429 "f16m5" + Name 434 "f16m6" + Name 435 "f16m7" + Name 438 "bv" + Name 439 "f16v1" + Name 441 "f16v2" + Name 459 "f16v" + Name 461 "if16v" + Name 518 "S" + MemberName 518(S) 0 "x" + MemberName 518(S) 1 "y" + MemberName 518(S) 2 "z" + Name 520 "B1" + MemberName 520(B1) 0 "a" + MemberName 520(B1) 1 "b" + MemberName 520(B1) 2 "c" + MemberName 520(B1) 3 "d" + MemberName 520(B1) 4 "e" + MemberName 520(B1) 5 "f" + MemberName 520(B1) 6 "g" + MemberName 520(B1) 7 "h" + Name 522 "" + Name 525 "S" + MemberName 525(S) 0 "x" + MemberName 525(S) 1 "y" + MemberName 525(S) 2 "z" + Name 527 "B2" + MemberName 527(B2) 0 "o" + MemberName 527(B2) 1 "p" + MemberName 527(B2) 2 "q" + MemberName 527(B2) 3 "r" + MemberName 527(B2) 4 "s" + MemberName 527(B2) 5 "t" + MemberName 527(B2) 6 "u" + MemberName 527(B2) 7 "v" + Name 529 "" + Name 530 "sf16" + Name 531 "sf" + Name 532 "sd" + Name 533 "f16_to_f" + Name 535 "f16_to_d" + Name 536 "f_to_f16" + Name 537 "d_to_f16" + Decorate 461(if16v) Location 0 + Decorate 516 ArrayStride 16 + Decorate 517 ArrayStride 32 + MemberDecorate 518(S) 0 Offset 0 + MemberDecorate 518(S) 1 Offset 4 + MemberDecorate 518(S) 2 Offset 8 + Decorate 519 ArrayStride 16 + Decorate 520(B1) Block + MemberDecorate 520(B1) 0 Offset 0 + MemberDecorate 520(B1) 1 Offset 4 + MemberDecorate 520(B1) 2 Offset 8 + MemberDecorate 520(B1) 3 Offset 16 + MemberDecorate 520(B1) 4 ColMajor + MemberDecorate 520(B1) 4 MatrixStride 16 + MemberDecorate 520(B1) 4 Offset 48 + MemberDecorate 520(B1) 5 ColMajor + MemberDecorate 520(B1) 5 MatrixStride 16 + MemberDecorate 520(B1) 5 Offset 80 + MemberDecorate 520(B1) 6 Offset 144 + MemberDecorate 520(B1) 7 Offset 160 + Decorate 522 Binding 0 + Decorate 522 DescriptorSet 0 + Decorate 523 ArrayStride 2 + Decorate 524 ArrayStride 12 + MemberDecorate 525(S) 0 Offset 0 + MemberDecorate 525(S) 1 Offset 4 + MemberDecorate 525(S) 2 Offset 8 + Decorate 526 ArrayStride 16 + Decorate 527(B2) BufferBlock + MemberDecorate 527(B2) 0 Offset 0 + MemberDecorate 527(B2) 1 Offset 4 + MemberDecorate 527(B2) 2 Offset 8 + MemberDecorate 527(B2) 3 Offset 14 + MemberDecorate 527(B2) 4 RowMajor + MemberDecorate 527(B2) 4 MatrixStride 4 + MemberDecorate 527(B2) 4 Offset 20 + MemberDecorate 527(B2) 5 RowMajor + MemberDecorate 527(B2) 5 MatrixStride 4 + MemberDecorate 527(B2) 5 Offset 32 + MemberDecorate 527(B2) 6 Offset 56 + MemberDecorate 527(B2) 7 Offset 72 + Decorate 529 Binding 0 + Decorate 529 DescriptorSet 0 + Decorate 530(sf16) SpecId 100 + Decorate 531(sf) SpecId 101 + Decorate 532(sd) SpecId 102 2: TypeVoid 3: TypeFunction 2 28: TypeFloat 16 @@ -192,58 +192,58 @@ Validation failed 172: TypeFloat 64 173: TypeVector 172(float64_t) 3 174: TypePointer Function 173(f64vec3) - 183: TypeInt 32 1 - 184: TypeVector 183(int) 3 - 185: TypePointer Function 184(ivec3) - 191: TypeVector 33(int) 3 - 192: TypePointer Function 191(ivec3) - 198: TypeInt 64 1 - 199: TypeVector 198(int64_t) 3 - 200: TypePointer Function 199(i64vec3) - 206: TypeInt 64 0 - 207: TypeVector 206(int64_t) 3 - 208: TypePointer Function 207(i64vec3) - 214: TypeVector 28(float16_t) 4 - 215: TypePointer Function 214(f16vec4) - 364(ResType): TypeStruct 151(f16vec3) 184(ivec3) - 371: TypePointer Function 33(int) - 406: TypeMatrix 151(f16vec3) 2 - 407: TypePointer Function 406 - 425: TypeMatrix 29(f16vec2) 3 - 426: TypePointer Function 425 - 431: TypeMatrix 151(f16vec3) 3 - 432: TypePointer Function 431 - 436: TypeMatrix 214(f16vec4) 4 - 437: TypePointer Function 436 - 464: TypePointer Input 151(f16vec3) - 465(if16v): 464(ptr) Variable Input - 466: TypePointer Input 28(float16_t) - 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) + 179: TypeInt 32 1 + 180: TypeVector 179(int) 3 + 181: TypePointer Function 180(ivec3) + 187: TypeVector 33(int) 3 + 188: TypePointer Function 187(ivec3) + 194: TypeInt 64 1 + 195: TypeVector 194(int64_t) 3 + 196: TypePointer Function 195(i64vec3) + 202: TypeInt 64 0 + 203: TypeVector 202(int64_t) 3 + 204: TypePointer Function 203(i64vec3) + 210: TypeVector 28(float16_t) 4 + 211: TypePointer Function 210(f16vec4) + 360(ResType): TypeStruct 151(f16vec3) 180(ivec3) + 367: TypePointer Function 33(int) + 402: TypeMatrix 151(f16vec3) 2 + 403: TypePointer Function 402 + 421: TypeMatrix 29(f16vec2) 3 + 422: TypePointer Function 421 + 427: TypeMatrix 151(f16vec3) 3 + 428: TypePointer Function 427 + 432: TypeMatrix 210(f16vec4) 4 + 433: TypePointer Function 432 + 460: TypePointer Input 151(f16vec3) + 461(if16v): 460(ptr) Variable Input + 462: TypePointer Input 28(float16_t) + 505: 179(int) Constant 1 + 512:28(float16_t) Constant 14336 + 513: 29(f16vec2) ConstantComposite 512 512 + 515: 33(int) Constant 2 + 516: TypeArray 28(float16_t) 515 + 517: TypeArray 402 515 + 518(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) + 519: TypeArray 518(S) 515 + 520(B1): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 516 402 517 518(S) 519 + 521: TypePointer Uniform 520(B1) + 522: 521(ptr) Variable Uniform + 523: TypeArray 28(float16_t) 515 + 524: TypeArray 402 515 + 525(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) + 526: TypeArray 525(S) 515 + 527(B2): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 523 402 524 525(S) 526 + 528: TypePointer Uniform 527(B2) + 529: 528(ptr) Variable Uniform + 530(sf16):28(float16_t) SpecConstant 12288 + 531(sf): 164(float) SpecConstant 1048576000 + 532(sd):172(float64_t) SpecConstant 0 1071644672 + 533(f16_to_f): 164(float) SpecConstantOp 115 530(sf16) + 534: 164(float) SpecConstantOp 115 530(sf16) + 535(f16_to_d):172(float64_t) SpecConstantOp 115 534 + 536(f_to_f16):28(float16_t) SpecConstantOp 115 531(sf) + 537(d_to_f16):28(float16_t) SpecConstantOp 115 532(sd) 4(main): 2 Function None 3 5: Label Return @@ -396,10 +396,10 @@ Validation failed 156(bv): 155(ptr) Variable Function 167(fv): 166(ptr) Variable Function 175(dv): 174(ptr) Variable Function - 186(iv): 185(ptr) Variable Function - 193(uv): 192(ptr) Variable Function - 201(i64v): 200(ptr) Variable Function - 209(u64v): 208(ptr) Variable Function + 182(iv): 181(ptr) Variable Function + 189(uv): 188(ptr) Variable Function + 197(i64v): 196(ptr) Variable Function + 205(u64v): 204(ptr) Variable Function 157: 154(bvec3) Load 156(bv) 161:151(f16vec3) Select 157 160 159 Store 153(f16v) 161 @@ -416,442 +416,438 @@ Validation failed 177:151(f16vec3) FConvert 176 Store 153(f16v) 177 178:173(f64vec3) Load 175(dv) - 179:172(float64_t) CompositeExtract 178 0 - 180:172(float64_t) CompositeExtract 178 1 - 181:172(float64_t) CompositeExtract 178 2 - 182:173(f64vec3) CompositeConstruct 179 180 181 - Store 175(dv) 182 - 187: 184(ivec3) Load 186(iv) - 188:151(f16vec3) ConvertSToF 187 - Store 153(f16v) 188 - 189:151(f16vec3) Load 153(f16v) - 190: 184(ivec3) ConvertFToS 189 - Store 186(iv) 190 - 194: 191(ivec3) Load 193(uv) - 195:151(f16vec3) ConvertUToF 194 - Store 153(f16v) 195 - 196:151(f16vec3) Load 153(f16v) - 197: 191(ivec3) ConvertFToU 196 - Store 193(uv) 197 - 202:199(i64vec3) Load 201(i64v) - 203:151(f16vec3) ConvertSToF 202 - Store 153(f16v) 203 - 204:151(f16vec3) Load 153(f16v) - 205:199(i64vec3) ConvertFToS 204 - Store 201(i64v) 205 - 210:207(i64vec3) Load 209(u64v) - 211:151(f16vec3) ConvertUToF 210 - Store 153(f16v) 211 - 212:151(f16vec3) Load 153(f16v) - 213:207(i64vec3) ConvertFToU 212 - Store 209(u64v) 213 + Store 175(dv) 178 + 183: 180(ivec3) Load 182(iv) + 184:151(f16vec3) ConvertSToF 183 + Store 153(f16v) 184 + 185:151(f16vec3) Load 153(f16v) + 186: 180(ivec3) ConvertFToS 185 + Store 182(iv) 186 + 190: 187(ivec3) Load 189(uv) + 191:151(f16vec3) ConvertUToF 190 + Store 153(f16v) 191 + 192:151(f16vec3) Load 153(f16v) + 193: 187(ivec3) ConvertFToU 192 + Store 189(uv) 193 + 198:195(i64vec3) Load 197(i64v) + 199:151(f16vec3) ConvertSToF 198 + Store 153(f16v) 199 + 200:151(f16vec3) Load 153(f16v) + 201:195(i64vec3) ConvertFToS 200 + Store 197(i64v) 201 + 206:203(i64vec3) Load 205(u64v) + 207:151(f16vec3) ConvertUToF 206 + Store 153(f16v) 207 + 208:151(f16vec3) Load 153(f16v) + 209:203(i64vec3) ConvertFToU 208 + Store 205(u64v) 209 Return FunctionEnd 12(builtinAngleTrigFuncs(): 2 Function None 3 13: Label - 216(f16v2): 215(ptr) Variable Function - 217(f16v1): 215(ptr) Variable Function - 218:214(f16vec4) Load 217(f16v1) - 219:214(f16vec4) ExtInst 1(GLSL.std.450) 11(Radians) 218 - Store 216(f16v2) 219 - 220:214(f16vec4) Load 217(f16v1) - 221:214(f16vec4) ExtInst 1(GLSL.std.450) 12(Degrees) 220 - Store 216(f16v2) 221 - 222:214(f16vec4) Load 217(f16v1) - 223:214(f16vec4) ExtInst 1(GLSL.std.450) 13(Sin) 222 - Store 216(f16v2) 223 - 224:214(f16vec4) Load 217(f16v1) - 225:214(f16vec4) ExtInst 1(GLSL.std.450) 14(Cos) 224 - Store 216(f16v2) 225 - 226:214(f16vec4) Load 217(f16v1) - 227:214(f16vec4) ExtInst 1(GLSL.std.450) 15(Tan) 226 - Store 216(f16v2) 227 - 228:214(f16vec4) Load 217(f16v1) - 229:214(f16vec4) ExtInst 1(GLSL.std.450) 16(Asin) 228 - Store 216(f16v2) 229 - 230:214(f16vec4) Load 217(f16v1) - 231:214(f16vec4) ExtInst 1(GLSL.std.450) 17(Acos) 230 - Store 216(f16v2) 231 - 232:214(f16vec4) Load 217(f16v1) - 233:214(f16vec4) Load 216(f16v2) - 234:214(f16vec4) ExtInst 1(GLSL.std.450) 25(Atan2) 232 233 - Store 216(f16v2) 234 - 235:214(f16vec4) Load 217(f16v1) - 236:214(f16vec4) ExtInst 1(GLSL.std.450) 18(Atan) 235 - Store 216(f16v2) 236 - 237:214(f16vec4) Load 217(f16v1) - 238:214(f16vec4) ExtInst 1(GLSL.std.450) 19(Sinh) 237 - Store 216(f16v2) 238 - 239:214(f16vec4) Load 217(f16v1) - 240:214(f16vec4) ExtInst 1(GLSL.std.450) 20(Cosh) 239 - Store 216(f16v2) 240 - 241:214(f16vec4) Load 217(f16v1) - 242:214(f16vec4) ExtInst 1(GLSL.std.450) 21(Tanh) 241 - Store 216(f16v2) 242 - 243:214(f16vec4) Load 217(f16v1) - 244:214(f16vec4) ExtInst 1(GLSL.std.450) 22(Asinh) 243 - Store 216(f16v2) 244 - 245:214(f16vec4) Load 217(f16v1) - 246:214(f16vec4) ExtInst 1(GLSL.std.450) 23(Acosh) 245 - Store 216(f16v2) 246 - 247:214(f16vec4) Load 217(f16v1) - 248:214(f16vec4) ExtInst 1(GLSL.std.450) 24(Atanh) 247 - Store 216(f16v2) 248 + 212(f16v2): 211(ptr) Variable Function + 213(f16v1): 211(ptr) Variable Function + 214:210(f16vec4) Load 213(f16v1) + 215:210(f16vec4) ExtInst 1(GLSL.std.450) 11(Radians) 214 + Store 212(f16v2) 215 + 216:210(f16vec4) Load 213(f16v1) + 217:210(f16vec4) ExtInst 1(GLSL.std.450) 12(Degrees) 216 + Store 212(f16v2) 217 + 218:210(f16vec4) Load 213(f16v1) + 219:210(f16vec4) ExtInst 1(GLSL.std.450) 13(Sin) 218 + Store 212(f16v2) 219 + 220:210(f16vec4) Load 213(f16v1) + 221:210(f16vec4) ExtInst 1(GLSL.std.450) 14(Cos) 220 + Store 212(f16v2) 221 + 222:210(f16vec4) Load 213(f16v1) + 223:210(f16vec4) ExtInst 1(GLSL.std.450) 15(Tan) 222 + Store 212(f16v2) 223 + 224:210(f16vec4) Load 213(f16v1) + 225:210(f16vec4) ExtInst 1(GLSL.std.450) 16(Asin) 224 + Store 212(f16v2) 225 + 226:210(f16vec4) Load 213(f16v1) + 227:210(f16vec4) ExtInst 1(GLSL.std.450) 17(Acos) 226 + Store 212(f16v2) 227 + 228:210(f16vec4) Load 213(f16v1) + 229:210(f16vec4) Load 212(f16v2) + 230:210(f16vec4) ExtInst 1(GLSL.std.450) 25(Atan2) 228 229 + Store 212(f16v2) 230 + 231:210(f16vec4) Load 213(f16v1) + 232:210(f16vec4) ExtInst 1(GLSL.std.450) 18(Atan) 231 + Store 212(f16v2) 232 + 233:210(f16vec4) Load 213(f16v1) + 234:210(f16vec4) ExtInst 1(GLSL.std.450) 19(Sinh) 233 + Store 212(f16v2) 234 + 235:210(f16vec4) Load 213(f16v1) + 236:210(f16vec4) ExtInst 1(GLSL.std.450) 20(Cosh) 235 + Store 212(f16v2) 236 + 237:210(f16vec4) Load 213(f16v1) + 238:210(f16vec4) ExtInst 1(GLSL.std.450) 21(Tanh) 237 + Store 212(f16v2) 238 + 239:210(f16vec4) Load 213(f16v1) + 240:210(f16vec4) ExtInst 1(GLSL.std.450) 22(Asinh) 239 + Store 212(f16v2) 240 + 241:210(f16vec4) Load 213(f16v1) + 242:210(f16vec4) ExtInst 1(GLSL.std.450) 23(Acosh) 241 + Store 212(f16v2) 242 + 243:210(f16vec4) Load 213(f16v1) + 244:210(f16vec4) ExtInst 1(GLSL.std.450) 24(Atanh) 243 + Store 212(f16v2) 244 Return FunctionEnd 14(builtinExpFuncs(): 2 Function None 3 15: Label - 249(f16v2): 30(ptr) Variable Function - 250(f16v1): 30(ptr) Variable Function - 251: 29(f16vec2) Load 250(f16v1) - 252: 29(f16vec2) Load 249(f16v2) - 253: 29(f16vec2) ExtInst 1(GLSL.std.450) 26(Pow) 251 252 - Store 249(f16v2) 253 - 254: 29(f16vec2) Load 250(f16v1) - 255: 29(f16vec2) ExtInst 1(GLSL.std.450) 27(Exp) 254 - Store 249(f16v2) 255 - 256: 29(f16vec2) Load 250(f16v1) - 257: 29(f16vec2) ExtInst 1(GLSL.std.450) 28(Log) 256 - Store 249(f16v2) 257 - 258: 29(f16vec2) Load 250(f16v1) - 259: 29(f16vec2) ExtInst 1(GLSL.std.450) 29(Exp2) 258 - Store 249(f16v2) 259 - 260: 29(f16vec2) Load 250(f16v1) - 261: 29(f16vec2) ExtInst 1(GLSL.std.450) 30(Log2) 260 - Store 249(f16v2) 261 - 262: 29(f16vec2) Load 250(f16v1) - 263: 29(f16vec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 262 - Store 249(f16v2) 263 - 264: 29(f16vec2) Load 250(f16v1) - 265: 29(f16vec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 264 - Store 249(f16v2) 265 + 245(f16v2): 30(ptr) Variable Function + 246(f16v1): 30(ptr) Variable Function + 247: 29(f16vec2) Load 246(f16v1) + 248: 29(f16vec2) Load 245(f16v2) + 249: 29(f16vec2) ExtInst 1(GLSL.std.450) 26(Pow) 247 248 + Store 245(f16v2) 249 + 250: 29(f16vec2) Load 246(f16v1) + 251: 29(f16vec2) ExtInst 1(GLSL.std.450) 27(Exp) 250 + Store 245(f16v2) 251 + 252: 29(f16vec2) Load 246(f16v1) + 253: 29(f16vec2) ExtInst 1(GLSL.std.450) 28(Log) 252 + Store 245(f16v2) 253 + 254: 29(f16vec2) Load 246(f16v1) + 255: 29(f16vec2) ExtInst 1(GLSL.std.450) 29(Exp2) 254 + Store 245(f16v2) 255 + 256: 29(f16vec2) Load 246(f16v1) + 257: 29(f16vec2) ExtInst 1(GLSL.std.450) 30(Log2) 256 + Store 245(f16v2) 257 + 258: 29(f16vec2) Load 246(f16v1) + 259: 29(f16vec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 258 + Store 245(f16v2) 259 + 260: 29(f16vec2) Load 246(f16v1) + 261: 29(f16vec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 260 + Store 245(f16v2) 261 Return FunctionEnd 16(builtinCommonFuncs(): 2 Function None 3 17: Label - 266(f16v2): 152(ptr) Variable Function - 267(f16v1): 152(ptr) Variable Function - 288(f16): 35(ptr) Variable Function - 292(f16v3): 152(ptr) Variable Function - 332(bv): 155(ptr) Variable Function - 353(b): 110(ptr) Variable Function - 363(iv): 185(ptr) Variable Function - 268:151(f16vec3) Load 267(f16v1) - 269:151(f16vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 268 - Store 266(f16v2) 269 - 270:151(f16vec3) Load 267(f16v1) - 271:151(f16vec3) ExtInst 1(GLSL.std.450) 6(FSign) 270 - Store 266(f16v2) 271 - 272:151(f16vec3) Load 267(f16v1) - 273:151(f16vec3) ExtInst 1(GLSL.std.450) 8(Floor) 272 - Store 266(f16v2) 273 - 274:151(f16vec3) Load 267(f16v1) - 275:151(f16vec3) ExtInst 1(GLSL.std.450) 3(Trunc) 274 - Store 266(f16v2) 275 - 276:151(f16vec3) Load 267(f16v1) - 277:151(f16vec3) ExtInst 1(GLSL.std.450) 1(Round) 276 - Store 266(f16v2) 277 - 278:151(f16vec3) Load 267(f16v1) - 279:151(f16vec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 278 - Store 266(f16v2) 279 - 280:151(f16vec3) Load 267(f16v1) - 281:151(f16vec3) ExtInst 1(GLSL.std.450) 9(Ceil) 280 - Store 266(f16v2) 281 - 282:151(f16vec3) Load 267(f16v1) - 283:151(f16vec3) ExtInst 1(GLSL.std.450) 10(Fract) 282 - Store 266(f16v2) 283 - 284:151(f16vec3) Load 267(f16v1) - 285:151(f16vec3) Load 266(f16v2) - 286:151(f16vec3) FMod 284 285 - Store 266(f16v2) 286 - 287:151(f16vec3) Load 267(f16v1) - 289:28(float16_t) Load 288(f16) - 290:151(f16vec3) CompositeConstruct 289 289 289 - 291:151(f16vec3) FMod 287 290 - Store 266(f16v2) 291 - 293:151(f16vec3) Load 267(f16v1) - 294:151(f16vec3) ExtInst 1(GLSL.std.450) 35(Modf) 293 266(f16v2) - Store 292(f16v3) 294 - 295:151(f16vec3) Load 267(f16v1) - 296:151(f16vec3) Load 266(f16v2) - 297:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 295 296 - Store 292(f16v3) 297 - 298:151(f16vec3) Load 267(f16v1) - 299:28(float16_t) Load 288(f16) - 300:151(f16vec3) CompositeConstruct 299 299 299 - 301:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 298 300 - Store 292(f16v3) 301 - 302:151(f16vec3) Load 267(f16v1) - 303:151(f16vec3) Load 266(f16v2) - 304:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 302 303 - Store 292(f16v3) 304 - 305:151(f16vec3) Load 267(f16v1) - 306:28(float16_t) Load 288(f16) - 307:151(f16vec3) CompositeConstruct 306 306 306 - 308:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 305 307 - Store 292(f16v3) 308 - 309:151(f16vec3) Load 267(f16v1) - 310:28(float16_t) Load 288(f16) - 311: 35(ptr) AccessChain 266(f16v2) 34 - 312:28(float16_t) Load 311 - 313:151(f16vec3) CompositeConstruct 310 310 310 - 314:151(f16vec3) CompositeConstruct 312 312 312 - 315:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 309 313 314 - Store 292(f16v3) 315 - 316:151(f16vec3) Load 267(f16v1) - 317:151(f16vec3) Load 266(f16v2) - 318:28(float16_t) Load 288(f16) - 319:151(f16vec3) CompositeConstruct 318 318 318 - 320:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 316 317 319 - Store 292(f16v3) 320 - 321:151(f16vec3) Load 267(f16v1) - 322:151(f16vec3) Load 266(f16v2) - 323:28(float16_t) Load 288(f16) - 324:151(f16vec3) CompositeConstruct 323 323 323 - 325:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 321 322 324 - Store 292(f16v3) 325 - 326:151(f16vec3) Load 267(f16v1) - 327:151(f16vec3) Load 266(f16v2) - 328:151(f16vec3) Load 292(f16v3) - 329:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 326 327 328 - Store 292(f16v3) 329 - 330:151(f16vec3) Load 267(f16v1) - 331:151(f16vec3) Load 266(f16v2) - 333: 154(bvec3) Load 332(bv) - 334:151(f16vec3) Select 333 331 330 - Store 292(f16v3) 334 - 335:151(f16vec3) Load 267(f16v1) - 336:151(f16vec3) Load 266(f16v2) - 337:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 335 336 - Store 292(f16v3) 337 - 338:28(float16_t) Load 288(f16) - 339:151(f16vec3) Load 292(f16v3) - 340:151(f16vec3) CompositeConstruct 338 338 338 - 341:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 340 339 - Store 292(f16v3) 341 - 342:151(f16vec3) Load 267(f16v1) - 343:151(f16vec3) Load 266(f16v2) - 344:151(f16vec3) Load 292(f16v3) - 345:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 342 343 344 - Store 292(f16v3) 345 - 346:28(float16_t) Load 288(f16) - 347: 35(ptr) AccessChain 267(f16v1) 34 - 348:28(float16_t) Load 347 - 349:151(f16vec3) Load 266(f16v2) - 350:151(f16vec3) CompositeConstruct 346 346 346 - 351:151(f16vec3) CompositeConstruct 348 348 348 - 352:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 350 351 349 - Store 292(f16v3) 352 - 354:28(float16_t) Load 288(f16) - 355: 109(bool) IsNan 354 - Store 353(b) 355 - 356:151(f16vec3) Load 267(f16v1) - 357: 154(bvec3) IsInf 356 - Store 332(bv) 357 - 358:151(f16vec3) Load 267(f16v1) - 359:151(f16vec3) Load 266(f16v2) - 360:151(f16vec3) Load 292(f16v3) - 361:151(f16vec3) ExtInst 1(GLSL.std.450) 50(Fma) 358 359 360 - Store 292(f16v3) 361 - 362:151(f16vec3) Load 267(f16v1) - 365:364(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 362 - 366: 184(ivec3) CompositeExtract 365 1 - Store 363(iv) 366 - 367:151(f16vec3) CompositeExtract 365 0 - Store 266(f16v2) 367 - 368:151(f16vec3) Load 267(f16v1) - 369: 184(ivec3) Load 363(iv) - 370:151(f16vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 368 369 - Store 266(f16v2) 370 + 262(f16v2): 152(ptr) Variable Function + 263(f16v1): 152(ptr) Variable Function + 284(f16): 35(ptr) Variable Function + 288(f16v3): 152(ptr) Variable Function + 328(bv): 155(ptr) Variable Function + 349(b): 110(ptr) Variable Function + 359(iv): 181(ptr) Variable Function + 264:151(f16vec3) Load 263(f16v1) + 265:151(f16vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 264 + Store 262(f16v2) 265 + 266:151(f16vec3) Load 263(f16v1) + 267:151(f16vec3) ExtInst 1(GLSL.std.450) 6(FSign) 266 + Store 262(f16v2) 267 + 268:151(f16vec3) Load 263(f16v1) + 269:151(f16vec3) ExtInst 1(GLSL.std.450) 8(Floor) 268 + Store 262(f16v2) 269 + 270:151(f16vec3) Load 263(f16v1) + 271:151(f16vec3) ExtInst 1(GLSL.std.450) 3(Trunc) 270 + Store 262(f16v2) 271 + 272:151(f16vec3) Load 263(f16v1) + 273:151(f16vec3) ExtInst 1(GLSL.std.450) 1(Round) 272 + Store 262(f16v2) 273 + 274:151(f16vec3) Load 263(f16v1) + 275:151(f16vec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 274 + Store 262(f16v2) 275 + 276:151(f16vec3) Load 263(f16v1) + 277:151(f16vec3) ExtInst 1(GLSL.std.450) 9(Ceil) 276 + Store 262(f16v2) 277 + 278:151(f16vec3) Load 263(f16v1) + 279:151(f16vec3) ExtInst 1(GLSL.std.450) 10(Fract) 278 + Store 262(f16v2) 279 + 280:151(f16vec3) Load 263(f16v1) + 281:151(f16vec3) Load 262(f16v2) + 282:151(f16vec3) FMod 280 281 + Store 262(f16v2) 282 + 283:151(f16vec3) Load 263(f16v1) + 285:28(float16_t) Load 284(f16) + 286:151(f16vec3) CompositeConstruct 285 285 285 + 287:151(f16vec3) FMod 283 286 + Store 262(f16v2) 287 + 289:151(f16vec3) Load 263(f16v1) + 290:151(f16vec3) ExtInst 1(GLSL.std.450) 35(Modf) 289 262(f16v2) + Store 288(f16v3) 290 + 291:151(f16vec3) Load 263(f16v1) + 292:151(f16vec3) Load 262(f16v2) + 293:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 291 292 + Store 288(f16v3) 293 + 294:151(f16vec3) Load 263(f16v1) + 295:28(float16_t) Load 284(f16) + 296:151(f16vec3) CompositeConstruct 295 295 295 + 297:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 294 296 + Store 288(f16v3) 297 + 298:151(f16vec3) Load 263(f16v1) + 299:151(f16vec3) Load 262(f16v2) + 300:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 298 299 + Store 288(f16v3) 300 + 301:151(f16vec3) Load 263(f16v1) + 302:28(float16_t) Load 284(f16) + 303:151(f16vec3) CompositeConstruct 302 302 302 + 304:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 301 303 + Store 288(f16v3) 304 + 305:151(f16vec3) Load 263(f16v1) + 306:28(float16_t) Load 284(f16) + 307: 35(ptr) AccessChain 262(f16v2) 34 + 308:28(float16_t) Load 307 + 309:151(f16vec3) CompositeConstruct 306 306 306 + 310:151(f16vec3) CompositeConstruct 308 308 308 + 311:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 305 309 310 + Store 288(f16v3) 311 + 312:151(f16vec3) Load 263(f16v1) + 313:151(f16vec3) Load 262(f16v2) + 314:28(float16_t) Load 284(f16) + 315:151(f16vec3) CompositeConstruct 314 314 314 + 316:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 312 313 315 + Store 288(f16v3) 316 + 317:151(f16vec3) Load 263(f16v1) + 318:151(f16vec3) Load 262(f16v2) + 319:28(float16_t) Load 284(f16) + 320:151(f16vec3) CompositeConstruct 319 319 319 + 321:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 317 318 320 + Store 288(f16v3) 321 + 322:151(f16vec3) Load 263(f16v1) + 323:151(f16vec3) Load 262(f16v2) + 324:151(f16vec3) Load 288(f16v3) + 325:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 322 323 324 + Store 288(f16v3) 325 + 326:151(f16vec3) Load 263(f16v1) + 327:151(f16vec3) Load 262(f16v2) + 329: 154(bvec3) Load 328(bv) + 330:151(f16vec3) Select 329 327 326 + Store 288(f16v3) 330 + 331:151(f16vec3) Load 263(f16v1) + 332:151(f16vec3) Load 262(f16v2) + 333:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 331 332 + Store 288(f16v3) 333 + 334:28(float16_t) Load 284(f16) + 335:151(f16vec3) Load 288(f16v3) + 336:151(f16vec3) CompositeConstruct 334 334 334 + 337:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 336 335 + Store 288(f16v3) 337 + 338:151(f16vec3) Load 263(f16v1) + 339:151(f16vec3) Load 262(f16v2) + 340:151(f16vec3) Load 288(f16v3) + 341:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 338 339 340 + Store 288(f16v3) 341 + 342:28(float16_t) Load 284(f16) + 343: 35(ptr) AccessChain 263(f16v1) 34 + 344:28(float16_t) Load 343 + 345:151(f16vec3) Load 262(f16v2) + 346:151(f16vec3) CompositeConstruct 342 342 342 + 347:151(f16vec3) CompositeConstruct 344 344 344 + 348:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 346 347 345 + Store 288(f16v3) 348 + 350:28(float16_t) Load 284(f16) + 351: 109(bool) IsNan 350 + Store 349(b) 351 + 352:151(f16vec3) Load 263(f16v1) + 353: 154(bvec3) IsInf 352 + Store 328(bv) 353 + 354:151(f16vec3) Load 263(f16v1) + 355:151(f16vec3) Load 262(f16v2) + 356:151(f16vec3) Load 288(f16v3) + 357:151(f16vec3) ExtInst 1(GLSL.std.450) 50(Fma) 354 355 356 + Store 288(f16v3) 357 + 358:151(f16vec3) Load 263(f16v1) + 361:360(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 358 + 362: 180(ivec3) CompositeExtract 361 1 + Store 359(iv) 362 + 363:151(f16vec3) CompositeExtract 361 0 + Store 262(f16v2) 363 + 364:151(f16vec3) Load 263(f16v1) + 365: 180(ivec3) Load 359(iv) + 366:151(f16vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 364 365 + Store 262(f16v2) 366 Return FunctionEnd 18(builtinPackUnpackFuncs(): 2 Function None 3 19: Label - 372(u): 371(ptr) Variable Function - 373(f16v): 30(ptr) Variable Function - 374: 29(f16vec2) Load 373(f16v) - 375: 33(int) Bitcast 374 - Store 372(u) 375 - 376: 33(int) Load 372(u) - 377: 29(f16vec2) Bitcast 376 - Store 373(f16v) 377 + 368(u): 367(ptr) Variable Function + 369(f16v): 30(ptr) Variable Function + 370: 29(f16vec2) Load 369(f16v) + 371: 33(int) Bitcast 370 + Store 368(u) 371 + 372: 33(int) Load 368(u) + 373: 29(f16vec2) Bitcast 372 + Store 369(f16v) 373 Return FunctionEnd 20(builtinGeometryFuncs(): 2 Function None 3 21: Label - 378(f16): 35(ptr) Variable Function - 379(f16v1): 152(ptr) Variable Function - 383(f16v2): 152(ptr) Variable Function - 389(f16v3): 152(ptr) Variable Function - 380:151(f16vec3) Load 379(f16v1) - 381:28(float16_t) ExtInst 1(GLSL.std.450) 66(Length) 380 - Store 378(f16) 381 - 382:151(f16vec3) Load 379(f16v1) - 384:151(f16vec3) Load 383(f16v2) - 385:28(float16_t) ExtInst 1(GLSL.std.450) 67(Distance) 382 384 - Store 378(f16) 385 - 386:151(f16vec3) Load 379(f16v1) - 387:151(f16vec3) Load 383(f16v2) - 388:28(float16_t) Dot 386 387 - Store 378(f16) 388 - 390:151(f16vec3) Load 379(f16v1) - 391:151(f16vec3) Load 383(f16v2) - 392:151(f16vec3) ExtInst 1(GLSL.std.450) 68(Cross) 390 391 - Store 389(f16v3) 392 - 393:151(f16vec3) Load 379(f16v1) - 394:151(f16vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 393 - Store 383(f16v2) 394 - 395:151(f16vec3) Load 379(f16v1) - 396:151(f16vec3) Load 383(f16v2) - 397:151(f16vec3) Load 389(f16v3) - 398:151(f16vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 395 396 397 - Store 389(f16v3) 398 - 399:151(f16vec3) Load 379(f16v1) - 400:151(f16vec3) Load 383(f16v2) - 401:151(f16vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 399 400 - Store 389(f16v3) 401 - 402:151(f16vec3) Load 379(f16v1) - 403:151(f16vec3) Load 383(f16v2) - 404:28(float16_t) Load 378(f16) - 405:151(f16vec3) ExtInst 1(GLSL.std.450) 72(Refract) 402 403 404 - Store 389(f16v3) 405 + 374(f16): 35(ptr) Variable Function + 375(f16v1): 152(ptr) Variable Function + 379(f16v2): 152(ptr) Variable Function + 385(f16v3): 152(ptr) Variable Function + 376:151(f16vec3) Load 375(f16v1) + 377:28(float16_t) ExtInst 1(GLSL.std.450) 66(Length) 376 + Store 374(f16) 377 + 378:151(f16vec3) Load 375(f16v1) + 380:151(f16vec3) Load 379(f16v2) + 381:28(float16_t) ExtInst 1(GLSL.std.450) 67(Distance) 378 380 + Store 374(f16) 381 + 382:151(f16vec3) Load 375(f16v1) + 383:151(f16vec3) Load 379(f16v2) + 384:28(float16_t) Dot 382 383 + Store 374(f16) 384 + 386:151(f16vec3) Load 375(f16v1) + 387:151(f16vec3) Load 379(f16v2) + 388:151(f16vec3) ExtInst 1(GLSL.std.450) 68(Cross) 386 387 + Store 385(f16v3) 388 + 389:151(f16vec3) Load 375(f16v1) + 390:151(f16vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 389 + Store 379(f16v2) 390 + 391:151(f16vec3) Load 375(f16v1) + 392:151(f16vec3) Load 379(f16v2) + 393:151(f16vec3) Load 385(f16v3) + 394:151(f16vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 391 392 393 + Store 385(f16v3) 394 + 395:151(f16vec3) Load 375(f16v1) + 396:151(f16vec3) Load 379(f16v2) + 397:151(f16vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 395 396 + Store 385(f16v3) 397 + 398:151(f16vec3) Load 375(f16v1) + 399:151(f16vec3) Load 379(f16v2) + 400:28(float16_t) Load 374(f16) + 401:151(f16vec3) ExtInst 1(GLSL.std.450) 72(Refract) 398 399 400 + Store 385(f16v3) 401 Return FunctionEnd 22(builtinMatrixFuncs(): 2 Function None 3 23: Label - 408(f16m3): 407(ptr) Variable Function - 409(f16m1): 407(ptr) Variable Function - 411(f16m2): 407(ptr) Variable Function - 420(f16v1): 152(ptr) Variable Function - 422(f16v2): 30(ptr) Variable Function - 427(f16m4): 426(ptr) Variable Function - 430(f16): 35(ptr) Variable Function - 433(f16m5): 432(ptr) Variable Function - 438(f16m6): 437(ptr) Variable Function - 439(f16m7): 437(ptr) Variable Function - 410: 406 Load 409(f16m1) - 412: 406 Load 411(f16m2) - 413:151(f16vec3) CompositeExtract 410 0 - 414:151(f16vec3) CompositeExtract 412 0 - 415:151(f16vec3) FMul 413 414 - 416:151(f16vec3) CompositeExtract 410 1 - 417:151(f16vec3) CompositeExtract 412 1 - 418:151(f16vec3) FMul 416 417 - 419: 406 CompositeConstruct 415 418 - Store 408(f16m3) 419 - 421:151(f16vec3) Load 420(f16v1) - 423: 29(f16vec2) Load 422(f16v2) - 424: 406 OuterProduct 421 423 - Store 409(f16m1) 424 - 428: 406 Load 409(f16m1) - 429: 425 Transpose 428 - Store 427(f16m4) 429 - 434: 431 Load 433(f16m5) - 435:28(float16_t) ExtInst 1(GLSL.std.450) 33(Determinant) 434 - Store 430(f16) 435 - 440: 436 Load 439(f16m7) - 441: 436 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 440 - Store 438(f16m6) 441 + 404(f16m3): 403(ptr) Variable Function + 405(f16m1): 403(ptr) Variable Function + 407(f16m2): 403(ptr) Variable Function + 416(f16v1): 152(ptr) Variable Function + 418(f16v2): 30(ptr) Variable Function + 423(f16m4): 422(ptr) Variable Function + 426(f16): 35(ptr) Variable Function + 429(f16m5): 428(ptr) Variable Function + 434(f16m6): 433(ptr) Variable Function + 435(f16m7): 433(ptr) Variable Function + 406: 402 Load 405(f16m1) + 408: 402 Load 407(f16m2) + 409:151(f16vec3) CompositeExtract 406 0 + 410:151(f16vec3) CompositeExtract 408 0 + 411:151(f16vec3) FMul 409 410 + 412:151(f16vec3) CompositeExtract 406 1 + 413:151(f16vec3) CompositeExtract 408 1 + 414:151(f16vec3) FMul 412 413 + 415: 402 CompositeConstruct 411 414 + Store 404(f16m3) 415 + 417:151(f16vec3) Load 416(f16v1) + 419: 29(f16vec2) Load 418(f16v2) + 420: 402 OuterProduct 417 419 + Store 405(f16m1) 420 + 424: 402 Load 405(f16m1) + 425: 421 Transpose 424 + Store 423(f16m4) 425 + 430: 427 Load 429(f16m5) + 431:28(float16_t) ExtInst 1(GLSL.std.450) 33(Determinant) 430 + Store 426(f16) 431 + 436: 432 Load 435(f16m7) + 437: 432 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 436 + Store 434(f16m6) 437 Return FunctionEnd 24(builtinVecRelFuncs(): 2 Function None 3 25: Label - 442(bv): 155(ptr) Variable Function - 443(f16v1): 152(ptr) Variable Function - 445(f16v2): 152(ptr) Variable Function - 444:151(f16vec3) Load 443(f16v1) - 446:151(f16vec3) Load 445(f16v2) - 447: 154(bvec3) FOrdLessThan 444 446 - Store 442(bv) 447 - 448:151(f16vec3) Load 443(f16v1) - 449:151(f16vec3) Load 445(f16v2) - 450: 154(bvec3) FOrdLessThanEqual 448 449 - Store 442(bv) 450 - 451:151(f16vec3) Load 443(f16v1) - 452:151(f16vec3) Load 445(f16v2) - 453: 154(bvec3) FOrdGreaterThan 451 452 - Store 442(bv) 453 - 454:151(f16vec3) Load 443(f16v1) - 455:151(f16vec3) Load 445(f16v2) - 456: 154(bvec3) FOrdGreaterThanEqual 454 455 - Store 442(bv) 456 - 457:151(f16vec3) Load 443(f16v1) - 458:151(f16vec3) Load 445(f16v2) - 459: 154(bvec3) FOrdEqual 457 458 - Store 442(bv) 459 - 460:151(f16vec3) Load 443(f16v1) - 461:151(f16vec3) Load 445(f16v2) - 462: 154(bvec3) FUnordNotEqual 460 461 - Store 442(bv) 462 + 438(bv): 155(ptr) Variable Function + 439(f16v1): 152(ptr) Variable Function + 441(f16v2): 152(ptr) Variable Function + 440:151(f16vec3) Load 439(f16v1) + 442:151(f16vec3) Load 441(f16v2) + 443: 154(bvec3) FOrdLessThan 440 442 + Store 438(bv) 443 + 444:151(f16vec3) Load 439(f16v1) + 445:151(f16vec3) Load 441(f16v2) + 446: 154(bvec3) FOrdLessThanEqual 444 445 + Store 438(bv) 446 + 447:151(f16vec3) Load 439(f16v1) + 448:151(f16vec3) Load 441(f16v2) + 449: 154(bvec3) FOrdGreaterThan 447 448 + Store 438(bv) 449 + 450:151(f16vec3) Load 439(f16v1) + 451:151(f16vec3) Load 441(f16v2) + 452: 154(bvec3) FOrdGreaterThanEqual 450 451 + Store 438(bv) 452 + 453:151(f16vec3) Load 439(f16v1) + 454:151(f16vec3) Load 441(f16v2) + 455: 154(bvec3) FOrdEqual 453 454 + Store 438(bv) 455 + 456:151(f16vec3) Load 439(f16v1) + 457:151(f16vec3) Load 441(f16v2) + 458: 154(bvec3) FUnordNotEqual 456 457 + Store 438(bv) 458 Return FunctionEnd 26(builtinFragProcFuncs(): 2 Function None 3 27: Label - 463(f16v): 152(ptr) Variable Function - 467: 466(ptr) AccessChain 465(if16v) 34 + 459(f16v): 152(ptr) Variable Function + 463: 462(ptr) AccessChain 461(if16v) 34 + 464:28(float16_t) Load 463 + 465:28(float16_t) DPdx 464 + 466: 35(ptr) AccessChain 459(f16v) 34 + Store 466 465 + 467: 462(ptr) AccessChain 461(if16v) 90 468:28(float16_t) Load 467 - 469:28(float16_t) DPdx 468 - 470: 35(ptr) AccessChain 463(f16v) 34 + 469:28(float16_t) DPdy 468 + 470: 35(ptr) AccessChain 459(f16v) 90 Store 470 469 - 471: 466(ptr) AccessChain 465(if16v) 90 - 472:28(float16_t) Load 471 - 473:28(float16_t) DPdy 472 - 474: 35(ptr) AccessChain 463(f16v) 90 - Store 474 473 - 475:151(f16vec3) Load 465(if16v) - 476: 29(f16vec2) VectorShuffle 475 475 0 1 - 477: 29(f16vec2) DPdxFine 476 - 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 + 471:151(f16vec3) Load 461(if16v) + 472: 29(f16vec2) VectorShuffle 471 471 0 1 + 473: 29(f16vec2) DPdxFine 472 + 474: 35(ptr) AccessChain 459(f16v) 34 + 475:28(float16_t) CompositeExtract 473 0 + Store 474 475 + 476: 35(ptr) AccessChain 459(f16v) 90 + 477:28(float16_t) CompositeExtract 473 1 + Store 476 477 + 478:151(f16vec3) Load 461(if16v) + 479: 29(f16vec2) VectorShuffle 478 478 0 1 + 480: 29(f16vec2) DPdyFine 479 + 481: 35(ptr) AccessChain 459(f16v) 34 + 482:28(float16_t) CompositeExtract 480 0 + Store 481 482 + 483: 35(ptr) AccessChain 459(f16v) 90 + 484:28(float16_t) CompositeExtract 480 1 + Store 483 484 + 485:151(f16vec3) Load 461(if16v) + 486:151(f16vec3) DPdxCoarse 485 + Store 459(f16v) 486 + 487:151(f16vec3) Load 461(if16v) + 488:151(f16vec3) DPdxCoarse 487 + Store 459(f16v) 488 + 489: 462(ptr) AccessChain 461(if16v) 34 + 490:28(float16_t) Load 489 + 491:28(float16_t) Fwidth 490 + 492: 35(ptr) AccessChain 459(f16v) 34 + Store 492 491 + 493:151(f16vec3) Load 461(if16v) + 494: 29(f16vec2) VectorShuffle 493 493 0 1 + 495: 29(f16vec2) FwidthFine 494 + 496: 35(ptr) AccessChain 459(f16v) 34 + 497:28(float16_t) CompositeExtract 495 0 + Store 496 497 + 498: 35(ptr) AccessChain 459(f16v) 90 + 499:28(float16_t) CompositeExtract 495 1 + Store 498 499 + 500:151(f16vec3) Load 461(if16v) + 501:151(f16vec3) FwidthCoarse 500 + Store 459(f16v) 501 + 502: 462(ptr) AccessChain 461(if16v) 34 + 503:28(float16_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 502 + 504: 35(ptr) AccessChain 459(f16v) 34 + Store 504 503 + 506:151(f16vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 461(if16v) 505 + 507: 29(f16vec2) VectorShuffle 506 506 0 1 + 508: 35(ptr) AccessChain 459(f16v) 34 + 509:28(float16_t) CompositeExtract 507 0 + Store 508 509 + 510: 35(ptr) AccessChain 459(f16v) 90 + 511:28(float16_t) CompositeExtract 507 1 + Store 510 511 + 514:151(f16vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 461(if16v) 513 + Store 459(f16v) 514 Return FunctionEnd diff --git a/Test/baseResults/spv.float16Fetch.frag.out b/Test/baseResults/spv.float16Fetch.frag.out index f61bde34..cfe24914 100644 --- a/Test/baseResults/spv.float16Fetch.frag.out +++ b/Test/baseResults/spv.float16Fetch.frag.out @@ -207,117 +207,117 @@ Validation failed Name 5783 "t2DMS" Name 5785 "t2DMSArray" Name 5786 "bias" - Decorate 125(s1D) DescriptorSet 0 Decorate 125(s1D) Binding 0 + Decorate 125(s1D) DescriptorSet 0 Decorate 128(c1) Location 0 Decorate 135(f16c1) Location 11 Decorate 137(f16bias) Location 16 - Decorate 145(s2D) DescriptorSet 0 Decorate 145(s2D) Binding 1 + Decorate 145(s2D) DescriptorSet 0 Decorate 148(c2) Location 1 Decorate 156(f16c2) Location 12 - Decorate 165(s3D) DescriptorSet 0 Decorate 165(s3D) Binding 2 + Decorate 165(s3D) DescriptorSet 0 Decorate 169(c3) Location 2 Decorate 177(f16c3) Location 13 - Decorate 186(sCube) DescriptorSet 0 Decorate 186(sCube) Binding 4 - Decorate 201(s1DShadow) DescriptorSet 0 + Decorate 186(sCube) DescriptorSet 0 Decorate 201(s1DShadow) Binding 11 + Decorate 201(s1DShadow) DescriptorSet 0 Decorate 215(compare) Location 4 - Decorate 226(s2DShadow) DescriptorSet 0 Decorate 226(s2DShadow) Binding 12 - Decorate 247(sCubeShadow) DescriptorSet 0 + Decorate 226(s2DShadow) DescriptorSet 0 Decorate 247(sCubeShadow) Binding 14 + Decorate 247(sCubeShadow) DescriptorSet 0 Decorate 251(c4) Location 3 - Decorate 271(s1DArray) DescriptorSet 0 Decorate 271(s1DArray) Binding 7 - Decorate 286(s2DArray) DescriptorSet 0 + Decorate 271(s1DArray) DescriptorSet 0 Decorate 286(s2DArray) Binding 8 - Decorate 301(sCubeArray) DescriptorSet 0 + Decorate 286(s2DArray) DescriptorSet 0 Decorate 301(sCubeArray) Binding 9 + Decorate 301(sCubeArray) DescriptorSet 0 Decorate 309(f16c4) Location 14 - Decorate 318(s1DArrayShadow) DescriptorSet 0 Decorate 318(s1DArrayShadow) Binding 15 - Decorate 339(s2DArrayShadow) DescriptorSet 0 + Decorate 318(s1DArrayShadow) DescriptorSet 0 Decorate 339(s2DArrayShadow) Binding 16 - Decorate 359(s2DRect) DescriptorSet 0 + Decorate 339(s2DArrayShadow) DescriptorSet 0 Decorate 359(s2DRect) Binding 3 - Decorate 373(s2DRectShadow) DescriptorSet 0 + Decorate 359(s2DRect) DescriptorSet 0 Decorate 373(s2DRectShadow) Binding 13 - Decorate 393(sCubeArrayShadow) DescriptorSet 0 + Decorate 373(s2DRectShadow) DescriptorSet 0 Decorate 393(sCubeArrayShadow) Binding 17 + Decorate 393(sCubeArrayShadow) DescriptorSet 0 Decorate 565(lod) Location 5 Decorate 572(f16lod) Location 15 - Decorate 1300(sBuffer) DescriptorSet 0 Decorate 1300(sBuffer) Binding 5 - Decorate 1311(s2DMS) DescriptorSet 0 + Decorate 1300(sBuffer) DescriptorSet 0 Decorate 1311(s2DMS) Binding 6 - Decorate 1322(s2DMSArray) DescriptorSet 0 + Decorate 1311(s2DMS) DescriptorSet 0 Decorate 1322(s2DMSArray) Binding 10 + Decorate 1322(s2DMSArray) DescriptorSet 0 Decorate 1393(dPdxy1) Location 8 Decorate 1400(f16dPdxy1) Location 18 Decorate 1407(dPdxy2) Location 9 Decorate 1414(f16dPdxy2) Location 19 Decorate 1421(dPdxy3) Location 10 Decorate 1428(f16dPdxy3) Location 20 - Decorate 2909(i1D) DescriptorSet 1 Decorate 2909(i1D) Binding 0 - Decorate 2918(i2D) DescriptorSet 1 + Decorate 2909(i1D) DescriptorSet 1 Decorate 2918(i2D) Binding 1 - Decorate 2927(i3D) DescriptorSet 1 + Decorate 2918(i2D) DescriptorSet 1 Decorate 2927(i3D) Binding 2 - Decorate 2936(i2DRect) DescriptorSet 1 + Decorate 2927(i3D) DescriptorSet 1 Decorate 2936(i2DRect) Binding 3 - Decorate 2945(iCube) DescriptorSet 1 + Decorate 2936(i2DRect) DescriptorSet 1 Decorate 2945(iCube) Binding 4 - Decorate 2954(iBuffer) DescriptorSet 1 + Decorate 2945(iCube) DescriptorSet 1 Decorate 2954(iBuffer) Binding 8 - Decorate 2963(i1DArray) DescriptorSet 1 + Decorate 2954(iBuffer) DescriptorSet 1 Decorate 2963(i1DArray) Binding 5 - Decorate 2972(i2DArray) DescriptorSet 1 + Decorate 2963(i1DArray) DescriptorSet 1 Decorate 2972(i2DArray) Binding 6 - Decorate 2981(iCubeArray) DescriptorSet 1 + Decorate 2972(i2DArray) DescriptorSet 1 Decorate 2981(iCubeArray) Binding 7 - Decorate 2990(i2DMS) DescriptorSet 1 + Decorate 2981(iCubeArray) DescriptorSet 1 Decorate 2990(i2DMS) Binding 9 - Decorate 2999(i2DMSArray) DescriptorSet 1 + Decorate 2990(i2DMS) DescriptorSet 1 Decorate 2999(i2DMSArray) Binding 10 + Decorate 2999(i2DMSArray) DescriptorSet 1 Decorate 4187(lodClamp) Location 7 Decorate 4194(f16lodClamp) Location 17 - Decorate 5316(t1D) DescriptorSet 2 Decorate 5316(t1D) Binding 0 - Decorate 5320(s) DescriptorSet 2 + Decorate 5316(t1D) DescriptorSet 2 Decorate 5320(s) Binding 11 - Decorate 5336(t2D) DescriptorSet 2 + Decorate 5320(s) DescriptorSet 2 Decorate 5336(t2D) Binding 1 - Decorate 5353(t3D) DescriptorSet 2 + Decorate 5336(t2D) DescriptorSet 2 Decorate 5353(t3D) Binding 2 - Decorate 5370(tCube) DescriptorSet 2 + Decorate 5353(t3D) DescriptorSet 2 Decorate 5370(tCube) Binding 4 - Decorate 5387(sShadow) DescriptorSet 2 + Decorate 5370(tCube) DescriptorSet 2 Decorate 5387(sShadow) Binding 12 - Decorate 5451(t1DArray) DescriptorSet 2 + Decorate 5387(sShadow) DescriptorSet 2 Decorate 5451(t1DArray) Binding 5 - Decorate 5468(t2DArray) DescriptorSet 2 + Decorate 5451(t1DArray) DescriptorSet 2 Decorate 5468(t2DArray) Binding 6 - Decorate 5485(tCubeArray) DescriptorSet 2 + Decorate 5468(t2DArray) DescriptorSet 2 Decorate 5485(tCubeArray) Binding 7 - Decorate 5543(t2DRect) DescriptorSet 2 + Decorate 5485(tCubeArray) DescriptorSet 2 Decorate 5543(t2DRect) Binding 3 - Decorate 5603(subpass) DescriptorSet 3 + Decorate 5543(t2DRect) DescriptorSet 2 Decorate 5603(subpass) Binding 0 + Decorate 5603(subpass) DescriptorSet 3 Decorate 5603(subpass) InputAttachmentIndex 0 - Decorate 5609(subpassMS) DescriptorSet 3 Decorate 5609(subpassMS) Binding 1 + Decorate 5609(subpassMS) DescriptorSet 3 Decorate 5609(subpassMS) InputAttachmentIndex 0 Decorate 5777(fragColor) Location 0 - Decorate 5781(tBuffer) DescriptorSet 2 Decorate 5781(tBuffer) Binding 8 - Decorate 5783(t2DMS) DescriptorSet 2 + Decorate 5781(tBuffer) DescriptorSet 2 Decorate 5783(t2DMS) Binding 9 - Decorate 5785(t2DMSArray) DescriptorSet 2 + Decorate 5783(t2DMS) DescriptorSet 2 Decorate 5785(t2DMSArray) Binding 10 + Decorate 5785(t2DMSArray) DescriptorSet 2 Decorate 5786(bias) Location 6 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.float16NoRelaxed.vert.out b/Test/baseResults/spv.float16NoRelaxed.vert.out index 9e821ab2..2f72839d 100644 --- a/Test/baseResults/spv.float16NoRelaxed.vert.out +++ b/Test/baseResults/spv.float16NoRelaxed.vert.out @@ -27,10 +27,10 @@ spv.float16NoRelaxed.vert Decorate 11(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId Decorate 12 RelaxedPrecision Decorate 25 ArrayStride 4 - MemberDecorate 26(Buffer1) 0 Offset 0 Decorate 26(Buffer1) Block - Decorate 28 DescriptorSet 0 + MemberDecorate 26(Buffer1) 0 Offset 0 Decorate 28 Binding 0 + Decorate 28 DescriptorSet 0 Decorate 30(gl_VertexIndex) BuiltIn VertexIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.float32.frag.out b/Test/baseResults/spv.float32.frag.out index d2cc6094..fbde7e5b 100644 --- a/Test/baseResults/spv.float32.frag.out +++ b/Test/baseResults/spv.float32.frag.out @@ -111,21 +111,21 @@ spv.float32.frag MemberDecorate 528(S) 1 Offset 8 MemberDecorate 528(S) 2 Offset 16 Decorate 529 ArrayStride 32 + Decorate 530(B1) Block 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) 4 Offset 64 MemberDecorate 530(B1) 5 ColMajor - MemberDecorate 530(B1) 5 Offset 96 MemberDecorate 530(B1) 5 MatrixStride 16 + MemberDecorate 530(B1) 5 Offset 96 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 532 DescriptorSet 0 Decorate 533(sf16) SpecId 100 Decorate 534(sf) SpecId 101 Decorate 535(sd) SpecId 102 diff --git a/Test/baseResults/spv.float64.frag.out b/Test/baseResults/spv.float64.frag.out index 68e8f1c7..de8a8ee6 100644 --- a/Test/baseResults/spv.float64.frag.out +++ b/Test/baseResults/spv.float64.frag.out @@ -109,21 +109,21 @@ Validation failed MemberDecorate 471(S) 1 Offset 16 MemberDecorate 471(S) 2 Offset 32 Decorate 472 ArrayStride 64 + Decorate 473(B1) Block 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) 4 Offset 96 MemberDecorate 473(B1) 5 ColMajor - MemberDecorate 473(B1) 5 Offset 160 MemberDecorate 473(B1) 5 MatrixStride 32 + MemberDecorate 473(B1) 5 Offset 160 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 475 DescriptorSet 0 Decorate 476(sf16) SpecId 100 Decorate 478(sf) SpecId 101 Decorate 479(sd) SpecId 102 diff --git a/Test/baseResults/spv.floatFetch.frag.out b/Test/baseResults/spv.floatFetch.frag.out index 05d04e07..0848455f 100644 --- a/Test/baseResults/spv.floatFetch.frag.out +++ b/Test/baseResults/spv.floatFetch.frag.out @@ -2,7 +2,7 @@ spv.floatFetch.frag Validation failed // Module Version 10000 // Generated by (magic number): 8000b -// Id's are bound by 3503 +// Id's are bound by 3500 Capability Shader Capability ImageGatherExtended @@ -24,7 +24,7 @@ Validation failed Extension "SPV_AMD_texture_gather_bias_lod" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 - EntryPoint Fragment 4 "main" 127 138 150 197 283 371 866 873 880 2603 3494 3502 + EntryPoint Fragment 4 "main" 127 138 150 197 283 371 866 873 880 2603 3491 3499 ExecutionMode 4 OriginUpperLeft Source GLSL 450 SourceExtension "GL_AMD_texture_gather_bias_lod" @@ -184,114 +184,114 @@ Validation failed Name 3318 "subpass" Name 3324 "subpassMS" Name 3330 "result" - Name 3415 "param" - Name 3494 "fragColor" - Name 3497 "tBuffer" - Name 3499 "t2DMS" - Name 3501 "t2DMSArray" - Name 3502 "bias" - Decorate 124(s1D) DescriptorSet 0 + Name 3412 "param" + Name 3491 "fragColor" + Name 3494 "tBuffer" + Name 3496 "t2DMS" + Name 3498 "t2DMSArray" + Name 3499 "bias" Decorate 124(s1D) Binding 0 + Decorate 124(s1D) DescriptorSet 0 Decorate 127(c1) Location 0 - Decorate 135(s2D) DescriptorSet 0 Decorate 135(s2D) Binding 1 + Decorate 135(s2D) DescriptorSet 0 Decorate 138(c2) Location 1 - Decorate 146(s3D) DescriptorSet 0 Decorate 146(s3D) Binding 2 + Decorate 146(s3D) DescriptorSet 0 Decorate 150(c3) Location 2 - Decorate 158(sCube) DescriptorSet 0 Decorate 158(sCube) Binding 4 - Decorate 167(s1DShadow) DescriptorSet 0 + Decorate 158(sCube) DescriptorSet 0 Decorate 167(s1DShadow) Binding 11 - Decorate 182(s2DShadow) DescriptorSet 0 + Decorate 167(s1DShadow) DescriptorSet 0 Decorate 182(s2DShadow) Binding 12 - Decorate 194(sCubeShadow) DescriptorSet 0 + Decorate 182(s2DShadow) DescriptorSet 0 Decorate 194(sCubeShadow) Binding 14 + Decorate 194(sCubeShadow) DescriptorSet 0 Decorate 197(c4) Location 3 - Decorate 208(s1DArray) DescriptorSet 0 Decorate 208(s1DArray) Binding 7 - Decorate 217(s2DArray) DescriptorSet 0 + Decorate 208(s1DArray) DescriptorSet 0 Decorate 217(s2DArray) Binding 8 - Decorate 226(sCubeArray) DescriptorSet 0 + Decorate 217(s2DArray) DescriptorSet 0 Decorate 226(sCubeArray) Binding 9 - Decorate 235(s1DArrayShadow) DescriptorSet 0 + Decorate 226(sCubeArray) DescriptorSet 0 Decorate 235(s1DArrayShadow) Binding 15 - Decorate 247(s2DArrayShadow) DescriptorSet 0 + Decorate 235(s1DArrayShadow) DescriptorSet 0 Decorate 247(s2DArrayShadow) Binding 16 - Decorate 259(s2DRect) DescriptorSet 0 + Decorate 247(s2DArrayShadow) DescriptorSet 0 Decorate 259(s2DRect) Binding 3 - Decorate 268(s2DRectShadow) DescriptorSet 0 + Decorate 259(s2DRect) DescriptorSet 0 Decorate 268(s2DRectShadow) Binding 13 - Decorate 280(sCubeArrayShadow) DescriptorSet 0 + Decorate 268(s2DRectShadow) DescriptorSet 0 Decorate 280(sCubeArrayShadow) Binding 17 + Decorate 280(sCubeArrayShadow) DescriptorSet 0 Decorate 283(compare) Location 4 Decorate 371(lod) Location 5 - Decorate 773(sBuffer) DescriptorSet 0 Decorate 773(sBuffer) Binding 5 - Decorate 784(s2DMS) DescriptorSet 0 + Decorate 773(sBuffer) DescriptorSet 0 Decorate 784(s2DMS) Binding 6 - Decorate 795(s2DMSArray) DescriptorSet 0 + Decorate 784(s2DMS) DescriptorSet 0 Decorate 795(s2DMSArray) Binding 10 + Decorate 795(s2DMSArray) DescriptorSet 0 Decorate 866(dPdxy1) Location 8 Decorate 873(dPdxy2) Location 9 Decorate 880(dPdxy3) Location 10 - Decorate 1799(i1D) DescriptorSet 1 Decorate 1799(i1D) Binding 0 - Decorate 1808(i2D) DescriptorSet 1 + Decorate 1799(i1D) DescriptorSet 1 Decorate 1808(i2D) Binding 1 - Decorate 1817(i3D) DescriptorSet 1 + Decorate 1808(i2D) DescriptorSet 1 Decorate 1817(i3D) Binding 2 - Decorate 1826(i2DRect) DescriptorSet 1 + Decorate 1817(i3D) DescriptorSet 1 Decorate 1826(i2DRect) Binding 3 - Decorate 1835(iCube) DescriptorSet 1 + Decorate 1826(i2DRect) DescriptorSet 1 Decorate 1835(iCube) Binding 4 - Decorate 1844(iBuffer) DescriptorSet 1 + Decorate 1835(iCube) DescriptorSet 1 Decorate 1844(iBuffer) Binding 8 - Decorate 1853(i1DArray) DescriptorSet 1 + Decorate 1844(iBuffer) DescriptorSet 1 Decorate 1853(i1DArray) Binding 5 - Decorate 1862(i2DArray) DescriptorSet 1 + Decorate 1853(i1DArray) DescriptorSet 1 Decorate 1862(i2DArray) Binding 6 - Decorate 1871(iCubeArray) DescriptorSet 1 + Decorate 1862(i2DArray) DescriptorSet 1 Decorate 1871(iCubeArray) Binding 7 - Decorate 1880(i2DMS) DescriptorSet 1 + Decorate 1871(iCubeArray) DescriptorSet 1 Decorate 1880(i2DMS) Binding 9 - Decorate 1889(i2DMSArray) DescriptorSet 1 + Decorate 1880(i2DMS) DescriptorSet 1 Decorate 1889(i2DMSArray) Binding 10 + Decorate 1889(i2DMSArray) DescriptorSet 1 Decorate 2603(lodClamp) Location 7 - Decorate 3168(t1D) DescriptorSet 2 Decorate 3168(t1D) Binding 0 - Decorate 3172(s) DescriptorSet 2 + Decorate 3168(t1D) DescriptorSet 2 Decorate 3172(s) Binding 11 - Decorate 3180(t2D) DescriptorSet 2 + Decorate 3172(s) DescriptorSet 2 Decorate 3180(t2D) Binding 1 - Decorate 3189(t3D) DescriptorSet 2 + Decorate 3180(t2D) DescriptorSet 2 Decorate 3189(t3D) Binding 2 - Decorate 3198(tCube) DescriptorSet 2 + Decorate 3189(t3D) DescriptorSet 2 Decorate 3198(tCube) Binding 4 - Decorate 3207(sShadow) DescriptorSet 2 + Decorate 3198(tCube) DescriptorSet 2 Decorate 3207(sShadow) Binding 12 - Decorate 3238(t1DArray) DescriptorSet 2 + Decorate 3207(sShadow) DescriptorSet 2 Decorate 3238(t1DArray) Binding 5 - Decorate 3247(t2DArray) DescriptorSet 2 + Decorate 3238(t1DArray) DescriptorSet 2 Decorate 3247(t2DArray) Binding 6 - Decorate 3256(tCubeArray) DescriptorSet 2 + Decorate 3247(t2DArray) DescriptorSet 2 Decorate 3256(tCubeArray) Binding 7 - Decorate 3285(t2DRect) DescriptorSet 2 + Decorate 3256(tCubeArray) DescriptorSet 2 Decorate 3285(t2DRect) Binding 3 - Decorate 3318(subpass) DescriptorSet 3 + Decorate 3285(t2DRect) DescriptorSet 2 Decorate 3318(subpass) Binding 0 + Decorate 3318(subpass) DescriptorSet 3 Decorate 3318(subpass) InputAttachmentIndex 0 - Decorate 3324(subpassMS) DescriptorSet 3 Decorate 3324(subpassMS) Binding 1 + Decorate 3324(subpassMS) DescriptorSet 3 Decorate 3324(subpassMS) InputAttachmentIndex 0 - Decorate 3494(fragColor) Location 0 - Decorate 3497(tBuffer) DescriptorSet 2 - Decorate 3497(tBuffer) Binding 8 - Decorate 3499(t2DMS) DescriptorSet 2 - Decorate 3499(t2DMS) Binding 9 - Decorate 3501(t2DMSArray) DescriptorSet 2 - Decorate 3501(t2DMSArray) Binding 10 - Decorate 3502(bias) Location 6 + Decorate 3491(fragColor) Location 0 + Decorate 3494(tBuffer) Binding 8 + Decorate 3494(tBuffer) DescriptorSet 2 + Decorate 3496(t2DMS) Binding 9 + Decorate 3496(t2DMS) DescriptorSet 2 + Decorate 3498(t2DMSArray) Binding 10 + Decorate 3498(t2DMSArray) DescriptorSet 2 + Decorate 3499(bias) Location 6 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -486,19 +486,19 @@ Validation failed 3322: TypeImage 6(float) SubpassData multi-sampled nonsampled format:Unknown 3323: TypePointer UniformConstant 3322 3324(subpassMS): 3323(ptr) Variable UniformConstant - 3493: TypePointer Output 7(fvec4) - 3494(fragColor): 3493(ptr) Variable Output - 3496: TypePointer UniformConstant 770 - 3497(tBuffer): 3496(ptr) Variable UniformConstant - 3498: TypePointer UniformConstant 781 - 3499(t2DMS): 3498(ptr) Variable UniformConstant - 3500: TypePointer UniformConstant 792 -3501(t2DMSArray): 3500(ptr) Variable UniformConstant - 3502(bias): 126(ptr) Variable Input + 3490: TypePointer Output 7(fvec4) + 3491(fragColor): 3490(ptr) Variable Output + 3493: TypePointer UniformConstant 770 + 3494(tBuffer): 3493(ptr) Variable UniformConstant + 3495: TypePointer UniformConstant 781 + 3496(t2DMS): 3495(ptr) Variable UniformConstant + 3497: TypePointer UniformConstant 792 +3498(t2DMSArray): 3497(ptr) Variable UniformConstant + 3499(bias): 126(ptr) Variable Input 4(main): 2 Function None 3 5: Label 3330(result): 63(ptr) Variable Function - 3415(param): 63(ptr) Variable Function + 3412(param): 63(ptr) Variable Function Store 3330(result) 120 3331: 7(fvec4) FunctionCall 9(testTexture() 3332: 7(fvec4) Load 3330(result) @@ -578,141 +578,138 @@ Validation failed 3388: 7(fvec4) FAdd 3387 3386 Store 3330(result) 3388 3389: 52(fvec2) FunctionCall 54(testTextureQueryLod() - 3390: 6(float) CompositeExtract 3389 0 - 3391: 6(float) CompositeExtract 3389 1 - 3392: 52(fvec2) CompositeConstruct 3390 3391 - 3393: 7(fvec4) Load 3330(result) - 3394: 52(fvec2) VectorShuffle 3393 3393 0 1 - 3395: 52(fvec2) FAdd 3394 3392 - 3396: 174(ptr) AccessChain 3330(result) 173 - 3397: 6(float) CompositeExtract 3395 0 - Store 3396 3397 - 3398: 174(ptr) AccessChain 3330(result) 1447 - 3399: 6(float) CompositeExtract 3395 1 - Store 3398 3399 - 3400: 47(int) FunctionCall 57(testTextureQueryLevels() - 3401: 6(float) ConvertSToF 3400 + 3390: 7(fvec4) Load 3330(result) + 3391: 52(fvec2) VectorShuffle 3390 3390 0 1 + 3392: 52(fvec2) FAdd 3391 3389 + 3393: 174(ptr) AccessChain 3330(result) 173 + 3394: 6(float) CompositeExtract 3392 0 + Store 3393 3394 + 3395: 174(ptr) AccessChain 3330(result) 1447 + 3396: 6(float) CompositeExtract 3392 1 + Store 3395 3396 + 3397: 47(int) FunctionCall 57(testTextureQueryLevels() + 3398: 6(float) ConvertSToF 3397 + 3399: 174(ptr) AccessChain 3330(result) 173 + 3400: 6(float) Load 3399 + 3401: 6(float) FAdd 3400 3398 3402: 174(ptr) AccessChain 3330(result) 173 - 3403: 6(float) Load 3402 - 3404: 6(float) FAdd 3403 3401 + Store 3402 3401 + 3403: 47(int) FunctionCall 59(testTextureSamples() + 3404: 6(float) ConvertSToF 3403 3405: 174(ptr) AccessChain 3330(result) 173 - Store 3405 3404 - 3406: 47(int) FunctionCall 59(testTextureSamples() - 3407: 6(float) ConvertSToF 3406 + 3406: 6(float) Load 3405 + 3407: 6(float) FAdd 3406 3404 3408: 174(ptr) AccessChain 3330(result) 173 - 3409: 6(float) Load 3408 - 3410: 6(float) FAdd 3409 3407 - 3411: 174(ptr) AccessChain 3330(result) 173 - Store 3411 3410 - 3412: 7(fvec4) FunctionCall 61(testImageLoad() + Store 3408 3407 + 3409: 7(fvec4) FunctionCall 61(testImageLoad() + 3410: 7(fvec4) Load 3330(result) + 3411: 7(fvec4) FAdd 3410 3409 + Store 3330(result) 3411 3413: 7(fvec4) Load 3330(result) - 3414: 7(fvec4) FAdd 3413 3412 - Store 3330(result) 3414 + Store 3412(param) 3413 + 3414: 2 FunctionCall 66(testImageStore(vf4;) 3412(param) + 3415: 7(fvec4) FunctionCall 68(testSparseTexture() 3416: 7(fvec4) Load 3330(result) - Store 3415(param) 3416 - 3417: 2 FunctionCall 66(testImageStore(vf4;) 3415(param) - 3418: 7(fvec4) FunctionCall 68(testSparseTexture() + 3417: 7(fvec4) FAdd 3416 3415 + Store 3330(result) 3417 + 3418: 7(fvec4) FunctionCall 70(testSparseTextureLod() 3419: 7(fvec4) Load 3330(result) 3420: 7(fvec4) FAdd 3419 3418 Store 3330(result) 3420 - 3421: 7(fvec4) FunctionCall 70(testSparseTextureLod() + 3421: 7(fvec4) FunctionCall 72(testSparseTextureOffset() 3422: 7(fvec4) Load 3330(result) 3423: 7(fvec4) FAdd 3422 3421 Store 3330(result) 3423 - 3424: 7(fvec4) FunctionCall 72(testSparseTextureOffset() + 3424: 7(fvec4) FunctionCall 74(testSparseTextureLodOffset() 3425: 7(fvec4) Load 3330(result) 3426: 7(fvec4) FAdd 3425 3424 Store 3330(result) 3426 - 3427: 7(fvec4) FunctionCall 74(testSparseTextureLodOffset() + 3427: 7(fvec4) FunctionCall 76(testSparseTextureGrad() 3428: 7(fvec4) Load 3330(result) 3429: 7(fvec4) FAdd 3428 3427 Store 3330(result) 3429 - 3430: 7(fvec4) FunctionCall 76(testSparseTextureGrad() + 3430: 7(fvec4) FunctionCall 78(testSparseTextureGradOffset() 3431: 7(fvec4) Load 3330(result) 3432: 7(fvec4) FAdd 3431 3430 Store 3330(result) 3432 - 3433: 7(fvec4) FunctionCall 78(testSparseTextureGradOffset() + 3433: 7(fvec4) FunctionCall 80(testSparseTexelFetch() 3434: 7(fvec4) Load 3330(result) 3435: 7(fvec4) FAdd 3434 3433 Store 3330(result) 3435 - 3436: 7(fvec4) FunctionCall 80(testSparseTexelFetch() + 3436: 7(fvec4) FunctionCall 82(testSparseTexelFetchOffset() 3437: 7(fvec4) Load 3330(result) 3438: 7(fvec4) FAdd 3437 3436 Store 3330(result) 3438 - 3439: 7(fvec4) FunctionCall 82(testSparseTexelFetchOffset() + 3439: 7(fvec4) FunctionCall 84(testSparseTextureGather() 3440: 7(fvec4) Load 3330(result) 3441: 7(fvec4) FAdd 3440 3439 Store 3330(result) 3441 - 3442: 7(fvec4) FunctionCall 84(testSparseTextureGather() + 3442: 7(fvec4) FunctionCall 86(testSparseTextureGatherOffset() 3443: 7(fvec4) Load 3330(result) 3444: 7(fvec4) FAdd 3443 3442 Store 3330(result) 3444 - 3445: 7(fvec4) FunctionCall 86(testSparseTextureGatherOffset() + 3445: 7(fvec4) FunctionCall 88(testSparseTextureGatherOffsets() 3446: 7(fvec4) Load 3330(result) 3447: 7(fvec4) FAdd 3446 3445 Store 3330(result) 3447 - 3448: 7(fvec4) FunctionCall 88(testSparseTextureGatherOffsets() + 3448: 7(fvec4) FunctionCall 90(testSparseTextureGatherLod() 3449: 7(fvec4) Load 3330(result) 3450: 7(fvec4) FAdd 3449 3448 Store 3330(result) 3450 - 3451: 7(fvec4) FunctionCall 90(testSparseTextureGatherLod() + 3451: 7(fvec4) FunctionCall 92(testSparseTextureGatherLodOffset() 3452: 7(fvec4) Load 3330(result) 3453: 7(fvec4) FAdd 3452 3451 Store 3330(result) 3453 - 3454: 7(fvec4) FunctionCall 92(testSparseTextureGatherLodOffset() + 3454: 7(fvec4) FunctionCall 94(testSparseTextureGatherLodOffsets() 3455: 7(fvec4) Load 3330(result) 3456: 7(fvec4) FAdd 3455 3454 Store 3330(result) 3456 - 3457: 7(fvec4) FunctionCall 94(testSparseTextureGatherLodOffsets() + 3457: 7(fvec4) FunctionCall 96(testSparseImageLoad() 3458: 7(fvec4) Load 3330(result) 3459: 7(fvec4) FAdd 3458 3457 Store 3330(result) 3459 - 3460: 7(fvec4) FunctionCall 96(testSparseImageLoad() + 3460: 7(fvec4) FunctionCall 98(testSparseTextureClamp() 3461: 7(fvec4) Load 3330(result) 3462: 7(fvec4) FAdd 3461 3460 Store 3330(result) 3462 - 3463: 7(fvec4) FunctionCall 98(testSparseTextureClamp() + 3463: 7(fvec4) FunctionCall 100(testTextureClamp() 3464: 7(fvec4) Load 3330(result) 3465: 7(fvec4) FAdd 3464 3463 Store 3330(result) 3465 - 3466: 7(fvec4) FunctionCall 100(testTextureClamp() + 3466: 7(fvec4) FunctionCall 102(testSparseTextureOffsetClamp() 3467: 7(fvec4) Load 3330(result) 3468: 7(fvec4) FAdd 3467 3466 Store 3330(result) 3468 - 3469: 7(fvec4) FunctionCall 102(testSparseTextureOffsetClamp() + 3469: 7(fvec4) FunctionCall 104(testTextureOffsetClamp() 3470: 7(fvec4) Load 3330(result) 3471: 7(fvec4) FAdd 3470 3469 Store 3330(result) 3471 - 3472: 7(fvec4) FunctionCall 104(testTextureOffsetClamp() + 3472: 7(fvec4) FunctionCall 76(testSparseTextureGrad() 3473: 7(fvec4) Load 3330(result) 3474: 7(fvec4) FAdd 3473 3472 Store 3330(result) 3474 - 3475: 7(fvec4) FunctionCall 76(testSparseTextureGrad() + 3475: 7(fvec4) FunctionCall 27(testTextureGrad() 3476: 7(fvec4) Load 3330(result) 3477: 7(fvec4) FAdd 3476 3475 Store 3330(result) 3477 - 3478: 7(fvec4) FunctionCall 27(testTextureGrad() + 3478: 7(fvec4) FunctionCall 110(testSparseTextureGradOffsetClamp() 3479: 7(fvec4) Load 3330(result) 3480: 7(fvec4) FAdd 3479 3478 Store 3330(result) 3480 - 3481: 7(fvec4) FunctionCall 110(testSparseTextureGradOffsetClamp() + 3481: 7(fvec4) FunctionCall 112(testTextureGradOffsetClamp() 3482: 7(fvec4) Load 3330(result) 3483: 7(fvec4) FAdd 3482 3481 Store 3330(result) 3483 - 3484: 7(fvec4) FunctionCall 112(testTextureGradOffsetClamp() + 3484: 7(fvec4) FunctionCall 114(testCombinedTextureSampler() 3485: 7(fvec4) Load 3330(result) 3486: 7(fvec4) FAdd 3485 3484 Store 3330(result) 3486 - 3487: 7(fvec4) FunctionCall 114(testCombinedTextureSampler() + 3487: 7(fvec4) FunctionCall 116(testSubpassLoad() 3488: 7(fvec4) Load 3330(result) 3489: 7(fvec4) FAdd 3488 3487 Store 3330(result) 3489 - 3490: 7(fvec4) FunctionCall 116(testSubpassLoad() - 3491: 7(fvec4) Load 3330(result) - 3492: 7(fvec4) FAdd 3491 3490 - Store 3330(result) 3492 - 3495: 7(fvec4) Load 3330(result) - Store 3494(fragColor) 3495 + 3492: 7(fvec4) Load 3330(result) + Store 3491(fragColor) 3492 Return FunctionEnd 9(testTexture(): 7(fvec4) Function None 8 diff --git a/Test/baseResults/spv.forwardFun.frag.out b/Test/baseResults/spv.forwardFun.frag.out index 77f39416..d410c4d9 100644 --- a/Test/baseResults/spv.forwardFun.frag.out +++ b/Test/baseResults/spv.forwardFun.frag.out @@ -22,8 +22,8 @@ spv.forwardFun.frag Name 36 "d" Name 59 "bigColor" Decorate 10(unreachableReturn() RelaxedPrecision - Decorate 16(foo(vf4;) RelaxedPrecision Decorate 15(bar) RelaxedPrecision + Decorate 16(foo(vf4;) RelaxedPrecision Decorate 18(color) RelaxedPrecision Decorate 20(BaseColor) RelaxedPrecision Decorate 20(BaseColor) Location 1 diff --git a/Test/baseResults/spv.fragmentDensity-es.frag.out b/Test/baseResults/spv.fragmentDensity-es.frag.out index fb1407e4..f46a28bb 100644 --- a/Test/baseResults/spv.fragmentDensity-es.frag.out +++ b/Test/baseResults/spv.fragmentDensity-es.frag.out @@ -18,11 +18,11 @@ spv.fragmentDensity-es.frag Name 14 "FragInvocationCount" Name 16 "gl_FragInvocationCountEXT" Decorate 9(FragSize) Location 0 - Decorate 11(gl_FragSizeEXT) Flat Decorate 11(gl_FragSizeEXT) BuiltIn FragSizeEXT + Decorate 11(gl_FragSizeEXT) Flat Decorate 14(FragInvocationCount) Location 2 - Decorate 16(gl_FragInvocationCountEXT) Flat Decorate 16(gl_FragInvocationCountEXT) BuiltIn FragInvocationCountEXT + Decorate 16(gl_FragInvocationCountEXT) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.fragmentDensity.frag.out b/Test/baseResults/spv.fragmentDensity.frag.out index 43261cd1..5ce7a9a6 100644 --- a/Test/baseResults/spv.fragmentDensity.frag.out +++ b/Test/baseResults/spv.fragmentDensity.frag.out @@ -18,11 +18,11 @@ spv.fragmentDensity.frag Name 17 "FragInvocationCount" Name 19 "gl_FragInvocationCountEXT" Decorate 9(FragSize) Location 0 - Decorate 13(gl_FragSizeEXT) Flat Decorate 13(gl_FragSizeEXT) BuiltIn FragSizeEXT + Decorate 13(gl_FragSizeEXT) Flat Decorate 17(FragInvocationCount) Location 2 - Decorate 19(gl_FragInvocationCountEXT) Flat Decorate 19(gl_FragInvocationCountEXT) BuiltIn FragInvocationCountEXT + Decorate 19(gl_FragInvocationCountEXT) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.fsi.frag.out b/Test/baseResults/spv.fsi.frag.out index 1b5fbf47..df9fc7c6 100644 --- a/Test/baseResults/spv.fsi.frag.out +++ b/Test/baseResults/spv.fsi.frag.out @@ -18,14 +18,15 @@ spv.fsi.frag MemberName 7(B1) 0 "x" Name 9 "b1" Name 17 "im" + Decorate 7(B1) BufferBlock MemberDecorate 7(B1) 0 Coherent MemberDecorate 7(B1) 0 Offset 0 - Decorate 7(B1) BufferBlock - Decorate 9(b1) DescriptorSet 0 + Decorate 9(b1) Coherent Decorate 9(b1) Binding 0 - Decorate 17(im) DescriptorSet 0 - Decorate 17(im) Binding 1 + Decorate 9(b1) DescriptorSet 0 Decorate 17(im) Coherent + Decorate 17(im) Binding 1 + Decorate 17(im) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.funcall.array.frag.out b/Test/baseResults/spv.funcall.array.frag.out index b4e2bfbe..1a003be6 100644 --- a/Test/baseResults/spv.funcall.array.frag.out +++ b/Test/baseResults/spv.funcall.array.frag.out @@ -22,10 +22,10 @@ spv.funcall.array.frag Name 64 "param" Decorate 27(color) Location 0 Decorate 28 ArrayStride 16 - MemberDecorate 29(ub) 0 Offset 0 Decorate 29(ub) Block - Decorate 31 DescriptorSet 0 + MemberDecorate 29(ub) 0 Offset 0 Decorate 31 Binding 0 + Decorate 31 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.functionNestedOpaque.vert.out b/Test/baseResults/spv.functionNestedOpaque.vert.out index 58787600..0666c091 100644 --- a/Test/baseResults/spv.functionNestedOpaque.vert.out +++ b/Test/baseResults/spv.functionNestedOpaque.vert.out @@ -19,8 +19,8 @@ Validation failed Name 21 "bar(struct-S-s211;" Name 20 "p" Name 36 "si" - Decorate 36(si) DescriptorSet 0 Decorate 36(si) Binding 0 + Decorate 36(si) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.glsl.register.autoassign.frag.out b/Test/baseResults/spv.glsl.register.autoassign.frag.out index 041edb97..6ee2cdd4 100644 --- a/Test/baseResults/spv.glsl.register.autoassign.frag.out +++ b/Test/baseResults/spv.glsl.register.autoassign.frag.out @@ -40,47 +40,47 @@ spv.glsl.register.autoassign.frag Name 128 "g_sSamp_unused2" Name 137 "FragColor" Name 141 "g_tTex_unused3" - Decorate 17(g_tTex1) DescriptorSet 0 Decorate 17(g_tTex1) Binding 11 - Decorate 21(g_sSamp1) DescriptorSet 0 + Decorate 17(g_tTex1) DescriptorSet 0 Decorate 21(g_sSamp1) Binding 5 - Decorate 27(g_tTex2) DescriptorSet 0 + Decorate 21(g_sSamp1) DescriptorSet 0 Decorate 27(g_tTex2) Binding 14 - Decorate 29(g_sSamp2) DescriptorSet 0 + Decorate 27(g_tTex2) DescriptorSet 0 Decorate 29(g_sSamp2) Binding 6 - Decorate 39(g_tTex3) DescriptorSet 0 + Decorate 29(g_sSamp2) DescriptorSet 0 Decorate 39(g_tTex3) Binding 13 - Decorate 46(g_sSamp3) DescriptorSet 0 + Decorate 39(g_tTex3) DescriptorSet 0 Decorate 46(g_sSamp3) Binding 7 - Decorate 64(g_tTex4) DescriptorSet 0 + Decorate 46(g_sSamp3) DescriptorSet 0 Decorate 64(g_tTex4) Binding 15 - Decorate 69(g_sSamp4) DescriptorSet 0 + Decorate 64(g_tTex4) DescriptorSet 0 Decorate 69(g_sSamp4) Binding 8 - Decorate 84(g_tTex5) DescriptorSet 0 + Decorate 69(g_sSamp4) DescriptorSet 0 Decorate 84(g_tTex5) Binding 16 - Decorate 86(g_sSamp5) DescriptorSet 0 + Decorate 84(g_tTex5) DescriptorSet 0 Decorate 86(g_sSamp5) Binding 9 + Decorate 86(g_sSamp5) DescriptorSet 0 MemberDecorate 93(MyStruct_t) 0 Offset 0 MemberDecorate 93(MyStruct_t) 1 Offset 4 MemberDecorate 93(MyStruct_t) 2 Offset 16 + Decorate 95(myblock) Block MemberDecorate 95(myblock) 0 Offset 0 MemberDecorate 95(myblock) 1 Offset 32 MemberDecorate 95(myblock) 2 Offset 48 MemberDecorate 95(myblock) 3 Offset 64 - Decorate 95(myblock) Block - Decorate 97 DescriptorSet 0 Decorate 97 Binding 24 - Decorate 119(g_tTex_unused1) DescriptorSet 0 + Decorate 97 DescriptorSet 0 Decorate 119(g_tTex_unused1) Binding 10 - Decorate 121(g_sSamp_unused1) DescriptorSet 0 + Decorate 119(g_tTex_unused1) DescriptorSet 0 Decorate 121(g_sSamp_unused1) Binding 0 - Decorate 126(g_tTex_unused2) DescriptorSet 0 + Decorate 121(g_sSamp_unused1) DescriptorSet 0 Decorate 126(g_tTex_unused2) Binding 12 - Decorate 128(g_sSamp_unused2) DescriptorSet 0 + Decorate 126(g_tTex_unused2) DescriptorSet 0 Decorate 128(g_sSamp_unused2) Binding 0 + Decorate 128(g_sSamp_unused2) DescriptorSet 0 Decorate 137(FragColor) Location 0 - Decorate 141(g_tTex_unused3) DescriptorSet 0 Decorate 141(g_tTex_unused3) Binding 0 + Decorate 141(g_tTex_unused3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.glsl.register.noautoassign.frag.out b/Test/baseResults/spv.glsl.register.noautoassign.frag.out index ccf68804..b5e6a6e4 100644 --- a/Test/baseResults/spv.glsl.register.noautoassign.frag.out +++ b/Test/baseResults/spv.glsl.register.noautoassign.frag.out @@ -40,47 +40,47 @@ spv.glsl.register.noautoassign.frag Name 128 "g_sSamp_unused2" Name 137 "FragColor" Name 141 "g_tTex_unused3" - Decorate 17(g_tTex1) DescriptorSet 0 Decorate 17(g_tTex1) Binding 17 - Decorate 21(g_sSamp1) DescriptorSet 0 + Decorate 17(g_tTex1) DescriptorSet 0 Decorate 21(g_sSamp1) Binding 5 - Decorate 27(g_tTex2) DescriptorSet 0 + Decorate 21(g_sSamp1) DescriptorSet 0 Decorate 27(g_tTex2) Binding 18 - Decorate 29(g_sSamp2) DescriptorSet 0 + Decorate 27(g_tTex2) DescriptorSet 0 Decorate 29(g_sSamp2) Binding 6 - Decorate 39(g_tTex3) DescriptorSet 0 + Decorate 29(g_sSamp2) DescriptorSet 0 Decorate 39(g_tTex3) Binding 19 - Decorate 46(g_sSamp3) DescriptorSet 0 + Decorate 39(g_tTex3) DescriptorSet 0 Decorate 46(g_sSamp3) Binding 7 - Decorate 64(g_tTex4) DescriptorSet 0 + Decorate 46(g_sSamp3) DescriptorSet 0 Decorate 64(g_tTex4) Binding 20 - Decorate 69(g_sSamp4) DescriptorSet 0 + Decorate 64(g_tTex4) DescriptorSet 0 Decorate 69(g_sSamp4) Binding 8 - Decorate 84(g_tTex5) DescriptorSet 0 + Decorate 69(g_sSamp4) DescriptorSet 0 Decorate 84(g_tTex5) Binding 21 - Decorate 86(g_sSamp5) DescriptorSet 0 + Decorate 84(g_tTex5) DescriptorSet 0 Decorate 86(g_sSamp5) Binding 9 + Decorate 86(g_sSamp5) DescriptorSet 0 MemberDecorate 93(MyStruct_t) 0 Offset 0 MemberDecorate 93(MyStruct_t) 1 Offset 4 MemberDecorate 93(MyStruct_t) 2 Offset 16 + Decorate 95(myblock) Block MemberDecorate 95(myblock) 0 Offset 0 MemberDecorate 95(myblock) 1 Offset 32 MemberDecorate 95(myblock) 2 Offset 48 MemberDecorate 95(myblock) 3 Offset 64 - Decorate 95(myblock) Block - Decorate 97 DescriptorSet 0 Decorate 97 Binding 19 - Decorate 119(g_tTex_unused1) DescriptorSet 0 + Decorate 97 DescriptorSet 0 Decorate 119(g_tTex_unused1) Binding 22 - Decorate 121(g_sSamp_unused1) DescriptorSet 0 + Decorate 119(g_tTex_unused1) DescriptorSet 0 Decorate 121(g_sSamp_unused1) Binding 10 - Decorate 126(g_tTex_unused2) DescriptorSet 0 + Decorate 121(g_sSamp_unused1) DescriptorSet 0 Decorate 126(g_tTex_unused2) Binding 23 - Decorate 128(g_sSamp_unused2) DescriptorSet 0 + Decorate 126(g_tTex_unused2) DescriptorSet 0 Decorate 128(g_sSamp_unused2) Binding 11 + Decorate 128(g_sSamp_unused2) DescriptorSet 0 Decorate 137(FragColor) Location 0 - Decorate 141(g_tTex_unused3) DescriptorSet 0 Decorate 141(g_tTex_unused3) Binding 24 + Decorate 141(g_tTex_unused3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.hlslOffsets.vert.out b/Test/baseResults/spv.hlslOffsets.vert.out index d2d6443c..72a996d1 100644 --- a/Test/baseResults/spv.hlslOffsets.vert.out +++ b/Test/baseResults/spv.hlslOffsets.vert.out @@ -44,6 +44,7 @@ Shader version: 450 MemberName 11(block) 12 "m96" MemberName 11(block) 13 "m112" Name 13 "" + Decorate 11(block) BufferBlock MemberDecorate 11(block) 0 Offset 0 MemberDecorate 11(block) 1 Offset 4 MemberDecorate 11(block) 2 Offset 16 @@ -58,9 +59,8 @@ Shader version: 450 MemberDecorate 11(block) 11 Offset 88 MemberDecorate 11(block) 12 Offset 96 MemberDecorate 11(block) 13 Offset 112 - Decorate 11(block) BufferBlock - Decorate 13 DescriptorSet 0 Decorate 13 Binding 0 + Decorate 13 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.image.frag.out b/Test/baseResults/spv.image.frag.out index f71a1cc2..a6141e24 100644 --- a/Test/baseResults/spv.image.frag.out +++ b/Test/baseResults/spv.image.frag.out @@ -45,47 +45,47 @@ Validation failed 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 15(i1D) DescriptorSet 0 Decorate 27(i2D) Binding 1 - Decorate 41(i3D) DescriptorSet 0 + Decorate 27(i2D) DescriptorSet 0 Decorate 41(i3D) Binding 2 - Decorate 48(iCube) DescriptorSet 0 + Decorate 41(i3D) DescriptorSet 0 Decorate 48(iCube) Binding 3 - Decorate 60(iCubeArray) DescriptorSet 0 + Decorate 48(iCube) DescriptorSet 0 Decorate 60(iCubeArray) Binding 4 - Decorate 67(i2DRect) DescriptorSet 0 + Decorate 60(iCubeArray) DescriptorSet 0 Decorate 67(i2DRect) Binding 5 - Decorate 79(i1DArray) DescriptorSet 0 + Decorate 67(i2DRect) DescriptorSet 0 Decorate 79(i1DArray) Binding 6 - Decorate 91(i2DArray) DescriptorSet 0 + Decorate 79(i1DArray) DescriptorSet 0 Decorate 91(i2DArray) Binding 7 - Decorate 98(iBuffer) DescriptorSet 0 + Decorate 91(i2DArray) DescriptorSet 0 Decorate 98(iBuffer) Binding 8 - Decorate 107(i2DMS) DescriptorSet 0 + Decorate 98(iBuffer) DescriptorSet 0 Decorate 107(i2DMS) Binding 9 - Decorate 119(i2DMSArray) DescriptorSet 0 + Decorate 107(i2DMS) DescriptorSet 0 Decorate 119(i2DMSArray) Binding 10 + Decorate 119(i2DMSArray) DescriptorSet 0 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 243(ii1D) DescriptorSet 0 Decorate 255(ui2D) Binding 12 + Decorate 255(ui2D) DescriptorSet 0 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 367(ii2DMS) DescriptorSet 0 Decorate 377(ui2DMSArray) Binding 14 - Decorate 386(wo2D) DescriptorSet 0 - Decorate 386(wo2D) Binding 1 + Decorate 377(ui2DMSArray) DescriptorSet 0 Decorate 386(wo2D) NonReadable + Decorate 386(wo2D) Binding 1 + Decorate 386(wo2D) DescriptorSet 0 Decorate 391(fragData) Location 0 Decorate 404(ic4D) Flat Decorate 404(ic4D) Location 3 diff --git a/Test/baseResults/spv.imageAtomic64.comp.out b/Test/baseResults/spv.imageAtomic64.comp.out index 4317ae05..1d0ffd8c 100644 --- a/Test/baseResults/spv.imageAtomic64.comp.out +++ b/Test/baseResults/spv.imageAtomic64.comp.out @@ -21,12 +21,12 @@ spv.imageAtomic64.comp Name 14 "ssbo" MemberName 14(ssbo) 0 "y" Name 16 "" - Decorate 9(z) DescriptorSet 0 Decorate 9(z) Binding 1 - MemberDecorate 14(ssbo) 0 Offset 0 + Decorate 9(z) DescriptorSet 0 Decorate 14(ssbo) BufferBlock - Decorate 16 DescriptorSet 0 + MemberDecorate 14(ssbo) 0 Offset 0 Decorate 16 Binding 0 + Decorate 16 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 64 0 diff --git a/Test/baseResults/spv.imageAtomic64.frag.out b/Test/baseResults/spv.imageAtomic64.frag.out index 1c002ab2..35b6c512 100644 --- a/Test/baseResults/spv.imageAtomic64.frag.out +++ b/Test/baseResults/spv.imageAtomic64.frag.out @@ -46,36 +46,36 @@ Validation failed Name 240 "u2DMS" Name 458 "ResType" Name 483 "ResType" + Decorate 12(Buf) BufferBlock MemberDecorate 12(Buf) 0 Offset 0 MemberDecorate 12(Buf) 1 Offset 8 MemberDecorate 12(Buf) 2 Offset 32 MemberDecorate 12(Buf) 3 Offset 64 MemberDecorate 12(Buf) 4 Offset 96 - Decorate 12(Buf) BufferBlock - Decorate 14 DescriptorSet 0 Decorate 14 Binding 11 - Decorate 18(i1D) DescriptorSet 0 + Decorate 14 DescriptorSet 0 Decorate 18(i1D) Binding 0 - Decorate 35(i3D) DescriptorSet 0 + Decorate 18(i1D) DescriptorSet 0 Decorate 35(i3D) Binding 2 - Decorate 48(iBuf) DescriptorSet 0 + Decorate 35(i3D) DescriptorSet 0 Decorate 48(iBuf) Binding 4 - Decorate 58(i2DArray) DescriptorSet 0 + Decorate 48(iBuf) DescriptorSet 0 Decorate 58(i2DArray) Binding 6 - Decorate 69(i2DRect) DescriptorSet 0 + Decorate 58(i2DArray) DescriptorSet 0 Decorate 69(i2DRect) Binding 8 - Decorate 81(i2DMSArray) DescriptorSet 0 + Decorate 69(i2DRect) DescriptorSet 0 Decorate 81(i2DMSArray) Binding 10 - Decorate 194(u2D) DescriptorSet 0 + Decorate 81(i2DMSArray) DescriptorSet 0 Decorate 194(u2D) Binding 1 - Decorate 207(uCube) DescriptorSet 0 + Decorate 194(u2D) DescriptorSet 0 Decorate 207(uCube) Binding 3 - Decorate 218(u1DArray) DescriptorSet 0 + Decorate 207(uCube) DescriptorSet 0 Decorate 218(u1DArray) Binding 5 - Decorate 229(uCubeArray) DescriptorSet 0 + Decorate 218(u1DArray) DescriptorSet 0 Decorate 229(uCubeArray) Binding 7 - Decorate 240(u2DMS) DescriptorSet 0 + Decorate 229(uCubeArray) DescriptorSet 0 Decorate 240(u2DMS) Binding 9 + Decorate 240(u2DMS) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 64 1 diff --git a/Test/baseResults/spv.imageLoadStoreLod.frag.out b/Test/baseResults/spv.imageLoadStoreLod.frag.out index 4a16d75a..f38391b1 100644 --- a/Test/baseResults/spv.imageLoadStoreLod.frag.out +++ b/Test/baseResults/spv.imageLoadStoreLod.frag.out @@ -44,40 +44,40 @@ spv.imageLoadStoreLod.frag Name 133 "u64i2DArray" Name 136 "ResType" Name 142 "u64iCubeArray" - Decorate 14(i1D) DescriptorSet 0 Decorate 14(i1D) Binding 0 - Decorate 24(i2D) DescriptorSet 0 + Decorate 14(i1D) DescriptorSet 0 Decorate 24(i2D) Binding 1 - Decorate 34(i3D) DescriptorSet 0 + Decorate 24(i2D) DescriptorSet 0 Decorate 34(i3D) Binding 2 - Decorate 46(iiCube) DescriptorSet 0 + Decorate 34(i3D) DescriptorSet 0 Decorate 46(iiCube) Binding 3 - Decorate 53(ii1DArray) DescriptorSet 0 + Decorate 46(iiCube) DescriptorSet 0 Decorate 53(ii1DArray) Binding 4 - Decorate 60(ui2DArray) DescriptorSet 0 + Decorate 53(ii1DArray) DescriptorSet 0 Decorate 60(ui2DArray) Binding 5 - Decorate 71(uiCubeArray) DescriptorSet 0 + Decorate 60(ui2DArray) DescriptorSet 0 Decorate 71(uiCubeArray) Binding 6 + Decorate 71(uiCubeArray) DescriptorSet 0 Decorate 77(fragColor) Location 0 + Decorate 86(Buf) BufferBlock MemberDecorate 86(Buf) 0 Offset 0 MemberDecorate 86(Buf) 1 Offset 32 - Decorate 86(Buf) BufferBlock - Decorate 88 DescriptorSet 0 Decorate 88 Binding 14 - Decorate 92(i64i1D) DescriptorSet 0 + Decorate 88 DescriptorSet 0 Decorate 92(i64i1D) Binding 7 - Decorate 102(i64i2D) DescriptorSet 0 + Decorate 92(i64i1D) DescriptorSet 0 Decorate 102(i64i2D) Binding 8 - Decorate 111(i64i3D) DescriptorSet 0 + Decorate 102(i64i2D) DescriptorSet 0 Decorate 111(i64i3D) Binding 9 - Decorate 120(u64iCube) DescriptorSet 0 + Decorate 111(i64i3D) DescriptorSet 0 Decorate 120(u64iCube) Binding 10 - Decorate 127(u64i1DArray) DescriptorSet 0 + Decorate 120(u64iCube) DescriptorSet 0 Decorate 127(u64i1DArray) Binding 11 - Decorate 133(u64i2DArray) DescriptorSet 0 + Decorate 127(u64i1DArray) DescriptorSet 0 Decorate 133(u64i2DArray) Binding 12 - Decorate 142(u64iCubeArray) DescriptorSet 0 + Decorate 133(u64i2DArray) DescriptorSet 0 Decorate 142(u64iCubeArray) Binding 13 + Decorate 142(u64iCubeArray) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.int16.amd.frag.out b/Test/baseResults/spv.int16.amd.frag.out index 53f55377..54b09f00 100644 --- a/Test/baseResults/spv.int16.amd.frag.out +++ b/Test/baseResults/spv.int16.amd.frag.out @@ -94,15 +94,15 @@ spv.int16.amd.frag 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 + MemberDecorate 25(Uniforms) 0 Offset 0 Decorate 27 Binding 0 + Decorate 27 DescriptorSet 0 + Decorate 531(Block) Block 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 533(block) DescriptorSet 0 Decorate 535(iu16v) Flat Decorate 535(iu16v) Location 0 Decorate 537(ii16) Flat diff --git a/Test/baseResults/spv.int16.frag.out b/Test/baseResults/spv.int16.frag.out index ed788f87..c7944ef1 100644 --- a/Test/baseResults/spv.int16.frag.out +++ b/Test/baseResults/spv.int16.frag.out @@ -80,10 +80,11 @@ spv.int16.frag Name 546 "block" Name 547 "si16" Name 548 "su16" - MemberDecorate 24(Uniforms) 0 Offset 0 Decorate 24(Uniforms) Block - Decorate 26 DescriptorSet 0 + MemberDecorate 24(Uniforms) 0 Offset 0 Decorate 26 Binding 0 + Decorate 26 DescriptorSet 0 + Decorate 544(Block) Block MemberDecorate 544(Block) 0 Offset 0 MemberDecorate 544(Block) 1 Offset 4 MemberDecorate 544(Block) 2 Offset 8 @@ -92,9 +93,8 @@ spv.int16.frag 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 546(block) DescriptorSet 0 Decorate 547(si16) SpecId 100 Decorate 548(su16) SpecId 101 2: TypeVoid diff --git a/Test/baseResults/spv.int32.frag.out b/Test/baseResults/spv.int32.frag.out index 2c260dd2..254622d6 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): 8000b -// Id's are bound by 505 +// Id's are bound by 499 Capability Shader Capability Float16 @@ -43,63 +43,63 @@ spv.int32.frag Name 84 "f64v" Name 94 "i8v" Name 105 "i16v" - Name 125 "u8v" - Name 132 "u16v" - Name 152 "f16v" - Name 168 "bv" - Name 186 "u32v" - Name 191 "i32" - Name 210 "i" - Name 214 "uv" - Name 227 "i64" - Name 260 "b" - Name 312 "i32v" - Name 315 "i32" - Name 325 "u32v" - Name 327 "u32" - Name 399 "i8v4" - Name 402 "i16v2" - Name 407 "u8v4" - Name 410 "u16v2" - Name 413 "i64" - Name 416 "u32v2" - Name 418 "u64" - Name 422 "bv" - 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 + Name 122 "u8v" + Name 129 "u16v" + Name 146 "f16v" + Name 162 "bv" + Name 180 "u32v" + Name 185 "i32" + Name 204 "i" + Name 208 "uv" + Name 221 "i64" + Name 254 "b" + Name 306 "i32v" + Name 309 "i32" + Name 319 "u32v" + Name 321 "u32" + Name 393 "i8v4" + Name 396 "i16v2" + Name 401 "u8v4" + Name 404 "u16v2" + Name 407 "i64" + Name 410 "u32v2" + Name 412 "u64" + Name 416 "bv" + Name 491 "Block" + MemberName 491(Block) 0 "i32" + MemberName 491(Block) 1 "i32v2" + MemberName 491(Block) 2 "i32v3" + MemberName 491(Block) 3 "i32v4" + MemberName 491(Block) 4 "u32" + MemberName 491(Block) 5 "u32v2" + MemberName 491(Block) 6 "u32v3" + MemberName 491(Block) 7 "u32v4" + Name 493 "block" + Name 494 "si32" + Name 495 "su32" + Name 496 "si" + Name 497 "su" + Name 498 "sb" Decorate 27(Uniforms) Block - Decorate 29 DescriptorSet 0 + MemberDecorate 27(Uniforms) 0 Offset 0 Decorate 29 Binding 0 - 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 + Decorate 29 DescriptorSet 0 + Decorate 491(Block) Block + MemberDecorate 491(Block) 0 Offset 0 + MemberDecorate 491(Block) 1 Offset 8 + MemberDecorate 491(Block) 2 Offset 16 + MemberDecorate 491(Block) 3 Offset 32 + MemberDecorate 491(Block) 4 Offset 48 + MemberDecorate 491(Block) 5 Offset 56 + MemberDecorate 491(Block) 6 Offset 64 + MemberDecorate 491(Block) 7 Offset 80 + Decorate 493(block) Binding 1 + Decorate 493(block) DescriptorSet 0 + Decorate 494(si32) SpecId 100 + Decorate 495(su32) SpecId 101 + Decorate 496(si) SpecId 102 + Decorate 497(su) SpecId 103 + Decorate 498(sb) SpecId 104 2: TypeVoid 3: TypeFunction 2 14: TypeInt 32 0 @@ -151,50 +151,50 @@ spv.int32.frag 104: TypePointer Function 103(i16vec2) 109: TypeInt 16 0 110: TypeVector 109(int16_t) 2 - 124: TypePointer Function 99(i8vec2) - 131: TypePointer Function 110(i16vec2) - 149: TypeFloat 16 - 150: TypeVector 149(float16_t) 2 - 151: TypePointer Function 150(f16vec2) - 165: TypeBool - 166: TypeVector 165(bool) 2 - 167: TypePointer Function 166(bvec2) - 170: 18(int) Constant 1 - 171: 52(ivec2) ConstantComposite 30 30 - 172: 52(ivec2) ConstantComposite 170 170 - 175: 14(int) Constant 0 - 176: 14(int) Constant 1 - 177: 49(ivec2) ConstantComposite 175 175 - 178: 49(ivec2) ConstantComposite 176 176 - 184: TypeVector 14(int) 3 - 185: TypePointer Function 184(ivec3) - 188: TypeVector 18(int) 3 - 226: TypePointer Function 57(int64_t) - 251: 14(int) Constant 2 - 259: TypePointer Function 165(bool) - 323: 52(ivec2) ConstantComposite 24 24 - 332: 184(ivec3) ConstantComposite 175 175 175 - 374: 165(bool) ConstantTrue - 381: 165(bool) ConstantFalse - 382: 166(bvec2) ConstantComposite 381 381 - 394: TypeVector 165(bool) 3 - 395: 394(bvec3) ConstantComposite 381 381 381 - 397: TypeVector 91(int8_t) 4 - 398: TypePointer Function 397(i8vec4) - 405: TypeVector 98(int8_t) 4 - 406: TypePointer Function 405(i8vec4) - 417: TypePointer Function 63(int64_t) - 421: TypePointer Function 394(bvec3) - 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 + 121: TypePointer Function 99(i8vec2) + 128: TypePointer Function 110(i16vec2) + 143: TypeFloat 16 + 144: TypeVector 143(float16_t) 2 + 145: TypePointer Function 144(f16vec2) + 159: TypeBool + 160: TypeVector 159(bool) 2 + 161: TypePointer Function 160(bvec2) + 164: 18(int) Constant 1 + 165: 52(ivec2) ConstantComposite 30 30 + 166: 52(ivec2) ConstantComposite 164 164 + 169: 14(int) Constant 0 + 170: 14(int) Constant 1 + 171: 49(ivec2) ConstantComposite 169 169 + 172: 49(ivec2) ConstantComposite 170 170 + 178: TypeVector 14(int) 3 + 179: TypePointer Function 178(ivec3) + 182: TypeVector 18(int) 3 + 220: TypePointer Function 57(int64_t) + 245: 14(int) Constant 2 + 253: TypePointer Function 159(bool) + 317: 52(ivec2) ConstantComposite 24 24 + 326: 178(ivec3) ConstantComposite 169 169 169 + 368: 159(bool) ConstantTrue + 375: 159(bool) ConstantFalse + 376: 160(bvec2) ConstantComposite 375 375 + 388: TypeVector 159(bool) 3 + 389: 388(bvec3) ConstantComposite 375 375 375 + 391: TypeVector 91(int8_t) 4 + 392: TypePointer Function 391(i8vec4) + 399: TypeVector 98(int8_t) 4 + 400: TypePointer Function 399(i8vec4) + 411: TypePointer Function 63(int64_t) + 415: TypePointer Function 388(bvec3) + 489: TypeVector 18(int) 4 + 490: TypeVector 14(int) 4 + 491(Block): TypeStruct 18(int) 52(ivec2) 182(ivec3) 489(ivec4) 14(int) 49(ivec2) 178(ivec3) 490(ivec4) + 492: TypePointer Uniform 491(Block) + 493(block): 492(ptr) Variable Uniform + 494(si32): 18(int) SpecConstant 4294967286 + 495(su32): 14(int) SpecConstant 20 + 496(si): 18(int) SpecConstant 4294967291 + 497(su): 14(int) SpecConstant 4 + 498(sb): 159(bool) SpecConstantTrue 4(main): 2 Function None 3 5: Label Store 16(u32Max) 17 @@ -230,10 +230,10 @@ spv.int32.frag 84(f64v): 83(ptr) Variable Function 94(i8v): 93(ptr) Variable Function 105(i16v): 104(ptr) Variable Function - 125(u8v): 124(ptr) Variable Function - 132(u16v): 131(ptr) Variable Function - 152(f16v): 151(ptr) Variable Function - 168(bv): 167(ptr) Variable Function + 122(u8v): 121(ptr) Variable Function + 129(u16v): 128(ptr) Variable Function + 146(f16v): 145(ptr) Variable Function + 162(bv): 161(ptr) Variable Function 55: 52(ivec2) Load 54(i32v) 56: 49(ivec2) Bitcast 55 Store 51(u32v) 56 @@ -278,453 +278,447 @@ spv.int32.frag 112:103(i16vec2) Bitcast 111 Store 105(i16v) 112 113: 52(ivec2) Load 54(i32v) - 114: 18(int) CompositeExtract 113 0 - 115: 18(int) CompositeExtract 113 1 - 116: 52(ivec2) CompositeConstruct 114 115 - Store 54(i32v) 116 - 117: 49(ivec2) Load 51(u32v) - 118: 52(ivec2) Bitcast 117 - Store 54(i32v) 118 - 119: 52(ivec2) Load 54(i32v) - 120: 58(i64vec2) SConvert 119 + Store 54(i32v) 113 + 114: 49(ivec2) Load 51(u32v) + 115: 52(ivec2) Bitcast 114 + Store 54(i32v) 115 + 116: 52(ivec2) Load 54(i32v) + 117: 58(i64vec2) SConvert 116 + Store 60(i64v) 117 + 118: 49(ivec2) Load 51(u32v) + 119: 64(i64vec2) UConvert 118 + 120: 58(i64vec2) Bitcast 119 Store 60(i64v) 120 - 121: 49(ivec2) Load 51(u32v) - 122: 64(i64vec2) UConvert 121 - 123: 58(i64vec2) Bitcast 122 - Store 60(i64v) 123 - 126: 52(ivec2) Load 54(i32v) - 127: 92(i8vec2) SConvert 126 - 128: 99(i8vec2) Bitcast 127 - Store 125(u8v) 128 - 129: 49(ivec2) Load 51(u32v) - 130: 99(i8vec2) UConvert 129 - Store 125(u8v) 130 - 133: 52(ivec2) Load 54(i32v) - 134:103(i16vec2) SConvert 133 - 135:110(i16vec2) Bitcast 134 - Store 132(u16v) 135 - 136: 49(ivec2) Load 51(u32v) - 137:110(i16vec2) UConvert 136 - Store 132(u16v) 137 + 123: 52(ivec2) Load 54(i32v) + 124: 92(i8vec2) SConvert 123 + 125: 99(i8vec2) Bitcast 124 + Store 122(u8v) 125 + 126: 49(ivec2) Load 51(u32v) + 127: 99(i8vec2) UConvert 126 + Store 122(u8v) 127 + 130: 52(ivec2) Load 54(i32v) + 131:103(i16vec2) SConvert 130 + 132:110(i16vec2) Bitcast 131 + Store 129(u16v) 132 + 133: 49(ivec2) Load 51(u32v) + 134:110(i16vec2) UConvert 133 + Store 129(u16v) 134 + 135: 52(ivec2) Load 54(i32v) + 136: 49(ivec2) Bitcast 135 + Store 51(u32v) 136 + 137: 49(ivec2) Load 51(u32v) + Store 51(u32v) 137 138: 52(ivec2) Load 54(i32v) - 139: 49(ivec2) Bitcast 138 - Store 51(u32v) 139 - 140: 49(ivec2) Load 51(u32v) - 141: 14(int) CompositeExtract 140 0 - 142: 14(int) CompositeExtract 140 1 - 143: 49(ivec2) CompositeConstruct 141 142 - Store 51(u32v) 143 - 144: 52(ivec2) Load 54(i32v) - 145: 58(i64vec2) SConvert 144 - 146: 64(i64vec2) Bitcast 145 - Store 66(u64v) 146 - 147: 49(ivec2) Load 51(u32v) - 148: 64(i64vec2) UConvert 147 - Store 66(u64v) 148 - 153: 52(ivec2) Load 54(i32v) - 154:150(f16vec2) ConvertSToF 153 - Store 152(f16v) 154 - 155: 52(ivec2) Load 54(i32v) - 156: 76(fvec2) ConvertSToF 155 + 139: 58(i64vec2) SConvert 138 + 140: 64(i64vec2) Bitcast 139 + Store 66(u64v) 140 + 141: 49(ivec2) Load 51(u32v) + 142: 64(i64vec2) UConvert 141 + Store 66(u64v) 142 + 147: 52(ivec2) Load 54(i32v) + 148:144(f16vec2) ConvertSToF 147 + Store 146(f16v) 148 + 149: 52(ivec2) Load 54(i32v) + 150: 76(fvec2) ConvertSToF 149 + Store 78(f32v) 150 + 151: 52(ivec2) Load 54(i32v) + 152: 82(f64vec2) ConvertSToF 151 + Store 84(f64v) 152 + 153: 49(ivec2) Load 51(u32v) + 154:144(f16vec2) ConvertUToF 153 + Store 146(f16v) 154 + 155: 49(ivec2) Load 51(u32v) + 156: 76(fvec2) ConvertUToF 155 Store 78(f32v) 156 - 157: 52(ivec2) Load 54(i32v) - 158: 82(f64vec2) ConvertSToF 157 + 157: 49(ivec2) Load 51(u32v) + 158: 82(f64vec2) ConvertUToF 157 Store 84(f64v) 158 - 159: 49(ivec2) Load 51(u32v) - 160:150(f16vec2) ConvertUToF 159 - Store 152(f16v) 160 - 161: 49(ivec2) Load 51(u32v) - 162: 76(fvec2) ConvertUToF 161 - Store 78(f32v) 162 - 163: 49(ivec2) Load 51(u32v) - 164: 82(f64vec2) ConvertUToF 163 - Store 84(f64v) 164 - 169: 166(bvec2) Load 168(bv) - 173: 52(ivec2) Select 169 172 171 - Store 54(i32v) 173 - 174: 166(bvec2) Load 168(bv) - 179: 49(ivec2) Select 174 178 177 - Store 51(u32v) 179 - 180: 52(ivec2) Load 54(i32v) - 181: 166(bvec2) INotEqual 180 177 - Store 168(bv) 181 - 182: 49(ivec2) Load 51(u32v) - 183: 166(bvec2) INotEqual 182 177 - Store 168(bv) 183 + 163: 160(bvec2) Load 162(bv) + 167: 52(ivec2) Select 163 166 165 + Store 54(i32v) 167 + 168: 160(bvec2) Load 162(bv) + 173: 49(ivec2) Select 168 172 171 + Store 51(u32v) 173 + 174: 52(ivec2) Load 54(i32v) + 175: 160(bvec2) INotEqual 174 171 + Store 162(bv) 175 + 176: 49(ivec2) Load 51(u32v) + 177: 160(bvec2) INotEqual 176 171 + Store 162(bv) 177 Return FunctionEnd 10(operators(): 2 Function None 3 11: Label - 186(u32v): 185(ptr) Variable Function - 191(i32): 19(ptr) Variable Function - 210(i): 19(ptr) Variable Function - 214(uv): 185(ptr) Variable Function - 227(i64): 226(ptr) Variable Function - 260(b): 259(ptr) Variable Function - 187: 184(ivec3) Load 186(u32v) - 189: 188(ivec3) CompositeConstruct 170 170 170 - 190: 184(ivec3) IAdd 187 189 - Store 186(u32v) 190 - 192: 18(int) Load 191(i32) - 193: 18(int) ISub 192 170 - Store 191(i32) 193 - 194: 18(int) Load 191(i32) - 195: 18(int) IAdd 194 170 - Store 191(i32) 195 - 196: 184(ivec3) Load 186(u32v) - 197: 188(ivec3) CompositeConstruct 170 170 170 - 198: 184(ivec3) ISub 196 197 - Store 186(u32v) 198 - 199: 184(ivec3) Load 186(u32v) - 200: 184(ivec3) Not 199 - Store 186(u32v) 200 - 201: 18(int) Load 191(i32) - Store 191(i32) 201 - 202: 184(ivec3) Load 186(u32v) - 203: 184(ivec3) SNegate 202 - Store 186(u32v) 203 - 204: 18(int) Load 191(i32) - 205: 18(int) Load 191(i32) - 206: 18(int) IAdd 205 204 - Store 191(i32) 206 - 207: 184(ivec3) Load 186(u32v) - 208: 184(ivec3) Load 186(u32v) - 209: 184(ivec3) ISub 208 207 - Store 186(u32v) 209 - 211: 18(int) Load 191(i32) - 212: 18(int) Load 210(i) - 213: 18(int) IMul 212 211 - Store 210(i) 213 - 215: 184(ivec3) Load 186(u32v) - 216: 184(ivec3) Load 214(uv) - 217: 184(ivec3) UDiv 216 215 - Store 214(uv) 217 - 218: 18(int) Load 191(i32) - 219: 14(int) Bitcast 218 - 220: 184(ivec3) Load 214(uv) - 221: 184(ivec3) CompositeConstruct 219 219 219 - 222: 184(ivec3) UMod 220 221 - Store 214(uv) 222 - 223: 184(ivec3) Load 186(u32v) - 224: 184(ivec3) Load 214(uv) - 225: 184(ivec3) IAdd 223 224 - Store 214(uv) 225 - 228: 18(int) Load 191(i32) - 229: 57(int64_t) SConvert 228 - 230: 57(int64_t) Load 227(i64) - 231: 57(int64_t) ISub 229 230 - Store 227(i64) 231 - 232: 184(ivec3) Load 186(u32v) - 233: 184(ivec3) Load 214(uv) - 234: 184(ivec3) IMul 232 233 - Store 214(uv) 234 - 235: 18(int) Load 191(i32) - 236: 57(int64_t) SConvert 235 - 237: 57(int64_t) Load 227(i64) - 238: 57(int64_t) IMul 236 237 - Store 227(i64) 238 - 239: 18(int) Load 191(i32) - 240: 18(int) Load 210(i) - 241: 18(int) SMod 239 240 - Store 210(i) 241 - 242: 18(int) Load 191(i32) - 243: 184(ivec3) Load 186(u32v) - 244: 188(ivec3) CompositeConstruct 242 242 242 - 245: 184(ivec3) ShiftLeftLogical 243 244 - Store 186(u32v) 245 - 246: 38(ptr) AccessChain 186(u32v) 176 + 180(u32v): 179(ptr) Variable Function + 185(i32): 19(ptr) Variable Function + 204(i): 19(ptr) Variable Function + 208(uv): 179(ptr) Variable Function + 221(i64): 220(ptr) Variable Function + 254(b): 253(ptr) Variable Function + 181: 178(ivec3) Load 180(u32v) + 183: 182(ivec3) CompositeConstruct 164 164 164 + 184: 178(ivec3) IAdd 181 183 + Store 180(u32v) 184 + 186: 18(int) Load 185(i32) + 187: 18(int) ISub 186 164 + Store 185(i32) 187 + 188: 18(int) Load 185(i32) + 189: 18(int) IAdd 188 164 + Store 185(i32) 189 + 190: 178(ivec3) Load 180(u32v) + 191: 182(ivec3) CompositeConstruct 164 164 164 + 192: 178(ivec3) ISub 190 191 + Store 180(u32v) 192 + 193: 178(ivec3) Load 180(u32v) + 194: 178(ivec3) Not 193 + Store 180(u32v) 194 + 195: 18(int) Load 185(i32) + Store 185(i32) 195 + 196: 178(ivec3) Load 180(u32v) + 197: 178(ivec3) SNegate 196 + Store 180(u32v) 197 + 198: 18(int) Load 185(i32) + 199: 18(int) Load 185(i32) + 200: 18(int) IAdd 199 198 + Store 185(i32) 200 + 201: 178(ivec3) Load 180(u32v) + 202: 178(ivec3) Load 180(u32v) + 203: 178(ivec3) ISub 202 201 + Store 180(u32v) 203 + 205: 18(int) Load 185(i32) + 206: 18(int) Load 204(i) + 207: 18(int) IMul 206 205 + Store 204(i) 207 + 209: 178(ivec3) Load 180(u32v) + 210: 178(ivec3) Load 208(uv) + 211: 178(ivec3) UDiv 210 209 + Store 208(uv) 211 + 212: 18(int) Load 185(i32) + 213: 14(int) Bitcast 212 + 214: 178(ivec3) Load 208(uv) + 215: 178(ivec3) CompositeConstruct 213 213 213 + 216: 178(ivec3) UMod 214 215 + Store 208(uv) 216 + 217: 178(ivec3) Load 180(u32v) + 218: 178(ivec3) Load 208(uv) + 219: 178(ivec3) IAdd 217 218 + Store 208(uv) 219 + 222: 18(int) Load 185(i32) + 223: 57(int64_t) SConvert 222 + 224: 57(int64_t) Load 221(i64) + 225: 57(int64_t) ISub 223 224 + Store 221(i64) 225 + 226: 178(ivec3) Load 180(u32v) + 227: 178(ivec3) Load 208(uv) + 228: 178(ivec3) IMul 226 227 + Store 208(uv) 228 + 229: 18(int) Load 185(i32) + 230: 57(int64_t) SConvert 229 + 231: 57(int64_t) Load 221(i64) + 232: 57(int64_t) IMul 230 231 + Store 221(i64) 232 + 233: 18(int) Load 185(i32) + 234: 18(int) Load 204(i) + 235: 18(int) SMod 233 234 + Store 204(i) 235 + 236: 18(int) Load 185(i32) + 237: 178(ivec3) Load 180(u32v) + 238: 182(ivec3) CompositeConstruct 236 236 236 + 239: 178(ivec3) ShiftLeftLogical 237 238 + Store 180(u32v) 239 + 240: 38(ptr) AccessChain 180(u32v) 170 + 241: 14(int) Load 240 + 242: 18(int) Load 185(i32) + 243: 18(int) ShiftRightArithmetic 242 241 + Store 185(i32) 243 + 244: 57(int64_t) Load 221(i64) + 246: 38(ptr) AccessChain 180(u32v) 245 247: 14(int) Load 246 - 248: 18(int) Load 191(i32) - 249: 18(int) ShiftRightArithmetic 248 247 - Store 191(i32) 249 - 250: 57(int64_t) Load 227(i64) - 252: 38(ptr) AccessChain 186(u32v) 251 - 253: 14(int) Load 252 - 254: 57(int64_t) ShiftLeftLogical 250 253 - Store 227(i64) 254 - 255: 184(ivec3) Load 186(u32v) - 256: 18(int) Load 210(i) - 257: 188(ivec3) CompositeConstruct 256 256 256 - 258: 184(ivec3) ShiftLeftLogical 255 257 - Store 214(uv) 258 - 261: 38(ptr) AccessChain 186(u32v) 175 - 262: 14(int) Load 261 - 263: 18(int) Load 191(i32) - 264: 14(int) Bitcast 263 - 265: 165(bool) INotEqual 262 264 - Store 260(b) 265 - 266: 18(int) Load 191(i32) - 267: 14(int) Bitcast 266 - 268: 38(ptr) AccessChain 186(u32v) 175 - 269: 14(int) Load 268 - 270: 165(bool) IEqual 267 269 - Store 260(b) 270 - 271: 38(ptr) AccessChain 186(u32v) 175 - 272: 14(int) Load 271 - 273: 38(ptr) AccessChain 214(uv) 176 + 248: 57(int64_t) ShiftLeftLogical 244 247 + Store 221(i64) 248 + 249: 178(ivec3) Load 180(u32v) + 250: 18(int) Load 204(i) + 251: 182(ivec3) CompositeConstruct 250 250 250 + 252: 178(ivec3) ShiftLeftLogical 249 251 + Store 208(uv) 252 + 255: 38(ptr) AccessChain 180(u32v) 169 + 256: 14(int) Load 255 + 257: 18(int) Load 185(i32) + 258: 14(int) Bitcast 257 + 259: 159(bool) INotEqual 256 258 + Store 254(b) 259 + 260: 18(int) Load 185(i32) + 261: 14(int) Bitcast 260 + 262: 38(ptr) AccessChain 180(u32v) 169 + 263: 14(int) Load 262 + 264: 159(bool) IEqual 261 263 + Store 254(b) 264 + 265: 38(ptr) AccessChain 180(u32v) 169 + 266: 14(int) Load 265 + 267: 38(ptr) AccessChain 208(uv) 170 + 268: 14(int) Load 267 + 269: 159(bool) UGreaterThan 266 268 + Store 254(b) 269 + 270: 18(int) Load 185(i32) + 271: 18(int) Load 204(i) + 272: 159(bool) SLessThan 270 271 + Store 254(b) 272 + 273: 38(ptr) AccessChain 180(u32v) 170 274: 14(int) Load 273 - 275: 165(bool) UGreaterThan 272 274 - Store 260(b) 275 - 276: 18(int) Load 191(i32) - 277: 18(int) Load 210(i) - 278: 165(bool) SLessThan 276 277 - Store 260(b) 278 - 279: 38(ptr) AccessChain 186(u32v) 176 - 280: 14(int) Load 279 - 281: 38(ptr) AccessChain 214(uv) 175 - 282: 14(int) Load 281 - 283: 165(bool) UGreaterThanEqual 280 282 - Store 260(b) 283 - 284: 18(int) Load 191(i32) - 285: 18(int) Load 210(i) - 286: 165(bool) SLessThanEqual 284 285 - Store 260(b) 286 - 287: 18(int) Load 191(i32) - 288: 14(int) Bitcast 287 - 289: 184(ivec3) Load 214(uv) - 290: 184(ivec3) CompositeConstruct 288 288 288 - 291: 184(ivec3) BitwiseOr 289 290 - Store 214(uv) 291 - 292: 18(int) Load 191(i32) - 293: 18(int) Load 210(i) - 294: 18(int) BitwiseOr 292 293 - Store 210(i) 294 - 295: 18(int) Load 191(i32) - 296: 57(int64_t) SConvert 295 - 297: 57(int64_t) Load 227(i64) - 298: 57(int64_t) BitwiseAnd 297 296 - Store 227(i64) 298 - 299: 184(ivec3) Load 186(u32v) - 300: 184(ivec3) Load 214(uv) - 301: 184(ivec3) BitwiseAnd 299 300 - Store 214(uv) 301 - 302: 18(int) Load 191(i32) + 275: 38(ptr) AccessChain 208(uv) 169 + 276: 14(int) Load 275 + 277: 159(bool) UGreaterThanEqual 274 276 + Store 254(b) 277 + 278: 18(int) Load 185(i32) + 279: 18(int) Load 204(i) + 280: 159(bool) SLessThanEqual 278 279 + Store 254(b) 280 + 281: 18(int) Load 185(i32) + 282: 14(int) Bitcast 281 + 283: 178(ivec3) Load 208(uv) + 284: 178(ivec3) CompositeConstruct 282 282 282 + 285: 178(ivec3) BitwiseOr 283 284 + Store 208(uv) 285 + 286: 18(int) Load 185(i32) + 287: 18(int) Load 204(i) + 288: 18(int) BitwiseOr 286 287 + Store 204(i) 288 + 289: 18(int) Load 185(i32) + 290: 57(int64_t) SConvert 289 + 291: 57(int64_t) Load 221(i64) + 292: 57(int64_t) BitwiseAnd 291 290 + Store 221(i64) 292 + 293: 178(ivec3) Load 180(u32v) + 294: 178(ivec3) Load 208(uv) + 295: 178(ivec3) BitwiseAnd 293 294 + Store 208(uv) 295 + 296: 18(int) Load 185(i32) + 297: 14(int) Bitcast 296 + 298: 178(ivec3) Load 208(uv) + 299: 178(ivec3) CompositeConstruct 297 297 297 + 300: 178(ivec3) BitwiseXor 298 299 + Store 208(uv) 300 + 301: 178(ivec3) Load 180(u32v) + 302: 18(int) Load 185(i32) 303: 14(int) Bitcast 302 - 304: 184(ivec3) Load 214(uv) - 305: 184(ivec3) CompositeConstruct 303 303 303 - 306: 184(ivec3) BitwiseXor 304 305 - Store 214(uv) 306 - 307: 184(ivec3) Load 186(u32v) - 308: 18(int) Load 191(i32) - 309: 14(int) Bitcast 308 - 310: 184(ivec3) CompositeConstruct 309 309 309 - 311: 184(ivec3) BitwiseXor 307 310 - Store 186(u32v) 311 + 304: 178(ivec3) CompositeConstruct 303 303 303 + 305: 178(ivec3) BitwiseXor 301 304 + Store 180(u32v) 305 Return FunctionEnd 12(builtinFuncs(): 2 Function None 3 13: Label - 312(i32v): 53(ptr) Variable Function - 315(i32): 19(ptr) Variable Function - 325(u32v): 185(ptr) Variable Function - 327(u32): 38(ptr) Variable Function - 399(i8v4): 398(ptr) Variable Function - 402(i16v2): 104(ptr) Variable Function - 407(u8v4): 406(ptr) Variable Function - 410(u16v2): 131(ptr) Variable Function - 413(i64): 226(ptr) Variable Function - 416(u32v2): 50(ptr) Variable Function - 418(u64): 417(ptr) Variable Function - 422(bv): 421(ptr) Variable Function - 313: 52(ivec2) Load 312(i32v) - 314: 52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 313 - Store 312(i32v) 314 - 316: 18(int) Load 315(i32) - 317: 18(int) ExtInst 1(GLSL.std.450) 7(SSign) 316 - Store 315(i32) 317 - 318: 52(ivec2) Load 312(i32v) - 319: 18(int) Load 315(i32) - 320: 52(ivec2) CompositeConstruct 319 319 - 321: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 318 320 - Store 312(i32v) 321 - 322: 52(ivec2) Load 312(i32v) - 324: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 322 323 - Store 312(i32v) 324 - 326: 184(ivec3) Load 325(u32v) - 328: 14(int) Load 327(u32) - 329: 184(ivec3) CompositeConstruct 328 328 328 - 330: 184(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 326 329 - Store 325(u32v) 330 - 331: 184(ivec3) Load 325(u32v) - 333: 184(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 331 332 - Store 325(u32v) 333 - 334: 52(ivec2) Load 312(i32v) - 335: 18(int) Load 315(i32) - 336: 52(ivec2) CompositeConstruct 335 335 - 337: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 334 336 - Store 312(i32v) 337 - 338: 52(ivec2) Load 312(i32v) - 339: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 338 323 - Store 312(i32v) 339 - 340: 184(ivec3) Load 325(u32v) - 341: 14(int) Load 327(u32) - 342: 184(ivec3) CompositeConstruct 341 341 341 - 343: 184(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 340 342 - Store 325(u32v) 343 - 344: 184(ivec3) Load 325(u32v) - 345: 184(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 344 332 - Store 325(u32v) 345 - 346: 52(ivec2) Load 312(i32v) - 347: 18(int) Load 315(i32) - 348: 18(int) SNegate 347 - 349: 18(int) Load 315(i32) - 350: 52(ivec2) CompositeConstruct 348 348 - 351: 52(ivec2) CompositeConstruct 349 349 - 352: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 346 350 351 - Store 312(i32v) 352 - 353: 52(ivec2) Load 312(i32v) - 354: 52(ivec2) Load 312(i32v) - 355: 52(ivec2) SNegate 354 - 356: 52(ivec2) Load 312(i32v) - 357: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 353 355 356 - Store 312(i32v) 357 - 358: 184(ivec3) Load 325(u32v) - 359: 14(int) Load 327(u32) - 360: 14(int) SNegate 359 - 361: 14(int) Load 327(u32) - 362: 184(ivec3) CompositeConstruct 360 360 360 - 363: 184(ivec3) CompositeConstruct 361 361 361 - 364: 184(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 358 362 363 - Store 325(u32v) 364 - 365: 184(ivec3) Load 325(u32v) - 366: 184(ivec3) Load 325(u32v) - 367: 184(ivec3) SNegate 366 - 368: 184(ivec3) Load 325(u32v) - 369: 184(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 365 367 368 - Store 325(u32v) 369 - 370: 19(ptr) AccessChain 312(i32v) 175 - 371: 18(int) Load 370 - 372: 19(ptr) AccessChain 312(i32v) 176 - 373: 18(int) Load 372 - 375: 18(int) Select 374 373 371 - Store 315(i32) 375 - 376: 18(int) Load 315(i32) - 377: 52(ivec2) CompositeConstruct 376 376 - 378: 18(int) Load 315(i32) - 379: 18(int) SNegate 378 - 380: 52(ivec2) CompositeConstruct 379 379 - 383: 52(ivec2) Select 382 380 377 - Store 312(i32v) 383 - 384: 38(ptr) AccessChain 325(u32v) 175 - 385: 14(int) Load 384 - 386: 38(ptr) AccessChain 325(u32v) 176 - 387: 14(int) Load 386 - 388: 14(int) Select 374 387 385 - Store 327(u32) 388 - 389: 14(int) Load 327(u32) - 390: 184(ivec3) CompositeConstruct 389 389 389 - 391: 14(int) Load 327(u32) - 392: 14(int) SNegate 391 - 393: 184(ivec3) CompositeConstruct 392 392 392 - 396: 184(ivec3) Select 395 393 390 - Store 325(u32v) 396 - 400: 397(i8vec4) Load 399(i8v4) - 401: 18(int) Bitcast 400 - Store 315(i32) 401 - 403:103(i16vec2) Load 402(i16v2) - 404: 18(int) Bitcast 403 - Store 315(i32) 404 - 408: 405(i8vec4) Load 407(u8v4) - 409: 14(int) Bitcast 408 - Store 327(u32) 409 - 411:110(i16vec2) Load 410(u16v2) - 412: 14(int) Bitcast 411 - Store 327(u32) 412 - 414: 57(int64_t) Load 413(i64) - 415: 52(ivec2) Bitcast 414 - Store 312(i32v) 415 - 419: 63(int64_t) Load 418(u64) - 420: 49(ivec2) Bitcast 419 - Store 416(u32v2) 420 - 423: 184(ivec3) Load 325(u32v) - 424: 14(int) Load 327(u32) - 425: 184(ivec3) CompositeConstruct 424 424 424 - 426: 394(bvec3) ULessThan 423 425 - Store 422(bv) 426 - 427: 52(ivec2) Load 312(i32v) - 428: 18(int) Load 315(i32) - 429: 52(ivec2) CompositeConstruct 428 428 - 430: 166(bvec2) SLessThan 427 429 - 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: 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 + 306(i32v): 53(ptr) Variable Function + 309(i32): 19(ptr) Variable Function + 319(u32v): 179(ptr) Variable Function + 321(u32): 38(ptr) Variable Function + 393(i8v4): 392(ptr) Variable Function + 396(i16v2): 104(ptr) Variable Function + 401(u8v4): 400(ptr) Variable Function + 404(u16v2): 128(ptr) Variable Function + 407(i64): 220(ptr) Variable Function + 410(u32v2): 50(ptr) Variable Function + 412(u64): 411(ptr) Variable Function + 416(bv): 415(ptr) Variable Function + 307: 52(ivec2) Load 306(i32v) + 308: 52(ivec2) ExtInst 1(GLSL.std.450) 5(SAbs) 307 + Store 306(i32v) 308 + 310: 18(int) Load 309(i32) + 311: 18(int) ExtInst 1(GLSL.std.450) 7(SSign) 310 + Store 309(i32) 311 + 312: 52(ivec2) Load 306(i32v) + 313: 18(int) Load 309(i32) + 314: 52(ivec2) CompositeConstruct 313 313 + 315: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 312 314 + Store 306(i32v) 315 + 316: 52(ivec2) Load 306(i32v) + 318: 52(ivec2) ExtInst 1(GLSL.std.450) 39(SMin) 316 317 + Store 306(i32v) 318 + 320: 178(ivec3) Load 319(u32v) + 322: 14(int) Load 321(u32) + 323: 178(ivec3) CompositeConstruct 322 322 322 + 324: 178(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 320 323 + Store 319(u32v) 324 + 325: 178(ivec3) Load 319(u32v) + 327: 178(ivec3) ExtInst 1(GLSL.std.450) 38(UMin) 325 326 + Store 319(u32v) 327 + 328: 52(ivec2) Load 306(i32v) + 329: 18(int) Load 309(i32) + 330: 52(ivec2) CompositeConstruct 329 329 + 331: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 328 330 + Store 306(i32v) 331 + 332: 52(ivec2) Load 306(i32v) + 333: 52(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 332 317 + Store 306(i32v) 333 + 334: 178(ivec3) Load 319(u32v) + 335: 14(int) Load 321(u32) + 336: 178(ivec3) CompositeConstruct 335 335 335 + 337: 178(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 334 336 + Store 319(u32v) 337 + 338: 178(ivec3) Load 319(u32v) + 339: 178(ivec3) ExtInst 1(GLSL.std.450) 41(UMax) 338 326 + Store 319(u32v) 339 + 340: 52(ivec2) Load 306(i32v) + 341: 18(int) Load 309(i32) + 342: 18(int) SNegate 341 + 343: 18(int) Load 309(i32) + 344: 52(ivec2) CompositeConstruct 342 342 + 345: 52(ivec2) CompositeConstruct 343 343 + 346: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 340 344 345 + Store 306(i32v) 346 + 347: 52(ivec2) Load 306(i32v) + 348: 52(ivec2) Load 306(i32v) + 349: 52(ivec2) SNegate 348 + 350: 52(ivec2) Load 306(i32v) + 351: 52(ivec2) ExtInst 1(GLSL.std.450) 45(SClamp) 347 349 350 + Store 306(i32v) 351 + 352: 178(ivec3) Load 319(u32v) + 353: 14(int) Load 321(u32) + 354: 14(int) SNegate 353 + 355: 14(int) Load 321(u32) + 356: 178(ivec3) CompositeConstruct 354 354 354 + 357: 178(ivec3) CompositeConstruct 355 355 355 + 358: 178(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 352 356 357 + Store 319(u32v) 358 + 359: 178(ivec3) Load 319(u32v) + 360: 178(ivec3) Load 319(u32v) + 361: 178(ivec3) SNegate 360 + 362: 178(ivec3) Load 319(u32v) + 363: 178(ivec3) ExtInst 1(GLSL.std.450) 44(UClamp) 359 361 362 + Store 319(u32v) 363 + 364: 19(ptr) AccessChain 306(i32v) 169 + 365: 18(int) Load 364 + 366: 19(ptr) AccessChain 306(i32v) 170 + 367: 18(int) Load 366 + 369: 18(int) Select 368 367 365 + Store 309(i32) 369 + 370: 18(int) Load 309(i32) + 371: 52(ivec2) CompositeConstruct 370 370 + 372: 18(int) Load 309(i32) + 373: 18(int) SNegate 372 + 374: 52(ivec2) CompositeConstruct 373 373 + 377: 52(ivec2) Select 376 374 371 + Store 306(i32v) 377 + 378: 38(ptr) AccessChain 319(u32v) 169 + 379: 14(int) Load 378 + 380: 38(ptr) AccessChain 319(u32v) 170 + 381: 14(int) Load 380 + 382: 14(int) Select 368 381 379 + Store 321(u32) 382 + 383: 14(int) Load 321(u32) + 384: 178(ivec3) CompositeConstruct 383 383 383 + 385: 14(int) Load 321(u32) + 386: 14(int) SNegate 385 + 387: 178(ivec3) CompositeConstruct 386 386 386 + 390: 178(ivec3) Select 389 387 384 + Store 319(u32v) 390 + 394: 391(i8vec4) Load 393(i8v4) + 395: 18(int) Bitcast 394 + Store 309(i32) 395 + 397:103(i16vec2) Load 396(i16v2) + 398: 18(int) Bitcast 397 + Store 309(i32) 398 + 402: 399(i8vec4) Load 401(u8v4) + 403: 14(int) Bitcast 402 + Store 321(u32) 403 + 405:110(i16vec2) Load 404(u16v2) + 406: 14(int) Bitcast 405 + Store 321(u32) 406 + 408: 57(int64_t) Load 407(i64) + 409: 52(ivec2) Bitcast 408 + Store 306(i32v) 409 + 413: 63(int64_t) Load 412(u64) + 414: 49(ivec2) Bitcast 413 + Store 410(u32v2) 414 + 417: 178(ivec3) Load 319(u32v) + 418: 14(int) Load 321(u32) + 419: 178(ivec3) CompositeConstruct 418 418 418 + 420: 388(bvec3) ULessThan 417 419 + Store 416(bv) 420 + 421: 52(ivec2) Load 306(i32v) + 422: 18(int) Load 309(i32) + 423: 52(ivec2) CompositeConstruct 422 422 + 424: 160(bvec2) SLessThan 421 423 + 425: 253(ptr) AccessChain 416(bv) 169 + 426: 159(bool) CompositeExtract 424 0 + Store 425 426 + 427: 253(ptr) AccessChain 416(bv) 170 + 428: 159(bool) CompositeExtract 424 1 + Store 427 428 + 429: 178(ivec3) Load 319(u32v) + 430: 14(int) Load 321(u32) + 431: 178(ivec3) CompositeConstruct 430 430 430 + 432: 388(bvec3) ULessThanEqual 429 431 + Store 416(bv) 432 + 433: 52(ivec2) Load 306(i32v) + 434: 18(int) Load 309(i32) + 435: 52(ivec2) CompositeConstruct 434 434 + 436: 160(bvec2) SLessThanEqual 433 435 + 437: 253(ptr) AccessChain 416(bv) 169 + 438: 159(bool) CompositeExtract 436 0 + Store 437 438 + 439: 253(ptr) AccessChain 416(bv) 170 + 440: 159(bool) CompositeExtract 436 1 + Store 439 440 + 441: 178(ivec3) Load 319(u32v) + 442: 14(int) Load 321(u32) + 443: 178(ivec3) CompositeConstruct 442 442 442 + 444: 388(bvec3) UGreaterThan 441 443 + Store 416(bv) 444 + 445: 52(ivec2) Load 306(i32v) + 446: 18(int) Load 309(i32) + 447: 52(ivec2) CompositeConstruct 446 446 + 448: 160(bvec2) SGreaterThan 445 447 + 449: 253(ptr) AccessChain 416(bv) 169 + 450: 159(bool) CompositeExtract 448 0 + Store 449 450 + 451: 253(ptr) AccessChain 416(bv) 170 + 452: 159(bool) CompositeExtract 448 1 + Store 451 452 + 453: 178(ivec3) Load 319(u32v) + 454: 14(int) Load 321(u32) + 455: 178(ivec3) CompositeConstruct 454 454 454 + 456: 388(bvec3) UGreaterThanEqual 453 455 + Store 416(bv) 456 + 457: 52(ivec2) Load 306(i32v) + 458: 18(int) Load 309(i32) + 459: 52(ivec2) CompositeConstruct 458 458 + 460: 160(bvec2) SGreaterThanEqual 457 459 + 461: 253(ptr) AccessChain 416(bv) 169 + 462: 159(bool) CompositeExtract 460 0 + Store 461 462 + 463: 253(ptr) AccessChain 416(bv) 170 + 464: 159(bool) CompositeExtract 460 1 + Store 463 464 + 465: 178(ivec3) Load 319(u32v) + 466: 14(int) Load 321(u32) + 467: 178(ivec3) CompositeConstruct 466 466 466 + 468: 388(bvec3) IEqual 465 467 + Store 416(bv) 468 + 469: 52(ivec2) Load 306(i32v) + 470: 18(int) Load 309(i32) + 471: 52(ivec2) CompositeConstruct 470 470 + 472: 160(bvec2) IEqual 469 471 + 473: 253(ptr) AccessChain 416(bv) 169 + 474: 159(bool) CompositeExtract 472 0 + Store 473 474 + 475: 253(ptr) AccessChain 416(bv) 170 + 476: 159(bool) CompositeExtract 472 1 + Store 475 476 + 477: 178(ivec3) Load 319(u32v) + 478: 14(int) Load 321(u32) + 479: 178(ivec3) CompositeConstruct 478 478 478 + 480: 388(bvec3) INotEqual 477 479 + Store 416(bv) 480 + 481: 52(ivec2) Load 306(i32v) + 482: 18(int) Load 309(i32) + 483: 52(ivec2) CompositeConstruct 482 482 + 484: 160(bvec2) INotEqual 481 483 + 485: 253(ptr) AccessChain 416(bv) 169 + 486: 159(bool) CompositeExtract 484 0 + Store 485 486 + 487: 253(ptr) AccessChain 416(bv) 170 + 488: 159(bool) CompositeExtract 484 1 + Store 487 488 Return FunctionEnd diff --git a/Test/baseResults/spv.int64.frag.out b/Test/baseResults/spv.int64.frag.out index e335a543..5fff827f 100644 --- a/Test/baseResults/spv.int64.frag.out +++ b/Test/baseResults/spv.int64.frag.out @@ -71,15 +71,15 @@ Validation failed 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 + MemberDecorate 28(Uniforms) 0 Offset 0 Decorate 30 Binding 0 + Decorate 30 DescriptorSet 0 + Decorate 486(Block) Block 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 488(block) DescriptorSet 0 Decorate 489(si64) SpecId 100 Decorate 490(su64) SpecId 101 Decorate 491(si) SpecId 102 diff --git a/Test/baseResults/spv.int8.frag.out b/Test/baseResults/spv.int8.frag.out index 3bfeb1a4..0682281a 100644 --- a/Test/baseResults/spv.int8.frag.out +++ b/Test/baseResults/spv.int8.frag.out @@ -80,10 +80,11 @@ spv.int8.frag Name 541 "block" Name 542 "si8" Name 543 "su8" - MemberDecorate 24(Uniforms) 0 Offset 0 Decorate 24(Uniforms) Block - Decorate 26 DescriptorSet 0 + MemberDecorate 24(Uniforms) 0 Offset 0 Decorate 26 Binding 0 + Decorate 26 DescriptorSet 0 + Decorate 539(Block) Block MemberDecorate 539(Block) 0 Offset 0 MemberDecorate 539(Block) 1 Offset 2 MemberDecorate 539(Block) 2 Offset 4 @@ -92,9 +93,8 @@ spv.int8.frag 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 541(block) DescriptorSet 0 Decorate 542(si8) SpecId 100 Decorate 543(su8) SpecId 101 2: TypeVoid diff --git a/Test/baseResults/spv.intcoopmat.comp.out b/Test/baseResults/spv.intcoopmat.comp.out index 24289a9f..59388075 100644 --- a/Test/baseResults/spv.intcoopmat.comp.out +++ b/Test/baseResults/spv.intcoopmat.comp.out @@ -91,24 +91,24 @@ spv.intcoopmat.comp Name 285 "scm" Decorate 83 ArrayStride 4 Decorate 84 ArrayStride 4 + Decorate 85(Block) Block MemberDecorate 85(Block) 0 Offset 0 MemberDecorate 85(Block) 1 Offset 4194304 - Decorate 85(Block) Block - Decorate 87(block) DescriptorSet 0 Decorate 87(block) Binding 0 + Decorate 87(block) DescriptorSet 0 Decorate 99 ArrayStride 1 Decorate 101 ArrayStride 1 + Decorate 103(Block16) Block MemberDecorate 103(Block16) 0 Offset 0 MemberDecorate 103(Block16) 1 Offset 1048576 MemberDecorate 103(Block16) 2 Offset 1048584 - Decorate 103(Block16) Block Decorate 104 ArrayStride 4 Decorate 105 ArrayStride 4 + Decorate 106(Block) Block MemberDecorate 106(Block) 0 Offset 0 MemberDecorate 106(Block) 1 Offset 4194304 - Decorate 106(Block) Block - Decorate 108(block8) DescriptorSet 0 Decorate 108(block8) Binding 0 + Decorate 108(block8) DescriptorSet 0 Decorate 156(Y) SpecId 0 Decorate 247 BuiltIn WorkgroupSize Decorate 280(SC) SpecId 2 diff --git a/Test/baseResults/spv.intrinsicsInteractWithCoopMat.comp.out b/Test/baseResults/spv.intrinsicsInteractWithCoopMat.comp.out index c19a5924..4abb6d50 100644 --- a/Test/baseResults/spv.intrinsicsInteractWithCoopMat.comp.out +++ b/Test/baseResults/spv.intrinsicsInteractWithCoopMat.comp.out @@ -25,10 +25,10 @@ spv.intrinsicsInteractWithCoopMat.comp Name 18 "buf" Name 26 "A" Decorate 15 ArrayStride 16 - MemberDecorate 16(Buf) 0 Offset 0 Decorate 16(Buf) Block - Decorate 18(buf) DescriptorSet 0 + MemberDecorate 16(Buf) 0 Offset 0 Decorate 18(buf) Binding 0 + Decorate 18(buf) DescriptorSet 0 Decorate 35 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.intrinsicsSpirvDecorateId.comp.out b/Test/baseResults/spv.intrinsicsSpirvDecorateId.comp.out index c454dc60..e9ba47bc 100644 --- a/Test/baseResults/spv.intrinsicsSpirvDecorateId.comp.out +++ b/Test/baseResults/spv.intrinsicsSpirvDecorateId.comp.out @@ -19,14 +19,14 @@ spv.intrinsicsSpirvDecorateId.comp MemberName 13(Uniform) 0 "y" Name 15 "" Decorate 9 BuiltIn WorkgroupSize - MemberDecorate 10(CounterBuffer) 0 Offset 0 Decorate 10(CounterBuffer) Block - Decorate 12(x) DescriptorSet 0 + MemberDecorate 10(CounterBuffer) 0 Offset 0 Decorate 12(x) Binding 1 - MemberDecorate 13(Uniform) 0 Offset 0 + Decorate 12(x) DescriptorSet 0 Decorate 13(Uniform) Block - Decorate 15 DescriptorSet 0 + MemberDecorate 13(Uniform) 0 Offset 0 Decorate 15 Binding 0 + Decorate 15 DescriptorSet 0 DecorateId 15 DecorationHlslCounterBufferGOOGLE 12(x) 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.intrinsicsSpirvType.rgen.out b/Test/baseResults/spv.intrinsicsSpirvType.rgen.out index 5d67de70..7b20ece6 100644 --- a/Test/baseResults/spv.intrinsicsSpirvType.rgen.out +++ b/Test/baseResults/spv.intrinsicsSpirvType.rgen.out @@ -16,8 +16,8 @@ spv.intrinsicsSpirvType.rgen Name 4 "main" Name 8 "rq" Name 11 "as" - Decorate 11(as) DescriptorSet 0 Decorate 11(as) Binding 0 + Decorate 11(as) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeRayQueryKHR diff --git a/Test/baseResults/spv.invariantAll.vert.out b/Test/baseResults/spv.invariantAll.vert.out index f72d8154..40d275a1 100644 --- a/Test/baseResults/spv.invariantAll.vert.out +++ b/Test/baseResults/spv.invariantAll.vert.out @@ -16,17 +16,17 @@ spv.invariantAll.vert 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 + MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 11(gl_PerVertex) 0 Invariant + MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize + MemberDecorate 11(gl_PerVertex) 1 Invariant + MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance + MemberDecorate 11(gl_PerVertex) 2 Invariant + MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance + MemberDecorate 11(gl_PerVertex) 3 Invariant Decorate 17(v) Invariant + Decorate 17(v) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.layoutNested.vert.out b/Test/baseResults/spv.layoutNested.vert.out index 2d5111c5..4b2374d4 100644 --- a/Test/baseResults/spv.layoutNested.vert.out +++ b/Test/baseResults/spv.layoutNested.vert.out @@ -84,88 +84,88 @@ spv.layoutNested.vert Name 65 "soutinv" Decorate 13 ArrayStride 32 MemberDecorate 14(S) 0 Offset 0 - MemberDecorate 14(S) 1 ColMajor MemberDecorate 14(S) 1 RelaxedPrecision - MemberDecorate 14(S) 1 Offset 16 + MemberDecorate 14(S) 1 ColMajor MemberDecorate 14(S) 1 MatrixStride 16 + MemberDecorate 14(S) 1 Offset 16 MemberDecorate 14(S) 2 RelaxedPrecision MemberDecorate 14(S) 2 Offset 144 Decorate 16 ArrayStride 160 Decorate 18 ArrayStride 480 + Decorate 19(Block140) Block MemberDecorate 19(Block140) 0 RelaxedPrecision MemberDecorate 19(Block140) 0 Offset 0 MemberDecorate 19(Block140) 1 Offset 16 MemberDecorate 19(Block140) 2 RelaxedPrecision MemberDecorate 19(Block140) 2 Offset 976 - Decorate 19(Block140) Block - Decorate 21(inst140) DescriptorSet 0 Decorate 21(inst140) Binding 0 + Decorate 21(inst140) DescriptorSet 0 Decorate 22 ArrayStride 16 MemberDecorate 23(S) 0 Offset 0 - MemberDecorate 23(S) 1 ColMajor MemberDecorate 23(S) 1 RelaxedPrecision - MemberDecorate 23(S) 1 Offset 16 + MemberDecorate 23(S) 1 ColMajor MemberDecorate 23(S) 1 MatrixStride 8 + MemberDecorate 23(S) 1 Offset 16 MemberDecorate 23(S) 2 RelaxedPrecision MemberDecorate 23(S) 2 Offset 80 Decorate 24 ArrayStride 96 Decorate 25 ArrayStride 288 + Decorate 26(Block430) BufferBlock MemberDecorate 26(Block430) 0 RelaxedPrecision MemberDecorate 26(Block430) 0 Offset 0 MemberDecorate 26(Block430) 1 Offset 16 MemberDecorate 26(Block430) 2 RelaxedPrecision MemberDecorate 26(Block430) 2 Offset 592 - Decorate 26(Block430) BufferBlock - Decorate 28(inst430) DescriptorSet 0 Decorate 28(inst430) Binding 1 + Decorate 28(inst430) DescriptorSet 0 MemberDecorate 29(S) 1 RelaxedPrecision MemberDecorate 29(S) 2 RelaxedPrecision MemberDecorate 35(T) 0 RowMajor - MemberDecorate 35(T) 0 Offset 0 MemberDecorate 35(T) 0 MatrixStride 16 + MemberDecorate 35(T) 0 Offset 0 MemberDecorate 35(T) 1 Offset 32 MemberDecorate 36(Nestor) 0 Offset 0 - MemberDecorate 37(Bt1) 0 Offset 0 Decorate 37(Bt1) Block - Decorate 39(Btn1) DescriptorSet 1 + MemberDecorate 37(Bt1) 0 Offset 0 Decorate 39(Btn1) Binding 0 + Decorate 39(Btn1) DescriptorSet 1 MemberDecorate 40(T) 0 ColMajor - MemberDecorate 40(T) 0 Offset 0 MemberDecorate 40(T) 0 MatrixStride 16 + MemberDecorate 40(T) 0 Offset 0 MemberDecorate 40(T) 1 Offset 32 MemberDecorate 41(Nestor) 0 Offset 0 - MemberDecorate 42(Bt2) 0 Offset 0 Decorate 42(Bt2) Block - Decorate 44(Btn2) DescriptorSet 1 + MemberDecorate 42(Bt2) 0 Offset 0 Decorate 44(Btn2) Binding 0 + Decorate 44(Btn2) DescriptorSet 1 + Decorate 45(Bt3) Block MemberDecorate 45(Bt3) 0 Offset 0 MemberDecorate 45(Bt3) 1 Offset 48 - Decorate 45(Bt3) Block - Decorate 47(Btn3) DescriptorSet 1 Decorate 47(Btn3) Binding 0 + Decorate 47(Btn3) DescriptorSet 1 MemberDecorate 48(T) 0 RowMajor - MemberDecorate 48(T) 0 Offset 0 MemberDecorate 48(T) 0 MatrixStride 8 + MemberDecorate 48(T) 0 Offset 0 MemberDecorate 48(T) 1 Offset 16 MemberDecorate 49(Nestor) 0 Offset 0 - MemberDecorate 50(bBt1) 0 Offset 0 Decorate 50(bBt1) BufferBlock - Decorate 52(bBtn1) DescriptorSet 1 + MemberDecorate 50(bBt1) 0 Offset 0 Decorate 52(bBtn1) Binding 0 + Decorate 52(bBtn1) DescriptorSet 1 MemberDecorate 53(T) 0 ColMajor - MemberDecorate 53(T) 0 Offset 0 MemberDecorate 53(T) 0 MatrixStride 8 + MemberDecorate 53(T) 0 Offset 0 MemberDecorate 53(T) 1 Offset 16 MemberDecorate 54(Nestor) 0 Offset 0 - MemberDecorate 55(bBt2) 0 Offset 0 Decorate 55(bBt2) BufferBlock - Decorate 57(bBtn2) DescriptorSet 1 + MemberDecorate 55(bBt2) 0 Offset 0 Decorate 57(bBtn2) Binding 0 + Decorate 57(bBtn2) DescriptorSet 1 + Decorate 58(bBt3) BufferBlock MemberDecorate 58(bBt3) 0 Offset 0 MemberDecorate 58(bBt3) 1 Offset 24 - Decorate 58(bBt3) BufferBlock - Decorate 60(bBtn3) DescriptorSet 1 Decorate 60(bBtn3) Binding 0 + Decorate 60(bBtn3) DescriptorSet 1 Decorate 62(sout) Flat Decorate 62(sout) Location 0 MemberDecorate 63(S) 0 Invariant @@ -173,8 +173,8 @@ spv.layoutNested.vert MemberDecorate 63(S) 1 Invariant MemberDecorate 63(S) 2 RelaxedPrecision MemberDecorate 63(S) 2 Invariant - Decorate 65(soutinv) Location 10 Decorate 65(soutinv) Invariant + Decorate 65(soutinv) Location 10 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.load.bool.array.interface.block.frag.out b/Test/baseResults/spv.load.bool.array.interface.block.frag.out index 7a802990..b50c8b79 100644 --- a/Test/baseResults/spv.load.bool.array.interface.block.frag.out +++ b/Test/baseResults/spv.load.bool.array.interface.block.frag.out @@ -19,16 +19,16 @@ spv.load.bool.array.interface.block.frag Name 77 "color" Decorate 8 ArrayStride 4 Decorate 10 ArrayStride 12 - MemberDecorate 11(ssbo) 0 Offset 0 Decorate 11(ssbo) BufferBlock - Decorate 13 DescriptorSet 0 + MemberDecorate 11(ssbo) 0 Offset 0 Decorate 13 Binding 1 + Decorate 13 DescriptorSet 0 Decorate 16 ArrayStride 16 Decorate 17 ArrayStride 48 - MemberDecorate 18(ub) 0 Offset 0 Decorate 18(ub) Block - Decorate 20 DescriptorSet 0 + MemberDecorate 18(ub) 0 Offset 0 Decorate 20 Binding 0 + Decorate 20 DescriptorSet 0 Decorate 77(color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.localAggregates.frag.out b/Test/baseResults/spv.localAggregates.frag.out index a9ce54fb..616a245b 100644 --- a/Test/baseResults/spv.localAggregates.frag.out +++ b/Test/baseResults/spv.localAggregates.frag.out @@ -45,8 +45,8 @@ spv.localAggregates.frag Decorate 90(condition) Location 18 Decorate 98(color) Location 1 Decorate 108(gl_FragColor) Location 0 - Decorate 128(samp2D) DescriptorSet 0 Decorate 128(samp2D) Binding 0 + Decorate 128(samp2D) DescriptorSet 0 Decorate 134(foo) Flat Decorate 134(foo) Location 2 Decorate 135(foo2) Flat diff --git a/Test/baseResults/spv.matFun.vert.out b/Test/baseResults/spv.matFun.vert.out index 12018877..b3388c0c 100644 --- a/Test/baseResults/spv.matFun.vert.out +++ b/Test/baseResults/spv.matFun.vert.out @@ -32,19 +32,19 @@ spv.matFun.vert Name 86 "param" Name 89 "param" Name 93 "param" + Decorate 74(gl_PerVertex) Block MemberDecorate 74(gl_PerVertex) 0 BuiltIn Position MemberDecorate 74(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 74(gl_PerVertex) 2 BuiltIn ClipDistance - Decorate 74(gl_PerVertex) Block - MemberDecorate 77(bl) 0 ColMajor - MemberDecorate 77(bl) 0 Offset 0 - MemberDecorate 77(bl) 0 MatrixStride 16 - MemberDecorate 77(bl) 1 ColMajor - MemberDecorate 77(bl) 1 Offset 64 - MemberDecorate 77(bl) 1 MatrixStride 16 Decorate 77(bl) Block - Decorate 79(bName) DescriptorSet 0 + MemberDecorate 77(bl) 0 ColMajor + MemberDecorate 77(bl) 0 MatrixStride 16 + MemberDecorate 77(bl) 0 Offset 0 + MemberDecorate 77(bl) 1 ColMajor + MemberDecorate 77(bl) 1 MatrixStride 16 + MemberDecorate 77(bl) 1 Offset 64 Decorate 79(bName) Binding 0 + Decorate 79(bName) DescriptorSet 0 Decorate 81(v3) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.memoryQualifier.frag.out b/Test/baseResults/spv.memoryQualifier.frag.out index 47d63cfd..57b4c71c 100644 --- a/Test/baseResults/spv.memoryQualifier.frag.out +++ b/Test/baseResults/spv.memoryQualifier.frag.out @@ -30,29 +30,30 @@ Validation failed MemberName 50(Buffer) 4 "i1" MemberName 50(Buffer) 5 "data" Name 52 "" - Decorate 12(i1D) DescriptorSet 0 - Decorate 12(i1D) Binding 0 Decorate 12(i1D) Coherent - Decorate 19(i2D) DescriptorSet 0 - Decorate 19(i2D) Binding 1 + Decorate 12(i1D) Binding 0 + Decorate 12(i1D) DescriptorSet 0 Decorate 19(i2D) Volatile Decorate 19(i2D) Coherent - Decorate 28(i2DRect) DescriptorSet 0 - Decorate 28(i2DRect) Binding 2 + Decorate 19(i2D) Binding 1 + Decorate 19(i2D) DescriptorSet 0 Decorate 28(i2DRect) Restrict - Decorate 35(i3D) DescriptorSet 0 - Decorate 35(i3D) Binding 3 + Decorate 28(i2DRect) Binding 2 + Decorate 28(i2DRect) DescriptorSet 0 Decorate 35(i3D) NonWritable - Decorate 44(iCube) DescriptorSet 0 - Decorate 44(iCube) Binding 3 + Decorate 35(i3D) Binding 3 + Decorate 35(i3D) DescriptorSet 0 Decorate 44(iCube) NonReadable + Decorate 44(iCube) Binding 3 + Decorate 44(iCube) DescriptorSet 0 MemberDecorate 49(Data) 0 Offset 0 MemberDecorate 49(Data) 1 Offset 8 + Decorate 50(Buffer) BufferBlock MemberDecorate 50(Buffer) 0 Volatile MemberDecorate 50(Buffer) 0 Coherent MemberDecorate 50(Buffer) 0 Offset 0 - MemberDecorate 50(Buffer) 1 Coherent MemberDecorate 50(Buffer) 1 Restrict + MemberDecorate 50(Buffer) 1 Coherent MemberDecorate 50(Buffer) 1 Offset 8 MemberDecorate 50(Buffer) 2 Coherent MemberDecorate 50(Buffer) 2 NonWritable @@ -64,9 +65,9 @@ Validation failed MemberDecorate 50(Buffer) 4 Offset 48 MemberDecorate 50(Buffer) 5 Coherent MemberDecorate 50(Buffer) 5 Offset 56 - Decorate 50(Buffer) BufferBlock - Decorate 52 DescriptorSet 0 + Decorate 52 Coherent Decorate 52 Binding 4 + Decorate 52 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.memoryScopeSemantics.comp.out b/Test/baseResults/spv.memoryScopeSemantics.comp.out index 1078aa5f..96a7f3ca 100644 --- a/Test/baseResults/spv.memoryScopeSemantics.comp.out +++ b/Test/baseResults/spv.memoryScopeSemantics.comp.out @@ -51,42 +51,42 @@ spv.memoryScopeSemantics.comp MemberName 151(BufferM) 0 "x" Name 153 "bufferm" Name 165 "imageMS" - Decorate 36(imagei) DescriptorSet 0 Decorate 36(imagei) Binding 1 - Decorate 46(imageu) DescriptorSet 0 + Decorate 36(imagei) DescriptorSet 0 Decorate 46(imageu) Binding 0 - MemberDecorate 66(BufferU) 0 Offset 0 + Decorate 46(imageu) DescriptorSet 0 Decorate 66(BufferU) Block - Decorate 68(bufferu) DescriptorSet 0 + MemberDecorate 66(BufferU) 0 Offset 0 Decorate 68(bufferu) Binding 2 - MemberDecorate 78(BufferI) 0 Offset 0 + Decorate 68(bufferu) DescriptorSet 0 Decorate 78(BufferI) Block - Decorate 80(bufferi) DescriptorSet 0 + MemberDecorate 78(BufferI) 0 Offset 0 Decorate 80(bufferi) Binding 3 + Decorate 80(bufferi) DescriptorSet 0 Decorate 83 ArrayStride 4 MemberDecorate 84(A) 0 Offset 0 - MemberDecorate 85(BufferJ) 0 Offset 0 Decorate 85(BufferJ) Block - Decorate 88(bufferj) DescriptorSet 0 + MemberDecorate 85(BufferJ) 0 Offset 0 Decorate 88(bufferj) Binding 4 - MemberDecorate 99(BufferK) 0 Offset 0 + Decorate 88(bufferj) DescriptorSet 0 Decorate 99(BufferK) Block - Decorate 101(bufferk) DescriptorSet 0 + MemberDecorate 99(BufferK) 0 Offset 0 Decorate 101(bufferk) Binding 7 - Decorate 111(imagej) DescriptorSet 0 + Decorate 101(bufferk) DescriptorSet 0 Decorate 111(imagej) Binding 5 - Decorate 123(samp) DescriptorSet 0 + Decorate 111(imagej) DescriptorSet 0 Decorate 123(samp) Binding 6 - MemberDecorate 144(BufferL) 0 Offset 0 + Decorate 123(samp) DescriptorSet 0 Decorate 144(BufferL) Block - Decorate 146(bufferl) DescriptorSet 0 + MemberDecorate 144(BufferL) 0 Offset 0 Decorate 146(bufferl) Binding 8 - MemberDecorate 151(BufferM) 0 Offset 0 + Decorate 146(bufferl) DescriptorSet 0 Decorate 151(BufferM) Block - Decorate 153(bufferm) DescriptorSet 0 + MemberDecorate 151(BufferM) 0 Offset 0 Decorate 153(bufferm) Binding 9 - Decorate 165(imageMS) DescriptorSet 0 + Decorate 153(bufferm) DescriptorSet 0 Decorate 165(imageMS) Binding 10 + Decorate 165(imageMS) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.meshShaderBuiltins.mesh.out b/Test/baseResults/spv.meshShaderBuiltins.mesh.out index f6b0f05c..d130e948 100644 --- a/Test/baseResults/spv.meshShaderBuiltins.mesh.out +++ b/Test/baseResults/spv.meshShaderBuiltins.mesh.out @@ -47,32 +47,32 @@ spv.meshShaderBuiltins.mesh Name 146 "gl_PrimitiveCountNV" Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId + Decorate 30(gl_MeshPerVertexNV) Block MemberDecorate 30(gl_MeshPerVertexNV) 0 BuiltIn Position MemberDecorate 30(gl_MeshPerVertexNV) 1 BuiltIn PointSize MemberDecorate 30(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance MemberDecorate 30(gl_MeshPerVertexNV) 3 BuiltIn CullDistance - MemberDecorate 30(gl_MeshPerVertexNV) 4 PerViewNV MemberDecorate 30(gl_MeshPerVertexNV) 4 BuiltIn PositionPerViewNV - MemberDecorate 30(gl_MeshPerVertexNV) 5 PerViewNV + MemberDecorate 30(gl_MeshPerVertexNV) 4 PerViewNV MemberDecorate 30(gl_MeshPerVertexNV) 5 BuiltIn ClipDistancePerViewNV - MemberDecorate 30(gl_MeshPerVertexNV) 6 PerViewNV + MemberDecorate 30(gl_MeshPerVertexNV) 5 PerViewNV MemberDecorate 30(gl_MeshPerVertexNV) 6 BuiltIn CullDistancePerViewNV - Decorate 30(gl_MeshPerVertexNV) Block - MemberDecorate 84(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV + MemberDecorate 30(gl_MeshPerVertexNV) 6 PerViewNV + Decorate 84(gl_MeshPerPrimitiveNV) Block MemberDecorate 84(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId - MemberDecorate 84(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV + MemberDecorate 84(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV MemberDecorate 84(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer - MemberDecorate 84(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV + MemberDecorate 84(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV MemberDecorate 84(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex - MemberDecorate 84(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV + MemberDecorate 84(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV MemberDecorate 84(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV + MemberDecorate 84(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV + MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 PerPrimitiveNV MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 PerViewNV - MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV + MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 PerPrimitiveNV MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 PerViewNV - MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV - Decorate 84(gl_MeshPerPrimitiveNV) Block Decorate 129(gl_PrimitiveIndicesNV) BuiltIn PrimitiveIndicesNV Decorate 142(gl_DrawID) BuiltIn DrawIndex Decorate 146(gl_PrimitiveCountNV) BuiltIn PrimitiveCountNV diff --git a/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out b/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out index 111fa2bc..71950088 100644 --- a/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out +++ b/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out @@ -42,32 +42,32 @@ spv.meshShaderPerViewBuiltins.mesh Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 20(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV Decorate 21(gl_MeshViewCountNV) BuiltIn MeshViewCountNV + Decorate 36(gl_MeshPerVertexNV) Block MemberDecorate 36(gl_MeshPerVertexNV) 0 BuiltIn Position MemberDecorate 36(gl_MeshPerVertexNV) 1 BuiltIn PointSize MemberDecorate 36(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance MemberDecorate 36(gl_MeshPerVertexNV) 3 BuiltIn CullDistance - MemberDecorate 36(gl_MeshPerVertexNV) 4 PerViewNV MemberDecorate 36(gl_MeshPerVertexNV) 4 BuiltIn PositionPerViewNV - MemberDecorate 36(gl_MeshPerVertexNV) 5 PerViewNV + MemberDecorate 36(gl_MeshPerVertexNV) 4 PerViewNV MemberDecorate 36(gl_MeshPerVertexNV) 5 BuiltIn ClipDistancePerViewNV - MemberDecorate 36(gl_MeshPerVertexNV) 6 PerViewNV + MemberDecorate 36(gl_MeshPerVertexNV) 5 PerViewNV MemberDecorate 36(gl_MeshPerVertexNV) 6 BuiltIn CullDistancePerViewNV - Decorate 36(gl_MeshPerVertexNV) Block - MemberDecorate 68(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV + MemberDecorate 36(gl_MeshPerVertexNV) 6 PerViewNV + Decorate 68(gl_MeshPerPrimitiveNV) Block MemberDecorate 68(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId - MemberDecorate 68(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV + MemberDecorate 68(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV MemberDecorate 68(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer - MemberDecorate 68(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV + MemberDecorate 68(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV MemberDecorate 68(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex - MemberDecorate 68(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV + MemberDecorate 68(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV MemberDecorate 68(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV + MemberDecorate 68(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV + MemberDecorate 68(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV MemberDecorate 68(gl_MeshPerPrimitiveNV) 4 PerPrimitiveNV MemberDecorate 68(gl_MeshPerPrimitiveNV) 4 PerViewNV - MemberDecorate 68(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV + MemberDecorate 68(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV MemberDecorate 68(gl_MeshPerPrimitiveNV) 5 PerPrimitiveNV MemberDecorate 68(gl_MeshPerPrimitiveNV) 5 PerViewNV - MemberDecorate 68(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV - Decorate 68(gl_MeshPerPrimitiveNV) Block Decorate 125 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out b/Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out index cd6a95b8..d4ae1501 100644 --- a/Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out +++ b/Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out @@ -43,41 +43,41 @@ spv.meshShaderPerViewUserDefined.mesh Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 20(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV Decorate 21(gl_MeshViewCountNV) BuiltIn MeshViewCountNV + Decorate 31(block) Block MemberDecorate 31(block) 0 PerPrimitiveNV MemberDecorate 31(block) 0 PerViewNV MemberDecorate 31(block) 1 PerPrimitiveNV MemberDecorate 31(block) 2 PerViewNV - Decorate 31(block) Block Decorate 35(b) Location 0 + Decorate 64(perviewBlock) Block MemberDecorate 64(perviewBlock) 0 PerPrimitiveNV MemberDecorate 64(perviewBlock) 0 PerViewNV MemberDecorate 64(perviewBlock) 1 PerPrimitiveNV MemberDecorate 64(perviewBlock) 1 PerViewNV MemberDecorate 64(perviewBlock) 2 PerViewNV MemberDecorate 64(perviewBlock) 3 PerViewNV - Decorate 64(perviewBlock) Block Decorate 67(b2) Location 10 Decorate 89 BuiltIn WorkgroupSize - Decorate 92(nonBlk1) PerViewNV Decorate 92(nonBlk1) Location 18 + Decorate 92(nonBlk1) PerViewNV + Decorate 95(nonBlk2) Location 19 Decorate 95(nonBlk2) PerPrimitiveNV Decorate 95(nonBlk2) PerViewNV - Decorate 95(nonBlk2) Location 19 - Decorate 96(nonBlk3) PerViewNV Decorate 96(nonBlk3) Location 20 + Decorate 96(nonBlk3) PerViewNV + Decorate 97(nonBlk4) Location 21 Decorate 97(nonBlk4) PerPrimitiveNV Decorate 97(nonBlk4) PerViewNV - Decorate 97(nonBlk4) Location 21 - Decorate 102(nonBlkArr1) PerViewNV Decorate 102(nonBlkArr1) Location 22 + Decorate 102(nonBlkArr1) PerViewNV + Decorate 105(nonBlkArr2) Location 24 Decorate 105(nonBlkArr2) PerPrimitiveNV Decorate 105(nonBlkArr2) PerViewNV - Decorate 105(nonBlkArr2) Location 24 - Decorate 106(nonBlkArr3) PerViewNV Decorate 106(nonBlkArr3) Location 26 + Decorate 106(nonBlkArr3) PerViewNV + Decorate 107(nonBlkArr4) Location 28 Decorate 107(nonBlkArr4) PerPrimitiveNV Decorate 107(nonBlkArr4) PerViewNV - Decorate 107(nonBlkArr4) Location 28 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.meshShaderRedeclBuiltins.mesh.out b/Test/baseResults/spv.meshShaderRedeclBuiltins.mesh.out index 60422d66..b75cfdd5 100644 --- a/Test/baseResults/spv.meshShaderRedeclBuiltins.mesh.out +++ b/Test/baseResults/spv.meshShaderRedeclBuiltins.mesh.out @@ -39,20 +39,20 @@ spv.meshShaderRedeclBuiltins.mesh Name 127 "gl_PrimitiveCountNV" Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId + Decorate 24(gl_MeshPerVertexNV) Block MemberDecorate 24(gl_MeshPerVertexNV) 0 BuiltIn Position MemberDecorate 24(gl_MeshPerVertexNV) 1 BuiltIn PointSize MemberDecorate 24(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance MemberDecorate 24(gl_MeshPerVertexNV) 3 BuiltIn CullDistance - Decorate 24(gl_MeshPerVertexNV) Block - MemberDecorate 77(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV - MemberDecorate 77(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId - MemberDecorate 77(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV - MemberDecorate 77(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer - MemberDecorate 77(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV - MemberDecorate 77(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex - MemberDecorate 77(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV - MemberDecorate 77(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV Decorate 77(gl_MeshPerPrimitiveNV) Block + MemberDecorate 77(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId + MemberDecorate 77(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV + MemberDecorate 77(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer + MemberDecorate 77(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV + MemberDecorate 77(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex + MemberDecorate 77(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV + MemberDecorate 77(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV + MemberDecorate 77(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV Decorate 122(gl_PrimitiveIndicesNV) BuiltIn PrimitiveIndicesNV Decorate 127(gl_PrimitiveCountNV) BuiltIn PrimitiveCountNV Decorate 128 BuiltIn WorkgroupSize diff --git a/Test/baseResults/spv.meshShaderRedeclPerViewBuiltins.mesh.out b/Test/baseResults/spv.meshShaderRedeclPerViewBuiltins.mesh.out index f6c20383..63e7fc67 100644 --- a/Test/baseResults/spv.meshShaderRedeclPerViewBuiltins.mesh.out +++ b/Test/baseResults/spv.meshShaderRedeclPerViewBuiltins.mesh.out @@ -34,20 +34,20 @@ spv.meshShaderRedeclPerViewBuiltins.mesh Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 20(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV Decorate 21(gl_MeshViewCountNV) BuiltIn MeshViewCountNV - MemberDecorate 31(gl_MeshPerVertexNV) 0 PerViewNV - MemberDecorate 31(gl_MeshPerVertexNV) 0 BuiltIn PositionPerViewNV - MemberDecorate 31(gl_MeshPerVertexNV) 1 PerViewNV - MemberDecorate 31(gl_MeshPerVertexNV) 1 BuiltIn ClipDistancePerViewNV - MemberDecorate 31(gl_MeshPerVertexNV) 2 PerViewNV - MemberDecorate 31(gl_MeshPerVertexNV) 2 BuiltIn CullDistancePerViewNV Decorate 31(gl_MeshPerVertexNV) Block + MemberDecorate 31(gl_MeshPerVertexNV) 0 BuiltIn PositionPerViewNV + MemberDecorate 31(gl_MeshPerVertexNV) 0 PerViewNV + MemberDecorate 31(gl_MeshPerVertexNV) 1 BuiltIn ClipDistancePerViewNV + MemberDecorate 31(gl_MeshPerVertexNV) 1 PerViewNV + MemberDecorate 31(gl_MeshPerVertexNV) 2 BuiltIn CullDistancePerViewNV + MemberDecorate 31(gl_MeshPerVertexNV) 2 PerViewNV + Decorate 63(gl_MeshPerPrimitiveNV) Block + MemberDecorate 63(gl_MeshPerPrimitiveNV) 0 BuiltIn LayerPerViewNV MemberDecorate 63(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV MemberDecorate 63(gl_MeshPerPrimitiveNV) 0 PerViewNV - MemberDecorate 63(gl_MeshPerPrimitiveNV) 0 BuiltIn LayerPerViewNV + MemberDecorate 63(gl_MeshPerPrimitiveNV) 1 BuiltIn ViewportMaskPerViewNV MemberDecorate 63(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV MemberDecorate 63(gl_MeshPerPrimitiveNV) 1 PerViewNV - MemberDecorate 63(gl_MeshPerPrimitiveNV) 1 BuiltIn ViewportMaskPerViewNV - Decorate 63(gl_MeshPerPrimitiveNV) Block Decorate 119 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.meshShaderSharedMem.mesh.out b/Test/baseResults/spv.meshShaderSharedMem.mesh.out index 9ad333c8..2e15ffb5 100644 --- a/Test/baseResults/spv.meshShaderSharedMem.mesh.out +++ b/Test/baseResults/spv.meshShaderSharedMem.mesh.out @@ -28,13 +28,13 @@ spv.meshShaderSharedMem.mesh Name 55 "uni_image" Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId - MemberDecorate 37(block0) 0 Offset 0 Decorate 37(block0) Block - Decorate 39 DescriptorSet 0 + MemberDecorate 37(block0) 0 Offset 0 Decorate 39 Binding 1 - Decorate 55(uni_image) DescriptorSet 0 - Decorate 55(uni_image) Binding 0 + Decorate 39 DescriptorSet 0 Decorate 55(uni_image) NonReadable + Decorate 55(uni_image) Binding 0 + Decorate 55(uni_image) DescriptorSet 0 Decorate 76 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.meshShaderTaskMem.mesh.out b/Test/baseResults/spv.meshShaderTaskMem.mesh.out index fcbec3d6..adf4cfb9 100644 --- a/Test/baseResults/spv.meshShaderTaskMem.mesh.out +++ b/Test/baseResults/spv.meshShaderTaskMem.mesh.out @@ -33,18 +33,18 @@ spv.meshShaderTaskMem.mesh Decorate 18(outBlock) Block Decorate 22(myblk) Location 0 Decorate 27 ArrayStride 4 - MemberDecorate 28(taskBlock) 0 PerTaskNV - MemberDecorate 28(taskBlock) 0 Offset 0 - MemberDecorate 28(taskBlock) 1 PerTaskNV - MemberDecorate 28(taskBlock) 1 Offset 16 Decorate 28(taskBlock) Block + MemberDecorate 28(taskBlock) 0 Offset 0 + MemberDecorate 28(taskBlock) 0 PerTaskNV + MemberDecorate 28(taskBlock) 1 Offset 16 + MemberDecorate 28(taskBlock) 1 PerTaskNV Decorate 30(mytask) Location 0 Decorate 35 ArrayStride 4 + Decorate 36(bufferBlock) BufferBlock MemberDecorate 36(bufferBlock) 0 Offset 0 MemberDecorate 36(bufferBlock) 1 Offset 16 - Decorate 36(bufferBlock) BufferBlock - Decorate 38(mybuf) DescriptorSet 0 Decorate 38(mybuf) Binding 0 + Decorate 38(mybuf) DescriptorSet 0 Decorate 57 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.meshShaderUserDefined.mesh.out b/Test/baseResults/spv.meshShaderUserDefined.mesh.out index 0e5fd050..d4d87356 100644 --- a/Test/baseResults/spv.meshShaderUserDefined.mesh.out +++ b/Test/baseResults/spv.meshShaderUserDefined.mesh.out @@ -34,13 +34,13 @@ spv.meshShaderUserDefined.mesh Name 104 "blk2" Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId + Decorate 30(myblock) Block MemberDecorate 30(myblock) 0 PerPrimitiveNV MemberDecorate 30(myblock) 1 PerPrimitiveNV MemberDecorate 30(myblock) 2 PerPrimitiveNV MemberDecorate 30(myblock) 3 PerPrimitiveNV MemberDecorate 30(myblock) 4 PerPrimitiveNV MemberDecorate 30(myblock) 5 PerPrimitiveNV - Decorate 30(myblock) Block Decorate 34(blk) Location 0 Decorate 100(myblock2) Block Decorate 104(blk2) Location 20 diff --git a/Test/baseResults/spv.meshTaskShader.task.out b/Test/baseResults/spv.meshTaskShader.task.out index 9442f973..dab67623 100644 --- a/Test/baseResults/spv.meshTaskShader.task.out +++ b/Test/baseResults/spv.meshTaskShader.task.out @@ -36,21 +36,21 @@ spv.meshTaskShader.task Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId Decorate 24(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV Decorate 25(gl_MeshViewCountNV) BuiltIn MeshViewCountNV - MemberDecorate 47(block0) 0 Offset 0 Decorate 47(block0) Block - Decorate 49 DescriptorSet 0 + MemberDecorate 47(block0) 0 Offset 0 Decorate 49 Binding 1 - Decorate 65(uni_image) DescriptorSet 0 - Decorate 65(uni_image) Binding 0 + Decorate 49 DescriptorSet 0 Decorate 65(uni_image) NonReadable + Decorate 65(uni_image) Binding 0 + Decorate 65(uni_image) DescriptorSet 0 Decorate 87 ArrayStride 8 - MemberDecorate 88(Task) 0 PerTaskNV - MemberDecorate 88(Task) 0 Offset 0 - MemberDecorate 88(Task) 1 PerTaskNV - MemberDecorate 88(Task) 1 Offset 8 - MemberDecorate 88(Task) 2 PerTaskNV - MemberDecorate 88(Task) 2 Offset 32 Decorate 88(Task) Block + MemberDecorate 88(Task) 0 Offset 0 + MemberDecorate 88(Task) 0 PerTaskNV + MemberDecorate 88(Task) 1 Offset 8 + MemberDecorate 88(Task) 1 PerTaskNV + MemberDecorate 88(Task) 2 Offset 32 + MemberDecorate 88(Task) 2 PerTaskNV Decorate 90(mytask) Location 0 Decorate 113(gl_TaskCountNV) BuiltIn TaskCountNV Decorate 115 BuiltIn WorkgroupSize diff --git a/Test/baseResults/spv.multiStruct.comp.out b/Test/baseResults/spv.multiStruct.comp.out index 0ff605cc..af9db966 100644 --- a/Test/baseResults/spv.multiStruct.comp.out +++ b/Test/baseResults/spv.multiStruct.comp.out @@ -48,35 +48,35 @@ spv.multiStruct.comp Decorate 15 ArrayStride 8 MemberDecorate 16(MyStruct) 0 Offset 0 MemberDecorate 16(MyStruct) 1 Offset 16 - MemberDecorate 17(SSBO0) 0 Offset 0 Decorate 17(SSBO0) BufferBlock - Decorate 19(inBuf) DescriptorSet 0 + MemberDecorate 17(SSBO0) 0 Offset 0 Decorate 19(inBuf) Binding 0 - MemberDecorate 39(SSBO1) 0 Offset 0 + Decorate 19(inBuf) DescriptorSet 0 Decorate 39(SSBO1) BufferBlock - Decorate 41(outBuf) DescriptorSet 0 + MemberDecorate 39(SSBO1) 0 Offset 0 Decorate 41(outBuf) Binding 1 + Decorate 41(outBuf) DescriptorSet 0 Decorate 57 ArrayStride 16 MemberDecorate 58(MyStruct) 0 Offset 0 MemberDecorate 58(MyStruct) 1 Offset 32 - MemberDecorate 59(UBO) 0 Offset 0 Decorate 59(UBO) Block - Decorate 61(uBuf) DescriptorSet 0 + MemberDecorate 59(UBO) 0 Offset 0 Decorate 61(uBuf) Binding 2 + Decorate 61(uBuf) DescriptorSet 0 Decorate 89 ArrayStride 48 MemberDecorate 90(Nested) 0 Offset 0 MemberDecorate 90(Nested) 1 Offset 16 - MemberDecorate 91(UBON) 0 Offset 0 Decorate 91(UBON) Block - Decorate 93(uBufN) DescriptorSet 0 + MemberDecorate 91(UBON) 0 Offset 0 Decorate 93(uBufN) Binding 2 + Decorate 93(uBufN) DescriptorSet 0 Decorate 125 ArrayStride 24 MemberDecorate 126(Nested) 0 Offset 0 MemberDecorate 126(Nested) 1 Offset 8 - MemberDecorate 127(SSBO1N) 0 Offset 0 Decorate 127(SSBO1N) BufferBlock - Decorate 129(outBufN) DescriptorSet 0 + MemberDecorate 127(SSBO1N) 0 Offset 0 Decorate 129(outBufN) Binding 1 + Decorate 129(outBufN) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.multiStructFuncall.frag.out b/Test/baseResults/spv.multiStructFuncall.frag.out index 50f4b78b..55544dc6 100644 --- a/Test/baseResults/spv.multiStructFuncall.frag.out +++ b/Test/baseResults/spv.multiStructFuncall.frag.out @@ -30,12 +30,12 @@ spv.multiStructFuncall.frag Name 50 "param" Name 61 "param" MemberDecorate 22(S) 0 ColMajor - MemberDecorate 22(S) 0 Offset 0 MemberDecorate 22(S) 0 MatrixStride 16 - MemberDecorate 23(blockName) 0 Offset 0 + MemberDecorate 22(S) 0 Offset 0 Decorate 23(blockName) BufferBlock - Decorate 25 DescriptorSet 0 + MemberDecorate 23(blockName) 0 Offset 0 Decorate 25 Binding 0 + Decorate 25 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.multiView.frag.out b/Test/baseResults/spv.multiView.frag.out index c6afe8f6..dd433e80 100644 --- a/Test/baseResults/spv.multiView.frag.out +++ b/Test/baseResults/spv.multiView.frag.out @@ -15,8 +15,8 @@ spv.multiView.frag Name 9 "color" Name 12 "gl_ViewIndex" Decorate 9(color) Location 0 - Decorate 12(gl_ViewIndex) Flat Decorate 12(gl_ViewIndex) BuiltIn ViewIndex + Decorate 12(gl_ViewIndex) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.multiple.var.same.const.frag.out b/Test/baseResults/spv.multiple.var.same.const.frag.out new file mode 100644 index 00000000..833c6ace --- /dev/null +++ b/Test/baseResults/spv.multiple.var.same.const.frag.out @@ -0,0 +1,21 @@ +spv.multiple.var.same.const.frag +// Module Version 10000 +// Generated by (magic number): 8000b +// Id's are bound by 8 + + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Fragment 4 "main" + ExecutionMode 4 OriginUpperLeft + Source ESSL 320 + Name 4 "main" + Decorate 7 RelaxedPrecision + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeFloat 32 + 7: 6(float) Constant 897988541 + 4(main): 2 Function None 3 + 5: Label + Return + FunctionEnd diff --git a/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out b/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out index 95279512..fa718093 100644 --- a/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out +++ b/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out @@ -25,16 +25,16 @@ spv.multiviewPerViewAttributes.tesc MemberName 27(gl_PerVertex) 3 "gl_CullDistance" MemberName 27(gl_PerVertex) 4 "gl_PositionPerViewNV" Name 31 "gl_in" + Decorate 13(gl_PerVertex) Block MemberDecorate 13(gl_PerVertex) 0 BuiltIn PositionPerViewNV MemberDecorate 13(gl_PerVertex) 1 BuiltIn ViewportMaskPerViewNV - Decorate 13(gl_PerVertex) Block Decorate 19(gl_InvocationID) BuiltIn InvocationId + Decorate 27(gl_PerVertex) Block MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 27(gl_PerVertex) 3 BuiltIn CullDistance MemberDecorate 27(gl_PerVertex) 4 BuiltIn PositionPerViewNV - Decorate 27(gl_PerVertex) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.multiviewPerViewAttributes.vert.out b/Test/baseResults/spv.multiviewPerViewAttributes.vert.out index 8268e5de..c456f022 100644 --- a/Test/baseResults/spv.multiviewPerViewAttributes.vert.out +++ b/Test/baseResults/spv.multiviewPerViewAttributes.vert.out @@ -22,11 +22,11 @@ spv.multiviewPerViewAttributes.vert Name 24 "" Decorate 11(gl_ViewportMaskPerViewNV) BuiltIn ViewportMaskPerViewNV Decorate 20(gl_PositionPerViewNV) BuiltIn PositionPerViewNV + Decorate 22(gl_PerVertex) Block MemberDecorate 22(gl_PerVertex) 0 BuiltIn Position MemberDecorate 22(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 22(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 22(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 22(gl_PerVertex) Block 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.newTexture.frag.out b/Test/baseResults/spv.newTexture.frag.out index 922e82e7..2bffe8af 100644 --- a/Test/baseResults/spv.newTexture.frag.out +++ b/Test/baseResults/spv.newTexture.frag.out @@ -44,53 +44,53 @@ Validation failed Name 271 "usCube" Name 275 "us2DArray" Name 277 "ic4D" - Decorate 13(s2D) DescriptorSet 0 Decorate 13(s2D) Binding 0 + Decorate 13(s2D) DescriptorSet 0 Decorate 17(c2D) Location 1 - Decorate 23(sCubeArrayShadow) DescriptorSet 0 Decorate 23(sCubeArrayShadow) Binding 5 + Decorate 23(sCubeArrayShadow) DescriptorSet 0 Decorate 26(c4D) Location 3 Decorate 29(c1D) Location 0 - Decorate 42(s3D) DescriptorSet 0 Decorate 42(s3D) Binding 2 - Decorate 51(s2DArray) DescriptorSet 0 + Decorate 42(s3D) DescriptorSet 0 Decorate 51(s2DArray) Binding 7 + Decorate 51(s2DArray) DescriptorSet 0 Decorate 55(c3D) Location 2 - Decorate 64(s2DShadow) DescriptorSet 0 Decorate 64(s2DShadow) Binding 6 + Decorate 64(s2DShadow) DescriptorSet 0 Decorate 81(ic3D) Flat Decorate 81(ic3D) Location 6 Decorate 84(ic1D) Flat Decorate 84(ic1D) Location 4 Decorate 92(ic2D) Flat Decorate 92(ic2D) Location 5 - Decorate 102(sr) DescriptorSet 0 Decorate 102(sr) Binding 1 - Decorate 128(sCube) DescriptorSet 0 + Decorate 102(sr) DescriptorSet 0 Decorate 128(sCube) Binding 3 - Decorate 137(s2DArrayShadow) DescriptorSet 0 + Decorate 128(sCube) DescriptorSet 0 Decorate 137(s2DArrayShadow) Binding 8 - Decorate 166(is2D) DescriptorSet 0 + Decorate 137(s2DArrayShadow) DescriptorSet 0 Decorate 166(is2D) Binding 9 - Decorate 202(is3D) DescriptorSet 0 + Decorate 166(is2D) DescriptorSet 0 Decorate 202(is3D) Binding 10 - Decorate 214(isCube) DescriptorSet 0 + Decorate 202(is3D) DescriptorSet 0 Decorate 214(isCube) Binding 11 - Decorate 226(is2DArray) DescriptorSet 0 + Decorate 214(isCube) DescriptorSet 0 Decorate 226(is2DArray) Binding 12 - Decorate 241(sCubeShadow) DescriptorSet 0 + Decorate 226(is2DArray) DescriptorSet 0 Decorate 241(sCubeShadow) Binding 4 + Decorate 241(sCubeShadow) DescriptorSet 0 Decorate 247(FragData) Location 0 - Decorate 259(is2Dms) DescriptorSet 0 Decorate 259(is2Dms) Binding 0 - Decorate 263(us2D) DescriptorSet 0 + Decorate 259(is2Dms) DescriptorSet 0 Decorate 263(us2D) Binding 0 - Decorate 267(us3D) DescriptorSet 0 + Decorate 263(us2D) DescriptorSet 0 Decorate 267(us3D) Binding 0 - Decorate 271(usCube) DescriptorSet 0 + Decorate 267(us3D) DescriptorSet 0 Decorate 271(usCube) Binding 0 - Decorate 275(us2DArray) DescriptorSet 0 + Decorate 271(usCube) DescriptorSet 0 Decorate 275(us2DArray) Binding 0 + Decorate 275(us2DArray) DescriptorSet 0 Decorate 277(ic4D) Flat Decorate 277(ic4D) Location 7 2: TypeVoid diff --git a/Test/baseResults/spv.noBuiltInLoc.vert.out b/Test/baseResults/spv.noBuiltInLoc.vert.out index 65ee22a6..c7541bf5 100644 --- a/Test/baseResults/spv.noBuiltInLoc.vert.out +++ b/Test/baseResults/spv.noBuiltInLoc.vert.out @@ -26,20 +26,20 @@ spv.noBuiltInLoc.vert Name 34 "gl_InstanceID" Decorate 9(bar) Location 0 Decorate 11(foo) Location 0 + Decorate 16(gl_PerVertex) Block MemberDecorate 16(gl_PerVertex) 0 BuiltIn Position MemberDecorate 16(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 16(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 16(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 16(gl_PerVertex) Block Decorate 24(uv1) Location 0 Decorate 24(uv1) DescriptorSet 0 Decorate 26(uv2) Location 1 Decorate 26(uv2) DescriptorSet 0 Decorate 29(uv3) Location 2 Decorate 29(uv3) DescriptorSet 0 - Decorate 31(a_uint) Offset 0 - Decorate 31(a_uint) DescriptorSet 0 Decorate 31(a_uint) Binding 0 + Decorate 31(a_uint) DescriptorSet 0 + Decorate 31(a_uint) Offset 0 Decorate 33(gl_VertexID) BuiltIn VertexId Decorate 34(gl_InstanceID) BuiltIn InstanceId 2: TypeVoid diff --git a/Test/baseResults/spv.noDeadDecorations.vert.out b/Test/baseResults/spv.noDeadDecorations.vert.out index 0185eaf3..51814d0c 100644 --- a/Test/baseResults/spv.noDeadDecorations.vert.out +++ b/Test/baseResults/spv.noDeadDecorations.vert.out @@ -16,13 +16,13 @@ spv.noDeadDecorations.vert MemberName 20(gl_PerVertex) 1 "gl_PointSize" Name 22 "" Name 26 "param" - Decorate 10(func(f1;) RelaxedPrecision Decorate 9(a) RelaxedPrecision + Decorate 10(func(f1;) RelaxedPrecision Decorate 12 RelaxedPrecision Decorate 13 RelaxedPrecision + Decorate 20(gl_PerVertex) Block MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize - Decorate 20(gl_PerVertex) Block Decorate 26(param) RelaxedPrecision Decorate 27 RelaxedPrecision 2: TypeVoid diff --git a/Test/baseResults/spv.nonuniform.frag.out b/Test/baseResults/spv.nonuniform.frag.out index 26b020c5..8aa68838 100644 --- a/Test/baseResults/spv.nonuniform.frag.out +++ b/Test/baseResults/spv.nonuniform.frag.out @@ -82,65 +82,65 @@ spv.nonuniform.frag Decorate 46 DecorationNonUniformEXT Decorate 48 DecorationNonUniformEXT Decorate 49 DecorationNonUniformEXT - Decorate 53(inputAttachmentDyn) DescriptorSet 0 Decorate 53(inputAttachmentDyn) Binding 0 + Decorate 53(inputAttachmentDyn) DescriptorSet 0 Decorate 53(inputAttachmentDyn) InputAttachmentIndex 0 - Decorate 70(uniformTexelBufferDyn) DescriptorSet 0 Decorate 70(uniformTexelBufferDyn) Binding 1 - Decorate 84(storageTexelBufferDyn) DescriptorSet 0 + Decorate 70(uniformTexelBufferDyn) DescriptorSet 0 Decorate 84(storageTexelBufferDyn) Binding 2 - MemberDecorate 93(uname) 0 Offset 0 + Decorate 84(storageTexelBufferDyn) DescriptorSet 0 Decorate 93(uname) Block - Decorate 96(uniformBuffer) DescriptorSet 0 + MemberDecorate 93(uname) 0 Offset 0 Decorate 96(uniformBuffer) Binding 3 + Decorate 96(uniformBuffer) DescriptorSet 0 Decorate 98(nu_ii) Flat Decorate 98(nu_ii) Location 1 Decorate 99 DecorationNonUniformEXT Decorate 101 DecorationNonUniformEXT Decorate 102 DecorationNonUniformEXT Decorate 104 DecorationNonUniformEXT - MemberDecorate 105(bname) 0 Offset 0 Decorate 105(bname) BufferBlock - Decorate 108(storageBuffer) DescriptorSet 0 + MemberDecorate 105(bname) 0 Offset 0 Decorate 108(storageBuffer) Binding 4 + Decorate 108(storageBuffer) DescriptorSet 0 Decorate 109 DecorationNonUniformEXT Decorate 110 DecorationNonUniformEXT Decorate 111 DecorationNonUniformEXT Decorate 113 DecorationNonUniformEXT - Decorate 118(sampledImage) DescriptorSet 0 Decorate 118(sampledImage) Binding 5 + Decorate 118(sampledImage) DescriptorSet 0 Decorate 119 DecorationNonUniformEXT Decorate 121 DecorationNonUniformEXT Decorate 122 DecorationNonUniformEXT - Decorate 133(storageImage) DescriptorSet 0 Decorate 133(storageImage) Binding 6 + Decorate 133(storageImage) DescriptorSet 0 Decorate 134 DecorationNonUniformEXT Decorate 136 DecorationNonUniformEXT Decorate 137 DecorationNonUniformEXT - Decorate 145(inputAttachment) DescriptorSet 0 Decorate 145(inputAttachment) Binding 7 + Decorate 145(inputAttachment) DescriptorSet 0 Decorate 145(inputAttachment) InputAttachmentIndex 1 Decorate 146 DecorationNonUniformEXT Decorate 147 DecorationNonUniformEXT Decorate 148 DecorationNonUniformEXT - Decorate 155(uniformTexelBuffer) DescriptorSet 0 Decorate 155(uniformTexelBuffer) Binding 8 + Decorate 155(uniformTexelBuffer) DescriptorSet 0 Decorate 156 DecorationNonUniformEXT Decorate 157 DecorationNonUniformEXT Decorate 158 DecorationNonUniformEXT Decorate 159 DecorationNonUniformEXT - Decorate 166(storageTexelBuffer) DescriptorSet 0 Decorate 166(storageTexelBuffer) Binding 9 + Decorate 166(storageTexelBuffer) DescriptorSet 0 Decorate 167 DecorationNonUniformEXT Decorate 168 DecorationNonUniformEXT Decorate 169 DecorationNonUniformEXT - Decorate 177(uniformTexArr) DescriptorSet 0 Decorate 177(uniformTexArr) Binding 10 + Decorate 177(uniformTexArr) DescriptorSet 0 Decorate 178 DecorationNonUniformEXT Decorate 180 DecorationNonUniformEXT Decorate 181 DecorationNonUniformEXT - Decorate 184(uniformSampler) DescriptorSet 0 Decorate 184(uniformSampler) Binding 11 + Decorate 184(uniformSampler) DescriptorSet 0 Decorate 188(inTexcoord) Location 2 Decorate 194 DecorationNonUniformEXT Decorate 195 DecorationNonUniformEXT diff --git a/Test/baseResults/spv.nonuniform2.frag.out b/Test/baseResults/spv.nonuniform2.frag.out index b9d64ddc..b5b3dfe2 100644 --- a/Test/baseResults/spv.nonuniform2.frag.out +++ b/Test/baseResults/spv.nonuniform2.frag.out @@ -20,8 +20,8 @@ spv.nonuniform2.frag Name 13 "data" Name 16 "rIndex" Decorate 9(FragColor) Location 0 - Decorate 13(data) DescriptorSet 0 Decorate 13(data) Binding 4 + Decorate 13(data) DescriptorSet 0 Decorate 16(rIndex) Flat Decorate 16(rIndex) Location 3 Decorate 18 DecorationNonUniformEXT diff --git a/Test/baseResults/spv.nonuniform3.frag.out b/Test/baseResults/spv.nonuniform3.frag.out index 119a6d9b..331c058e 100644 --- a/Test/baseResults/spv.nonuniform3.frag.out +++ b/Test/baseResults/spv.nonuniform3.frag.out @@ -19,12 +19,12 @@ spv.nonuniform3.frag Name 16 "Index" Name 23 "uSamp" Decorate 9(FragColor) Location 0 - Decorate 13(uTex) DescriptorSet 0 Decorate 13(uTex) Binding 0 + Decorate 13(uTex) DescriptorSet 0 Decorate 16(Index) Flat Decorate 16(Index) Location 0 - Decorate 23(uSamp) DescriptorSet 1 Decorate 23(uSamp) Binding 0 + Decorate 23(uSamp) DescriptorSet 1 Decorate 27 DecorationNonUniformEXT 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.nonuniform4.frag.out b/Test/baseResults/spv.nonuniform4.frag.out index 4442e5f5..a20f64b9 100644 --- a/Test/baseResults/spv.nonuniform4.frag.out +++ b/Test/baseResults/spv.nonuniform4.frag.out @@ -18,8 +18,8 @@ spv.nonuniform4.frag Name 4 "main" Name 10 "data" Name 13 "rIndex" - Decorate 10(data) DescriptorSet 0 Decorate 10(data) Binding 4 + Decorate 10(data) DescriptorSet 0 Decorate 13(rIndex) Flat Decorate 13(rIndex) Location 3 Decorate 15 DecorationNonUniformEXT diff --git a/Test/baseResults/spv.nonuniform5.frag.out b/Test/baseResults/spv.nonuniform5.frag.out index abf10c2c..d2f05631 100644 --- a/Test/baseResults/spv.nonuniform5.frag.out +++ b/Test/baseResults/spv.nonuniform5.frag.out @@ -21,10 +21,10 @@ spv.nonuniform5.frag Name 13 "ubos" Name 16 "Index" Decorate 9(FragColor) Location 0 - MemberDecorate 10(UBO) 0 Offset 0 Decorate 10(UBO) Block - Decorate 13(ubos) DescriptorSet 0 + MemberDecorate 10(UBO) 0 Offset 0 Decorate 13(ubos) Binding 0 + Decorate 13(ubos) DescriptorSet 0 Decorate 16(Index) Flat Decorate 16(Index) Location 0 Decorate 18 DecorationNonUniformEXT diff --git a/Test/baseResults/spv.nullInit.comp.out b/Test/baseResults/spv.nullInit.comp.out old mode 100755 new mode 100644 diff --git a/Test/baseResults/spv.nv.dmm-allops.comp.out b/Test/baseResults/spv.nv.dmm-allops.comp.out index b9807142..68537d4a 100644 --- a/Test/baseResults/spv.nv.dmm-allops.comp.out +++ b/Test/baseResults/spv.nv.dmm-allops.comp.out @@ -21,13 +21,13 @@ spv.nv.dmm-allops.comp MemberName 9(block) 1 "op_bary" Name 11 "" Name 16 "as" + Decorate 9(block) Block MemberDecorate 9(block) 0 Offset 0 MemberDecorate 9(block) 1 Offset 16 - Decorate 9(block) Block - Decorate 11 DescriptorSet 0 Decorate 11 Binding 0 - Decorate 16(as) DescriptorSet 0 + Decorate 11 DescriptorSet 0 Decorate 16(as) Binding 1 + Decorate 16(as) DescriptorSet 0 Decorate 58 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.nv.dmm-allops.mesh.out b/Test/baseResults/spv.nv.dmm-allops.mesh.out index 9f626c21..f2edf548 100644 --- a/Test/baseResults/spv.nv.dmm-allops.mesh.out +++ b/Test/baseResults/spv.nv.dmm-allops.mesh.out @@ -26,13 +26,13 @@ spv.nv.dmm-allops.mesh MemberName 9(block) 1 "op_bary" Name 11 "" Name 16 "as" + Decorate 9(block) Block MemberDecorate 9(block) 0 Offset 0 MemberDecorate 9(block) 1 Offset 16 - Decorate 9(block) Block - Decorate 11 DescriptorSet 0 Decorate 11 Binding 0 - Decorate 16(as) DescriptorSet 0 + Decorate 11 DescriptorSet 0 Decorate 16(as) Binding 1 + Decorate 16(as) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.nv.dmm-allops.rahit.out b/Test/baseResults/spv.nv.dmm-allops.rahit.out index 388ab04e..56551195 100644 --- a/Test/baseResults/spv.nv.dmm-allops.rahit.out +++ b/Test/baseResults/spv.nv.dmm-allops.rahit.out @@ -26,19 +26,19 @@ spv.nv.dmm-allops.rahit Name 64 "gl_HitKindFrontFacingMicroTriangleNV" Name 67 "gl_HitKindBackFacingMicroTriangleNV" Name 76 "as" + Decorate 10(block) Block MemberDecorate 10(block) 0 Offset 0 MemberDecorate 10(block) 1 Offset 16 MemberDecorate 10(block) 2 Offset 24 - Decorate 10(block) Block - Decorate 12 DescriptorSet 0 Decorate 12 Binding 0 + Decorate 12 DescriptorSet 0 Decorate 18(gl_HitMicroTriangleVertexPositionsNV) BuiltIn HitMicroTriangleVertexPositionsNV Decorate 40(gl_HitMicroTriangleVertexBarycentricsNV) BuiltIn HitMicroTriangleVertexBarycentricsNV Decorate 59(gl_HitKindEXT) BuiltIn HitKindKHR Decorate 64(gl_HitKindFrontFacingMicroTriangleNV) BuiltIn HitKindFrontFacingMicroTriangleNV Decorate 67(gl_HitKindBackFacingMicroTriangleNV) BuiltIn HitKindBackFacingMicroTriangleNV - Decorate 76(as) DescriptorSet 0 Decorate 76(as) Binding 1 + Decorate 76(as) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.nv.dmm-allops.rchit.out b/Test/baseResults/spv.nv.dmm-allops.rchit.out index c53bc8c1..291b5148 100644 --- a/Test/baseResults/spv.nv.dmm-allops.rchit.out +++ b/Test/baseResults/spv.nv.dmm-allops.rchit.out @@ -26,19 +26,19 @@ spv.nv.dmm-allops.rchit Name 64 "gl_HitKindFrontFacingMicroTriangleNV" Name 67 "gl_HitKindBackFacingMicroTriangleNV" Name 76 "as" + Decorate 10(block) Block MemberDecorate 10(block) 0 Offset 0 MemberDecorate 10(block) 1 Offset 16 MemberDecorate 10(block) 2 Offset 24 - Decorate 10(block) Block - Decorate 12 DescriptorSet 0 Decorate 12 Binding 0 + Decorate 12 DescriptorSet 0 Decorate 18(gl_HitMicroTriangleVertexPositionsNV) BuiltIn HitMicroTriangleVertexPositionsNV Decorate 40(gl_HitMicroTriangleVertexBarycentricsNV) BuiltIn HitMicroTriangleVertexBarycentricsNV Decorate 59(gl_HitKindEXT) BuiltIn HitKindKHR Decorate 64(gl_HitKindFrontFacingMicroTriangleNV) BuiltIn HitKindFrontFacingMicroTriangleNV Decorate 67(gl_HitKindBackFacingMicroTriangleNV) BuiltIn HitKindBackFacingMicroTriangleNV - Decorate 76(as) DescriptorSet 0 Decorate 76(as) Binding 1 + Decorate 76(as) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.nv.dmm-allops.rgen.out b/Test/baseResults/spv.nv.dmm-allops.rgen.out index 78001e1f..aaff10ff 100644 --- a/Test/baseResults/spv.nv.dmm-allops.rgen.out +++ b/Test/baseResults/spv.nv.dmm-allops.rgen.out @@ -23,14 +23,14 @@ spv.nv.dmm-allops.rgen Name 17 "as" Name 58 "gl_HitKindFrontFacingMicroTriangleNV" Name 61 "gl_HitKindBackFacingMicroTriangleNV" + Decorate 10(block) Block MemberDecorate 10(block) 0 Offset 0 MemberDecorate 10(block) 1 Offset 16 MemberDecorate 10(block) 2 Offset 24 - Decorate 10(block) Block - Decorate 12 DescriptorSet 0 Decorate 12 Binding 0 - Decorate 17(as) DescriptorSet 0 + Decorate 12 DescriptorSet 0 Decorate 17(as) Binding 1 + Decorate 17(as) DescriptorSet 0 Decorate 58(gl_HitKindFrontFacingMicroTriangleNV) BuiltIn HitKindFrontFacingMicroTriangleNV Decorate 61(gl_HitKindBackFacingMicroTriangleNV) BuiltIn HitKindBackFacingMicroTriangleNV 2: TypeVoid diff --git a/Test/baseResults/spv.nv.hitobject-allops.rchit.out b/Test/baseResults/spv.nv.hitobject-allops.rchit.out index 15e6d416..0ab305c3 100644 --- a/Test/baseResults/spv.nv.hitobject-allops.rchit.out +++ b/Test/baseResults/spv.nv.hitobject-allops.rchit.out @@ -48,13 +48,13 @@ spv.nv.hitobject-allops.rchit Name 112 "handle" Name 114 "rid" Decorate 12(hBlock) Block - Decorate 25(as) DescriptorSet 0 Decorate 25(as) Binding 0 + Decorate 25(as) DescriptorSet 0 Decorate 40(pBlock) Block - MemberDecorate 62(block) 0 Offset 0 Decorate 62(block) Block - Decorate 64 DescriptorSet 0 + MemberDecorate 62(block) 0 Offset 0 Decorate 64 Binding 1 + Decorate 64 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.nv.hitobject-allops.rgen.out b/Test/baseResults/spv.nv.hitobject-allops.rgen.out index d395500a..c6811118 100644 --- a/Test/baseResults/spv.nv.hitobject-allops.rgen.out +++ b/Test/baseResults/spv.nv.hitobject-allops.rgen.out @@ -48,13 +48,13 @@ spv.nv.hitobject-allops.rgen Name 112 "handle" Name 114 "rid" Decorate 12(hBlock) Block - Decorate 25(as) DescriptorSet 0 Decorate 25(as) Binding 0 + Decorate 25(as) DescriptorSet 0 Decorate 40(pBlock) Block - MemberDecorate 62(block) 0 Offset 0 Decorate 62(block) Block - Decorate 64 DescriptorSet 0 + MemberDecorate 62(block) 0 Offset 0 Decorate 64 Binding 1 + Decorate 64 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.nv.hitobject-allops.rmiss.out b/Test/baseResults/spv.nv.hitobject-allops.rmiss.out index 970d08a1..4ad23a55 100644 --- a/Test/baseResults/spv.nv.hitobject-allops.rmiss.out +++ b/Test/baseResults/spv.nv.hitobject-allops.rmiss.out @@ -48,13 +48,13 @@ spv.nv.hitobject-allops.rmiss Name 112 "handle" Name 114 "rid" Decorate 12(hBlock) Block - Decorate 25(as) DescriptorSet 0 Decorate 25(as) Binding 0 + Decorate 25(as) DescriptorSet 0 Decorate 40(pBlock) Block - MemberDecorate 62(block) 0 Offset 0 Decorate 62(block) Block - Decorate 64 DescriptorSet 0 + MemberDecorate 62(block) 0 Offset 0 Decorate 64 Binding 1 + Decorate 64 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.nv.hitobject-errors.rgen.out b/Test/baseResults/spv.nv.hitobject-errors.rgen.out new file mode 100644 index 00000000..13948275 --- /dev/null +++ b/Test/baseResults/spv.nv.hitobject-errors.rgen.out @@ -0,0 +1,9 @@ +spv.nv.hitobject-errors.rgen +ERROR: 0:7: 'hitObjectNV' : hitObjectNV can only be declared in global or function scope with no storage qualifier: uHitObj +ERROR: 0:9: 'hitObjectNV' : hitObjectNV can only be declared in global or function scope with no storage qualifier: hobjIn +ERROR: 0:10: 'hitObjectNV' : hitObjectNV can only be declared in global or function scope with no storage qualifier: hobjOut +ERROR: 0:21: 'hObjWrapper' : struct is not allowed to contain hitObjectNV: wrapper +ERROR: 4 compilation errors. No code generated. + + +SPIR-V is not generated for failed compile or link diff --git a/Test/baseResults/spv.nvAtomicFp16Vec.frag.out b/Test/baseResults/spv.nvAtomicFp16Vec.frag.out index 3486cf3d..76d683e4 100644 --- a/Test/baseResults/spv.nvAtomicFp16Vec.frag.out +++ b/Test/baseResults/spv.nvAtomicFp16Vec.frag.out @@ -42,69 +42,69 @@ spv.nvAtomicFp16Vec.frag Name 340 "fimageCubev4" Name 350 "fimageCubeArrayv4" Name 360 "fimage3Dv4" + Decorate 9(Buffer) BufferBlock MemberDecorate 9(Buffer) 0 Offset 0 MemberDecorate 9(Buffer) 1 Offset 8 MemberDecorate 9(Buffer) 2 Offset 16 MemberDecorate 9(Buffer) 3 Offset 24 - Decorate 9(Buffer) BufferBlock - Decorate 11(buf) DescriptorSet 0 Decorate 11(buf) Binding 0 - Decorate 74(fimage1D) DescriptorSet 0 - Decorate 74(fimage1D) Binding 0 + Decorate 11(buf) DescriptorSet 0 Decorate 74(fimage1D) Volatile Decorate 74(fimage1D) Coherent - Decorate 85(fimage1DArray) DescriptorSet 0 - Decorate 85(fimage1DArray) Binding 1 + Decorate 74(fimage1D) Binding 0 + Decorate 74(fimage1D) DescriptorSet 0 Decorate 85(fimage1DArray) Volatile Decorate 85(fimage1DArray) Coherent - Decorate 97(fimage2D) DescriptorSet 0 - Decorate 97(fimage2D) Binding 2 + Decorate 85(fimage1DArray) Binding 1 + Decorate 85(fimage1DArray) DescriptorSet 0 Decorate 97(fimage2D) Volatile Decorate 97(fimage2D) Coherent - Decorate 107(fimage2DArray) DescriptorSet 0 - Decorate 107(fimage2DArray) Binding 3 + Decorate 97(fimage2D) Binding 2 + Decorate 97(fimage2D) DescriptorSet 0 Decorate 107(fimage2DArray) Volatile Decorate 107(fimage2DArray) Coherent - Decorate 119(fimageCube) DescriptorSet 0 - Decorate 119(fimageCube) Binding 5 + Decorate 107(fimage2DArray) Binding 3 + Decorate 107(fimage2DArray) DescriptorSet 0 Decorate 119(fimageCube) Volatile Decorate 119(fimageCube) Coherent - Decorate 129(fimageCubeArray) DescriptorSet 0 - Decorate 129(fimageCubeArray) Binding 6 + Decorate 119(fimageCube) Binding 5 + Decorate 119(fimageCube) DescriptorSet 0 Decorate 129(fimageCubeArray) Volatile Decorate 129(fimageCubeArray) Coherent - Decorate 139(fimage3D) DescriptorSet 0 - Decorate 139(fimage3D) Binding 9 + Decorate 129(fimageCubeArray) Binding 6 + Decorate 129(fimageCubeArray) DescriptorSet 0 Decorate 139(fimage3D) Volatile Decorate 139(fimage3D) Coherent - Decorate 299(fimage1Dv4) DescriptorSet 0 - Decorate 299(fimage1Dv4) Binding 10 + Decorate 139(fimage3D) Binding 9 + Decorate 139(fimage3D) DescriptorSet 0 Decorate 299(fimage1Dv4) Volatile Decorate 299(fimage1Dv4) Coherent - Decorate 310(fimage1DArrayv4) DescriptorSet 0 - Decorate 310(fimage1DArrayv4) Binding 11 + Decorate 299(fimage1Dv4) Binding 10 + Decorate 299(fimage1Dv4) DescriptorSet 0 Decorate 310(fimage1DArrayv4) Volatile Decorate 310(fimage1DArrayv4) Coherent - Decorate 320(fimage2Dv4) DescriptorSet 0 - Decorate 320(fimage2Dv4) Binding 12 + Decorate 310(fimage1DArrayv4) Binding 11 + Decorate 310(fimage1DArrayv4) DescriptorSet 0 Decorate 320(fimage2Dv4) Volatile Decorate 320(fimage2Dv4) Coherent - Decorate 330(fimage2DArrayv4) DescriptorSet 0 - Decorate 330(fimage2DArrayv4) Binding 13 + Decorate 320(fimage2Dv4) Binding 12 + Decorate 320(fimage2Dv4) DescriptorSet 0 Decorate 330(fimage2DArrayv4) Volatile Decorate 330(fimage2DArrayv4) Coherent - Decorate 340(fimageCubev4) DescriptorSet 0 - Decorate 340(fimageCubev4) Binding 15 + Decorate 330(fimage2DArrayv4) Binding 13 + Decorate 330(fimage2DArrayv4) DescriptorSet 0 Decorate 340(fimageCubev4) Volatile Decorate 340(fimageCubev4) Coherent - Decorate 350(fimageCubeArrayv4) DescriptorSet 0 - Decorate 350(fimageCubeArrayv4) Binding 16 + Decorate 340(fimageCubev4) Binding 15 + Decorate 340(fimageCubev4) DescriptorSet 0 Decorate 350(fimageCubeArrayv4) Volatile Decorate 350(fimageCubeArrayv4) Coherent - Decorate 360(fimage3Dv4) DescriptorSet 0 - Decorate 360(fimage3Dv4) Binding 19 + Decorate 350(fimageCubeArrayv4) Binding 16 + Decorate 350(fimageCubeArrayv4) DescriptorSet 0 Decorate 360(fimage3Dv4) Volatile Decorate 360(fimage3Dv4) Coherent + Decorate 360(fimage3Dv4) Binding 19 + Decorate 360(fimage3Dv4) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 16 diff --git a/Test/baseResults/spv.offsets.frag.out b/Test/baseResults/spv.offsets.frag.out index d753f2f0..b6f826ef 100644 --- a/Test/baseResults/spv.offsets.frag.out +++ b/Test/baseResults/spv.offsets.frag.out @@ -22,20 +22,20 @@ spv.offsets.frag MemberName 12(n2) 2 "g" MemberName 12(n2) 3 "h" Name 14 "i2" + Decorate 7(n1) Block MemberDecorate 7(n1) 0 Offset 8 MemberDecorate 7(n1) 1 Offset 4 MemberDecorate 7(n1) 2 Offset 0 MemberDecorate 7(n1) 3 Offset 12 - Decorate 7(n1) Block - Decorate 9(i1) DescriptorSet 0 Decorate 9(i1) Binding 0 + Decorate 9(i1) DescriptorSet 0 + Decorate 12(n2) BufferBlock MemberDecorate 12(n2) 0 Offset 32 MemberDecorate 12(n2) 1 Offset 48 MemberDecorate 12(n2) 2 Offset 16 MemberDecorate 12(n2) 3 Offset 0 - Decorate 12(n2) BufferBlock - Decorate 14(i2) DescriptorSet 0 Decorate 14(i2) Binding 1 + Decorate 14(i2) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.paramMemory.420.frag.out b/Test/baseResults/spv.paramMemory.420.frag.out index bc11df4f..d533ec72 100644 --- a/Test/baseResults/spv.paramMemory.420.frag.out +++ b/Test/baseResults/spv.paramMemory.420.frag.out @@ -41,20 +41,20 @@ Validation failed Decorate 20(image) NonReadable Decorate 27(in_coords) Flat Decorate 27(in_coords) Location 0 - Decorate 36(image1) DescriptorSet 0 - Decorate 36(image1) Binding 0 Decorate 36(image1) Coherent Decorate 36(image1) NonWritable - Decorate 41(image2) DescriptorSet 0 - Decorate 41(image2) Binding 2 + Decorate 36(image1) Binding 0 + Decorate 36(image1) DescriptorSet 0 Decorate 41(image2) NonWritable - Decorate 47(image3) DescriptorSet 0 - Decorate 47(image3) Binding 1 + Decorate 41(image2) Binding 2 + Decorate 41(image2) DescriptorSet 0 Decorate 47(image3) Coherent Decorate 47(image3) NonReadable - Decorate 57(image4) DescriptorSet 0 - Decorate 57(image4) Binding 3 + Decorate 47(image3) Binding 1 + Decorate 47(image3) DescriptorSet 0 Decorate 57(image4) NonReadable + Decorate 57(image4) Binding 3 + Decorate 57(image4) DescriptorSet 0 Decorate 66(out_color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.paramMemory.frag.out b/Test/baseResults/spv.paramMemory.frag.out index ebb2ccbb..ccca4024 100644 --- a/Test/baseResults/spv.paramMemory.frag.out +++ b/Test/baseResults/spv.paramMemory.frag.out @@ -36,13 +36,13 @@ Validation failed Decorate 20(image) NonReadable Decorate 27(in_coords) Flat Decorate 27(in_coords) Location 0 - Decorate 43(image3) DescriptorSet 0 - Decorate 43(image3) Binding 1 Decorate 43(image3) Coherent Decorate 43(image3) NonReadable - Decorate 52(image4) DescriptorSet 0 - Decorate 52(image4) Binding 3 + Decorate 43(image3) Binding 1 + Decorate 43(image3) DescriptorSet 0 Decorate 52(image4) NonReadable + Decorate 52(image4) Binding 3 + Decorate 52(image4) DescriptorSet 0 Decorate 61(out_color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.perprimitiveNV.frag.out b/Test/baseResults/spv.perprimitiveNV.frag.out index 079a5f47..b319ec05 100644 --- a/Test/baseResults/spv.perprimitiveNV.frag.out +++ b/Test/baseResults/spv.perprimitiveNV.frag.out @@ -21,12 +21,12 @@ spv.perprimitiveNV.frag MemberName 17(C) 0 "h" Name 19 "" Decorate 8(g) Location 8 - MemberDecorate 9(B) 0 PerPrimitiveNV Decorate 9(B) Block + MemberDecorate 9(B) 0 PerPrimitiveNV Decorate 11 Location 0 + Decorate 17(C) Block MemberDecorate 17(C) 0 Flat MemberDecorate 17(C) 0 Centroid - Decorate 17(C) Block Decorate 19 Location 4 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.pp.line.frag.out b/Test/baseResults/spv.pp.line.frag.out index 7218254d..807ecaef 100644 --- a/Test/baseResults/spv.pp.line.frag.out +++ b/Test/baseResults/spv.pp.line.frag.out @@ -13,7 +13,7 @@ WARNING: spv.pp.line.frag:8: varying deprecated in version 130; may be removed i EntryPoint Fragment 5 "main" 60 72 75 78 ExecutionMode 5 OriginUpperLeft 1: String "spv.pp.line.frag" - 13: String "header.h" + 7: String "header.h" Source GLSL 140 1 "// OpModuleProcessed auto-map-locations // OpModuleProcessed auto-map-bindings // OpModuleProcessed client vulkan100 @@ -61,8 +61,8 @@ void main() " SourceExtension "GL_GOOGLE_cpp_style_line_directive" Name 5 "main" - Name 11 "myAbs(f1;" - Name 10 "x" + Name 12 "myAbs(f1;" + Name 11 "x" Name 27 "blendscale" Name 29 "param" Name 31 "bias" @@ -74,54 +74,54 @@ void main() Name 72 "gl_FragColor" Name 75 "u" Name 78 "blend" - Decorate 41(texSampler1D) DescriptorSet 0 Decorate 41(texSampler1D) Binding 0 - Decorate 56(texSampler2D) DescriptorSet 0 + Decorate 41(texSampler1D) DescriptorSet 0 Decorate 56(texSampler2D) Binding 1 + Decorate 56(texSampler2D) DescriptorSet 0 Decorate 60(coords2D) Location 2 Decorate 72(gl_FragColor) Location 0 Decorate 75(u) Location 1 Decorate 78(blend) Location 0 3: TypeVoid 4: TypeFunction 3 - 7: TypeFloat 32 - 8: TypePointer Function 7(float) - 9: TypeFunction 7(float) 8(ptr) - 15: 7(float) Constant 0 + 8: TypeFloat 32 + 9: TypePointer Function 8(float) + 10: TypeFunction 8(float) 9(ptr) + 15: 8(float) Constant 0 16: TypeBool - 28: 7(float) Constant 1071971828 - 32: 7(float) Constant 1073741824 - 34: TypeVector 7(float) 4 + 28: 8(float) Constant 1071971828 + 32: 8(float) Constant 1073741824 + 34: TypeVector 8(float) 4 35: TypePointer Function 34(fvec4) 37: 34(fvec4) ConstantComposite 15 15 15 15 - 38: TypeImage 7(float) 1D sampled format:Unknown + 38: TypeImage 8(float) 1D sampled format:Unknown 39: TypeSampledImage 38 40: TypePointer UniformConstant 39 41(texSampler1D): 40(ptr) Variable UniformConstant - 53: TypeImage 7(float) 2D sampled format:Unknown + 53: TypeImage 8(float) 2D sampled format:Unknown 54: TypeSampledImage 53 55: TypePointer UniformConstant 54 56(texSampler2D): 55(ptr) Variable UniformConstant - 58: TypeVector 7(float) 2 + 58: TypeVector 8(float) 2 59: TypePointer Input 58(fvec2) 60(coords2D): 59(ptr) Variable Input 71: TypePointer Output 34(fvec4) 72(gl_FragColor): 71(ptr) Variable Output 74: TypePointer Input 34(fvec4) 75(u): 74(ptr) Variable Input - 77: TypePointer Input 7(float) + 77: TypePointer Input 8(float) 78(blend): 77(ptr) Variable Input Line 1 23 11 5(main): 3 Function None 4 6: Label - 27(blendscale): 8(ptr) Variable Function - 29(param): 8(ptr) Variable Function - 31(bias): 8(ptr) Variable Function - 33(coords1D): 8(ptr) Variable Function + 27(blendscale): 9(ptr) Variable Function + 29(param): 9(ptr) Variable Function + 31(bias): 9(ptr) Variable Function + 33(coords1D): 9(ptr) Variable Function 36(color): 35(ptr) Variable Function Line 1 25 0 Store 29(param) 28 - 30: 7(float) FunctionCall 11(myAbs(f1;) 29(param) + 30: 8(float) FunctionCall 12(myAbs(f1;) 29(param) Store 27(blendscale) 30 Line 1 26 0 Store 31(bias) 32 @@ -131,15 +131,15 @@ void main() Store 36(color) 37 Line 1 54 0 42: 39 Load 41(texSampler1D) - 43: 7(float) Load 33(coords1D) + 43: 8(float) Load 33(coords1D) 44: 34(fvec4) ImageSampleImplicitLod 42 43 45: 34(fvec4) Load 36(color) 46: 34(fvec4) FAdd 45 44 Store 36(color) 46 Line 1 55 0 47: 39 Load 41(texSampler1D) - 48: 7(float) Load 33(coords1D) - 49: 7(float) Load 31(bias) + 48: 8(float) Load 33(coords1D) + 49: 8(float) Load 31(bias) 50: 34(fvec4) ImageSampleImplicitLod 47 48 Bias 49 51: 34(fvec4) Load 36(color) 52: 34(fvec4) FAdd 51 50 @@ -154,7 +154,7 @@ void main() Line 1 104 0 65: 54 Load 56(texSampler2D) 66: 58(fvec2) Load 60(coords2D) - 67: 7(float) Load 31(bias) + 67: 8(float) Load 31(bias) 68: 34(fvec4) ImageSampleImplicitLod 65 66 Bias 67 69: 34(fvec4) Load 36(color) 70: 34(fvec4) FAdd 69 68 @@ -162,31 +162,32 @@ void main() Line 1 106 0 73: 34(fvec4) Load 36(color) 76: 34(fvec4) Load 75(u) - 79: 7(float) Load 78(blend) - 80: 7(float) Load 27(blendscale) - 81: 7(float) FMul 79 80 + 79: 8(float) Load 78(blend) + 80: 8(float) Load 27(blendscale) + 81: 8(float) FMul 79 80 82: 34(fvec4) CompositeConstruct 81 81 81 81 83: 34(fvec4) ExtInst 2(GLSL.std.450) 46(FMix) 73 76 82 Store 72(gl_FragColor) 83 + Line 1 107 0 Return FunctionEnd - Line 13 1 20 - 11(myAbs(f1;): 7(float) Function None 9 - 10(x): 8(ptr) FunctionParameter - 12: Label - Line 13 2 0 - 14: 7(float) Load 10(x) + Line 7 1 20 + 12(myAbs(f1;): 8(float) Function None 10 + 11(x): 9(ptr) FunctionParameter + 13: Label + Line 7 2 0 + 14: 8(float) Load 11(x) 17: 16(bool) FOrdGreaterThan 14 15 SelectionMerge 19 None BranchConditional 17 18 22 18: Label - Line 13 3 0 - 20: 7(float) Load 10(x) + Line 7 3 0 + 20: 8(float) Load 11(x) ReturnValue 20 22: Label - Line 13 6 0 - 23: 7(float) Load 10(x) - 24: 7(float) FNegate 23 + Line 7 6 0 + 23: 8(float) Load 11(x) + 24: 8(float) FNegate 23 ReturnValue 24 19: Label Unreachable diff --git a/Test/baseResults/spv.precise.tesc.out b/Test/baseResults/spv.precise.tesc.out index 84617cae..93d1d982 100644 --- a/Test/baseResults/spv.precise.tesc.out +++ b/Test/baseResults/spv.precise.tesc.out @@ -22,10 +22,10 @@ spv.precise.tesc Decorate 12(in_te_position) Location 0 Decorate 15(gl_InvocationID) BuiltIn InvocationId Decorate 20(in_tc_position) Location 0 - Decorate 30(gl_TessLevelInner) Patch Decorate 30(gl_TessLevelInner) BuiltIn TessLevelInner - Decorate 40(gl_TessLevelOuter) Patch + Decorate 30(gl_TessLevelInner) Patch Decorate 40(gl_TessLevelOuter) BuiltIn TessLevelOuter + Decorate 40(gl_TessLevelOuter) Patch Decorate 45(in_tc_tessParam) Location 1 Decorate 52 NoContraction Decorate 53 NoContraction diff --git a/Test/baseResults/spv.precise.tese.out b/Test/baseResults/spv.precise.tese.out index 6fe183d2..d9b7141c 100644 --- a/Test/baseResults/spv.precise.tese.out +++ b/Test/baseResults/spv.precise.tese.out @@ -41,9 +41,9 @@ spv.precise.tese Decorate 101 NoContraction Decorate 106 NoContraction Decorate 109 NoContraction + Decorate 110(gl_PerVertex) Block MemberDecorate 110(gl_PerVertex) 0 BuiltIn Position MemberDecorate 110(gl_PerVertex) 1 BuiltIn PointSize - Decorate 110(gl_PerVertex) Block 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.precision.frag.out b/Test/baseResults/spv.precision.frag.out index 8144dfbf..0cdba716 100644 --- a/Test/baseResults/spv.precision.frag.out +++ b/Test/baseResults/spv.precision.frag.out @@ -35,8 +35,8 @@ spv.precision.frag MemberName 117(S) 1 "b" Name 119 "s" Name 149 "gl_SampleMaskIn" - Decorate 12(foo(vf3;) RelaxedPrecision Decorate 11(mv3) RelaxedPrecision + Decorate 12(foo(vf3;) RelaxedPrecision Decorate 23(highfin) Location 2 Decorate 27 RelaxedPrecision Decorate 28 RelaxedPrecision @@ -99,8 +99,8 @@ spv.precision.frag Decorate 143 RelaxedPrecision Decorate 144 RelaxedPrecision Decorate 145 RelaxedPrecision - Decorate 149(gl_SampleMaskIn) Flat Decorate 149(gl_SampleMaskIn) BuiltIn SampleMask + Decorate 149(gl_SampleMaskIn) Flat Decorate 153 RelaxedPrecision Decorate 156 RelaxedPrecision Decorate 159 RelaxedPrecision diff --git a/Test/baseResults/spv.precisionArgs.frag.out b/Test/baseResults/spv.precisionArgs.frag.out index a35b1d3c..3cc72c36 100644 --- a/Test/baseResults/spv.precisionArgs.frag.out +++ b/Test/baseResults/spv.precisionArgs.frag.out @@ -40,8 +40,8 @@ spv.precisionArgs.frag Name 80 "param" Decorate 8(f) RelaxedPrecision Decorate 14(f) RelaxedPrecision - Decorate 20(retM(f1;) RelaxedPrecision Decorate 19(x) RelaxedPrecision + Decorate 20(retM(f1;) RelaxedPrecision Decorate 26(retHM(f1;) RelaxedPrecision Decorate 28(x) RelaxedPrecision Decorate 31 RelaxedPrecision diff --git a/Test/baseResults/spv.precisionNonESSamp.frag.out b/Test/baseResults/spv.precisionNonESSamp.frag.out index 40ca536b..d082bee0 100644 --- a/Test/baseResults/spv.precisionNonESSamp.frag.out +++ b/Test/baseResults/spv.precisionNonESSamp.frag.out @@ -23,22 +23,22 @@ spv.precisionNonESSamp.frag Decorate 9(color) RelaxedPrecision Decorate 9(color) Location 0 Decorate 13(s) RelaxedPrecision - Decorate 13(s) DescriptorSet 0 Decorate 13(s) Binding 0 + Decorate 13(s) DescriptorSet 0 Decorate 14 RelaxedPrecision Decorate 17(v2) RelaxedPrecision Decorate 17(v2) Location 0 Decorate 18 RelaxedPrecision Decorate 19 RelaxedPrecision - Decorate 23(t) DescriptorSet 0 Decorate 23(t) Binding 1 + Decorate 23(t) DescriptorSet 0 Decorate 27(v3) RelaxedPrecision Decorate 27(v3) Location 1 Decorate 28 RelaxedPrecision Decorate 31(vi1) RelaxedPrecision Decorate 34(i1) RelaxedPrecision - Decorate 34(i1) DescriptorSet 0 Decorate 34(i1) Binding 2 + Decorate 34(i1) DescriptorSet 0 Decorate 35 RelaxedPrecision Decorate 39(iv2) RelaxedPrecision Decorate 39(iv2) Flat @@ -46,8 +46,8 @@ spv.precisionNonESSamp.frag Decorate 40 RelaxedPrecision Decorate 41 RelaxedPrecision Decorate 42(vi2) RelaxedPrecision - Decorate 43(i2) DescriptorSet 0 Decorate 43(i2) Binding 3 + Decorate 43(i2) DescriptorSet 0 Decorate 45 RelaxedPrecision 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.precisionTexture.frag.out b/Test/baseResults/spv.precisionTexture.frag.out index e46b2d79..19aa6564 100644 --- a/Test/baseResults/spv.precisionTexture.frag.out +++ b/Test/baseResults/spv.precisionTexture.frag.out @@ -20,28 +20,28 @@ spv.precisionTexture.frag Name 65 "fragColor" Decorate 9(v) RelaxedPrecision Decorate 13(texM) RelaxedPrecision - Decorate 13(texM) DescriptorSet 0 Decorate 13(texM) Binding 0 + Decorate 13(texM) DescriptorSet 0 Decorate 14 RelaxedPrecision Decorate 16(vertex) Location 0 Decorate 20 RelaxedPrecision - Decorate 21(texH) DescriptorSet 0 Decorate 21(texH) Binding 1 + Decorate 21(texH) DescriptorSet 0 Decorate 26 RelaxedPrecision Decorate 34 RelaxedPrecision Decorate 41 RelaxedPrecision Decorate 45 RelaxedPrecision Decorate 52(imageM) RelaxedPrecision - Decorate 52(imageM) DescriptorSet 0 - Decorate 52(imageM) Binding 0 Decorate 52(imageM) NonWritable + Decorate 52(imageM) Binding 0 + Decorate 52(imageM) DescriptorSet 0 Decorate 53 RelaxedPrecision Decorate 57(coord) Flat Decorate 57(coord) Location 1 Decorate 59 RelaxedPrecision - Decorate 60(imageH) DescriptorSet 0 - Decorate 60(imageH) Binding 1 Decorate 60(imageH) NonWritable + Decorate 60(imageH) Binding 1 + Decorate 60(imageH) DescriptorSet 0 Decorate 65(fragColor) RelaxedPrecision Decorate 65(fragColor) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.pushConstant.vert.out b/Test/baseResults/spv.pushConstant.vert.out index f6df47d5..cd825002 100644 --- a/Test/baseResults/spv.pushConstant.vert.out +++ b/Test/baseResults/spv.pushConstant.vert.out @@ -15,9 +15,9 @@ spv.pushConstant.vert Name 13 "matInst" Name 24 "color" Decorate 10 ArrayStride 4 + Decorate 11(Material) Block MemberDecorate 11(Material) 0 Offset 0 MemberDecorate 11(Material) 1 Offset 4 - Decorate 11(Material) Block Decorate 24(color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.pushConstantAnon.vert.out b/Test/baseResults/spv.pushConstantAnon.vert.out index ca7d345b..eddb77a9 100644 --- a/Test/baseResults/spv.pushConstantAnon.vert.out +++ b/Test/baseResults/spv.pushConstantAnon.vert.out @@ -15,9 +15,9 @@ spv.pushConstantAnon.vert Name 13 "" Name 24 "color" Decorate 10 ArrayStride 4 + Decorate 11(Material) Block MemberDecorate 11(Material) 0 Offset 0 MemberDecorate 11(Material) 1 Offset 4 - Decorate 11(Material) Block Decorate 24(color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.queryL.frag.out b/Test/baseResults/spv.queryL.frag.out index 1e18387d..1b3c63ec 100644 --- a/Test/baseResults/spv.queryL.frag.out +++ b/Test/baseResults/spv.queryL.frag.out @@ -41,46 +41,46 @@ Validation failed Name 182 "usampCubeA" Name 219 "sampBuf" Name 223 "sampRect" - Decorate 13(samp1D) DescriptorSet 0 Decorate 13(samp1D) Binding 0 - Decorate 23(isamp2D) DescriptorSet 0 + Decorate 13(samp1D) DescriptorSet 0 Decorate 23(isamp2D) Binding 1 - Decorate 34(usamp3D) DescriptorSet 0 + Decorate 23(isamp2D) DescriptorSet 0 Decorate 34(usamp3D) Binding 4 - Decorate 46(sampCube) DescriptorSet 0 + Decorate 34(usamp3D) DescriptorSet 0 Decorate 46(sampCube) Binding 5 - Decorate 55(isamp1DA) DescriptorSet 0 + Decorate 46(sampCube) DescriptorSet 0 Decorate 55(isamp1DA) Binding 7 - Decorate 64(usamp2DA) DescriptorSet 0 + Decorate 55(isamp1DA) DescriptorSet 0 Decorate 64(usamp2DA) Binding 9 - Decorate 73(isampCubeA) DescriptorSet 0 + Decorate 64(usamp2DA) DescriptorSet 0 Decorate 73(isampCubeA) Binding 10 - Decorate 82(samp1Ds) DescriptorSet 0 + Decorate 73(isampCubeA) DescriptorSet 0 Decorate 82(samp1Ds) Binding 12 - Decorate 91(samp2Ds) DescriptorSet 0 + Decorate 82(samp1Ds) DescriptorSet 0 Decorate 91(samp2Ds) Binding 13 - Decorate 100(sampCubes) DescriptorSet 0 + Decorate 91(samp2Ds) DescriptorSet 0 Decorate 100(sampCubes) Binding 14 - Decorate 109(samp1DAs) DescriptorSet 0 + Decorate 100(sampCubes) DescriptorSet 0 Decorate 109(samp1DAs) Binding 15 - Decorate 118(samp2DAs) DescriptorSet 0 + Decorate 109(samp1DAs) DescriptorSet 0 Decorate 118(samp2DAs) Binding 16 - Decorate 127(sampCubeAs) DescriptorSet 0 + Decorate 118(samp2DAs) DescriptorSet 0 Decorate 127(sampCubeAs) Binding 17 - Decorate 141(usamp2D) DescriptorSet 0 + Decorate 127(sampCubeAs) DescriptorSet 0 Decorate 141(usamp2D) Binding 2 - Decorate 150(isamp3D) DescriptorSet 0 + Decorate 141(usamp2D) DescriptorSet 0 Decorate 150(isamp3D) Binding 3 - Decorate 159(isampCube) DescriptorSet 0 + Decorate 150(isamp3D) DescriptorSet 0 Decorate 159(isampCube) Binding 6 - Decorate 173(samp2DA) DescriptorSet 0 + Decorate 159(isampCube) DescriptorSet 0 Decorate 173(samp2DA) Binding 8 - Decorate 182(usampCubeA) DescriptorSet 0 + Decorate 173(samp2DA) DescriptorSet 0 Decorate 182(usampCubeA) Binding 11 - Decorate 219(sampBuf) DescriptorSet 0 + Decorate 182(usampCubeA) DescriptorSet 0 Decorate 219(sampBuf) Binding 0 - Decorate 223(sampRect) DescriptorSet 0 + Decorate 219(sampBuf) DescriptorSet 0 Decorate 223(sampRect) Binding 0 + Decorate 223(sampRect) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.queueFamilyScope.comp.out b/Test/baseResults/spv.queueFamilyScope.comp.out index 49a59a38..565269c4 100644 --- a/Test/baseResults/spv.queueFamilyScope.comp.out +++ b/Test/baseResults/spv.queueFamilyScope.comp.out @@ -16,10 +16,10 @@ spv.queueFamilyScope.comp Name 7 "Buffer" MemberName 7(Buffer) 0 "a" Name 9 "A" - MemberDecorate 7(Buffer) 0 Offset 0 Decorate 7(Buffer) Block - Decorate 9(A) DescriptorSet 0 + MemberDecorate 7(Buffer) 0 Offset 0 Decorate 9(A) Binding 0 + Decorate 9(A) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.rankShift.comp.out b/Test/baseResults/spv.rankShift.comp.out index cecde795..a091ec1b 100644 --- a/Test/baseResults/spv.rankShift.comp.out +++ b/Test/baseResults/spv.rankShift.comp.out @@ -16,11 +16,11 @@ spv.rankShift.comp Name 11 "arg0" Name 15 "arg1" Decorate 11(arg0) Location 4 - Decorate 11(arg0) DescriptorSet 0 Decorate 11(arg0) Binding 0 + Decorate 11(arg0) DescriptorSet 0 Decorate 15(arg1) Location 5 - Decorate 15(arg1) DescriptorSet 0 Decorate 15(arg1) Binding 1 + Decorate 15(arg1) DescriptorSet 0 Decorate 32 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.register.autoassign-2.frag.out b/Test/baseResults/spv.register.autoassign-2.frag.out index 61d920c2..a921f10d 100644 --- a/Test/baseResults/spv.register.autoassign-2.frag.out +++ b/Test/baseResults/spv.register.autoassign-2.frag.out @@ -20,12 +20,12 @@ spv.register.autoassign-2.frag Name 39 "psout" Name 40 "param" Name 44 "psout.Color" - Decorate 18(g_tScene[0]) DescriptorSet 0 Decorate 18(g_tScene[0]) Binding 10 - Decorate 22(g_tSamp) DescriptorSet 0 + Decorate 18(g_tScene[0]) DescriptorSet 0 Decorate 22(g_tSamp) Binding 5 - Decorate 31(g_tScene[1]) DescriptorSet 0 + Decorate 22(g_tSamp) DescriptorSet 0 Decorate 31(g_tScene[1]) Binding 11 + Decorate 31(g_tScene[1]) DescriptorSet 0 Decorate 44(psout.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.register.autoassign.frag.out b/Test/baseResults/spv.register.autoassign.frag.out index b4db04e6..be86a861 100644 --- a/Test/baseResults/spv.register.autoassign.frag.out +++ b/Test/baseResults/spv.register.autoassign.frag.out @@ -44,47 +44,47 @@ spv.register.autoassign.frag Name 141 "psout" Name 151 "@entryPointOutput.Color" Name 154 "g_tTex_unused3" - Decorate 21(g_tTex1) DescriptorSet 0 Decorate 21(g_tTex1) Binding 11 - Decorate 25(g_sSamp1) DescriptorSet 0 + Decorate 21(g_tTex1) DescriptorSet 0 Decorate 25(g_sSamp1) Binding 5 - Decorate 31(g_tTex2) DescriptorSet 0 + Decorate 25(g_sSamp1) DescriptorSet 0 Decorate 31(g_tTex2) Binding 14 - Decorate 33(g_sSamp2) DescriptorSet 0 + Decorate 31(g_tTex2) DescriptorSet 0 Decorate 33(g_sSamp2) Binding 6 - Decorate 43(g_tTex3) DescriptorSet 0 + Decorate 33(g_sSamp2) DescriptorSet 0 Decorate 43(g_tTex3) Binding 13 - Decorate 50(g_sSamp3) DescriptorSet 0 + Decorate 43(g_tTex3) DescriptorSet 0 Decorate 50(g_sSamp3) Binding 7 - Decorate 68(g_tTex4) DescriptorSet 0 + Decorate 50(g_sSamp3) DescriptorSet 0 Decorate 68(g_tTex4) Binding 15 - Decorate 73(g_sSamp4) DescriptorSet 0 + Decorate 68(g_tTex4) DescriptorSet 0 Decorate 73(g_sSamp4) Binding 8 - Decorate 88(g_tTex5) DescriptorSet 0 + Decorate 73(g_sSamp4) DescriptorSet 0 Decorate 88(g_tTex5) Binding 16 - Decorate 90(g_sSamp5) DescriptorSet 0 + Decorate 88(g_tTex5) DescriptorSet 0 Decorate 90(g_sSamp5) Binding 9 + Decorate 90(g_sSamp5) DescriptorSet 0 MemberDecorate 97(MyStruct_t) 0 Offset 0 MemberDecorate 97(MyStruct_t) 1 Offset 4 MemberDecorate 97(MyStruct_t) 2 Offset 16 + Decorate 99($Global) Block MemberDecorate 99($Global) 0 Offset 0 MemberDecorate 99($Global) 1 Offset 32 MemberDecorate 99($Global) 2 Offset 48 MemberDecorate 99($Global) 3 Offset 64 - Decorate 99($Global) Block - Decorate 101 DescriptorSet 0 Decorate 101 Binding 20 - Decorate 123(g_tTex_unused1) DescriptorSet 0 + Decorate 101 DescriptorSet 0 Decorate 123(g_tTex_unused1) Binding 10 - Decorate 125(g_sSamp_unused1) DescriptorSet 0 + Decorate 123(g_tTex_unused1) DescriptorSet 0 Decorate 125(g_sSamp_unused1) Binding 0 - Decorate 130(g_tTex_unused2) DescriptorSet 0 + Decorate 125(g_sSamp_unused1) DescriptorSet 0 Decorate 130(g_tTex_unused2) Binding 12 - Decorate 132(g_sSamp_unused2) DescriptorSet 0 + Decorate 130(g_tTex_unused2) DescriptorSet 0 Decorate 132(g_sSamp_unused2) Binding 0 + Decorate 132(g_sSamp_unused2) DescriptorSet 0 Decorate 151(@entryPointOutput.Color) Location 0 - Decorate 154(g_tTex_unused3) DescriptorSet 0 Decorate 154(g_tTex_unused3) Binding 0 + Decorate 154(g_tTex_unused3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.register.autoassign.rangetest.frag.out b/Test/baseResults/spv.register.autoassign.rangetest.frag.out index 84a439a7..b8e25737 100644 --- a/Test/baseResults/spv.register.autoassign.rangetest.frag.out +++ b/Test/baseResults/spv.register.autoassign.rangetest.frag.out @@ -22,10 +22,10 @@ INTERNAL ERROR: mapped binding out of range: g_tScene Name 44 "psout" Name 45 "param" Name 49 "psout.Color" - Decorate 21(g_tScene) DescriptorSet 0 Decorate 21(g_tScene) Binding 5 - Decorate 27(g_tSamp) DescriptorSet 0 + Decorate 21(g_tScene) DescriptorSet 0 Decorate 27(g_tSamp) Binding 5 + Decorate 27(g_tSamp) DescriptorSet 0 Decorate 49(psout.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.register.noautoassign.frag.out b/Test/baseResults/spv.register.noautoassign.frag.out index 8c8cd3cc..8b2c29cb 100644 --- a/Test/baseResults/spv.register.noautoassign.frag.out +++ b/Test/baseResults/spv.register.noautoassign.frag.out @@ -44,47 +44,47 @@ spv.register.noautoassign.frag Name 141 "psout" Name 151 "@entryPointOutput.Color" Name 154 "g_tTex_unused3" - Decorate 21(g_tTex1) DescriptorSet 0 Decorate 21(g_tTex1) Binding 11 - Decorate 25(g_sSamp1) DescriptorSet 0 + Decorate 21(g_tTex1) DescriptorSet 0 Decorate 25(g_sSamp1) Binding 5 - Decorate 31(g_tTex2) DescriptorSet 0 + Decorate 25(g_sSamp1) DescriptorSet 0 Decorate 31(g_tTex2) Binding 0 - Decorate 33(g_sSamp2) DescriptorSet 0 + Decorate 31(g_tTex2) DescriptorSet 0 Decorate 33(g_sSamp2) Binding 0 - Decorate 43(g_tTex3) DescriptorSet 0 + Decorate 33(g_sSamp2) DescriptorSet 0 Decorate 43(g_tTex3) Binding 13 - Decorate 50(g_sSamp3) DescriptorSet 0 + Decorate 43(g_tTex3) DescriptorSet 0 Decorate 50(g_sSamp3) Binding 7 - Decorate 68(g_tTex4) DescriptorSet 0 + Decorate 50(g_sSamp3) DescriptorSet 0 Decorate 68(g_tTex4) Binding 0 - Decorate 73(g_sSamp4) DescriptorSet 0 + Decorate 68(g_tTex4) DescriptorSet 0 Decorate 73(g_sSamp4) Binding 0 - Decorate 88(g_tTex5) DescriptorSet 0 + Decorate 73(g_sSamp4) DescriptorSet 0 Decorate 88(g_tTex5) Binding 0 - Decorate 90(g_sSamp5) DescriptorSet 0 + Decorate 88(g_tTex5) DescriptorSet 0 Decorate 90(g_sSamp5) Binding 0 + Decorate 90(g_sSamp5) DescriptorSet 0 MemberDecorate 97(MyStruct_t) 0 Offset 0 MemberDecorate 97(MyStruct_t) 1 Offset 4 MemberDecorate 97(MyStruct_t) 2 Offset 16 + Decorate 99($Global) Block MemberDecorate 99($Global) 0 Offset 0 MemberDecorate 99($Global) 1 Offset 32 MemberDecorate 99($Global) 2 Offset 48 MemberDecorate 99($Global) 3 Offset 64 - Decorate 99($Global) Block - Decorate 101 DescriptorSet 0 Decorate 101 Binding 0 - Decorate 123(g_tTex_unused1) DescriptorSet 0 + Decorate 101 DescriptorSet 0 Decorate 123(g_tTex_unused1) Binding 10 - Decorate 125(g_sSamp_unused1) DescriptorSet 0 + Decorate 123(g_tTex_unused1) DescriptorSet 0 Decorate 125(g_sSamp_unused1) Binding 0 - Decorate 130(g_tTex_unused2) DescriptorSet 0 + Decorate 125(g_sSamp_unused1) DescriptorSet 0 Decorate 130(g_tTex_unused2) Binding 12 - Decorate 132(g_sSamp_unused2) DescriptorSet 0 + Decorate 130(g_tTex_unused2) DescriptorSet 0 Decorate 132(g_sSamp_unused2) Binding 0 + Decorate 132(g_sSamp_unused2) DescriptorSet 0 Decorate 151(@entryPointOutput.Color) Location 0 - Decorate 154(g_tTex_unused3) DescriptorSet 0 Decorate 154(g_tTex_unused3) Binding 0 + Decorate 154(g_tTex_unused3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.register.subpass.frag.out b/Test/baseResults/spv.register.subpass.frag.out index 7c69c918..c20f5962 100644 --- a/Test/baseResults/spv.register.subpass.frag.out +++ b/Test/baseResults/spv.register.subpass.frag.out @@ -19,14 +19,14 @@ spv.register.subpass.frag Name 29 "result73" Name 30 "subpass_2" Name 38 "@entryPointOutput" - Decorate 15(subpass_f4) DescriptorSet 0 Decorate 15(subpass_f4) Binding 21 + Decorate 15(subpass_f4) DescriptorSet 0 Decorate 15(subpass_f4) InputAttachmentIndex 1 - Decorate 25(subpass_ms_f4) DescriptorSet 0 Decorate 25(subpass_ms_f4) Binding 20 + Decorate 25(subpass_ms_f4) DescriptorSet 0 Decorate 25(subpass_ms_f4) InputAttachmentIndex 4 - Decorate 30(subpass_2) DescriptorSet 0 Decorate 30(subpass_2) Binding 22 + Decorate 30(subpass_2) DescriptorSet 0 Decorate 30(subpass_2) InputAttachmentIndex 7 Decorate 38(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.rw.autoassign.frag.out b/Test/baseResults/spv.rw.autoassign.frag.out index 0c46493c..3dd60882 100644 --- a/Test/baseResults/spv.rw.autoassign.frag.out +++ b/Test/baseResults/spv.rw.autoassign.frag.out @@ -21,10 +21,10 @@ spv.rw.autoassign.frag Name 27 "g_tBuf1du1" Name 33 "psout" Name 42 "@entryPointOutput.Color" - Decorate 16(g_tTex1df1) DescriptorSet 0 Decorate 16(g_tTex1df1) Binding 20 - Decorate 27(g_tBuf1du1) DescriptorSet 0 + Decorate 16(g_tTex1df1) DescriptorSet 0 Decorate 27(g_tBuf1du1) Binding 21 + Decorate 27(g_tBuf1du1) DescriptorSet 0 Decorate 42(@entryPointOutput.Color) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.sampleId.frag.out b/Test/baseResults/spv.sampleId.frag.out index 7f3232d1..c4dda4a3 100644 --- a/Test/baseResults/spv.sampleId.frag.out +++ b/Test/baseResults/spv.sampleId.frag.out @@ -14,8 +14,8 @@ spv.sampleId.frag Name 8 "gl_SampleID" Name 18 "color" Name 20 "samp" - Decorate 8(gl_SampleID) Flat Decorate 8(gl_SampleID) BuiltIn SampleId + Decorate 8(gl_SampleID) Flat Decorate 18(color) Location 0 Decorate 20(samp) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.sampledImageBlock.frag.out b/Test/baseResults/spv.sampledImageBlock.frag.out index ba46a0fe..a6625f7f 100644 --- a/Test/baseResults/spv.sampledImageBlock.frag.out +++ b/Test/baseResults/spv.sampledImageBlock.frag.out @@ -18,14 +18,14 @@ spv.sampledImageBlock.frag Name 23 "paramBuffer" Name 36 "texCoord" Name 45 "fragColor" - Decorate 12(tex0) DescriptorSet 0 Decorate 12(tex0) Binding 0 - Decorate 16(samp0) DescriptorSet 0 + Decorate 12(tex0) DescriptorSet 0 Decorate 16(samp0) Binding 1 - MemberDecorate 21(ParamBuffer) 0 Offset 0 + Decorate 16(samp0) DescriptorSet 0 Decorate 21(ParamBuffer) Block - Decorate 23(paramBuffer) DescriptorSet 0 + MemberDecorate 21(ParamBuffer) 0 Offset 0 Decorate 23(paramBuffer) Binding 2 + Decorate 23(paramBuffer) DescriptorSet 0 Decorate 36(texCoord) Flat Decorate 36(texCoord) Location 0 Decorate 45(fragColor) Location 0 diff --git a/Test/baseResults/spv.samplerlessTextureFunctions.frag.out b/Test/baseResults/spv.samplerlessTextureFunctions.frag.out index 44799122..ef7b4362 100644 --- a/Test/baseResults/spv.samplerlessTextureFunctions.frag.out +++ b/Test/baseResults/spv.samplerlessTextureFunctions.frag.out @@ -25,12 +25,12 @@ spv.samplerlessTextureFunctions.frag Name 42 "bufSize" Name 45 "tex2DLevels" Name 48 "texMSSamples" - Decorate 12(tex2D) DescriptorSet 0 Decorate 12(tex2D) Binding 1 - Decorate 22(texMS) DescriptorSet 0 + Decorate 12(tex2D) DescriptorSet 0 Decorate 22(texMS) Binding 1 - Decorate 28(buf) DescriptorSet 0 + Decorate 22(texMS) DescriptorSet 0 Decorate 28(buf) Binding 0 + Decorate 28(buf) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.scalarlayout.frag.out b/Test/baseResults/spv.scalarlayout.frag.out index 977f06b7..a99709d3 100644 --- a/Test/baseResults/spv.scalarlayout.frag.out +++ b/Test/baseResults/spv.scalarlayout.frag.out @@ -39,22 +39,22 @@ spv.scalarlayout.frag MemberDecorate 15(S) 4 Offset 28 MemberDecorate 15(S) 5 Offset 40 Decorate 16 ArrayStride 48 + Decorate 17(B1) Block MemberDecorate 17(B1) 0 Offset 0 MemberDecorate 17(B1) 1 Offset 4 MemberDecorate 17(B1) 2 Offset 12 MemberDecorate 17(B1) 3 Offset 24 MemberDecorate 17(B1) 4 ColMajor - MemberDecorate 17(B1) 4 Offset 32 MemberDecorate 17(B1) 4 MatrixStride 12 + MemberDecorate 17(B1) 4 Offset 32 MemberDecorate 17(B1) 5 ColMajor - MemberDecorate 17(B1) 5 Offset 56 MemberDecorate 17(B1) 5 MatrixStride 12 + MemberDecorate 17(B1) 5 Offset 56 MemberDecorate 17(B1) 6 Offset 104 MemberDecorate 17(B1) 7 Offset 112 MemberDecorate 17(B1) 8 Offset 160 - Decorate 17(B1) Block - Decorate 19 DescriptorSet 0 Decorate 19 Binding 0 + Decorate 19 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.scalarlayoutfloat16.frag.out b/Test/baseResults/spv.scalarlayoutfloat16.frag.out index 93c0d2a1..880786f3 100644 --- a/Test/baseResults/spv.scalarlayoutfloat16.frag.out +++ b/Test/baseResults/spv.scalarlayoutfloat16.frag.out @@ -39,6 +39,7 @@ spv.scalarlayoutfloat16.frag MemberDecorate 13(S) 4 Offset 18 MemberDecorate 13(S) 5 Offset 24 Decorate 14 ArrayStride 32 + Decorate 15(B1) Block MemberDecorate 15(B1) 0 Offset 0 MemberDecorate 15(B1) 1 Offset 2 MemberDecorate 15(B1) 2 Offset 6 @@ -46,9 +47,8 @@ spv.scalarlayoutfloat16.frag MemberDecorate 15(B1) 4 Offset 16 MemberDecorate 15(B1) 5 Offset 24 MemberDecorate 15(B1) 6 Offset 56 - Decorate 15(B1) Block - Decorate 17 DescriptorSet 0 Decorate 17 Binding 0 + Decorate 17 DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 16 diff --git a/Test/baseResults/spv.separate.frag.out b/Test/baseResults/spv.separate.frag.out index b960934c..00d3282a 100644 --- a/Test/baseResults/spv.separate.frag.out +++ b/Test/baseResults/spv.separate.frag.out @@ -57,84 +57,84 @@ Validation failed Name 293 "tex3D" Name 304 "tex2DRect" Decorate 11(color) Location 0 - Decorate 14(t2d) DescriptorSet 0 Decorate 14(t2d) Binding 2 - Decorate 18(s) DescriptorSet 0 + Decorate 14(t2d) DescriptorSet 0 Decorate 18(s) Binding 0 - Decorate 31(t3d) DescriptorSet 0 + Decorate 18(s) DescriptorSet 0 Decorate 31(t3d) Binding 3 + Decorate 31(t3d) DescriptorSet 0 Decorate 34(i) Flat Decorate 34(i) Location 0 - Decorate 41(sA) DescriptorSet 0 Decorate 41(sA) Binding 1 - Decorate 58(tex2D) DescriptorSet 0 + Decorate 41(sA) DescriptorSet 0 Decorate 58(tex2D) Binding 0 - Decorate 64(texCube) DescriptorSet 0 + Decorate 58(tex2D) DescriptorSet 0 Decorate 64(texCube) Binding 0 - Decorate 71(texCubeArray) DescriptorSet 0 + Decorate 64(texCube) DescriptorSet 0 Decorate 71(texCubeArray) Binding 0 - Decorate 77(sShadow) DescriptorSet 0 + Decorate 71(texCubeArray) DescriptorSet 0 Decorate 77(sShadow) Binding 0 - Decorate 84(itexCubeArray) DescriptorSet 0 + Decorate 77(sShadow) DescriptorSet 0 Decorate 84(itexCubeArray) Binding 0 - Decorate 91(utexCubeArray) DescriptorSet 0 + Decorate 84(itexCubeArray) DescriptorSet 0 Decorate 91(utexCubeArray) Binding 0 - Decorate 98(tex1DArray) DescriptorSet 0 + Decorate 91(utexCubeArray) DescriptorSet 0 Decorate 98(tex1DArray) Binding 0 - Decorate 105(itex1DArray) DescriptorSet 0 + Decorate 98(tex1DArray) DescriptorSet 0 Decorate 105(itex1DArray) Binding 0 - Decorate 112(utex1D) DescriptorSet 0 + Decorate 105(itex1DArray) DescriptorSet 0 Decorate 112(utex1D) Binding 0 - Decorate 119(itex1D) DescriptorSet 0 + Decorate 112(utex1D) DescriptorSet 0 Decorate 119(itex1D) Binding 0 - Decorate 126(utex1DArray) DescriptorSet 0 + Decorate 119(itex1D) DescriptorSet 0 Decorate 126(utex1DArray) Binding 0 - Decorate 133(texBuffer) DescriptorSet 0 + Decorate 126(utex1DArray) DescriptorSet 0 Decorate 133(texBuffer) Binding 0 - Decorate 145(tex2DArray) DescriptorSet 0 + Decorate 133(texBuffer) DescriptorSet 0 Decorate 145(tex2DArray) Binding 0 - Decorate 157(itex2D) DescriptorSet 0 + Decorate 145(tex2DArray) DescriptorSet 0 Decorate 157(itex2D) Binding 0 - Decorate 164(itex3D) DescriptorSet 0 + Decorate 157(itex2D) DescriptorSet 0 Decorate 164(itex3D) Binding 0 - Decorate 171(itexCube) DescriptorSet 0 + Decorate 164(itex3D) DescriptorSet 0 Decorate 171(itexCube) Binding 0 - Decorate 178(itex2DArray) DescriptorSet 0 + Decorate 171(itexCube) DescriptorSet 0 Decorate 178(itex2DArray) Binding 0 - Decorate 185(utex2D) DescriptorSet 0 + Decorate 178(itex2DArray) DescriptorSet 0 Decorate 185(utex2D) Binding 0 - Decorate 192(utex3D) DescriptorSet 0 + Decorate 185(utex2D) DescriptorSet 0 Decorate 192(utex3D) Binding 0 - Decorate 199(utexCube) DescriptorSet 0 + Decorate 192(utex3D) DescriptorSet 0 Decorate 199(utexCube) Binding 0 - Decorate 206(utex2DArray) DescriptorSet 0 + Decorate 199(utexCube) DescriptorSet 0 Decorate 206(utex2DArray) Binding 0 - Decorate 213(itex2DRect) DescriptorSet 0 + Decorate 206(utex2DArray) DescriptorSet 0 Decorate 213(itex2DRect) Binding 0 - Decorate 220(utex2DRect) DescriptorSet 0 + Decorate 213(itex2DRect) DescriptorSet 0 Decorate 220(utex2DRect) Binding 0 - Decorate 227(itexBuffer) DescriptorSet 0 + Decorate 220(utex2DRect) DescriptorSet 0 Decorate 227(itexBuffer) Binding 0 - Decorate 234(utexBuffer) DescriptorSet 0 + Decorate 227(itexBuffer) DescriptorSet 0 Decorate 234(utexBuffer) Binding 0 - Decorate 241(tex2DMS) DescriptorSet 0 + Decorate 234(utexBuffer) DescriptorSet 0 Decorate 241(tex2DMS) Binding 0 - Decorate 248(itex2DMS) DescriptorSet 0 + Decorate 241(tex2DMS) DescriptorSet 0 Decorate 248(itex2DMS) Binding 0 - Decorate 255(utex2DMS) DescriptorSet 0 + Decorate 248(itex2DMS) DescriptorSet 0 Decorate 255(utex2DMS) Binding 0 - Decorate 262(tex2DMSArray) DescriptorSet 0 + Decorate 255(utex2DMS) DescriptorSet 0 Decorate 262(tex2DMSArray) Binding 0 - Decorate 269(itex2DMSArray) DescriptorSet 0 + Decorate 262(tex2DMSArray) DescriptorSet 0 Decorate 269(itex2DMSArray) Binding 0 - Decorate 276(utex2DMSArray) DescriptorSet 0 + Decorate 269(itex2DMSArray) DescriptorSet 0 Decorate 276(utex2DMSArray) Binding 0 - Decorate 283(tex1D) DescriptorSet 0 + Decorate 276(utex2DMSArray) DescriptorSet 0 Decorate 283(tex1D) Binding 0 - Decorate 293(tex3D) DescriptorSet 0 + Decorate 283(tex1D) DescriptorSet 0 Decorate 293(tex3D) Binding 0 - Decorate 304(tex2DRect) DescriptorSet 0 + Decorate 293(tex3D) DescriptorSet 0 Decorate 304(tex2DRect) Binding 0 + Decorate 304(tex2DRect) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 8: TypeFloat 32 diff --git a/Test/baseResults/spv.set.vert.out b/Test/baseResults/spv.set.vert.out index b311c707..95c7cbdb 100644 --- a/Test/baseResults/spv.set.vert.out +++ b/Test/baseResults/spv.set.vert.out @@ -15,12 +15,12 @@ spv.set.vert Name 12 "setBufInst" Name 21 "samp2D" Decorate 9(color) Location 0 - MemberDecorate 10(setBuf) 0 Offset 0 Decorate 10(setBuf) BufferBlock - Decorate 12(setBufInst) DescriptorSet 0 + MemberDecorate 10(setBuf) 0 Offset 0 Decorate 12(setBufInst) Binding 8 - Decorate 21(samp2D) DescriptorSet 4 + Decorate 12(setBufInst) DescriptorSet 0 Decorate 21(samp2D) Binding 7 + Decorate 21(samp2D) DescriptorSet 4 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.shaderBallot.comp.out b/Test/baseResults/spv.shaderBallot.comp.out index 143b2e93..da363e9c 100644 --- a/Test/baseResults/spv.shaderBallot.comp.out +++ b/Test/baseResults/spv.shaderBallot.comp.out @@ -36,12 +36,12 @@ spv.shaderBallot.comp Decorate 36(gl_SubGroupGtMaskARB) BuiltIn SubgroupGtMaskKHR Decorate 43(gl_SubGroupLeMaskARB) BuiltIn SubgroupLeMaskKHR Decorate 50(gl_SubGroupLtMaskARB) BuiltIn SubgroupLtMaskKHR + Decorate 72(Buffers) BufferBlock MemberDecorate 72(Buffers) 0 Offset 0 MemberDecorate 72(Buffers) 1 Offset 16 MemberDecorate 72(Buffers) 2 Offset 32 - Decorate 72(Buffers) BufferBlock - Decorate 75(data) DescriptorSet 0 Decorate 75(data) Binding 0 + Decorate 75(data) DescriptorSet 0 Decorate 396 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.shaderBallotAMD.comp.out b/Test/baseResults/spv.shaderBallotAMD.comp.out index 2d8ad553..a52f5b91 100644 --- a/Test/baseResults/spv.shaderBallotAMD.comp.out +++ b/Test/baseResults/spv.shaderBallotAMD.comp.out @@ -33,6 +33,7 @@ spv.shaderBallotAMD.comp MemberName 21(Buffers) 7 "i16v" MemberName 21(Buffers) 8 "u16" Name 23 "" + Decorate 21(Buffers) BufferBlock MemberDecorate 21(Buffers) 0 Offset 0 MemberDecorate 21(Buffers) 1 Offset 8 MemberDecorate 21(Buffers) 2 Offset 16 @@ -42,9 +43,8 @@ spv.shaderBallotAMD.comp MemberDecorate 21(Buffers) 6 Offset 96 MemberDecorate 21(Buffers) 7 Offset 104 MemberDecorate 21(Buffers) 8 Offset 112 - Decorate 21(Buffers) BufferBlock - Decorate 23 DescriptorSet 0 Decorate 23 Binding 0 + Decorate 23 DescriptorSet 0 Decorate 1342 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.shaderDrawParams.vert.out b/Test/baseResults/spv.shaderDrawParams.vert.out index a84c2fea..58b26cb4 100644 --- a/Test/baseResults/spv.shaderDrawParams.vert.out +++ b/Test/baseResults/spv.shaderDrawParams.vert.out @@ -26,17 +26,17 @@ spv.shaderDrawParams.vert Name 37 "gl_DrawIDARB" Decorate 9(gl_BaseVertexARB) BuiltIn BaseVertex Decorate 16(gl_BaseInstanceARB) BuiltIn BaseInstance + Decorate 27(gl_PerVertex) Block MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 27(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 27(gl_PerVertex) Block Decorate 31 ArrayStride 16 Decorate 33 ArrayStride 64 - MemberDecorate 34(Block) 0 Offset 0 Decorate 34(Block) Block - Decorate 36(block) DescriptorSet 0 + MemberDecorate 34(Block) 0 Offset 0 Decorate 36(block) Binding 0 + Decorate 36(block) DescriptorSet 0 Decorate 37(gl_DrawIDARB) BuiltIn DrawIndex 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.shaderFragMaskAMD.frag.out b/Test/baseResults/spv.shaderFragMaskAMD.frag.out index 3b461142..17f98d45 100644 --- a/Test/baseResults/spv.shaderFragMaskAMD.frag.out +++ b/Test/baseResults/spv.shaderFragMaskAMD.frag.out @@ -21,12 +21,12 @@ spv.shaderFragMaskAMD.frag Name 42 "is2DMSArray" Name 62 "usubpassMS" Name 78 "fragColor" - Decorate 18(s2DMS) DescriptorSet 0 Decorate 18(s2DMS) Binding 0 - Decorate 42(is2DMSArray) DescriptorSet 0 + Decorate 18(s2DMS) DescriptorSet 0 Decorate 42(is2DMSArray) Binding 1 - Decorate 62(usubpassMS) DescriptorSet 0 + Decorate 42(is2DMSArray) DescriptorSet 0 Decorate 62(usubpassMS) Binding 2 + Decorate 62(usubpassMS) DescriptorSet 0 Decorate 62(usubpassMS) InputAttachmentIndex 0 Decorate 78(fragColor) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.shaderGroupVote.comp.out b/Test/baseResults/spv.shaderGroupVote.comp.out index 07241701..0a8c5a24 100644 --- a/Test/baseResults/spv.shaderGroupVote.comp.out +++ b/Test/baseResults/spv.shaderGroupVote.comp.out @@ -17,10 +17,10 @@ spv.shaderGroupVote.comp Name 10 "Buffers" MemberName 10(Buffers) 0 "b" Name 12 "" - MemberDecorate 10(Buffers) 0 Offset 0 Decorate 10(Buffers) BufferBlock - Decorate 12 DescriptorSet 0 + MemberDecorate 10(Buffers) 0 Offset 0 Decorate 12 Binding 0 + Decorate 12 DescriptorSet 0 Decorate 32 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.shaderImageFootprint.frag.out b/Test/baseResults/spv.shaderImageFootprint.frag.out index 743fd365..0f87bcbb 100644 --- a/Test/baseResults/spv.shaderImageFootprint.frag.out +++ b/Test/baseResults/spv.shaderImageFootprint.frag.out @@ -66,17 +66,17 @@ spv.shaderImageFootprint.frag Name 478 "ResType" Name 528 "ResType" Name 577 "ResType" + Decorate 8(result2D) BufferBlock MemberDecorate 8(result2D) 0 Offset 0 MemberDecorate 8(result2D) 1 Offset 8 MemberDecorate 8(result2D) 2 Offset 16 MemberDecorate 8(result2D) 3 Offset 24 MemberDecorate 8(result2D) 4 Offset 32 MemberDecorate 8(result2D) 5 Offset 36 - Decorate 8(result2D) BufferBlock - Decorate 10 DescriptorSet 0 Decorate 10 Binding 2 - Decorate 17(sample2D) DescriptorSet 0 + Decorate 10 DescriptorSet 0 Decorate 17(sample2D) Binding 0 + Decorate 17(sample2D) DescriptorSet 0 Decorate 21(P2) Location 0 Decorate 24(granularity) Flat Decorate 24(granularity) Location 3 @@ -85,17 +85,17 @@ spv.shaderImageFootprint.frag Decorate 225(lod) Location 5 Decorate 275(dx) Location 6 Decorate 277(dy) Location 8 + Decorate 377(result3D) BufferBlock MemberDecorate 377(result3D) 0 Offset 0 MemberDecorate 377(result3D) 1 Offset 16 MemberDecorate 377(result3D) 2 Offset 32 MemberDecorate 377(result3D) 3 Offset 48 MemberDecorate 377(result3D) 4 Offset 56 MemberDecorate 377(result3D) 5 Offset 60 - Decorate 377(result3D) BufferBlock - Decorate 379 DescriptorSet 0 Decorate 379 Binding 3 - Decorate 383(sample3D) DescriptorSet 0 + Decorate 379 DescriptorSet 0 Decorate 383(sample3D) Binding 1 + Decorate 383(sample3D) DescriptorSet 0 Decorate 387(P3) Location 2 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.shadingRate.frag.out b/Test/baseResults/spv.shadingRate.frag.out index 86079ce0..a05cbed1 100644 --- a/Test/baseResults/spv.shadingRate.frag.out +++ b/Test/baseResults/spv.shadingRate.frag.out @@ -18,11 +18,11 @@ spv.shadingRate.frag Name 17 "InvocationsPerPixel" Name 19 "gl_InvocationsPerPixelNV" Decorate 9(FragmentSize) Location 0 - Decorate 13(gl_FragmentSizeNV) Flat Decorate 13(gl_FragmentSizeNV) BuiltIn FragSizeEXT + Decorate 13(gl_FragmentSizeNV) Flat Decorate 17(InvocationsPerPixel) Location 2 - Decorate 19(gl_InvocationsPerPixelNV) Flat Decorate 19(gl_InvocationsPerPixelNV) BuiltIn FragInvocationCountEXT + Decorate 19(gl_InvocationsPerPixelNV) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.smBuiltins.frag.out b/Test/baseResults/spv.smBuiltins.frag.out index 1619cf63..dc6ce4eb 100644 --- a/Test/baseResults/spv.smBuiltins.frag.out +++ b/Test/baseResults/spv.smBuiltins.frag.out @@ -19,14 +19,14 @@ spv.smBuiltins.frag Name 15 "gl_WarpIDNV" Name 17 "gl_SMIDNV" Decorate 9(data) Location 0 - Decorate 11(gl_WarpsPerSMNV) Flat Decorate 11(gl_WarpsPerSMNV) BuiltIn WarpsPerSMNV - Decorate 13(gl_SMCountNV) Flat + Decorate 11(gl_WarpsPerSMNV) Flat Decorate 13(gl_SMCountNV) BuiltIn SMCountNV - Decorate 15(gl_WarpIDNV) Flat + Decorate 13(gl_SMCountNV) Flat Decorate 15(gl_WarpIDNV) BuiltIn WarpIDNV - Decorate 17(gl_SMIDNV) Flat + Decorate 15(gl_WarpIDNV) Flat Decorate 17(gl_SMIDNV) BuiltIn SMIDNV + Decorate 17(gl_SMIDNV) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.smBuiltins.vert.out b/Test/baseResults/spv.smBuiltins.vert.out index c03c3cd9..9d5d664f 100644 --- a/Test/baseResults/spv.smBuiltins.vert.out +++ b/Test/baseResults/spv.smBuiltins.vert.out @@ -21,10 +21,10 @@ spv.smBuiltins.vert Name 22 "gl_WarpIDNV" Name 24 "gl_SMIDNV" Decorate 8 ArrayStride 16 - MemberDecorate 9(Output) 0 Offset 0 Decorate 9(Output) BufferBlock - Decorate 11 DescriptorSet 0 + MemberDecorate 9(Output) 0 Offset 0 Decorate 11 Binding 0 + Decorate 11 DescriptorSet 0 Decorate 15(gl_VertexIndex) BuiltIn VertexIndex Decorate 18(gl_WarpsPerSMNV) BuiltIn WarpsPerSMNV Decorate 20(gl_SMCountNV) BuiltIn SMCountNV diff --git a/Test/baseResults/spv.sparseTexture.frag.out b/Test/baseResults/spv.sparseTexture.frag.out index 91dd929d..0d719533 100644 --- a/Test/baseResults/spv.sparseTexture.frag.out +++ b/Test/baseResults/spv.sparseTexture.frag.out @@ -46,43 +46,43 @@ Validation failed Name 401 "ic3" Name 410 "i2DMS" Name 419 "outColor" - Decorate 29(s2D) DescriptorSet 0 Decorate 29(s2D) Binding 0 + Decorate 29(s2D) DescriptorSet 0 Decorate 33(c2) Location 0 - Decorate 44(s3D) DescriptorSet 0 Decorate 44(s3D) Binding 1 + Decorate 44(s3D) DescriptorSet 0 Decorate 48(c3) Location 1 - Decorate 59(isCube) DescriptorSet 0 Decorate 59(isCube) Binding 8 - Decorate 71(s2DShadow) DescriptorSet 0 + Decorate 59(isCube) DescriptorSet 0 Decorate 71(s2DShadow) Binding 2 - Decorate 86(sCubeArrayShadow) DescriptorSet 0 + Decorate 71(s2DShadow) DescriptorSet 0 Decorate 86(sCubeArrayShadow) Binding 6 + Decorate 86(sCubeArrayShadow) DescriptorSet 0 Decorate 89(c4) Location 2 - Decorate 108(usCubeArray) DescriptorSet 0 Decorate 108(usCubeArray) Binding 10 - Decorate 140(us2DRect) DescriptorSet 0 + Decorate 108(usCubeArray) DescriptorSet 0 Decorate 140(us2DRect) Binding 11 - Decorate 154(s2DArrayShadow) DescriptorSet 0 + Decorate 140(us2DRect) DescriptorSet 0 Decorate 154(s2DArrayShadow) Binding 4 - Decorate 188(s2DMS) DescriptorSet 0 + Decorate 154(s2DArrayShadow) DescriptorSet 0 Decorate 188(s2DMS) Binding 7 - Decorate 228(is2DArray) DescriptorSet 0 + Decorate 188(s2DMS) DescriptorSet 0 Decorate 228(is2DArray) Binding 9 - Decorate 259(sCubeShadow) DescriptorSet 0 + Decorate 228(is2DArray) DescriptorSet 0 Decorate 259(sCubeShadow) Binding 3 - Decorate 288(s2DRectShadow) DescriptorSet 0 + Decorate 259(sCubeShadow) DescriptorSet 0 Decorate 288(s2DRectShadow) Binding 5 - Decorate 386(i2D) DescriptorSet 0 + Decorate 288(s2DRectShadow) DescriptorSet 0 Decorate 386(i2D) Binding 12 + Decorate 386(i2D) DescriptorSet 0 Decorate 389(ic2) Flat Decorate 389(ic2) Location 3 - Decorate 398(ii3D) DescriptorSet 0 Decorate 398(ii3D) Binding 13 + Decorate 398(ii3D) DescriptorSet 0 Decorate 401(ic3) Flat Decorate 401(ic3) Location 4 - Decorate 410(i2DMS) DescriptorSet 0 Decorate 410(i2DMS) Binding 14 + Decorate 410(i2DMS) DescriptorSet 0 Decorate 419(outColor) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.sparseTextureClamp.frag.out b/Test/baseResults/spv.sparseTextureClamp.frag.out index 1c95f60b..5ea7dc4c 100644 --- a/Test/baseResults/spv.sparseTextureClamp.frag.out +++ b/Test/baseResults/spv.sparseTextureClamp.frag.out @@ -40,32 +40,32 @@ Validation failed Name 276 "s2DRectShadow" Name 294 "is2DArray" Name 329 "outColor" - Decorate 29(s2D) DescriptorSet 0 Decorate 29(s2D) Binding 0 + Decorate 29(s2D) DescriptorSet 0 Decorate 33(c2) Location 0 Decorate 36(lodClamp) Location 3 - Decorate 47(s3D) DescriptorSet 0 Decorate 47(s3D) Binding 1 + Decorate 47(s3D) DescriptorSet 0 Decorate 51(c3) Location 1 - Decorate 63(isCube) DescriptorSet 0 Decorate 63(isCube) Binding 7 - Decorate 76(s2DShadow) DescriptorSet 0 + Decorate 63(isCube) DescriptorSet 0 Decorate 76(s2DShadow) Binding 2 - Decorate 92(sCubeArrayShadow) DescriptorSet 0 + Decorate 76(s2DShadow) DescriptorSet 0 Decorate 92(sCubeArrayShadow) Binding 6 + Decorate 92(sCubeArrayShadow) DescriptorSet 0 Decorate 95(c4) Location 2 - Decorate 154(us2DRect) DescriptorSet 0 Decorate 154(us2DRect) Binding 10 - Decorate 170(s2DArrayShadow) DescriptorSet 0 + Decorate 154(us2DRect) DescriptorSet 0 Decorate 170(s2DArrayShadow) Binding 4 - Decorate 216(sCubeShadow) DescriptorSet 0 + Decorate 170(s2DArrayShadow) DescriptorSet 0 Decorate 216(sCubeShadow) Binding 3 - Decorate 232(usCubeArray) DescriptorSet 0 + Decorate 216(sCubeShadow) DescriptorSet 0 Decorate 232(usCubeArray) Binding 9 - Decorate 276(s2DRectShadow) DescriptorSet 0 + Decorate 232(usCubeArray) DescriptorSet 0 Decorate 276(s2DRectShadow) Binding 5 - Decorate 294(is2DArray) DescriptorSet 0 + Decorate 276(s2DRectShadow) DescriptorSet 0 Decorate 294(is2DArray) Binding 8 + Decorate 294(is2DArray) DescriptorSet 0 Decorate 329(outColor) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.specConst.vert.out b/Test/baseResults/spv.specConst.vert.out index a2e234bd..404d3085 100644 --- a/Test/baseResults/spv.specConst.vert.out +++ b/Test/baseResults/spv.specConst.vert.out @@ -18,11 +18,11 @@ spv.specConst.vert Name 18 "a" Name 25 "gl_VertexID" Name 26 "gl_InstanceID" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 11(gl_PerVertex) Block Decorate 18(a) SpecId 11 Decorate 25(gl_VertexID) BuiltIn VertexId Decorate 26(gl_InstanceID) BuiltIn InstanceId diff --git a/Test/baseResults/spv.specConstant.comp.out b/Test/baseResults/spv.specConstant.comp.out index bfe71142..6a7dd1db 100644 --- a/Test/baseResults/spv.specConstant.comp.out +++ b/Test/baseResults/spv.specConstant.comp.out @@ -13,10 +13,10 @@ spv.specConstant.comp Name 7 "bn" MemberName 7(bn) 0 "a" Name 9 "bi" - MemberDecorate 7(bn) 0 Offset 0 Decorate 7(bn) BufferBlock - Decorate 9(bi) DescriptorSet 0 + MemberDecorate 7(bn) 0 Offset 0 Decorate 9(bi) Binding 0 + Decorate 9(bi) DescriptorSet 0 Decorate 12 SpecId 18 Decorate 14 SpecId 19 Decorate 16 BuiltIn WorkgroupSize diff --git a/Test/baseResults/spv.specConstant.float16.comp.out b/Test/baseResults/spv.specConstant.float16.comp.out index 3381fc7e..ba4169e3 100644 --- a/Test/baseResults/spv.specConstant.float16.comp.out +++ b/Test/baseResults/spv.specConstant.float16.comp.out @@ -20,13 +20,14 @@ spv.specConstant.float16.comp Name 9 "sb_out" Name 12 "sc0" Name 16 "sc1" + Decorate 7(Output) BufferBlock MemberDecorate 7(Output) 0 NonReadable MemberDecorate 7(Output) 0 Offset 0 MemberDecorate 7(Output) 1 NonReadable MemberDecorate 7(Output) 1 Offset 2 - Decorate 7(Output) BufferBlock - Decorate 9(sb_out) DescriptorSet 0 + Decorate 9(sb_out) NonReadable Decorate 9(sb_out) Binding 0 + Decorate 9(sb_out) DescriptorSet 0 Decorate 12(sc0) SpecId 1 Decorate 16(sc1) SpecId 2 2: TypeVoid diff --git a/Test/baseResults/spv.specConstant.int16.comp.out b/Test/baseResults/spv.specConstant.int16.comp.out index 17f385be..dfb23179 100644 --- a/Test/baseResults/spv.specConstant.int16.comp.out +++ b/Test/baseResults/spv.specConstant.int16.comp.out @@ -20,13 +20,14 @@ spv.specConstant.int16.comp Name 9 "sb_out" Name 12 "sc0" Name 16 "sc1" + Decorate 7(Output) BufferBlock MemberDecorate 7(Output) 0 NonReadable MemberDecorate 7(Output) 0 Offset 0 MemberDecorate 7(Output) 1 NonReadable MemberDecorate 7(Output) 1 Offset 2 - Decorate 7(Output) BufferBlock - Decorate 9(sb_out) DescriptorSet 0 + Decorate 9(sb_out) NonReadable Decorate 9(sb_out) Binding 0 + Decorate 9(sb_out) DescriptorSet 0 Decorate 12(sc0) SpecId 1 Decorate 16(sc1) SpecId 2 2: TypeVoid diff --git a/Test/baseResults/spv.specConstant.int8.comp.out b/Test/baseResults/spv.specConstant.int8.comp.out index c906d711..7f1175aa 100644 --- a/Test/baseResults/spv.specConstant.int8.comp.out +++ b/Test/baseResults/spv.specConstant.int8.comp.out @@ -20,13 +20,14 @@ spv.specConstant.int8.comp Name 9 "sb_out" Name 12 "sc0" Name 16 "sc1" + Decorate 7(Output) BufferBlock MemberDecorate 7(Output) 0 NonReadable MemberDecorate 7(Output) 0 Offset 0 MemberDecorate 7(Output) 1 NonReadable MemberDecorate 7(Output) 1 Offset 1 - Decorate 7(Output) BufferBlock - Decorate 9(sb_out) DescriptorSet 0 + Decorate 9(sb_out) NonReadable Decorate 9(sb_out) Binding 0 + Decorate 9(sb_out) DescriptorSet 0 Decorate 12(sc0) SpecId 1 Decorate 16(sc1) SpecId 2 2: TypeVoid diff --git a/Test/baseResults/spv.specConstantOp.float16.comp.out b/Test/baseResults/spv.specConstantOp.float16.comp.out index 97631f14..f4f1ae1b 100644 --- a/Test/baseResults/spv.specConstantOp.float16.comp.out +++ b/Test/baseResults/spv.specConstantOp.float16.comp.out @@ -19,12 +19,14 @@ spv.specConstantOp.float16.comp Name 10 "" Name 14 "c" Decorate 7 ArrayStride 2 + Decorate 8(S) BufferBlock MemberDecorate 8(S) 0 Restrict MemberDecorate 8(S) 0 NonReadable MemberDecorate 8(S) 0 Offset 0 - Decorate 8(S) BufferBlock - Decorate 10 DescriptorSet 0 + Decorate 10 Restrict + Decorate 10 NonReadable Decorate 10 Binding 0 + Decorate 10 DescriptorSet 0 Decorate 14(c) SpecId 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.specConstantOp.int16.comp.out b/Test/baseResults/spv.specConstantOp.int16.comp.out index 13049bed..8d39f09e 100644 --- a/Test/baseResults/spv.specConstantOp.int16.comp.out +++ b/Test/baseResults/spv.specConstantOp.int16.comp.out @@ -19,12 +19,14 @@ spv.specConstantOp.int16.comp Name 10 "" Name 13 "c" Decorate 7 ArrayStride 2 + Decorate 8(S) BufferBlock MemberDecorate 8(S) 0 Restrict MemberDecorate 8(S) 0 NonReadable MemberDecorate 8(S) 0 Offset 0 - Decorate 8(S) BufferBlock - Decorate 10 DescriptorSet 0 + Decorate 10 Restrict + Decorate 10 NonReadable Decorate 10 Binding 0 + Decorate 10 DescriptorSet 0 Decorate 13(c) SpecId 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.specConstantOp.int8.comp.out b/Test/baseResults/spv.specConstantOp.int8.comp.out index 1cf53014..d88fce9b 100644 --- a/Test/baseResults/spv.specConstantOp.int8.comp.out +++ b/Test/baseResults/spv.specConstantOp.int8.comp.out @@ -19,12 +19,14 @@ spv.specConstantOp.int8.comp Name 10 "" Name 13 "c" Decorate 7 ArrayStride 1 + Decorate 8(S) BufferBlock MemberDecorate 8(S) 0 Restrict MemberDecorate 8(S) 0 NonReadable MemberDecorate 8(S) 0 Offset 0 - Decorate 8(S) BufferBlock - Decorate 10 DescriptorSet 0 + Decorate 10 Restrict + Decorate 10 NonReadable Decorate 10 Binding 0 + Decorate 10 DescriptorSet 0 Decorate 13(c) SpecId 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.specTexture.frag.out b/Test/baseResults/spv.specTexture.frag.out index b599e356..a5875d07 100644 --- a/Test/baseResults/spv.specTexture.frag.out +++ b/Test/baseResults/spv.specTexture.frag.out @@ -15,8 +15,8 @@ spv.specTexture.frag Name 19 "offs" Decorate 9(color_out) Location 0 Decorate 13(tex) Location 0 - Decorate 13(tex) DescriptorSet 0 Decorate 13(tex) Binding 0 + Decorate 13(tex) DescriptorSet 0 Decorate 19(offs) SpecId 1 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.ssbo.autoassign.frag.out b/Test/baseResults/spv.ssbo.autoassign.frag.out index 35381055..2d8c2831 100644 --- a/Test/baseResults/spv.ssbo.autoassign.frag.out +++ b/Test/baseResults/spv.ssbo.autoassign.frag.out @@ -33,21 +33,22 @@ spv.ssbo.autoassign.frag MemberDecorate 14(BufType) 0 Offset 0 MemberDecorate 14(BufType) 1 Offset 16 Decorate 15 ArrayStride 32 + Decorate 16(SB0) BufferBlock MemberDecorate 16(SB0) 0 NonWritable MemberDecorate 16(SB0) 0 Offset 0 - Decorate 16(SB0) BufferBlock - Decorate 18(SB0) DescriptorSet 0 + Decorate 18(SB0) NonWritable Decorate 18(SB0) Binding 30 + Decorate 18(SB0) DescriptorSet 0 + Decorate 26(TestCB) Block MemberDecorate 26(TestCB) 0 Offset 0 MemberDecorate 26(TestCB) 1 Offset 4 - Decorate 26(TestCB) Block - Decorate 28 DescriptorSet 0 Decorate 28 Binding 15 + Decorate 28 DescriptorSet 0 Decorate 56 ArrayStride 32 - MemberDecorate 57(SB1) 0 Offset 0 Decorate 57(SB1) BufferBlock - Decorate 59(SB1) DescriptorSet 0 + MemberDecorate 57(SB1) 0 Offset 0 Decorate 59(SB1) Binding 31 + Decorate 59(SB1) DescriptorSet 0 Decorate 92(pos) Location 0 Decorate 95(@entryPointOutput) Location 0 2: TypeVoid diff --git a/Test/baseResults/spv.ssboAlias.frag.out b/Test/baseResults/spv.ssboAlias.frag.out index 0a5a12b9..73842e8f 100644 --- a/Test/baseResults/spv.ssboAlias.frag.out +++ b/Test/baseResults/spv.ssboAlias.frag.out @@ -22,21 +22,21 @@ spv.ssboAlias.frag Name 41 "@entryPointOutput" Name 43 "Buf3" Decorate 12 ArrayStride 4 - MemberDecorate 13(Buf1) 0 Offset 0 Decorate 13(Buf1) BufferBlock - Decorate 15(Buf1) DescriptorSet 0 + MemberDecorate 13(Buf1) 0 Offset 0 Decorate 15(Buf1) Binding 84 - MemberDecorate 18(Buf1@count) 0 Offset 0 + Decorate 15(Buf1) DescriptorSet 0 Decorate 18(Buf1@count) BufferBlock - Decorate 20(Buf1@count) DescriptorSet 0 + MemberDecorate 18(Buf1@count) 0 Offset 0 Decorate 20(Buf1@count) Binding 83 - Decorate 28(Buf2) DescriptorSet 0 + Decorate 20(Buf1@count) DescriptorSet 0 Decorate 28(Buf2) Binding 85 - Decorate 29(Buf2@count) DescriptorSet 0 + Decorate 28(Buf2) DescriptorSet 0 Decorate 29(Buf2@count) Binding 86 + Decorate 29(Buf2@count) DescriptorSet 0 Decorate 41(@entryPointOutput) Location 0 - Decorate 43(Buf3) DescriptorSet 0 Decorate 43(Buf3) Binding 84 + Decorate 43(Buf3) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.stereoViewRendering.tesc.out b/Test/baseResults/spv.stereoViewRendering.tesc.out index 100b5534..a0a9cb1b 100644 --- a/Test/baseResults/spv.stereoViewRendering.tesc.out +++ b/Test/baseResults/spv.stereoViewRendering.tesc.out @@ -31,16 +31,16 @@ spv.stereoViewRendering.tesc MemberName 27(gl_PerVertex) 4 "gl_SecondaryPositionNV" Name 31 "gl_in" Name 41 "gl_Layer" + Decorate 12(gl_PerVertex) Block MemberDecorate 12(gl_PerVertex) 0 BuiltIn SecondaryPositionNV MemberDecorate 12(gl_PerVertex) 1 BuiltIn SecondaryViewportMaskNV - Decorate 12(gl_PerVertex) Block Decorate 18(gl_InvocationID) BuiltIn InvocationId + Decorate 27(gl_PerVertex) Block MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 27(gl_PerVertex) 3 BuiltIn CullDistance MemberDecorate 27(gl_PerVertex) 4 BuiltIn SecondaryPositionNV - Decorate 27(gl_PerVertex) Block Decorate 41(gl_Layer) BuiltIn Layer Decorate 41(gl_Layer) ViewportRelativeNV Decorate 41(gl_Layer) SecondaryViewportRelativeNV 1 diff --git a/Test/baseResults/spv.stereoViewRendering.vert.out b/Test/baseResults/spv.stereoViewRendering.vert.out index 530d75e1..491c377d 100644 --- a/Test/baseResults/spv.stereoViewRendering.vert.out +++ b/Test/baseResults/spv.stereoViewRendering.vert.out @@ -28,11 +28,11 @@ spv.stereoViewRendering.vert Name 26 "gl_Layer" Decorate 11(gl_SecondaryViewportMaskNV) BuiltIn SecondaryViewportMaskNV Decorate 19(gl_SecondaryPositionNV) BuiltIn SecondaryPositionNV + Decorate 21(gl_PerVertex) Block MemberDecorate 21(gl_PerVertex) 0 BuiltIn Position MemberDecorate 21(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 21(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 21(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 21(gl_PerVertex) Block Decorate 26(gl_Layer) BuiltIn Layer Decorate 26(gl_Layer) ViewportRelativeNV Decorate 26(gl_Layer) SecondaryViewportRelativeNV 2 diff --git a/Test/baseResults/spv.storageBuffer.vert.out b/Test/baseResults/spv.storageBuffer.vert.out index fdbb4db3..5081998d 100644 --- a/Test/baseResults/spv.storageBuffer.vert.out +++ b/Test/baseResults/spv.storageBuffer.vert.out @@ -22,19 +22,19 @@ spv.storageBuffer.vert Name 22 "bb" MemberName 22(bb) 0 "b" Name 24 "bbi" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 11(gl_PerVertex) Block - MemberDecorate 16(ub) 0 Offset 0 Decorate 16(ub) Block - Decorate 18(ubi) DescriptorSet 0 + MemberDecorate 16(ub) 0 Offset 0 Decorate 18(ubi) Binding 0 - MemberDecorate 22(bb) 0 Offset 0 + Decorate 18(ubi) DescriptorSet 0 Decorate 22(bb) Block - Decorate 24(bbi) DescriptorSet 0 + MemberDecorate 22(bb) 0 Offset 0 Decorate 24(bbi) Binding 1 + Decorate 24(bbi) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.structAssignment.frag.out b/Test/baseResults/spv.structAssignment.frag.out index a0cfb542..e04b5582 100644 --- a/Test/baseResults/spv.structAssignment.frag.out +++ b/Test/baseResults/spv.structAssignment.frag.out @@ -37,8 +37,8 @@ WARNING: 0:6: '' : all default precisions are highp; use precision statements to MemberDecorate 10(lunarStruct3) 1 RelaxedPrecision Decorate 16 RelaxedPrecision Decorate 31(gl_FragColor) Location 0 - Decorate 40(samp2D) DescriptorSet 0 Decorate 40(samp2D) Binding 0 + Decorate 40(samp2D) DescriptorSet 0 Decorate 44(coord) RelaxedPrecision Decorate 44(coord) Location 0 Decorate 45 RelaxedPrecision diff --git a/Test/baseResults/spv.structCopy.comp.out b/Test/baseResults/spv.structCopy.comp.out index 38c7c092..f94e5671 100644 --- a/Test/baseResults/spv.structCopy.comp.out +++ b/Test/baseResults/spv.structCopy.comp.out @@ -36,17 +36,17 @@ spv.structCopy.comp MemberDecorate 32(MyStruct) 1 Offset 4 MemberDecorate 32(MyStruct) 2 Offset 8 Decorate 33 ArrayStride 12 + Decorate 34(MyStructs) BufferBlock MemberDecorate 34(MyStructs) 0 Offset 0 MemberDecorate 34(MyStructs) 1 Offset 4 - Decorate 34(MyStructs) BufferBlock - Decorate 36(my_structs) DescriptorSet 0 Decorate 36(my_structs) Binding 0 + Decorate 36(my_structs) DescriptorSet 0 + Decorate 65(Output) BufferBlock MemberDecorate 65(Output) 0 Offset 0 MemberDecorate 65(Output) 1 Offset 4 MemberDecorate 65(Output) 2 Offset 8 - Decorate 65(Output) BufferBlock - Decorate 67(o) DescriptorSet 0 Decorate 67(o) Binding 1 + Decorate 67(o) DescriptorSet 0 Decorate 80 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.structDeref.frag.out b/Test/baseResults/spv.structDeref.frag.out index a528a599..b7884308 100644 --- a/Test/baseResults/spv.structDeref.frag.out +++ b/Test/baseResults/spv.structDeref.frag.out @@ -42,8 +42,8 @@ spv.structDeref.frag Name 122 "foo2" Decorate 61(coord) Location 0 Decorate 99(gl_FragColor) Location 0 - Decorate 116(samp2D) DescriptorSet 0 Decorate 116(samp2D) Binding 0 + Decorate 116(samp2D) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 1 diff --git a/Test/baseResults/spv.structure.frag.out b/Test/baseResults/spv.structure.frag.out index 6b39c297..3b43ba57 100644 --- a/Test/baseResults/spv.structure.frag.out +++ b/Test/baseResults/spv.structure.frag.out @@ -25,8 +25,8 @@ spv.structure.frag Name 54 "coord" Name 59 "foo" Decorate 45(gl_FragColor) Location 0 - Decorate 50(samp2D) DescriptorSet 0 Decorate 50(samp2D) Binding 0 + Decorate 50(samp2D) DescriptorSet 0 Decorate 54(coord) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroup.frag.out b/Test/baseResults/spv.subgroup.frag.out index a882a22e..9c6bfbfc 100644 --- a/Test/baseResults/spv.subgroup.frag.out +++ b/Test/baseResults/spv.subgroup.frag.out @@ -17,12 +17,12 @@ spv.subgroup.frag Name 13 "gl_SubgroupInvocationID" Decorate 9(data) Location 0 Decorate 11(gl_SubgroupSize) RelaxedPrecision - Decorate 11(gl_SubgroupSize) Flat Decorate 11(gl_SubgroupSize) BuiltIn SubgroupSize + Decorate 11(gl_SubgroupSize) Flat Decorate 12 RelaxedPrecision Decorate 13(gl_SubgroupInvocationID) RelaxedPrecision - Decorate 13(gl_SubgroupInvocationID) Flat Decorate 13(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId + Decorate 13(gl_SubgroupInvocationID) Flat Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision 2: TypeVoid diff --git a/Test/baseResults/spv.subgroup.geom.out b/Test/baseResults/spv.subgroup.geom.out index 33405950..905e874d 100644 --- a/Test/baseResults/spv.subgroup.geom.out +++ b/Test/baseResults/spv.subgroup.geom.out @@ -22,10 +22,10 @@ spv.subgroup.geom Name 18 "gl_SubgroupSize" Name 20 "gl_SubgroupInvocationID" Decorate 8 ArrayStride 16 - MemberDecorate 9(Output) 0 Offset 0 Decorate 9(Output) Block - Decorate 11 DescriptorSet 0 + MemberDecorate 9(Output) 0 Offset 0 Decorate 11 Binding 0 + Decorate 11 DescriptorSet 0 Decorate 15(gl_PrimitiveIDIn) BuiltIn PrimitiveId Decorate 18(gl_SubgroupSize) RelaxedPrecision Decorate 18(gl_SubgroupSize) BuiltIn SubgroupSize diff --git a/Test/baseResults/spv.subgroup.tesc.out b/Test/baseResults/spv.subgroup.tesc.out index aaac4b80..23e0e3e1 100644 --- a/Test/baseResults/spv.subgroup.tesc.out +++ b/Test/baseResults/spv.subgroup.tesc.out @@ -19,10 +19,10 @@ spv.subgroup.tesc Name 18 "gl_SubgroupSize" Name 20 "gl_SubgroupInvocationID" Decorate 8 ArrayStride 16 - MemberDecorate 9(Output) 0 Offset 0 Decorate 9(Output) Block - Decorate 11 DescriptorSet 0 + MemberDecorate 9(Output) 0 Offset 0 Decorate 11 Binding 0 + Decorate 11 DescriptorSet 0 Decorate 15(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 18(gl_SubgroupSize) RelaxedPrecision Decorate 18(gl_SubgroupSize) BuiltIn SubgroupSize diff --git a/Test/baseResults/spv.subgroup.tese.out b/Test/baseResults/spv.subgroup.tese.out index f989981c..c0ef120e 100644 --- a/Test/baseResults/spv.subgroup.tese.out +++ b/Test/baseResults/spv.subgroup.tese.out @@ -21,10 +21,10 @@ spv.subgroup.tese Name 18 "gl_SubgroupSize" Name 20 "gl_SubgroupInvocationID" Decorate 8 ArrayStride 16 - MemberDecorate 9(Output) 0 Offset 0 Decorate 9(Output) Block - Decorate 11 DescriptorSet 0 + MemberDecorate 9(Output) 0 Offset 0 Decorate 11 Binding 0 + Decorate 11 DescriptorSet 0 Decorate 15(gl_PrimitiveID) BuiltIn PrimitiveId Decorate 18(gl_SubgroupSize) RelaxedPrecision Decorate 18(gl_SubgroupSize) BuiltIn SubgroupSize diff --git a/Test/baseResults/spv.subgroup.vert.out b/Test/baseResults/spv.subgroup.vert.out index 6add1c7c..3537f58f 100644 --- a/Test/baseResults/spv.subgroup.vert.out +++ b/Test/baseResults/spv.subgroup.vert.out @@ -18,10 +18,10 @@ spv.subgroup.vert Name 18 "gl_SubgroupSize" Name 20 "gl_SubgroupInvocationID" Decorate 8 ArrayStride 16 - MemberDecorate 9(Output) 0 Offset 0 Decorate 9(Output) Block - Decorate 11 DescriptorSet 0 + MemberDecorate 9(Output) 0 Offset 0 Decorate 11 Binding 0 + Decorate 11 DescriptorSet 0 Decorate 15(gl_VertexIndex) BuiltIn VertexIndex Decorate 18(gl_SubgroupSize) RelaxedPrecision Decorate 18(gl_SubgroupSize) BuiltIn SubgroupSize diff --git a/Test/baseResults/spv.subgroupArithmetic.comp.out b/Test/baseResults/spv.subgroupArithmetic.comp.out index bd71fc7c..c3b467b0 100644 --- a/Test/baseResults/spv.subgroupArithmetic.comp.out +++ b/Test/baseResults/spv.subgroupArithmetic.comp.out @@ -32,13 +32,13 @@ spv.subgroupArithmetic.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 24(Buffers) Block MemberDecorate 24(Buffers) 0 Offset 0 MemberDecorate 24(Buffers) 1 Offset 16 MemberDecorate 24(Buffers) 2 Offset 32 MemberDecorate 24(Buffers) 3 Offset 64 - Decorate 24(Buffers) Block - Decorate 27(data) DescriptorSet 0 Decorate 27(data) Binding 0 + Decorate 27(data) DescriptorSet 0 Decorate 2385 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupBallot.comp.out b/Test/baseResults/spv.subgroupBallot.comp.out index 51cb7ac1..834331d5 100644 --- a/Test/baseResults/spv.subgroupBallot.comp.out +++ b/Test/baseResults/spv.subgroupBallot.comp.out @@ -44,13 +44,13 @@ spv.subgroupBallot.comp Decorate 26(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR Decorate 29(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR Decorate 32(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR + Decorate 46(Buffers) Block MemberDecorate 46(Buffers) 0 Offset 0 MemberDecorate 46(Buffers) 1 Offset 16 MemberDecorate 46(Buffers) 2 Offset 32 MemberDecorate 46(Buffers) 3 Offset 64 - Decorate 46(Buffers) Block - Decorate 49(data) DescriptorSet 0 Decorate 49(data) Binding 0 + Decorate 49(data) DescriptorSet 0 Decorate 436 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupBasic.comp.out b/Test/baseResults/spv.subgroupBasic.comp.out index 51eae759..71350127 100644 --- a/Test/baseResults/spv.subgroupBasic.comp.out +++ b/Test/baseResults/spv.subgroupBasic.comp.out @@ -20,10 +20,10 @@ spv.subgroupBasic.comp Name 22 "gl_NumSubgroups" Name 25 "gl_SubgroupID" Decorate 7 ArrayStride 4 - MemberDecorate 8(Buffer) 0 Offset 0 Decorate 8(Buffer) Block - Decorate 10(data) DescriptorSet 0 + MemberDecorate 8(Buffer) 0 Offset 0 Decorate 10(data) Binding 0 + Decorate 10(data) DescriptorSet 0 Decorate 14(gl_SubgroupSize) RelaxedPrecision Decorate 14(gl_SubgroupSize) BuiltIn SubgroupSize Decorate 15 RelaxedPrecision diff --git a/Test/baseResults/spv.subgroupClustered.comp.out b/Test/baseResults/spv.subgroupClustered.comp.out index 2529eeff..b86570a2 100644 --- a/Test/baseResults/spv.subgroupClustered.comp.out +++ b/Test/baseResults/spv.subgroupClustered.comp.out @@ -32,13 +32,13 @@ spv.subgroupClustered.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 24(Buffers) Block MemberDecorate 24(Buffers) 0 Offset 0 MemberDecorate 24(Buffers) 1 Offset 16 MemberDecorate 24(Buffers) 2 Offset 32 MemberDecorate 24(Buffers) 3 Offset 64 - Decorate 24(Buffers) Block - Decorate 27(data) DescriptorSet 0 Decorate 27(data) Binding 0 + Decorate 27(data) DescriptorSet 0 Decorate 837 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out b/Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out index 51c2a5e2..92c0029c 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesArithmetic.comp.out @@ -49,6 +49,7 @@ spv.subgroupExtendedTypesArithmetic.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 31(Buffers) Block MemberDecorate 31(Buffers) 0 Offset 0 MemberDecorate 31(Buffers) 1 Offset 4 MemberDecorate 31(Buffers) 2 Offset 8 @@ -56,9 +57,8 @@ spv.subgroupExtendedTypesArithmetic.comp MemberDecorate 31(Buffers) 4 Offset 32 MemberDecorate 31(Buffers) 5 Offset 64 MemberDecorate 31(Buffers) 6 Offset 96 - Decorate 31(Buffers) Block - Decorate 34(data) DescriptorSet 0 Decorate 34(data) Binding 0 + Decorate 34(data) DescriptorSet 0 Decorate 4217 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out b/Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out index 0a706a50..880df85c 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesBallot.comp.out @@ -49,6 +49,7 @@ spv.subgroupExtendedTypesBallot.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 31(Buffers) Block MemberDecorate 31(Buffers) 0 Offset 0 MemberDecorate 31(Buffers) 1 Offset 4 MemberDecorate 31(Buffers) 2 Offset 8 @@ -56,9 +57,8 @@ spv.subgroupExtendedTypesBallot.comp MemberDecorate 31(Buffers) 4 Offset 32 MemberDecorate 31(Buffers) 5 Offset 64 MemberDecorate 31(Buffers) 6 Offset 96 - Decorate 31(Buffers) Block - Decorate 34(data) DescriptorSet 0 Decorate 34(data) Binding 0 + Decorate 34(data) DescriptorSet 0 Decorate 497 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out b/Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out index f876c5a5..849cd676 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesClustered.comp.out @@ -49,6 +49,7 @@ spv.subgroupExtendedTypesClustered.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 31(Buffers) Block MemberDecorate 31(Buffers) 0 Offset 0 MemberDecorate 31(Buffers) 1 Offset 4 MemberDecorate 31(Buffers) 2 Offset 8 @@ -56,9 +57,8 @@ spv.subgroupExtendedTypesClustered.comp MemberDecorate 31(Buffers) 4 Offset 32 MemberDecorate 31(Buffers) 5 Offset 64 MemberDecorate 31(Buffers) 6 Offset 96 - Decorate 31(Buffers) Block - Decorate 34(data) DescriptorSet 0 Decorate 34(data) Binding 0 + Decorate 34(data) DescriptorSet 0 Decorate 1457 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out b/Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out index f2cb8cb1..8381c49d 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesPartitioned.comp.out @@ -51,6 +51,7 @@ spv.subgroupExtendedTypesPartitioned.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 34(Buffers) Block MemberDecorate 34(Buffers) 0 Offset 0 MemberDecorate 34(Buffers) 1 Offset 4 MemberDecorate 34(Buffers) 2 Offset 8 @@ -58,9 +59,8 @@ spv.subgroupExtendedTypesPartitioned.comp MemberDecorate 34(Buffers) 4 Offset 32 MemberDecorate 34(Buffers) 5 Offset 64 MemberDecorate 34(Buffers) 6 Offset 96 - Decorate 34(Buffers) Block - Decorate 37(data) DescriptorSet 0 Decorate 37(data) Binding 0 + Decorate 37(data) DescriptorSet 0 Decorate 1742 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out b/Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out index 8aa7c120..a0f8564d 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesQuad.comp.out @@ -49,6 +49,7 @@ spv.subgroupExtendedTypesQuad.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 31(Buffers) Block MemberDecorate 31(Buffers) 0 Offset 0 MemberDecorate 31(Buffers) 1 Offset 4 MemberDecorate 31(Buffers) 2 Offset 8 @@ -56,9 +57,8 @@ spv.subgroupExtendedTypesQuad.comp MemberDecorate 31(Buffers) 4 Offset 32 MemberDecorate 31(Buffers) 5 Offset 64 MemberDecorate 31(Buffers) 6 Offset 96 - Decorate 31(Buffers) Block - Decorate 34(data) DescriptorSet 0 Decorate 34(data) Binding 0 + Decorate 34(data) DescriptorSet 0 Decorate 917 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesRotate.comp.out b/Test/baseResults/spv.subgroupExtendedTypesRotate.comp.out index 5900db4f..cb13289c 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesRotate.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesRotate.comp.out @@ -41,11 +41,13 @@ spv.subgroupExtendedTypesRotate.comp MemberName 31(Buffers) 5 "u64" MemberName 31(Buffers) 6 "f16" Name 35 "data" + Decorate 9(roblock) Block MemberDecorate 9(roblock) 0 NonWritable MemberDecorate 9(roblock) 0 Offset 0 - Decorate 9(roblock) Block - Decorate 11(ro) DescriptorSet 0 + Decorate 11(ro) NonWritable Decorate 11(ro) Binding 1 + Decorate 11(ro) DescriptorSet 0 + Decorate 31(Buffers) Block MemberDecorate 31(Buffers) 0 Offset 0 MemberDecorate 31(Buffers) 1 Offset 4 MemberDecorate 31(Buffers) 2 Offset 8 @@ -53,9 +55,8 @@ spv.subgroupExtendedTypesRotate.comp MemberDecorate 31(Buffers) 4 Offset 32 MemberDecorate 31(Buffers) 5 Offset 64 MemberDecorate 31(Buffers) 6 Offset 96 - Decorate 31(Buffers) Block - Decorate 35(data) DescriptorSet 0 Decorate 35(data) Binding 0 + Decorate 35(data) DescriptorSet 0 Decorate 552 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out b/Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out index 0051bd7d..354e344c 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out @@ -49,6 +49,7 @@ spv.subgroupExtendedTypesShuffle.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 31(Buffers) Block MemberDecorate 31(Buffers) 0 Offset 0 MemberDecorate 31(Buffers) 1 Offset 4 MemberDecorate 31(Buffers) 2 Offset 8 @@ -56,9 +57,8 @@ spv.subgroupExtendedTypesShuffle.comp MemberDecorate 31(Buffers) 4 Offset 32 MemberDecorate 31(Buffers) 5 Offset 64 MemberDecorate 31(Buffers) 6 Offset 96 - Decorate 31(Buffers) Block - Decorate 34(data) DescriptorSet 0 Decorate 34(data) Binding 0 + Decorate 34(data) DescriptorSet 0 Decorate 553 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesShuffleRelative.comp.out b/Test/baseResults/spv.subgroupExtendedTypesShuffleRelative.comp.out index 46244baa..2ce94812 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesShuffleRelative.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesShuffleRelative.comp.out @@ -49,6 +49,7 @@ spv.subgroupExtendedTypesShuffleRelative.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 31(Buffers) Block MemberDecorate 31(Buffers) 0 Offset 0 MemberDecorate 31(Buffers) 1 Offset 4 MemberDecorate 31(Buffers) 2 Offset 8 @@ -56,9 +57,8 @@ spv.subgroupExtendedTypesShuffleRelative.comp MemberDecorate 31(Buffers) 4 Offset 32 MemberDecorate 31(Buffers) 5 Offset 64 MemberDecorate 31(Buffers) 6 Offset 96 - Decorate 31(Buffers) Block - Decorate 34(data) DescriptorSet 0 Decorate 34(data) Binding 0 + Decorate 34(data) DescriptorSet 0 Decorate 553 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupExtendedTypesVote.comp.out b/Test/baseResults/spv.subgroupExtendedTypesVote.comp.out index a53847ca..f4b35add 100644 --- a/Test/baseResults/spv.subgroupExtendedTypesVote.comp.out +++ b/Test/baseResults/spv.subgroupExtendedTypesVote.comp.out @@ -50,6 +50,7 @@ spv.subgroupExtendedTypesVote.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 32(Buffers) Block MemberDecorate 32(Buffers) 0 Offset 0 MemberDecorate 32(Buffers) 1 Offset 4 MemberDecorate 32(Buffers) 2 Offset 8 @@ -58,9 +59,8 @@ spv.subgroupExtendedTypesVote.comp MemberDecorate 32(Buffers) 5 Offset 64 MemberDecorate 32(Buffers) 6 Offset 96 MemberDecorate 32(Buffers) 7 Offset 104 - Decorate 32(Buffers) Block - Decorate 35(data) DescriptorSet 0 Decorate 35(data) Binding 0 + Decorate 35(data) DescriptorSet 0 Decorate 276 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupPartitioned.comp.out b/Test/baseResults/spv.subgroupPartitioned.comp.out index 922d393e..4c129dbb 100644 --- a/Test/baseResults/spv.subgroupPartitioned.comp.out +++ b/Test/baseResults/spv.subgroupPartitioned.comp.out @@ -34,13 +34,13 @@ spv.subgroupPartitioned.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 28(Buffers) Block MemberDecorate 28(Buffers) 0 Offset 0 MemberDecorate 28(Buffers) 1 Offset 16 MemberDecorate 28(Buffers) 2 Offset 32 MemberDecorate 28(Buffers) 3 Offset 64 - Decorate 28(Buffers) Block - Decorate 31(data) DescriptorSet 0 Decorate 31(data) Binding 0 + Decorate 31(data) DescriptorSet 0 Decorate 2806 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupQuad.comp.out b/Test/baseResults/spv.subgroupQuad.comp.out index b418148c..cc5a1e38 100644 --- a/Test/baseResults/spv.subgroupQuad.comp.out +++ b/Test/baseResults/spv.subgroupQuad.comp.out @@ -32,13 +32,13 @@ spv.subgroupQuad.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 24(Buffers) Block MemberDecorate 24(Buffers) 0 Offset 0 MemberDecorate 24(Buffers) 1 Offset 16 MemberDecorate 24(Buffers) 2 Offset 32 MemberDecorate 24(Buffers) 3 Offset 64 - Decorate 24(Buffers) Block - Decorate 27(data) DescriptorSet 0 Decorate 27(data) Binding 0 + Decorate 27(data) DescriptorSet 0 Decorate 695 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupRotate.comp.out b/Test/baseResults/spv.subgroupRotate.comp.out index 9c87ba63..147b37fb 100644 --- a/Test/baseResults/spv.subgroupRotate.comp.out +++ b/Test/baseResults/spv.subgroupRotate.comp.out @@ -24,18 +24,19 @@ spv.subgroupRotate.comp MemberName 23(Buffers) 2 "u4" MemberName 23(Buffers) 3 "d4" Name 27 "data" + Decorate 9(roblock) Block MemberDecorate 9(roblock) 0 NonWritable MemberDecorate 9(roblock) 0 Offset 0 - Decorate 9(roblock) Block - Decorate 11(ro) DescriptorSet 0 + Decorate 11(ro) NonWritable Decorate 11(ro) Binding 1 + Decorate 11(ro) DescriptorSet 0 + Decorate 23(Buffers) Block MemberDecorate 23(Buffers) 0 Offset 0 MemberDecorate 23(Buffers) 1 Offset 16 MemberDecorate 23(Buffers) 2 Offset 32 MemberDecorate 23(Buffers) 3 Offset 64 - Decorate 23(Buffers) Block - Decorate 27(data) DescriptorSet 0 Decorate 27(data) Binding 0 + Decorate 27(data) DescriptorSet 0 Decorate 417 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupShuffle.comp.out b/Test/baseResults/spv.subgroupShuffle.comp.out index d54e8ae9..d87039b2 100644 --- a/Test/baseResults/spv.subgroupShuffle.comp.out +++ b/Test/baseResults/spv.subgroupShuffle.comp.out @@ -32,13 +32,13 @@ spv.subgroupShuffle.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 24(Buffers) Block MemberDecorate 24(Buffers) 0 Offset 0 MemberDecorate 24(Buffers) 1 Offset 16 MemberDecorate 24(Buffers) 2 Offset 32 MemberDecorate 24(Buffers) 3 Offset 64 - Decorate 24(Buffers) Block - Decorate 27(data) DescriptorSet 0 Decorate 27(data) Binding 0 + Decorate 27(data) DescriptorSet 0 Decorate 419 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupShuffleRelative.comp.out b/Test/baseResults/spv.subgroupShuffleRelative.comp.out index 6bae808f..b0e8a0d4 100644 --- a/Test/baseResults/spv.subgroupShuffleRelative.comp.out +++ b/Test/baseResults/spv.subgroupShuffleRelative.comp.out @@ -32,13 +32,13 @@ spv.subgroupShuffleRelative.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 24(Buffers) Block MemberDecorate 24(Buffers) 0 Offset 0 MemberDecorate 24(Buffers) 1 Offset 16 MemberDecorate 24(Buffers) 2 Offset 32 MemberDecorate 24(Buffers) 3 Offset 64 - Decorate 24(Buffers) Block - Decorate 27(data) DescriptorSet 0 Decorate 27(data) Binding 0 + Decorate 27(data) DescriptorSet 0 Decorate 419 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subgroupSizeARB.frag.out b/Test/baseResults/spv.subgroupSizeARB.frag.out index 5eeb0c09..f1befa4d 100644 --- a/Test/baseResults/spv.subgroupSizeARB.frag.out +++ b/Test/baseResults/spv.subgroupSizeARB.frag.out @@ -17,8 +17,8 @@ spv.subgroupSizeARB.frag Name 8 "result" Name 10 "gl_SubGroupSizeARB" Decorate 8(result) Location 0 - Decorate 10(gl_SubGroupSizeARB) Flat Decorate 10(gl_SubGroupSizeARB) BuiltIn SubgroupSize + Decorate 10(gl_SubGroupSizeARB) Flat 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.subgroupVote.comp.out b/Test/baseResults/spv.subgroupVote.comp.out index fa0a01fb..f49dcbe8 100644 --- a/Test/baseResults/spv.subgroupVote.comp.out +++ b/Test/baseResults/spv.subgroupVote.comp.out @@ -33,14 +33,14 @@ spv.subgroupVote.comp Decorate 13 RelaxedPrecision Decorate 14 RelaxedPrecision Decorate 16 RelaxedPrecision + Decorate 24(Buffers) Block MemberDecorate 24(Buffers) 0 Offset 0 MemberDecorate 24(Buffers) 1 Offset 16 MemberDecorate 24(Buffers) 2 Offset 32 MemberDecorate 24(Buffers) 3 Offset 64 MemberDecorate 24(Buffers) 4 Offset 96 - Decorate 24(Buffers) Block - Decorate 27(data) DescriptorSet 0 Decorate 27(data) Binding 0 + Decorate 27(data) DescriptorSet 0 Decorate 215 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.subpass.frag.out b/Test/baseResults/spv.subpass.frag.out index bf49b08d..27b4d6b5 100644 --- a/Test/baseResults/spv.subpass.frag.out +++ b/Test/baseResults/spv.subpass.frag.out @@ -24,24 +24,24 @@ spv.subpass.frag Name 61 "usubMS" Decorate 15(icolor) Location 1 Decorate 27(color) Location 0 - Decorate 30(sub) DescriptorSet 0 Decorate 30(sub) Binding 0 + Decorate 30(sub) DescriptorSet 0 Decorate 30(sub) InputAttachmentIndex 1 - Decorate 35(subMS) DescriptorSet 0 Decorate 35(subMS) Binding 1 + Decorate 35(subMS) DescriptorSet 0 Decorate 35(subMS) InputAttachmentIndex 2 - Decorate 42(isub) DescriptorSet 0 Decorate 42(isub) Binding 2 + Decorate 42(isub) DescriptorSet 0 Decorate 42(isub) InputAttachmentIndex 3 - Decorate 45(isubMS) DescriptorSet 0 Decorate 45(isubMS) Binding 3 + Decorate 45(isubMS) DescriptorSet 0 Decorate 45(isubMS) InputAttachmentIndex 4 Decorate 53(ucolor) Location 2 - Decorate 56(usub) DescriptorSet 0 Decorate 56(usub) Binding 4 + Decorate 56(usub) DescriptorSet 0 Decorate 56(usub) InputAttachmentIndex 5 - Decorate 61(usubMS) DescriptorSet 0 Decorate 61(usubMS) Binding 5 + Decorate 61(usubMS) DescriptorSet 0 Decorate 61(usubMS) InputAttachmentIndex 6 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.switch.frag.out b/Test/baseResults/spv.switch.frag.out index 4e7db4df..bacf87ec 100644 --- a/Test/baseResults/spv.switch.frag.out +++ b/Test/baseResults/spv.switch.frag.out @@ -37,14 +37,14 @@ WARNING: 0:139: 'switch' : last case/default label not followed by statements Name 246 "param" Name 248 "param" Name 250 "param" - Decorate 15(foo1(vf4;vf4;i1;) RelaxedPrecision Decorate 12(v1) RelaxedPrecision Decorate 13(v2) RelaxedPrecision Decorate 14(i1) RelaxedPrecision - Decorate 20(foo2(vf4;vf4;i1;) RelaxedPrecision + Decorate 15(foo1(vf4;vf4;i1;) RelaxedPrecision Decorate 17(v1) RelaxedPrecision Decorate 18(v2) RelaxedPrecision Decorate 19(i1) RelaxedPrecision + Decorate 20(foo2(vf4;vf4;i1;) RelaxedPrecision Decorate 22 RelaxedPrecision Decorate 27 RelaxedPrecision Decorate 29 RelaxedPrecision diff --git a/Test/baseResults/spv.terminate.frag.out b/Test/baseResults/spv.terminate.frag.out old mode 100755 new mode 100644 diff --git a/Test/baseResults/spv.test.frag.out b/Test/baseResults/spv.test.frag.out index c5d63845..e883c032 100644 --- a/Test/baseResults/spv.test.frag.out +++ b/Test/baseResults/spv.test.frag.out @@ -21,12 +21,12 @@ spv.test.frag Name 43 "gl_FragColor" Name 46 "u" Name 49 "blend" - Decorate 16(texSampler2D) DescriptorSet 0 Decorate 16(texSampler2D) Binding 0 + Decorate 16(texSampler2D) DescriptorSet 0 Decorate 20(t) Location 3 Decorate 22(scale) Location 1 - Decorate 33(texSampler3D) DescriptorSet 0 Decorate 33(texSampler3D) Binding 1 + Decorate 33(texSampler3D) DescriptorSet 0 Decorate 37(coords) Location 4 Decorate 43(gl_FragColor) Location 0 Decorate 46(u) Location 2 diff --git a/Test/baseResults/spv.texture.frag.out b/Test/baseResults/spv.texture.frag.out index dc1970a9..4c0f5f94 100644 --- a/Test/baseResults/spv.texture.frag.out +++ b/Test/baseResults/spv.texture.frag.out @@ -39,19 +39,19 @@ WARNING: 0:12: varying deprecated in version 130; may be removed in future relea Name 297 "blend" Name 303 "scale" Name 304 "t" - Decorate 32(texSampler1D) DescriptorSet 0 Decorate 32(texSampler1D) Binding 0 + Decorate 32(texSampler1D) DescriptorSet 0 Decorate 47(coords2D) Location 4 - Decorate 76(texSampler2D) DescriptorSet 0 Decorate 76(texSampler2D) Binding 1 - Decorate 104(texSampler3D) DescriptorSet 0 + Decorate 76(texSampler2D) DescriptorSet 0 Decorate 104(texSampler3D) Binding 2 - Decorate 130(texSamplerCube) DescriptorSet 0 + Decorate 104(texSampler3D) DescriptorSet 0 Decorate 130(texSamplerCube) Binding 3 - Decorate 145(shadowSampler1D) DescriptorSet 0 + Decorate 130(texSamplerCube) DescriptorSet 0 Decorate 145(shadowSampler1D) Binding 4 - Decorate 164(shadowSampler2D) DescriptorSet 0 + Decorate 145(shadowSampler1D) DescriptorSet 0 Decorate 164(shadowSampler2D) Binding 5 + Decorate 164(shadowSampler2D) DescriptorSet 0 Decorate 291(gl_FragColor) Location 0 Decorate 294(u) Location 2 Decorate 297(blend) Location 0 diff --git a/Test/baseResults/spv.texture.sampler.transform.frag.out b/Test/baseResults/spv.texture.sampler.transform.frag.out index 4e9534e7..b2fe8230 100644 --- a/Test/baseResults/spv.texture.sampler.transform.frag.out +++ b/Test/baseResults/spv.texture.sampler.transform.frag.out @@ -14,8 +14,8 @@ spv.texture.sampler.transform.frag Name 13 "tex" Name 17 "coord" Decorate 9(color) Location 0 - Decorate 13(tex) DescriptorSet 0 Decorate 13(tex) Binding 0 + Decorate 13(tex) DescriptorSet 0 Decorate 17(coord) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.texture.vert.out b/Test/baseResults/spv.texture.vert.out index 35053f38..701cacda 100644 --- a/Test/baseResults/spv.texture.vert.out +++ b/Test/baseResults/spv.texture.vert.out @@ -23,19 +23,19 @@ spv.texture.vert Name 106 "shadowSampler1D" Name 118 "shadowSampler2D" Name 148 "gl_Position" - Decorate 29(texSampler1D) DescriptorSet 0 Decorate 29(texSampler1D) Binding 0 + Decorate 29(texSampler1D) DescriptorSet 0 Decorate 39(coords2D) Location 0 - Decorate 56(texSampler2D) DescriptorSet 0 Decorate 56(texSampler2D) Binding 1 - Decorate 80(texSampler3D) DescriptorSet 0 + Decorate 56(texSampler2D) DescriptorSet 0 Decorate 80(texSampler3D) Binding 2 - Decorate 96(texSamplerCube) DescriptorSet 0 + Decorate 80(texSampler3D) DescriptorSet 0 Decorate 96(texSamplerCube) Binding 3 - Decorate 106(shadowSampler1D) DescriptorSet 0 + Decorate 96(texSamplerCube) DescriptorSet 0 Decorate 106(shadowSampler1D) Binding 4 - Decorate 118(shadowSampler2D) DescriptorSet 0 + Decorate 106(shadowSampler1D) DescriptorSet 0 Decorate 118(shadowSampler2D) Binding 5 + Decorate 118(shadowSampler2D) DescriptorSet 0 Decorate 148(gl_Position) BuiltIn Position 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.textureBuffer.vert.out b/Test/baseResults/spv.textureBuffer.vert.out index f5b271f6..6cd40d2a 100644 --- a/Test/baseResults/spv.textureBuffer.vert.out +++ b/Test/baseResults/spv.textureBuffer.vert.out @@ -15,16 +15,16 @@ spv.textureBuffer.vert Name 23 "sBuf" Name 32 "utBuf" Name 38 "itBuf" - Decorate 9(tBuf) DescriptorSet 0 Decorate 9(tBuf) Binding 0 - Decorate 13(s) DescriptorSet 0 + Decorate 9(tBuf) DescriptorSet 0 Decorate 13(s) Binding 1 - Decorate 23(sBuf) DescriptorSet 0 + Decorate 13(s) DescriptorSet 0 Decorate 23(sBuf) Binding 2 - Decorate 32(utBuf) DescriptorSet 0 + Decorate 23(sBuf) DescriptorSet 0 Decorate 32(utBuf) Binding 3 - Decorate 38(itBuf) DescriptorSet 0 + Decorate 32(utBuf) DescriptorSet 0 Decorate 38(itBuf) Binding 4 + Decorate 38(itBuf) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.textureGatherBiasLod.frag.out b/Test/baseResults/spv.textureGatherBiasLod.frag.out index f47e16a7..9fd195f5 100644 --- a/Test/baseResults/spv.textureGatherBiasLod.frag.out +++ b/Test/baseResults/spv.textureGatherBiasLod.frag.out @@ -30,17 +30,17 @@ spv.textureGatherBiasLod.frag Name 104 "ResType" Name 176 "lod" Name 296 "fragColor" - Decorate 16(s2D) DescriptorSet 0 Decorate 16(s2D) Binding 0 + Decorate 16(s2D) DescriptorSet 0 Decorate 20(c2) Location 0 Decorate 25(bias) Location 4 - Decorate 33(s2DArray) DescriptorSet 0 Decorate 33(s2DArray) Binding 1 + Decorate 33(s2DArray) DescriptorSet 0 Decorate 37(c3) Location 1 - Decorate 47(sCube) DescriptorSet 0 Decorate 47(sCube) Binding 2 - Decorate 58(sCubeArray) DescriptorSet 0 + Decorate 47(sCube) DescriptorSet 0 Decorate 58(sCubeArray) Binding 3 + Decorate 58(sCubeArray) DescriptorSet 0 Decorate 61(c4) Location 2 Decorate 176(lod) Location 3 Decorate 296(fragColor) Location 0 diff --git a/Test/baseResults/spv.tpipBlockMatchGatherSAD.frag.out b/Test/baseResults/spv.tpipBlockMatchGatherSAD.frag.out index 6a543b3c..63e4e15c 100644 --- a/Test/baseResults/spv.tpipBlockMatchGatherSAD.frag.out +++ b/Test/baseResults/spv.tpipBlockMatchGatherSAD.frag.out @@ -29,22 +29,22 @@ spv.tpipBlockMatchGatherSAD.frag Name 71 "tex2DArray_weights" Decorate 13(v_texcoord) Location 0 Decorate 41(fragColor) Location 0 - Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) Binding 1 - Decorate 48(samp) DescriptorSet 0 - Decorate 48(samp) Binding 3 - Decorate 53(tex2D_src2) DescriptorSet 0 - Decorate 53(tex2D_src2) Binding 2 + Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) DecorationBlockMatchTextureQCOM + Decorate 48(samp) Binding 3 + Decorate 48(samp) DescriptorSet 0 + Decorate 53(tex2D_src2) Binding 2 + Decorate 53(tex2D_src2) DescriptorSet 0 Decorate 53(tex2D_src2) DecorationBlockMatchTextureQCOM - Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) Binding 4 - Decorate 64(ref_samp) DescriptorSet 0 - Decorate 64(ref_samp) Binding 5 + Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) DecorationBlockMatchTextureQCOM + Decorate 64(ref_samp) Binding 5 + Decorate 64(ref_samp) DescriptorSet 0 Decorate 64(ref_samp) DecorationBlockMatchTextureQCOM - Decorate 71(tex2DArray_weights) DescriptorSet 0 Decorate 71(tex2DArray_weights) Binding 0 + Decorate 71(tex2DArray_weights) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.tpipBlockMatchGatherSSD.frag.out b/Test/baseResults/spv.tpipBlockMatchGatherSSD.frag.out index 74479c1b..f5aa4cb8 100644 --- a/Test/baseResults/spv.tpipBlockMatchGatherSSD.frag.out +++ b/Test/baseResults/spv.tpipBlockMatchGatherSSD.frag.out @@ -29,22 +29,22 @@ spv.tpipBlockMatchGatherSSD.frag Name 71 "tex2DArray_weights" Decorate 13(v_texcoord) Location 0 Decorate 41(fragColor) Location 0 - Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) Binding 1 - Decorate 48(samp) DescriptorSet 0 - Decorate 48(samp) Binding 3 - Decorate 53(tex2D_src2) DescriptorSet 0 - Decorate 53(tex2D_src2) Binding 2 + Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) DecorationBlockMatchTextureQCOM + Decorate 48(samp) Binding 3 + Decorate 48(samp) DescriptorSet 0 + Decorate 53(tex2D_src2) Binding 2 + Decorate 53(tex2D_src2) DescriptorSet 0 Decorate 53(tex2D_src2) DecorationBlockMatchTextureQCOM - Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) Binding 4 - Decorate 64(ref_samp) DescriptorSet 0 - Decorate 64(ref_samp) Binding 5 + Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) DecorationBlockMatchTextureQCOM + Decorate 64(ref_samp) Binding 5 + Decorate 64(ref_samp) DescriptorSet 0 Decorate 64(ref_samp) DecorationBlockMatchTextureQCOM - Decorate 71(tex2DArray_weights) DescriptorSet 0 Decorate 71(tex2DArray_weights) Binding 0 + Decorate 71(tex2DArray_weights) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.tpipBlockMatchSAD.frag.out b/Test/baseResults/spv.tpipBlockMatchSAD.frag.out index a807d923..eb5f4744 100644 --- a/Test/baseResults/spv.tpipBlockMatchSAD.frag.out +++ b/Test/baseResults/spv.tpipBlockMatchSAD.frag.out @@ -26,22 +26,22 @@ spv.tpipBlockMatchSAD.frag Name 71 "tex2DArray_weights" Decorate 13(v_texcoord) Location 0 Decorate 41(fragColor) Location 0 - Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) Binding 1 - Decorate 48(samp) DescriptorSet 0 - Decorate 48(samp) Binding 3 - Decorate 53(tex2D_src2) DescriptorSet 0 - Decorate 53(tex2D_src2) Binding 2 + Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) DecorationBlockMatchTextureQCOM + Decorate 48(samp) Binding 3 + Decorate 48(samp) DescriptorSet 0 + Decorate 53(tex2D_src2) Binding 2 + Decorate 53(tex2D_src2) DescriptorSet 0 Decorate 53(tex2D_src2) DecorationBlockMatchTextureQCOM - Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) Binding 4 - Decorate 64(ref_samp) DescriptorSet 0 - Decorate 64(ref_samp) Binding 5 + Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) DecorationBlockMatchTextureQCOM + Decorate 64(ref_samp) Binding 5 + Decorate 64(ref_samp) DescriptorSet 0 Decorate 64(ref_samp) DecorationBlockMatchTextureQCOM - Decorate 71(tex2DArray_weights) DescriptorSet 0 Decorate 71(tex2DArray_weights) Binding 0 + Decorate 71(tex2DArray_weights) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.tpipBlockMatchSSD.frag.out b/Test/baseResults/spv.tpipBlockMatchSSD.frag.out index e7ac73b6..d758c0b1 100644 --- a/Test/baseResults/spv.tpipBlockMatchSSD.frag.out +++ b/Test/baseResults/spv.tpipBlockMatchSSD.frag.out @@ -26,22 +26,22 @@ spv.tpipBlockMatchSSD.frag Name 71 "tex2DArray_weights" Decorate 13(v_texcoord) Location 0 Decorate 41(fragColor) Location 0 - Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) Binding 1 - Decorate 48(samp) DescriptorSet 0 - Decorate 48(samp) Binding 3 - Decorate 53(tex2D_src2) DescriptorSet 0 - Decorate 53(tex2D_src2) Binding 2 + Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) DecorationBlockMatchTextureQCOM + Decorate 48(samp) Binding 3 + Decorate 48(samp) DescriptorSet 0 + Decorate 53(tex2D_src2) Binding 2 + Decorate 53(tex2D_src2) DescriptorSet 0 Decorate 53(tex2D_src2) DecorationBlockMatchTextureQCOM - Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) Binding 4 - Decorate 64(ref_samp) DescriptorSet 0 - Decorate 64(ref_samp) Binding 5 + Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) DecorationBlockMatchTextureQCOM + Decorate 64(ref_samp) Binding 5 + Decorate 64(ref_samp) DescriptorSet 0 Decorate 64(ref_samp) DecorationBlockMatchTextureQCOM - Decorate 71(tex2DArray_weights) DescriptorSet 0 Decorate 71(tex2DArray_weights) Binding 0 + Decorate 71(tex2DArray_weights) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.tpipBlockMatchWindowSAD.frag.out b/Test/baseResults/spv.tpipBlockMatchWindowSAD.frag.out index cd20d771..a27c016f 100644 --- a/Test/baseResults/spv.tpipBlockMatchWindowSAD.frag.out +++ b/Test/baseResults/spv.tpipBlockMatchWindowSAD.frag.out @@ -29,25 +29,25 @@ spv.tpipBlockMatchWindowSAD.frag Name 71 "tex2DArray_weights" Decorate 13(v_texcoord) Location 0 Decorate 41(fragColor) Location 0 - Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) Binding 1 - Decorate 48(samp) DescriptorSet 0 - Decorate 48(samp) Binding 3 - Decorate 53(tex2D_src2) DescriptorSet 0 - Decorate 53(tex2D_src2) Binding 2 + Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) DecorationBlockMatchTextureQCOM + Decorate 48(samp) Binding 3 + Decorate 48(samp) DescriptorSet 0 Decorate 48(samp) DecorationBlockMatchSamplerQCOM + Decorate 53(tex2D_src2) Binding 2 + Decorate 53(tex2D_src2) DescriptorSet 0 Decorate 53(tex2D_src2) DecorationBlockMatchTextureQCOM - Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) Binding 4 - Decorate 64(ref_samp) DescriptorSet 0 - Decorate 64(ref_samp) Binding 5 + Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) DecorationBlockMatchTextureQCOM Decorate 61(target_samp) DecorationBlockMatchSamplerQCOM + Decorate 64(ref_samp) Binding 5 + Decorate 64(ref_samp) DescriptorSet 0 Decorate 64(ref_samp) DecorationBlockMatchTextureQCOM Decorate 64(ref_samp) DecorationBlockMatchSamplerQCOM - Decorate 71(tex2DArray_weights) DescriptorSet 0 Decorate 71(tex2DArray_weights) Binding 0 + Decorate 71(tex2DArray_weights) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.tpipBlockMatchWindowSSD.frag.out b/Test/baseResults/spv.tpipBlockMatchWindowSSD.frag.out index 797ecd74..e22097ff 100644 --- a/Test/baseResults/spv.tpipBlockMatchWindowSSD.frag.out +++ b/Test/baseResults/spv.tpipBlockMatchWindowSSD.frag.out @@ -29,25 +29,25 @@ spv.tpipBlockMatchWindowSSD.frag Name 71 "tex2DArray_weights" Decorate 13(v_texcoord) Location 0 Decorate 41(fragColor) Location 0 - Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) Binding 1 - Decorate 48(samp) DescriptorSet 0 - Decorate 48(samp) Binding 3 - Decorate 53(tex2D_src2) DescriptorSet 0 - Decorate 53(tex2D_src2) Binding 2 + Decorate 44(tex2D_src1) DescriptorSet 0 Decorate 44(tex2D_src1) DecorationBlockMatchTextureQCOM + Decorate 48(samp) Binding 3 + Decorate 48(samp) DescriptorSet 0 Decorate 48(samp) DecorationBlockMatchSamplerQCOM + Decorate 53(tex2D_src2) Binding 2 + Decorate 53(tex2D_src2) DescriptorSet 0 Decorate 53(tex2D_src2) DecorationBlockMatchTextureQCOM - Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) Binding 4 - Decorate 64(ref_samp) DescriptorSet 0 - Decorate 64(ref_samp) Binding 5 + Decorate 61(target_samp) DescriptorSet 0 Decorate 61(target_samp) DecorationBlockMatchTextureQCOM Decorate 61(target_samp) DecorationBlockMatchSamplerQCOM + Decorate 64(ref_samp) Binding 5 + Decorate 64(ref_samp) DescriptorSet 0 Decorate 64(ref_samp) DecorationBlockMatchTextureQCOM Decorate 64(ref_samp) DecorationBlockMatchSamplerQCOM - Decorate 71(tex2DArray_weights) DescriptorSet 0 Decorate 71(tex2DArray_weights) Binding 0 + Decorate 71(tex2DArray_weights) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.tpipBoxFilter.frag.out b/Test/baseResults/spv.tpipBoxFilter.frag.out index 5620a816..46d802c4 100644 --- a/Test/baseResults/spv.tpipBoxFilter.frag.out +++ b/Test/baseResults/spv.tpipBoxFilter.frag.out @@ -22,17 +22,17 @@ spv.tpipBoxFilter.frag Name 41 "tex2DArray_weights" Name 42 "tex2D_src2" Decorate 15(fragColor) Location 0 - Decorate 18(tex2D_src1) DescriptorSet 0 Decorate 18(tex2D_src1) Binding 1 - Decorate 22(samp) DescriptorSet 0 + Decorate 18(tex2D_src1) DescriptorSet 0 Decorate 22(samp) Binding 3 + Decorate 22(samp) DescriptorSet 0 Decorate 27(v_texcoord) Location 0 - Decorate 33(tex_samp) DescriptorSet 0 Decorate 33(tex_samp) Binding 4 - Decorate 41(tex2DArray_weights) DescriptorSet 0 + Decorate 33(tex_samp) DescriptorSet 0 Decorate 41(tex2DArray_weights) Binding 0 - Decorate 42(tex2D_src2) DescriptorSet 0 + Decorate 41(tex2DArray_weights) DescriptorSet 0 Decorate 42(tex2D_src2) Binding 2 + Decorate 42(tex2D_src2) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.tpipSampleWeighted.frag.out b/Test/baseResults/spv.tpipSampleWeighted.frag.out index bf108742..652143c7 100644 --- a/Test/baseResults/spv.tpipSampleWeighted.frag.out +++ b/Test/baseResults/spv.tpipSampleWeighted.frag.out @@ -22,21 +22,21 @@ spv.tpipSampleWeighted.frag Name 39 "tex_samp_array" Name 42 "tex2D_src2" Decorate 9(fragColor) Location 0 - Decorate 12(tex2D_src1) DescriptorSet 0 Decorate 12(tex2D_src1) Binding 1 - Decorate 16(samp) DescriptorSet 0 + Decorate 12(tex2D_src1) DescriptorSet 0 Decorate 16(samp) Binding 3 + Decorate 16(samp) DescriptorSet 0 Decorate 21(v_texcoord) Location 0 - Decorate 27(tex2DArray_weights) DescriptorSet 0 Decorate 27(tex2DArray_weights) Binding 0 + Decorate 27(tex2DArray_weights) DescriptorSet 0 Decorate 27(tex2DArray_weights) DecorationWeightTextureQCOM - Decorate 34(tex_samp) DescriptorSet 0 Decorate 34(tex_samp) Binding 4 - Decorate 39(tex_samp_array) DescriptorSet 0 + Decorate 34(tex_samp) DescriptorSet 0 Decorate 39(tex_samp_array) Binding 5 + Decorate 39(tex_samp_array) DescriptorSet 0 Decorate 39(tex_samp_array) DecorationWeightTextureQCOM - Decorate 42(tex2D_src2) DescriptorSet 0 Decorate 42(tex2D_src2) Binding 2 + Decorate 42(tex2D_src2) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.tpipTextureArrays.frag.out b/Test/baseResults/spv.tpipTextureArrays.frag.out index 28b63f57..cb5a62ad 100644 --- a/Test/baseResults/spv.tpipTextureArrays.frag.out +++ b/Test/baseResults/spv.tpipTextureArrays.frag.out @@ -24,14 +24,14 @@ spv.tpipTextureArrays.frag Name 67 "samp" Decorate 13(v_texcoord) Location 0 Decorate 46(fragColor) Location 0 - Decorate 51(samplers) DescriptorSet 0 Decorate 51(samplers) Binding 5 - Decorate 60(tex2D_srcs) DescriptorSet 0 - Decorate 60(tex2D_srcs) Binding 4 - Decorate 67(samp) DescriptorSet 0 - Decorate 67(samp) Binding 3 + Decorate 51(samplers) DescriptorSet 0 Decorate 55 DecorationBlockMatchTextureQCOM + Decorate 60(tex2D_srcs) Binding 4 + Decorate 60(tex2D_srcs) DescriptorSet 0 Decorate 63 DecorationBlockMatchTextureQCOM + Decorate 67(samp) Binding 3 + Decorate 67(samp) DescriptorSet 0 Decorate 74 DecorationBlockMatchTextureQCOM Decorate 79 DecorationBlockMatchTextureQCOM 2: TypeVoid diff --git a/Test/baseResults/spv.uint.frag.out b/Test/baseResults/spv.uint.frag.out index a78acae4..8a8f9980 100644 --- a/Test/baseResults/spv.uint.frag.out +++ b/Test/baseResults/spv.uint.frag.out @@ -59,8 +59,8 @@ spv.uint.frag Decorate 68(c) RelaxedPrecision Decorate 68(c) Location 0 Decorate 72(usampler) RelaxedPrecision - Decorate 72(usampler) DescriptorSet 0 Decorate 72(usampler) Binding 0 + Decorate 72(usampler) DescriptorSet 0 Decorate 73 RelaxedPrecision Decorate 77(tc) RelaxedPrecision Decorate 77(tc) Location 2 diff --git a/Test/baseResults/spv.uniformArray.frag.out b/Test/baseResults/spv.uniformArray.frag.out index 09cd3532..26e066a6 100644 --- a/Test/baseResults/spv.uniformArray.frag.out +++ b/Test/baseResults/spv.uniformArray.frag.out @@ -20,8 +20,8 @@ spv.uniformArray.frag Decorate 25(inColor) Location 0 Decorate 43(alpha) Location 7 Decorate 54(gl_FragColor) Location 0 - Decorate 59(texSampler2D) DescriptorSet 0 Decorate 59(texSampler2D) Binding 0 + Decorate 59(texSampler2D) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.uniformInitializer.frag.out b/Test/baseResults/spv.uniformInitializer.frag.out index abebf625..da32af55 100644 --- a/Test/baseResults/spv.uniformInitializer.frag.out +++ b/Test/baseResults/spv.uniformInitializer.frag.out @@ -14,8 +14,8 @@ spv.uniformInitializer.frag Name 14 "in_color" Decorate 9(color) Location 0 Decorate 14(in_color) Location 0 - Decorate 14(in_color) DescriptorSet 0 Decorate 14(in_color) Binding 0 + Decorate 14(in_color) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.uniformInitializerStruct.frag.out b/Test/baseResults/spv.uniformInitializerStruct.frag.out index 058bc34f..7b0f7334 100644 --- a/Test/baseResults/spv.uniformInitializerStruct.frag.out +++ b/Test/baseResults/spv.uniformInitializerStruct.frag.out @@ -19,8 +19,8 @@ spv.uniformInitializerStruct.frag Name 34 "parts" Decorate 9(color) Location 0 Decorate 34(parts) Location 0 - Decorate 34(parts) DescriptorSet 0 Decorate 34(parts) Binding 0 + Decorate 34(parts) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.variableArrayIndex.frag.out b/Test/baseResults/spv.variableArrayIndex.frag.out index f78119c2..ee2c1c6b 100644 --- a/Test/baseResults/spv.variableArrayIndex.frag.out +++ b/Test/baseResults/spv.variableArrayIndex.frag.out @@ -41,8 +41,8 @@ spv.variableArrayIndex.frag Decorate 36(foo) Flat Decorate 36(foo) Location 1 Decorate 54(gl_FragColor) Location 0 - Decorate 59(samp2D) DescriptorSet 0 Decorate 59(samp2D) Binding 0 + Decorate 59(samp2D) DescriptorSet 0 Decorate 63(coord) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/spv.varyingArray.frag.out b/Test/baseResults/spv.varyingArray.frag.out index 9d001bc0..d97b7f72 100644 --- a/Test/baseResults/spv.varyingArray.frag.out +++ b/Test/baseResults/spv.varyingArray.frag.out @@ -17,8 +17,8 @@ spv.varyingArray.frag Name 39 "alpha" Name 45 "gl_FragColor" Name 48 "foo" - Decorate 13(texSampler2D) DescriptorSet 0 Decorate 13(texSampler2D) Binding 0 + Decorate 13(texSampler2D) DescriptorSet 0 Decorate 19(TexCoord) Location 2 Decorate 34(color) Location 0 Decorate 39(alpha) Location 1 diff --git a/Test/baseResults/spv.varyingArrayIndirect.frag.out b/Test/baseResults/spv.varyingArrayIndirect.frag.out index 00135f6e..7a44c8f9 100644 --- a/Test/baseResults/spv.varyingArrayIndirect.frag.out +++ b/Test/baseResults/spv.varyingArrayIndirect.frag.out @@ -19,8 +19,8 @@ spv.varyingArrayIndirect.frag Name 45 "color" Name 50 "alpha" Name 56 "gl_FragColor" - Decorate 13(texSampler2D) DescriptorSet 0 Decorate 13(texSampler2D) Binding 0 + Decorate 13(texSampler2D) DescriptorSet 0 Decorate 19(userIn) Location 8 Decorate 22(b) Flat Decorate 22(b) Location 11 diff --git a/Test/baseResults/spv.viewportArray2.tesc.out b/Test/baseResults/spv.viewportArray2.tesc.out index f719a97e..16e1686a 100644 --- a/Test/baseResults/spv.viewportArray2.tesc.out +++ b/Test/baseResults/spv.viewportArray2.tesc.out @@ -20,8 +20,8 @@ spv.viewportArray2.tesc Name 14 "gl_out" Name 16 "gl_InvocationID" Name 22 "gl_Layer" - MemberDecorate 10(gl_PerVertex) 0 BuiltIn ViewportMaskNV Decorate 10(gl_PerVertex) Block + MemberDecorate 10(gl_PerVertex) 0 BuiltIn ViewportMaskNV Decorate 16(gl_InvocationID) BuiltIn InvocationId Decorate 22(gl_Layer) BuiltIn Layer Decorate 22(gl_Layer) ViewportRelativeNV diff --git a/Test/baseResults/spv.volatileAtomic.comp.out b/Test/baseResults/spv.volatileAtomic.comp.out index 53673d35..29462a13 100644 --- a/Test/baseResults/spv.volatileAtomic.comp.out +++ b/Test/baseResults/spv.volatileAtomic.comp.out @@ -14,12 +14,14 @@ spv.volatileAtomic.comp MemberName 8(D) 0 "d" Name 10 "d" Decorate 7 ArrayStride 4 + Decorate 8(D) BufferBlock MemberDecorate 8(D) 0 Volatile MemberDecorate 8(D) 0 Coherent MemberDecorate 8(D) 0 Offset 0 - Decorate 8(D) BufferBlock - Decorate 10(d) DescriptorSet 0 + Decorate 10(d) Volatile + Decorate 10(d) Coherent Decorate 10(d) Binding 3 + Decorate 10(d) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/spv.vulkan110.int16.frag.out b/Test/baseResults/spv.vulkan110.int16.frag.out index d5c83d52..4e435dfd 100644 --- a/Test/baseResults/spv.vulkan110.int16.frag.out +++ b/Test/baseResults/spv.vulkan110.int16.frag.out @@ -77,10 +77,11 @@ spv.vulkan110.int16.frag Name 532 "block" Name 533 "si16" Name 534 "su16" - MemberDecorate 24(Uniforms) 0 Offset 0 Decorate 24(Uniforms) Block - Decorate 26 DescriptorSet 0 + MemberDecorate 24(Uniforms) 0 Offset 0 Decorate 26 Binding 0 + Decorate 26 DescriptorSet 0 + Decorate 530(Block) Block MemberDecorate 530(Block) 0 Offset 0 MemberDecorate 530(Block) 1 Offset 4 MemberDecorate 530(Block) 2 Offset 8 @@ -89,9 +90,8 @@ spv.vulkan110.int16.frag 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 532(block) DescriptorSet 0 Decorate 533(si16) SpecId 100 Decorate 534(su16) SpecId 101 2: TypeVoid diff --git a/Test/baseResults/spv.vulkan110.storageBuffer.vert.out b/Test/baseResults/spv.vulkan110.storageBuffer.vert.out index ab88c581..c9231ea0 100644 --- a/Test/baseResults/spv.vulkan110.storageBuffer.vert.out +++ b/Test/baseResults/spv.vulkan110.storageBuffer.vert.out @@ -21,19 +21,19 @@ spv.vulkan110.storageBuffer.vert Name 22 "bb" MemberName 22(bb) 0 "b" Name 24 "bbi" + Decorate 11(gl_PerVertex) Block MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 11(gl_PerVertex) Block - MemberDecorate 16(ub) 0 Offset 0 Decorate 16(ub) Block - Decorate 18(ubi) DescriptorSet 0 + MemberDecorate 16(ub) 0 Offset 0 Decorate 18(ubi) Binding 0 - MemberDecorate 22(bb) 0 Offset 0 + Decorate 18(ubi) DescriptorSet 0 Decorate 22(bb) Block - Decorate 24(bbi) DescriptorSet 0 + MemberDecorate 22(bb) 0 Offset 0 Decorate 24(bbi) Binding 1 + Decorate 24(bbi) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.xfb.vert.out b/Test/baseResults/spv.xfb.vert.out index 4283e200..e76e6b35 100644 --- a/Test/baseResults/spv.xfb.vert.out +++ b/Test/baseResults/spv.xfb.vert.out @@ -20,23 +20,23 @@ spv.xfb.vert Name 14 "" Name 15 "out4" Decorate 8(out1) Location 0 + Decorate 8(out1) Offset 12 Decorate 8(out1) XfbBuffer 3 Decorate 8(out1) XfbStride 48 - Decorate 8(out1) Offset 12 - MemberDecorate 9(outXfb) 0 Offset 8 Decorate 9(outXfb) Block + MemberDecorate 9(outXfb) 0 Offset 8 Decorate 11 Location 1 Decorate 11 XfbBuffer 2 Decorate 11 XfbStride 32 - MemberDecorate 12(outXfb2) 0 Offset 60 Decorate 12(outXfb2) Block + MemberDecorate 12(outXfb2) 0 Offset 60 Decorate 14 Location 3 Decorate 14 XfbBuffer 1 Decorate 14 XfbStride 64 Decorate 15(out4) Location 4 + Decorate 15(out4) Offset 4 Decorate 15(out4) XfbBuffer 0 Decorate 15(out4) XfbStride 8 - Decorate 15(out4) Offset 4 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.xfb2.vert.out b/Test/baseResults/spv.xfb2.vert.out index b4b09bd0..a681fd3e 100644 --- a/Test/baseResults/spv.xfb2.vert.out +++ b/Test/baseResults/spv.xfb2.vert.out @@ -19,17 +19,17 @@ spv.xfb2.vert MemberName 17(ComponentsBlock) 0 "c1" MemberName 17(ComponentsBlock) 1 "c2" Name 19 "components" - MemberDecorate 8(gl_PerVertex) 0 Offset 16 - MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position Decorate 8(gl_PerVertex) Block + MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 8(gl_PerVertex) 0 Offset 16 Decorate 10 XfbBuffer 3 Decorate 10 XfbStride 32 Decorate 14(position) Location 0 + Decorate 17(ComponentsBlock) Block MemberDecorate 17(ComponentsBlock) 0 Offset 0 MemberDecorate 17(ComponentsBlock) 1 Offset 16 - Decorate 17(ComponentsBlock) Block - Decorate 19(components) DescriptorSet 0 Decorate 19(components) Binding 5 + Decorate 19(components) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.xfb3.vert.out b/Test/baseResults/spv.xfb3.vert.out index a7e88566..25e031a3 100644 --- a/Test/baseResults/spv.xfb3.vert.out +++ b/Test/baseResults/spv.xfb3.vert.out @@ -19,17 +19,17 @@ spv.xfb3.vert MemberName 17(ComponentsBlock) 0 "c1" MemberName 17(ComponentsBlock) 1 "c2" Name 19 "components" - MemberDecorate 8(gl_PerVertex) 0 Offset 16 - MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position Decorate 8(gl_PerVertex) Block + MemberDecorate 8(gl_PerVertex) 0 BuiltIn Position + MemberDecorate 8(gl_PerVertex) 0 Offset 16 Decorate 10 XfbBuffer 3 Decorate 10 XfbStride 80 Decorate 14(position) Location 0 + Decorate 17(ComponentsBlock) Block MemberDecorate 17(ComponentsBlock) 0 Offset 0 MemberDecorate 17(ComponentsBlock) 1 Offset 16 - Decorate 17(ComponentsBlock) Block - Decorate 19(components) DescriptorSet 0 Decorate 19(components) Binding 5 + Decorate 19(components) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/spv.xfbOffsetOnBlockMembersAssignment.vert.out b/Test/baseResults/spv.xfbOffsetOnBlockMembersAssignment.vert.out index eb911002..23110016 100644 --- a/Test/baseResults/spv.xfbOffsetOnBlockMembersAssignment.vert.out +++ b/Test/baseResults/spv.xfbOffsetOnBlockMembersAssignment.vert.out @@ -23,17 +23,17 @@ spv.xfbOffsetOnBlockMembersAssignment.vert Name 27 "" Name 31 "gl_VertexID" Name 32 "gl_InstanceID" + Decorate 8(block2) Block MemberDecorate 8(block2) 0 Offset 0 MemberDecorate 8(block2) 1 Offset 4 - Decorate 8(block2) Block Decorate 10 Location 5 Decorate 10 XfbBuffer 2 Decorate 10 XfbStride 20 + Decorate 25(gl_PerVertex) Block MemberDecorate 25(gl_PerVertex) 0 BuiltIn Position MemberDecorate 25(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 25(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 25(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 25(gl_PerVertex) Block Decorate 27 XfbBuffer 0 Decorate 27 XfbStride 0 Decorate 31(gl_VertexID) BuiltIn VertexId diff --git a/Test/baseResults/spv.xfbOffsetOnStructMembersAssignment.vert.out b/Test/baseResults/spv.xfbOffsetOnStructMembersAssignment.vert.out index 467a5aec..c073ebec 100644 --- a/Test/baseResults/spv.xfbOffsetOnStructMembersAssignment.vert.out +++ b/Test/baseResults/spv.xfbOffsetOnStructMembersAssignment.vert.out @@ -28,18 +28,18 @@ spv.xfbOffsetOnStructMembersAssignment.vert Name 38 "gl_VertexID" Name 39 "gl_InstanceID" Decorate 9(s1) Location 0 + Decorate 9(s1) Offset 16 Decorate 9(s1) XfbBuffer 2 Decorate 9(s1) XfbStride 24 - Decorate 9(s1) Offset 16 Decorate 21(s2) Location 5 + Decorate 21(s2) Offset 8 Decorate 21(s2) XfbBuffer 1 Decorate 21(s2) XfbStride 28 - Decorate 21(s2) Offset 8 + Decorate 32(gl_PerVertex) Block MemberDecorate 32(gl_PerVertex) 0 BuiltIn Position MemberDecorate 32(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 32(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 32(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 32(gl_PerVertex) Block Decorate 34 XfbBuffer 0 Decorate 34 XfbStride 0 Decorate 38(gl_VertexID) BuiltIn VertexId diff --git a/Test/baseResults/spv.xfbOverlapOffsetCheckWithBlockAndMember.vert.out b/Test/baseResults/spv.xfbOverlapOffsetCheckWithBlockAndMember.vert.out index 633558d4..b63226e3 100644 --- a/Test/baseResults/spv.xfbOverlapOffsetCheckWithBlockAndMember.vert.out +++ b/Test/baseResults/spv.xfbOverlapOffsetCheckWithBlockAndMember.vert.out @@ -25,19 +25,19 @@ spv.xfbOverlapOffsetCheckWithBlockAndMember.vert Name 33 "" Name 37 "gl_VertexID" Name 38 "gl_InstanceID" + Decorate 8(block2) Block MemberDecorate 8(block2) 0 Offset 12 MemberDecorate 8(block2) 1 Offset 28 MemberDecorate 8(block2) 2 Offset 40 MemberDecorate 8(block2) 3 Offset 56 - Decorate 8(block2) Block Decorate 10 Location 5 Decorate 10 XfbBuffer 3 Decorate 10 XfbStride 72 + Decorate 31(gl_PerVertex) Block MemberDecorate 31(gl_PerVertex) 0 BuiltIn Position MemberDecorate 31(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 31(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 31(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 31(gl_PerVertex) Block Decorate 33 XfbBuffer 0 Decorate 33 XfbStride 0 Decorate 37(gl_VertexID) BuiltIn VertexId diff --git a/Test/baseResults/spv.xfbStrideJustOnce.vert.out b/Test/baseResults/spv.xfbStrideJustOnce.vert.out index 8bf1f0d9..0548aee6 100644 --- a/Test/baseResults/spv.xfbStrideJustOnce.vert.out +++ b/Test/baseResults/spv.xfbStrideJustOnce.vert.out @@ -27,11 +27,11 @@ spv.xfbStrideJustOnce.vert Decorate 10 Location 5 Decorate 10 XfbBuffer 2 Decorate 10 XfbStride 20 + Decorate 25(gl_PerVertex) Block MemberDecorate 25(gl_PerVertex) 0 BuiltIn Position MemberDecorate 25(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 25(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 25(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 25(gl_PerVertex) Block Decorate 27 XfbBuffer 0 Decorate 27 XfbStride 0 Decorate 31(gl_VertexID) BuiltIn VertexId diff --git a/Test/baseResults/terminate.frag.out b/Test/baseResults/terminate.frag.out old mode 100755 new mode 100644 diff --git a/Test/baseResults/terminate.vert.out b/Test/baseResults/terminate.vert.out old mode 100755 new mode 100644 diff --git a/Test/baseResults/tes_patch.tese.out b/Test/baseResults/tes_patch.tese.out new file mode 100644 index 00000000..e53d3392 --- /dev/null +++ b/Test/baseResults/tes_patch.tese.out @@ -0,0 +1,61 @@ +tes_patch.tese +ERROR: 0:7: 'location' : the aliases sharing the location 1 must be the same basic type and interpolation qualification +ERROR: 1 compilation errors. No code generated. + + +Shader version: 430 +Requested GL_ARB_enhanced_layouts +input primitive = isolines +vertex spacing = none +triangle order = none +using point mode +ERROR: node is still EOpNull! +0:12 Function Definition: main( ( global void) +0:12 Function Parameters: +0:14 Sequence +0:14 Sequence +0:14 move second child to first child ( temp 4-component vector of float) +0:14 'result' ( temp 4-component vector of float) +0:14 direct index ( temp 4-component vector of float) +0:14 'tcs_tes' ( in 32-element array of 4-component vector of float) +0:14 Constant: +0:14 0 (const int) +0:18 add second child into first child ( temp 4-component vector of float) +0:18 'tes_gs' ( out 4-component vector of float) +0:18 'result' ( temp 4-component vector of float) +0:? Linker Objects +0:? 'gohan' (layout( location=1 component=0) in 32-element array of 2-component vector of float) +0:? 'goten' (layout( location=1 component=2) patch in 2-component vector of float) +0:? 'tcs_tes' ( in 32-element array of 4-component vector of float) +0:? 'tes_gs' ( out 4-component vector of float) + + +Linked tessellation evaluation stage: + + +Shader version: 430 +Requested GL_ARB_enhanced_layouts +input primitive = isolines +vertex spacing = equal_spacing +triangle order = ccw +using point mode +ERROR: node is still EOpNull! +0:12 Function Definition: main( ( global void) +0:12 Function Parameters: +0:14 Sequence +0:14 Sequence +0:14 move second child to first child ( temp 4-component vector of float) +0:14 'result' ( temp 4-component vector of float) +0:14 direct index ( temp 4-component vector of float) +0:14 'tcs_tes' ( in 32-element array of 4-component vector of float) +0:14 Constant: +0:14 0 (const int) +0:18 add second child into first child ( temp 4-component vector of float) +0:18 'tes_gs' ( out 4-component vector of float) +0:18 'result' ( temp 4-component vector of float) +0:? Linker Objects +0:? 'gohan' (layout( location=1 component=0) in 32-element array of 2-component vector of float) +0:? 'goten' (layout( location=1 component=2) patch in 2-component vector of float) +0:? 'tcs_tes' ( in 32-element array of 4-component vector of float) +0:? 'tes_gs' ( out 4-component vector of float) + diff --git a/Test/baseResults/validation_fails.txt b/Test/baseResults/validation_fails.txt new file mode 100644 index 00000000..1a3ca863 --- /dev/null +++ b/Test/baseResults/validation_fails.txt @@ -0,0 +1,71 @@ +Test/baseResults/hlsl.attributeC11.frag.out +Test/baseResults/hlsl.buffer.frag.out +Test/baseResults/hlsl.cbuffer-offsets.comp.out +Test/baseResults/hlsl.constantbuffer.frag.out +Test/baseResults/hlsl.constructimat.frag.out +Test/baseResults/hlsl.coverage.frag.out +Test/baseResults/hlsl.emptystructreturn.frag.out +Test/baseResults/hlsl.emptystructreturn.tesc.out +Test/baseResults/hlsl.emptystructreturn.vert.out +Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out +Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out +Test/baseResults/hlsl.intrinsics.comp.out +Test/baseResults/hlsl.intrinsics.frag.out +Test/baseResults/hlsl.intrinsics.vert.out +Test/baseResults/hlsl.layout.frag.out +Test/baseResults/hlsl.matNx1.frag.out +Test/baseResults/hlsl.matrixSwizzle.vert.out +Test/baseResults/hlsl.matType.bool.frag.out +Test/baseResults/hlsl.matType.frag.out +Test/baseResults/hlsl.matType.int.frag.out +Test/baseResults/hlsl.partialInit.frag.out +Test/baseResults/hlsl.PointSize.geom.out +Test/baseResults/hlsl.samplecmp.array.dx10.frag.out +Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out +Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out +Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out +Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out +Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out +Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out +Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out +Test/baseResults/hlsl.semantic.geom.out +Test/baseResults/hlsl.semantic.vert.out +Test/baseResults/hlsl.structarray.flatten.frag.out +Test/baseResults/hlsl.structbuffer.append.fn.frag.out +Test/baseResults/hlsl.structbuffer.atomics.frag.out +Test/baseResults/hlsl.structbuffer.fn.frag.out +Test/baseResults/hlsl.struct.frag.out +Test/baseResults/hlsl.struct.split.assign.frag.out +Test/baseResults/hlsl.texture.struct.frag.out +Test/baseResults/hlsl.tristream-append.geom.out +Test/baseResults/iomap.crossStage.vk.2.vert.out +Test/baseResults/link.vk.differentPC.0.0.frag.out +Test/baseResults/link.vk.differentPC.1.0.frag.out +Test/baseResults/link.vk.pcNamingInvalid.0.0.vert.out +Test/baseResults/spv.130.frag.out +Test/baseResults/spv.140.frag.out +Test/baseResults/spv.1.4.load.bool.array.interface.block.frag.out +Test/baseResults/spv.400.frag.out +Test/baseResults/spv.430.vert.out +Test/baseResults/spv.450.tesc.out +Test/baseResults/spv.8bit-16bit-construction.frag.out +Test/baseResults/spv.AofA.frag.out +Test/baseResults/spv.controlFlowAttributes.frag.out +Test/baseResults/spv.dataOut.frag.out +Test/baseResults/spv.float16Fetch.frag.out +Test/baseResults/spv.float16.frag.out +Test/baseResults/spv.float64.frag.out +Test/baseResults/spv.floatFetch.frag.out +Test/baseResults/spv.functionNestedOpaque.vert.out +Test/baseResults/spv.imageAtomic64.frag.out +Test/baseResults/spv.image.frag.out +Test/baseResults/spv.int64.frag.out +Test/baseResults/spv.memoryQualifier.frag.out +Test/baseResults/spv.newTexture.frag.out +Test/baseResults/spv.paramMemory.420.frag.out +Test/baseResults/spv.paramMemory.frag.out +Test/baseResults/spv.queryL.frag.out +Test/baseResults/spv.separate.frag.out +Test/baseResults/spv.sparseTextureClamp.frag.out +Test/baseResults/spv.sparseTexture.frag.out +Test/baseResults/vk.relaxed.errorcheck.vert.out diff --git a/Test/baseResults/vk.relaxed.changeSet.vert.out b/Test/baseResults/vk.relaxed.changeSet.vert.out old mode 100755 new mode 100644 index d7502a3a..339112d3 --- a/Test/baseResults/vk.relaxed.changeSet.vert.out +++ b/Test/baseResults/vk.relaxed.changeSet.vert.out @@ -168,17 +168,17 @@ gl_FragCoord origin is upper left Decorate 11(aColor) Location 2 Decorate 15(UV) Location 1 Decorate 17(aUV) Location 1 + Decorate 22(gl_PerVertex) Block MemberDecorate 22(gl_PerVertex) 0 BuiltIn Position MemberDecorate 22(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 22(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 22(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 22(gl_PerVertex) Block - MemberDecorate 28(gl_DefaultUniformBlock) 0 ColMajor - MemberDecorate 28(gl_DefaultUniformBlock) 0 Offset 0 - MemberDecorate 28(gl_DefaultUniformBlock) 0 MatrixStride 16 Decorate 28(gl_DefaultUniformBlock) Block - Decorate 30 DescriptorSet 0 + MemberDecorate 28(gl_DefaultUniformBlock) 0 ColMajor + MemberDecorate 28(gl_DefaultUniformBlock) 0 MatrixStride 16 + MemberDecorate 28(gl_DefaultUniformBlock) 0 Offset 0 Decorate 30 Binding 0 + Decorate 30 DescriptorSet 0 Decorate 34(aPos) Location 0 Decorate 44(gl_VertexIndex) BuiltIn VertexIndex Decorate 45(gl_InstanceIndex) BuiltIn InstanceIndex @@ -248,8 +248,8 @@ gl_FragCoord origin is upper left Name 20 "UV" Decorate 9(fragColor) Location 0 Decorate 11(Color) Location 0 - Decorate 16(sTexture) DescriptorSet 1 Decorate 16(sTexture) Binding 0 + Decorate 16(sTexture) DescriptorSet 1 Decorate 20(UV) Location 1 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/vk.relaxed.frag.out b/Test/baseResults/vk.relaxed.frag.out index 7aed8138..105eced6 100644 --- a/Test/baseResults/vk.relaxed.frag.out +++ b/Test/baseResults/vk.relaxed.frag.out @@ -728,31 +728,31 @@ gl_FragCoord origin is upper left Name 196 "structUniform.samplers.tn[2]" Name 197 "structUniform.samplers.tn[3]" Name 198 "param" + Decorate 34(gl_AtomicCounterBlock_0) BufferBlock MemberDecorate 34(gl_AtomicCounterBlock_0) 0 Volatile MemberDecorate 34(gl_AtomicCounterBlock_0) 0 Coherent MemberDecorate 34(gl_AtomicCounterBlock_0) 0 Offset 0 MemberDecorate 34(gl_AtomicCounterBlock_0) 1 Volatile MemberDecorate 34(gl_AtomicCounterBlock_0) 1 Coherent MemberDecorate 34(gl_AtomicCounterBlock_0) 1 Offset 4 - Decorate 34(gl_AtomicCounterBlock_0) BufferBlock - Decorate 36 DescriptorSet 0 Decorate 36 Binding 9 + Decorate 36 DescriptorSet 0 + Decorate 78(gl_AtomicCounterBlock_1) BufferBlock MemberDecorate 78(gl_AtomicCounterBlock_1) 0 Volatile MemberDecorate 78(gl_AtomicCounterBlock_1) 0 Coherent MemberDecorate 78(gl_AtomicCounterBlock_1) 0 Offset 0 - Decorate 78(gl_AtomicCounterBlock_1) BufferBlock - Decorate 80 DescriptorSet 0 Decorate 80 Binding 10 + Decorate 80 DescriptorSet 0 + Decorate 89(UniformBlock) Block MemberDecorate 89(UniformBlock) 0 Offset 0 MemberDecorate 89(UniformBlock) 1 Offset 16 - Decorate 89(UniformBlock) Block - Decorate 91 DescriptorSet 0 Decorate 91 Binding 7 + Decorate 91 DescriptorSet 0 + Decorate 95(BufferBlock) BufferBlock MemberDecorate 95(BufferBlock) 0 Offset 0 MemberDecorate 95(BufferBlock) 1 Offset 16 - Decorate 95(BufferBlock) BufferBlock - Decorate 97(bufferInstance) DescriptorSet 0 Decorate 97(bufferInstance) Binding 8 + Decorate 97(bufferInstance) DescriptorSet 0 Decorate 103 ArrayStride 16 Decorate 104 ArrayStride 16 MemberDecorate 105(SamplerArray) 0 Offset 0 @@ -761,27 +761,27 @@ gl_FragCoord origin is upper left MemberDecorate 106(e) 2 Offset 12 MemberDecorate 106(e) 3 Offset 16 MemberDecorate 106(e) 4 Offset 32 + Decorate 107(gl_DefaultUniformBlock) Block MemberDecorate 107(gl_DefaultUniformBlock) 0 Offset 0 MemberDecorate 107(gl_DefaultUniformBlock) 1 Offset 16 MemberDecorate 107(gl_DefaultUniformBlock) 2 Offset 24 MemberDecorate 107(gl_DefaultUniformBlock) 3 Offset 32 MemberDecorate 107(gl_DefaultUniformBlock) 4 Offset 192 - Decorate 107(gl_DefaultUniformBlock) Block - Decorate 109 DescriptorSet 0 Decorate 109 Binding 0 - Decorate 151(t1) DescriptorSet 0 + Decorate 109 DescriptorSet 0 Decorate 151(t1) Binding 6 - Decorate 157(structUniform.t0) DescriptorSet 0 + Decorate 151(t1) DescriptorSet 0 Decorate 157(structUniform.t0) Binding 1 + Decorate 157(structUniform.t0) DescriptorSet 0 Decorate 190(o) Location 0 - Decorate 194(structUniform.samplers.tn[0]) DescriptorSet 0 Decorate 194(structUniform.samplers.tn[0]) Binding 2 - Decorate 195(structUniform.samplers.tn[1]) DescriptorSet 0 + Decorate 194(structUniform.samplers.tn[0]) DescriptorSet 0 Decorate 195(structUniform.samplers.tn[1]) Binding 3 - Decorate 196(structUniform.samplers.tn[2]) DescriptorSet 0 + Decorate 195(structUniform.samplers.tn[1]) DescriptorSet 0 Decorate 196(structUniform.samplers.tn[2]) Binding 4 - Decorate 197(structUniform.samplers.tn[3]) DescriptorSet 0 + Decorate 196(structUniform.samplers.tn[2]) DescriptorSet 0 Decorate 197(structUniform.samplers.tn[3]) Binding 5 + Decorate 197(structUniform.samplers.tn[3]) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 diff --git a/Test/baseResults/vk.relaxed.link1.frag.out b/Test/baseResults/vk.relaxed.link1.frag.out index 161d929b..7b114a78 100644 --- a/Test/baseResults/vk.relaxed.link1.frag.out +++ b/Test/baseResults/vk.relaxed.link1.frag.out @@ -378,6 +378,7 @@ gl_FragCoord origin is upper left Name 68 "o" Name 72 "j" Name 79 "v" + Decorate 16(gl_AtomicCounterBlock_0) BufferBlock MemberDecorate 16(gl_AtomicCounterBlock_0) 0 Volatile MemberDecorate 16(gl_AtomicCounterBlock_0) 0 Coherent MemberDecorate 16(gl_AtomicCounterBlock_0) 0 Offset 0 @@ -387,18 +388,17 @@ gl_FragCoord origin is upper left MemberDecorate 16(gl_AtomicCounterBlock_0) 2 Volatile MemberDecorate 16(gl_AtomicCounterBlock_0) 2 Coherent MemberDecorate 16(gl_AtomicCounterBlock_0) 2 Offset 8 - Decorate 16(gl_AtomicCounterBlock_0) BufferBlock - Decorate 18 DescriptorSet 0 Decorate 18 Binding 1 + Decorate 18 DescriptorSet 0 + Decorate 35(gl_DefaultUniformBlock) Block MemberDecorate 35(gl_DefaultUniformBlock) 0 Offset 0 MemberDecorate 35(gl_DefaultUniformBlock) 1 Offset 16 MemberDecorate 35(gl_DefaultUniformBlock) 2 Offset 24 MemberDecorate 35(gl_DefaultUniformBlock) 3 Offset 32 MemberDecorate 35(gl_DefaultUniformBlock) 4 Offset 48 MemberDecorate 35(gl_DefaultUniformBlock) 5 Offset 64 - Decorate 35(gl_DefaultUniformBlock) Block - Decorate 37 DescriptorSet 0 Decorate 37 Binding 0 + Decorate 37 DescriptorSet 0 Decorate 68(o) Location 0 2: TypeVoid 3: TypeFunction 2 diff --git a/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out b/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out old mode 100755 new mode 100644 index 37532ed6..5ab08aed --- a/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out +++ b/Test/baseResults/vk.relaxed.stagelink.0.0.vert.out @@ -7325,71 +7325,72 @@ gl_FragCoord origin is upper left Name 934 "mTD3DImageOutputs" Name 938 "mTDCubeImageOutputs" Decorate 207(uv) Location 3 + Decorate 214(Vertex) Block MemberDecorate 214(Vertex) 3 Flat MemberDecorate 214(Vertex) 4 Flat - Decorate 214(Vertex) Block Decorate 216(oVert) Location 0 Decorate 226(P) Location 0 + Decorate 236(gl_PerVertex) Block MemberDecorate 236(gl_PerVertex) 0 BuiltIn Position MemberDecorate 236(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 236(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 236(gl_PerVertex) 3 BuiltIn CullDistance - Decorate 236(gl_PerVertex) Block Decorate 256(Cd) Location 2 MemberDecorate 269(TDMatrix) 0 ColMajor - MemberDecorate 269(TDMatrix) 0 Offset 0 MemberDecorate 269(TDMatrix) 0 MatrixStride 16 + MemberDecorate 269(TDMatrix) 0 Offset 0 MemberDecorate 269(TDMatrix) 1 ColMajor - MemberDecorate 269(TDMatrix) 1 Offset 64 MemberDecorate 269(TDMatrix) 1 MatrixStride 16 + MemberDecorate 269(TDMatrix) 1 Offset 64 MemberDecorate 269(TDMatrix) 2 ColMajor - MemberDecorate 269(TDMatrix) 2 Offset 128 MemberDecorate 269(TDMatrix) 2 MatrixStride 16 + MemberDecorate 269(TDMatrix) 2 Offset 128 MemberDecorate 269(TDMatrix) 3 ColMajor - MemberDecorate 269(TDMatrix) 3 Offset 192 MemberDecorate 269(TDMatrix) 3 MatrixStride 16 + MemberDecorate 269(TDMatrix) 3 Offset 192 MemberDecorate 269(TDMatrix) 4 ColMajor - MemberDecorate 269(TDMatrix) 4 Offset 256 MemberDecorate 269(TDMatrix) 4 MatrixStride 16 + MemberDecorate 269(TDMatrix) 4 Offset 256 MemberDecorate 269(TDMatrix) 5 ColMajor - MemberDecorate 269(TDMatrix) 5 Offset 320 MemberDecorate 269(TDMatrix) 5 MatrixStride 16 + MemberDecorate 269(TDMatrix) 5 Offset 320 MemberDecorate 269(TDMatrix) 6 ColMajor - MemberDecorate 269(TDMatrix) 6 Offset 384 MemberDecorate 269(TDMatrix) 6 MatrixStride 16 + MemberDecorate 269(TDMatrix) 6 Offset 384 MemberDecorate 269(TDMatrix) 7 ColMajor - MemberDecorate 269(TDMatrix) 7 Offset 448 MemberDecorate 269(TDMatrix) 7 MatrixStride 16 + MemberDecorate 269(TDMatrix) 7 Offset 448 MemberDecorate 269(TDMatrix) 8 ColMajor - MemberDecorate 269(TDMatrix) 8 Offset 512 MemberDecorate 269(TDMatrix) 8 MatrixStride 16 + MemberDecorate 269(TDMatrix) 8 Offset 512 MemberDecorate 269(TDMatrix) 9 ColMajor - MemberDecorate 269(TDMatrix) 9 Offset 576 MemberDecorate 269(TDMatrix) 9 MatrixStride 16 + MemberDecorate 269(TDMatrix) 9 Offset 576 MemberDecorate 269(TDMatrix) 10 ColMajor - MemberDecorate 269(TDMatrix) 10 Offset 640 MemberDecorate 269(TDMatrix) 10 MatrixStride 16 + MemberDecorate 269(TDMatrix) 10 Offset 640 MemberDecorate 269(TDMatrix) 11 ColMajor - MemberDecorate 269(TDMatrix) 11 Offset 704 MemberDecorate 269(TDMatrix) 11 MatrixStride 16 + MemberDecorate 269(TDMatrix) 11 Offset 704 MemberDecorate 269(TDMatrix) 12 ColMajor - MemberDecorate 269(TDMatrix) 12 Offset 768 MemberDecorate 269(TDMatrix) 12 MatrixStride 16 + MemberDecorate 269(TDMatrix) 12 Offset 768 MemberDecorate 269(TDMatrix) 13 ColMajor - MemberDecorate 269(TDMatrix) 13 Offset 832 MemberDecorate 269(TDMatrix) 13 MatrixStride 16 + MemberDecorate 269(TDMatrix) 13 Offset 832 MemberDecorate 269(TDMatrix) 14 ColMajor - MemberDecorate 269(TDMatrix) 14 Offset 880 MemberDecorate 269(TDMatrix) 14 MatrixStride 16 + MemberDecorate 269(TDMatrix) 14 Offset 880 MemberDecorate 269(TDMatrix) 15 ColMajor - MemberDecorate 269(TDMatrix) 15 Offset 928 MemberDecorate 269(TDMatrix) 15 MatrixStride 16 + MemberDecorate 269(TDMatrix) 15 Offset 928 Decorate 270 ArrayStride 976 - MemberDecorate 271(TDMatricesBlock) 0 Offset 0 Decorate 271(TDMatricesBlock) Block - Decorate 273 DescriptorSet 0 + MemberDecorate 271(TDMatricesBlock) 0 Offset 0 Decorate 273 Binding 1 + Decorate 273 DescriptorSet 0 Decorate 297(gl_InstanceIndex) BuiltIn InstanceIndex + Decorate 299(gl_DefaultUniformBlock) Block MemberDecorate 299(gl_DefaultUniformBlock) 0 Offset 0 MemberDecorate 299(gl_DefaultUniformBlock) 1 Offset 4 MemberDecorate 299(gl_DefaultUniformBlock) 2 Offset 8 @@ -7398,34 +7399,33 @@ gl_FragCoord origin is upper left MemberDecorate 299(gl_DefaultUniformBlock) 5 Offset 32 MemberDecorate 299(gl_DefaultUniformBlock) 6 Offset 48 MemberDecorate 299(gl_DefaultUniformBlock) 7 Offset 64 - Decorate 299(gl_DefaultUniformBlock) Block - Decorate 301 DescriptorSet 0 Decorate 301 Binding 0 - Decorate 371(sTDInstanceTexCoord) DescriptorSet 0 + Decorate 301 DescriptorSet 0 Decorate 371(sTDInstanceTexCoord) Binding 16 - Decorate 400(sTDInstanceT) DescriptorSet 0 + Decorate 371(sTDInstanceTexCoord) DescriptorSet 0 Decorate 400(sTDInstanceT) Binding 15 - Decorate 665(sTDInstanceColor) DescriptorSet 0 + Decorate 400(sTDInstanceT) DescriptorSet 0 Decorate 665(sTDInstanceColor) Binding 17 + Decorate 665(sTDInstanceColor) DescriptorSet 0 MemberDecorate 896(TDCameraInfo) 0 Offset 0 MemberDecorate 896(TDCameraInfo) 1 Offset 16 MemberDecorate 896(TDCameraInfo) 2 Offset 32 MemberDecorate 896(TDCameraInfo) 3 Offset 48 Decorate 897 ArrayStride 64 - MemberDecorate 898(TDCameraInfoBlock) 0 Offset 0 Decorate 898(TDCameraInfoBlock) Block - Decorate 900 DescriptorSet 0 + MemberDecorate 898(TDCameraInfoBlock) 0 Offset 0 Decorate 900 Binding 0 + Decorate 900 DescriptorSet 0 MemberDecorate 901(TDGeneral) 0 Offset 0 MemberDecorate 901(TDGeneral) 1 Offset 16 MemberDecorate 901(TDGeneral) 2 Offset 32 MemberDecorate 901(TDGeneral) 3 Offset 48 MemberDecorate 901(TDGeneral) 4 Offset 64 MemberDecorate 901(TDGeneral) 5 Offset 80 - MemberDecorate 902(TDGeneralBlock) 0 Offset 0 Decorate 902(TDGeneralBlock) Block - Decorate 904 DescriptorSet 0 + MemberDecorate 902(TDGeneralBlock) 0 Offset 0 Decorate 904 Binding 0 + Decorate 904 DescriptorSet 0 Decorate 905(N) Location 1 Decorate 906(gl_VertexIndex) BuiltIn VertexIndex MemberDecorate 907(TDLight) 0 Offset 0 @@ -7437,44 +7437,46 @@ gl_FragCoord origin is upper left MemberDecorate 907(TDLight) 6 Offset 96 MemberDecorate 907(TDLight) 7 Offset 112 MemberDecorate 907(TDLight) 8 ColMajor - MemberDecorate 907(TDLight) 8 Offset 128 MemberDecorate 907(TDLight) 8 MatrixStride 16 + MemberDecorate 907(TDLight) 8 Offset 128 MemberDecorate 907(TDLight) 9 ColMajor - MemberDecorate 907(TDLight) 9 Offset 192 MemberDecorate 907(TDLight) 9 MatrixStride 16 + MemberDecorate 907(TDLight) 9 Offset 192 MemberDecorate 907(TDLight) 10 Offset 256 MemberDecorate 907(TDLight) 11 ColMajor - MemberDecorate 907(TDLight) 11 Offset 272 MemberDecorate 907(TDLight) 11 MatrixStride 16 + MemberDecorate 907(TDLight) 11 Offset 272 Decorate 908 ArrayStride 336 - MemberDecorate 909(TDLightBlock) 0 Offset 0 Decorate 909(TDLightBlock) Block - Decorate 911 DescriptorSet 0 + MemberDecorate 909(TDLightBlock) 0 Offset 0 Decorate 911 Binding 0 + Decorate 911 DescriptorSet 0 MemberDecorate 912(TDEnvLight) 0 Offset 0 MemberDecorate 912(TDEnvLight) 1 ColMajor - MemberDecorate 912(TDEnvLight) 1 Offset 16 MemberDecorate 912(TDEnvLight) 1 MatrixStride 16 + MemberDecorate 912(TDEnvLight) 1 Offset 16 Decorate 913 ArrayStride 64 - MemberDecorate 914(TDEnvLightBlock) 0 Offset 0 Decorate 914(TDEnvLightBlock) Block - Decorate 916 DescriptorSet 0 + MemberDecorate 914(TDEnvLightBlock) 0 Offset 0 Decorate 916 Binding 0 + Decorate 916 DescriptorSet 0 Decorate 918 ArrayStride 16 + Decorate 919(TDEnvLightBuffer) BufferBlock MemberDecorate 919(TDEnvLightBuffer) 0 Restrict MemberDecorate 919(TDEnvLightBuffer) 0 NonWritable MemberDecorate 919(TDEnvLightBuffer) 0 Offset 0 - Decorate 919(TDEnvLightBuffer) BufferBlock - Decorate 922(uTDEnvLightBuffers) DescriptorSet 0 + Decorate 922(uTDEnvLightBuffers) Restrict + Decorate 922(uTDEnvLightBuffers) NonWritable Decorate 922(uTDEnvLightBuffers) Binding 0 - Decorate 926(mTD2DImageOutputs) DescriptorSet 0 + Decorate 922(uTDEnvLightBuffers) DescriptorSet 0 Decorate 926(mTD2DImageOutputs) Binding 0 - Decorate 930(mTD2DArrayImageOutputs) DescriptorSet 0 + Decorate 926(mTD2DImageOutputs) DescriptorSet 0 Decorate 930(mTD2DArrayImageOutputs) Binding 0 - Decorate 934(mTD3DImageOutputs) DescriptorSet 0 + Decorate 930(mTD2DArrayImageOutputs) DescriptorSet 0 Decorate 934(mTD3DImageOutputs) Binding 0 - Decorate 938(mTDCubeImageOutputs) DescriptorSet 0 + Decorate 934(mTD3DImageOutputs) DescriptorSet 0 Decorate 938(mTDCubeImageOutputs) Binding 0 + Decorate 938(mTDCubeImageOutputs) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 @@ -8999,12 +9001,13 @@ gl_FragCoord origin is upper left Name 1293 "TDEnvLightBuffer" MemberName 1293(TDEnvLightBuffer) 0 "shCoeffs" Name 1296 "uTDEnvLightBuffers" + Decorate 334(Vertex) Block MemberDecorate 334(Vertex) 3 Flat MemberDecorate 334(Vertex) 4 Flat - Decorate 334(Vertex) Block Decorate 336(iVert) Location 0 - Decorate 363(sColorMap) DescriptorSet 0 Decorate 363(sColorMap) Binding 2 + Decorate 363(sColorMap) DescriptorSet 0 + Decorate 374(gl_DefaultUniformBlock) Block MemberDecorate 374(gl_DefaultUniformBlock) 0 Offset 0 MemberDecorate 374(gl_DefaultUniformBlock) 1 Offset 4 MemberDecorate 374(gl_DefaultUniformBlock) 2 Offset 8 @@ -9013,102 +9016,101 @@ gl_FragCoord origin is upper left MemberDecorate 374(gl_DefaultUniformBlock) 5 Offset 32 MemberDecorate 374(gl_DefaultUniformBlock) 6 Offset 48 MemberDecorate 374(gl_DefaultUniformBlock) 7 Offset 64 - Decorate 374(gl_DefaultUniformBlock) Block - Decorate 376 DescriptorSet 0 Decorate 376 Binding 0 + Decorate 376 DescriptorSet 0 Decorate 429(oFragColor) Location 0 - Decorate 456(sTDNoiseMap) DescriptorSet 0 Decorate 456(sTDNoiseMap) Binding 3 + Decorate 456(sTDNoiseMap) DescriptorSet 0 Decorate 458(gl_FragCoord) BuiltIn FragCoord Decorate 485(gl_FrontFacing) BuiltIn FrontFacing - Decorate 931(sTDInstanceTexCoord) DescriptorSet 0 Decorate 931(sTDInstanceTexCoord) Binding 16 - Decorate 958(sTDInstanceT) DescriptorSet 0 + Decorate 931(sTDInstanceTexCoord) DescriptorSet 0 Decorate 958(sTDInstanceT) Binding 15 - Decorate 1219(sTDInstanceColor) DescriptorSet 0 + Decorate 958(sTDInstanceT) DescriptorSet 0 Decorate 1219(sTDInstanceColor) Binding 17 + Decorate 1219(sTDInstanceColor) DescriptorSet 0 MemberDecorate 1253(TDMatrix) 0 ColMajor - MemberDecorate 1253(TDMatrix) 0 Offset 0 MemberDecorate 1253(TDMatrix) 0 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 0 Offset 0 MemberDecorate 1253(TDMatrix) 1 ColMajor - MemberDecorate 1253(TDMatrix) 1 Offset 64 MemberDecorate 1253(TDMatrix) 1 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 1 Offset 64 MemberDecorate 1253(TDMatrix) 2 ColMajor - MemberDecorate 1253(TDMatrix) 2 Offset 128 MemberDecorate 1253(TDMatrix) 2 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 2 Offset 128 MemberDecorate 1253(TDMatrix) 3 ColMajor - MemberDecorate 1253(TDMatrix) 3 Offset 192 MemberDecorate 1253(TDMatrix) 3 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 3 Offset 192 MemberDecorate 1253(TDMatrix) 4 ColMajor - MemberDecorate 1253(TDMatrix) 4 Offset 256 MemberDecorate 1253(TDMatrix) 4 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 4 Offset 256 MemberDecorate 1253(TDMatrix) 5 ColMajor - MemberDecorate 1253(TDMatrix) 5 Offset 320 MemberDecorate 1253(TDMatrix) 5 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 5 Offset 320 MemberDecorate 1253(TDMatrix) 6 ColMajor - MemberDecorate 1253(TDMatrix) 6 Offset 384 MemberDecorate 1253(TDMatrix) 6 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 6 Offset 384 MemberDecorate 1253(TDMatrix) 7 ColMajor - MemberDecorate 1253(TDMatrix) 7 Offset 448 MemberDecorate 1253(TDMatrix) 7 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 7 Offset 448 MemberDecorate 1253(TDMatrix) 8 ColMajor - MemberDecorate 1253(TDMatrix) 8 Offset 512 MemberDecorate 1253(TDMatrix) 8 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 8 Offset 512 MemberDecorate 1253(TDMatrix) 9 ColMajor - MemberDecorate 1253(TDMatrix) 9 Offset 576 MemberDecorate 1253(TDMatrix) 9 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 9 Offset 576 MemberDecorate 1253(TDMatrix) 10 ColMajor - MemberDecorate 1253(TDMatrix) 10 Offset 640 MemberDecorate 1253(TDMatrix) 10 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 10 Offset 640 MemberDecorate 1253(TDMatrix) 11 ColMajor - MemberDecorate 1253(TDMatrix) 11 Offset 704 MemberDecorate 1253(TDMatrix) 11 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 11 Offset 704 MemberDecorate 1253(TDMatrix) 12 ColMajor - MemberDecorate 1253(TDMatrix) 12 Offset 768 MemberDecorate 1253(TDMatrix) 12 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 12 Offset 768 MemberDecorate 1253(TDMatrix) 13 ColMajor - MemberDecorate 1253(TDMatrix) 13 Offset 832 MemberDecorate 1253(TDMatrix) 13 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 13 Offset 832 MemberDecorate 1253(TDMatrix) 14 ColMajor - MemberDecorate 1253(TDMatrix) 14 Offset 880 MemberDecorate 1253(TDMatrix) 14 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 14 Offset 880 MemberDecorate 1253(TDMatrix) 15 ColMajor - MemberDecorate 1253(TDMatrix) 15 Offset 928 MemberDecorate 1253(TDMatrix) 15 MatrixStride 16 + MemberDecorate 1253(TDMatrix) 15 Offset 928 Decorate 1254 ArrayStride 976 - MemberDecorate 1255(TDMatricesBlock) 0 Offset 0 Decorate 1255(TDMatricesBlock) Block - Decorate 1257 DescriptorSet 0 + MemberDecorate 1255(TDMatricesBlock) 0 Offset 0 Decorate 1257 Binding 1 + Decorate 1257 DescriptorSet 0 MemberDecorate 1258(TDCameraInfo) 0 Offset 0 MemberDecorate 1258(TDCameraInfo) 1 Offset 16 MemberDecorate 1258(TDCameraInfo) 2 Offset 32 MemberDecorate 1258(TDCameraInfo) 3 Offset 48 Decorate 1259 ArrayStride 64 - MemberDecorate 1260(TDCameraInfoBlock) 0 Offset 0 Decorate 1260(TDCameraInfoBlock) Block - Decorate 1262 DescriptorSet 0 + MemberDecorate 1260(TDCameraInfoBlock) 0 Offset 0 Decorate 1262 Binding 0 + Decorate 1262 DescriptorSet 0 MemberDecorate 1263(TDGeneral) 0 Offset 0 MemberDecorate 1263(TDGeneral) 1 Offset 16 MemberDecorate 1263(TDGeneral) 2 Offset 32 MemberDecorate 1263(TDGeneral) 3 Offset 48 MemberDecorate 1263(TDGeneral) 4 Offset 64 MemberDecorate 1263(TDGeneral) 5 Offset 80 - MemberDecorate 1264(TDGeneralBlock) 0 Offset 0 Decorate 1264(TDGeneralBlock) Block - Decorate 1266 DescriptorSet 0 + MemberDecorate 1264(TDGeneralBlock) 0 Offset 0 Decorate 1266 Binding 0 - Decorate 1270(sTDSineLookup) DescriptorSet 0 + Decorate 1266 DescriptorSet 0 Decorate 1270(sTDSineLookup) Binding 0 - Decorate 1271(sTDWhite2D) DescriptorSet 0 + Decorate 1270(sTDSineLookup) DescriptorSet 0 Decorate 1271(sTDWhite2D) Binding 0 - Decorate 1275(sTDWhite3D) DescriptorSet 0 + Decorate 1271(sTDWhite2D) DescriptorSet 0 Decorate 1275(sTDWhite3D) Binding 0 - Decorate 1276(sTDWhite2DArray) DescriptorSet 0 + Decorate 1275(sTDWhite3D) DescriptorSet 0 Decorate 1276(sTDWhite2DArray) Binding 0 - Decorate 1280(sTDWhiteCube) DescriptorSet 0 + Decorate 1276(sTDWhite2DArray) DescriptorSet 0 Decorate 1280(sTDWhiteCube) Binding 0 + Decorate 1280(sTDWhiteCube) DescriptorSet 0 MemberDecorate 1281(TDLight) 0 Offset 0 MemberDecorate 1281(TDLight) 1 Offset 16 MemberDecorate 1281(TDLight) 2 Offset 32 @@ -9118,36 +9120,38 @@ gl_FragCoord origin is upper left MemberDecorate 1281(TDLight) 6 Offset 96 MemberDecorate 1281(TDLight) 7 Offset 112 MemberDecorate 1281(TDLight) 8 ColMajor - MemberDecorate 1281(TDLight) 8 Offset 128 MemberDecorate 1281(TDLight) 8 MatrixStride 16 + MemberDecorate 1281(TDLight) 8 Offset 128 MemberDecorate 1281(TDLight) 9 ColMajor - MemberDecorate 1281(TDLight) 9 Offset 192 MemberDecorate 1281(TDLight) 9 MatrixStride 16 + MemberDecorate 1281(TDLight) 9 Offset 192 MemberDecorate 1281(TDLight) 10 Offset 256 MemberDecorate 1281(TDLight) 11 ColMajor - MemberDecorate 1281(TDLight) 11 Offset 272 MemberDecorate 1281(TDLight) 11 MatrixStride 16 + MemberDecorate 1281(TDLight) 11 Offset 272 Decorate 1282 ArrayStride 336 - MemberDecorate 1283(TDLightBlock) 0 Offset 0 Decorate 1283(TDLightBlock) Block - Decorate 1285 DescriptorSet 0 + MemberDecorate 1283(TDLightBlock) 0 Offset 0 Decorate 1285 Binding 0 + Decorate 1285 DescriptorSet 0 MemberDecorate 1286(TDEnvLight) 0 Offset 0 MemberDecorate 1286(TDEnvLight) 1 ColMajor - MemberDecorate 1286(TDEnvLight) 1 Offset 16 MemberDecorate 1286(TDEnvLight) 1 MatrixStride 16 + MemberDecorate 1286(TDEnvLight) 1 Offset 16 Decorate 1287 ArrayStride 64 - MemberDecorate 1288(TDEnvLightBlock) 0 Offset 0 Decorate 1288(TDEnvLightBlock) Block - Decorate 1290 DescriptorSet 0 + MemberDecorate 1288(TDEnvLightBlock) 0 Offset 0 Decorate 1290 Binding 0 + Decorate 1290 DescriptorSet 0 Decorate 1292 ArrayStride 16 + Decorate 1293(TDEnvLightBuffer) BufferBlock MemberDecorate 1293(TDEnvLightBuffer) 0 Restrict MemberDecorate 1293(TDEnvLightBuffer) 0 NonWritable MemberDecorate 1293(TDEnvLightBuffer) 0 Offset 0 - Decorate 1293(TDEnvLightBuffer) BufferBlock - Decorate 1296(uTDEnvLightBuffers) DescriptorSet 0 + Decorate 1296(uTDEnvLightBuffers) Restrict + Decorate 1296(uTDEnvLightBuffers) NonWritable Decorate 1296(uTDEnvLightBuffers) Binding 0 + Decorate 1296(uTDEnvLightBuffers) DescriptorSet 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 diff --git a/Test/baseResults/vk.relaxed.stagelink.vert.out b/Test/baseResults/vk.relaxed.stagelink.vert.out index a9b96831..99da5419 100644 --- a/Test/baseResults/vk.relaxed.stagelink.vert.out +++ b/Test/baseResults/vk.relaxed.stagelink.vert.out @@ -465,6 +465,7 @@ gl_FragCoord origin is upper left Name 72 "gl_VertexIndex" Name 82 "gl_InstanceIndex" Name 90 "io" + Decorate 14(gl_AtomicCounterBlock_0) BufferBlock MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Volatile MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Coherent MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Offset 0 @@ -474,10 +475,10 @@ gl_FragCoord origin is upper left MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Volatile MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Coherent MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Offset 8 - Decorate 14(gl_AtomicCounterBlock_0) BufferBlock - Decorate 16 DescriptorSet 0 Decorate 16 Binding 1 + Decorate 16 DescriptorSet 0 Decorate 34 ArrayStride 16 + Decorate 35(gl_DefaultUniformBlock) Block MemberDecorate 35(gl_DefaultUniformBlock) 0 Offset 0 MemberDecorate 35(gl_DefaultUniformBlock) 1 Offset 16 MemberDecorate 35(gl_DefaultUniformBlock) 2 Offset 24 @@ -485,9 +486,8 @@ gl_FragCoord origin is upper left MemberDecorate 35(gl_DefaultUniformBlock) 4 Offset 48 MemberDecorate 35(gl_DefaultUniformBlock) 5 Offset 64 MemberDecorate 35(gl_DefaultUniformBlock) 6 Offset 128 - Decorate 35(gl_DefaultUniformBlock) Block - Decorate 37 DescriptorSet 0 Decorate 37 Binding 0 + Decorate 37 DescriptorSet 0 Decorate 72(gl_VertexIndex) BuiltIn VertexIndex Decorate 82(gl_InstanceIndex) BuiltIn InstanceIndex Decorate 90(io) Location 0 @@ -619,6 +619,7 @@ gl_FragCoord origin is upper left Name 37 "" Name 68 "o" Name 70 "io" + Decorate 14(gl_AtomicCounterBlock_0) BufferBlock MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Volatile MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Coherent MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Offset 0 @@ -628,10 +629,10 @@ gl_FragCoord origin is upper left MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Volatile MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Coherent MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Offset 8 - Decorate 14(gl_AtomicCounterBlock_0) BufferBlock - Decorate 16 DescriptorSet 0 Decorate 16 Binding 1 + Decorate 16 DescriptorSet 0 Decorate 34 ArrayStride 16 + Decorate 35(gl_DefaultUniformBlock) Block MemberDecorate 35(gl_DefaultUniformBlock) 0 Offset 0 MemberDecorate 35(gl_DefaultUniformBlock) 1 Offset 16 MemberDecorate 35(gl_DefaultUniformBlock) 2 Offset 24 @@ -639,9 +640,8 @@ gl_FragCoord origin is upper left MemberDecorate 35(gl_DefaultUniformBlock) 4 Offset 48 MemberDecorate 35(gl_DefaultUniformBlock) 5 Offset 64 MemberDecorate 35(gl_DefaultUniformBlock) 6 Offset 128 - Decorate 35(gl_DefaultUniformBlock) Block - Decorate 37 DescriptorSet 0 Decorate 37 Binding 0 + Decorate 37 DescriptorSet 0 Decorate 68(o) Location 0 Decorate 70(io) Location 0 2: TypeVoid diff --git a/Test/error-column.vert b/Test/error-column.vert new file mode 100644 index 00000000..2ed97e7e --- /dev/null +++ b/Test/error-column.vert @@ -0,0 +1,27 @@ +#version 450 core + +layout (location = 0) in vec3 aPos; +layout (location = 1) in vec2 aTexCoords; + +layout (binding = 0) uniform block { + const mat4 model; + const mat4 view; + const mat4 projection; +}; + +layout (location = 0) out Vertex +{ + vec3 color; + vec3 worldSpacePos; + vec3 worldSpaceNorm; + const vec2 texCoord1; + flat int cameraIndex; + float ii; +} vs_out; + +void main() +{ + gl_Position = projection * view * model * vec4(Pos, 1.0); + vs_out.texCoord1 = aTexCoords; +} + diff --git a/Test/hlsl.buffer-offsets.comp b/Test/hlsl.buffer-offsets.comp new file mode 100644 index 00000000..13e4052d --- /dev/null +++ b/Test/hlsl.buffer-offsets.comp @@ -0,0 +1,13 @@ +// See https://github.com/KhronosGroup/glslang/issues/3668 + +struct GfxIterationData { + float mIntegrationTrafo[24]; + float mWind[3]; + uint mIsTurning; +}; + +StructuredBuffer bIterData : register(t2); + +void main() +{ +} diff --git a/Test/iomap.crossStage.vk.2.frag b/Test/iomap.crossStage.vk.2.frag new file mode 100644 index 00000000..e34a9a9b --- /dev/null +++ b/Test/iomap.crossStage.vk.2.frag @@ -0,0 +1,24 @@ +#version 460 + +in vec4 unsetColor; +in vec4 colorOut; +out vec4 fragColor; + +in Vertex +{ + vec2 val; +} iVert; + +in Vertex2 +{ + vec2 val2; +}; + +in vec4 vv2Val; + +void main() +{ + fragColor = colorOut + unsetColor * vec4(iVert.val.xxyy) * vec4(val2.xxyy) * + vv2Val; +} + diff --git a/Test/iomap.crossStage.vk.2.geom b/Test/iomap.crossStage.vk.2.geom new file mode 100644 index 00000000..11e7b9ab --- /dev/null +++ b/Test/iomap.crossStage.vk.2.geom @@ -0,0 +1,32 @@ +#version 460 + +layout(points) in; +layout(triangle_strip, max_vertices=3) out; + +// Not written by vertex shader +in vec4 vgo1[]; + +in vec4 color[]; + +out vec4 colorOut; + +in VV +{ + vec4 val; +} vv[]; + +out VV2 +{ + vec4 vv2Val; +}; + +void main() +{ + for (int i = 0; i < 3; i++) { + colorOut = color[i] * vv[i].val; + vv2Val = vec4(1.0); + EmitVertex(); + } + EndPrimitive(); +} + diff --git a/Test/iomap.crossStage.vk.2.vert b/Test/iomap.crossStage.vk.2.vert new file mode 100644 index 00000000..8788ec2c --- /dev/null +++ b/Test/iomap.crossStage.vk.2.vert @@ -0,0 +1,14 @@ +#version 460 + +out VV +{ + vec4 val; +}; +out vec4 color; +void main() +{ + val = vec4(0.5); + color = vec4(1.0); + gl_Position = vec4(1.0); +} + diff --git a/Test/link.crossStageOptimization.frag b/Test/link.crossStageOptimization.frag new file mode 100644 index 00000000..af7c2c4d --- /dev/null +++ b/Test/link.crossStageOptimization.frag @@ -0,0 +1,24 @@ +#version 440 + +layout(location = 0) in vec4 a0; // accessed +layout(location = 1) in vec4 a1; // not accessed +layout(location = 2) in vec4 a2; // accessed +layout(location = 3) in vec4 a3; // not accessed + +layout(location = 0) out vec4 oColor; + +void main() +{ + vec4 temp = vec4(1.0); + if (true) + { + temp *= a0; + temp *= a2; + } + if (false) + { + temp *= a1; + temp *= a3; + } + oColor = temp; +} diff --git a/Test/link.crossStageOptimization.vert b/Test/link.crossStageOptimization.vert new file mode 100644 index 00000000..159c1338 --- /dev/null +++ b/Test/link.crossStageOptimization.vert @@ -0,0 +1,41 @@ +#version 440 + +layout(std140) uniform AccessedUniformBlock +{ + vec4 a; + vec4 b; +}; + +layout(std140) uniform NotAccessedUniformBlock +{ + vec4 c; + vec4 d; +}; + +layout(std430) buffer AccessedStorageBlock +{ + float e[512]; +}; + +layout(std430) buffer NotAccessedStorageBlock +{ + float f[512]; +}; + +uniform sampler2D uSampler0; // accessed +uniform sampler2D uSampler1; // not accessed + +layout(location = 0) out vec4 a0; // accessed +layout(location = 1) out vec4 a1; // not accessed +layout(location = 2) out vec4 a2; // accessed +layout(location = 3) out vec4 a3; // not accessed + +void main() +{ + a0 = a + vec4(e[0]) + texture(uSampler0, vec2(0.5, 0.5)); + a1 = c + vec4(f[1]) + texture(uSampler1, vec2(0.5, 0.5)); + a2 = b + vec4(e[0]) + texture(uSampler0, vec2(0.5, 0.5)); + a3 = d + vec4(f[1]) + texture(uSampler1, vec2(0.5, 0.5)); + + gl_Position = vec4(1.0, 1.0, 1.0, 1.0); +} diff --git a/Test/link.vk.inconsistentGLPerVertex.0.geom b/Test/link.vk.inconsistentGLPerVertex.0.geom old mode 100755 new mode 100644 diff --git a/Test/link.vk.inconsistentGLPerVertex.0.vert b/Test/link.vk.inconsistentGLPerVertex.0.vert old mode 100755 new mode 100644 diff --git a/Test/matrixCompMult.vert b/Test/matrixCompMult.vert new file mode 100644 index 00000000..cccdbbc9 --- /dev/null +++ b/Test/matrixCompMult.vert @@ -0,0 +1,32 @@ +#version 460 +precision highp float; +precision highp int; +out float o1; +void main() +{ + const mat2 cval = matrixCompMult(mat2(1.0), mat2(1.0)); + const mat3 cval1 = matrixCompMult(mat3(1.0), mat3(1.0)); + const mat4 cval2 = matrixCompMult(mat4(1.0), mat4(1.0)); + const mat2x3 cval3 = matrixCompMult(mat2x3(1.0), mat2x3(1.0)); + const mat2x4 cval4 = matrixCompMult(mat2x4(1.0), mat2x4(1.0)); + const mat3x2 cval5 = matrixCompMult(mat3x2(1.0), mat3x2(1.0)); + const mat3x4 cval6 = matrixCompMult(mat3x4(1.0), mat3x4(1.0)); + const mat4x2 cval7 = matrixCompMult(mat4x2(1.0), mat4x2(1.0)); + const mat4x3 cval8 = matrixCompMult(mat4x3(1.0), mat4x3(1.0)); + const dmat2 cval9 = matrixCompMult(dmat2(1.0), dmat2(1.0)); + const dmat3 cval10 = matrixCompMult(dmat3(1.0), dmat3(1.0)); + const dmat4 cval11 = matrixCompMult(dmat4(1.0), dmat4(1.0)); + const dmat2x3 cval12 = matrixCompMult(dmat2x3(1.0), dmat2x3(1.0)); + const dmat2x4 cval13 = matrixCompMult(dmat2x4(1.0), dmat2x4(1.0)); + const dmat3x2 cval14 = matrixCompMult(dmat3x2(1.0), dmat3x2(1.0)); + const dmat3x4 cval15 = matrixCompMult(dmat3x4(1.0), dmat3x4(1.0)); + const dmat4x2 cval16 = matrixCompMult(dmat4x2(1.0), dmat4x2(1.0)); + const dmat4x3 cval17 = matrixCompMult(dmat4x3(1.0), dmat4x3(1.0)); + + o1 = float(cval[0][0] + cval1[0][0] + cval2[0][0] + cval3[0][0] + + cval4[0][0] + cval5[0][0] + cval6[0][0] + cval7[0][0] + + cval8[0][0] + cval9[0][0] + cval10[0][0] + cval11[0][0] + + cval12[0][0] + cval13[0][0] + cval14[0][0] + cval15[0][0] + + cval16[0][0] + cval17[0][0]); +} + diff --git a/Test/preprocess.inactive_stringify.vert b/Test/preprocess.inactive_stringify.vert new file mode 100755 index 00000000..8f3a9425 --- /dev/null +++ b/Test/preprocess.inactive_stringify.vert @@ -0,0 +1,28 @@ +#version 460 + +// This tests that the preprocessor error +// "error: '#' : (#) can be preceded in its line only by spaces or horizontal tab" +// isn't enforced when inactive (e.g. inside #if 0) + +#if 0 +#define STRINGIFY(X) #X +#endif + +#define C 0 + +#if 1 +#ifdef A +#elif defined B +#elif C +// OK, since preprocessor evaluates to inactive +#define STRINGIFY(X) #X +#endif +#endif + +// OK in comments +// #define STRINGIFY(X) #X + +void main() +{ + gl_Position = vec4(1.0); +} \ No newline at end of file diff --git a/Test/ps_sample.frag b/Test/ps_sample.frag new file mode 100644 index 00000000..040eb35b --- /dev/null +++ b/Test/ps_sample.frag @@ -0,0 +1,17 @@ +#version 430 core +#extension GL_ARB_enhanced_layouts : require + +layout (location = 1, component = 0) flat in uint gohan; +layout (location = 1, component = 2) sample flat in uvec2 goten; + +in vec4 gs_fs; +out vec4 fs_out; + +void main() +{ + vec4 result = gs_fs; + + + + fs_out = result; +} diff --git a/Test/ps_uint_int.frag b/Test/ps_uint_int.frag new file mode 100644 index 00000000..7ffaf570 --- /dev/null +++ b/Test/ps_uint_int.frag @@ -0,0 +1,7 @@ +#version 450 + +layout(location=0, component=0) flat in uint u; +layout(location=0, component=1) flat in int i; + +void main() { +} diff --git a/Test/runtests b/Test/runtests index 00c2babd..cc4134fe 100755 --- a/Test/runtests +++ b/Test/runtests @@ -348,6 +348,13 @@ diff -b $BASEDIR/enhanced.7.link.out "$TARGETDIR/enhanced.7.link.out" || HASERRO run --enhanced-msgs -V --target-env vulkan1.2 --amb --aml spv.textureError.frag > "$TARGETDIR/spv.textureError.frag.out" diff -b $BASEDIR/spv.textureError.frag.out "$TARGETDIR/spv.textureError.frag.out" || HASERROR=1 +# +# Test error column +# +echo "Testing error-column" +run --error-column -C -V error-column.vert > "$TARGETDIR/error-column.vert.out" +diff -b $BASEDIR/error-column.vert.out $TARGETDIR/error-column.vert.out || HASERROR=1 + # # Test UTF8BOM # @@ -355,6 +362,13 @@ echo "Testing UTF8BOM" run --glsl-version 410 -V -S vert UTF8BOM.vert > $TARGETDIR/UTF8BOM.vert.out diff -b $BASEDIR/UTF8BOM.vert.out $TARGETDIR/UTF8BOM.vert.out || HASERROR=1 +# +# Test LTO +# +echo "Testing link-time optimization" +run -V -H --amb --aml -l --lto link.crossStageOptimization.vert link.crossStageOptimization.frag > "$TARGETDIR/link.crossStageOptimization.out" +diff -b $BASEDIR/link.crossStageOptimization.out "$TARGETDIR/link.crossStageOptimization.out" || HASERROR=1 + # # Final checking # diff --git a/Test/spv.computeShaderDerivativesSpec.comp b/Test/spv.computeShaderDerivativesSpec.comp new file mode 100644 index 00000000..dd452d37 --- /dev/null +++ b/Test/spv.computeShaderDerivativesSpec.comp @@ -0,0 +1,8 @@ +#version 450 +#extension GL_NV_compute_shader_derivatives : require + +layout (local_size_x_id = 0, local_size_y_id = 1) in; +layout(derivative_group_quadsNV) in; + +void main(){ +} diff --git a/Test/spv.computeShaderDerivativesSpec2.comp b/Test/spv.computeShaderDerivativesSpec2.comp new file mode 100644 index 00000000..48310ef5 --- /dev/null +++ b/Test/spv.computeShaderDerivativesSpec2.comp @@ -0,0 +1,8 @@ +#version 320 es +#extension GL_NV_compute_shader_derivatives : require + +layout (local_size_x_id = 0, local_size_y_id = 1) in; +layout(derivative_group_linearNV) in; + +void main(){ +} diff --git a/Test/spv.debuginfo.coopmatKHR.comp b/Test/spv.debuginfo.coopmatKHR.comp new file mode 100644 index 00000000..dceffcea --- /dev/null +++ b/Test/spv.debuginfo.coopmatKHR.comp @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2019-2024, NVIDIA CORPORATION. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is 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 Software. + * + * THE SOFTWARE IS 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 SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ +#version 450 core +#pragma use_vulkan_memory_model +#extension GL_EXT_scalar_block_layout : enable +#extension GL_KHR_memory_scope_semantics : enable +#extension GL_KHR_cooperative_matrix : enable +#extension GL_EXT_shader_explicit_arithmetic_types_float16 : enable +#extension GL_EXT_shader_explicit_arithmetic_types_int8 : enable +#extension GL_EXT_shader_explicit_arithmetic_types_int32 : enable +#extension GL_EXT_buffer_reference : enable +#extension GL_EXT_control_flow_attributes : enable + +layout(constant_id = 0) const uint lM = 1; +layout(constant_id = 1) const uint lN = 1; +layout(constant_id = 2) const uint lK = 1; +layout(constant_id = 3) const uint TILE_M = 1; +layout(constant_id = 4) const uint TILE_N = 1; +layout(constant_id = 5) const uint TILE_K = 1; +layout(constant_id = 6) const uint K = 1; + +#define A_BITS 16 +#define A_TYPE float16_t +#define C_BITS 16 +#define C_TYPE float16_t + +buffer Output { C_TYPE x[]; } outputO; + +shared uvec4 Ash[128]; +shared uvec4 Bsh[128]; + +const uint C_ROWS = 2; +const uint C_COLS = 2; +coopmat result[C_ROWS][C_COLS]; + +void main() +{ + [[unroll]] for (uint i = 0; i < C_ROWS; ++i) { + [[unroll]] for (uint j = 0; j < C_COLS; ++j) { + result[i][j] = coopmat(0.0); + } + } + + for (uint chunkK = 0; chunkK < K; chunkK += TILE_K) { + [[unroll]] for (uint k = 0; k < TILE_K / lK; ++k) + { + coopmat matA[C_ROWS]; + [[unroll]] for (uint i = 0; i < C_ROWS; ++i) { + coopMatLoad(matA[i], Ash, 0, 0, gl_CooperativeMatrixLayoutRowMajor); + } + + coopmat matB; + [[unroll]] for (uint j = 0; j < C_COLS; ++j) { + coopMatLoad(matB, Bsh, 0, 0, gl_CooperativeMatrixLayoutRowMajor); + + [[unroll]] for (uint i = 0; i < C_ROWS; ++i) { + result[i][j] = coopMatMulAdd(matA[i], matB, result[i][j]); + } + } + } + } + + [[unroll]] for (uint i = 0; i < C_ROWS; ++i) { + [[unroll]] for (uint j = 0; j < C_COLS; ++j) { + coopMatStore(result[i][j], outputO.x, 0, 0, gl_CooperativeMatrixLayoutRowMajor); + } + } +} diff --git a/Test/spv.debuginfo.implicit_br.glsl.frag b/Test/spv.debuginfo.implicit_br.glsl.frag new file mode 100644 index 00000000..2451b771 --- /dev/null +++ b/Test/spv.debuginfo.implicit_br.glsl.frag @@ -0,0 +1,60 @@ +#version 460 + +out int outx; +int counter = 0; + +void test_if() { + if (false) { + counter += 1; + } +} + +void test_ifelse() { + if (false) { + counter += 1; + } + else { + counter += 2; + } +} + +void test_if_compound() { + if (false) { + if (false) { + counter += 1; + } + } +} + +void test_if_compound2() { + if (false) { + if (false) { + counter += 1; + } + + counter += 2; + } +} + +void test_switch() { + switch (0) { + case 0: + counter += 1; + // implict fallthrough + case 1: + counter += 2; + break; + default: + counter += 3; + // implicit break + } +} + +void main() { + test_if(); + test_ifelse(); + test_if_compound(); + test_if_compound2(); + test_switch(); + outx = counter; +} \ No newline at end of file diff --git a/Test/spv.debuginfo.multiline.glsl.frag b/Test/spv.debuginfo.multiline.glsl.frag new file mode 100644 index 00000000..8ed0700c --- /dev/null +++ b/Test/spv.debuginfo.multiline.glsl.frag @@ -0,0 +1,25 @@ +#version 460 + +in float inx; +out float outx; + +float add(float x, float y, float z) { + return + x + + + y + + + z + ; +} + +void main() { + outx + = + add( + inx+1, + inx+2, + inx+3 + ) + ; +} \ No newline at end of file diff --git a/Test/spv.ext.AnyHitShader.rahit b/Test/spv.ext.AnyHitShader.rahit old mode 100755 new mode 100644 diff --git a/Test/spv.ext.ClosestHitShader.rchit b/Test/spv.ext.ClosestHitShader.rchit old mode 100755 new mode 100644 diff --git a/Test/spv.multiple.var.same.const.frag b/Test/spv.multiple.var.same.const.frag new file mode 100644 index 00000000..ead9a3cf --- /dev/null +++ b/Test/spv.multiple.var.same.const.frag @@ -0,0 +1,6 @@ +#version 320 es +precision mediump float; +const float var0 = 1e-6; +const float var1 = 1e-6; +void main(){} + diff --git a/Test/spv.nv.hitobject-errors.rgen b/Test/spv.nv.hitobject-errors.rgen new file mode 100644 index 00000000..9744ccf4 --- /dev/null +++ b/Test/spv.nv.hitobject-errors.rgen @@ -0,0 +1,24 @@ +#version 460 +#extension GL_EXT_ray_tracing : enable +#extension GL_NV_shader_invocation_reorder : enable + + +hitObjectNV hObjGlob; // OK +uniform hitObjectNV uHitObj; // ERROR + +layout(location=0) in hitObjectNV hobjIn; // ERROR +out hitObjectNV hobjOut; // ERROR + +struct hObjWrapper{ + hitObjectNV objField; + vec3 v; +}; + +void foo(hitObjectNV hObjArg) {} // OK + +void main() +{ + hObjWrapper wrapper; // ERROR + hitObjectNV localHitObj; // OK + foo(localHitObj); // OK +} diff --git a/Test/tes_patch.tese b/Test/tes_patch.tese new file mode 100644 index 00000000..d41b5be5 --- /dev/null +++ b/Test/tes_patch.tese @@ -0,0 +1,19 @@ +#version 430 core +#extension GL_ARB_enhanced_layouts : require + +layout(isolines, point_mode) in; + +layout (location = 1, component = 0) in vec2 gohan[]; +layout (location = 1, component = 2) patch in vec2 goten; + +in vec4 tcs_tes[]; +out vec4 tes_gs; + +void main() +{ + vec4 result = tcs_tes[0]; + + + + tes_gs += result; +} diff --git a/Test/vk.relaxed.changeSet.frag b/Test/vk.relaxed.changeSet.frag old mode 100755 new mode 100644 diff --git a/Test/vk.relaxed.changeSet.vert b/Test/vk.relaxed.changeSet.vert old mode 100755 new mode 100644 diff --git a/Test/vk.relaxed.stagelink.0.0.frag b/Test/vk.relaxed.stagelink.0.0.frag old mode 100755 new mode 100644 diff --git a/Test/vk.relaxed.stagelink.0.0.vert b/Test/vk.relaxed.stagelink.0.0.vert old mode 100755 new mode 100644 diff --git a/Test/vk.relaxed.stagelink.0.1.frag b/Test/vk.relaxed.stagelink.0.1.frag old mode 100755 new mode 100644 diff --git a/Test/vk.relaxed.stagelink.0.1.vert b/Test/vk.relaxed.stagelink.0.1.vert old mode 100755 new mode 100644 diff --git a/Test/vk.relaxed.stagelink.0.2.frag b/Test/vk.relaxed.stagelink.0.2.frag old mode 100755 new mode 100644 diff --git a/Test/vk.relaxed.stagelink.0.2.vert b/Test/vk.relaxed.stagelink.0.2.vert old mode 100755 new mode 100644 diff --git a/glslang/CInterface/glslang_c_interface.cpp b/glslang/CInterface/glslang_c_interface.cpp index c115df2f..956f0688 100644 --- a/glslang/CInterface/glslang_c_interface.cpp +++ b/glslang/CInterface/glslang_c_interface.cpp @@ -34,9 +34,13 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "StandAlone/DirStackFileIncluder.h" #include "glslang/Public/ResourceLimits.h" +#include "glslang/Public/ShaderLang.h" #include "glslang/Include/ShHandle.h" +#include "glslang/Include/BaseTypes.h" #include "glslang/Include/ResourceLimits.h" +#include "glslang/Include/Types.h" +#include "glslang/MachineIndependent/iomapper.h" #include "glslang/MachineIndependent/Versions.h" #include "glslang/MachineIndependent/localintermediate.h" @@ -54,10 +58,12 @@ static_assert(int(GLSLANG_REFLECTION_COUNT) == EShReflectionCount, ""); static_assert(int(GLSLANG_PROFILE_COUNT) == EProfileCount, ""); static_assert(sizeof(glslang_limits_t) == sizeof(TLimits), ""); static_assert(sizeof(glslang_resource_t) == sizeof(TBuiltInResource), ""); +static_assert(sizeof(glslang_version_t) == sizeof(glslang::Version), ""); typedef struct glslang_shader_s { glslang::TShader* shader; std::string preprocessedGLSL; + std::vector baseResourceSetBinding; } glslang_shader_t; typedef struct glslang_program_s { @@ -140,11 +146,15 @@ private: /* User-defined context */ void* context; }; - #ifdef __cplusplus extern "C" { #endif +GLSLANG_EXPORT void glslang_get_version(glslang_version_t* version) +{ + *reinterpret_cast(version) = glslang::GetVersion(); +} + GLSLANG_EXPORT int glslang_initialize_process() { return static_cast(glslang::InitializeProcess()); } GLSLANG_EXPORT void glslang_finalize_process() { glslang::FinalizeProcess(); } @@ -209,7 +219,9 @@ static int c_shader_messages(glslang_messages_t messages) CONVERT_MSG(GLSLANG_MSG_HLSL_LEGALIZATION_BIT, EShMsgHlslLegalization); CONVERT_MSG(GLSLANG_MSG_HLSL_DX9_COMPATIBLE_BIT, EShMsgHlslDX9Compatible); CONVERT_MSG(GLSLANG_MSG_BUILTIN_SYMBOL_TABLE_BIT, EShMsgBuiltinSymbolTable); + CONVERT_MSG(GLSLANG_MSG_ENHANCED, EShMsgEnhanced); CONVERT_MSG(GLSLANG_MSG_ABSOLUTE_PATH, EShMsgAbsolutePath); + CONVERT_MSG(GLSLANG_MSG_DISPLAY_ERROR_COLUMN, EShMsgDisplayErrorColumn); return res; #undef CONVERT_MSG } @@ -315,7 +327,7 @@ static EProfile c_shader_profile(glslang_profile_t profile) GLSLANG_EXPORT glslang_shader_t* glslang_shader_create(const glslang_input_t* input) { if (!input || !input->code) { - printf("Error creating shader: null input(%p)/input->code\n", input); + printf("Error creating shader: null input(%p)/input->code\n", (void*)input); if (input) printf("input->code = %p\n", input->code); @@ -384,11 +396,35 @@ GLSLANG_EXPORT void glslang_shader_set_glsl_version(glslang_shader_t* shader, in shader->shader->setOverrideVersion(version); } +GLSLANG_EXPORT void glslang_shader_set_default_uniform_block_set_and_binding(glslang_shader_t* shader, unsigned int set, unsigned int binding) { + shader->shader->setGlobalUniformSet(set); + shader->shader->setGlobalUniformBinding(binding); +} + +GLSLANG_EXPORT void glslang_shader_set_default_uniform_block_name(glslang_shader_t* shader, const char *name) { + shader->shader->setGlobalUniformBlockName(name); +} + +GLSLANG_EXPORT void glslang_shader_set_resource_set_binding(glslang_shader_t* shader, const char *const *bindings, unsigned int num_bindings) { + shader->baseResourceSetBinding.clear(); + + for (unsigned int i = 0; i < num_bindings; ++i) { + shader->baseResourceSetBinding.push_back(std::string(bindings[i])); + } + + shader->shader->setResourceSetBinding(shader->baseResourceSetBinding); +} + GLSLANG_EXPORT const char* glslang_shader_get_preprocessed_code(glslang_shader_t* shader) { return shader->preprocessedGLSL.c_str(); } +GLSLANG_EXPORT void glslang_shader_set_preprocessed_code(glslang_shader_t* shader, const char* code) +{ + shader->preprocessedGLSL.assign(code); +} + GLSLANG_EXPORT int glslang_shader_preprocess(glslang_shader_t* shader, const glslang_input_t* input) { DirStackFileIncluder dirStackFileIncluder; @@ -475,6 +511,11 @@ GLSLANG_EXPORT int glslang_program_map_io(glslang_program_t* program) return (int)program->program->mapIO(); } +GLSLANG_EXPORT int glslang_program_map_io_with_resolver_and_mapper(glslang_program_t* program, glslang_resolver_t* resolver, glslang_mapper_t* mapper) +{ + return (int)program->program->mapIO(reinterpret_cast(resolver), reinterpret_cast(mapper)); +} + GLSLANG_EXPORT const char* glslang_program_get_info_log(glslang_program_t* program) { return program->program->getInfoLog(); @@ -485,6 +526,60 @@ GLSLANG_EXPORT const char* glslang_program_get_info_debug_log(glslang_program_t* return program->program->getInfoDebugLog(); } +GLSLANG_EXPORT glslang_mapper_t* glslang_glsl_mapper_create() +{ + return reinterpret_cast(new glslang::TGlslIoMapper()); +} + +GLSLANG_EXPORT void glslang_glsl_mapper_delete(glslang_mapper_t* mapper) +{ + if (!mapper) + return; + + delete reinterpret_cast(mapper); +} + +GLSLANG_EXPORT glslang_resolver_t* glslang_glsl_resolver_create(glslang_program_t* program, glslang_stage_t stage) +{ + glslang::TIntermediate* intermediate = program->program->getIntermediate(c_shader_stage(stage)); + return reinterpret_cast(new glslang::TDefaultGlslIoResolver(reinterpret_cast(*intermediate))); +} + +GLSLANG_EXPORT void glslang_glsl_resolver_delete(glslang_resolver_t* resolver) +{ + if (!resolver) + return; + + delete reinterpret_cast(resolver); +} + +GLSLANG_EXPORT glslang_mapper_t* glslang_glsl_mapper_create() +{ + return reinterpret_cast(new glslang::TGlslIoMapper()); +} + +GLSLANG_EXPORT void glslang_glsl_mapper_delete(glslang_mapper_t* mapper) +{ + if (!mapper) + return; + + delete reinterpret_cast(mapper); +} + +GLSLANG_EXPORT glslang_resolver_t* glslang_glsl_resolver_create(glslang_program_t* program, glslang_stage_t stage) +{ + glslang::TIntermediate* intermediate = program->program->getIntermediate(c_shader_stage(stage)); + return reinterpret_cast(new glslang::TDefaultGlslIoResolver(reinterpret_cast(*intermediate))); +} + +GLSLANG_EXPORT void glslang_glsl_resolver_delete(glslang_resolver_t* resolver) +{ + if (!resolver) + return; + + delete reinterpret_cast(resolver); +} + #ifdef __cplusplus } #endif \ No newline at end of file diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt index 8d4b1e9c..47925d8d 100644 --- a/glslang/CMakeLists.txt +++ b/glslang/CMakeLists.txt @@ -47,9 +47,12 @@ endif() ################################################################################ # GenericCodeGen ################################################################################ -add_library(GenericCodeGen STATIC +set(GENERICCODEGEN_SOURCES GenericCodeGen/CodeGen.cpp GenericCodeGen/Link.cpp) + +add_library(GenericCodeGen STATIC + stub.cpp) set_property(TARGET GenericCodeGen PROPERTY POSITION_INDEPENDENT_CODE ON) set_property(TARGET GenericCodeGen PROPERTY FOLDER glslang) @@ -130,21 +133,16 @@ if(ENABLE_HLSL) HLSL/hlslParseables.h) endif() -add_library(MachineIndependent STATIC ${MACHINEINDEPENDENT_SOURCES} ${MACHINEINDEPENDENT_HEADERS}) +add_library(MachineIndependent STATIC stub.cpp) set_property(TARGET MachineIndependent PROPERTY POSITION_INDEPENDENT_CODE ON) set_property(TARGET MachineIndependent PROPERTY FOLDER glslang) +target_link_libraries(MachineIndependent PRIVATE glslang) if (NOT MSVC) # -Wunused-but-set-variable is triggered in code generated by bison that we do not control. Turn this warning off, but only for the generated. set_source_files_properties(MachineIndependent/glslang_tab.cpp PROPERTIES COMPILE_FLAGS -Wno-unused-but-set-variable) endif() -glslang_add_build_info_dependency(MachineIndependent) - -glslang_pch(MachineIndependent MachineIndependent/pch.h) - -target_link_libraries(MachineIndependent PRIVATE OSDependent GenericCodeGen) - ################################################################################ # glslang ################################################################################ @@ -166,28 +164,45 @@ set(GLSLANG_HEADERS Include/ResourceLimits.h Include/ShHandle.h Include/SpirvIntrinsics.h - Include/Types.h) + Include/Types.h + Include/visibility.h) -add_library(glslang ${LIB_TYPE} ${GLSLANG_SOURCES} ${GLSLANG_HEADERS}) +add_library(glslang ${LIB_TYPE} ${GLSLANG_SOURCES} ${GLSLANG_HEADERS} ${GENERICCODEGEN_SOURCES} ${GENERICCODEGEN_HEADERS} ${OSDEPENDENT_SOURCES} ${OSDEPENDENT_HEADERS} ${MACHINEINDEPENDENT_SOURCES} ${MACHINEINDEPENDENT_HEADERS} ${SPIRV_SOURCES} ${SPIRV_HEADERS}) add_library(glslang::glslang ALIAS glslang) set_target_properties(glslang PROPERTIES FOLDER glslang POSITION_INDEPENDENT_CODE ON VERSION "${GLSLANG_VERSION}" SOVERSION "${GLSLANG_VERSION_MAJOR}") -target_link_libraries(glslang PRIVATE OSDependent MachineIndependent) target_include_directories(glslang PUBLIC $ $) glslang_add_build_info_dependency(glslang) +glslang_pch(glslang MachineIndependent/pch.h) + glslang_only_export_explicit_symbols(glslang) if(WIN32 AND BUILD_SHARED_LIBS) set_target_properties(glslang PROPERTIES PREFIX "") endif() +if(ENABLE_SPIRV) + if(ENABLE_OPT) + target_include_directories(glslang PUBLIC + $) + target_link_libraries(glslang SPIRV-Tools-opt) + endif() +endif() + +# Link pthread +if(UNIX OR "${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia" OR ANDROID) + set(THREADS_PREFER_PTHREAD_FLAG ON) + find_package(Threads REQUIRED) + target_link_libraries(glslang Threads::Threads) +endif() + ################################################################################ # ResourceLimits ################################################################################ @@ -212,11 +227,14 @@ set_target_properties(glslang-default-resource-limits PROPERTIES target_include_directories(glslang-default-resource-limits PUBLIC $ $) +glslang_only_export_explicit_symbols(glslang-default-resource-limits) ################################################################################ # source_groups ################################################################################ if(WIN32) + source_group("OSDependent" REGULAR_EXPRESSION "OSDependent/[^/]*") + source_group("OSDependent\\Windows" REGULAR_EXPRESSION "OSDependent/Windows/*") source_group("Public" REGULAR_EXPRESSION "Public/*") source_group("MachineIndependent" REGULAR_EXPRESSION "MachineIndependent/[^/]*") source_group("Include" REGULAR_EXPRESSION "Include/[^/]*") @@ -224,6 +242,8 @@ if(WIN32) source_group("MachineIndependent\\Preprocessor" REGULAR_EXPRESSION "MachineIndependent/preprocessor/*") source_group("HLSL" REGULAR_EXPRESSION "HLSL/*") source_group("CInterface" REGULAR_EXPRESSION "CInterface/*") + source_group("SPIRV" REGULAR_EXPRESSION "SPIRV/[^/]*") + source_group("SPIRV\\CInterface" REGULAR_EXPRESSION "SPIRV/CInterface/*") endif() ################################################################################ @@ -243,6 +263,7 @@ if(GLSLANG_ENABLE_INSTALL) Include/glslang_c_interface.h Include/glslang_c_shader_types.h Include/ResourceLimits.h + Include/visibility.h MachineIndependent/Versions.h) foreach(file ${PUBLIC_HEADERS}) diff --git a/glslang/HLSL/hlslParseHelper.cpp b/glslang/HLSL/hlslParseHelper.cpp index 0fd724d0..63a4deb0 100644 --- a/glslang/HLSL/hlslParseHelper.cpp +++ b/glslang/HLSL/hlslParseHelper.cpp @@ -43,8 +43,6 @@ #include "../MachineIndependent/Scan.h" #include "../MachineIndependent/preprocessor/PpContext.h" -#include "../OSDependent/osinclude.h" - #include #include #include @@ -1441,7 +1439,7 @@ int HlslParseContext::findSubtreeOffset(const TType& type, int subset, const TVe return offsets[subset]; TType derefType(type, 0); return findSubtreeOffset(derefType, offsets[subset], offsets); -}; +} // Find and return the split IO TVariable for id, or nullptr if none. TVariable* HlslParseContext::getSplitNonIoVar(long long id) const @@ -6059,7 +6057,7 @@ void HlslParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fn unaryArg = callNode.getAsUnaryNode()->getOperand(); arg0 = unaryArg; } - const TIntermSequence& aggArgs = *argp; // only valid when unaryArg is nullptr + const TIntermSequence& aggArgs = argp ? *argp : TIntermSequence(); // only valid when unaryArg is nullptr switch (callNode.getOp()) { case EOpTextureGather: diff --git a/glslang/HLSL/hlslScanContext.cpp b/glslang/HLSL/hlslScanContext.cpp index e9edb619..e45643e9 100644 --- a/glslang/HLSL/hlslScanContext.cpp +++ b/glslang/HLSL/hlslScanContext.cpp @@ -78,414 +78,396 @@ struct str_hash }; // A single global usable by all threads, by all versions, by all languages. -// After a single process-level initialization, this is read only and thread safe -std::unordered_map* KeywordMap = nullptr; -std::unordered_set* ReservedSet = nullptr; -std::unordered_map* SemanticMap = nullptr; +const std::unordered_map KeywordMap { + {"static",glslang::EHTokStatic}, + {"const",glslang::EHTokConst}, + {"unorm",glslang::EHTokUnorm}, + {"snorm",glslang::EHTokSNorm}, + {"extern",glslang::EHTokExtern}, + {"uniform",glslang::EHTokUniform}, + {"volatile",glslang::EHTokVolatile}, + {"precise",glslang::EHTokPrecise}, + {"shared",glslang::EHTokShared}, + {"groupshared",glslang::EHTokGroupShared}, + {"linear",glslang::EHTokLinear}, + {"centroid",glslang::EHTokCentroid}, + {"nointerpolation",glslang::EHTokNointerpolation}, + {"noperspective",glslang::EHTokNoperspective}, + {"sample",glslang::EHTokSample}, + {"row_major",glslang::EHTokRowMajor}, + {"column_major",glslang::EHTokColumnMajor}, + {"packoffset",glslang::EHTokPackOffset}, + {"in",glslang::EHTokIn}, + {"out",glslang::EHTokOut}, + {"inout",glslang::EHTokInOut}, + {"layout",glslang::EHTokLayout}, + {"globallycoherent",glslang::EHTokGloballyCoherent}, + {"inline",glslang::EHTokInline}, + {"point",glslang::EHTokPoint}, + {"line",glslang::EHTokLine}, + {"triangle",glslang::EHTokTriangle}, + {"lineadj",glslang::EHTokLineAdj}, + {"triangleadj",glslang::EHTokTriangleAdj}, + + {"PointStream",glslang::EHTokPointStream}, + {"LineStream",glslang::EHTokLineStream}, + {"TriangleStream",glslang::EHTokTriangleStream}, + + {"InputPatch",glslang::EHTokInputPatch}, + {"OutputPatch",glslang::EHTokOutputPatch}, + + {"Buffer",glslang::EHTokBuffer}, + {"vector",glslang::EHTokVector}, + {"matrix",glslang::EHTokMatrix}, + + {"void",glslang::EHTokVoid}, + {"string",glslang::EHTokString}, + {"bool",glslang::EHTokBool}, + {"int",glslang::EHTokInt}, + {"uint",glslang::EHTokUint}, + {"uint64_t",glslang::EHTokUint64}, + {"dword",glslang::EHTokDword}, + {"half",glslang::EHTokHalf}, + {"float",glslang::EHTokFloat}, + {"double",glslang::EHTokDouble}, + {"min16float",glslang::EHTokMin16float}, + {"min10float",glslang::EHTokMin10float}, + {"min16int",glslang::EHTokMin16int}, + {"min12int",glslang::EHTokMin12int}, + {"min16uint",glslang::EHTokMin16uint}, + + {"bool1",glslang::EHTokBool1}, + {"bool2",glslang::EHTokBool2}, + {"bool3",glslang::EHTokBool3}, + {"bool4",glslang::EHTokBool4}, + {"float1",glslang::EHTokFloat1}, + {"float2",glslang::EHTokFloat2}, + {"float3",glslang::EHTokFloat3}, + {"float4",glslang::EHTokFloat4}, + {"int1",glslang::EHTokInt1}, + {"int2",glslang::EHTokInt2}, + {"int3",glslang::EHTokInt3}, + {"int4",glslang::EHTokInt4}, + {"double1",glslang::EHTokDouble1}, + {"double2",glslang::EHTokDouble2}, + {"double3",glslang::EHTokDouble3}, + {"double4",glslang::EHTokDouble4}, + {"uint1",glslang::EHTokUint1}, + {"uint2",glslang::EHTokUint2}, + {"uint3",glslang::EHTokUint3}, + {"uint4",glslang::EHTokUint4}, + + {"half1",glslang::EHTokHalf1}, + {"half2",glslang::EHTokHalf2}, + {"half3",glslang::EHTokHalf3}, + {"half4",glslang::EHTokHalf4}, + {"min16float1",glslang::EHTokMin16float1}, + {"min16float2",glslang::EHTokMin16float2}, + {"min16float3",glslang::EHTokMin16float3}, + {"min16float4",glslang::EHTokMin16float4}, + {"min10float1",glslang::EHTokMin10float1}, + {"min10float2",glslang::EHTokMin10float2}, + {"min10float3",glslang::EHTokMin10float3}, + {"min10float4",glslang::EHTokMin10float4}, + {"min16int1",glslang::EHTokMin16int1}, + {"min16int2",glslang::EHTokMin16int2}, + {"min16int3",glslang::EHTokMin16int3}, + {"min16int4",glslang::EHTokMin16int4}, + {"min12int1",glslang::EHTokMin12int1}, + {"min12int2",glslang::EHTokMin12int2}, + {"min12int3",glslang::EHTokMin12int3}, + {"min12int4",glslang::EHTokMin12int4}, + {"min16uint1",glslang::EHTokMin16uint1}, + {"min16uint2",glslang::EHTokMin16uint2}, + {"min16uint3",glslang::EHTokMin16uint3}, + {"min16uint4",glslang::EHTokMin16uint4}, + + {"bool1x1",glslang::EHTokBool1x1}, + {"bool1x2",glslang::EHTokBool1x2}, + {"bool1x3",glslang::EHTokBool1x3}, + {"bool1x4",glslang::EHTokBool1x4}, + {"bool2x1",glslang::EHTokBool2x1}, + {"bool2x2",glslang::EHTokBool2x2}, + {"bool2x3",glslang::EHTokBool2x3}, + {"bool2x4",glslang::EHTokBool2x4}, + {"bool3x1",glslang::EHTokBool3x1}, + {"bool3x2",glslang::EHTokBool3x2}, + {"bool3x3",glslang::EHTokBool3x3}, + {"bool3x4",glslang::EHTokBool3x4}, + {"bool4x1",glslang::EHTokBool4x1}, + {"bool4x2",glslang::EHTokBool4x2}, + {"bool4x3",glslang::EHTokBool4x3}, + {"bool4x4",glslang::EHTokBool4x4}, + {"int1x1",glslang::EHTokInt1x1}, + {"int1x2",glslang::EHTokInt1x2}, + {"int1x3",glslang::EHTokInt1x3}, + {"int1x4",glslang::EHTokInt1x4}, + {"int2x1",glslang::EHTokInt2x1}, + {"int2x2",glslang::EHTokInt2x2}, + {"int2x3",glslang::EHTokInt2x3}, + {"int2x4",glslang::EHTokInt2x4}, + {"int3x1",glslang::EHTokInt3x1}, + {"int3x2",glslang::EHTokInt3x2}, + {"int3x3",glslang::EHTokInt3x3}, + {"int3x4",glslang::EHTokInt3x4}, + {"int4x1",glslang::EHTokInt4x1}, + {"int4x2",glslang::EHTokInt4x2}, + {"int4x3",glslang::EHTokInt4x3}, + {"int4x4",glslang::EHTokInt4x4}, + {"uint1x1",glslang::EHTokUint1x1}, + {"uint1x2",glslang::EHTokUint1x2}, + {"uint1x3",glslang::EHTokUint1x3}, + {"uint1x4",glslang::EHTokUint1x4}, + {"uint2x1",glslang::EHTokUint2x1}, + {"uint2x2",glslang::EHTokUint2x2}, + {"uint2x3",glslang::EHTokUint2x3}, + {"uint2x4",glslang::EHTokUint2x4}, + {"uint3x1",glslang::EHTokUint3x1}, + {"uint3x2",glslang::EHTokUint3x2}, + {"uint3x3",glslang::EHTokUint3x3}, + {"uint3x4",glslang::EHTokUint3x4}, + {"uint4x1",glslang::EHTokUint4x1}, + {"uint4x2",glslang::EHTokUint4x2}, + {"uint4x3",glslang::EHTokUint4x3}, + {"uint4x4",glslang::EHTokUint4x4}, + {"bool1x1",glslang::EHTokBool1x1}, + {"bool1x2",glslang::EHTokBool1x2}, + {"bool1x3",glslang::EHTokBool1x3}, + {"bool1x4",glslang::EHTokBool1x4}, + {"bool2x1",glslang::EHTokBool2x1}, + {"bool2x2",glslang::EHTokBool2x2}, + {"bool2x3",glslang::EHTokBool2x3}, + {"bool2x4",glslang::EHTokBool2x4}, + {"bool3x1",glslang::EHTokBool3x1}, + {"bool3x2",glslang::EHTokBool3x2}, + {"bool3x3",glslang::EHTokBool3x3}, + {"bool3x4",glslang::EHTokBool3x4}, + {"bool4x1",glslang::EHTokBool4x1}, + {"bool4x2",glslang::EHTokBool4x2}, + {"bool4x3",glslang::EHTokBool4x3}, + {"bool4x4",glslang::EHTokBool4x4}, + {"float1x1",glslang::EHTokFloat1x1}, + {"float1x2",glslang::EHTokFloat1x2}, + {"float1x3",glslang::EHTokFloat1x3}, + {"float1x4",glslang::EHTokFloat1x4}, + {"float2x1",glslang::EHTokFloat2x1}, + {"float2x2",glslang::EHTokFloat2x2}, + {"float2x3",glslang::EHTokFloat2x3}, + {"float2x4",glslang::EHTokFloat2x4}, + {"float3x1",glslang::EHTokFloat3x1}, + {"float3x2",glslang::EHTokFloat3x2}, + {"float3x3",glslang::EHTokFloat3x3}, + {"float3x4",glslang::EHTokFloat3x4}, + {"float4x1",glslang::EHTokFloat4x1}, + {"float4x2",glslang::EHTokFloat4x2}, + {"float4x3",glslang::EHTokFloat4x3}, + {"float4x4",glslang::EHTokFloat4x4}, + {"half1x1",glslang::EHTokHalf1x1}, + {"half1x2",glslang::EHTokHalf1x2}, + {"half1x3",glslang::EHTokHalf1x3}, + {"half1x4",glslang::EHTokHalf1x4}, + {"half2x1",glslang::EHTokHalf2x1}, + {"half2x2",glslang::EHTokHalf2x2}, + {"half2x3",glslang::EHTokHalf2x3}, + {"half2x4",glslang::EHTokHalf2x4}, + {"half3x1",glslang::EHTokHalf3x1}, + {"half3x2",glslang::EHTokHalf3x2}, + {"half3x3",glslang::EHTokHalf3x3}, + {"half3x4",glslang::EHTokHalf3x4}, + {"half4x1",glslang::EHTokHalf4x1}, + {"half4x2",glslang::EHTokHalf4x2}, + {"half4x3",glslang::EHTokHalf4x3}, + {"half4x4",glslang::EHTokHalf4x4}, + {"double1x1",glslang::EHTokDouble1x1}, + {"double1x2",glslang::EHTokDouble1x2}, + {"double1x3",glslang::EHTokDouble1x3}, + {"double1x4",glslang::EHTokDouble1x4}, + {"double2x1",glslang::EHTokDouble2x1}, + {"double2x2",glslang::EHTokDouble2x2}, + {"double2x3",glslang::EHTokDouble2x3}, + {"double2x4",glslang::EHTokDouble2x4}, + {"double3x1",glslang::EHTokDouble3x1}, + {"double3x2",glslang::EHTokDouble3x2}, + {"double3x3",glslang::EHTokDouble3x3}, + {"double3x4",glslang::EHTokDouble3x4}, + {"double4x1",glslang::EHTokDouble4x1}, + {"double4x2",glslang::EHTokDouble4x2}, + {"double4x3",glslang::EHTokDouble4x3}, + {"double4x4",glslang::EHTokDouble4x4}, + {"min16float1x1",glslang::EHTokMin16float1x1}, + {"min16float1x2",glslang::EHTokMin16float1x2}, + {"min16float1x3",glslang::EHTokMin16float1x3}, + {"min16float1x4",glslang::EHTokMin16float1x4}, + {"min16float2x1",glslang::EHTokMin16float2x1}, + {"min16float2x2",glslang::EHTokMin16float2x2}, + {"min16float2x3",glslang::EHTokMin16float2x3}, + {"min16float2x4",glslang::EHTokMin16float2x4}, + {"min16float3x1",glslang::EHTokMin16float3x1}, + {"min16float3x2",glslang::EHTokMin16float3x2}, + {"min16float3x3",glslang::EHTokMin16float3x3}, + {"min16float3x4",glslang::EHTokMin16float3x4}, + {"min16float4x1",glslang::EHTokMin16float4x1}, + {"min16float4x2",glslang::EHTokMin16float4x2}, + {"min16float4x3",glslang::EHTokMin16float4x3}, + {"min16float4x4",glslang::EHTokMin16float4x4}, + {"min10float1x1",glslang::EHTokMin10float1x1}, + {"min10float1x2",glslang::EHTokMin10float1x2}, + {"min10float1x3",glslang::EHTokMin10float1x3}, + {"min10float1x4",glslang::EHTokMin10float1x4}, + {"min10float2x1",glslang::EHTokMin10float2x1}, + {"min10float2x2",glslang::EHTokMin10float2x2}, + {"min10float2x3",glslang::EHTokMin10float2x3}, + {"min10float2x4",glslang::EHTokMin10float2x4}, + {"min10float3x1",glslang::EHTokMin10float3x1}, + {"min10float3x2",glslang::EHTokMin10float3x2}, + {"min10float3x3",glslang::EHTokMin10float3x3}, + {"min10float3x4",glslang::EHTokMin10float3x4}, + {"min10float4x1",glslang::EHTokMin10float4x1}, + {"min10float4x2",glslang::EHTokMin10float4x2}, + {"min10float4x3",glslang::EHTokMin10float4x3}, + {"min10float4x4",glslang::EHTokMin10float4x4}, + {"min16int1x1",glslang::EHTokMin16int1x1}, + {"min16int1x2",glslang::EHTokMin16int1x2}, + {"min16int1x3",glslang::EHTokMin16int1x3}, + {"min16int1x4",glslang::EHTokMin16int1x4}, + {"min16int2x1",glslang::EHTokMin16int2x1}, + {"min16int2x2",glslang::EHTokMin16int2x2}, + {"min16int2x3",glslang::EHTokMin16int2x3}, + {"min16int2x4",glslang::EHTokMin16int2x4}, + {"min16int3x1",glslang::EHTokMin16int3x1}, + {"min16int3x2",glslang::EHTokMin16int3x2}, + {"min16int3x3",glslang::EHTokMin16int3x3}, + {"min16int3x4",glslang::EHTokMin16int3x4}, + {"min16int4x1",glslang::EHTokMin16int4x1}, + {"min16int4x2",glslang::EHTokMin16int4x2}, + {"min16int4x3",glslang::EHTokMin16int4x3}, + {"min16int4x4",glslang::EHTokMin16int4x4}, + {"min12int1x1",glslang::EHTokMin12int1x1}, + {"min12int1x2",glslang::EHTokMin12int1x2}, + {"min12int1x3",glslang::EHTokMin12int1x3}, + {"min12int1x4",glslang::EHTokMin12int1x4}, + {"min12int2x1",glslang::EHTokMin12int2x1}, + {"min12int2x2",glslang::EHTokMin12int2x2}, + {"min12int2x3",glslang::EHTokMin12int2x3}, + {"min12int2x4",glslang::EHTokMin12int2x4}, + {"min12int3x1",glslang::EHTokMin12int3x1}, + {"min12int3x2",glslang::EHTokMin12int3x2}, + {"min12int3x3",glslang::EHTokMin12int3x3}, + {"min12int3x4",glslang::EHTokMin12int3x4}, + {"min12int4x1",glslang::EHTokMin12int4x1}, + {"min12int4x2",glslang::EHTokMin12int4x2}, + {"min12int4x3",glslang::EHTokMin12int4x3}, + {"min12int4x4",glslang::EHTokMin12int4x4}, + {"min16uint1x1",glslang::EHTokMin16uint1x1}, + {"min16uint1x2",glslang::EHTokMin16uint1x2}, + {"min16uint1x3",glslang::EHTokMin16uint1x3}, + {"min16uint1x4",glslang::EHTokMin16uint1x4}, + {"min16uint2x1",glslang::EHTokMin16uint2x1}, + {"min16uint2x2",glslang::EHTokMin16uint2x2}, + {"min16uint2x3",glslang::EHTokMin16uint2x3}, + {"min16uint2x4",glslang::EHTokMin16uint2x4}, + {"min16uint3x1",glslang::EHTokMin16uint3x1}, + {"min16uint3x2",glslang::EHTokMin16uint3x2}, + {"min16uint3x3",glslang::EHTokMin16uint3x3}, + {"min16uint3x4",glslang::EHTokMin16uint3x4}, + {"min16uint4x1",glslang::EHTokMin16uint4x1}, + {"min16uint4x2",glslang::EHTokMin16uint4x2}, + {"min16uint4x3",glslang::EHTokMin16uint4x3}, + {"min16uint4x4",glslang::EHTokMin16uint4x4}, + + {"sampler",glslang::EHTokSampler}, + {"sampler1D",glslang::EHTokSampler1d}, + {"sampler2D",glslang::EHTokSampler2d}, + {"sampler3D",glslang::EHTokSampler3d}, + {"samplerCUBE",glslang::EHTokSamplerCube}, + {"sampler_state",glslang::EHTokSamplerState}, + {"SamplerState",glslang::EHTokSamplerState}, + {"SamplerComparisonState",glslang::EHTokSamplerComparisonState}, + {"texture",glslang::EHTokTexture}, + {"Texture1D",glslang::EHTokTexture1d}, + {"Texture1DArray",glslang::EHTokTexture1darray}, + {"Texture2D",glslang::EHTokTexture2d}, + {"Texture2DArray",glslang::EHTokTexture2darray}, + {"Texture3D",glslang::EHTokTexture3d}, + {"TextureCube",glslang::EHTokTextureCube}, + {"TextureCubeArray",glslang::EHTokTextureCubearray}, + {"Texture2DMS",glslang::EHTokTexture2DMS}, + {"Texture2DMSArray",glslang::EHTokTexture2DMSarray}, + {"RWTexture1D",glslang::EHTokRWTexture1d}, + {"RWTexture1DArray",glslang::EHTokRWTexture1darray}, + {"RWTexture2D",glslang::EHTokRWTexture2d}, + {"RWTexture2DArray",glslang::EHTokRWTexture2darray}, + {"RWTexture3D",glslang::EHTokRWTexture3d}, + {"RWBuffer",glslang::EHTokRWBuffer}, + {"SubpassInput",glslang::EHTokSubpassInput}, + {"SubpassInputMS",glslang::EHTokSubpassInputMS}, + + {"AppendStructuredBuffer",glslang::EHTokAppendStructuredBuffer}, + {"ByteAddressBuffer",glslang::EHTokByteAddressBuffer}, + {"ConsumeStructuredBuffer",glslang::EHTokConsumeStructuredBuffer}, + {"RWByteAddressBuffer",glslang::EHTokRWByteAddressBuffer}, + {"RWStructuredBuffer",glslang::EHTokRWStructuredBuffer}, + {"StructuredBuffer",glslang::EHTokStructuredBuffer}, + {"TextureBuffer",glslang::EHTokTextureBuffer}, + + {"class",glslang::EHTokClass}, + {"struct",glslang::EHTokStruct}, + {"cbuffer",glslang::EHTokCBuffer}, + {"ConstantBuffer",glslang::EHTokConstantBuffer}, + {"tbuffer",glslang::EHTokTBuffer}, + {"typedef",glslang::EHTokTypedef}, + {"this",glslang::EHTokThis}, + {"namespace",glslang::EHTokNamespace}, + + {"true",glslang::EHTokBoolConstant}, + {"false",glslang::EHTokBoolConstant}, + + {"for",glslang::EHTokFor}, + {"do",glslang::EHTokDo}, + {"while",glslang::EHTokWhile}, + {"break",glslang::EHTokBreak}, + {"continue",glslang::EHTokContinue}, + {"if",glslang::EHTokIf}, + {"else",glslang::EHTokElse}, + {"discard",glslang::EHTokDiscard}, + {"return",glslang::EHTokReturn}, + {"switch",glslang::EHTokSwitch}, + {"case",glslang::EHTokCase}, + {"default",glslang::EHTokDefault}, }; -namespace glslang { - -void HlslScanContext::fillInKeywordMap() -{ - if (KeywordMap != nullptr) { - // this is really an error, as this should called only once per process - // but, the only risk is if two threads called simultaneously - return; - } - KeywordMap = new std::unordered_map; - - (*KeywordMap)["static"] = EHTokStatic; - (*KeywordMap)["const"] = EHTokConst; - (*KeywordMap)["unorm"] = EHTokUnorm; - (*KeywordMap)["snorm"] = EHTokSNorm; - (*KeywordMap)["extern"] = EHTokExtern; - (*KeywordMap)["uniform"] = EHTokUniform; - (*KeywordMap)["volatile"] = EHTokVolatile; - (*KeywordMap)["precise"] = EHTokPrecise; - (*KeywordMap)["shared"] = EHTokShared; - (*KeywordMap)["groupshared"] = EHTokGroupShared; - (*KeywordMap)["linear"] = EHTokLinear; - (*KeywordMap)["centroid"] = EHTokCentroid; - (*KeywordMap)["nointerpolation"] = EHTokNointerpolation; - (*KeywordMap)["noperspective"] = EHTokNoperspective; - (*KeywordMap)["sample"] = EHTokSample; - (*KeywordMap)["row_major"] = EHTokRowMajor; - (*KeywordMap)["column_major"] = EHTokColumnMajor; - (*KeywordMap)["packoffset"] = EHTokPackOffset; - (*KeywordMap)["in"] = EHTokIn; - (*KeywordMap)["out"] = EHTokOut; - (*KeywordMap)["inout"] = EHTokInOut; - (*KeywordMap)["layout"] = EHTokLayout; - (*KeywordMap)["globallycoherent"] = EHTokGloballyCoherent; - (*KeywordMap)["inline"] = EHTokInline; - - (*KeywordMap)["point"] = EHTokPoint; - (*KeywordMap)["line"] = EHTokLine; - (*KeywordMap)["triangle"] = EHTokTriangle; - (*KeywordMap)["lineadj"] = EHTokLineAdj; - (*KeywordMap)["triangleadj"] = EHTokTriangleAdj; - - (*KeywordMap)["PointStream"] = EHTokPointStream; - (*KeywordMap)["LineStream"] = EHTokLineStream; - (*KeywordMap)["TriangleStream"] = EHTokTriangleStream; - - (*KeywordMap)["InputPatch"] = EHTokInputPatch; - (*KeywordMap)["OutputPatch"] = EHTokOutputPatch; - - (*KeywordMap)["Buffer"] = EHTokBuffer; - (*KeywordMap)["vector"] = EHTokVector; - (*KeywordMap)["matrix"] = EHTokMatrix; - - (*KeywordMap)["void"] = EHTokVoid; - (*KeywordMap)["string"] = EHTokString; - (*KeywordMap)["bool"] = EHTokBool; - (*KeywordMap)["int"] = EHTokInt; - (*KeywordMap)["uint"] = EHTokUint; - (*KeywordMap)["uint64_t"] = EHTokUint64; - (*KeywordMap)["dword"] = EHTokDword; - (*KeywordMap)["half"] = EHTokHalf; - (*KeywordMap)["float"] = EHTokFloat; - (*KeywordMap)["double"] = EHTokDouble; - (*KeywordMap)["min16float"] = EHTokMin16float; - (*KeywordMap)["min10float"] = EHTokMin10float; - (*KeywordMap)["min16int"] = EHTokMin16int; - (*KeywordMap)["min12int"] = EHTokMin12int; - (*KeywordMap)["min16uint"] = EHTokMin16uint; - - (*KeywordMap)["bool1"] = EHTokBool1; - (*KeywordMap)["bool2"] = EHTokBool2; - (*KeywordMap)["bool3"] = EHTokBool3; - (*KeywordMap)["bool4"] = EHTokBool4; - (*KeywordMap)["float1"] = EHTokFloat1; - (*KeywordMap)["float2"] = EHTokFloat2; - (*KeywordMap)["float3"] = EHTokFloat3; - (*KeywordMap)["float4"] = EHTokFloat4; - (*KeywordMap)["int1"] = EHTokInt1; - (*KeywordMap)["int2"] = EHTokInt2; - (*KeywordMap)["int3"] = EHTokInt3; - (*KeywordMap)["int4"] = EHTokInt4; - (*KeywordMap)["double1"] = EHTokDouble1; - (*KeywordMap)["double2"] = EHTokDouble2; - (*KeywordMap)["double3"] = EHTokDouble3; - (*KeywordMap)["double4"] = EHTokDouble4; - (*KeywordMap)["uint1"] = EHTokUint1; - (*KeywordMap)["uint2"] = EHTokUint2; - (*KeywordMap)["uint3"] = EHTokUint3; - (*KeywordMap)["uint4"] = EHTokUint4; - - (*KeywordMap)["half1"] = EHTokHalf1; - (*KeywordMap)["half2"] = EHTokHalf2; - (*KeywordMap)["half3"] = EHTokHalf3; - (*KeywordMap)["half4"] = EHTokHalf4; - (*KeywordMap)["min16float1"] = EHTokMin16float1; - (*KeywordMap)["min16float2"] = EHTokMin16float2; - (*KeywordMap)["min16float3"] = EHTokMin16float3; - (*KeywordMap)["min16float4"] = EHTokMin16float4; - (*KeywordMap)["min10float1"] = EHTokMin10float1; - (*KeywordMap)["min10float2"] = EHTokMin10float2; - (*KeywordMap)["min10float3"] = EHTokMin10float3; - (*KeywordMap)["min10float4"] = EHTokMin10float4; - (*KeywordMap)["min16int1"] = EHTokMin16int1; - (*KeywordMap)["min16int2"] = EHTokMin16int2; - (*KeywordMap)["min16int3"] = EHTokMin16int3; - (*KeywordMap)["min16int4"] = EHTokMin16int4; - (*KeywordMap)["min12int1"] = EHTokMin12int1; - (*KeywordMap)["min12int2"] = EHTokMin12int2; - (*KeywordMap)["min12int3"] = EHTokMin12int3; - (*KeywordMap)["min12int4"] = EHTokMin12int4; - (*KeywordMap)["min16uint1"] = EHTokMin16uint1; - (*KeywordMap)["min16uint2"] = EHTokMin16uint2; - (*KeywordMap)["min16uint3"] = EHTokMin16uint3; - (*KeywordMap)["min16uint4"] = EHTokMin16uint4; - - (*KeywordMap)["bool1x1"] = EHTokBool1x1; - (*KeywordMap)["bool1x2"] = EHTokBool1x2; - (*KeywordMap)["bool1x3"] = EHTokBool1x3; - (*KeywordMap)["bool1x4"] = EHTokBool1x4; - (*KeywordMap)["bool2x1"] = EHTokBool2x1; - (*KeywordMap)["bool2x2"] = EHTokBool2x2; - (*KeywordMap)["bool2x3"] = EHTokBool2x3; - (*KeywordMap)["bool2x4"] = EHTokBool2x4; - (*KeywordMap)["bool3x1"] = EHTokBool3x1; - (*KeywordMap)["bool3x2"] = EHTokBool3x2; - (*KeywordMap)["bool3x3"] = EHTokBool3x3; - (*KeywordMap)["bool3x4"] = EHTokBool3x4; - (*KeywordMap)["bool4x1"] = EHTokBool4x1; - (*KeywordMap)["bool4x2"] = EHTokBool4x2; - (*KeywordMap)["bool4x3"] = EHTokBool4x3; - (*KeywordMap)["bool4x4"] = EHTokBool4x4; - (*KeywordMap)["int1x1"] = EHTokInt1x1; - (*KeywordMap)["int1x2"] = EHTokInt1x2; - (*KeywordMap)["int1x3"] = EHTokInt1x3; - (*KeywordMap)["int1x4"] = EHTokInt1x4; - (*KeywordMap)["int2x1"] = EHTokInt2x1; - (*KeywordMap)["int2x2"] = EHTokInt2x2; - (*KeywordMap)["int2x3"] = EHTokInt2x3; - (*KeywordMap)["int2x4"] = EHTokInt2x4; - (*KeywordMap)["int3x1"] = EHTokInt3x1; - (*KeywordMap)["int3x2"] = EHTokInt3x2; - (*KeywordMap)["int3x3"] = EHTokInt3x3; - (*KeywordMap)["int3x4"] = EHTokInt3x4; - (*KeywordMap)["int4x1"] = EHTokInt4x1; - (*KeywordMap)["int4x2"] = EHTokInt4x2; - (*KeywordMap)["int4x3"] = EHTokInt4x3; - (*KeywordMap)["int4x4"] = EHTokInt4x4; - (*KeywordMap)["uint1x1"] = EHTokUint1x1; - (*KeywordMap)["uint1x2"] = EHTokUint1x2; - (*KeywordMap)["uint1x3"] = EHTokUint1x3; - (*KeywordMap)["uint1x4"] = EHTokUint1x4; - (*KeywordMap)["uint2x1"] = EHTokUint2x1; - (*KeywordMap)["uint2x2"] = EHTokUint2x2; - (*KeywordMap)["uint2x3"] = EHTokUint2x3; - (*KeywordMap)["uint2x4"] = EHTokUint2x4; - (*KeywordMap)["uint3x1"] = EHTokUint3x1; - (*KeywordMap)["uint3x2"] = EHTokUint3x2; - (*KeywordMap)["uint3x3"] = EHTokUint3x3; - (*KeywordMap)["uint3x4"] = EHTokUint3x4; - (*KeywordMap)["uint4x1"] = EHTokUint4x1; - (*KeywordMap)["uint4x2"] = EHTokUint4x2; - (*KeywordMap)["uint4x3"] = EHTokUint4x3; - (*KeywordMap)["uint4x4"] = EHTokUint4x4; - (*KeywordMap)["bool1x1"] = EHTokBool1x1; - (*KeywordMap)["bool1x2"] = EHTokBool1x2; - (*KeywordMap)["bool1x3"] = EHTokBool1x3; - (*KeywordMap)["bool1x4"] = EHTokBool1x4; - (*KeywordMap)["bool2x1"] = EHTokBool2x1; - (*KeywordMap)["bool2x2"] = EHTokBool2x2; - (*KeywordMap)["bool2x3"] = EHTokBool2x3; - (*KeywordMap)["bool2x4"] = EHTokBool2x4; - (*KeywordMap)["bool3x1"] = EHTokBool3x1; - (*KeywordMap)["bool3x2"] = EHTokBool3x2; - (*KeywordMap)["bool3x3"] = EHTokBool3x3; - (*KeywordMap)["bool3x4"] = EHTokBool3x4; - (*KeywordMap)["bool4x1"] = EHTokBool4x1; - (*KeywordMap)["bool4x2"] = EHTokBool4x2; - (*KeywordMap)["bool4x3"] = EHTokBool4x3; - (*KeywordMap)["bool4x4"] = EHTokBool4x4; - (*KeywordMap)["float1x1"] = EHTokFloat1x1; - (*KeywordMap)["float1x2"] = EHTokFloat1x2; - (*KeywordMap)["float1x3"] = EHTokFloat1x3; - (*KeywordMap)["float1x4"] = EHTokFloat1x4; - (*KeywordMap)["float2x1"] = EHTokFloat2x1; - (*KeywordMap)["float2x2"] = EHTokFloat2x2; - (*KeywordMap)["float2x3"] = EHTokFloat2x3; - (*KeywordMap)["float2x4"] = EHTokFloat2x4; - (*KeywordMap)["float3x1"] = EHTokFloat3x1; - (*KeywordMap)["float3x2"] = EHTokFloat3x2; - (*KeywordMap)["float3x3"] = EHTokFloat3x3; - (*KeywordMap)["float3x4"] = EHTokFloat3x4; - (*KeywordMap)["float4x1"] = EHTokFloat4x1; - (*KeywordMap)["float4x2"] = EHTokFloat4x2; - (*KeywordMap)["float4x3"] = EHTokFloat4x3; - (*KeywordMap)["float4x4"] = EHTokFloat4x4; - (*KeywordMap)["half1x1"] = EHTokHalf1x1; - (*KeywordMap)["half1x2"] = EHTokHalf1x2; - (*KeywordMap)["half1x3"] = EHTokHalf1x3; - (*KeywordMap)["half1x4"] = EHTokHalf1x4; - (*KeywordMap)["half2x1"] = EHTokHalf2x1; - (*KeywordMap)["half2x2"] = EHTokHalf2x2; - (*KeywordMap)["half2x3"] = EHTokHalf2x3; - (*KeywordMap)["half2x4"] = EHTokHalf2x4; - (*KeywordMap)["half3x1"] = EHTokHalf3x1; - (*KeywordMap)["half3x2"] = EHTokHalf3x2; - (*KeywordMap)["half3x3"] = EHTokHalf3x3; - (*KeywordMap)["half3x4"] = EHTokHalf3x4; - (*KeywordMap)["half4x1"] = EHTokHalf4x1; - (*KeywordMap)["half4x2"] = EHTokHalf4x2; - (*KeywordMap)["half4x3"] = EHTokHalf4x3; - (*KeywordMap)["half4x4"] = EHTokHalf4x4; - (*KeywordMap)["double1x1"] = EHTokDouble1x1; - (*KeywordMap)["double1x2"] = EHTokDouble1x2; - (*KeywordMap)["double1x3"] = EHTokDouble1x3; - (*KeywordMap)["double1x4"] = EHTokDouble1x4; - (*KeywordMap)["double2x1"] = EHTokDouble2x1; - (*KeywordMap)["double2x2"] = EHTokDouble2x2; - (*KeywordMap)["double2x3"] = EHTokDouble2x3; - (*KeywordMap)["double2x4"] = EHTokDouble2x4; - (*KeywordMap)["double3x1"] = EHTokDouble3x1; - (*KeywordMap)["double3x2"] = EHTokDouble3x2; - (*KeywordMap)["double3x3"] = EHTokDouble3x3; - (*KeywordMap)["double3x4"] = EHTokDouble3x4; - (*KeywordMap)["double4x1"] = EHTokDouble4x1; - (*KeywordMap)["double4x2"] = EHTokDouble4x2; - (*KeywordMap)["double4x3"] = EHTokDouble4x3; - (*KeywordMap)["double4x4"] = EHTokDouble4x4; - (*KeywordMap)["min16float1x1"] = EHTokMin16float1x1; - (*KeywordMap)["min16float1x2"] = EHTokMin16float1x2; - (*KeywordMap)["min16float1x3"] = EHTokMin16float1x3; - (*KeywordMap)["min16float1x4"] = EHTokMin16float1x4; - (*KeywordMap)["min16float2x1"] = EHTokMin16float2x1; - (*KeywordMap)["min16float2x2"] = EHTokMin16float2x2; - (*KeywordMap)["min16float2x3"] = EHTokMin16float2x3; - (*KeywordMap)["min16float2x4"] = EHTokMin16float2x4; - (*KeywordMap)["min16float3x1"] = EHTokMin16float3x1; - (*KeywordMap)["min16float3x2"] = EHTokMin16float3x2; - (*KeywordMap)["min16float3x3"] = EHTokMin16float3x3; - (*KeywordMap)["min16float3x4"] = EHTokMin16float3x4; - (*KeywordMap)["min16float4x1"] = EHTokMin16float4x1; - (*KeywordMap)["min16float4x2"] = EHTokMin16float4x2; - (*KeywordMap)["min16float4x3"] = EHTokMin16float4x3; - (*KeywordMap)["min16float4x4"] = EHTokMin16float4x4; - (*KeywordMap)["min10float1x1"] = EHTokMin10float1x1; - (*KeywordMap)["min10float1x2"] = EHTokMin10float1x2; - (*KeywordMap)["min10float1x3"] = EHTokMin10float1x3; - (*KeywordMap)["min10float1x4"] = EHTokMin10float1x4; - (*KeywordMap)["min10float2x1"] = EHTokMin10float2x1; - (*KeywordMap)["min10float2x2"] = EHTokMin10float2x2; - (*KeywordMap)["min10float2x3"] = EHTokMin10float2x3; - (*KeywordMap)["min10float2x4"] = EHTokMin10float2x4; - (*KeywordMap)["min10float3x1"] = EHTokMin10float3x1; - (*KeywordMap)["min10float3x2"] = EHTokMin10float3x2; - (*KeywordMap)["min10float3x3"] = EHTokMin10float3x3; - (*KeywordMap)["min10float3x4"] = EHTokMin10float3x4; - (*KeywordMap)["min10float4x1"] = EHTokMin10float4x1; - (*KeywordMap)["min10float4x2"] = EHTokMin10float4x2; - (*KeywordMap)["min10float4x3"] = EHTokMin10float4x3; - (*KeywordMap)["min10float4x4"] = EHTokMin10float4x4; - (*KeywordMap)["min16int1x1"] = EHTokMin16int1x1; - (*KeywordMap)["min16int1x2"] = EHTokMin16int1x2; - (*KeywordMap)["min16int1x3"] = EHTokMin16int1x3; - (*KeywordMap)["min16int1x4"] = EHTokMin16int1x4; - (*KeywordMap)["min16int2x1"] = EHTokMin16int2x1; - (*KeywordMap)["min16int2x2"] = EHTokMin16int2x2; - (*KeywordMap)["min16int2x3"] = EHTokMin16int2x3; - (*KeywordMap)["min16int2x4"] = EHTokMin16int2x4; - (*KeywordMap)["min16int3x1"] = EHTokMin16int3x1; - (*KeywordMap)["min16int3x2"] = EHTokMin16int3x2; - (*KeywordMap)["min16int3x3"] = EHTokMin16int3x3; - (*KeywordMap)["min16int3x4"] = EHTokMin16int3x4; - (*KeywordMap)["min16int4x1"] = EHTokMin16int4x1; - (*KeywordMap)["min16int4x2"] = EHTokMin16int4x2; - (*KeywordMap)["min16int4x3"] = EHTokMin16int4x3; - (*KeywordMap)["min16int4x4"] = EHTokMin16int4x4; - (*KeywordMap)["min12int1x1"] = EHTokMin12int1x1; - (*KeywordMap)["min12int1x2"] = EHTokMin12int1x2; - (*KeywordMap)["min12int1x3"] = EHTokMin12int1x3; - (*KeywordMap)["min12int1x4"] = EHTokMin12int1x4; - (*KeywordMap)["min12int2x1"] = EHTokMin12int2x1; - (*KeywordMap)["min12int2x2"] = EHTokMin12int2x2; - (*KeywordMap)["min12int2x3"] = EHTokMin12int2x3; - (*KeywordMap)["min12int2x4"] = EHTokMin12int2x4; - (*KeywordMap)["min12int3x1"] = EHTokMin12int3x1; - (*KeywordMap)["min12int3x2"] = EHTokMin12int3x2; - (*KeywordMap)["min12int3x3"] = EHTokMin12int3x3; - (*KeywordMap)["min12int3x4"] = EHTokMin12int3x4; - (*KeywordMap)["min12int4x1"] = EHTokMin12int4x1; - (*KeywordMap)["min12int4x2"] = EHTokMin12int4x2; - (*KeywordMap)["min12int4x3"] = EHTokMin12int4x3; - (*KeywordMap)["min12int4x4"] = EHTokMin12int4x4; - (*KeywordMap)["min16uint1x1"] = EHTokMin16uint1x1; - (*KeywordMap)["min16uint1x2"] = EHTokMin16uint1x2; - (*KeywordMap)["min16uint1x3"] = EHTokMin16uint1x3; - (*KeywordMap)["min16uint1x4"] = EHTokMin16uint1x4; - (*KeywordMap)["min16uint2x1"] = EHTokMin16uint2x1; - (*KeywordMap)["min16uint2x2"] = EHTokMin16uint2x2; - (*KeywordMap)["min16uint2x3"] = EHTokMin16uint2x3; - (*KeywordMap)["min16uint2x4"] = EHTokMin16uint2x4; - (*KeywordMap)["min16uint3x1"] = EHTokMin16uint3x1; - (*KeywordMap)["min16uint3x2"] = EHTokMin16uint3x2; - (*KeywordMap)["min16uint3x3"] = EHTokMin16uint3x3; - (*KeywordMap)["min16uint3x4"] = EHTokMin16uint3x4; - (*KeywordMap)["min16uint4x1"] = EHTokMin16uint4x1; - (*KeywordMap)["min16uint4x2"] = EHTokMin16uint4x2; - (*KeywordMap)["min16uint4x3"] = EHTokMin16uint4x3; - (*KeywordMap)["min16uint4x4"] = EHTokMin16uint4x4; - - (*KeywordMap)["sampler"] = EHTokSampler; - (*KeywordMap)["sampler1D"] = EHTokSampler1d; - (*KeywordMap)["sampler2D"] = EHTokSampler2d; - (*KeywordMap)["sampler3D"] = EHTokSampler3d; - (*KeywordMap)["samplerCUBE"] = EHTokSamplerCube; - (*KeywordMap)["sampler_state"] = EHTokSamplerState; - (*KeywordMap)["SamplerState"] = EHTokSamplerState; - (*KeywordMap)["SamplerComparisonState"] = EHTokSamplerComparisonState; - (*KeywordMap)["texture"] = EHTokTexture; - (*KeywordMap)["Texture1D"] = EHTokTexture1d; - (*KeywordMap)["Texture1DArray"] = EHTokTexture1darray; - (*KeywordMap)["Texture2D"] = EHTokTexture2d; - (*KeywordMap)["Texture2DArray"] = EHTokTexture2darray; - (*KeywordMap)["Texture3D"] = EHTokTexture3d; - (*KeywordMap)["TextureCube"] = EHTokTextureCube; - (*KeywordMap)["TextureCubeArray"] = EHTokTextureCubearray; - (*KeywordMap)["Texture2DMS"] = EHTokTexture2DMS; - (*KeywordMap)["Texture2DMSArray"] = EHTokTexture2DMSarray; - (*KeywordMap)["RWTexture1D"] = EHTokRWTexture1d; - (*KeywordMap)["RWTexture1DArray"] = EHTokRWTexture1darray; - (*KeywordMap)["RWTexture2D"] = EHTokRWTexture2d; - (*KeywordMap)["RWTexture2DArray"] = EHTokRWTexture2darray; - (*KeywordMap)["RWTexture3D"] = EHTokRWTexture3d; - (*KeywordMap)["RWBuffer"] = EHTokRWBuffer; - (*KeywordMap)["SubpassInput"] = EHTokSubpassInput; - (*KeywordMap)["SubpassInputMS"] = EHTokSubpassInputMS; - - (*KeywordMap)["AppendStructuredBuffer"] = EHTokAppendStructuredBuffer; - (*KeywordMap)["ByteAddressBuffer"] = EHTokByteAddressBuffer; - (*KeywordMap)["ConsumeStructuredBuffer"] = EHTokConsumeStructuredBuffer; - (*KeywordMap)["RWByteAddressBuffer"] = EHTokRWByteAddressBuffer; - (*KeywordMap)["RWStructuredBuffer"] = EHTokRWStructuredBuffer; - (*KeywordMap)["StructuredBuffer"] = EHTokStructuredBuffer; - (*KeywordMap)["TextureBuffer"] = EHTokTextureBuffer; - - (*KeywordMap)["class"] = EHTokClass; - (*KeywordMap)["struct"] = EHTokStruct; - (*KeywordMap)["cbuffer"] = EHTokCBuffer; - (*KeywordMap)["ConstantBuffer"] = EHTokConstantBuffer; - (*KeywordMap)["tbuffer"] = EHTokTBuffer; - (*KeywordMap)["typedef"] = EHTokTypedef; - (*KeywordMap)["this"] = EHTokThis; - (*KeywordMap)["namespace"] = EHTokNamespace; - - (*KeywordMap)["true"] = EHTokBoolConstant; - (*KeywordMap)["false"] = EHTokBoolConstant; - - (*KeywordMap)["for"] = EHTokFor; - (*KeywordMap)["do"] = EHTokDo; - (*KeywordMap)["while"] = EHTokWhile; - (*KeywordMap)["break"] = EHTokBreak; - (*KeywordMap)["continue"] = EHTokContinue; - (*KeywordMap)["if"] = EHTokIf; - (*KeywordMap)["else"] = EHTokElse; - (*KeywordMap)["discard"] = EHTokDiscard; - (*KeywordMap)["return"] = EHTokReturn; - (*KeywordMap)["switch"] = EHTokSwitch; - (*KeywordMap)["case"] = EHTokCase; - (*KeywordMap)["default"] = EHTokDefault; - - // TODO: get correct set here - ReservedSet = new std::unordered_set; - - ReservedSet->insert("auto"); - ReservedSet->insert("catch"); - ReservedSet->insert("char"); - ReservedSet->insert("const_cast"); - ReservedSet->insert("enum"); - ReservedSet->insert("explicit"); - ReservedSet->insert("friend"); - ReservedSet->insert("goto"); - ReservedSet->insert("long"); - ReservedSet->insert("mutable"); - ReservedSet->insert("new"); - ReservedSet->insert("operator"); - ReservedSet->insert("private"); - ReservedSet->insert("protected"); - ReservedSet->insert("public"); - ReservedSet->insert("reinterpret_cast"); - ReservedSet->insert("short"); - ReservedSet->insert("signed"); - ReservedSet->insert("sizeof"); - ReservedSet->insert("static_cast"); - ReservedSet->insert("template"); - ReservedSet->insert("throw"); - ReservedSet->insert("try"); - ReservedSet->insert("typename"); - ReservedSet->insert("union"); - ReservedSet->insert("unsigned"); - ReservedSet->insert("using"); - ReservedSet->insert("virtual"); - - SemanticMap = new std::unordered_map; +const std::unordered_set ReservedSet { + "auto", + "catch", + "char", + "const_cast", + "enum", + "explicit", + "friend", + "goto", + "long", + "mutable", + "new", + "operator", + "private", + "protected", + "public", + "reinterpret_cast", + "short", + "signed", + "sizeof", + "static_cast", + "template", + "throw", + "try", + "typename", + "union", + "unsigned", + "using", + "virtual", +}; +std::unordered_map SemanticMap { // in DX9, all outputs had to have a semantic associated with them, that was either consumed // by the system or was a specific register assignment @@ -494,49 +476,41 @@ void HlslScanContext::fillInKeywordMap() // Also, in DX10 if a SV value is present as the input of a stage, but isn't appropriate for that // stage, it would just be ignored as it is likely there as part of an output struct from one stage // to the next - bool bParseDX9 = false; - if (bParseDX9) { - (*SemanticMap)["PSIZE"] = EbvPointSize; - (*SemanticMap)["FOG"] = EbvFogFragCoord; - (*SemanticMap)["DEPTH"] = EbvFragDepth; - (*SemanticMap)["VFACE"] = EbvFace; - (*SemanticMap)["VPOS"] = EbvFragCoord; - } +#if 0 + (*SemanticMap)["PSIZE"] = EbvPointSize; + (*SemanticMap)["FOG"] = EbvFogFragCoord; + (*SemanticMap)["DEPTH"] = EbvFragDepth; + (*SemanticMap)["VFACE"] = EbvFace; + (*SemanticMap)["VPOS"] = EbvFragCoord; +#endif - (*SemanticMap)["SV_POSITION"] = EbvPosition; - (*SemanticMap)["SV_VERTEXID"] = EbvVertexIndex; - (*SemanticMap)["SV_VIEWPORTARRAYINDEX"] = EbvViewportIndex; - (*SemanticMap)["SV_TESSFACTOR"] = EbvTessLevelOuter; - (*SemanticMap)["SV_SAMPLEINDEX"] = EbvSampleId; - (*SemanticMap)["SV_RENDERTARGETARRAYINDEX"] = EbvLayer; - (*SemanticMap)["SV_PRIMITIVEID"] = EbvPrimitiveId; - (*SemanticMap)["SV_OUTPUTCONTROLPOINTID"] = EbvInvocationId; - (*SemanticMap)["SV_ISFRONTFACE"] = EbvFace; - (*SemanticMap)["SV_VIEWID"] = EbvViewIndex; - (*SemanticMap)["SV_INSTANCEID"] = EbvInstanceIndex; - (*SemanticMap)["SV_INSIDETESSFACTOR"] = EbvTessLevelInner; - (*SemanticMap)["SV_GSINSTANCEID"] = EbvInvocationId; - (*SemanticMap)["SV_DISPATCHTHREADID"] = EbvGlobalInvocationId; - (*SemanticMap)["SV_GROUPTHREADID"] = EbvLocalInvocationId; - (*SemanticMap)["SV_GROUPINDEX"] = EbvLocalInvocationIndex; - (*SemanticMap)["SV_GROUPID"] = EbvWorkGroupId; - (*SemanticMap)["SV_DOMAINLOCATION"] = EbvTessCoord; - (*SemanticMap)["SV_DEPTH"] = EbvFragDepth; - (*SemanticMap)["SV_COVERAGE"] = EbvSampleMask; - (*SemanticMap)["SV_DEPTHGREATEREQUAL"] = EbvFragDepthGreater; - (*SemanticMap)["SV_DEPTHLESSEQUAL"] = EbvFragDepthLesser; - (*SemanticMap)["SV_STENCILREF"] = EbvFragStencilRef; + {"SV_POSITION",glslang::EbvPosition}, + {"SV_VERTEXID",glslang::EbvVertexIndex}, + {"SV_VIEWPORTARRAYINDEX",glslang::EbvViewportIndex}, + {"SV_TESSFACTOR",glslang::EbvTessLevelOuter}, + {"SV_SAMPLEINDEX",glslang::EbvSampleId}, + {"SV_RENDERTARGETARRAYINDEX",glslang::EbvLayer}, + {"SV_PRIMITIVEID",glslang::EbvPrimitiveId}, + {"SV_OUTPUTCONTROLPOINTID",glslang::EbvInvocationId}, + {"SV_ISFRONTFACE",glslang::EbvFace}, + {"SV_VIEWID",glslang::EbvViewIndex}, + {"SV_INSTANCEID",glslang::EbvInstanceIndex}, + {"SV_INSIDETESSFACTOR",glslang::EbvTessLevelInner}, + {"SV_GSINSTANCEID",glslang::EbvInvocationId}, + {"SV_DISPATCHTHREADID",glslang::EbvGlobalInvocationId}, + {"SV_GROUPTHREADID",glslang::EbvLocalInvocationId}, + {"SV_GROUPINDEX",glslang::EbvLocalInvocationIndex}, + {"SV_GROUPID",glslang::EbvWorkGroupId}, + {"SV_DOMAINLOCATION",glslang::EbvTessCoord}, + {"SV_DEPTH",glslang::EbvFragDepth}, + {"SV_COVERAGE",glslang::EbvSampleMask}, + {"SV_DEPTHGREATEREQUAL",glslang::EbvFragDepthGreater}, + {"SV_DEPTHLESSEQUAL",glslang::EbvFragDepthLesser}, + {"SV_STENCILREF", glslang::EbvFragStencilRef}, +}; } -void HlslScanContext::deleteKeywordMap() -{ - delete KeywordMap; - KeywordMap = nullptr; - delete ReservedSet; - ReservedSet = nullptr; - delete SemanticMap; - SemanticMap = nullptr; -} +namespace glslang { // Wrapper for tokenizeClass() to get everything inside the token. void HlslScanContext::tokenize(HlslToken& token) @@ -547,8 +521,8 @@ void HlslScanContext::tokenize(HlslToken& token) glslang::TBuiltInVariable HlslScanContext::mapSemantic(const char* upperCase) { - auto it = SemanticMap->find(upperCase); - if (it != SemanticMap->end()) + auto it = SemanticMap.find(upperCase); + if (it != SemanticMap.end()) return it->second; else return glslang::EbvNone; @@ -664,11 +638,11 @@ EHlslTokenClass HlslScanContext::tokenizeClass(HlslToken& token) EHlslTokenClass HlslScanContext::tokenizeIdentifier() { - if (ReservedSet->find(tokenText) != ReservedSet->end()) + if (ReservedSet.find(tokenText) != ReservedSet.end()) return reservedWord(); - auto it = KeywordMap->find(tokenText); - if (it == KeywordMap->end()) { + auto it = KeywordMap.find(tokenText); + if (it == KeywordMap.end()) { // Should have an identifier of some sort return identifierOrType(); } diff --git a/glslang/HLSL/pch.h b/glslang/HLSL/pch.h index 465e7c14..f51efacc 100644 --- a/glslang/HLSL/pch.h +++ b/glslang/HLSL/pch.h @@ -42,8 +42,6 @@ #include "../MachineIndependent/Scan.h" #include "../MachineIndependent/preprocessor/PpContext.h" -#include "../OSDependent/osinclude.h" - #include #include #include diff --git a/glslang/Include/BaseTypes.h b/glslang/Include/BaseTypes.h old mode 100755 new mode 100644 diff --git a/glslang/Include/Common.h b/glslang/Include/Common.h index d1bd13b5..0c142605 100644 --- a/glslang/Include/Common.h +++ b/glslang/Include/Common.h @@ -94,6 +94,11 @@ std::string to_string(const T& val) { #pragma warning(disable : 4201) // nameless union #endif +// Allow compilation to WASI which does not support threads yet. +#ifdef __wasi__ +#define DISABLE_THREAD_SUPPORT +#endif + #include "PoolAlloc.h" // diff --git a/glslang/Include/InfoSink.h b/glslang/Include/InfoSink.h index 23f495dc..26293394 100644 --- a/glslang/Include/InfoSink.h +++ b/glslang/Include/InfoSink.h @@ -95,10 +95,14 @@ public: default: append("UNKNOWN ERROR: "); break; } } - void location(const TSourceLoc& loc, bool absolute = false) { + void location(const TSourceLoc& loc, bool absolute = false, bool displayColumn = false) { const int maxSize = 24; char locText[maxSize]; - snprintf(locText, maxSize, ":%d", loc.line); + if (displayColumn) { + snprintf(locText, maxSize, ":%d:%d", loc.line, loc.column); + } else { + snprintf(locText, maxSize, ":%d", loc.line); + } if(loc.getFilename() == nullptr && shaderFileName != nullptr && absolute) { append(std::filesystem::absolute(shaderFileName).string()); @@ -119,9 +123,11 @@ public: append(s); append("\n"); } - void message(TPrefixType message, const char* s, const TSourceLoc& loc) { + void message(TPrefixType message, const char* s, const TSourceLoc& loc, bool absolute = false, + bool displayColumn = false) + { prefix(message); - location(loc); + location(loc, absolute, displayColumn); append(s); append("\n"); } diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h index 23262285..ec6b1db8 100644 --- a/glslang/Include/Types.h +++ b/glslang/Include/Types.h @@ -307,21 +307,6 @@ typedef TVector TTypeList; typedef TVector TIdentifierList; -// -// Following are a series of helper enums for managing layouts and qualifiers, -// used for TPublicType, TType, others. -// - -enum TLayoutPacking { - ElpNone, - ElpShared, // default, but different than saying nothing - ElpStd140, - ElpStd430, - ElpPacked, - ElpScalar, - ElpCount // If expanding, see bitfield width below -}; - enum TLayoutMatrix { ElmNone, ElmRowMajor, diff --git a/glslang/Include/glslang_c_interface.h b/glslang/Include/glslang_c_interface.h index c114bbf5..fd9d597c 100644 --- a/glslang/Include/glslang_c_interface.h +++ b/glslang/Include/glslang_c_interface.h @@ -37,9 +37,20 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include "glslang_c_shader_types.h" +#include "visibility.h" typedef struct glslang_shader_s glslang_shader_t; typedef struct glslang_program_s glslang_program_t; +typedef struct glslang_mapper_s glslang_mapper_t; +typedef struct glslang_resolver_s glslang_resolver_t; + +/* Version counterpart */ +typedef struct glslang_version_s { + int major; + int minor; + int patch; + const char* flavor; +} glslang_version_t; /* TLimits counterpart */ typedef struct glslang_limits_s { @@ -230,27 +241,14 @@ typedef struct glslang_spv_options_s { bool emit_nonsemantic_shader_debug_info; bool emit_nonsemantic_shader_debug_source; bool compile_only; + bool optimize_allow_expanded_id_bound; } glslang_spv_options_t; #ifdef __cplusplus extern "C" { #endif -#ifdef GLSLANG_IS_SHARED_LIBRARY - #ifdef _WIN32 - #ifdef GLSLANG_EXPORTING - #define GLSLANG_EXPORT __declspec(dllexport) - #else - #define GLSLANG_EXPORT __declspec(dllimport) - #endif - #elif __GNUC__ >= 4 - #define GLSLANG_EXPORT __attribute__((visibility("default"))) - #endif -#endif // GLSLANG_IS_SHARED_LIBRARY - -#ifndef GLSLANG_EXPORT -#define GLSLANG_EXPORT -#endif +GLSLANG_EXPORT void glslang_get_version(glslang_version_t* version); GLSLANG_EXPORT int glslang_initialize_process(void); GLSLANG_EXPORT void glslang_finalize_process(void); @@ -262,9 +260,13 @@ GLSLANG_EXPORT void glslang_shader_shift_binding(glslang_shader_t* shader, glsla 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 void glslang_shader_set_glsl_version(glslang_shader_t* shader, int version); +GLSLANG_EXPORT void glslang_shader_set_default_uniform_block_set_and_binding(glslang_shader_t* shader, unsigned int set, unsigned int binding); +GLSLANG_EXPORT void glslang_shader_set_default_uniform_block_name(glslang_shader_t* shader, const char *name); +GLSLANG_EXPORT void glslang_shader_set_resource_set_binding(glslang_shader_t* shader, const char *const *bindings, unsigned int num_bindings); 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); +GLSLANG_EXPORT void glslang_shader_set_preprocessed_code(glslang_shader_t* shader, const char* code); GLSLANG_EXPORT const char* glslang_shader_get_info_log(glslang_shader_t* shader); GLSLANG_EXPORT const char* glslang_shader_get_info_debug_log(glslang_shader_t* shader); @@ -275,6 +277,7 @@ GLSLANG_EXPORT int glslang_program_link(glslang_program_t* program, int messages GLSLANG_EXPORT void glslang_program_add_source_text(glslang_program_t* program, glslang_stage_t stage, const char* text, size_t len); GLSLANG_EXPORT void glslang_program_set_source_file(glslang_program_t* program, glslang_stage_t stage, const char* file); GLSLANG_EXPORT int glslang_program_map_io(glslang_program_t* program); +GLSLANG_EXPORT int glslang_program_map_io_with_resolver_and_mapper(glslang_program_t* program, glslang_resolver_t* resolver, glslang_mapper_t* mapper); GLSLANG_EXPORT void glslang_program_SPIRV_generate(glslang_program_t* program, glslang_stage_t stage); GLSLANG_EXPORT void glslang_program_SPIRV_generate_with_options(glslang_program_t* program, glslang_stage_t stage, glslang_spv_options_t* spv_options); GLSLANG_EXPORT size_t glslang_program_SPIRV_get_size(glslang_program_t* program); @@ -284,6 +287,12 @@ GLSLANG_EXPORT const char* glslang_program_SPIRV_get_messages(glslang_program_t* GLSLANG_EXPORT const char* glslang_program_get_info_log(glslang_program_t* program); GLSLANG_EXPORT const char* glslang_program_get_info_debug_log(glslang_program_t* program); +GLSLANG_EXPORT glslang_mapper_t* glslang_glsl_mapper_create(); +GLSLANG_EXPORT void glslang_glsl_mapper_delete(glslang_mapper_t* mapper); + +GLSLANG_EXPORT glslang_resolver_t* glslang_glsl_resolver_create(glslang_program_t* program, glslang_stage_t stage); +GLSLANG_EXPORT void glslang_glsl_resolver_delete(glslang_resolver_t* resolver); + GLSLANG_EXPORT char* glslang_SPIRV_disassemble(const unsigned int* spv_words, size_t spv_words_len); #ifdef __cplusplus diff --git a/glslang/Include/glslang_c_shader_types.h b/glslang/Include/glslang_c_shader_types.h index 51f5642a..768e2e84 100644 --- a/glslang/Include/glslang_c_shader_types.h +++ b/glslang/Include/glslang_c_shader_types.h @@ -175,6 +175,8 @@ typedef enum { GLSLANG_MSG_BUILTIN_SYMBOL_TABLE_BIT = (1 << 14), GLSLANG_MSG_ENHANCED = (1 << 15), GLSLANG_MSG_ABSOLUTE_PATH = (1 << 16), + GLSLANG_MSG_DISPLAY_ERROR_COLUMN = (1 << 17), + GLSLANG_MSG_LINK_TIME_OPTIMIZATION_BIT = (1 << 18), LAST_ELEMENT_MARKER(GLSLANG_MSG_COUNT), } glslang_messages_t; diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h index bcce91d3..82de2b4d 100644 --- a/glslang/Include/intermediate.h +++ b/glslang/Include/intermediate.h @@ -1694,8 +1694,12 @@ typedef TVector TQualifierList; // class TIntermAggregate : public TIntermOperator { public: - TIntermAggregate() : TIntermOperator(EOpNull), userDefined(false), pragmaTable(nullptr) { } - TIntermAggregate(TOperator o) : TIntermOperator(o), pragmaTable(nullptr) { } + TIntermAggregate() : TIntermOperator(EOpNull), userDefined(false), pragmaTable(nullptr) { + endLoc.init(); + } + TIntermAggregate(TOperator o) : TIntermOperator(o), pragmaTable(nullptr) { + endLoc.init(); + } ~TIntermAggregate() { delete pragmaTable; } virtual TIntermAggregate* getAsAggregate() { return this; } virtual const TIntermAggregate* getAsAggregate() const { return this; } @@ -1719,6 +1723,9 @@ public: void setSpirvInstruction(const TSpirvInstruction& inst) { spirvInst = inst; } const TSpirvInstruction& getSpirvInstruction() const { return spirvInst; } + void setEndLoc(TSourceLoc loc) { endLoc = loc; } + TSourceLoc getEndLoc() const { return endLoc; } + void setLinkType(TLinkType l) { linkType = l; } TLinkType getLinkType() const { return linkType; } protected: @@ -1733,6 +1740,10 @@ protected: TPragmaTable* pragmaTable; TSpirvInstruction spirvInst; TLinkType linkType = ELinkNone; + + // Marking the end source location of the aggregate. + // This is currently only set for a compound statement or a function body, pointing to '}'. + TSourceLoc endLoc; }; // diff --git a/glslang/Include/visibility.h b/glslang/Include/visibility.h new file mode 100644 index 00000000..9bb8f3fa --- /dev/null +++ b/glslang/Include/visibility.h @@ -0,0 +1,54 @@ +// +// Copyright (C) 2023 LunarG, Inc. +// +// 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. +// +#ifdef GLSLANG_IS_SHARED_LIBRARY + #ifdef _WIN32 + #ifdef GLSLANG_EXPORTING + #define GLSLANG_EXPORT __declspec(dllexport) + #else + #define GLSLANG_EXPORT __declspec(dllimport) + #endif + #elif __GNUC__ >= 4 + #define GLSLANG_EXPORT __attribute__((visibility("default"))) + #endif +#endif // GLSLANG_IS_SHARED_LIBRARY + +#ifndef GLSLANG_EXPORT +#define GLSLANG_EXPORT +#endif + +// Symbols marked with this macro are only meant for public use by the test suite +// and do not appear in publicly installed headers. They are not considered to be +// part of the glslang library ABI. +#define GLSLANG_EXPORT_FOR_TESTS GLSLANG_EXPORT diff --git a/glslang/MachineIndependent/Constant.cpp b/glslang/MachineIndependent/Constant.cpp index ac7fc8cd..7a9fb2ed 100644 --- a/glslang/MachineIndependent/Constant.cpp +++ b/glslang/MachineIndependent/Constant.cpp @@ -507,7 +507,11 @@ TIntermTyped* TIntermConstantUnion::fold(TOperator op, const TType& returnType) case EbtUint8: newConstArray[i].setU8Const(static_cast(-static_cast(unionArray[i].getU8Const()))); break; case EbtInt16: newConstArray[i].setI16Const(-unionArray[i].getI16Const()); break; case EbtUint16:newConstArray[i].setU16Const(static_cast(-static_cast(unionArray[i].getU16Const()))); break; - case EbtInt64: newConstArray[i].setI64Const(-unionArray[i].getI64Const()); break; + case EbtInt64: { + int64_t i64val = unionArray[i].getI64Const(); + newConstArray[i].setI64Const(i64val == INT64_MIN ? INT64_MIN : -i64val); + break; + } case EbtUint64: newConstArray[i].setU64Const(static_cast(-static_cast(unionArray[i].getU64Const()))); break; default: return nullptr; @@ -1009,6 +1013,12 @@ TIntermTyped* TIntermediate::fold(TIntermAggregate* aggrNode) objectSize = std::max(children[0]->getAsTyped()->getType().getVectorSize(), children[2]->getAsTyped()->getType().getVectorSize()); break; + case EOpMul: + { + TIntermConstantUnion* left = children[0]->getAsConstantUnion(); + TIntermConstantUnion* right = children[1]->getAsConstantUnion(); + return left->fold(EOpMul, right); + } default: return aggrNode; } diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp old mode 100755 new mode 100644 diff --git a/glslang/MachineIndependent/ParseContextBase.cpp b/glslang/MachineIndependent/ParseContextBase.cpp index 591dfc71..f7895d97 100644 --- a/glslang/MachineIndependent/ParseContextBase.cpp +++ b/glslang/MachineIndependent/ParseContextBase.cpp @@ -59,7 +59,7 @@ void TParseContextBase::outputMessage(const TSourceLoc& loc, const char* szReaso safe_vsprintf(szExtraInfo, maxSize, szExtraInfoFormat, args); infoSink.info.prefix(prefix); - infoSink.info.location(loc, messages & EShMsgAbsolutePath); + infoSink.info.location(loc, messages & EShMsgAbsolutePath, messages & EShMsgDisplayErrorColumn); infoSink.info << "'" << szToken << "' : " << szReason << " " << szExtraInfo << "\n"; if (prefix == EPrefixError) { diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index c5f0e63f..215ccd99 100644 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -42,7 +42,6 @@ #include "Initialize.h" #include "Scan.h" -#include "../OSDependent/osinclude.h" #include #include "preprocessor/PpContext.h" @@ -3936,6 +3935,18 @@ void TParseContext::accStructCheck(const TSourceLoc& loc, const TType& type, con } +void TParseContext::hitObjectNVCheck(const TSourceLoc & loc, const TType & type, const TString & identifier) +{ + if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtHitObjectNV)) { + error(loc, "struct is not allowed to contain hitObjectNV:", type.getTypeName().c_str(), identifier.c_str()); + } else if (type.getBasicType() == EbtHitObjectNV) { + TStorageQualifier qualifier = type.getQualifier().storage; + if (qualifier != EvqGlobal && qualifier != EvqTemporary) { + error(loc, "hitObjectNV can only be declared in global or function scope with no storage qualifier:", "hitObjectNV", identifier.c_str()); + } + } +} + void TParseContext::transparentOpaqueCheck(const TSourceLoc& loc, const TType& type, const TString& identifier) { if (parsingBuiltins) @@ -7387,7 +7398,7 @@ TIntermTyped* TParseContext::vkRelaxedRemapFunctionCall(const TSourceLoc& loc, T } } else if (function->getName() == "atomicCounter") { // change atomicCounter into a direct read of the variable - if (arguments->getAsTyped()) { + if (arguments && arguments->getAsTyped()) { result = arguments->getAsTyped(); } } @@ -7875,6 +7886,7 @@ TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& iden transparentOpaqueCheck(loc, type, identifier); atomicUintCheck(loc, type, identifier); accStructCheck(loc, type, identifier); + hitObjectNVCheck(loc, type, identifier); checkAndResizeMeshViewDim(loc, type, /*isBlockMember*/ false); if (type.getQualifier().storage == EvqConst && type.containsReference()) { error(loc, "variables with reference type can't have qualifier 'const'", "qualifier", ""); @@ -8539,7 +8551,7 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T case EOpConstructF16Mat4x4: case EOpConstructFloat16: basicOp = EOpConstructFloat16; - // 8/16-bit storage extensions don't support constructing composites of 8/16-bit types, + // 8/16-bit storage extensions don't support direct constructing composites of 8/16-bit types, // so construct a 32-bit type and convert // and do not generate any conversion if it is an identity conversion, i.e. float16_t( var) if (!intermediate.getArithemeticFloat16Enabled() && (node->getBasicType() != EbtFloat16)) { @@ -8563,7 +8575,7 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T case EOpConstructI8Vec4: case EOpConstructInt8: basicOp = EOpConstructInt8; - // 8/16-bit storage extensions don't support constructing composites of 8/16-bit types, + // 8/16-bit storage extensions don't support direct constructing composites of 8/16-bit types, // so construct a 32-bit type and convert // and do not generate any conversion if it is an identity conversion, i.e. int8_t( var) if (!intermediate.getArithemeticInt8Enabled() && (node->getBasicType() != EbtInt8)) { @@ -8587,7 +8599,7 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T case EOpConstructU8Vec4: case EOpConstructUint8: basicOp = EOpConstructUint8; - // 8/16-bit storage extensions don't support constructing composites of 8/16-bit types, + // 8/16-bit storage extensions don't support direct constructing composites of 8/16-bit types, // so construct a 32-bit type and convert // and do not generate any conversion if it is an identity conversion, i.e. uint8_t( var) if (!intermediate.getArithemeticInt8Enabled() && (node->getBasicType() != EbtUint8)) { @@ -8611,7 +8623,7 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T case EOpConstructI16Vec4: case EOpConstructInt16: basicOp = EOpConstructInt16; - // 8/16-bit storage extensions don't support constructing composites of 8/16-bit types, + // 8/16-bit storage extensions don't support direct constructing composites of 8/16-bit types, // so construct a 32-bit type and convert // and do not generate any conversion if it is an identity conversion, i.e. int16_t( var) if (!intermediate.getArithemeticInt16Enabled() && (node->getBasicType() != EbtInt16)) { @@ -8635,7 +8647,7 @@ TIntermTyped* TParseContext::constructBuiltIn(const TType& type, TOperator op, T case EOpConstructU16Vec4: case EOpConstructUint16: basicOp = EOpConstructUint16; - // 8/16-bit storage extensions don't support constructing composites of 8/16-bit types, + // 8/16-bit storage extensions don't support direct constructing composites of 8/16-bit types, // so construct a 32-bit type and convert // and do not generate any conversion if it is an identity conversion, i.e. uint16_t( var) if (!intermediate.getArithemeticInt16Enabled() && (node->getBasicType() != EbtUint16)) { @@ -9912,8 +9924,8 @@ void TParseContext::updateStandaloneQualifierDefaults(const TSourceLoc& loc, con if (publicType.shaderQualifiers.layoutDerivativeGroupQuads) { if (publicType.qualifier.storage == EvqVaryingIn) { - if ((intermediate.getLocalSize(0) & 1) || - (intermediate.getLocalSize(1) & 1)) + if ((intermediate.getLocalSizeSpecId(0) == TQualifier::layoutNotSet && (intermediate.getLocalSize(0) & 1)) || + (intermediate.getLocalSizeSpecId(1) == TQualifier::layoutNotSet && (intermediate.getLocalSize(1) & 1))) error(loc, "requires local_size_x and local_size_y to be multiple of two", "derivative_group_quadsNV", ""); else intermediate.setLayoutDerivativeMode(LayoutDerivativeGroupQuads); @@ -9923,7 +9935,10 @@ void TParseContext::updateStandaloneQualifierDefaults(const TSourceLoc& loc, con } if (publicType.shaderQualifiers.layoutDerivativeGroupLinear) { if (publicType.qualifier.storage == EvqVaryingIn) { - if((intermediate.getLocalSize(0) * + if (intermediate.getLocalSizeSpecId(0) == TQualifier::layoutNotSet && + intermediate.getLocalSizeSpecId(1) == TQualifier::layoutNotSet && + intermediate.getLocalSizeSpecId(2) == TQualifier::layoutNotSet && + (intermediate.getLocalSize(0) * intermediate.getLocalSize(1) * intermediate.getLocalSize(2)) % 4 != 0) error(loc, "requires total group size to be multiple of four", "derivative_group_linearNV", ""); diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h index 16902aef..67ba7dbd 100644 --- a/glslang/MachineIndependent/ParseHelper.h +++ b/glslang/MachineIndependent/ParseHelper.h @@ -397,6 +397,7 @@ public: void samplerCheck(const TSourceLoc&, const TType&, const TString& identifier, TIntermTyped* initializer); void atomicUintCheck(const TSourceLoc&, const TType&, const TString& identifier); void accStructCheck(const TSourceLoc & loc, const TType & type, const TString & identifier); + void hitObjectNVCheck(const TSourceLoc & loc, const TType & type, const TString & identifier); void transparentOpaqueCheck(const TSourceLoc&, const TType&, const TString& identifier); void memberQualifierCheck(glslang::TPublicType&); void globalQualifierFixCheck(const TSourceLoc&, TQualifier&, bool isMemberCheck = false, const TPublicType* publicType = nullptr); diff --git a/glslang/MachineIndependent/PoolAlloc.cpp b/glslang/MachineIndependent/PoolAlloc.cpp index 5d7173c9..93a3b0d1 100644 --- a/glslang/MachineIndependent/PoolAlloc.cpp +++ b/glslang/MachineIndependent/PoolAlloc.cpp @@ -35,14 +35,21 @@ #include "../Include/Common.h" #include "../Include/PoolAlloc.h" +// Mostly here for target that do not support threads such as WASI. +#ifdef DISABLE_THREAD_SUPPORT +#define THREAD_LOCAL +#else +#define THREAD_LOCAL thread_local +#endif + namespace glslang { namespace { -thread_local TPoolAllocator* threadPoolAllocator = nullptr; +THREAD_LOCAL TPoolAllocator* threadPoolAllocator = nullptr; TPoolAllocator* GetDefaultThreadPoolAllocator() { - thread_local TPoolAllocator defaultAllocator; + THREAD_LOCAL TPoolAllocator defaultAllocator; return &defaultAllocator; } } // anonymous namespace diff --git a/glslang/MachineIndependent/Scan.cpp b/glslang/MachineIndependent/Scan.cpp index 44546596..a90edb32 100644 --- a/glslang/MachineIndependent/Scan.cpp +++ b/glslang/MachineIndependent/Scan.cpp @@ -322,503 +322,481 @@ struct str_hash }; // A single global usable by all threads, by all versions, by all languages. -// After a single process-level initialization, this is read only and thread safe -std::unordered_map* KeywordMap = nullptr; -std::unordered_set* ReservedSet = nullptr; +const std::unordered_map KeywordMap { + {"const",CONST}, + {"uniform",UNIFORM}, + {"tileImageEXT",TILEIMAGEEXT}, + {"buffer",BUFFER}, + {"in",IN}, + {"out",OUT}, + {"smooth",SMOOTH}, + {"flat",FLAT}, + {"centroid",CENTROID}, + {"invariant",INVARIANT}, + {"packed",PACKED}, + {"resource",RESOURCE}, + {"inout",INOUT}, + {"struct",STRUCT}, + {"break",BREAK}, + {"continue",CONTINUE}, + {"do",DO}, + {"for",FOR}, + {"while",WHILE}, + {"switch",SWITCH}, + {"case",CASE}, + {"default",DEFAULT}, + {"if",IF}, + {"else",ELSE}, + {"discard",DISCARD}, + {"terminateInvocation",TERMINATE_INVOCATION}, + {"terminateRayEXT",TERMINATE_RAY}, + {"ignoreIntersectionEXT",IGNORE_INTERSECTION}, + {"return",RETURN}, + {"void",VOID}, + {"bool",BOOL}, + {"float",FLOAT}, + {"int",INT}, + {"bvec2",BVEC2}, + {"bvec3",BVEC3}, + {"bvec4",BVEC4}, + {"vec2",VEC2}, + {"vec3",VEC3}, + {"vec4",VEC4}, + {"ivec2",IVEC2}, + {"ivec3",IVEC3}, + {"ivec4",IVEC4}, + {"mat2",MAT2}, + {"mat3",MAT3}, + {"mat4",MAT4}, + {"true",BOOLCONSTANT}, + {"false",BOOLCONSTANT}, + {"layout",LAYOUT}, + {"shared",SHARED}, + {"highp",HIGH_PRECISION}, + {"mediump",MEDIUM_PRECISION}, + {"lowp",LOW_PRECISION}, + {"superp",SUPERP}, + {"precision",PRECISION}, + {"mat2x2",MAT2X2}, + {"mat2x3",MAT2X3}, + {"mat2x4",MAT2X4}, + {"mat3x2",MAT3X2}, + {"mat3x3",MAT3X3}, + {"mat3x4",MAT3X4}, + {"mat4x2",MAT4X2}, + {"mat4x3",MAT4X3}, + {"mat4x4",MAT4X4}, + {"uint",UINT}, + {"uvec2",UVEC2}, + {"uvec3",UVEC3}, + {"uvec4",UVEC4}, + + {"nonuniformEXT",NONUNIFORM}, + {"demote",DEMOTE}, + {"attribute",ATTRIBUTE}, + {"varying",VARYING}, + {"noperspective",NOPERSPECTIVE}, + {"coherent",COHERENT}, + {"devicecoherent",DEVICECOHERENT}, + {"queuefamilycoherent",QUEUEFAMILYCOHERENT}, + {"workgroupcoherent",WORKGROUPCOHERENT}, + {"subgroupcoherent",SUBGROUPCOHERENT}, + {"shadercallcoherent",SHADERCALLCOHERENT}, + {"nonprivate",NONPRIVATE}, + {"restrict",RESTRICT}, + {"readonly",READONLY}, + {"writeonly",WRITEONLY}, + {"atomic_uint",ATOMIC_UINT}, + {"volatile",VOLATILE}, + {"patch",PATCH}, + {"sample",SAMPLE}, + {"subroutine",SUBROUTINE}, + {"dmat2",DMAT2}, + {"dmat3",DMAT3}, + {"dmat4",DMAT4}, + {"dmat2x2",DMAT2X2}, + {"dmat2x3",DMAT2X3}, + {"dmat2x4",DMAT2X4}, + {"dmat3x2",DMAT3X2}, + {"dmat3x3",DMAT3X3}, + {"dmat3x4",DMAT3X4}, + {"dmat4x2",DMAT4X2}, + {"dmat4x3",DMAT4X3}, + {"dmat4x4",DMAT4X4}, + {"image1D",IMAGE1D}, + {"iimage1D",IIMAGE1D}, + {"uimage1D",UIMAGE1D}, + {"image2D",IMAGE2D}, + {"iimage2D",IIMAGE2D}, + {"uimage2D",UIMAGE2D}, + {"image3D",IMAGE3D}, + {"iimage3D",IIMAGE3D}, + {"uimage3D",UIMAGE3D}, + {"image2DRect",IMAGE2DRECT}, + {"iimage2DRect",IIMAGE2DRECT}, + {"uimage2DRect",UIMAGE2DRECT}, + {"imageCube",IMAGECUBE}, + {"iimageCube",IIMAGECUBE}, + {"uimageCube",UIMAGECUBE}, + {"imageBuffer",IMAGEBUFFER}, + {"iimageBuffer",IIMAGEBUFFER}, + {"uimageBuffer",UIMAGEBUFFER}, + {"image1DArray",IMAGE1DARRAY}, + {"iimage1DArray",IIMAGE1DARRAY}, + {"uimage1DArray",UIMAGE1DARRAY}, + {"image2DArray",IMAGE2DARRAY}, + {"iimage2DArray",IIMAGE2DARRAY}, + {"uimage2DArray",UIMAGE2DARRAY}, + {"imageCubeArray",IMAGECUBEARRAY}, + {"iimageCubeArray",IIMAGECUBEARRAY}, + {"uimageCubeArray",UIMAGECUBEARRAY}, + {"image2DMS",IMAGE2DMS}, + {"iimage2DMS",IIMAGE2DMS}, + {"uimage2DMS",UIMAGE2DMS}, + {"image2DMSArray",IMAGE2DMSARRAY}, + {"iimage2DMSArray",IIMAGE2DMSARRAY}, + {"uimage2DMSArray",UIMAGE2DMSARRAY}, + {"i64image1D",I64IMAGE1D}, + {"u64image1D",U64IMAGE1D}, + {"i64image2D",I64IMAGE2D}, + {"u64image2D",U64IMAGE2D}, + {"i64image3D",I64IMAGE3D}, + {"u64image3D",U64IMAGE3D}, + {"i64image2DRect",I64IMAGE2DRECT}, + {"u64image2DRect",U64IMAGE2DRECT}, + {"i64imageCube",I64IMAGECUBE}, + {"u64imageCube",U64IMAGECUBE}, + {"i64imageBuffer",I64IMAGEBUFFER}, + {"u64imageBuffer",U64IMAGEBUFFER}, + {"i64image1DArray",I64IMAGE1DARRAY}, + {"u64image1DArray",U64IMAGE1DARRAY}, + {"i64image2DArray",I64IMAGE2DARRAY}, + {"u64image2DArray",U64IMAGE2DARRAY}, + {"i64imageCubeArray",I64IMAGECUBEARRAY}, + {"u64imageCubeArray",U64IMAGECUBEARRAY}, + {"i64image2DMS",I64IMAGE2DMS}, + {"u64image2DMS",U64IMAGE2DMS}, + {"i64image2DMSArray",I64IMAGE2DMSARRAY}, + {"u64image2DMSArray",U64IMAGE2DMSARRAY}, + {"double",DOUBLE}, + {"dvec2",DVEC2}, + {"dvec3",DVEC3}, + {"dvec4",DVEC4}, + {"int64_t",INT64_T}, + {"uint64_t",UINT64_T}, + {"i64vec2",I64VEC2}, + {"i64vec3",I64VEC3}, + {"i64vec4",I64VEC4}, + {"u64vec2",U64VEC2}, + {"u64vec3",U64VEC3}, + {"u64vec4",U64VEC4}, + + // GL_EXT_shader_explicit_arithmetic_types + {"int8_t",INT8_T}, + {"i8vec2",I8VEC2}, + {"i8vec3",I8VEC3}, + {"i8vec4",I8VEC4}, + {"uint8_t",UINT8_T}, + {"u8vec2",U8VEC2}, + {"u8vec3",U8VEC3}, + {"u8vec4",U8VEC4}, + + {"int16_t",INT16_T}, + {"i16vec2",I16VEC2}, + {"i16vec3",I16VEC3}, + {"i16vec4",I16VEC4}, + {"uint16_t",UINT16_T}, + {"u16vec2",U16VEC2}, + {"u16vec3",U16VEC3}, + {"u16vec4",U16VEC4}, + + {"int32_t",INT32_T}, + {"i32vec2",I32VEC2}, + {"i32vec3",I32VEC3}, + {"i32vec4",I32VEC4}, + {"uint32_t",UINT32_T}, + {"u32vec2",U32VEC2}, + {"u32vec3",U32VEC3}, + {"u32vec4",U32VEC4}, + + {"float16_t",FLOAT16_T}, + {"f16vec2",F16VEC2}, + {"f16vec3",F16VEC3}, + {"f16vec4",F16VEC4}, + {"f16mat2",F16MAT2}, + {"f16mat3",F16MAT3}, + {"f16mat4",F16MAT4}, + {"f16mat2x2",F16MAT2X2}, + {"f16mat2x3",F16MAT2X3}, + {"f16mat2x4",F16MAT2X4}, + {"f16mat3x2",F16MAT3X2}, + {"f16mat3x3",F16MAT3X3}, + {"f16mat3x4",F16MAT3X4}, + {"f16mat4x2",F16MAT4X2}, + {"f16mat4x3",F16MAT4X3}, + {"f16mat4x4",F16MAT4X4}, + + {"float32_t",FLOAT32_T}, + {"f32vec2",F32VEC2}, + {"f32vec3",F32VEC3}, + {"f32vec4",F32VEC4}, + {"f32mat2",F32MAT2}, + {"f32mat3",F32MAT3}, + {"f32mat4",F32MAT4}, + {"f32mat2x2",F32MAT2X2}, + {"f32mat2x3",F32MAT2X3}, + {"f32mat2x4",F32MAT2X4}, + {"f32mat3x2",F32MAT3X2}, + {"f32mat3x3",F32MAT3X3}, + {"f32mat3x4",F32MAT3X4}, + {"f32mat4x2",F32MAT4X2}, + {"f32mat4x3",F32MAT4X3}, + {"f32mat4x4",F32MAT4X4}, + {"float64_t",FLOAT64_T}, + {"f64vec2",F64VEC2}, + {"f64vec3",F64VEC3}, + {"f64vec4",F64VEC4}, + {"f64mat2",F64MAT2}, + {"f64mat3",F64MAT3}, + {"f64mat4",F64MAT4}, + {"f64mat2x2",F64MAT2X2}, + {"f64mat2x3",F64MAT2X3}, + {"f64mat2x4",F64MAT2X4}, + {"f64mat3x2",F64MAT3X2}, + {"f64mat3x3",F64MAT3X3}, + {"f64mat3x4",F64MAT3X4}, + {"f64mat4x2",F64MAT4X2}, + {"f64mat4x3",F64MAT4X3}, + {"f64mat4x4",F64MAT4X4}, + + // GL_EXT_spirv_intrinsics + {"spirv_instruction",SPIRV_INSTRUCTION}, + {"spirv_execution_mode",SPIRV_EXECUTION_MODE}, + {"spirv_execution_mode_id",SPIRV_EXECUTION_MODE_ID}, + {"spirv_decorate",SPIRV_DECORATE}, + {"spirv_decorate_id",SPIRV_DECORATE_ID}, + {"spirv_decorate_string",SPIRV_DECORATE_STRING}, + {"spirv_type",SPIRV_TYPE}, + {"spirv_storage_class",SPIRV_STORAGE_CLASS}, + {"spirv_by_reference",SPIRV_BY_REFERENCE}, + {"spirv_literal",SPIRV_LITERAL}, + + {"sampler2D",SAMPLER2D}, + {"samplerCube",SAMPLERCUBE}, + {"samplerCubeShadow",SAMPLERCUBESHADOW}, + {"sampler2DArray",SAMPLER2DARRAY}, + {"sampler2DArrayShadow",SAMPLER2DARRAYSHADOW}, + {"isampler2D",ISAMPLER2D}, + {"isampler3D",ISAMPLER3D}, + {"isamplerCube",ISAMPLERCUBE}, + {"isampler2DArray",ISAMPLER2DARRAY}, + {"usampler2D",USAMPLER2D}, + {"usampler3D",USAMPLER3D}, + {"usamplerCube",USAMPLERCUBE}, + {"usampler2DArray",USAMPLER2DARRAY}, + {"sampler3D",SAMPLER3D}, + {"sampler2DShadow",SAMPLER2DSHADOW}, + + {"texture2D",TEXTURE2D}, + {"textureCube",TEXTURECUBE}, + {"texture2DArray",TEXTURE2DARRAY}, + {"itexture2D",ITEXTURE2D}, + {"itexture3D",ITEXTURE3D}, + {"itextureCube",ITEXTURECUBE}, + {"itexture2DArray",ITEXTURE2DARRAY}, + {"utexture2D",UTEXTURE2D}, + {"utexture3D",UTEXTURE3D}, + {"utextureCube",UTEXTURECUBE}, + {"utexture2DArray",UTEXTURE2DARRAY}, + {"texture3D",TEXTURE3D}, + + {"sampler",SAMPLER}, + {"samplerShadow",SAMPLERSHADOW}, + + {"textureCubeArray",TEXTURECUBEARRAY}, + {"itextureCubeArray",ITEXTURECUBEARRAY}, + {"utextureCubeArray",UTEXTURECUBEARRAY}, + {"samplerCubeArray",SAMPLERCUBEARRAY}, + {"samplerCubeArrayShadow",SAMPLERCUBEARRAYSHADOW}, + {"isamplerCubeArray",ISAMPLERCUBEARRAY}, + {"usamplerCubeArray",USAMPLERCUBEARRAY}, + {"sampler1DArrayShadow",SAMPLER1DARRAYSHADOW}, + {"isampler1DArray",ISAMPLER1DARRAY}, + {"usampler1D",USAMPLER1D}, + {"isampler1D",ISAMPLER1D}, + {"usampler1DArray",USAMPLER1DARRAY}, + {"samplerBuffer",SAMPLERBUFFER}, + {"isampler2DRect",ISAMPLER2DRECT}, + {"usampler2DRect",USAMPLER2DRECT}, + {"isamplerBuffer",ISAMPLERBUFFER}, + {"usamplerBuffer",USAMPLERBUFFER}, + {"sampler2DMS",SAMPLER2DMS}, + {"isampler2DMS",ISAMPLER2DMS}, + {"usampler2DMS",USAMPLER2DMS}, + {"sampler2DMSArray",SAMPLER2DMSARRAY}, + {"isampler2DMSArray",ISAMPLER2DMSARRAY}, + {"usampler2DMSArray",USAMPLER2DMSARRAY}, + {"sampler1D",SAMPLER1D}, + {"sampler1DShadow",SAMPLER1DSHADOW}, + {"sampler2DRect",SAMPLER2DRECT}, + {"sampler2DRectShadow",SAMPLER2DRECTSHADOW}, + {"sampler1DArray",SAMPLER1DARRAY}, + + {"samplerExternalOES", SAMPLEREXTERNALOES}, // GL_OES_EGL_image_external + {"__samplerExternal2DY2YEXT", SAMPLEREXTERNAL2DY2YEXT}, // GL_EXT_YUV_target + + {"itexture1DArray",ITEXTURE1DARRAY}, + {"utexture1D",UTEXTURE1D}, + {"itexture1D",ITEXTURE1D}, + {"utexture1DArray",UTEXTURE1DARRAY}, + {"textureBuffer",TEXTUREBUFFER}, + {"itexture2DRect",ITEXTURE2DRECT}, + {"utexture2DRect",UTEXTURE2DRECT}, + {"itextureBuffer",ITEXTUREBUFFER}, + {"utextureBuffer",UTEXTUREBUFFER}, + {"texture2DMS",TEXTURE2DMS}, + {"itexture2DMS",ITEXTURE2DMS}, + {"utexture2DMS",UTEXTURE2DMS}, + {"texture2DMSArray",TEXTURE2DMSARRAY}, + {"itexture2DMSArray",ITEXTURE2DMSARRAY}, + {"utexture2DMSArray",UTEXTURE2DMSARRAY}, + {"texture1D",TEXTURE1D}, + {"texture2DRect",TEXTURE2DRECT}, + {"texture1DArray",TEXTURE1DARRAY}, + + {"attachmentEXT",ATTACHMENTEXT}, + {"iattachmentEXT",IATTACHMENTEXT}, + {"uattachmentEXT",UATTACHMENTEXT}, + + {"subpassInput",SUBPASSINPUT}, + {"subpassInputMS",SUBPASSINPUTMS}, + {"isubpassInput",ISUBPASSINPUT}, + {"isubpassInputMS",ISUBPASSINPUTMS}, + {"usubpassInput",USUBPASSINPUT}, + {"usubpassInputMS",USUBPASSINPUTMS}, + + {"f16sampler1D",F16SAMPLER1D}, + {"f16sampler2D",F16SAMPLER2D}, + {"f16sampler3D",F16SAMPLER3D}, + {"f16sampler2DRect",F16SAMPLER2DRECT}, + {"f16samplerCube",F16SAMPLERCUBE}, + {"f16sampler1DArray",F16SAMPLER1DARRAY}, + {"f16sampler2DArray",F16SAMPLER2DARRAY}, + {"f16samplerCubeArray",F16SAMPLERCUBEARRAY}, + {"f16samplerBuffer",F16SAMPLERBUFFER}, + {"f16sampler2DMS",F16SAMPLER2DMS}, + {"f16sampler2DMSArray",F16SAMPLER2DMSARRAY}, + {"f16sampler1DShadow",F16SAMPLER1DSHADOW}, + {"f16sampler2DShadow",F16SAMPLER2DSHADOW}, + {"f16sampler2DRectShadow",F16SAMPLER2DRECTSHADOW}, + {"f16samplerCubeShadow",F16SAMPLERCUBESHADOW}, + {"f16sampler1DArrayShadow",F16SAMPLER1DARRAYSHADOW}, + {"f16sampler2DArrayShadow",F16SAMPLER2DARRAYSHADOW}, + {"f16samplerCubeArrayShadow",F16SAMPLERCUBEARRAYSHADOW}, + + {"f16image1D",F16IMAGE1D}, + {"f16image2D",F16IMAGE2D}, + {"f16image3D",F16IMAGE3D}, + {"f16image2DRect",F16IMAGE2DRECT}, + {"f16imageCube",F16IMAGECUBE}, + {"f16image1DArray",F16IMAGE1DARRAY}, + {"f16image2DArray",F16IMAGE2DARRAY}, + {"f16imageCubeArray",F16IMAGECUBEARRAY}, + {"f16imageBuffer",F16IMAGEBUFFER}, + {"f16image2DMS",F16IMAGE2DMS}, + {"f16image2DMSArray",F16IMAGE2DMSARRAY}, + + {"f16texture1D",F16TEXTURE1D}, + {"f16texture2D",F16TEXTURE2D}, + {"f16texture3D",F16TEXTURE3D}, + {"f16texture2DRect",F16TEXTURE2DRECT}, + {"f16textureCube",F16TEXTURECUBE}, + {"f16texture1DArray",F16TEXTURE1DARRAY}, + {"f16texture2DArray",F16TEXTURE2DARRAY}, + {"f16textureCubeArray",F16TEXTURECUBEARRAY}, + {"f16textureBuffer",F16TEXTUREBUFFER}, + {"f16texture2DMS",F16TEXTURE2DMS}, + {"f16texture2DMSArray",F16TEXTURE2DMSARRAY}, + + {"f16subpassInput",F16SUBPASSINPUT}, + {"f16subpassInputMS",F16SUBPASSINPUTMS}, + {"__explicitInterpAMD",EXPLICITINTERPAMD}, + {"pervertexNV",PERVERTEXNV}, + {"pervertexEXT",PERVERTEXEXT}, + {"precise",PRECISE}, + + {"rayPayloadNV",PAYLOADNV}, + {"rayPayloadEXT",PAYLOADEXT}, + {"rayPayloadInNV",PAYLOADINNV}, + {"rayPayloadInEXT",PAYLOADINEXT}, + {"hitAttributeNV",HITATTRNV}, + {"hitAttributeEXT",HITATTREXT}, + {"callableDataNV",CALLDATANV}, + {"callableDataEXT",CALLDATAEXT}, + {"callableDataInNV",CALLDATAINNV}, + {"callableDataInEXT",CALLDATAINEXT}, + {"accelerationStructureNV",ACCSTRUCTNV}, + {"accelerationStructureEXT",ACCSTRUCTEXT}, + {"rayQueryEXT",RAYQUERYEXT}, + {"perprimitiveNV",PERPRIMITIVENV}, + {"perviewNV",PERVIEWNV}, + {"taskNV",PERTASKNV}, + {"perprimitiveEXT",PERPRIMITIVEEXT}, + {"taskPayloadSharedEXT",TASKPAYLOADWORKGROUPEXT}, + + {"fcoopmatNV",FCOOPMATNV}, + {"icoopmatNV",ICOOPMATNV}, + {"ucoopmatNV",UCOOPMATNV}, + + {"coopmat",COOPMAT}, + + {"hitObjectNV",HITOBJECTNV}, + {"hitObjectAttributeNV",HITOBJECTATTRNV}, +}; +const std::unordered_set ReservedSet { + "common", + "partition", + "active", + "asm", + "class", + "union", + "enum", + "typedef", + "template", + "this", + "goto", + "inline", + "noinline", + "public", + "static", + "extern", + "external", + "interface", + "long", + "short", + "half", + "fixed", + "unsigned", + "input", + "output", + "hvec2", + "hvec3", + "hvec4", + "fvec2", + "fvec3", + "fvec4", + "sampler3DRect", + "filter", + "sizeof", + "cast", + "namespace", + "using", +}; } namespace glslang { -void TScanContext::fillInKeywordMap() -{ - if (KeywordMap != nullptr) { - // this is really an error, as this should called only once per process - // but, the only risk is if two threads called simultaneously - return; - } - KeywordMap = new std::unordered_map; - - (*KeywordMap)["const"] = CONST; - (*KeywordMap)["uniform"] = UNIFORM; - (*KeywordMap)["tileImageEXT"] = TILEIMAGEEXT; - (*KeywordMap)["buffer"] = BUFFER; - (*KeywordMap)["in"] = IN; - (*KeywordMap)["out"] = OUT; - (*KeywordMap)["smooth"] = SMOOTH; - (*KeywordMap)["flat"] = FLAT; - (*KeywordMap)["centroid"] = CENTROID; - (*KeywordMap)["invariant"] = INVARIANT; - (*KeywordMap)["packed"] = PACKED; - (*KeywordMap)["resource"] = RESOURCE; - (*KeywordMap)["inout"] = INOUT; - (*KeywordMap)["struct"] = STRUCT; - (*KeywordMap)["break"] = BREAK; - (*KeywordMap)["continue"] = CONTINUE; - (*KeywordMap)["do"] = DO; - (*KeywordMap)["for"] = FOR; - (*KeywordMap)["while"] = WHILE; - (*KeywordMap)["switch"] = SWITCH; - (*KeywordMap)["case"] = CASE; - (*KeywordMap)["default"] = DEFAULT; - (*KeywordMap)["if"] = IF; - (*KeywordMap)["else"] = ELSE; - (*KeywordMap)["discard"] = DISCARD; - (*KeywordMap)["terminateInvocation"] = TERMINATE_INVOCATION; - (*KeywordMap)["terminateRayEXT"] = TERMINATE_RAY; - (*KeywordMap)["ignoreIntersectionEXT"] = IGNORE_INTERSECTION; - (*KeywordMap)["return"] = RETURN; - (*KeywordMap)["void"] = VOID; - (*KeywordMap)["bool"] = BOOL; - (*KeywordMap)["float"] = FLOAT; - (*KeywordMap)["int"] = INT; - (*KeywordMap)["bvec2"] = BVEC2; - (*KeywordMap)["bvec3"] = BVEC3; - (*KeywordMap)["bvec4"] = BVEC4; - (*KeywordMap)["vec2"] = VEC2; - (*KeywordMap)["vec3"] = VEC3; - (*KeywordMap)["vec4"] = VEC4; - (*KeywordMap)["ivec2"] = IVEC2; - (*KeywordMap)["ivec3"] = IVEC3; - (*KeywordMap)["ivec4"] = IVEC4; - (*KeywordMap)["mat2"] = MAT2; - (*KeywordMap)["mat3"] = MAT3; - (*KeywordMap)["mat4"] = MAT4; - (*KeywordMap)["true"] = BOOLCONSTANT; - (*KeywordMap)["false"] = BOOLCONSTANT; - (*KeywordMap)["layout"] = LAYOUT; - (*KeywordMap)["shared"] = SHARED; - (*KeywordMap)["highp"] = HIGH_PRECISION; - (*KeywordMap)["mediump"] = MEDIUM_PRECISION; - (*KeywordMap)["lowp"] = LOW_PRECISION; - (*KeywordMap)["superp"] = SUPERP; - (*KeywordMap)["precision"] = PRECISION; - (*KeywordMap)["mat2x2"] = MAT2X2; - (*KeywordMap)["mat2x3"] = MAT2X3; - (*KeywordMap)["mat2x4"] = MAT2X4; - (*KeywordMap)["mat3x2"] = MAT3X2; - (*KeywordMap)["mat3x3"] = MAT3X3; - (*KeywordMap)["mat3x4"] = MAT3X4; - (*KeywordMap)["mat4x2"] = MAT4X2; - (*KeywordMap)["mat4x3"] = MAT4X3; - (*KeywordMap)["mat4x4"] = MAT4X4; - (*KeywordMap)["uint"] = UINT; - (*KeywordMap)["uvec2"] = UVEC2; - (*KeywordMap)["uvec3"] = UVEC3; - (*KeywordMap)["uvec4"] = UVEC4; - - (*KeywordMap)["nonuniformEXT"] = NONUNIFORM; - (*KeywordMap)["demote"] = DEMOTE; - (*KeywordMap)["attribute"] = ATTRIBUTE; - (*KeywordMap)["varying"] = VARYING; - (*KeywordMap)["noperspective"] = NOPERSPECTIVE; - (*KeywordMap)["coherent"] = COHERENT; - (*KeywordMap)["devicecoherent"] = DEVICECOHERENT; - (*KeywordMap)["queuefamilycoherent"] = QUEUEFAMILYCOHERENT; - (*KeywordMap)["workgroupcoherent"] = WORKGROUPCOHERENT; - (*KeywordMap)["subgroupcoherent"] = SUBGROUPCOHERENT; - (*KeywordMap)["shadercallcoherent"] = SHADERCALLCOHERENT; - (*KeywordMap)["nonprivate"] = NONPRIVATE; - (*KeywordMap)["restrict"] = RESTRICT; - (*KeywordMap)["readonly"] = READONLY; - (*KeywordMap)["writeonly"] = WRITEONLY; - (*KeywordMap)["atomic_uint"] = ATOMIC_UINT; - (*KeywordMap)["volatile"] = VOLATILE; - (*KeywordMap)["patch"] = PATCH; - (*KeywordMap)["sample"] = SAMPLE; - (*KeywordMap)["subroutine"] = SUBROUTINE; - (*KeywordMap)["dmat2"] = DMAT2; - (*KeywordMap)["dmat3"] = DMAT3; - (*KeywordMap)["dmat4"] = DMAT4; - (*KeywordMap)["dmat2x2"] = DMAT2X2; - (*KeywordMap)["dmat2x3"] = DMAT2X3; - (*KeywordMap)["dmat2x4"] = DMAT2X4; - (*KeywordMap)["dmat3x2"] = DMAT3X2; - (*KeywordMap)["dmat3x3"] = DMAT3X3; - (*KeywordMap)["dmat3x4"] = DMAT3X4; - (*KeywordMap)["dmat4x2"] = DMAT4X2; - (*KeywordMap)["dmat4x3"] = DMAT4X3; - (*KeywordMap)["dmat4x4"] = DMAT4X4; - (*KeywordMap)["image1D"] = IMAGE1D; - (*KeywordMap)["iimage1D"] = IIMAGE1D; - (*KeywordMap)["uimage1D"] = UIMAGE1D; - (*KeywordMap)["image2D"] = IMAGE2D; - (*KeywordMap)["iimage2D"] = IIMAGE2D; - (*KeywordMap)["uimage2D"] = UIMAGE2D; - (*KeywordMap)["image3D"] = IMAGE3D; - (*KeywordMap)["iimage3D"] = IIMAGE3D; - (*KeywordMap)["uimage3D"] = UIMAGE3D; - (*KeywordMap)["image2DRect"] = IMAGE2DRECT; - (*KeywordMap)["iimage2DRect"] = IIMAGE2DRECT; - (*KeywordMap)["uimage2DRect"] = UIMAGE2DRECT; - (*KeywordMap)["imageCube"] = IMAGECUBE; - (*KeywordMap)["iimageCube"] = IIMAGECUBE; - (*KeywordMap)["uimageCube"] = UIMAGECUBE; - (*KeywordMap)["imageBuffer"] = IMAGEBUFFER; - (*KeywordMap)["iimageBuffer"] = IIMAGEBUFFER; - (*KeywordMap)["uimageBuffer"] = UIMAGEBUFFER; - (*KeywordMap)["image1DArray"] = IMAGE1DARRAY; - (*KeywordMap)["iimage1DArray"] = IIMAGE1DARRAY; - (*KeywordMap)["uimage1DArray"] = UIMAGE1DARRAY; - (*KeywordMap)["image2DArray"] = IMAGE2DARRAY; - (*KeywordMap)["iimage2DArray"] = IIMAGE2DARRAY; - (*KeywordMap)["uimage2DArray"] = UIMAGE2DARRAY; - (*KeywordMap)["imageCubeArray"] = IMAGECUBEARRAY; - (*KeywordMap)["iimageCubeArray"] = IIMAGECUBEARRAY; - (*KeywordMap)["uimageCubeArray"] = UIMAGECUBEARRAY; - (*KeywordMap)["image2DMS"] = IMAGE2DMS; - (*KeywordMap)["iimage2DMS"] = IIMAGE2DMS; - (*KeywordMap)["uimage2DMS"] = UIMAGE2DMS; - (*KeywordMap)["image2DMSArray"] = IMAGE2DMSARRAY; - (*KeywordMap)["iimage2DMSArray"] = IIMAGE2DMSARRAY; - (*KeywordMap)["uimage2DMSArray"] = UIMAGE2DMSARRAY; - (*KeywordMap)["i64image1D"] = I64IMAGE1D; - (*KeywordMap)["u64image1D"] = U64IMAGE1D; - (*KeywordMap)["i64image2D"] = I64IMAGE2D; - (*KeywordMap)["u64image2D"] = U64IMAGE2D; - (*KeywordMap)["i64image3D"] = I64IMAGE3D; - (*KeywordMap)["u64image3D"] = U64IMAGE3D; - (*KeywordMap)["i64image2DRect"] = I64IMAGE2DRECT; - (*KeywordMap)["u64image2DRect"] = U64IMAGE2DRECT; - (*KeywordMap)["i64imageCube"] = I64IMAGECUBE; - (*KeywordMap)["u64imageCube"] = U64IMAGECUBE; - (*KeywordMap)["i64imageBuffer"] = I64IMAGEBUFFER; - (*KeywordMap)["u64imageBuffer"] = U64IMAGEBUFFER; - (*KeywordMap)["i64image1DArray"] = I64IMAGE1DARRAY; - (*KeywordMap)["u64image1DArray"] = U64IMAGE1DARRAY; - (*KeywordMap)["i64image2DArray"] = I64IMAGE2DARRAY; - (*KeywordMap)["u64image2DArray"] = U64IMAGE2DARRAY; - (*KeywordMap)["i64imageCubeArray"] = I64IMAGECUBEARRAY; - (*KeywordMap)["u64imageCubeArray"] = U64IMAGECUBEARRAY; - (*KeywordMap)["i64image2DMS"] = I64IMAGE2DMS; - (*KeywordMap)["u64image2DMS"] = U64IMAGE2DMS; - (*KeywordMap)["i64image2DMSArray"] = I64IMAGE2DMSARRAY; - (*KeywordMap)["u64image2DMSArray"] = U64IMAGE2DMSARRAY; - (*KeywordMap)["double"] = DOUBLE; - (*KeywordMap)["dvec2"] = DVEC2; - (*KeywordMap)["dvec3"] = DVEC3; - (*KeywordMap)["dvec4"] = DVEC4; - (*KeywordMap)["int64_t"] = INT64_T; - (*KeywordMap)["uint64_t"] = UINT64_T; - (*KeywordMap)["i64vec2"] = I64VEC2; - (*KeywordMap)["i64vec3"] = I64VEC3; - (*KeywordMap)["i64vec4"] = I64VEC4; - (*KeywordMap)["u64vec2"] = U64VEC2; - (*KeywordMap)["u64vec3"] = U64VEC3; - (*KeywordMap)["u64vec4"] = U64VEC4; - - // GL_EXT_shader_explicit_arithmetic_types - (*KeywordMap)["int8_t"] = INT8_T; - (*KeywordMap)["i8vec2"] = I8VEC2; - (*KeywordMap)["i8vec3"] = I8VEC3; - (*KeywordMap)["i8vec4"] = I8VEC4; - (*KeywordMap)["uint8_t"] = UINT8_T; - (*KeywordMap)["u8vec2"] = U8VEC2; - (*KeywordMap)["u8vec3"] = U8VEC3; - (*KeywordMap)["u8vec4"] = U8VEC4; - - (*KeywordMap)["int16_t"] = INT16_T; - (*KeywordMap)["i16vec2"] = I16VEC2; - (*KeywordMap)["i16vec3"] = I16VEC3; - (*KeywordMap)["i16vec4"] = I16VEC4; - (*KeywordMap)["uint16_t"] = UINT16_T; - (*KeywordMap)["u16vec2"] = U16VEC2; - (*KeywordMap)["u16vec3"] = U16VEC3; - (*KeywordMap)["u16vec4"] = U16VEC4; - - (*KeywordMap)["int32_t"] = INT32_T; - (*KeywordMap)["i32vec2"] = I32VEC2; - (*KeywordMap)["i32vec3"] = I32VEC3; - (*KeywordMap)["i32vec4"] = I32VEC4; - (*KeywordMap)["uint32_t"] = UINT32_T; - (*KeywordMap)["u32vec2"] = U32VEC2; - (*KeywordMap)["u32vec3"] = U32VEC3; - (*KeywordMap)["u32vec4"] = U32VEC4; - - (*KeywordMap)["float16_t"] = FLOAT16_T; - (*KeywordMap)["f16vec2"] = F16VEC2; - (*KeywordMap)["f16vec3"] = F16VEC3; - (*KeywordMap)["f16vec4"] = F16VEC4; - (*KeywordMap)["f16mat2"] = F16MAT2; - (*KeywordMap)["f16mat3"] = F16MAT3; - (*KeywordMap)["f16mat4"] = F16MAT4; - (*KeywordMap)["f16mat2x2"] = F16MAT2X2; - (*KeywordMap)["f16mat2x3"] = F16MAT2X3; - (*KeywordMap)["f16mat2x4"] = F16MAT2X4; - (*KeywordMap)["f16mat3x2"] = F16MAT3X2; - (*KeywordMap)["f16mat3x3"] = F16MAT3X3; - (*KeywordMap)["f16mat3x4"] = F16MAT3X4; - (*KeywordMap)["f16mat4x2"] = F16MAT4X2; - (*KeywordMap)["f16mat4x3"] = F16MAT4X3; - (*KeywordMap)["f16mat4x4"] = F16MAT4X4; - - (*KeywordMap)["float32_t"] = FLOAT32_T; - (*KeywordMap)["f32vec2"] = F32VEC2; - (*KeywordMap)["f32vec3"] = F32VEC3; - (*KeywordMap)["f32vec4"] = F32VEC4; - (*KeywordMap)["f32mat2"] = F32MAT2; - (*KeywordMap)["f32mat3"] = F32MAT3; - (*KeywordMap)["f32mat4"] = F32MAT4; - (*KeywordMap)["f32mat2x2"] = F32MAT2X2; - (*KeywordMap)["f32mat2x3"] = F32MAT2X3; - (*KeywordMap)["f32mat2x4"] = F32MAT2X4; - (*KeywordMap)["f32mat3x2"] = F32MAT3X2; - (*KeywordMap)["f32mat3x3"] = F32MAT3X3; - (*KeywordMap)["f32mat3x4"] = F32MAT3X4; - (*KeywordMap)["f32mat4x2"] = F32MAT4X2; - (*KeywordMap)["f32mat4x3"] = F32MAT4X3; - (*KeywordMap)["f32mat4x4"] = F32MAT4X4; - (*KeywordMap)["float64_t"] = FLOAT64_T; - (*KeywordMap)["f64vec2"] = F64VEC2; - (*KeywordMap)["f64vec3"] = F64VEC3; - (*KeywordMap)["f64vec4"] = F64VEC4; - (*KeywordMap)["f64mat2"] = F64MAT2; - (*KeywordMap)["f64mat3"] = F64MAT3; - (*KeywordMap)["f64mat4"] = F64MAT4; - (*KeywordMap)["f64mat2x2"] = F64MAT2X2; - (*KeywordMap)["f64mat2x3"] = F64MAT2X3; - (*KeywordMap)["f64mat2x4"] = F64MAT2X4; - (*KeywordMap)["f64mat3x2"] = F64MAT3X2; - (*KeywordMap)["f64mat3x3"] = F64MAT3X3; - (*KeywordMap)["f64mat3x4"] = F64MAT3X4; - (*KeywordMap)["f64mat4x2"] = F64MAT4X2; - (*KeywordMap)["f64mat4x3"] = F64MAT4X3; - (*KeywordMap)["f64mat4x4"] = F64MAT4X4; - - // GL_EXT_spirv_intrinsics - (*KeywordMap)["spirv_instruction"] = SPIRV_INSTRUCTION; - (*KeywordMap)["spirv_execution_mode"] = SPIRV_EXECUTION_MODE; - (*KeywordMap)["spirv_execution_mode_id"] = SPIRV_EXECUTION_MODE_ID; - (*KeywordMap)["spirv_decorate"] = SPIRV_DECORATE; - (*KeywordMap)["spirv_decorate_id"] = SPIRV_DECORATE_ID; - (*KeywordMap)["spirv_decorate_string"] = SPIRV_DECORATE_STRING; - (*KeywordMap)["spirv_type"] = SPIRV_TYPE; - (*KeywordMap)["spirv_storage_class"] = SPIRV_STORAGE_CLASS; - (*KeywordMap)["spirv_by_reference"] = SPIRV_BY_REFERENCE; - (*KeywordMap)["spirv_literal"] = SPIRV_LITERAL; - - (*KeywordMap)["sampler2D"] = SAMPLER2D; - (*KeywordMap)["samplerCube"] = SAMPLERCUBE; - (*KeywordMap)["samplerCubeShadow"] = SAMPLERCUBESHADOW; - (*KeywordMap)["sampler2DArray"] = SAMPLER2DARRAY; - (*KeywordMap)["sampler2DArrayShadow"] = SAMPLER2DARRAYSHADOW; - (*KeywordMap)["isampler2D"] = ISAMPLER2D; - (*KeywordMap)["isampler3D"] = ISAMPLER3D; - (*KeywordMap)["isamplerCube"] = ISAMPLERCUBE; - (*KeywordMap)["isampler2DArray"] = ISAMPLER2DARRAY; - (*KeywordMap)["usampler2D"] = USAMPLER2D; - (*KeywordMap)["usampler3D"] = USAMPLER3D; - (*KeywordMap)["usamplerCube"] = USAMPLERCUBE; - (*KeywordMap)["usampler2DArray"] = USAMPLER2DARRAY; - (*KeywordMap)["sampler3D"] = SAMPLER3D; - (*KeywordMap)["sampler2DShadow"] = SAMPLER2DSHADOW; - - (*KeywordMap)["texture2D"] = TEXTURE2D; - (*KeywordMap)["textureCube"] = TEXTURECUBE; - (*KeywordMap)["texture2DArray"] = TEXTURE2DARRAY; - (*KeywordMap)["itexture2D"] = ITEXTURE2D; - (*KeywordMap)["itexture3D"] = ITEXTURE3D; - (*KeywordMap)["itextureCube"] = ITEXTURECUBE; - (*KeywordMap)["itexture2DArray"] = ITEXTURE2DARRAY; - (*KeywordMap)["utexture2D"] = UTEXTURE2D; - (*KeywordMap)["utexture3D"] = UTEXTURE3D; - (*KeywordMap)["utextureCube"] = UTEXTURECUBE; - (*KeywordMap)["utexture2DArray"] = UTEXTURE2DARRAY; - (*KeywordMap)["texture3D"] = TEXTURE3D; - - (*KeywordMap)["sampler"] = SAMPLER; - (*KeywordMap)["samplerShadow"] = SAMPLERSHADOW; - - (*KeywordMap)["textureCubeArray"] = TEXTURECUBEARRAY; - (*KeywordMap)["itextureCubeArray"] = ITEXTURECUBEARRAY; - (*KeywordMap)["utextureCubeArray"] = UTEXTURECUBEARRAY; - (*KeywordMap)["samplerCubeArray"] = SAMPLERCUBEARRAY; - (*KeywordMap)["samplerCubeArrayShadow"] = SAMPLERCUBEARRAYSHADOW; - (*KeywordMap)["isamplerCubeArray"] = ISAMPLERCUBEARRAY; - (*KeywordMap)["usamplerCubeArray"] = USAMPLERCUBEARRAY; - (*KeywordMap)["sampler1DArrayShadow"] = SAMPLER1DARRAYSHADOW; - (*KeywordMap)["isampler1DArray"] = ISAMPLER1DARRAY; - (*KeywordMap)["usampler1D"] = USAMPLER1D; - (*KeywordMap)["isampler1D"] = ISAMPLER1D; - (*KeywordMap)["usampler1DArray"] = USAMPLER1DARRAY; - (*KeywordMap)["samplerBuffer"] = SAMPLERBUFFER; - (*KeywordMap)["isampler2DRect"] = ISAMPLER2DRECT; - (*KeywordMap)["usampler2DRect"] = USAMPLER2DRECT; - (*KeywordMap)["isamplerBuffer"] = ISAMPLERBUFFER; - (*KeywordMap)["usamplerBuffer"] = USAMPLERBUFFER; - (*KeywordMap)["sampler2DMS"] = SAMPLER2DMS; - (*KeywordMap)["isampler2DMS"] = ISAMPLER2DMS; - (*KeywordMap)["usampler2DMS"] = USAMPLER2DMS; - (*KeywordMap)["sampler2DMSArray"] = SAMPLER2DMSARRAY; - (*KeywordMap)["isampler2DMSArray"] = ISAMPLER2DMSARRAY; - (*KeywordMap)["usampler2DMSArray"] = USAMPLER2DMSARRAY; - (*KeywordMap)["sampler1D"] = SAMPLER1D; - (*KeywordMap)["sampler1DShadow"] = SAMPLER1DSHADOW; - (*KeywordMap)["sampler2DRect"] = SAMPLER2DRECT; - (*KeywordMap)["sampler2DRectShadow"] = SAMPLER2DRECTSHADOW; - (*KeywordMap)["sampler1DArray"] = SAMPLER1DARRAY; - - (*KeywordMap)["samplerExternalOES"] = SAMPLEREXTERNALOES; // GL_OES_EGL_image_external - - (*KeywordMap)["__samplerExternal2DY2YEXT"] = SAMPLEREXTERNAL2DY2YEXT; // GL_EXT_YUV_target - - (*KeywordMap)["itexture1DArray"] = ITEXTURE1DARRAY; - (*KeywordMap)["utexture1D"] = UTEXTURE1D; - (*KeywordMap)["itexture1D"] = ITEXTURE1D; - (*KeywordMap)["utexture1DArray"] = UTEXTURE1DARRAY; - (*KeywordMap)["textureBuffer"] = TEXTUREBUFFER; - (*KeywordMap)["itexture2DRect"] = ITEXTURE2DRECT; - (*KeywordMap)["utexture2DRect"] = UTEXTURE2DRECT; - (*KeywordMap)["itextureBuffer"] = ITEXTUREBUFFER; - (*KeywordMap)["utextureBuffer"] = UTEXTUREBUFFER; - (*KeywordMap)["texture2DMS"] = TEXTURE2DMS; - (*KeywordMap)["itexture2DMS"] = ITEXTURE2DMS; - (*KeywordMap)["utexture2DMS"] = UTEXTURE2DMS; - (*KeywordMap)["texture2DMSArray"] = TEXTURE2DMSARRAY; - (*KeywordMap)["itexture2DMSArray"] = ITEXTURE2DMSARRAY; - (*KeywordMap)["utexture2DMSArray"] = UTEXTURE2DMSARRAY; - (*KeywordMap)["texture1D"] = TEXTURE1D; - (*KeywordMap)["texture2DRect"] = TEXTURE2DRECT; - (*KeywordMap)["texture1DArray"] = TEXTURE1DARRAY; - - (*KeywordMap)["attachmentEXT"] = ATTACHMENTEXT; - (*KeywordMap)["iattachmentEXT"] = IATTACHMENTEXT; - (*KeywordMap)["uattachmentEXT"] = UATTACHMENTEXT; - - (*KeywordMap)["subpassInput"] = SUBPASSINPUT; - (*KeywordMap)["subpassInputMS"] = SUBPASSINPUTMS; - (*KeywordMap)["isubpassInput"] = ISUBPASSINPUT; - (*KeywordMap)["isubpassInputMS"] = ISUBPASSINPUTMS; - (*KeywordMap)["usubpassInput"] = USUBPASSINPUT; - (*KeywordMap)["usubpassInputMS"] = USUBPASSINPUTMS; - - (*KeywordMap)["f16sampler1D"] = F16SAMPLER1D; - (*KeywordMap)["f16sampler2D"] = F16SAMPLER2D; - (*KeywordMap)["f16sampler3D"] = F16SAMPLER3D; - (*KeywordMap)["f16sampler2DRect"] = F16SAMPLER2DRECT; - (*KeywordMap)["f16samplerCube"] = F16SAMPLERCUBE; - (*KeywordMap)["f16sampler1DArray"] = F16SAMPLER1DARRAY; - (*KeywordMap)["f16sampler2DArray"] = F16SAMPLER2DARRAY; - (*KeywordMap)["f16samplerCubeArray"] = F16SAMPLERCUBEARRAY; - (*KeywordMap)["f16samplerBuffer"] = F16SAMPLERBUFFER; - (*KeywordMap)["f16sampler2DMS"] = F16SAMPLER2DMS; - (*KeywordMap)["f16sampler2DMSArray"] = F16SAMPLER2DMSARRAY; - (*KeywordMap)["f16sampler1DShadow"] = F16SAMPLER1DSHADOW; - (*KeywordMap)["f16sampler2DShadow"] = F16SAMPLER2DSHADOW; - (*KeywordMap)["f16sampler2DRectShadow"] = F16SAMPLER2DRECTSHADOW; - (*KeywordMap)["f16samplerCubeShadow"] = F16SAMPLERCUBESHADOW; - (*KeywordMap)["f16sampler1DArrayShadow"] = F16SAMPLER1DARRAYSHADOW; - (*KeywordMap)["f16sampler2DArrayShadow"] = F16SAMPLER2DARRAYSHADOW; - (*KeywordMap)["f16samplerCubeArrayShadow"] = F16SAMPLERCUBEARRAYSHADOW; - - (*KeywordMap)["f16image1D"] = F16IMAGE1D; - (*KeywordMap)["f16image2D"] = F16IMAGE2D; - (*KeywordMap)["f16image3D"] = F16IMAGE3D; - (*KeywordMap)["f16image2DRect"] = F16IMAGE2DRECT; - (*KeywordMap)["f16imageCube"] = F16IMAGECUBE; - (*KeywordMap)["f16image1DArray"] = F16IMAGE1DARRAY; - (*KeywordMap)["f16image2DArray"] = F16IMAGE2DARRAY; - (*KeywordMap)["f16imageCubeArray"] = F16IMAGECUBEARRAY; - (*KeywordMap)["f16imageBuffer"] = F16IMAGEBUFFER; - (*KeywordMap)["f16image2DMS"] = F16IMAGE2DMS; - (*KeywordMap)["f16image2DMSArray"] = F16IMAGE2DMSARRAY; - - (*KeywordMap)["f16texture1D"] = F16TEXTURE1D; - (*KeywordMap)["f16texture2D"] = F16TEXTURE2D; - (*KeywordMap)["f16texture3D"] = F16TEXTURE3D; - (*KeywordMap)["f16texture2DRect"] = F16TEXTURE2DRECT; - (*KeywordMap)["f16textureCube"] = F16TEXTURECUBE; - (*KeywordMap)["f16texture1DArray"] = F16TEXTURE1DARRAY; - (*KeywordMap)["f16texture2DArray"] = F16TEXTURE2DARRAY; - (*KeywordMap)["f16textureCubeArray"] = F16TEXTURECUBEARRAY; - (*KeywordMap)["f16textureBuffer"] = F16TEXTUREBUFFER; - (*KeywordMap)["f16texture2DMS"] = F16TEXTURE2DMS; - (*KeywordMap)["f16texture2DMSArray"] = F16TEXTURE2DMSARRAY; - - (*KeywordMap)["f16subpassInput"] = F16SUBPASSINPUT; - (*KeywordMap)["f16subpassInputMS"] = F16SUBPASSINPUTMS; - (*KeywordMap)["__explicitInterpAMD"] = EXPLICITINTERPAMD; - (*KeywordMap)["pervertexNV"] = PERVERTEXNV; - (*KeywordMap)["pervertexEXT"] = PERVERTEXEXT; - (*KeywordMap)["precise"] = PRECISE; - - (*KeywordMap)["rayPayloadNV"] = PAYLOADNV; - (*KeywordMap)["rayPayloadEXT"] = PAYLOADEXT; - (*KeywordMap)["rayPayloadInNV"] = PAYLOADINNV; - (*KeywordMap)["rayPayloadInEXT"] = PAYLOADINEXT; - (*KeywordMap)["hitAttributeNV"] = HITATTRNV; - (*KeywordMap)["hitAttributeEXT"] = HITATTREXT; - (*KeywordMap)["callableDataNV"] = CALLDATANV; - (*KeywordMap)["callableDataEXT"] = CALLDATAEXT; - (*KeywordMap)["callableDataInNV"] = CALLDATAINNV; - (*KeywordMap)["callableDataInEXT"] = CALLDATAINEXT; - (*KeywordMap)["accelerationStructureNV"] = ACCSTRUCTNV; - (*KeywordMap)["accelerationStructureEXT"] = ACCSTRUCTEXT; - (*KeywordMap)["rayQueryEXT"] = RAYQUERYEXT; - (*KeywordMap)["perprimitiveNV"] = PERPRIMITIVENV; - (*KeywordMap)["perviewNV"] = PERVIEWNV; - (*KeywordMap)["taskNV"] = PERTASKNV; - (*KeywordMap)["perprimitiveEXT"] = PERPRIMITIVEEXT; - (*KeywordMap)["taskPayloadSharedEXT"] = TASKPAYLOADWORKGROUPEXT; - - (*KeywordMap)["fcoopmatNV"] = FCOOPMATNV; - (*KeywordMap)["icoopmatNV"] = ICOOPMATNV; - (*KeywordMap)["ucoopmatNV"] = UCOOPMATNV; - - (*KeywordMap)["coopmat"] = COOPMAT; - - (*KeywordMap)["hitObjectNV"] = HITOBJECTNV; - (*KeywordMap)["hitObjectAttributeNV"] = HITOBJECTATTRNV; - - ReservedSet = new std::unordered_set; - - ReservedSet->insert("common"); - ReservedSet->insert("partition"); - ReservedSet->insert("active"); - ReservedSet->insert("asm"); - ReservedSet->insert("class"); - ReservedSet->insert("union"); - ReservedSet->insert("enum"); - ReservedSet->insert("typedef"); - ReservedSet->insert("template"); - ReservedSet->insert("this"); - ReservedSet->insert("goto"); - ReservedSet->insert("inline"); - ReservedSet->insert("noinline"); - ReservedSet->insert("public"); - ReservedSet->insert("static"); - ReservedSet->insert("extern"); - ReservedSet->insert("external"); - ReservedSet->insert("interface"); - ReservedSet->insert("long"); - ReservedSet->insert("short"); - ReservedSet->insert("half"); - ReservedSet->insert("fixed"); - ReservedSet->insert("unsigned"); - ReservedSet->insert("input"); - ReservedSet->insert("output"); - ReservedSet->insert("hvec2"); - ReservedSet->insert("hvec3"); - ReservedSet->insert("hvec4"); - ReservedSet->insert("fvec2"); - ReservedSet->insert("fvec3"); - ReservedSet->insert("fvec4"); - ReservedSet->insert("sampler3DRect"); - ReservedSet->insert("filter"); - ReservedSet->insert("sizeof"); - ReservedSet->insert("cast"); - ReservedSet->insert("namespace"); - ReservedSet->insert("using"); -} - -void TScanContext::deleteKeywordMap() -{ - delete KeywordMap; - KeywordMap = nullptr; - delete ReservedSet; - ReservedSet = nullptr; -} - // Called by yylex to get the next token. // Returning 0 implies end of input. int TScanContext::tokenize(TPpContext* pp, TParserToken& token) @@ -924,11 +902,11 @@ int TScanContext::tokenize(TPpContext* pp, TParserToken& token) int TScanContext::tokenizeIdentifier() { - if (ReservedSet->find(tokenText) != ReservedSet->end()) + if (ReservedSet.find(tokenText) != ReservedSet.end()) return reservedWord(); - auto it = KeywordMap->find(tokenText); - if (it == KeywordMap->end()) { + auto it = KeywordMap.find(tokenText); + if (it == KeywordMap.end()) { // Should have an identifier of some sort return identifierOrType(); } diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp index 034a0306..040b21da 100644 --- a/glslang/MachineIndependent/ShaderLang.cpp +++ b/glslang/MachineIndependent/ShaderLang.cpp @@ -82,7 +82,10 @@ namespace { // anonymous namespace for file-local functions and symbols int NumberOfClients = 0; // global initialization lock +#ifndef DISABLE_THREAD_SUPPORT std::mutex init_lock; +#endif + using namespace glslang; @@ -294,18 +297,21 @@ int CommonIndex(EProfile profile, EShLanguage language) // // To initialize per-stage shared tables, with the common table already complete. // -void InitializeStageSymbolTable(TBuiltInParseables& builtInParseables, int version, EProfile profile, const SpvVersion& spvVersion, +bool InitializeStageSymbolTable(TBuiltInParseables& builtInParseables, int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, EShSource source, TInfoSink& infoSink, TSymbolTable** commonTable, TSymbolTable** symbolTables) { (*symbolTables[language]).adoptLevels(*commonTable[CommonIndex(profile, language)]); - InitializeSymbolTable(builtInParseables.getStageString(language), version, profile, spvVersion, language, source, - infoSink, *symbolTables[language]); + if (!InitializeSymbolTable(builtInParseables.getStageString(language), version, profile, spvVersion, language, source, + infoSink, *symbolTables[language])) + return false; builtInParseables.identifyBuiltIns(version, profile, spvVersion, language, *symbolTables[language]); if (profile == EEsProfile && version >= 300) (*symbolTables[language]).setNoBuiltInRedeclarations(); if (version == 110) (*symbolTables[language]).setSeparateNameSpaces(); + + return true; } // @@ -314,6 +320,7 @@ void InitializeStageSymbolTable(TBuiltInParseables& builtInParseables, int versi // bool InitializeSymbolTables(TInfoSink& infoSink, TSymbolTable** commonTable, TSymbolTable** symbolTables, int version, EProfile profile, const SpvVersion& spvVersion, EShSource source) { + bool success = true; std::unique_ptr builtInParseables(CreateBuiltInParseables(infoSink, source)); if (builtInParseables == nullptr) @@ -322,70 +329,70 @@ bool InitializeSymbolTables(TInfoSink& infoSink, TSymbolTable** commonTable, TS builtInParseables->initialize(version, profile, spvVersion); // do the common tables - InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangVertex, source, + success &= InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangVertex, source, infoSink, *commonTable[EPcGeneral]); if (profile == EEsProfile) - InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangFragment, source, + success &= InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangFragment, source, infoSink, *commonTable[EPcFragment]); // do the per-stage tables // always have vertex and fragment - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangVertex, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangVertex, source, infoSink, commonTable, symbolTables); - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangFragment, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangFragment, source, infoSink, commonTable, symbolTables); // check for tessellation if ((profile != EEsProfile && version >= 150) || (profile == EEsProfile && version >= 310)) { - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessControl, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessControl, source, infoSink, commonTable, symbolTables); - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessEvaluation, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessEvaluation, source, infoSink, commonTable, symbolTables); } // check for geometry if ((profile != EEsProfile && version >= 150) || (profile == EEsProfile && version >= 310)) - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangGeometry, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangGeometry, source, infoSink, commonTable, symbolTables); // check for compute if ((profile != EEsProfile && version >= 420) || (profile == EEsProfile && version >= 310)) - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCompute, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCompute, source, infoSink, commonTable, symbolTables); // check for ray tracing stages if (profile != EEsProfile && version >= 450) { - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangRayGen, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangRayGen, source, infoSink, commonTable, symbolTables); - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangIntersect, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangIntersect, source, infoSink, commonTable, symbolTables); - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangAnyHit, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangAnyHit, source, infoSink, commonTable, symbolTables); - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangClosestHit, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangClosestHit, source, infoSink, commonTable, symbolTables); - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangMiss, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangMiss, source, infoSink, commonTable, symbolTables); - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCallable, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCallable, source, infoSink, commonTable, symbolTables); } // check for mesh if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangMesh, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangMesh, source, infoSink, commonTable, symbolTables); // check for task if ((profile != EEsProfile && version >= 450) || (profile == EEsProfile && version >= 320)) - InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTask, source, + success &= InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTask, source, infoSink, commonTable, symbolTables); - return true; + return success; } bool AddContextSpecificSymbols(const TBuiltInResource* resources, TInfoSink& infoSink, TSymbolTable& symbolTable, int version, @@ -397,7 +404,8 @@ bool AddContextSpecificSymbols(const TBuiltInResource* resources, TInfoSink& inf return false; builtInParseables->initialize(*resources, version, profile, spvVersion, language); - InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, language, source, infoSink, symbolTable); + if (!InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, language, source, infoSink, symbolTable)) + return false; builtInParseables->identifyBuiltIns(version, profile, spvVersion, language, symbolTable, *resources); return true; @@ -415,20 +423,24 @@ bool AddContextSpecificSymbols(const TBuiltInResource* resources, TInfoSink& inf // This only gets done the first time any thread needs a particular symbol table // (lazy evaluation). // -void SetupBuiltinSymbolTable(int version, EProfile profile, const SpvVersion& spvVersion, EShSource source) +bool SetupBuiltinSymbolTable(int version, EProfile profile, const SpvVersion& spvVersion, EShSource source) { TInfoSink infoSink; + bool success; // Make sure only one thread tries to do this at a time +#ifndef DISABLE_THREAD_SUPPORT const std::lock_guard lock(init_lock); +#endif // See if it's already been done for this version/profile combination int versionIndex = MapVersionToIndex(version); int spvVersionIndex = MapSpvVersionToIndex(spvVersion); int profileIndex = MapProfileToIndex(profile); int sourceIndex = MapSourceToIndex(source); - if (CommonSymbolTable[versionIndex][spvVersionIndex][profileIndex][sourceIndex][EPcGeneral]) - return; + if (CommonSymbolTable[versionIndex][spvVersionIndex][profileIndex][sourceIndex][EPcGeneral]) { + return true; + } // Switch to a new pool TPoolAllocator& previousAllocator = GetThreadPoolAllocator(); @@ -444,7 +456,10 @@ void SetupBuiltinSymbolTable(int version, EProfile profile, const SpvVersion& sp stageTables[stage] = new TSymbolTable; // Generate the local symbol tables using the new pool - InitializeSymbolTables(infoSink, commonTable, stageTables, version, profile, spvVersion, source); + if (!InitializeSymbolTables(infoSink, commonTable, stageTables, version, profile, spvVersion, source)) { + success = false; + goto cleanup; + } // Switch to the process-global pool SetThreadPoolAllocator(PerProcessGPA); @@ -466,7 +481,9 @@ void SetupBuiltinSymbolTable(int version, EProfile profile, const SpvVersion& sp SharedSymbolTables[versionIndex][spvVersionIndex][profileIndex][sourceIndex][stage]->readOnly(); } } + success = true; +cleanup: // Clean up the local tables before deleting the pool they used. for (int precClass = 0; precClass < EPcCount; ++precClass) delete commonTable[precClass]; @@ -475,6 +492,8 @@ void SetupBuiltinSymbolTable(int version, EProfile profile, const SpvVersion& sp delete builtInPoolAllocator; SetThreadPoolAllocator(&previousAllocator); + + return success; } // Function to Print all builtins @@ -910,7 +929,9 @@ bool ProcessDeferred( intermediate.addSourceText(strings[numPre + s], lengths[numPre + s]); } } - SetupBuiltinSymbolTable(version, profile, spvVersion, source); + if (!SetupBuiltinSymbolTable(version, profile, spvVersion, source)) { + return false; + } TSymbolTable* cachedTable = SharedSymbolTables[MapVersionToIndex(version)] [MapSpvVersionToIndex(spvVersion)] @@ -1311,17 +1332,14 @@ bool CompileDeferred( // int ShInitialize() { +#ifndef DISABLE_THREAD_SUPPORT const std::lock_guard lock(init_lock); +#endif ++NumberOfClients; if (PerProcessGPA == nullptr) PerProcessGPA = new TPoolAllocator(); - glslang::TScanContext::fillInKeywordMap(); -#ifdef ENABLE_HLSL - glslang::HlslScanContext::fillInKeywordMap(); -#endif - return 1; } @@ -1371,7 +1389,9 @@ void ShDestruct(ShHandle handle) // int ShFinalize() { +#ifndef DISABLE_THREAD_SUPPORT const std::lock_guard lock(init_lock); +#endif --NumberOfClients; assert(NumberOfClients >= 0); if (NumberOfClients > 0) @@ -1408,11 +1428,6 @@ int ShFinalize() PerProcessGPA = nullptr; } - glslang::TScanContext::deleteKeywordMap(); -#ifdef ENABLE_HLSL - glslang::HlslScanContext::deleteKeywordMap(); -#endif - return 1; } @@ -1717,6 +1732,10 @@ public: virtual bool compile(TIntermNode*, int = 0, EProfile = ENoProfile) { return true; } }; +TIoMapper* GetGlslIoMapper() { + return static_cast(new TGlslIoMapper()); +} + TShader::TShader(EShLanguage s) : stage(s), lengths(nullptr), stringNames(nullptr), preamble(""), overrideVersion(0) { @@ -1849,6 +1868,9 @@ void TShader::setGlobalUniformBinding(unsigned int binding) { intermediate->setG void TShader::setAtomicCounterBlockName(const char* name) { intermediate->setAtomicCounterBlockName(name); } void TShader::setAtomicCounterBlockSet(unsigned int set) { intermediate->setAtomicCounterBlockSet(set); } +void TShader::addSourceText(const char* text, size_t len) { intermediate->addSourceText(text, len); } +void TShader::setSourceFile(const char* file) { intermediate->setSourceFile(file); } + #ifdef ENABLE_HLSL // See comment above TDefaultHlslIoMapper in iomapper.cpp: void TShader::setHlslIoMapping(bool hlslIoMap) { intermediate->setHlslIoMapping(hlslIoMap); } @@ -2033,7 +2055,7 @@ bool TProgram::linkStage(EShLanguage stage, EShMessages messages) // // Return true if no errors. // -bool TProgram::crossStageCheck(EShMessages) { +bool TProgram::crossStageCheck(EShMessages messages) { // make temporary intermediates to hold the linkage symbols for each linking interface // while we do the checks @@ -2088,6 +2110,13 @@ bool TProgram::crossStageCheck(EShMessages) { error |= (activeStages[i - 1]->getNumErrors() != 0); } + // if requested, optimize cross stage IO + if (messages & EShMsgLinkTimeOptimization) { + for (unsigned int i = 1; i < activeStages.size(); ++i) { + activeStages[i - 1]->optimizeStageIO(*infoSink, *activeStages[i]); + } + } + return !error; } @@ -2112,6 +2141,8 @@ bool TProgram::buildReflection(int opts) if (! linked || reflection != nullptr) return false; + SetThreadPoolAllocator(pool); + int firstStage = EShLangVertex, lastStage = EShLangFragment; if (opts & EShReflectionIntermediateIO) { @@ -2160,6 +2191,12 @@ int TProgram::getNumAtomicCounters() const { return r const TObjectReflection& TProgram::getAtomicCounter(int index) const { return reflection->getAtomicCounter(index); } void TProgram::dumpReflection() { if (reflection != nullptr) reflection->dump(); } +TIoMapResolver* TProgram::getGlslIoResolver(EShLanguage stage) { + auto *intermediate = getIntermediate(stage); + if (!intermediate) + return NULL; + return static_cast(new TDefaultGlslIoResolver(*intermediate)); +} // // I/O mapping implementation. // @@ -2167,6 +2204,9 @@ bool TProgram::mapIO(TIoMapResolver* pResolver, TIoMapper* pIoMapper) { if (! linked) return false; + + SetThreadPoolAllocator(pool); + TIoMapper* ioMapper = nullptr; TIoMapper defaultIOMapper; if (pIoMapper == nullptr) diff --git a/glslang/MachineIndependent/SymbolTable.cpp b/glslang/MachineIndependent/SymbolTable.cpp index 3b56e414..b6edb469 100644 --- a/glslang/MachineIndependent/SymbolTable.cpp +++ b/glslang/MachineIndependent/SymbolTable.cpp @@ -169,7 +169,7 @@ void TType::buildMangledName(TString& mangledName) const if (arraySizes->getDimNode(i)->getAsSymbolNode()) snprintf(buf, maxSize, "s%lld", arraySizes->getDimNode(i)->getAsSymbolNode()->getId()); else - snprintf(buf, maxSize, "s%p", arraySizes->getDimNode(i)); + snprintf(buf, maxSize, "s%p", (void*)(arraySizes->getDimNode(i))); } else snprintf(buf, maxSize, "%d", arraySizes->getDimSize(i)); mangledName += '['; diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp index e016ef6b..0262c54d 100644 --- a/glslang/MachineIndependent/Versions.cpp +++ b/glslang/MachineIndependent/Versions.cpp @@ -775,7 +775,7 @@ void TParseVersions::profileRequires(const TSourceLoc& loc, int profileMask, int for (int i = 0; i < numExtensions; ++i) { switch (getExtensionBehavior(extensions[i])) { case EBhWarn: - infoSink.info.message(EPrefixWarning, ("extension " + TString(extensions[i]) + " is being used for " + featureDesc).c_str(), loc); + infoSink.info.message(EPrefixWarning, ("extension " + TString(extensions[i]) + " is being used for " + featureDesc).c_str(), loc, messages & EShMsgAbsolutePath, messages & EShMsgDisplayErrorColumn); [[fallthrough]]; case EBhRequire: case EBhEnable: @@ -813,7 +813,8 @@ void TParseVersions::checkDeprecated(const TSourceLoc& loc, int profileMask, int error(loc, "deprecated, may be removed in future release", featureDesc, ""); else if (! suppressWarnings()) infoSink.info.message(EPrefixWarning, (TString(featureDesc) + " deprecated in version " + - String(depVersion) + "; may be removed in future release").c_str(), loc); + String(depVersion) + "; may be removed in future release").c_str(), + loc, messages & EShMsgAbsolutePath, messages & EShMsgDisplayErrorColumn); } } } @@ -850,11 +851,14 @@ bool TParseVersions::checkExtensionsRequested(const TSourceLoc& loc, int numExte for (int i = 0; i < numExtensions; ++i) { TExtensionBehavior behavior = getExtensionBehavior(extensions[i]); if (behavior == EBhDisable && relaxedErrors()) { - infoSink.info.message(EPrefixWarning, "The following extension must be enabled to use this feature:", loc); + infoSink.info.message(EPrefixWarning, "The following extension must be enabled to use this feature:", loc, + messages & EShMsgAbsolutePath, messages & EShMsgDisplayErrorColumn); behavior = EBhWarn; } if (behavior == EBhWarn) { - infoSink.info.message(EPrefixWarning, ("extension " + TString(extensions[i]) + " is being used for " + featureDesc).c_str(), loc); + infoSink.info.message(EPrefixWarning, + ("extension " + TString(extensions[i]) + " is being used for " + featureDesc).c_str(), + loc, messages & EShMsgAbsolutePath, messages & EShMsgDisplayErrorColumn); warned = true; } } diff --git a/glslang/MachineIndependent/Versions.h b/glslang/MachineIndependent/Versions.h old mode 100755 new mode 100644 diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y index 53c57677..35686fbc 100644 --- a/glslang/MachineIndependent/glslang.y +++ b/glslang/MachineIndependent/glslang.y @@ -3773,8 +3773,10 @@ compound_statement --parseContext.statementNestingLevel; } RIGHT_BRACE { - if ($3 && $3->getAsAggregate()) + if ($3 && $3->getAsAggregate()) { $3->getAsAggregate()->setOperator(parseContext.intermediate.getDebugInfo() ? EOpScope : EOpSequence); + $3->getAsAggregate()->setEndLoc($5.loc); + } $$ = $3; } ; @@ -3810,8 +3812,10 @@ compound_statement_no_new_scope $$ = 0; } | LEFT_BRACE statement_list RIGHT_BRACE { - if ($2 && $2->getAsAggregate()) + if ($2 && $2->getAsAggregate()) { $2->getAsAggregate()->setOperator(EOpSequence); + $2->getAsAggregate()->setEndLoc($3.loc); + } $$ = $2; } ; diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp index 5764d392..77571b94 100644 --- a/glslang/MachineIndependent/glslang_tab.cpp +++ b/glslang/MachineIndependent/glslang_tab.cpp @@ -1217,20 +1217,20 @@ static const yytype_int16 yyrline[] = 3551, 3567, 3572, 3577, 3585, 3585, 3602, 3602, 3612, 3615, 3628, 3650, 3677, 3681, 3687, 3692, 3703, 3706, 3712, 3718, 3727, 3730, 3736, 3740, 3741, 3747, 3748, 3749, 3750, 3751, - 3752, 3753, 3754, 3758, 3766, 3767, 3771, 3767, 3783, 3784, - 3788, 3788, 3795, 3795, 3809, 3812, 3820, 3828, 3839, 3840, - 3844, 3847, 3854, 3861, 3865, 3873, 3877, 3890, 3893, 3900, - 3900, 3920, 3923, 3929, 3941, 3953, 3956, 3964, 3964, 3979, - 3979, 3997, 3997, 4018, 4021, 4027, 4030, 4036, 4040, 4047, - 4052, 4057, 4064, 4067, 4071, 4075, 4079, 4088, 4092, 4101, - 4104, 4107, 4115, 4115, 4157, 4162, 4165, 4170, 4173, 4178, - 4181, 4186, 4189, 4194, 4197, 4202, 4205, 4210, 4214, 4219, - 4223, 4228, 4232, 4239, 4242, 4247, 4250, 4253, 4256, 4259, - 4264, 4273, 4284, 4289, 4297, 4301, 4306, 4310, 4315, 4319, - 4324, 4328, 4335, 4338, 4343, 4346, 4349, 4352, 4357, 4360, - 4365, 4371, 4374, 4377, 4380, 4385, 4389, 4394, 4398, 4403, - 4407, 4414, 4417, 4422, 4425, 4430, 4433, 4439, 4442, 4447, - 4450 + 3752, 3753, 3754, 3758, 3766, 3767, 3771, 3767, 3785, 3786, + 3790, 3790, 3797, 3797, 3811, 3814, 3824, 3832, 3843, 3844, + 3848, 3851, 3858, 3865, 3869, 3877, 3881, 3894, 3897, 3904, + 3904, 3924, 3927, 3933, 3945, 3957, 3960, 3968, 3968, 3983, + 3983, 4001, 4001, 4022, 4025, 4031, 4034, 4040, 4044, 4051, + 4056, 4061, 4068, 4071, 4075, 4079, 4083, 4092, 4096, 4105, + 4108, 4111, 4119, 4119, 4161, 4166, 4169, 4174, 4177, 4182, + 4185, 4190, 4193, 4198, 4201, 4206, 4209, 4214, 4218, 4223, + 4227, 4232, 4236, 4243, 4246, 4251, 4254, 4257, 4260, 4263, + 4268, 4277, 4288, 4293, 4301, 4305, 4310, 4314, 4319, 4323, + 4328, 4332, 4339, 4342, 4347, 4350, 4353, 4356, 4361, 4364, + 4369, 4375, 4378, 4381, 4384, 4389, 4393, 4398, 4402, 4407, + 4411, 4418, 4421, 4426, 4429, 4434, 4437, 4443, 4446, 4451, + 4454 }; #endif @@ -11277,83 +11277,87 @@ yyreduce: case 577: /* compound_statement: LEFT_BRACE $@5 statement_list $@6 RIGHT_BRACE */ #line 3775 "MachineIndependent/glslang.y" { - if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate()) + if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate()) { (yyvsp[-2].interm.intermNode)->getAsAggregate()->setOperator(parseContext.intermediate.getDebugInfo() ? EOpScope : EOpSequence); + (yyvsp[-2].interm.intermNode)->getAsAggregate()->setEndLoc((yyvsp[0].lex).loc); + } (yyval.interm.intermNode) = (yyvsp[-2].interm.intermNode); } -#line 11285 "MachineIndependent/glslang_tab.cpp" +#line 11287 "MachineIndependent/glslang_tab.cpp" break; case 578: /* statement_no_new_scope: compound_statement_no_new_scope */ -#line 3783 "MachineIndependent/glslang.y" +#line 3785 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11291 "MachineIndependent/glslang_tab.cpp" +#line 11293 "MachineIndependent/glslang_tab.cpp" break; case 579: /* statement_no_new_scope: simple_statement */ -#line 3784 "MachineIndependent/glslang.y" +#line 3786 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11297 "MachineIndependent/glslang_tab.cpp" +#line 11299 "MachineIndependent/glslang_tab.cpp" break; case 580: /* $@7: %empty */ -#line 3788 "MachineIndependent/glslang.y" +#line 3790 "MachineIndependent/glslang.y" { ++parseContext.controlFlowNestingLevel; } -#line 11305 "MachineIndependent/glslang_tab.cpp" +#line 11307 "MachineIndependent/glslang_tab.cpp" break; case 581: /* statement_scoped: $@7 compound_statement */ -#line 3791 "MachineIndependent/glslang.y" +#line 3793 "MachineIndependent/glslang.y" { --parseContext.controlFlowNestingLevel; (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11314 "MachineIndependent/glslang_tab.cpp" +#line 11316 "MachineIndependent/glslang_tab.cpp" break; case 582: /* $@8: %empty */ -#line 3795 "MachineIndependent/glslang.y" +#line 3797 "MachineIndependent/glslang.y" { parseContext.symbolTable.push(); ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 11324 "MachineIndependent/glslang_tab.cpp" +#line 11326 "MachineIndependent/glslang_tab.cpp" break; case 583: /* statement_scoped: $@8 simple_statement */ -#line 3800 "MachineIndependent/glslang.y" +#line 3802 "MachineIndependent/glslang.y" { parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11335 "MachineIndependent/glslang_tab.cpp" +#line 11337 "MachineIndependent/glslang_tab.cpp" break; case 584: /* compound_statement_no_new_scope: LEFT_BRACE RIGHT_BRACE */ -#line 3809 "MachineIndependent/glslang.y" +#line 3811 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = 0; } -#line 11343 "MachineIndependent/glslang_tab.cpp" +#line 11345 "MachineIndependent/glslang_tab.cpp" break; case 585: /* compound_statement_no_new_scope: LEFT_BRACE statement_list RIGHT_BRACE */ -#line 3812 "MachineIndependent/glslang.y" +#line 3814 "MachineIndependent/glslang.y" { - if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate()) + if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate()) { (yyvsp[-1].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence); + (yyvsp[-1].interm.intermNode)->getAsAggregate()->setEndLoc((yyvsp[0].lex).loc); + } (yyval.interm.intermNode) = (yyvsp[-1].interm.intermNode); } -#line 11353 "MachineIndependent/glslang_tab.cpp" +#line 11357 "MachineIndependent/glslang_tab.cpp" break; case 586: /* statement_list: statement */ -#line 3820 "MachineIndependent/glslang.y" +#line 3824 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode)); if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase || @@ -11362,11 +11366,11 @@ yyreduce: (yyval.interm.intermNode) = 0; // start a fresh subsequence for what's after this case } } -#line 11366 "MachineIndependent/glslang_tab.cpp" +#line 11370 "MachineIndependent/glslang_tab.cpp" break; case 587: /* statement_list: statement_list statement */ -#line 3828 "MachineIndependent/glslang.y" +#line 3832 "MachineIndependent/glslang.y" { if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase || (yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) { @@ -11375,77 +11379,77 @@ yyreduce: } else (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 11379 "MachineIndependent/glslang_tab.cpp" +#line 11383 "MachineIndependent/glslang_tab.cpp" break; case 588: /* expression_statement: SEMICOLON */ -#line 3839 "MachineIndependent/glslang.y" +#line 3843 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = 0; } -#line 11385 "MachineIndependent/glslang_tab.cpp" +#line 11389 "MachineIndependent/glslang_tab.cpp" break; case 589: /* expression_statement: expression SEMICOLON */ -#line 3840 "MachineIndependent/glslang.y" +#line 3844 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = static_cast((yyvsp[-1].interm.intermTypedNode)); } -#line 11391 "MachineIndependent/glslang_tab.cpp" +#line 11395 "MachineIndependent/glslang_tab.cpp" break; case 590: /* selection_statement: selection_statement_nonattributed */ -#line 3844 "MachineIndependent/glslang.y" +#line 3848 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11399 "MachineIndependent/glslang_tab.cpp" +#line 11403 "MachineIndependent/glslang_tab.cpp" break; case 591: /* selection_statement: attribute selection_statement_nonattributed */ -#line 3847 "MachineIndependent/glslang.y" +#line 3851 "MachineIndependent/glslang.y" { parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 1, &E_GL_EXT_control_flow_attributes, "attribute"); parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11409 "MachineIndependent/glslang_tab.cpp" +#line 11413 "MachineIndependent/glslang_tab.cpp" break; case 592: /* selection_statement_nonattributed: IF LEFT_PAREN expression RIGHT_PAREN selection_rest_statement */ -#line 3854 "MachineIndependent/glslang.y" +#line 3858 "MachineIndependent/glslang.y" { parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-2].interm.intermTypedNode)); (yyval.interm.intermNode) = parseContext.intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yyvsp[-4].lex).loc); } -#line 11418 "MachineIndependent/glslang_tab.cpp" +#line 11422 "MachineIndependent/glslang_tab.cpp" break; case 593: /* selection_rest_statement: statement_scoped ELSE statement_scoped */ -#line 3861 "MachineIndependent/glslang.y" +#line 3865 "MachineIndependent/glslang.y" { (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode); (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode); } -#line 11427 "MachineIndependent/glslang_tab.cpp" +#line 11431 "MachineIndependent/glslang_tab.cpp" break; case 594: /* selection_rest_statement: statement_scoped */ -#line 3865 "MachineIndependent/glslang.y" +#line 3869 "MachineIndependent/glslang.y" { (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode); (yyval.interm.nodePair).node2 = 0; } -#line 11436 "MachineIndependent/glslang_tab.cpp" +#line 11440 "MachineIndependent/glslang_tab.cpp" break; case 595: /* condition: expression */ -#line 3873 "MachineIndependent/glslang.y" +#line 3877 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode)); } -#line 11445 "MachineIndependent/glslang_tab.cpp" +#line 11449 "MachineIndependent/glslang_tab.cpp" break; case 596: /* condition: fully_specified_type IDENTIFIER EQUAL initializer */ -#line 3877 "MachineIndependent/glslang.y" +#line 3881 "MachineIndependent/glslang.y" { parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type)); @@ -11456,29 +11460,29 @@ yyreduce: else (yyval.interm.intermTypedNode) = 0; } -#line 11460 "MachineIndependent/glslang_tab.cpp" +#line 11464 "MachineIndependent/glslang_tab.cpp" break; case 597: /* switch_statement: switch_statement_nonattributed */ -#line 3890 "MachineIndependent/glslang.y" +#line 3894 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11468 "MachineIndependent/glslang_tab.cpp" +#line 11472 "MachineIndependent/glslang_tab.cpp" break; case 598: /* switch_statement: attribute switch_statement_nonattributed */ -#line 3893 "MachineIndependent/glslang.y" +#line 3897 "MachineIndependent/glslang.y" { parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 1, &E_GL_EXT_control_flow_attributes, "attribute"); parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11478 "MachineIndependent/glslang_tab.cpp" +#line 11482 "MachineIndependent/glslang_tab.cpp" break; case 599: /* $@9: %empty */ -#line 3900 "MachineIndependent/glslang.y" +#line 3904 "MachineIndependent/glslang.y" { // start new switch sequence on the switch stack ++parseContext.controlFlowNestingLevel; @@ -11487,11 +11491,11 @@ yyreduce: parseContext.switchLevel.push_back(parseContext.statementNestingLevel); parseContext.symbolTable.push(); } -#line 11491 "MachineIndependent/glslang_tab.cpp" +#line 11495 "MachineIndependent/glslang_tab.cpp" break; case 600: /* switch_statement_nonattributed: SWITCH LEFT_PAREN expression RIGHT_PAREN $@9 LEFT_BRACE switch_statement_list RIGHT_BRACE */ -#line 3908 "MachineIndependent/glslang.y" +#line 3912 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.addSwitch((yyvsp[-7].lex).loc, (yyvsp[-5].interm.intermTypedNode), (yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0); delete parseContext.switchSequenceStack.back(); @@ -11501,27 +11505,27 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 11505 "MachineIndependent/glslang_tab.cpp" +#line 11509 "MachineIndependent/glslang_tab.cpp" break; case 601: /* switch_statement_list: %empty */ -#line 3920 "MachineIndependent/glslang.y" +#line 3924 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = 0; } -#line 11513 "MachineIndependent/glslang_tab.cpp" +#line 11517 "MachineIndependent/glslang_tab.cpp" break; case 602: /* switch_statement_list: statement_list */ -#line 3923 "MachineIndependent/glslang.y" +#line 3927 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11521 "MachineIndependent/glslang_tab.cpp" +#line 11525 "MachineIndependent/glslang_tab.cpp" break; case 603: /* case_label: CASE expression COLON */ -#line 3929 "MachineIndependent/glslang.y" +#line 3933 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = 0; if (parseContext.switchLevel.size() == 0) @@ -11534,11 +11538,11 @@ yyreduce: (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc); } } -#line 11538 "MachineIndependent/glslang_tab.cpp" +#line 11542 "MachineIndependent/glslang_tab.cpp" break; case 604: /* case_label: DEFAULT COLON */ -#line 3941 "MachineIndependent/glslang.y" +#line 3945 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = 0; if (parseContext.switchLevel.size() == 0) @@ -11548,30 +11552,30 @@ yyreduce: else (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc); } -#line 11552 "MachineIndependent/glslang_tab.cpp" +#line 11556 "MachineIndependent/glslang_tab.cpp" break; case 605: /* iteration_statement: iteration_statement_nonattributed */ -#line 3953 "MachineIndependent/glslang.y" +#line 3957 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11560 "MachineIndependent/glslang_tab.cpp" +#line 11564 "MachineIndependent/glslang_tab.cpp" break; case 606: /* iteration_statement: attribute iteration_statement_nonattributed */ -#line 3956 "MachineIndependent/glslang.y" +#line 3960 "MachineIndependent/glslang.y" { const char * extensions[2] = { E_GL_EXT_control_flow_attributes, E_GL_EXT_control_flow_attributes2 }; parseContext.requireExtensions((yyvsp[0].interm.intermNode)->getLoc(), 2, extensions, "attribute"); parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode)); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11571 "MachineIndependent/glslang_tab.cpp" +#line 11575 "MachineIndependent/glslang_tab.cpp" break; case 607: /* $@10: %empty */ -#line 3964 "MachineIndependent/glslang.y" +#line 3968 "MachineIndependent/glslang.y" { if (! parseContext.limits.whileLoops) parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", ""); @@ -11580,11 +11584,11 @@ yyreduce: ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 11584 "MachineIndependent/glslang_tab.cpp" +#line 11588 "MachineIndependent/glslang_tab.cpp" break; case 608: /* iteration_statement_nonattributed: WHILE LEFT_PAREN $@10 condition RIGHT_PAREN statement_no_new_scope */ -#line 3972 "MachineIndependent/glslang.y" +#line 3976 "MachineIndependent/glslang.y" { parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); (yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, true, (yyvsp[-5].lex).loc); @@ -11592,22 +11596,22 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 11596 "MachineIndependent/glslang_tab.cpp" +#line 11600 "MachineIndependent/glslang_tab.cpp" break; case 609: /* $@11: %empty */ -#line 3979 "MachineIndependent/glslang.y" +#line 3983 "MachineIndependent/glslang.y" { parseContext.symbolTable.push(); ++parseContext.loopNestingLevel; ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 11607 "MachineIndependent/glslang_tab.cpp" +#line 11611 "MachineIndependent/glslang_tab.cpp" break; case 610: /* iteration_statement_nonattributed: DO $@11 statement WHILE LEFT_PAREN expression RIGHT_PAREN SEMICOLON */ -#line 3985 "MachineIndependent/glslang.y" +#line 3989 "MachineIndependent/glslang.y" { if (! parseContext.limits.whileLoops) parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", ""); @@ -11620,22 +11624,22 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 11624 "MachineIndependent/glslang_tab.cpp" +#line 11628 "MachineIndependent/glslang_tab.cpp" break; case 611: /* $@12: %empty */ -#line 3997 "MachineIndependent/glslang.y" +#line 4001 "MachineIndependent/glslang.y" { parseContext.symbolTable.push(); ++parseContext.loopNestingLevel; ++parseContext.statementNestingLevel; ++parseContext.controlFlowNestingLevel; } -#line 11635 "MachineIndependent/glslang_tab.cpp" +#line 11639 "MachineIndependent/glslang_tab.cpp" break; case 612: /* iteration_statement_nonattributed: FOR LEFT_PAREN $@12 for_init_statement for_rest_statement RIGHT_PAREN statement_no_new_scope */ -#line 4003 "MachineIndependent/glslang.y" +#line 4007 "MachineIndependent/glslang.y" { parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]); (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc); @@ -11648,81 +11652,81 @@ yyreduce: --parseContext.statementNestingLevel; --parseContext.controlFlowNestingLevel; } -#line 11652 "MachineIndependent/glslang_tab.cpp" +#line 11656 "MachineIndependent/glslang_tab.cpp" break; case 613: /* for_init_statement: expression_statement */ -#line 4018 "MachineIndependent/glslang.y" +#line 4022 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11660 "MachineIndependent/glslang_tab.cpp" +#line 11664 "MachineIndependent/glslang_tab.cpp" break; case 614: /* for_init_statement: declaration_statement */ -#line 4021 "MachineIndependent/glslang.y" +#line 4025 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11668 "MachineIndependent/glslang_tab.cpp" +#line 11672 "MachineIndependent/glslang_tab.cpp" break; case 615: /* conditionopt: condition */ -#line 4027 "MachineIndependent/glslang.y" +#line 4031 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); } -#line 11676 "MachineIndependent/glslang_tab.cpp" +#line 11680 "MachineIndependent/glslang_tab.cpp" break; case 616: /* conditionopt: %empty */ -#line 4030 "MachineIndependent/glslang.y" +#line 4034 "MachineIndependent/glslang.y" { (yyval.interm.intermTypedNode) = 0; } -#line 11684 "MachineIndependent/glslang_tab.cpp" +#line 11688 "MachineIndependent/glslang_tab.cpp" break; case 617: /* for_rest_statement: conditionopt SEMICOLON */ -#line 4036 "MachineIndependent/glslang.y" +#line 4040 "MachineIndependent/glslang.y" { (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode); (yyval.interm.nodePair).node2 = 0; } -#line 11693 "MachineIndependent/glslang_tab.cpp" +#line 11697 "MachineIndependent/glslang_tab.cpp" break; case 618: /* for_rest_statement: conditionopt SEMICOLON expression */ -#line 4040 "MachineIndependent/glslang.y" +#line 4044 "MachineIndependent/glslang.y" { (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode); (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode); } -#line 11702 "MachineIndependent/glslang_tab.cpp" +#line 11706 "MachineIndependent/glslang_tab.cpp" break; case 619: /* jump_statement: CONTINUE SEMICOLON */ -#line 4047 "MachineIndependent/glslang.y" +#line 4051 "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 11712 "MachineIndependent/glslang_tab.cpp" +#line 11716 "MachineIndependent/glslang_tab.cpp" break; case 620: /* jump_statement: BREAK SEMICOLON */ -#line 4052 "MachineIndependent/glslang.y" +#line 4056 "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 11722 "MachineIndependent/glslang_tab.cpp" +#line 11726 "MachineIndependent/glslang_tab.cpp" break; case 621: /* jump_statement: RETURN SEMICOLON */ -#line 4057 "MachineIndependent/glslang.y" +#line 4061 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc); if (parseContext.currentFunctionType->getBasicType() != EbtVoid) @@ -11730,101 +11734,101 @@ yyreduce: if (parseContext.inMain) parseContext.postEntryPointReturn = true; } -#line 11734 "MachineIndependent/glslang_tab.cpp" +#line 11738 "MachineIndependent/glslang_tab.cpp" break; case 622: /* jump_statement: RETURN expression SEMICOLON */ -#line 4064 "MachineIndependent/glslang.y" +#line 4068 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode)); } -#line 11742 "MachineIndependent/glslang_tab.cpp" +#line 11746 "MachineIndependent/glslang_tab.cpp" break; case 623: /* jump_statement: DISCARD SEMICOLON */ -#line 4067 "MachineIndependent/glslang.y" +#line 4071 "MachineIndependent/glslang.y" { parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc); } -#line 11751 "MachineIndependent/glslang_tab.cpp" +#line 11755 "MachineIndependent/glslang_tab.cpp" break; case 624: /* jump_statement: TERMINATE_INVOCATION SEMICOLON */ -#line 4071 "MachineIndependent/glslang.y" +#line 4075 "MachineIndependent/glslang.y" { parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "terminateInvocation"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateInvocation, (yyvsp[-1].lex).loc); } -#line 11760 "MachineIndependent/glslang_tab.cpp" +#line 11764 "MachineIndependent/glslang_tab.cpp" break; case 625: /* jump_statement: TERMINATE_RAY SEMICOLON */ -#line 4075 "MachineIndependent/glslang.y" +#line 4079 "MachineIndependent/glslang.y" { parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "terminateRayEXT"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpTerminateRayKHR, (yyvsp[-1].lex).loc); } -#line 11769 "MachineIndependent/glslang_tab.cpp" +#line 11773 "MachineIndependent/glslang_tab.cpp" break; case 626: /* jump_statement: IGNORE_INTERSECTION SEMICOLON */ -#line 4079 "MachineIndependent/glslang.y" +#line 4083 "MachineIndependent/glslang.y" { parseContext.requireStage((yyvsp[-1].lex).loc, EShLangAnyHit, "ignoreIntersectionEXT"); (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpIgnoreIntersectionKHR, (yyvsp[-1].lex).loc); } -#line 11778 "MachineIndependent/glslang_tab.cpp" +#line 11782 "MachineIndependent/glslang_tab.cpp" break; case 627: /* translation_unit: external_declaration */ -#line 4088 "MachineIndependent/glslang.y" +#line 4092 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); parseContext.intermediate.setTreeRoot((yyval.interm.intermNode)); } -#line 11787 "MachineIndependent/glslang_tab.cpp" +#line 11791 "MachineIndependent/glslang_tab.cpp" break; case 628: /* translation_unit: translation_unit external_declaration */ -#line 4092 "MachineIndependent/glslang.y" +#line 4096 "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 11798 "MachineIndependent/glslang_tab.cpp" +#line 11802 "MachineIndependent/glslang_tab.cpp" break; case 629: /* external_declaration: function_definition */ -#line 4101 "MachineIndependent/glslang.y" +#line 4105 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11806 "MachineIndependent/glslang_tab.cpp" +#line 11810 "MachineIndependent/glslang_tab.cpp" break; case 630: /* external_declaration: declaration */ -#line 4104 "MachineIndependent/glslang.y" +#line 4108 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); } -#line 11814 "MachineIndependent/glslang_tab.cpp" +#line 11818 "MachineIndependent/glslang_tab.cpp" break; case 631: /* external_declaration: SEMICOLON */ -#line 4107 "MachineIndependent/glslang.y" +#line 4111 "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 11824 "MachineIndependent/glslang_tab.cpp" +#line 11828 "MachineIndependent/glslang_tab.cpp" break; case 632: /* $@13: %empty */ -#line 4115 "MachineIndependent/glslang.y" +#line 4119 "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); @@ -11837,11 +11841,11 @@ yyreduce: ++parseContext.statementNestingLevel; } } -#line 11841 "MachineIndependent/glslang_tab.cpp" +#line 11845 "MachineIndependent/glslang_tab.cpp" break; case 633: /* function_definition: function_prototype $@13 compound_statement_no_new_scope */ -#line 4127 "MachineIndependent/glslang.y" +#line 4131 "MachineIndependent/glslang.y" { // May be best done as post process phase on intermediate code if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue) @@ -11869,228 +11873,228 @@ yyreduce: --parseContext.statementNestingLevel; } } -#line 11873 "MachineIndependent/glslang_tab.cpp" +#line 11877 "MachineIndependent/glslang_tab.cpp" break; case 634: /* attribute: LEFT_BRACKET LEFT_BRACKET attribute_list RIGHT_BRACKET RIGHT_BRACKET */ -#line 4157 "MachineIndependent/glslang.y" +#line 4161 "MachineIndependent/glslang.y" { (yyval.interm.attributes) = (yyvsp[-2].interm.attributes); } -#line 11881 "MachineIndependent/glslang_tab.cpp" +#line 11885 "MachineIndependent/glslang_tab.cpp" break; case 635: /* attribute_list: single_attribute */ -#line 4162 "MachineIndependent/glslang.y" +#line 4166 "MachineIndependent/glslang.y" { (yyval.interm.attributes) = (yyvsp[0].interm.attributes); } -#line 11889 "MachineIndependent/glslang_tab.cpp" +#line 11893 "MachineIndependent/glslang_tab.cpp" break; case 636: /* attribute_list: attribute_list COMMA single_attribute */ -#line 4165 "MachineIndependent/glslang.y" +#line 4169 "MachineIndependent/glslang.y" { (yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes)); } -#line 11897 "MachineIndependent/glslang_tab.cpp" +#line 11901 "MachineIndependent/glslang_tab.cpp" break; case 637: /* single_attribute: IDENTIFIER */ -#line 4170 "MachineIndependent/glslang.y" +#line 4174 "MachineIndependent/glslang.y" { (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string); } -#line 11905 "MachineIndependent/glslang_tab.cpp" +#line 11909 "MachineIndependent/glslang_tab.cpp" break; case 638: /* single_attribute: IDENTIFIER LEFT_PAREN constant_expression RIGHT_PAREN */ -#line 4173 "MachineIndependent/glslang.y" +#line 4177 "MachineIndependent/glslang.y" { (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode)); } -#line 11913 "MachineIndependent/glslang_tab.cpp" +#line 11917 "MachineIndependent/glslang_tab.cpp" break; case 639: /* spirv_requirements_list: spirv_requirements_parameter */ -#line 4178 "MachineIndependent/glslang.y" +#line 4182 "MachineIndependent/glslang.y" { (yyval.interm.spirvReq) = (yyvsp[0].interm.spirvReq); } -#line 11921 "MachineIndependent/glslang_tab.cpp" +#line 11925 "MachineIndependent/glslang_tab.cpp" break; case 640: /* spirv_requirements_list: spirv_requirements_list COMMA spirv_requirements_parameter */ -#line 4181 "MachineIndependent/glslang.y" +#line 4185 "MachineIndependent/glslang.y" { (yyval.interm.spirvReq) = parseContext.mergeSpirvRequirements((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvReq), (yyvsp[0].interm.spirvReq)); } -#line 11929 "MachineIndependent/glslang_tab.cpp" +#line 11933 "MachineIndependent/glslang_tab.cpp" break; case 641: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_extension_list RIGHT_BRACKET */ -#line 4186 "MachineIndependent/glslang.y" +#line 4190 "MachineIndependent/glslang.y" { (yyval.interm.spirvReq) = parseContext.makeSpirvRequirement((yyvsp[-3].lex).loc, *(yyvsp[-4].lex).string, (yyvsp[-1].interm.intermNode)->getAsAggregate(), nullptr); } -#line 11937 "MachineIndependent/glslang_tab.cpp" +#line 11941 "MachineIndependent/glslang_tab.cpp" break; case 642: /* spirv_requirements_parameter: IDENTIFIER EQUAL LEFT_BRACKET spirv_capability_list RIGHT_BRACKET */ -#line 4189 "MachineIndependent/glslang.y" +#line 4193 "MachineIndependent/glslang.y" { (yyval.interm.spirvReq) = parseContext.makeSpirvRequirement((yyvsp[-3].lex).loc, *(yyvsp[-4].lex).string, nullptr, (yyvsp[-1].interm.intermNode)->getAsAggregate()); } -#line 11945 "MachineIndependent/glslang_tab.cpp" +#line 11949 "MachineIndependent/glslang_tab.cpp" break; case 643: /* spirv_extension_list: STRING_LITERAL */ -#line 4194 "MachineIndependent/glslang.y" +#line 4198 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true)); } -#line 11953 "MachineIndependent/glslang_tab.cpp" +#line 11957 "MachineIndependent/glslang_tab.cpp" break; case 644: /* spirv_extension_list: spirv_extension_list COMMA STRING_LITERAL */ -#line 4197 "MachineIndependent/glslang.y" +#line 4201 "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 11961 "MachineIndependent/glslang_tab.cpp" +#line 11965 "MachineIndependent/glslang_tab.cpp" break; case 645: /* spirv_capability_list: INTCONSTANT */ -#line 4202 "MachineIndependent/glslang.y" +#line 4206 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate(parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true)); } -#line 11969 "MachineIndependent/glslang_tab.cpp" +#line 11973 "MachineIndependent/glslang_tab.cpp" break; case 646: /* spirv_capability_list: spirv_capability_list COMMA INTCONSTANT */ -#line 4205 "MachineIndependent/glslang.y" +#line 4209 "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 11977 "MachineIndependent/glslang_tab.cpp" +#line 11981 "MachineIndependent/glslang_tab.cpp" break; case 647: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT RIGHT_PAREN */ -#line 4210 "MachineIndependent/glslang.y" +#line 4214 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-1].lex).i); (yyval.interm.intermNode) = 0; } -#line 11986 "MachineIndependent/glslang_tab.cpp" +#line 11990 "MachineIndependent/glslang_tab.cpp" break; case 648: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */ -#line 4214 "MachineIndependent/glslang.y" +#line 4218 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq)); parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-1].lex).i); (yyval.interm.intermNode) = 0; } -#line 11996 "MachineIndependent/glslang_tab.cpp" +#line 12000 "MachineIndependent/glslang_tab.cpp" break; case 649: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */ -#line 4219 "MachineIndependent/glslang.y" +#line 4223 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvExecutionMode((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); (yyval.interm.intermNode) = 0; } -#line 12005 "MachineIndependent/glslang_tab.cpp" +#line 12009 "MachineIndependent/glslang_tab.cpp" break; case 650: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_execution_mode_parameter_list RIGHT_PAREN */ -#line 4223 "MachineIndependent/glslang.y" +#line 4227 "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 12015 "MachineIndependent/glslang_tab.cpp" +#line 12019 "MachineIndependent/glslang_tab.cpp" break; case 651: /* spirv_execution_mode_qualifier: SPIRV_EXECUTION_MODE_ID LEFT_PAREN INTCONSTANT COMMA spirv_execution_mode_id_parameter_list RIGHT_PAREN */ -#line 4228 "MachineIndependent/glslang.y" +#line 4232 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvExecutionModeId((yyvsp[-3].lex).i, (yyvsp[-1].interm.intermNode)->getAsAggregate()); (yyval.interm.intermNode) = 0; } -#line 12024 "MachineIndependent/glslang_tab.cpp" +#line 12028 "MachineIndependent/glslang_tab.cpp" break; case 652: /* 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 4232 "MachineIndependent/glslang.y" +#line 4236 "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 12034 "MachineIndependent/glslang_tab.cpp" +#line 12038 "MachineIndependent/glslang_tab.cpp" break; case 653: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter */ -#line 4239 "MachineIndependent/glslang.y" +#line 4243 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode)); } -#line 12042 "MachineIndependent/glslang_tab.cpp" +#line 12046 "MachineIndependent/glslang_tab.cpp" break; case 654: /* spirv_execution_mode_parameter_list: spirv_execution_mode_parameter_list COMMA spirv_execution_mode_parameter */ -#line 4242 "MachineIndependent/glslang.y" +#line 4246 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 12050 "MachineIndependent/glslang_tab.cpp" +#line 12054 "MachineIndependent/glslang_tab.cpp" break; case 655: /* spirv_execution_mode_parameter: FLOATCONSTANT */ -#line 4247 "MachineIndependent/glslang.y" +#line 4251 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true); } -#line 12058 "MachineIndependent/glslang_tab.cpp" +#line 12062 "MachineIndependent/glslang_tab.cpp" break; case 656: /* spirv_execution_mode_parameter: INTCONSTANT */ -#line 4250 "MachineIndependent/glslang.y" +#line 4254 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 12066 "MachineIndependent/glslang_tab.cpp" +#line 12070 "MachineIndependent/glslang_tab.cpp" break; case 657: /* spirv_execution_mode_parameter: UINTCONSTANT */ -#line 4253 "MachineIndependent/glslang.y" +#line 4257 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 12074 "MachineIndependent/glslang_tab.cpp" +#line 12078 "MachineIndependent/glslang_tab.cpp" break; case 658: /* spirv_execution_mode_parameter: BOOLCONSTANT */ -#line 4256 "MachineIndependent/glslang.y" +#line 4260 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true); } -#line 12082 "MachineIndependent/glslang_tab.cpp" +#line 12086 "MachineIndependent/glslang_tab.cpp" break; case 659: /* spirv_execution_mode_parameter: STRING_LITERAL */ -#line 4259 "MachineIndependent/glslang.y" +#line 4263 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true); } -#line 12090 "MachineIndependent/glslang_tab.cpp" +#line 12094 "MachineIndependent/glslang_tab.cpp" break; case 660: /* spirv_execution_mode_id_parameter_list: constant_expression */ -#line 4264 "MachineIndependent/glslang.y" +#line 4268 "MachineIndependent/glslang.y" { if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat && (yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt && @@ -12100,11 +12104,11 @@ yyreduce: 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 12104 "MachineIndependent/glslang_tab.cpp" +#line 12108 "MachineIndependent/glslang_tab.cpp" break; case 661: /* spirv_execution_mode_id_parameter_list: spirv_execution_mode_id_parameter_list COMMA constant_expression */ -#line 4273 "MachineIndependent/glslang.y" +#line 4277 "MachineIndependent/glslang.y" { if ((yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtFloat && (yyvsp[0].interm.intermTypedNode)->getBasicType() != EbtInt && @@ -12114,351 +12118,351 @@ yyreduce: 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 12118 "MachineIndependent/glslang_tab.cpp" +#line 12122 "MachineIndependent/glslang_tab.cpp" break; case 662: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN INTCONSTANT RIGHT_PAREN */ -#line 4284 "MachineIndependent/glslang.y" +#line 4288 "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 12128 "MachineIndependent/glslang_tab.cpp" +#line 12132 "MachineIndependent/glslang_tab.cpp" break; case 663: /* spirv_storage_class_qualifier: SPIRV_STORAGE_CLASS LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */ -#line 4289 "MachineIndependent/glslang.y" +#line 4293 "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 12139 "MachineIndependent/glslang_tab.cpp" +#line 12143 "MachineIndependent/glslang_tab.cpp" break; case 664: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT RIGHT_PAREN */ -#line 4297 "MachineIndependent/glslang.y" +#line 4301 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-3].lex).loc); (yyval.interm.type).qualifier.setSpirvDecorate((yyvsp[-1].lex).i); } -#line 12148 "MachineIndependent/glslang_tab.cpp" +#line 12152 "MachineIndependent/glslang_tab.cpp" break; case 665: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT RIGHT_PAREN */ -#line 4301 "MachineIndependent/glslang.y" +#line 4305 "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 12158 "MachineIndependent/glslang_tab.cpp" +#line 12162 "MachineIndependent/glslang_tab.cpp" break; case 666: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */ -#line 4306 "MachineIndependent/glslang.y" +#line 4310 "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 12167 "MachineIndependent/glslang_tab.cpp" +#line 12171 "MachineIndependent/glslang_tab.cpp" break; case 667: /* spirv_decorate_qualifier: SPIRV_DECORATE LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_parameter_list RIGHT_PAREN */ -#line 4310 "MachineIndependent/glslang.y" +#line 4314 "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 12177 "MachineIndependent/glslang_tab.cpp" +#line 12181 "MachineIndependent/glslang_tab.cpp" break; case 668: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */ -#line 4315 "MachineIndependent/glslang.y" +#line 4319 "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 12186 "MachineIndependent/glslang_tab.cpp" +#line 12190 "MachineIndependent/glslang_tab.cpp" break; case 669: /* spirv_decorate_qualifier: SPIRV_DECORATE_ID LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_id_parameter_list RIGHT_PAREN */ -#line 4319 "MachineIndependent/glslang.y" +#line 4323 "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 12196 "MachineIndependent/glslang_tab.cpp" +#line 12200 "MachineIndependent/glslang_tab.cpp" break; case 670: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */ -#line 4324 "MachineIndependent/glslang.y" +#line 4328 "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 12205 "MachineIndependent/glslang_tab.cpp" +#line 12209 "MachineIndependent/glslang_tab.cpp" break; case 671: /* spirv_decorate_qualifier: SPIRV_DECORATE_STRING LEFT_PAREN spirv_requirements_list COMMA INTCONSTANT COMMA spirv_decorate_string_parameter_list RIGHT_PAREN */ -#line 4328 "MachineIndependent/glslang.y" +#line 4332 "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 12215 "MachineIndependent/glslang_tab.cpp" +#line 12219 "MachineIndependent/glslang_tab.cpp" break; case 672: /* spirv_decorate_parameter_list: spirv_decorate_parameter */ -#line 4335 "MachineIndependent/glslang.y" +#line 4339 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode)); } -#line 12223 "MachineIndependent/glslang_tab.cpp" +#line 12227 "MachineIndependent/glslang_tab.cpp" break; case 673: /* spirv_decorate_parameter_list: spirv_decorate_parameter_list COMMA spirv_decorate_parameter */ -#line 4338 "MachineIndependent/glslang.y" +#line 4342 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 12231 "MachineIndependent/glslang_tab.cpp" +#line 12235 "MachineIndependent/glslang_tab.cpp" break; case 674: /* spirv_decorate_parameter: FLOATCONSTANT */ -#line 4343 "MachineIndependent/glslang.y" +#line 4347 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true); } -#line 12239 "MachineIndependent/glslang_tab.cpp" +#line 12243 "MachineIndependent/glslang_tab.cpp" break; case 675: /* spirv_decorate_parameter: INTCONSTANT */ -#line 4346 "MachineIndependent/glslang.y" +#line 4350 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 12247 "MachineIndependent/glslang_tab.cpp" +#line 12251 "MachineIndependent/glslang_tab.cpp" break; case 676: /* spirv_decorate_parameter: UINTCONSTANT */ -#line 4349 "MachineIndependent/glslang.y" +#line 4353 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 12255 "MachineIndependent/glslang_tab.cpp" +#line 12259 "MachineIndependent/glslang_tab.cpp" break; case 677: /* spirv_decorate_parameter: BOOLCONSTANT */ -#line 4352 "MachineIndependent/glslang.y" +#line 4356 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true); } -#line 12263 "MachineIndependent/glslang_tab.cpp" +#line 12267 "MachineIndependent/glslang_tab.cpp" break; case 678: /* spirv_decorate_id_parameter_list: spirv_decorate_id_parameter */ -#line 4357 "MachineIndependent/glslang.y" +#line 4361 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode)); } -#line 12271 "MachineIndependent/glslang_tab.cpp" +#line 12275 "MachineIndependent/glslang_tab.cpp" break; case 679: /* spirv_decorate_id_parameter_list: spirv_decorate_id_parameter_list COMMA spirv_decorate_id_parameter */ -#line 4360 "MachineIndependent/glslang.y" +#line 4364 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermNode), (yyvsp[0].interm.intermNode)); } -#line 12279 "MachineIndependent/glslang_tab.cpp" +#line 12283 "MachineIndependent/glslang_tab.cpp" break; case 680: /* spirv_decorate_id_parameter: variable_identifier */ -#line 4365 "MachineIndependent/glslang.y" +#line 4369 "MachineIndependent/glslang.y" { if ((yyvsp[0].interm.intermTypedNode)->getAsConstantUnion() || (yyvsp[0].interm.intermTypedNode)->getAsSymbolNode()) (yyval.interm.intermNode) = (yyvsp[0].interm.intermTypedNode); else parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "only allow constants or variables which are not elements of a composite", "", ""); } -#line 12290 "MachineIndependent/glslang_tab.cpp" +#line 12294 "MachineIndependent/glslang_tab.cpp" break; case 681: /* spirv_decorate_id_parameter: FLOATCONSTANT */ -#line 4371 "MachineIndependent/glslang.y" +#line 4375 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true); } -#line 12298 "MachineIndependent/glslang_tab.cpp" +#line 12302 "MachineIndependent/glslang_tab.cpp" break; case 682: /* spirv_decorate_id_parameter: INTCONSTANT */ -#line 4374 "MachineIndependent/glslang.y" +#line 4378 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true); } -#line 12306 "MachineIndependent/glslang_tab.cpp" +#line 12310 "MachineIndependent/glslang_tab.cpp" break; case 683: /* spirv_decorate_id_parameter: UINTCONSTANT */ -#line 4377 "MachineIndependent/glslang.y" +#line 4381 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true); } -#line 12314 "MachineIndependent/glslang_tab.cpp" +#line 12318 "MachineIndependent/glslang_tab.cpp" break; case 684: /* spirv_decorate_id_parameter: BOOLCONSTANT */ -#line 4380 "MachineIndependent/glslang.y" +#line 4384 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true); } -#line 12322 "MachineIndependent/glslang_tab.cpp" +#line 12326 "MachineIndependent/glslang_tab.cpp" break; case 685: /* spirv_decorate_string_parameter_list: STRING_LITERAL */ -#line 4385 "MachineIndependent/glslang.y" +#line 4389 "MachineIndependent/glslang.y" { (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate( parseContext.intermediate.addConstantUnion((yyvsp[0].lex).string, (yyvsp[0].lex).loc, true)); } -#line 12331 "MachineIndependent/glslang_tab.cpp" +#line 12335 "MachineIndependent/glslang_tab.cpp" break; case 686: /* spirv_decorate_string_parameter_list: spirv_decorate_string_parameter_list COMMA STRING_LITERAL */ -#line 4389 "MachineIndependent/glslang.y" +#line 4393 "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 12339 "MachineIndependent/glslang_tab.cpp" +#line 12343 "MachineIndependent/glslang_tab.cpp" break; case 687: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */ -#line 4394 "MachineIndependent/glslang.y" +#line 4398 "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 12348 "MachineIndependent/glslang_tab.cpp" +#line 12352 "MachineIndependent/glslang_tab.cpp" break; case 688: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list COMMA spirv_type_parameter_list RIGHT_PAREN */ -#line 4398 "MachineIndependent/glslang.y" +#line 4402 "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 12358 "MachineIndependent/glslang_tab.cpp" +#line 12362 "MachineIndependent/glslang_tab.cpp" break; case 689: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */ -#line 4403 "MachineIndependent/glslang.y" +#line 4407 "MachineIndependent/glslang.y" { (yyval.interm.type).init((yyvsp[-3].lex).loc, parseContext.symbolTable.atGlobalLevel()); (yyval.interm.type).setSpirvType(*(yyvsp[-1].interm.spirvInst)); } -#line 12367 "MachineIndependent/glslang_tab.cpp" +#line 12371 "MachineIndependent/glslang_tab.cpp" break; case 690: /* spirv_type_specifier: SPIRV_TYPE LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */ -#line 4407 "MachineIndependent/glslang.y" +#line 4411 "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 12377 "MachineIndependent/glslang_tab.cpp" +#line 12381 "MachineIndependent/glslang_tab.cpp" break; case 691: /* spirv_type_parameter_list: spirv_type_parameter */ -#line 4414 "MachineIndependent/glslang.y" +#line 4418 "MachineIndependent/glslang.y" { (yyval.interm.spirvTypeParams) = (yyvsp[0].interm.spirvTypeParams); } -#line 12385 "MachineIndependent/glslang_tab.cpp" +#line 12389 "MachineIndependent/glslang_tab.cpp" break; case 692: /* spirv_type_parameter_list: spirv_type_parameter_list COMMA spirv_type_parameter */ -#line 4417 "MachineIndependent/glslang.y" +#line 4421 "MachineIndependent/glslang.y" { (yyval.interm.spirvTypeParams) = parseContext.mergeSpirvTypeParameters((yyvsp[-2].interm.spirvTypeParams), (yyvsp[0].interm.spirvTypeParams)); } -#line 12393 "MachineIndependent/glslang_tab.cpp" +#line 12397 "MachineIndependent/glslang_tab.cpp" break; case 693: /* spirv_type_parameter: constant_expression */ -#line 4422 "MachineIndependent/glslang.y" +#line 4426 "MachineIndependent/glslang.y" { (yyval.interm.spirvTypeParams) = parseContext.makeSpirvTypeParameters((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode)->getAsConstantUnion()); } -#line 12401 "MachineIndependent/glslang_tab.cpp" +#line 12405 "MachineIndependent/glslang_tab.cpp" break; case 694: /* spirv_type_parameter: type_specifier_nonarray */ -#line 4425 "MachineIndependent/glslang.y" +#line 4429 "MachineIndependent/glslang.y" { (yyval.interm.spirvTypeParams) = parseContext.makeSpirvTypeParameters((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type)); } -#line 12409 "MachineIndependent/glslang_tab.cpp" +#line 12413 "MachineIndependent/glslang_tab.cpp" break; case 695: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_instruction_qualifier_list RIGHT_PAREN */ -#line 4430 "MachineIndependent/glslang.y" +#line 4434 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst); } -#line 12417 "MachineIndependent/glslang_tab.cpp" +#line 12421 "MachineIndependent/glslang_tab.cpp" break; case 696: /* spirv_instruction_qualifier: SPIRV_INSTRUCTION LEFT_PAREN spirv_requirements_list COMMA spirv_instruction_qualifier_list RIGHT_PAREN */ -#line 4433 "MachineIndependent/glslang.y" +#line 4437 "MachineIndependent/glslang.y" { parseContext.intermediate.insertSpirvRequirement((yyvsp[-3].interm.spirvReq)); (yyval.interm.spirvInst) = (yyvsp[-1].interm.spirvInst); } -#line 12426 "MachineIndependent/glslang_tab.cpp" +#line 12430 "MachineIndependent/glslang_tab.cpp" break; case 697: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_id */ -#line 4439 "MachineIndependent/glslang.y" +#line 4443 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = (yyvsp[0].interm.spirvInst); } -#line 12434 "MachineIndependent/glslang_tab.cpp" +#line 12438 "MachineIndependent/glslang_tab.cpp" break; case 698: /* spirv_instruction_qualifier_list: spirv_instruction_qualifier_list COMMA spirv_instruction_qualifier_id */ -#line 4442 "MachineIndependent/glslang.y" +#line 4446 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = parseContext.mergeSpirvInstruction((yyvsp[-1].lex).loc, (yyvsp[-2].interm.spirvInst), (yyvsp[0].interm.spirvInst)); } -#line 12442 "MachineIndependent/glslang_tab.cpp" +#line 12446 "MachineIndependent/glslang_tab.cpp" break; case 699: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL STRING_LITERAL */ -#line 4447 "MachineIndependent/glslang.y" +#line 4451 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, *(yyvsp[0].lex).string); } -#line 12450 "MachineIndependent/glslang_tab.cpp" +#line 12454 "MachineIndependent/glslang_tab.cpp" break; case 700: /* spirv_instruction_qualifier_id: IDENTIFIER EQUAL INTCONSTANT */ -#line 4450 "MachineIndependent/glslang.y" +#line 4454 "MachineIndependent/glslang.y" { (yyval.interm.spirvInst) = parseContext.makeSpirvInstruction((yyvsp[-1].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[0].lex).i); } -#line 12458 "MachineIndependent/glslang_tab.cpp" +#line 12462 "MachineIndependent/glslang_tab.cpp" break; -#line 12462 "MachineIndependent/glslang_tab.cpp" +#line 12466 "MachineIndependent/glslang_tab.cpp" default: break; } @@ -12682,5 +12686,5 @@ yyreturnlab: return yyresult; } -#line 4454 "MachineIndependent/glslang.y" +#line 4458 "MachineIndependent/glslang.y" diff --git a/glslang/MachineIndependent/iomapper.cpp b/glslang/MachineIndependent/iomapper.cpp index 5e94a9e8..3e7749d3 100644 --- a/glslang/MachineIndependent/iomapper.cpp +++ b/glslang/MachineIndependent/iomapper.cpp @@ -39,6 +39,7 @@ #include "gl_types.h" #include "iomapper.h" +#include "LiveTraverser.h" #include "SymbolTable.h" // @@ -60,6 +61,108 @@ namespace glslang { +struct TVarEntryInfo { + long long id; + TIntermSymbol* symbol; + bool live; + bool upgradedToPushConstant; + int newBinding; + int newSet; + int newLocation; + int newComponent; + int newIndex; + EShLanguage stage; + + void clearNewAssignments() { + upgradedToPushConstant = false; + newBinding = -1; + newSet = -1; + newLocation = -1; + newComponent = -1; + newIndex = -1; + } + + struct TOrderById { + inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r) { return l.id < r.id; } + }; + + struct TOrderByPriority { + // ordering: + // 1) has both binding and set + // 2) has binding but no set + // 3) has no binding but set + // 4) has no binding and no set + inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r) { + const TQualifier& lq = l.symbol->getQualifier(); + const TQualifier& rq = r.symbol->getQualifier(); + + // simple rules: + // has binding gives 2 points + // has set gives 1 point + // who has the most points is more important. + int lPoints = (lq.hasBinding() ? 2 : 0) + (lq.hasSet() ? 1 : 0); + int rPoints = (rq.hasBinding() ? 2 : 0) + (rq.hasSet() ? 1 : 0); + + if (lPoints == rPoints) + return l.id < r.id; + return lPoints > rPoints; + } + }; + + struct TOrderByPriorityAndLive { + // ordering: + // 1) do live variables first + // 2) has both binding and set + // 3) has binding but no set + // 4) has no binding but set + // 5) has no binding and no set + inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r) { + + const TQualifier& lq = l.symbol->getQualifier(); + const TQualifier& rq = r.symbol->getQualifier(); + + // simple rules: + // has binding gives 2 points + // has set gives 1 point + // who has the most points is more important. + int lPoints = (lq.hasBinding() ? 2 : 0) + (lq.hasSet() ? 1 : 0); + int rPoints = (rq.hasBinding() ? 2 : 0) + (rq.hasSet() ? 1 : 0); + + if (l.live != r.live) + return l.live > r.live; + + if (lPoints != rPoints) + return lPoints > rPoints; + + return l.id < r.id; + } + }; +}; + +// override function "operator=", if a vector being sort, +// when use vc++, the sort function will call : +// pair& operator=(const pair<_Other1, _Other2>& _Right) +// { +// first = _Right.first; +// second = _Right.second; +// return (*this); +// } +// that will make a const type handing on left. +// override this function can avoid a compiler error. +// In the future, if the vc++ compiler can handle such a situation, +// this part of the code will be removed. +struct TVarLivePair : std::pair { + TVarLivePair(const std::pair& _Right) : pair(_Right.first, _Right.second) {} + TVarLivePair& operator=(const TVarLivePair& _Right) { + const_cast(first) = _Right.first; + second = _Right.second; + return (*this); + } + TVarLivePair(const TVarLivePair& src) : pair(src) { } +}; +typedef std::vector TVarLiveVector; + + class TVarGatherTraverser : public TLiveTraverser { public: TVarGatherTraverser(const TIntermediate& i, bool traverseDeadCode, TVarLiveMap& inList, TVarLiveMap& outList, TVarLiveMap& uniformList) @@ -176,7 +279,7 @@ struct TNotifyInOutAdaptor { EShLanguage stage; TIoMapResolver& resolver; - inline TNotifyInOutAdaptor(EShLanguage s, TIoMapResolver& r) + inline TNotifyInOutAdaptor(EShLanguage s, TIoMapResolver& r) : stage(s) , resolver(r) { @@ -1497,6 +1600,36 @@ bool TIoMapper::addStage(EShLanguage stage, TIntermediate& intermediate, TInfoSi return !hadError; } +TGlslIoMapper::TGlslIoMapper() { + memset(inVarMaps, 0, sizeof(TVarLiveMap*) * EShLangCount); + memset(outVarMaps, 0, sizeof(TVarLiveMap*) * EShLangCount); + memset(uniformVarMap, 0, sizeof(TVarLiveMap*) * EShLangCount); + memset(intermediates, 0, sizeof(TIntermediate*) * EShLangCount); + profile = ENoProfile; + version = 0; + autoPushConstantMaxSize = 128; + autoPushConstantBlockPacking = ElpStd430; +} + +TGlslIoMapper::~TGlslIoMapper() { + for (size_t stage = 0; stage < EShLangCount; stage++) { + if (inVarMaps[stage] != nullptr) { + delete inVarMaps[stage]; + inVarMaps[stage] = nullptr; + } + if (outVarMaps[stage] != nullptr) { + delete outVarMaps[stage]; + outVarMaps[stage] = nullptr; + } + if (uniformVarMap[stage] != nullptr) { + delete uniformVarMap[stage]; + uniformVarMap[stage] = nullptr; + } + if (intermediates[stage] != nullptr) + intermediates[stage] = nullptr; + } +} + // Map I/O variables to provided offsets, and make bindings for // unbound but live variables. // diff --git a/glslang/MachineIndependent/iomapper.h b/glslang/MachineIndependent/iomapper.h index 35babbce..ef513d9a 100644 --- a/glslang/MachineIndependent/iomapper.h +++ b/glslang/MachineIndependent/iomapper.h @@ -37,7 +37,6 @@ #define _IOMAPPER_INCLUDED #include -#include "LiveTraverser.h" #include #include // @@ -49,84 +48,7 @@ class TInfoSink; namespace glslang { class TIntermediate; -struct TVarEntryInfo { - long long id; - TIntermSymbol* symbol; - bool live; - bool upgradedToPushConstant; - int newBinding; - int newSet; - int newLocation; - int newComponent; - int newIndex; - EShLanguage stage; - - void clearNewAssignments() { - upgradedToPushConstant = false; - newBinding = -1; - newSet = -1; - newLocation = -1; - newComponent = -1; - newIndex = -1; - } - - struct TOrderById { - inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r) { return l.id < r.id; } - }; - - struct TOrderByPriority { - // ordering: - // 1) has both binding and set - // 2) has binding but no set - // 3) has no binding but set - // 4) has no binding and no set - inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r) { - const TQualifier& lq = l.symbol->getQualifier(); - const TQualifier& rq = r.symbol->getQualifier(); - - // simple rules: - // has binding gives 2 points - // has set gives 1 point - // who has the most points is more important. - int lPoints = (lq.hasBinding() ? 2 : 0) + (lq.hasSet() ? 1 : 0); - int rPoints = (rq.hasBinding() ? 2 : 0) + (rq.hasSet() ? 1 : 0); - - if (lPoints == rPoints) - return l.id < r.id; - return lPoints > rPoints; - } - }; - - struct TOrderByPriorityAndLive { - // ordering: - // 1) do live variables first - // 2) has both binding and set - // 3) has binding but no set - // 4) has no binding but set - // 5) has no binding and no set - inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r) { - - const TQualifier& lq = l.symbol->getQualifier(); - const TQualifier& rq = r.symbol->getQualifier(); - - // simple rules: - // has binding gives 2 points - // has set gives 1 point - // who has the most points is more important. - int lPoints = (lq.hasBinding() ? 2 : 0) + (lq.hasSet() ? 1 : 0); - int rPoints = (rq.hasBinding() ? 2 : 0) + (rq.hasSet() ? 1 : 0); - - if (l.live != r.live) - return l.live > r.live; - - if (lPoints != rPoints) - return lPoints > rPoints; - - return l.id < r.id; - } - }; -}; - +struct TVarEntryInfo; // Base class for shared TIoMapResolver services, used by several derivations. struct TDefaultIoResolverBase : public glslang::TIoMapResolver { public: @@ -267,82 +189,22 @@ protected: typedef std::map TVarLiveMap; -// override function "operator=", if a vector being sort, -// when use vc++, the sort function will call : -// pair& operator=(const pair<_Other1, _Other2>& _Right) -// { -// first = _Right.first; -// second = _Right.second; -// return (*this); -// } -// that will make a const type handing on left. -// override this function can avoid a compiler error. -// In the future, if the vc++ compiler can handle such a situation, -// this part of the code will be removed. -struct TVarLivePair : std::pair { - TVarLivePair(const std::pair& _Right) : pair(_Right.first, _Right.second) {} - TVarLivePair& operator=(const TVarLivePair& _Right) { - const_cast(first) = _Right.first; - second = _Right.second; - return (*this); - } - TVarLivePair(const TVarLivePair& src) : pair(src) { } -}; -typedef std::vector TVarLiveVector; - -// I/O mapper -class TIoMapper { -public: - TIoMapper() {} - virtual ~TIoMapper() {} - // grow the reflection stage by stage - bool virtual addStage(EShLanguage, TIntermediate&, TInfoSink&, TIoMapResolver*); - bool virtual doMap(TIoMapResolver*, TInfoSink&) { return true; } -}; - // I/O mapper for GLSL class TGlslIoMapper : public TIoMapper { public: - TGlslIoMapper() { - memset(inVarMaps, 0, sizeof(TVarLiveMap*) * (EShLangCount + 1)); - memset(outVarMaps, 0, sizeof(TVarLiveMap*) * (EShLangCount + 1)); - memset(uniformVarMap, 0, sizeof(TVarLiveMap*) * (EShLangCount + 1)); - 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++) { - if (inVarMaps[stage] != nullptr) { - delete inVarMaps[stage]; - inVarMaps[stage] = nullptr; - } - if (outVarMaps[stage] != nullptr) { - delete outVarMaps[stage]; - outVarMaps[stage] = nullptr; - } - if (uniformVarMap[stage] != nullptr) { - delete uniformVarMap[stage]; - uniformVarMap[stage] = nullptr; - } - if (intermediates[stage] != nullptr) - intermediates[stage] = nullptr; - } - } + TGlslIoMapper(); + virtual ~TGlslIoMapper(); // 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) { + bool setAutoPushConstantBlock(const char* name, unsigned int maxSize, TLayoutPacking packing) override { autoPushConstantBlockName = name; autoPushConstantMaxSize = maxSize; autoPushConstantBlockPacking = packing; + return true; } // grow the reflection stage by stage bool addStage(EShLanguage, TIntermediate&, TInfoSink&, TIoMapResolver*) override; bool doMap(TIoMapResolver*, TInfoSink&) override; - TVarLiveMap *inVarMaps[EShLangCount], *outVarMaps[EShLangCount], - *uniformVarMap[EShLangCount]; TIntermediate* intermediates[EShLangCount]; bool hadError = false; EProfile profile; @@ -352,6 +214,8 @@ private: TString autoPushConstantBlockName; unsigned int autoPushConstantMaxSize; TLayoutPacking autoPushConstantBlockPacking; + TVarLiveMap *inVarMaps[EShLangCount], *outVarMaps[EShLangCount], + *uniformVarMap[EShLangCount]; }; } // end namespace glslang diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp index 62e24426..b0c27e84 100644 --- a/glslang/MachineIndependent/linkValidate.cpp +++ b/glslang/MachineIndependent/linkValidate.cpp @@ -49,6 +49,7 @@ #include "localintermediate.h" #include "../Include/InfoSink.h" #include "SymbolTable.h" +#include "LiveTraverser.h" namespace glslang { @@ -113,6 +114,28 @@ void TIntermediate::mergeUniformObjects(TInfoSink& infoSink, TIntermediate& unit mergeLinkerObjects(infoSink, linkerObjects, unitLinkerObjects, unit.getStage()); } +static inline bool isSameInterface(TIntermSymbol* symbol, EShLanguage stage, TIntermSymbol* unitSymbol, EShLanguage unitStage) { + return // 1) same stage and same shader interface + (stage == unitStage && symbol->getType().getShaderInterface() == unitSymbol->getType().getShaderInterface()) || + // 2) accross stages and both are uniform or buffer + (symbol->getQualifier().storage == EvqUniform && unitSymbol->getQualifier().storage == EvqUniform) || + (symbol->getQualifier().storage == EvqBuffer && unitSymbol->getQualifier().storage == EvqBuffer) || + // 3) in/out matched across stage boundary + (stage < unitStage && symbol->getQualifier().storage == EvqVaryingOut && unitSymbol->getQualifier().storage == EvqVaryingIn) || + (unitStage < stage && symbol->getQualifier().storage == EvqVaryingIn && unitSymbol->getQualifier().storage == EvqVaryingOut); +} + +static bool isSameSymbol(TIntermSymbol* symbol1, EShLanguage stage1, TIntermSymbol* symbol2, EShLanguage stage2) { + // If they are both blocks in the same shader interface, + // match by the block-name, not the identifier name. + if (symbol1->getType().getBasicType() == EbtBlock && symbol2->getType().getBasicType() == EbtBlock) { + if (isSameInterface(symbol1, stage1, symbol2, stage2)) { + return symbol1->getType().getTypeName() == symbol2->getType().getTypeName(); + } + } else if (symbol1->getName() == symbol2->getName()) + return true; + return false; +} // // do error checking on the shader boundary in / out vars // @@ -137,7 +160,133 @@ void TIntermediate::checkStageIO(TInfoSink& infoSink, TIntermediate& unit) { // do matching and error checking mergeLinkerObjects(infoSink, linkerObjects, unitLinkerObjects, unit.getStage()); - // TODO: final check; make sure that any statically used `in` have matching `out` written to + // Check that all of our inputs have matching outputs from the previous stage. + // Only do this for Vulkan, since GL_ARB_separate_shader_objects allows for + // the in/out to not match + if (spvVersion.vulkan > 0) { + for (auto& nextStageInterm : unitLinkerObjects) { + auto* nextStageSymbol = nextStageInterm->getAsSymbolNode(); + bool found = false; + for (auto& curStageInterm : linkerObjects) { + if (isSameSymbol(curStageInterm->getAsSymbolNode(), getStage(), nextStageSymbol, unit.getStage())) { + found = true; + break; + } + } + if (!found) { + TString errmsg; + errmsg.append("Input '"); + if (nextStageSymbol->getType().getBasicType() == EbtBlock) + errmsg.append(nextStageSymbol->getType().getTypeName()); + else + errmsg.append(nextStageSymbol->getName()); + errmsg.append("' in ").append(StageName(unit.getStage())); + errmsg.append(" shader has no corresponding output in ").append(StageName(getStage())).append(" shader."); + error(infoSink, errmsg.c_str(), unit.getStage()); + } + } + } +} + +void TIntermediate::optimizeStageIO(TInfoSink&, TIntermediate& unit) +{ + // don't do any input/output demotion on compute, raytracing, or task/mesh stages + // TODO: support task/mesh + if (getStage() > EShLangFragment || unit.getStage() > EShLangFragment) { + return; + } + + class TIOTraverser : public TLiveTraverser { + public: + TIOTraverser(TIntermediate& i, bool all, TIntermSequence& sequence, TStorageQualifier storage) + : TLiveTraverser(i, all, true, false, false), sequence(sequence), storage(storage) + { + } + + virtual void visitSymbol(TIntermSymbol* symbol) + { + if (symbol->getQualifier().storage == storage) { + sequence.push_back(symbol); + } + } + + private: + TIntermSequence& sequence; + TStorageQualifier storage; + }; + + // live symbols only + TIntermSequence unitLiveInputs; + + TIOTraverser unitTraverser(unit, false, unitLiveInputs, EvqVaryingIn); + unitTraverser.pushFunction(unit.getEntryPointMangledName().c_str()); + while (! unitTraverser.destinations.empty()) { + TIntermNode* destination = unitTraverser.destinations.back(); + unitTraverser.destinations.pop_back(); + destination->traverse(&unitTraverser); + } + + TIntermSequence allOutputs; + TIntermSequence unitAllInputs; + + TIOTraverser allTraverser(*this, true, allOutputs, EvqVaryingOut); + getTreeRoot()->traverse(&allTraverser); + + TIOTraverser unitAllTraverser(unit, true, unitAllInputs, EvqVaryingIn); + unit.getTreeRoot()->traverse(&unitAllTraverser); + + // find outputs not consumed by the next stage + std::for_each(allOutputs.begin(), allOutputs.end(), [&unitLiveInputs, &unitAllInputs](TIntermNode* output) { + // don't do anything to builtins + if (output->getAsSymbolNode()->getAccessName().compare(0, 3, "gl_") == 0) + return; + + // don't demote block outputs (for now) + if (output->getAsSymbolNode()->getBasicType() == EbtBlock) + return; + + // check if the (loose) output has a matching loose input + auto isMatchingInput = [output](TIntermNode* input) { + return output->getAsSymbolNode()->getAccessName() == input->getAsSymbolNode()->getAccessName(); + }; + + // check if the (loose) output has a matching block member input + auto isMatchingInputBlockMember = [output](TIntermNode* input) { + // ignore loose inputs + if (input->getAsSymbolNode()->getBasicType() != EbtBlock) + return false; + + // don't demote loose outputs with matching input block members + auto isMatchingBlockMember = [output](TTypeLoc type) { + return type.type->getFieldName() == output->getAsSymbolNode()->getName(); + }; + const TTypeList* members = input->getAsSymbolNode()->getType().getStruct(); + return std::any_of(members->begin(), members->end(), isMatchingBlockMember); + }; + + // determine if the input/output pair should be demoted + // do the faster (and more likely) loose-loose check first + if (std::none_of(unitLiveInputs.begin(), unitLiveInputs.end(), isMatchingInput) && + std::none_of(unitAllInputs.begin(), unitAllInputs.end(), isMatchingInputBlockMember)) { + // demote any input matching the output + auto demoteMatchingInputs = [output](TIntermNode* input) { + if (output->getAsSymbolNode()->getAccessName() == input->getAsSymbolNode()->getAccessName()) { + // demote input to a plain variable + TIntermSymbol* symbol = input->getAsSymbolNode(); + symbol->getQualifier().storage = EvqGlobal; + symbol->getQualifier().clearInterstage(); + symbol->getQualifier().clearLayout(); + } + }; + + // demote all matching outputs to a plain variable + TIntermSymbol* symbol = output->getAsSymbolNode(); + symbol->getQualifier().storage = EvqGlobal; + symbol->getQualifier().clearInterstage(); + symbol->getQualifier().clearLayout(); + std::for_each(unitAllInputs.begin(), unitAllInputs.end(), demoteMatchingInputs); + } + }); } void TIntermediate::mergeCallGraphs(TInfoSink& infoSink, TIntermediate& unit) @@ -511,17 +660,6 @@ void TIntermediate::mergeBodies(TInfoSink& infoSink, TIntermSequence& globals, c globals.insert(globals.end() - 1, unitGlobals.begin(), unitGlobals.end() - 1); } -static inline bool isSameInterface(TIntermSymbol* symbol, EShLanguage stage, TIntermSymbol* unitSymbol, EShLanguage unitStage) { - return // 1) same stage and same shader interface - (stage == unitStage && symbol->getType().getShaderInterface() == unitSymbol->getType().getShaderInterface()) || - // 2) accross stages and both are uniform or buffer - (symbol->getQualifier().storage == EvqUniform && unitSymbol->getQualifier().storage == EvqUniform) || - (symbol->getQualifier().storage == EvqBuffer && unitSymbol->getQualifier().storage == EvqBuffer) || - // 3) in/out matched across stage boundary - (stage < unitStage && symbol->getQualifier().storage == EvqVaryingOut && unitSymbol->getQualifier().storage == EvqVaryingIn) || - (unitStage < stage && symbol->getQualifier().storage == EvqVaryingIn && unitSymbol->getQualifier().storage == EvqVaryingOut); -} - // // Global Unfiform block stores any default uniforms (i.e. uniforms without a block) // If two linked stages declare the same member, they are meant to be the same uniform @@ -707,24 +845,18 @@ void TIntermediate::mergeLinkerObjects(TInfoSink& infoSink, TIntermSequence& lin // Error check and merge the linker objects (duplicates should not be created) std::size_t initialNumLinkerObjects = linkerObjects.size(); for (unsigned int unitLinkObj = 0; unitLinkObj < unitLinkerObjects.size(); ++unitLinkObj) { + TIntermSymbol* unitSymbol = unitLinkerObjects[unitLinkObj]->getAsSymbolNode(); bool merge = true; + + // Don't merge inputs backwards into previous stages + if (getStage() != unitStage && unitSymbol->getQualifier().storage == EvqVaryingIn) + merge = false; + for (std::size_t linkObj = 0; linkObj < initialNumLinkerObjects; ++linkObj) { TIntermSymbol* symbol = linkerObjects[linkObj]->getAsSymbolNode(); - TIntermSymbol* unitSymbol = unitLinkerObjects[unitLinkObj]->getAsSymbolNode(); assert(symbol && unitSymbol); - bool isSameSymbol = false; - // If they are both blocks in the same shader interface, - // match by the block-name, not the identifier name. - if (symbol->getType().getBasicType() == EbtBlock && unitSymbol->getType().getBasicType() == EbtBlock) { - if (isSameInterface(symbol, getStage(), unitSymbol, unitStage)) { - isSameSymbol = symbol->getType().getTypeName() == unitSymbol->getType().getTypeName(); - } - } - else if (symbol->getName() == unitSymbol->getName()) - isSameSymbol = true; - - if (isSameSymbol) { + if (isSameSymbol(symbol, getStage(), unitSymbol, unitStage)) { // filter out copy merge = false; @@ -1689,7 +1821,7 @@ int TIntermediate::addUsedLocation(const TQualifier& qualifier, const TType& typ // First range: TRange locationRange(qualifier.layoutLocation, qualifier.layoutLocation); TRange componentRange(0, 3); - TIoRange range(locationRange, componentRange, type.getBasicType(), 0, qualifier.centroid, qualifier.smooth, qualifier.flat); + TIoRange range(locationRange, componentRange, type.getBasicType(), 0, qualifier.centroid, qualifier.smooth, qualifier.flat, qualifier.sample, qualifier.patch); // check for collisions collision = checkLocationRange(set, range, type, typeCollision); @@ -1699,7 +1831,7 @@ int TIntermediate::addUsedLocation(const TQualifier& qualifier, const TType& typ // Second range: TRange locationRange2(qualifier.layoutLocation + 1, qualifier.layoutLocation + 1); TRange componentRange2(0, 1); - TIoRange range2(locationRange2, componentRange2, type.getBasicType(), 0, qualifier.centroid, qualifier.smooth, qualifier.flat); + TIoRange range2(locationRange2, componentRange2, type.getBasicType(), 0, qualifier.centroid, qualifier.smooth, qualifier.flat, qualifier.sample, qualifier.patch); // check for collisions collision = checkLocationRange(set, range2, type, typeCollision); @@ -1725,7 +1857,7 @@ int TIntermediate::addUsedLocation(const TQualifier& qualifier, const TType& typ TBasicType basicTy = type.getBasicType(); if (basicTy == EbtSampler && type.getSampler().isAttachmentEXT()) basicTy = type.getSampler().type; - TIoRange range(locationRange, componentRange, basicTy, qualifier.hasIndex() ? qualifier.getIndex() : 0, qualifier.centroid, qualifier.smooth, qualifier.flat); + TIoRange range(locationRange, componentRange, basicTy, qualifier.hasIndex() ? qualifier.getIndex() : 0, qualifier.centroid, qualifier.smooth, qualifier.flat, qualifier.sample, qualifier.patch); // check for collisions, except for vertex inputs on desktop targeting OpenGL if (! (!isEsProfile() && language == EShLangVertex && qualifier.isPipeInput()) || spvVersion.vulkan > 0) @@ -1737,6 +1869,24 @@ int TIntermediate::addUsedLocation(const TQualifier& qualifier, const TType& typ return collision; } +// Check that two types can be stored in different components in the same location. +// They must be the same type, except signed/unsigned integers are considered compatible. +static bool checkCompatibleTypes(TBasicType t1, TBasicType t2) { + if (t1 != t2) { + if ((t1 == EbtInt8 && t2 == EbtUint8) || + (t2 == EbtInt8 && t1 == EbtUint8) || + (t1 == EbtInt16 && t2 == EbtUint16) || + (t2 == EbtInt16 && t1 == EbtUint16)|| + (t1 == EbtInt && t2 == EbtUint) || + (t2 == EbtInt && t1 == EbtUint)|| + (t1 == EbtInt64 && t2 == EbtUint64) || + (t2 == EbtInt64 && t1 == EbtUint64)) { + return true; + } + } + return t1 == t2; +} + // Compare a new (the passed in) 'range' against the existing set, and see // if there are any collisions. // @@ -1749,10 +1899,12 @@ int TIntermediate::checkLocationRange(int set, const TIoRange& range, const TTyp // there is a collision; pick one return std::max(range.location.start, usedIo[set][r].location.start); } else if (range.location.overlap(usedIo[set][r].location) && - (type.getBasicType() != usedIo[set][r].basicType || + (!checkCompatibleTypes(type.getBasicType(), usedIo[set][r].basicType) || type.getQualifier().centroid != usedIo[set][r].centroid || type.getQualifier().smooth != usedIo[set][r].smooth || - type.getQualifier().flat != usedIo[set][r].flat)) { + type.getQualifier().flat != usedIo[set][r].flat || + type.getQualifier().sample != usedIo[set][r].sample || + type.getQualifier().patch != usedIo[set][r].patch)) { // aliased-type mismatch typeCollision = true; return std::max(range.location.start, usedIo[set][r].location.start); diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h index 2a24cdaf..a2fb9514 100644 --- a/glslang/MachineIndependent/localintermediate.h +++ b/glslang/MachineIndependent/localintermediate.h @@ -99,7 +99,8 @@ private: // A "call" is a pair: . // There can be duplicates. General assumption is the list is small. struct TCall { - TCall(const TString& pCaller, const TString& pCallee) : caller(pCaller), callee(pCallee) { } + TCall(const TString& pCaller, const TString& pCallee) + : caller(pCaller), callee(pCallee), visited(false), currentPath(false), errorGiven(false) { } TString caller; TString callee; bool visited; @@ -123,8 +124,8 @@ struct TRange { // within the same location range, component range, and index value. Locations don't alias unless // all other dimensions of their range overlap. struct TIoRange { - TIoRange(TRange location, TRange component, TBasicType basicType, int index, bool centroid, bool smooth, bool flat) - : location(location), component(component), basicType(basicType), index(index), centroid(centroid), smooth(smooth), flat(flat) + TIoRange(TRange location, TRange component, TBasicType basicType, int index, bool centroid, bool smooth, bool flat, bool sample, bool patch) + : location(location), component(component), basicType(basicType), index(index), centroid(centroid), smooth(smooth), flat(flat), sample(sample), patch(patch) { } bool overlap(const TIoRange& rhs) const @@ -138,6 +139,8 @@ struct TIoRange { bool centroid; bool smooth; bool flat; + bool sample; + bool patch; }; // An offset range is a 2-D rectangle; the set of (binding, offset) pairs all lying @@ -1048,6 +1051,7 @@ public: void mergeGlobalUniformBlocks(TInfoSink& infoSink, TIntermediate& unit, bool mergeExistingOnly); void mergeUniformObjects(TInfoSink& infoSink, TIntermediate& unit); void checkStageIO(TInfoSink&, TIntermediate&); + void optimizeStageIO(TInfoSink&, TIntermediate&); bool buildConvertOp(TBasicType dst, TBasicType src, TOperator& convertOp) const; TIntermTyped* createConversion(TBasicType convertTo, TIntermTyped* node) const; @@ -1060,6 +1064,7 @@ public: int checkLocationRT(int set, int location); int addUsedOffsets(int binding, int offset, int numOffsets); bool addUsedConstantId(int id); + GLSLANG_EXPORT_FOR_TESTS static int computeTypeLocationSize(const TType&, EShLanguage); static int computeTypeUniformLocationSize(const TType&); diff --git a/glslang/MachineIndependent/preprocessor/Pp.cpp b/glslang/MachineIndependent/preprocessor/Pp.cpp index 5f18c4e9..5b44b130 100644 --- a/glslang/MachineIndependent/preprocessor/Pp.cpp +++ b/glslang/MachineIndependent/preprocessor/Pp.cpp @@ -241,6 +241,7 @@ int TPpContext::CPPundef(TPpToken* ppToken) */ int TPpContext::CPPelse(int matchelse, TPpToken* ppToken) { + inElseSkip = true; int depth = 0; int token = scanToken(ppToken); @@ -297,7 +298,7 @@ int TPpContext::CPPelse(int matchelse, TPpToken* ppToken) elseSeen[elsetracker] = false; --elsetracker; } - + inElseSkip = false; return CPPif(ppToken); } } else if (nextAtom == PpAtomElse) { @@ -311,7 +312,8 @@ int TPpContext::CPPelse(int matchelse, TPpToken* ppToken) parseContext.ppError(ppToken->loc, "#elif after #else", "#elif", ""); } } - + + inElseSkip = false; return token; } @@ -374,7 +376,7 @@ namespace { int op_div(int a, int b) { return a == INT_MIN && b == -1 ? 0 : a / b; } int op_mod(int a, int b) { return a == INT_MIN && b == -1 ? 0 : a % b; } int op_pos(int a) { return a; } - int op_neg(int a) { return -a; } + int op_neg(int a) { return a == INT_MIN ? INT_MIN : -a; } int op_cmpl(int a) { return ~a; } int op_not(int a) { return !a; } diff --git a/glslang/MachineIndependent/preprocessor/PpContext.cpp b/glslang/MachineIndependent/preprocessor/PpContext.cpp index 70f51197..f27204bc 100644 --- a/glslang/MachineIndependent/preprocessor/PpContext.cpp +++ b/glslang/MachineIndependent/preprocessor/PpContext.cpp @@ -88,7 +88,8 @@ TPpContext::TPpContext(TParseContextBase& pc, const std::string& rootFileName, T preamble(nullptr), strings(nullptr), previous_token('\n'), parseContext(pc), includer(inclr), inComment(false), rootFileName(rootFileName), currentSourceFile(rootFileName), - disableEscapeSequences(false) + disableEscapeSequences(false), + inElseSkip(false) { ifdepth = 0; for (elsetracker = 0; elsetracker < maxIfNesting; elsetracker++) diff --git a/glslang/MachineIndependent/preprocessor/PpContext.h b/glslang/MachineIndependent/preprocessor/PpContext.h index 1ec30491..3446f1e1 100644 --- a/glslang/MachineIndependent/preprocessor/PpContext.h +++ b/glslang/MachineIndependent/preprocessor/PpContext.h @@ -371,7 +371,7 @@ protected: break; popInput(); } - if (!inputStack.empty() && inputStack.back()->isStringInput()) { + if (!inputStack.empty() && inputStack.back()->isStringInput() && !inElseSkip) { if (token == '\n') { bool seenNumSign = false; for (int i = 0; i < (int)lastLineTokens.size() - 1;) { @@ -732,6 +732,9 @@ protected: std::istringstream strtodStream; bool disableEscapeSequences; + // True if we're skipping a section enclosed by #if/#ifdef/#elif/#else which was evaluated to + // be inactive, e.g. #if 0 + bool inElseSkip; }; } // end namespace glslang diff --git a/glslang/MachineIndependent/propagateNoContraction.h b/glslang/MachineIndependent/propagateNoContraction.h index 8521ad7d..d849be83 100644 --- a/glslang/MachineIndependent/propagateNoContraction.h +++ b/glslang/MachineIndependent/propagateNoContraction.h @@ -52,4 +52,5 @@ namespace glslang { // 'noContraction' means the object is 'precise'; and for arithmetic operation // nodes, it means the operation should not be contracted. void PropagateNoContraction(const glslang::TIntermediate& intermediate); -}; + +} // end namespace glslang diff --git a/glslang/MachineIndependent/reflection.h b/glslang/MachineIndependent/reflection.h index 221d93f8..8315b112 100644 --- a/glslang/MachineIndependent/reflection.h +++ b/glslang/MachineIndependent/reflection.h @@ -37,8 +37,8 @@ #define _REFLECTION_INCLUDED #include "../Public/ShaderLang.h" -#include "../Include/Types.h" - +#include "../Include/BaseTypes.h" +#include "../Include/visibility.h" #include #include @@ -65,6 +65,7 @@ public: virtual ~TReflection() {} // grow the reflection stage by stage + GLSLANG_EXPORT_FOR_TESTS bool addStage(EShLanguage, const TIntermediate&); // for mapping a uniform index to a uniform object's description diff --git a/glslang/OSDependent/Unix/CMakeLists.txt b/glslang/OSDependent/Unix/CMakeLists.txt index 0c549756..53d9ad38 100644 --- a/glslang/OSDependent/Unix/CMakeLists.txt +++ b/glslang/OSDependent/Unix/CMakeLists.txt @@ -31,15 +31,18 @@ # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -add_library(OSDependent STATIC ossource.cpp ../osinclude.h) +set(OSDEPENDENT_SOURCES + ${CMAKE_CURRENT_SOURCE_DIR}/ossource.cpp + PARENT_SCOPE) + +set(OSDEPENDENT_HEADERS + ${CMAKE_CURRENT_SOURCE_DIR}/../osinclude.h + PARENT_SCOPE) + +add_library(OSDependent STATIC ${CMAKE_CURRENT_SOURCE_DIR}/../../stub.cpp) set_property(TARGET OSDependent PROPERTY FOLDER glslang) set_property(TARGET OSDependent PROPERTY POSITION_INDEPENDENT_CODE ON) -# Link pthread -set(THREADS_PREFER_PTHREAD_FLAG ON) -find_package(Threads REQUIRED) -target_link_libraries(OSDependent Threads::Threads) - if(GLSLANG_ENABLE_INSTALL AND NOT BUILD_SHARED_LIBS) install(TARGETS OSDependent EXPORT glslang-targets) endif() diff --git a/glslang/OSDependent/Web/CMakeLists.txt b/glslang/OSDependent/Web/CMakeLists.txt index 5d174960..2cfe7aae 100644 --- a/glslang/OSDependent/Web/CMakeLists.txt +++ b/glslang/OSDependent/Web/CMakeLists.txt @@ -34,7 +34,7 @@ if(ENABLE_GLSLANG_JS) add_executable(glslang.js "glslang.js.cpp") glslang_set_link_args(glslang.js) - target_link_libraries(glslang.js glslang SPIRV) + target_link_libraries(glslang.js glslang) # Link library names that start with "-" are treated as link flags. # "-Os" should be OK in MSVC; don't use /Os because CMake won't diff --git a/glslang/OSDependent/Windows/CMakeLists.txt b/glslang/OSDependent/Windows/CMakeLists.txt index 8a9a8c42..040f4348 100644 --- a/glslang/OSDependent/Windows/CMakeLists.txt +++ b/glslang/OSDependent/Windows/CMakeLists.txt @@ -31,12 +31,18 @@ # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. +set(OSDEPENDENT_SOURCES + ${CMAKE_CURRENT_SOURCE_DIR}/ossource.cpp + PARENT_SCOPE) + +set(OSDEPENDENT_HEADERS + ${CMAKE_CURRENT_SOURCE_DIR}/../osinclude.h + PARENT_SCOPE) + add_library(OSDependent STATIC) target_sources(OSDependent PRIVATE - ../osinclude.h - ossource.cpp -) + ${CMAKE_CURRENT_SOURCE_DIR}/../../stub.cpp) set_property(TARGET OSDependent PROPERTY FOLDER glslang) set_property(TARGET OSDependent PROPERTY POSITION_INDEPENDENT_CODE ON) @@ -44,7 +50,7 @@ set_property(TARGET OSDependent PROPERTY POSITION_INDEPENDENT_CODE ON) # MinGW GCC complains about function pointer casts to void*. # Turn that off with -fpermissive. if(MINGW AND ${CMAKE_CXX_COMPILER_ID} MATCHES "GNU") - target_compile_options(OSDependent PRIVATE -fpermissive) + set_source_files_properties(${OSDEPENDENT_SOURCES} PROPERTIES COMPILE_FLAGS -fpermissive) endif() if(WIN32) diff --git a/glslang/OSDependent/osinclude.h b/glslang/OSDependent/osinclude.h index 0d677e4a..da1c4f69 100644 --- a/glslang/OSDependent/osinclude.h +++ b/glslang/OSDependent/osinclude.h @@ -35,9 +35,10 @@ #ifndef __OSINCLUDE_H #define __OSINCLUDE_H +#include "../Include/visibility.h" namespace glslang { -void OS_DumpMemoryCounters(); +GLSLANG_EXPORT void OS_DumpMemoryCounters(); } // end namespace glslang diff --git a/glslang/Public/ResourceLimits.h b/glslang/Public/ResourceLimits.h index f70be817..8245e12d 100644 --- a/glslang/Public/ResourceLimits.h +++ b/glslang/Public/ResourceLimits.h @@ -38,20 +38,21 @@ #include #include "../Include/ResourceLimits.h" +#include "../Include/visibility.h" // Return pointer to user-writable Resource to pass through API in // future-proof way. -extern TBuiltInResource* GetResources(); +GLSLANG_EXPORT extern TBuiltInResource* GetResources(); // These are the default resources for TBuiltInResources, used for both // - parsing this string for the case where the user didn't supply one, // - dumping out a template for user construction of a config file. -extern const TBuiltInResource* GetDefaultResources(); +GLSLANG_EXPORT extern const TBuiltInResource* GetDefaultResources(); // Returns the DefaultTBuiltInResource as a human-readable string. -std::string GetDefaultTBuiltInResourceString(); +GLSLANG_EXPORT std::string GetDefaultTBuiltInResourceString(); // Decodes the resource limits from |config| to |resources|. -void DecodeResourceLimits(TBuiltInResource* resources, char* config); +GLSLANG_EXPORT void DecodeResourceLimits(TBuiltInResource* resources, char* config); #endif // _STAND_ALONE_RESOURCE_LIMITS_INCLUDED_ diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h index b71b147a..739d7f7b 100644 --- a/glslang/Public/ShaderLang.h +++ b/glslang/Public/ShaderLang.h @@ -38,6 +38,7 @@ #define _COMPILER_INTERFACE_INCLUDED_ #include "../Include/ResourceLimits.h" +#include "../Include/visibility.h" #include "../MachineIndependent/Versions.h" #include @@ -49,22 +50,6 @@ #define C_DECL #endif -#ifdef GLSLANG_IS_SHARED_LIBRARY - #ifdef _WIN32 - #ifdef GLSLANG_EXPORTING - #define GLSLANG_EXPORT __declspec(dllexport) - #else - #define GLSLANG_EXPORT __declspec(dllimport) - #endif - #elif __GNUC__ >= 4 - #define GLSLANG_EXPORT __attribute__((visibility("default"))) - #endif -#endif // GLSLANG_IS_SHARED_LIBRARY - -#ifndef GLSLANG_EXPORT -#define GLSLANG_EXPORT -#endif - // // This is the platform independent interface between an OGL driver // and the shading language compiler/linker. @@ -188,6 +173,21 @@ typedef enum { LAST_ELEMENT_MARKER(EShTargetLanguageVersionCount = 7), } EShTargetLanguageVersion; +// +// Following are a series of helper enums for managing layouts and qualifiers, +// used for TPublicType, TType, others. +// + +enum TLayoutPacking { + ElpNone, + ElpShared, // default, but different than saying nothing + ElpStd140, + ElpStd430, + ElpPacked, + ElpScalar, + ElpCount // If expanding, see bitfield width below +}; + struct TInputLanguage { EShSource languageFamily; // redundant information with other input, this one overrides when not EShSourceNone EShLanguage stage; // redundant information with other input, this one overrides when not EShSourceNone @@ -270,6 +270,8 @@ enum EShMessages : unsigned { EShMsgBuiltinSymbolTable = (1 << 14), // print the builtin symbol table EShMsgEnhanced = (1 << 15), // enhanced message readability EShMsgAbsolutePath = (1 << 16), // Output Absolute path for messages + EShMsgDisplayErrorColumn = (1 << 17), // Display error message column aswell as line + EShMsgLinkTimeOptimization = (1 << 18), // perform cross-stage optimizations during linking LAST_ELEMENT_MARKER(EShMsgCount), }; @@ -414,6 +416,7 @@ GLSLANG_EXPORT int GetKhronosToolId(); class TIntermediate; class TProgram; class TPoolAllocator; +class TIoMapResolver; // Call this exactly once per process before using anything else GLSLANG_EXPORT bool InitializeProcess(); @@ -509,6 +512,9 @@ public: GLSLANG_EXPORT void setAtomicCounterBlockSet(unsigned int set); GLSLANG_EXPORT void setAtomicCounterBlockBinding(unsigned int binding); + GLSLANG_EXPORT void addSourceText(const char* text, size_t len); + GLSLANG_EXPORT void setSourceFile(const char* file); + // For setting up the environment (cleared to nothingness in the constructor). // These must be called so that parsing is done for the right source language and // target environment, either indirectly through TranslateEnvironment() based on @@ -849,6 +855,20 @@ public: virtual void addStage(EShLanguage stage, TIntermediate& stageIntermediate) = 0; }; +// I/O mapper +class TIoMapper { +public: + TIoMapper() {} + virtual ~TIoMapper() {} + // grow the reflection stage by stage + bool virtual addStage(EShLanguage, TIntermediate&, TInfoSink&, TIoMapResolver*); + bool virtual doMap(TIoMapResolver*, TInfoSink&) { return true; } + bool virtual setAutoPushConstantBlock(const char*, unsigned int, TLayoutPacking) { return false; } +}; + +// Get the default GLSL IO mapper +GLSLANG_EXPORT TIoMapper* GetGlslIoMapper(); + // Make one TProgram per set of shaders that will get linked together. Add all // the shaders that are to be linked together. After calling shader.parse() // for all shaders, call link(). @@ -956,6 +976,10 @@ public: const TType *getAttributeTType(int index) const { return getPipeInput(index).getType(); } GLSLANG_EXPORT void dumpReflection(); + + // Get the IO resolver to use for mapIO + GLSLANG_EXPORT TIoMapResolver* getGlslIoResolver(EShLanguage stage); + // I/O mapping: apply base offsets and map live unbound variables // If resolver is not provided it uses the previous approach // and respects auto assignment and offsets. diff --git a/glslang/Public/resource_limits_c.h b/glslang/Public/resource_limits_c.h index 742b2aca..3cf7442f 100644 --- a/glslang/Public/resource_limits_c.h +++ b/glslang/Public/resource_limits_c.h @@ -30,6 +30,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define _STAND_ALONE_RESOURCE_LIMITS_C_INCLUDED_ #include "../Include/glslang_c_interface.h" +#include "../Include/visibility.h" #ifdef __cplusplus extern "C" { diff --git a/glslang/stub.cpp b/glslang/stub.cpp new file mode 100644 index 00000000..b9aec6d1 --- /dev/null +++ b/glslang/stub.cpp @@ -0,0 +1,37 @@ +// +// Copyright (C) 2024 The Khronos Group Inc. +// 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. +// + +// This empty source file exists to support building stubbed versions of +// deprecated libraries which have been integrated into the main glslang +// library. It should be deleted once the stub libraries are fully removed. diff --git a/gtests/AST.FromFile.cpp b/gtests/AST.FromFile.cpp index 6067e9b8..cc433fe7 100644 --- a/gtests/AST.FromFile.cpp +++ b/gtests/AST.FromFile.cpp @@ -313,6 +313,10 @@ INSTANTIATE_TEST_SUITE_P( "GL_EXT_texture_array.frag", "index_outside_sample_mask_range.frag", "positive_infinity.frag", + "matrixCompMult.vert", + "ps_uint_int.frag", + "ps_sample.frag", + "tes_patch.tese", })), FileNameAsCustomTestSuffix ); diff --git a/gtests/CMakeLists.txt b/gtests/CMakeLists.txt index 8e0edd4d..1987a6d6 100644 --- a/gtests/CMakeLists.txt +++ b/gtests/CMakeLists.txt @@ -88,8 +88,7 @@ if(GLSLANG_TESTS) endif() set(LIBRARIES - glslang OSDependent glslang - SPIRV glslang-default-resource-limits) + glslang glslang-default-resource-limits) if(ENABLE_SPVREMAPPER) set(LIBRARIES ${LIBRARIES} SPVRemapper) diff --git a/gtests/GlslMapIO.FromFile.cpp b/gtests/GlslMapIO.FromFile.cpp index 1dba5c0c..855a2af2 100644 --- a/gtests/GlslMapIO.FromFile.cpp +++ b/gtests/GlslMapIO.FromFile.cpp @@ -39,6 +39,7 @@ #include "TestFixture.h" +#include "glslang/MachineIndependent/localintermediate.h" #include "glslang/MachineIndependent/iomapper.h" #include "glslang/MachineIndependent/reflection.h" @@ -284,19 +285,21 @@ TEST_P(GlslMapIOTest, FromFile) result.linkingOutput = program.getInfoLog(); result.linkingError = program.getInfoDebugLog(); - unsigned int stage = 0; - glslang::TIntermediate* firstIntermediate = nullptr; - while (!program.getIntermediate((EShLanguage)stage) && stage < EShLangCount) { stage++; } - firstIntermediate = program.getIntermediate((EShLanguage)stage); - - glslang::TDefaultGlslIoResolver resolver(*firstIntermediate); - glslang::TGlslIoMapper ioMapper; + glslang::TIoMapResolver *resolver; + for (unsigned stage = 0; stage < EShLangCount; stage++) { + resolver = program.getGlslIoResolver((EShLanguage)stage); + if (resolver) + break; + } + glslang::TIoMapper *ioMapper = glslang::GetGlslIoMapper(); if (success) { - success &= program.mapIO(&resolver, &ioMapper); + success &= program.mapIO(resolver, ioMapper); result.linkingOutput = program.getInfoLog(); result.linkingError = program.getInfoDebugLog(); } + delete ioMapper; + delete resolver; success &= verifyIOMapping(result.linkingError, program); result.validationResult = success; @@ -311,7 +314,6 @@ TEST_P(GlslMapIOTest, FromFile) spirv_binary, &logger, &options()); std::ostringstream disassembly_stream; - spv::Parameterize(); spv::Disassemble(disassembly_stream, spirv_binary); result.spirvWarningsErrors += logger.getAllMessages(); result.spirv += disassembly_stream.str(); @@ -345,6 +347,7 @@ INSTANTIATE_TEST_SUITE_P( {{"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}, + {{"iomap.crossStage.vk.2.vert", "iomap.crossStage.vk.2.geom", "iomap.crossStage.vk.2.frag" }, Semantics::Vulkan}, })) ); // clang-format on diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp index c94a3381..315ccdac 100644 --- a/gtests/Hlsl.FromFile.cpp +++ b/gtests/Hlsl.FromFile.cpp @@ -149,7 +149,7 @@ TEST_P(HlslNonSemanticShaderDebugInfoTest, FromFile) { loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam().fileName, Source::HLSL, Semantics::Vulkan, glslang::EShTargetVulkan_1_0, glslang::EShTargetSpv_1_0, - Target::Spv, true, GetParam().entryPoint, "/baseResults/", false, false, true); + Target::Spv, true, GetParam().entryPoint, "/baseResults/", false, true, true); } // clang-format off @@ -170,6 +170,7 @@ INSTANTIATE_TEST_SUITE_P( {"hlsl.basic.geom", "main"}, {"hlsl.boolConv.vert", "main"}, {"hlsl.buffer.frag", "PixelShaderFunction"}, + {"hlsl.buffer-offsets.comp", "main"}, {"hlsl.calculatelod.dx10.frag", "main"}, {"hlsl.calculatelodunclamped.dx10.frag", "main"}, {"hlsl.cast.frag", "PixelShaderFunction"}, diff --git a/gtests/Link.FromFile.Vk.cpp b/gtests/Link.FromFile.Vk.cpp index fed5d260..9ec67576 100644 --- a/gtests/Link.FromFile.Vk.cpp +++ b/gtests/Link.FromFile.Vk.cpp @@ -86,7 +86,6 @@ TEST_P(LinkTestVulkan, FromFile) spirv_binary, &logger, &options()); std::ostringstream disassembly_stream; - spv::Parameterize(); spv::Disassemble(disassembly_stream, spirv_binary); result.spirvWarningsErrors = logger.getAllMessages(); result.spirv = disassembly_stream.str(); diff --git a/gtests/Pp.FromFile.cpp b/gtests/Pp.FromFile.cpp index 1f960847..9cadd226 100644 --- a/gtests/Pp.FromFile.cpp +++ b/gtests/Pp.FromFile.cpp @@ -69,6 +69,7 @@ INSTANTIATE_TEST_SUITE_P( "preprocessor.eof_missing.vert", "preprocess.arb_shading_language_include.vert", "preprocess.include_directive_missing_extension.vert", + "preprocess.inactive_stringify.vert" })), FileNameAsCustomTestSuffix ); diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp index 77e9cccf..bd2ee4dd 100644 --- a/gtests/Spv.FromFile.cpp +++ b/gtests/Spv.FromFile.cpp @@ -551,6 +551,7 @@ INSTANTIATE_TEST_SUITE_P( "spv.floatFetch.frag", "spv.atomicRvalue.error.vert", "spv.sampledImageBlock.frag", + "spv.multiple.var.same.const.frag", })), FileNameAsCustomTestSuffix ); @@ -709,6 +710,7 @@ INSTANTIATE_TEST_SUITE_P( // SPV_NV_shader_execution_reorder + "spv.nv.hitobject-errors.rgen", "spv.nv.hitobject-allops.rgen", "spv.nv.hitobject-allops.rchit", "spv.nv.hitobject-allops.rmiss", @@ -894,6 +896,8 @@ INSTANTIATE_TEST_SUITE_P( "spv.fragmentShaderBarycentric2.frag", "spv.computeShaderDerivatives.comp", "spv.computeShaderDerivatives2.comp", + "spv.computeShaderDerivativesSpec.comp", + "spv.computeShaderDerivativesSpec2.comp", "spv.shaderImageFootprint.frag", "spv.meshShaderBuiltins.mesh", "spv.meshShaderUserDefined.mesh", @@ -953,6 +957,9 @@ INSTANTIATE_TEST_SUITE_P( "spv.debuginfo.scalar_types.glsl.frag", "spv.debuginfo.rt_types.glsl.rgen", "spv.debuginfo.include.glsl.frag", + "spv.debuginfo.multiline.glsl.frag", + "spv.debuginfo.implicit_br.glsl.frag", + "spv.debuginfo.coopmatKHR.comp", })), FileNameAsCustomTestSuffix ); diff --git a/gtests/TestFixture.h b/gtests/TestFixture.h index 315fdaec..68bb3c6a 100644 --- a/gtests/TestFixture.h +++ b/gtests/TestFixture.h @@ -262,6 +262,14 @@ public: shader.setAutoMapLocations(true); shader.setAutoMapBindings(true); } + + if (enableDebug) { + shader.setDebugInfo(true); + } + if (enableNonSemanticShaderDebugInfo) { + assert(enableDebug && "Debug must be on for non-semantic debug info"); + } + shader.setTextureSamplerTransformMode(texSampTransMode); #ifdef ENABLE_HLSL shader.setFlattenUniformArrays(flattenUniformArrays); @@ -324,7 +332,6 @@ public: } std::ostringstream disassembly_stream; - spv::Parameterize(); spv::Disassemble(disassembly_stream, spirv_binary); bool validation_result = !options().validate || logger.getAllMessages().empty(); return {{ @@ -384,7 +391,6 @@ public: spirv_binary, &logger, &options()); std::ostringstream disassembly_stream; - spv::Parameterize(); spv::Disassemble(disassembly_stream, spirv_binary); bool validation_result = !options().validate || logger.getAllMessages().empty(); return {{{shaderName, shader.getInfoLog(), shader.getInfoDebugLog()},}, @@ -429,7 +435,6 @@ public: spv::spirvbin_t(0 /*verbosity*/).remap(spirv_binary, whiteListStrings, remapOptions); std::ostringstream disassembly_stream; - spv::Parameterize(); spv::Disassemble(disassembly_stream, spirv_binary); bool validation_result = !options().validate || logger.getAllMessages().empty(); return {{{shaderName, shader.getInfoLog(), shader.getInfoDebugLog()},}, @@ -453,7 +458,6 @@ public: spv::spirvbin_t(0 /*verbosity*/).remap(spirv_binary, whiteListStrings, remapOptions); std::ostringstream disassembly_stream; - spv::Parameterize(); spv::Disassemble(disassembly_stream, spirv_binary); return {{{shaderName, "", ""},}, @@ -691,8 +695,8 @@ public: std::string ppShader; glslang::TShader::ForbidIncluder includer; const bool success = shader.preprocess( - GetDefaultResources(), defaultVersion, defaultProfile, - forceVersionProfile, isForwardCompatible, (EShMessages)(EShMsgOnlyPreprocessor | EShMsgCascadingErrors), + GetDefaultResources(), defaultVersion, defaultProfile, forceVersionProfile, isForwardCompatible, + (EShMessages)(EShMsgOnlyPreprocessor | EShMsgCascadingErrors), &ppShader, includer); std::string log = shader.getInfoLog(); diff --git a/gtests/VkRelaxed.FromFile.cpp b/gtests/VkRelaxed.FromFile.cpp index 483d7c7f..8b8a628a 100644 --- a/gtests/VkRelaxed.FromFile.cpp +++ b/gtests/VkRelaxed.FromFile.cpp @@ -237,19 +237,21 @@ TEST_P(VulkanRelaxedTest, FromFile) shaders[i]->setResourceSetBinding(resourceSetBindings[i]); } - unsigned int stage = 0; - glslang::TIntermediate* firstIntermediate = nullptr; - while (!program.getIntermediate((EShLanguage)stage) && stage < EShLangCount) { stage++; } - firstIntermediate = program.getIntermediate((EShLanguage)stage); - - glslang::TDefaultGlslIoResolver resolver(*firstIntermediate); - glslang::TGlslIoMapper ioMapper; + glslang::TIoMapResolver *resolver; + for (unsigned stage = 0; stage < EShLangCount; stage++) { + resolver = program.getGlslIoResolver((EShLanguage)stage); + if (resolver) + break; + } + glslang::TIoMapper *ioMapper = glslang::GetGlslIoMapper(); if (success) { - success &= program.mapIO(&resolver, &ioMapper); + success &= program.mapIO(resolver, ioMapper); result.linkingOutput = program.getInfoLog(); result.linkingError = program.getInfoDebugLog(); } + delete ioMapper; + delete resolver; success &= verifyIOMapping(result.linkingError, program); result.validationResult = success; @@ -264,7 +266,6 @@ TEST_P(VulkanRelaxedTest, FromFile) spirv_binary, &logger, &options()); std::ostringstream disassembly_stream; - spv::Parameterize(); spv::Disassemble(disassembly_stream, spirv_binary); result.spirvWarningsErrors += logger.getAllMessages(); result.spirv += disassembly_stream.str(); diff --git a/known_good.json b/known_good.json index 03d5a0f5..1108a920 100644 --- a/known_good.json +++ b/known_good.json @@ -5,14 +5,14 @@ "site" : "github", "subrepo" : "KhronosGroup/SPIRV-Tools", "subdir" : "External/spirv-tools", - "commit": "bc28ac7c195f59b14535edec8472d97fd32a91ad" + "commit": "6dcc7e350a0b9871a825414d42329e44b0eb8109" }, { "name" : "spirv-tools/external/spirv-headers", "site" : "github", "subrepo" : "KhronosGroup/SPIRV-Headers", "subdir" : "External/spirv-tools/external/spirv-headers", - "commit" : "2acb319af38d43be3ea76bfabf3998e5281d8d12" + "commit" : "2a9b6f951c7d6b04b6c21fe1bf3f475b68b84801" }, { "name": "googletest", diff --git a/kokoro/linux-clang-cmake/build-docker.sh b/kokoro/linux-clang-cmake/build-docker.sh index 6b1d3e1a..01627a56 100755 --- a/kokoro/linux-clang-cmake/build-docker.sh +++ b/kokoro/linux-clang-cmake/build-docker.sh @@ -42,6 +42,7 @@ set -x # Display commands being run. using cmake-3.17.2 using clang-10.0.0 using ninja-1.10.0 +using python-3.12 echo "Building..." mkdir /build && cd /build diff --git a/kokoro/linux-gcc-cmake/build-docker.sh b/kokoro/linux-gcc-cmake/build-docker.sh index 558695c8..65e013e2 100755 --- a/kokoro/linux-gcc-cmake/build-docker.sh +++ b/kokoro/linux-gcc-cmake/build-docker.sh @@ -42,6 +42,7 @@ set -x # Display commands being run. using cmake-3.17.2 using gcc-9 using ninja-1.10.0 +using python-3.12 echo "Building..." mkdir /build && cd /build diff --git a/ndk_test/Android.mk b/ndk_test/Android.mk index 112700c9..897ace00 100644 --- a/ndk_test/Android.mk +++ b/ndk_test/Android.mk @@ -39,7 +39,7 @@ LOCAL_SRC_FILES:=test.cpp LOCAL_MODULE:=glslang_ndk_test LOCAL_LDLIBS:=-landroid LOCAL_CXXFLAGS:=-std=c++17 -fno-exceptions -fno-rtti -Werror -LOCAL_STATIC_LIBRARIES:=glslang SPIRV +LOCAL_STATIC_LIBRARIES:=glslang include $(BUILD_SHARED_LIBRARY) include $(LOCAL_PATH)/../Android.mk