platform/upstream/glslang.git
2 years agoMerge pull request #3043 from gnl21/helper-invocation
Greg Fischer [Mon, 17 Oct 2022 19:51:33 +0000 (13:51 -0600)]
Merge pull request #3043 from gnl21/helper-invocation

Change Volatile generation for HelperInvocation

2 years agoTest for spv1.6 + memory model HelperInvocation
Graeme Leese [Fri, 14 Oct 2022 14:03:14 +0000 (15:03 +0100)]
Test for spv1.6 + memory model HelperInvocation

This should generate a Volatile tag on the access, not on the variable
itself.

2 years agoChange Volatile generation for HelperInvocation
Graeme Leese [Tue, 4 Oct 2022 15:16:52 +0000 (16:16 +0100)]
Change Volatile generation for HelperInvocation

For SPIR-V 1.6 HelperInvocation accesses need to be volatile to avoid
undefined values when shaders execute 'demote'. Previously this was
always decorated on the gl_HelperInvocation variable, but this is not
valid when the Vulkan memory model is in use.

When the memory model is enabled, stop decorating the variable
declaration and apply the memory semantic to access chain loads instead.

Fixes #3042

2 years agoMerge pull request #3049 from jeremy-lunarg/hayes-update-changes
Greg Fischer [Thu, 13 Oct 2022 17:29:59 +0000 (11:29 -0600)]
Merge pull request #3049 from jeremy-lunarg/hayes-update-changes

Update CHANGES for release 11.12.0

2 years agoUpdate CHANGES for release 11.12.0
Jeremy Hayes [Thu, 13 Oct 2022 00:16:41 +0000 (18:16 -0600)]
Update CHANGES for release 11.12.0

2 years agoMerge pull request #3048 from jeremy-lunarg/hayes-update-known-good
Greg Fischer [Wed, 12 Oct 2022 23:48:02 +0000 (17:48 -0600)]
Merge pull request #3048 from jeremy-lunarg/hayes-update-known-good

Update known_good.json

2 years agoUpdate known_good.json
Jeremy Hayes [Wed, 12 Oct 2022 22:10:12 +0000 (16:10 -0600)]
Update known_good.json

2 years agoMerge pull request #3037 from mbechard/master
Greg Fischer [Wed, 12 Oct 2022 20:29:15 +0000 (14:29 -0600)]
Merge pull request #3037 from mbechard/master

only use dead input elimination on vertex shaders

2 years agoMerge pull request #3045 from James2022-rgb/feature/c_interface_preamble_support
Jeremy Hayes [Wed, 12 Oct 2022 17:55:38 +0000 (11:55 -0600)]
Merge pull request #3045 from James2022-rgb/feature/c_interface_preamble_support

Add preamble support to the C interface.

2 years agoCInterface: Add preamble support.
James0124 [Sat, 8 Oct 2022 00:33:21 +0000 (09:33 +0900)]
CInterface: Add preamble support.

Add interface for `TShader::setPreamble`.

2 years agoMerge pull request #3038 from ewerness-nv/extmicromapongithubmaster
Jeremy Hayes [Thu, 6 Oct 2022 04:35:58 +0000 (22:35 -0600)]
Merge pull request #3038 from ewerness-nv/extmicromapongithubmaster

GL_EXT_opacity_micromap

2 years agoMerge pull request #3028 from rhabacker/fix-shared-build-mode
Jeremy Hayes [Thu, 6 Oct 2022 04:20:52 +0000 (22:20 -0600)]
Merge pull request #3028 from rhabacker/fix-shared-build-mode

cmake: Do not install static libraries in shared build mode

2 years agoGL_EXT_opacity_micromap
Eric Werness [Tue, 23 Aug 2022 22:42:32 +0000 (15:42 -0700)]
GL_EXT_opacity_micromap

2 years agoMerge pull request #3027 from rhabacker/fix-cmake-files-install-location
Jeremy Hayes [Wed, 28 Sep 2022 14:08:49 +0000 (08:08 -0600)]
Merge pull request #3027 from rhabacker/fix-cmake-files-install-location

cmake: Use common installation directory for cmake support files.

2 years agoonly use dead input elimination on vertex shaders
Malcolm Bechard [Wed, 28 Sep 2022 04:07:01 +0000 (00:07 -0400)]
only use dead input elimination on vertex shaders

It can't be safely used unilaterally on other stages, since that will
result in output/input mismatches between stages. They arn't
having their output variables eliminated accordingly.

2 years agoMerge pull request #3012 from JohannesKauffmann/fix-wundef
Jeremy Hayes [Wed, 28 Sep 2022 02:03:16 +0000 (20:03 -0600)]
Merge pull request #3012 from JohannesKauffmann/fix-wundef

Fix -Wundef warnings for MINGW_HAS_SECURE_API

2 years agoMerge pull request #3036 from pmistryNV/bug3019
Jeremy Hayes [Tue, 27 Sep 2022 21:19:44 +0000 (15:19 -0600)]
Merge pull request #3036 from pmistryNV/bug3019

Fix for bug #3019 : That incorrectly removed perVertexEXT qualifier as…

2 years agoFix for bug #3019 : That incorrectly removed perVertexEXT qualifier as arrayed IO
Pankaj Mistry [Mon, 26 Sep 2022 19:45:39 +0000 (12:45 -0700)]
Fix for bug #3019 : That incorrectly removed perVertexEXT qualifier as arrayed IO

This bug got introduced as part of EXT_mesh_shader changes 228c672
Also updated barycentric test cases to add coverage for multiple pervertexEXT array inputs

2 years agoMerge pull request #3034 from jeremy-lunarg/hayes-fix-debugdeclare-debugvalue
Jeremy Hayes [Fri, 23 Sep 2022 16:18:45 +0000 (10:18 -0600)]
Merge pull request #3034 from jeremy-lunarg/hayes-fix-debugdeclare-debugvalue

Use DebugDeclare for local variables

2 years agoUse DebugDeclare for local variables
Jeremy Hayes [Fri, 23 Sep 2022 15:17:44 +0000 (09:17 -0600)]
Use DebugDeclare for local variables

Previously we had decided to issue DebugValue directly in glslang.
However, this was incorrect and causing issues with RenderDoc.

2 years agoMerge pull request #3021 from qingyuanzNV/fix_opline_prepending_opfunction_with_pp
Greg Fischer [Wed, 21 Sep 2022 22:49:46 +0000 (16:49 -0600)]
Merge pull request #3021 from qingyuanzNV/fix_opline_prepending_opfunction_with_pp

Fix OpLine prepending OpFunction reports wrong file when #line is pre…

2 years agoMerge pull request #3031 from rg3igalia/sub-group-size-arb-flat-fix
Greg Fischer [Wed, 21 Sep 2022 22:42:24 +0000 (16:42 -0600)]
Merge pull request #3031 from rg3igalia/sub-group-size-arb-flat-fix

Make gl_SubGroupARB a flat int in Vulkan

2 years agoMake gl_SubGroupARB a flat int in Vulkan
Ricardo Garcia [Wed, 21 Sep 2022 08:04:50 +0000 (10:04 +0200)]
Make gl_SubGroupARB a flat int in Vulkan

gl_SubGroupARB was being correctly declared as an Input variable in
Vulkan but it was missing the Flat decoration, which made spirv-val emit
the VUID-StandaloneSpirv-Flat-04744 validation error with shaders using
that built-in.

2 years agoMerge pull request #3032 from mbechard/master
Greg Fischer [Tue, 20 Sep 2022 16:19:08 +0000 (10:19 -0600)]
Merge pull request #3032 from mbechard/master

Improve naming in link validation

2 years agofurther updates to 67384dd18b1715
Malcolm Bechard [Fri, 16 Sep 2022 21:53:08 +0000 (17:53 -0400)]
further updates to 67384dd18b1715

since we are changing the type before the visitBinary now, we need to be
comparing against the new type.
Previous test cases worked since the 'unitType' was a shallow copy and
ended up getting updated in some cases to match the new type, but not all.

2 years agocmake: Do not install static libraries in shared build mode.
Ralf Habacker [Mon, 12 Sep 2022 08:18:51 +0000 (10:18 +0200)]
cmake: Do not install static libraries in shared build mode.

The glslang cmake build system installs static libraries in addition to
the dynamic glslang library, which are required when used in a package
that uses glslang when calling find_package().

Distributions such as openSUSE (and perhaps others) use a "shared only"
strategy, which conflicts with the current state of the glslang build
system.
The static libraries mentioned are already all included in glslang and
thus not needed. With this commit, these will no longer install the
associated cmake support files when glslang is built shared.

2 years agocmake: Use common installation directory for cmake support files.
Ralf Habacker [Tue, 13 Sep 2022 13:33:16 +0000 (15:33 +0200)]
cmake: Use common installation directory for cmake support files.

At least on openSUSE, the usual installation location for cmake support
files is ${MAKE_INSTALL_LIBDIR}/cmake/<name>

   $ find /usr/lib64 -name '*.cmake' | grep /cmake/ | wc -l
   834
   $ find /usr/lib64 -name '*.cmake' | grep -v /cmake/ | wc -l
   8

which is also used by glslang with these changes.

2 years agoMerge pull request #3025 from pmistryNV/GL_EXT_mesh_shader
Greg Fischer [Mon, 12 Sep 2022 22:28:30 +0000 (16:28 -0600)]
Merge pull request #3025 from pmistryNV/GL_EXT_mesh_shader

Make a spirv builder utility function for termination instructions that take input …

2 years agoMake a utility function for termination instructions that take input operands.
Pankaj Mistry [Fri, 9 Sep 2022 19:48:52 +0000 (12:48 -0700)]
Make a utility function for termination instructions that take input operands.
Use the new utility function for generating OpEmitMeshTasksEXT.

2 years agoMerge pull request #3023 from pmistryNV/GL_EXT_mesh_shader
Greg Fischer [Fri, 9 Sep 2022 17:44:17 +0000 (11:44 -0600)]
Merge pull request #3023 from pmistryNV/GL_EXT_mesh_shader

Make OpEmitMeshTasksEXT a terminal instruction

2 years agoMerge pull request #2985 from jeremy-lunarg/hayes-nonsemantic-shader-debuginfo-rebase
Greg Fischer [Fri, 9 Sep 2022 16:13:02 +0000 (10:13 -0600)]
Merge pull request #2985 from jeremy-lunarg/hayes-nonsemantic-shader-debuginfo-rebase

Implement NonSemantic.Shader.DebugInfo.100 debug instruction generation.

These instructions will be generated under the -gV and -gVS  command line options. These instructions enable source-level shader debugging with Renderdoc.

This is an alpha release of this capability. Additional improvements are forthcoming. Use and feedback are welcome.

2 years agoFix for issue #3020
Pankaj Mistry [Fri, 9 Sep 2022 01:55:53 +0000 (18:55 -0700)]
Fix for issue #3020

Make OpEmitTMeshasksEXT a terminal instructions

2 years agoFix OpLine prepending OpFunction reports wrong file when #line is present
Qingyuan Zheng [Wed, 7 Sep 2022 06:57:18 +0000 (23:57 -0700)]
Fix OpLine prepending OpFunction reports wrong file when #line is present

2 years agoMerge pull request #3016 from ichordev/patch-1
Greg Fischer [Tue, 6 Sep 2022 18:22:10 +0000 (12:22 -0600)]
Merge pull request #3016 from ichordev/patch-1

Fixed a small grammatical error

2 years agoMerge pull request #3015 from spnda/remove_nv_c_interface
Greg Fischer [Tue, 6 Sep 2022 18:20:53 +0000 (12:20 -0600)]
Merge pull request #3015 from spnda/remove_nv_c_interface

Fix: Remove NV suffix from glslang C interface

2 years agoFix: Remove NV suffix from C interface
sean [Thu, 1 Sep 2022 19:23:34 +0000 (21:23 +0200)]
Fix: Remove NV suffix from C interface

2 years agoMerge pull request #3014 from pmistryNV/GL_EXT_mesh_shader
Greg Fischer [Fri, 2 Sep 2022 16:52:48 +0000 (10:52 -0600)]
Merge pull request #3014 from pmistryNV/GL_EXT_mesh_shader

GL_EXT_mesh_shader/SPV_EXT_mesh_shader implementation

2 years agoFixed a small grammatical error
ichordev [Fri, 2 Sep 2022 16:13:55 +0000 (02:13 +1000)]
Fixed a small grammatical error

2 years agoGL_EXT_mesh_shader/SPV_EXT_mesh_shader implementation
Pankaj Mistry [Wed, 25 Aug 2021 20:41:32 +0000 (13:41 -0700)]
GL_EXT_mesh_shader/SPV_EXT_mesh_shader implementation
Added following updates to GL_EXT_mesh_shader implementation:

1. Added SPIRV and GLSL test cases
2. Added checks to ensure NV and EXT mesh shader builtins cannot be used interchangeably.
3. Updated the language name by removing the postfix "NV" to MeshShader and TaskShader.
4. Added checks for grammar checking to comply with the spec.

5. Added gl_NumWorkGroups builtin to Mesh shader
6. Fixed data type of gl_PrimitiveLineIndicesEXT and gl_PrimitiveTriangleIndicesEXT
7. Added new constants to the resources table
8. Updates to handle new storage qualifier "taskPayloadSharedEXT"
9. Updated test cases by replacing "taskEXT" with storage qualifier "taskPayloadSharedEXT"

Addressed  Review comments
1. Fixed instruction description used by glslang disassembly.
2. Updated OpEmitMeshTasksEXT as per spec update
3. Fixed implementation that errors out if there are more then one taskPayloadSharedEXT varjables.
4. Fixed miscellaneous error logs and removed unwanted code.

SPIRV 1.6 related build failure fixes
- Update SPIRV header to 1.6
- Fix conflict wiht SPIRV 1.6 change, where localSizeId is used for execution mode for mesh/task shaders

Enable SPIRV generated for EXT_mesh_shader to be version 1.4

GL_EXT_mesh_shader: Add checks for atomic support and corresponding test cases

2 years agoMerge pull request #2997 from RandomShaper/remove_unused
Greg Fischer [Wed, 31 Aug 2022 23:25:02 +0000 (17:25 -0600)]
Merge pull request #2997 from RandomShaper/remove_unused

Remove the unused `OS_CleanupThreadData`

2 years agoMerge pull request #3011 from hbatagelo/fix_type_punning_ub
Greg Fischer [Wed, 31 Aug 2022 23:21:56 +0000 (17:21 -0600)]
Merge pull request #3011 from hbatagelo/fix_type_punning_ub

Fix strict aliasing violation

2 years agoFix -Wundef warnings for MINGW_HAS_SECURE_API
Johannes Kauffmann [Mon, 29 Aug 2022 23:17:53 +0000 (23:17 +0000)]
Fix -Wundef warnings for MINGW_HAS_SECURE_API

Since 12e27e17deb3102f1f6f08ec19caf5e32becb3f8, it was assumed that the
MINGW_HAS_SECURE_API macro was unconditionally defined. This is not
always the case, and GCC produces -Wundef warnings when that happens.

Fix this, by first checking if MINGW_HAS_SECURE_API is defined, and if
so, also check that it does not evaluate to zero.

As a drive-by, place parentheses around _MSC_VER for consistency.

2 years agoImplement NonSemantic.Shader.DebugInfo.100
Jeremy Hayes [Thu, 9 Dec 2021 23:26:48 +0000 (16:26 -0700)]
Implement NonSemantic.Shader.DebugInfo.100

See https://github.com/KhronosGroup/SPIRV-Registry.

2 years agoRemove the unused OS_CleanupThreadData
Pedro J. Estébanez [Thu, 11 Aug 2022 11:50:39 +0000 (13:50 +0200)]
Remove the unused OS_CleanupThreadData

2 years agoFix strict aliasing violation
Harlen [Fri, 26 Aug 2022 16:26:56 +0000 (13:26 -0300)]
Fix strict aliasing violation

2 years agoMerge pull request #3009 from Tachi107/cmake-config-file-libdir
Jeremy Hayes [Fri, 26 Aug 2022 15:38:38 +0000 (09:38 -0600)]
Merge pull request #3009 from Tachi107/cmake-config-file-libdir

build: install glslang-config.cmake to libdir

2 years agobuild: install glslang-config.cmake to libdir
Andrea Pappacoda [Thu, 25 Aug 2022 21:15:14 +0000 (23:15 +0200)]
build: install glslang-config.cmake to libdir

As glslang ships architecture dependant files, the Config file should be
installed to libdir, not datadir. See
https://github.com/KhronosGroup/glslang/pull/2989#discussion_r955367103
for more details.

Here's the diff between the install tree before and after this patch:

    $ diff <(tree install-datadir) <(tree install)
    1c1
    < install-datadir
    ---
    > install
    74,99c74,98
    <         ├── lib
    <         │   ├── cmake
    <         │   │   ├── glslang-default-resource-limitsTargets.cmake
    <         │   │   ├── glslangTargets.cmake
    <         │   │   ├── glslangValidatorTargets.cmake
    <         │   │   ├── HLSLTargets.cmake
    <         │   │   ├── OGLCompilerTargets.cmake
    <         │   │   ├── OSDependentTargets.cmake
    <         │   │   ├── spirv-remapTargets.cmake
    <         │   │   ├── SPIRVTargets.cmake
    <         │   │   └── SPVRemapperTargets.cmake
    <         │   ├── libGenericCodeGen.a
    <         │   ├── libglslang.a
    <         │   ├── libglslang-default-resource-limits.a
    <         │   ├── libHLSL.a
    <         │   ├── libMachineIndependent.a
    <         │   ├── libOGLCompiler.a
    <         │   ├── libOSDependent.a
    <         │   ├── libSPIRV.a
    <         │   └── libSPVRemapper.a
    <         └── share
    <             └── glslang
    <                 ├── glslang-config.cmake
    <                 ├── glslang-config-version.cmake
    <                 ├── glslang-targets.cmake
    <                 └── glslang-targets-debug.cmake
    ---
    >         └── lib
    >             ├── cmake
    >             │   ├── glslang-default-resource-limitsTargets.cmake
    >             │   ├── glslangTargets.cmake
    >             │   ├── glslangValidatorTargets.cmake
    >             │   ├── HLSLTargets.cmake
    >             │   ├── OGLCompilerTargets.cmake
    >             │   ├── OSDependentTargets.cmake
    >             │   ├── spirv-remapTargets.cmake
    >             │   ├── SPIRVTargets.cmake
    >             │   └── SPVRemapperTargets.cmake
    >             ├── glslang
    >             │   ├── glslang-config.cmake
    >             │   ├── glslang-config-version.cmake
    >             │   ├── glslang-targets.cmake
    >             │   └── glslang-targets-debug.cmake
    >             ├── libGenericCodeGen.a
    >             ├── libglslang.a
    >             ├── libglslang-default-resource-limits.a
    >             ├── libHLSL.a
    >             ├── libMachineIndependent.a
    >             ├── libOGLCompiler.a
    >             ├── libOSDependent.a
    >             ├── libSPIRV.a
    >             └── libSPVRemapper.a
    101c100
    < 15 directories, 83 files
    ---
    > 14 directories, 83 files

2 years agoMerge pull request #3000 from jeremy-lunarg/hayes-update-cmake-minimum
Jeremy Hayes [Fri, 12 Aug 2022 17:44:16 +0000 (11:44 -0600)]
Merge pull request #3000 from jeremy-lunarg/hayes-update-cmake-minimum

Update cmake minimum required version

2 years agoUpdate cmake minimum required version
Jeremy Hayes [Fri, 12 Aug 2022 16:29:31 +0000 (10:29 -0600)]
Update cmake minimum required version

2 years agoMerge pull request #2998 from jeremy-lunarg/hayes-update-changes
Jeremy Hayes [Fri, 12 Aug 2022 15:32:10 +0000 (09:32 -0600)]
Merge pull request #2998 from jeremy-lunarg/hayes-update-changes

Update CHANGES for release 11.11.0

2 years agoUpdate CHANGES for release 11.11.0
Jeremy Hayes [Wed, 10 Aug 2022 21:49:20 +0000 (15:49 -0600)]
Update CHANGES for release 11.11.0

2 years agoMerge pull request #2995 from jeremy-lunarg/hayes-update-known-good
Greg Fischer [Thu, 11 Aug 2022 19:47:08 +0000 (13:47 -0600)]
Merge pull request #2995 from jeremy-lunarg/hayes-update-known-good

Update known_good.json

2 years agoUpdate known_good.json
Jeremy Hayes [Wed, 10 Aug 2022 18:29:15 +0000 (12:29 -0600)]
Update known_good.json

2 years agoMerge pull request #2991 from KhronosGroup/revert-2988-build_arm64_binaries_mac
Greg Fischer [Wed, 3 Aug 2022 19:22:21 +0000 (13:22 -0600)]
Merge pull request #2991 from KhronosGroup/revert-2988-build_arm64_binaries_mac

Revert "Fix: Build arm64 binaries for macOS"

2 years agoRevert "Fix: Build arm64 binaries for macOS"
Greg Fischer [Wed, 3 Aug 2022 18:39:23 +0000 (12:39 -0600)]
Revert "Fix: Build arm64 binaries for macOS"

2 years agoMerge pull request #2988 from spnda/build_arm64_binaries_mac
Greg Fischer [Wed, 3 Aug 2022 16:32:34 +0000 (10:32 -0600)]
Merge pull request #2988 from spnda/build_arm64_binaries_mac

Fix: Build arm64 binaries for macOS

2 years agoAdd unified `glslang` CMake config collecting `glslang-targets` targets (#2989)
MACHIZAUD Andréa [Wed, 3 Aug 2022 00:16:03 +0000 (02:16 +0200)]
Add unified `glslang` CMake config collecting `glslang-targets` targets (#2989)

2 years agoAvoid double-free in functions cloned for vulkan relaxed mode (#2987)
David Neto [Wed, 3 Aug 2022 00:07:01 +0000 (20:07 -0400)]
Avoid double-free in functions cloned for vulkan relaxed mode (#2987)

* Avoid double-free in functions cloned for vulkan relaxed mode

When rewriting function calls atomicCounterIncrement and
atoicCounterDecrement, clone the parameters so that the TParameter
'type' field is cloned.  This avoids double-free when both the original
and transformed functions are deleted by the parser.

Fixes a ubsan failure.

2 years agoFix: Build arm64 binaries for macOS
sean [Sat, 30 Jul 2022 04:10:47 +0000 (06:10 +0200)]
Fix: Build arm64 binaries for macOS

2 years agoMerge pull request #2986 from jeremy-lunarg/hayes-update-macos-runner
Greg Fischer [Wed, 27 Jul 2022 23:39:33 +0000 (17:39 -0600)]
Merge pull request #2986 from jeremy-lunarg/hayes-update-macos-runner

Update MacOS runner

2 years agoUpdate MacOS runner
Jeremy Hayes [Wed, 27 Jul 2022 23:12:24 +0000 (17:12 -0600)]
Update MacOS runner

Per https://github.com/actions/virtual-environments/issues/5583

Fix #2984

2 years agoMerge pull request #2977 from AMD-dwang/AMD_shader_early_and_late_fragment_tests
Greg Fischer [Wed, 27 Jul 2022 17:23:16 +0000 (11:23 -0600)]
Merge pull request #2977 from AMD-dwang/AMD_shader_early_and_late_fragment_tests

Add SPV_AMD_shader_early_and_late_fragment_tests

2 years agoMerge pull request #2982 from jeremy-lunarg/hayes-remove-tabs
Jeremy Hayes [Tue, 26 Jul 2022 15:05:13 +0000 (09:05 -0600)]
Merge pull request #2982 from jeremy-lunarg/hayes-remove-tabs

Replace tabs with spaces

2 years agoMerge pull request #2981 from jeremy-lunarg/hayes-fix-2978
Jeremy Hayes [Tue, 26 Jul 2022 15:04:25 +0000 (09:04 -0600)]
Merge pull request #2981 from jeremy-lunarg/hayes-fix-2978

Update release description

2 years agoReplace tabs with spaces
Jeremy Hayes [Mon, 25 Jul 2022 23:01:47 +0000 (17:01 -0600)]
Replace tabs with spaces

This file was accidentally using mixed tabs and spaces.

2 years agoUpdate release description
Jeremy Hayes [Mon, 25 Jul 2022 23:00:48 +0000 (17:00 -0600)]
Update release description

Fix #2978.

2 years agoMerge pull request #2979 from spnda/master
Jeremy Hayes [Mon, 25 Jul 2022 17:39:28 +0000 (11:39 -0600)]
Merge pull request #2979 from spnda/master

Fix #2658: Properly include all headers in deployments

2 years agoFix: Properly include all headers in deployments
sean [Mon, 25 Jul 2022 15:54:20 +0000 (17:54 +0200)]
Fix: Properly include all headers in deployments

2 years agoMerge pull request #2974 from thoave-arm/EOpConstructAccStruct
Greg Fischer [Fri, 22 Jul 2022 16:51:42 +0000 (10:51 -0600)]
Merge pull request #2974 from thoave-arm/EOpConstructAccStruct

Make GL_KHR_ray_query provide EOpConstructAccStruct

2 years agoMake GL_KHR_ray_query provide EOpConstructAccStruct
Thomas Aven [Wed, 13 Jul 2022 06:25:57 +0000 (08:25 +0200)]
Make GL_KHR_ray_query provide EOpConstructAccStruct

Previously, GL_KHR_ray_tracing was a required extension to generate
OpConvertUToAccelerationStructureKHR conversion instructions from uint64
and uvec2. However, both GL_KHR_ray_tracing and GL_KHR_ray_query should
provide this construction.

Change-Id: I6564c127fd28d9b527d334958a5adc168f5cdd9a

2 years agoAdd SPV_AMD_shader_early_and_late_fragment_tests
dwang102 [Fri, 15 Jul 2022 06:36:03 +0000 (14:36 +0800)]
Add SPV_AMD_shader_early_and_late_fragment_tests

2 years agoMerge pull request #2976 from jeremy-lunarg/hayes-fix-2975
Jeremy Hayes [Fri, 15 Jul 2022 00:05:46 +0000 (18:05 -0600)]
Merge pull request #2976 from jeremy-lunarg/hayes-fix-2975

Emit Int64Atomics for imageAtomicStore

2 years agoEmit Int64Atomics for imageAtomicStore
Jeremy Hayes [Thu, 14 Jul 2022 17:44:52 +0000 (11:44 -0600)]
Emit Int64Atomics for imageAtomicStore

This covers a corner case wherein imageAtomicStore is used exclusively.
The proxy type for imageAtomicStore is inferred from the image type.

Fix #2975.

2 years agoMerge pull request #2973 from haasn/version_macros
Greg Fischer [Tue, 12 Jul 2022 16:57:21 +0000 (10:57 -0600)]
Merge pull request #2973 from haasn/version_macros

Fix version check macros

2 years agoFix version check macros
Niklas Haas [Tue, 12 Jul 2022 14:59:22 +0000 (16:59 +0200)]
Fix version check macros

These were defined backwards to the usual convention.

 #if GLSLANG_VERSION_GREATER_THAN(11, 10, 0)

This reads as "if glslang version is greater than 11.10.0" to any
reasonable sane programmer, and should therefore expand to
"glslang_version > macro_argument".

Yet the check it references was actually written as "macro_argument >
glslang_version", thus expressing the completely opposite condition of
"if glslang version is *less than* 11.10.0". This is definitely
backwards and extremely, dangerously surprising behavior to any
programmer familiar with such version macros.

I'm not sure if anybody actually ever used them. I certainly didn't, on
account of them being backwards. I could not find a single reference to
them on GitHub (other than in copies of this header) - every project I
found just used the GLSLANG_VERSION_MAJOR etc. macros directly.

2 years agoMerge pull request #2970 from greg-lunarg/i2969
Greg Fischer [Thu, 7 Jul 2022 18:14:29 +0000 (12:14 -0600)]
Merge pull request #2970 from greg-lunarg/i2969

Fix getEnhancedMsgs to work when HLSL not enabled

2 years agoFix getEnhancedMsgs to work when HLSL not enabled
Greg Fischer [Thu, 7 Jul 2022 17:40:02 +0000 (11:40 -0600)]
Fix getEnhancedMsgs to work when HLSL not enabled

Fixes #2969

2 years agoMerge pull request #2963 from greg-lunarg/i2956
Greg Fischer [Wed, 22 Jun 2022 19:08:13 +0000 (13:08 -0600)]
Merge pull request #2963 from greg-lunarg/i2956

Do not generate samplerBuffer for spirv1.6 and beyond

2 years agoDo not generate samplerBuffer for spirv1.6 and beyond
Greg Fischer [Tue, 21 Jun 2022 23:33:57 +0000 (17:33 -0600)]
Do not generate samplerBuffer for spirv1.6 and beyond

This type was removed from spirv1.6. If samplerBuffer is specified in
GLSL, generate textureBuffer. If samplerBuffer type is constructed,
just return the buffer.

Fixes #2956

2 years agoMerge pull request #2962 from James2022-rgb/feature/c_interface_opsource_support
Greg Fischer [Mon, 13 Jun 2022 23:28:18 +0000 (17:28 -0600)]
Merge pull request #2962 from James2022-rgb/feature/c_interface_opsource_support

Add OpSource support to the C interface.

2 years agoCInterface: Add OpSource support.
James0124 [Mon, 6 Jun 2022 16:13:21 +0000 (01:13 +0900)]
CInterface: Add OpSource support.

Add interface for `TIntermediate::addSourceText` and `TIntermediate::setSourceFile`.

2 years agoMerge pull request #2961 from jeremy-lunarg/hayes-update-changes
Greg Fischer [Fri, 3 Jun 2022 00:01:12 +0000 (18:01 -0600)]
Merge pull request #2961 from jeremy-lunarg/hayes-update-changes

Release 11.10.0

2 years agoRelease 11.10.0
Jeremy Hayes [Thu, 2 Jun 2022 23:34:26 +0000 (17:34 -0600)]
Release 11.10.0

2 years agoMerge pull request #2960 from jeremy-lunarg/hayes-update-known-good
Greg Fischer [Thu, 2 Jun 2022 22:49:28 +0000 (16:49 -0600)]
Merge pull request #2960 from jeremy-lunarg/hayes-update-known-good

Update known_good.json

2 years agoUpdate known_good.json
Jeremy Hayes [Thu, 2 Jun 2022 17:51:07 +0000 (11:51 -0600)]
Update known_good.json

2 years agoMerge pull request #2957 from greg-lunarg/p2933
Greg Fischer [Wed, 1 Jun 2022 23:20:20 +0000 (17:20 -0600)]
Merge pull request #2957 from greg-lunarg/p2933

Restore legacy interface for remap()

2 years agoRestore legacy interface for remap()
Greg Fischer [Wed, 1 Jun 2022 22:40:29 +0000 (16:40 -0600)]
Restore legacy interface for remap()

Fixes ABI breakage caused by #2933

2 years agoMerge pull request #2955 from andfau-arm/duplicate-builtin-clash
Greg Fischer [Wed, 1 Jun 2022 20:07:18 +0000 (14:07 -0600)]
Merge pull request #2955 from andfau-arm/duplicate-builtin-clash

Avoid duplicate BuiltIn variables for ray tracing matrices (fix #2921)

2 years agoAvoid duplicate BuiltIn variables for ray tracing matrices (fix #2921)
Andrea Faulds [Wed, 1 Jun 2022 08:43:13 +0000 (10:43 +0200)]
Avoid duplicate BuiltIn variables for ray tracing matrices (fix #2921)

Fixes an issue where invalid SPIR-V was generated when
gl_ObjectToWorldEXT and gl_ObjectToWorld3x4EXT, or
gl_WorldToObjectEXT and gl_WorldToObject3x4EXT, were used in the same
shader. The SPIR-V specification requires that there be at most one
OpVariable decorated with a given BuiltIn value.

2 years agoMerge pull request #2950 from qingyuanzNV/insert_opline_before_opfunction2
Greg Fischer [Tue, 31 May 2022 19:25:22 +0000 (13:25 -0600)]
Merge pull request #2950 from qingyuanzNV/insert_opline_before_opfunction2

Generate OpLine Before OpFunction

2 years agoavoid using make_unique for c++11 compatibility
Qingyuan Zheng [Tue, 31 May 2022 17:40:25 +0000 (10:40 -0700)]
avoid using make_unique for c++11 compatibility

2 years agouse unique_ptr to avoid calling deleted move ctor
Qingyuan Zheng [Tue, 31 May 2022 06:08:50 +0000 (23:08 -0700)]
use unique_ptr to avoid calling deleted move ctor

2 years agoMerge pull request #2952 from stu-s/EXT_fragment_shader_barycentric
Greg Fischer [Thu, 26 May 2022 16:41:25 +0000 (10:41 -0600)]
Merge pull request #2952 from stu-s/EXT_fragment_shader_barycentric

Add support for VK_EXT_fragment_shader_barycentric

2 years agoMerge pull request #2953 from greg-lunarg/mingw0
Greg Fischer [Wed, 25 May 2022 18:07:12 +0000 (12:07 -0600)]
Merge pull request #2953 from greg-lunarg/mingw0

Fix build for clang + mingw32-make

2 years agoFix build for clang + mingw32-make
Greg Fischer [Tue, 24 May 2022 19:31:03 +0000 (13:31 -0600)]
Fix build for clang + mingw32-make

Fixes #2951

2 years agoAdd support for VK_EXT_fragment_shader_barycentric
stusmith [Fri, 13 May 2022 16:23:29 +0000 (17:23 +0100)]
Add support for VK_EXT_fragment_shader_barycentric

2 years agoMerge pull request #2947 from corporateshark/master
Greg Fischer [Tue, 24 May 2022 20:14:56 +0000 (14:14 -0600)]
Merge pull request #2947 from corporateshark/master

Add CInterface files and documentation

2 years agoMerge pull request #2948 from Gabriele91/fix/HLSL-Instance-attribute-as-spirv-invocat...
Greg Fischer [Tue, 24 May 2022 20:11:43 +0000 (14:11 -0600)]
Merge pull request #2948 from Gabriele91/fix/HLSL-Instance-attribute-as-spirv-invocation-attribute

HLSL Instance attribute translated as spirv invocations attribute

2 years agoAdd hlsl.instance.geom output
Gabriele91 [Tue, 24 May 2022 18:09:20 +0000 (20:09 +0200)]
Add hlsl.instance.geom output

2 years agoAdd test for the instance param (geometry shader)
Gabriele Di Bari [Tue, 24 May 2022 16:53:39 +0000 (18:53 +0200)]
Add test for the instance param (geometry shader)