platform/upstream/glslang.git
14 months agoAdd support for Tizen accepted/tizen_8.0_unified tizen_8.0 accepted/tizen/8.0/unified/20231005.094911 accepted/tizen/unified/20230227.042034 accepted/tizen/unified/20230227.152723 tizen_8.0_m2_release
Xuelian Bai [Tue, 25 May 2021 17:33:22 +0000 (01:33 +0800)]
Add support for Tizen

1. Add COPYING, spec files from original multiple commits
2. Change version, add cmake in devel package.

Change-Id: I44504d06c36345398a8bcb633dfe92012bbd5f85
Signed-Off-by: Xuelian Bai <xuelian.bai@samsung.com>
15 months agoUpdate CHANGES for release 12.0.0 upstream/1.3.239 upstream/12.0.0
Jeremy Hayes [Wed, 18 Jan 2023 22:37:00 +0000 (15:37 -0700)]
Update CHANGES for release 12.0.0

15 months agoUpdate known_good.json
Jeremy Hayes [Wed, 18 Jan 2023 18:04:44 +0000 (11:04 -0700)]
Update known_good.json

15 months agoUpdate appveyor environment
Jeremy Hayes [Wed, 18 Jan 2023 18:46:28 +0000 (11:46 -0700)]
Update appveyor environment

SPIRV-Tools now requires 3.17.2 or higher. The version provided by
Visual Studio 2015 is 3.16.2.

15 months agoMerge pull request #3108 from greg-lunarg/i3105
Greg Fischer [Thu, 12 Jan 2023 01:39:49 +0000 (18:39 -0700)]
Merge pull request #3108 from greg-lunarg/i3105

Fix crash on bad structure member reference

15 months agoFix crash on bad structure member reference
Greg Fischer [Wed, 11 Jan 2023 01:50:18 +0000 (18:50 -0700)]
Fix crash on bad structure member reference

Fixes #3105

15 months agobuild: Remove AMD_EXTENSIONS / NV_EXTENSIONS defines
Juan Ramos [Wed, 4 Jan 2023 21:02:19 +0000 (14:02 -0700)]
build: Remove AMD_EXTENSIONS / NV_EXTENSIONS defines

These defines aren't needed anymore

16 months agoMerge pull request #3100 from daniel-story/fix-dual-src-draw-buffers
Greg Fischer [Thu, 29 Dec 2022 19:09:46 +0000 (12:09 -0700)]
Merge pull request #3100 from daniel-story/fix-dual-src-draw-buffers

Fix issues with MaxDualSourceDrawBuffersEXT

16 months agoMerge pull request #3102 from jeremy-lunarg/hayes-fix-debuginfo-disassembly
Greg Fischer [Mon, 26 Dec 2022 20:30:34 +0000 (13:30 -0700)]
Merge pull request #3102 from jeremy-lunarg/hayes-fix-debuginfo-disassembly

Fix debuginfo disassembly

16 months agoFix debuginfo disassembly
Jeremy Hayes [Thu, 22 Dec 2022 22:43:03 +0000 (15:43 -0700)]
Fix debuginfo disassembly

16 months agoMerge pull request #3099 from jeremy-lunarg/hayes-fix-issue-3095
Greg Fischer [Thu, 22 Dec 2022 17:03:12 +0000 (10:03 -0700)]
Merge pull request #3099 from jeremy-lunarg/hayes-fix-issue-3095

Fix const parameter debug types

16 months agoFix const parameter debug types
Jeremy Hayes [Wed, 21 Dec 2022 21:20:44 +0000 (14:20 -0700)]
Fix const parameter debug types

Constant qualified parameter types were not being correctly added to
the DebugTypeFunction instruction.

Fix #3095.

16 months agoFix issues with MaxDualSourceDrawBuffersEXT
Daniel Story [Wed, 21 Dec 2022 19:53:23 +0000 (11:53 -0800)]
Fix issues with MaxDualSourceDrawBuffersEXT

16 months agoRemove languages from cmake project statement
Jeremy Hayes [Mon, 19 Dec 2022 19:41:07 +0000 (12:41 -0700)]
Remove languages from cmake project statement

Fix #3088

16 months ago[glslang] Refine implicit array size interfaces. (#3074)
Chow [Tue, 13 Dec 2022 18:20:28 +0000 (02:20 +0800)]
[glslang] Refine implicit array size interfaces. (#3074)

* [glslang] Refine implicit array size interfaces.

Help to check builtin and other variables if across stages.

16 months agoMerge pull request #3087 from dneto0/remove-unused
Greg Fischer [Mon, 12 Dec 2022 17:34:33 +0000 (10:34 -0700)]
Merge pull request #3087 from dneto0/remove-unused

Remove the name of unused formal paramters

16 months agoRemove the name of unused formal paramters
David Neto [Fri, 9 Dec 2022 20:51:35 +0000 (15:51 -0500)]
Remove the name of unused formal paramters

This eliminates a compiler warning in some configurations.

16 months agoAdd support for GL_NV_shader_invocation_reorder. (#3054)
alelenv [Fri, 9 Dec 2022 20:19:51 +0000 (12:19 -0800)]
Add support for GL_NV_shader_invocation_reorder. (#3054)

16 months agoAdd support for GL_NV_shader_invocation_reorder. (#3054)
alelenv [Fri, 9 Dec 2022 20:19:08 +0000 (12:19 -0800)]
Add support for GL_NV_shader_invocation_reorder. (#3054)

16 months agoMerge pull request #3086 from jeremy-lunarg/hayes-fix-3073
Greg Fischer [Fri, 9 Dec 2022 17:39:14 +0000 (10:39 -0700)]
Merge pull request #3086 from jeremy-lunarg/hayes-fix-3073

Guard AppleClang linker options

16 months agoGuard AppleClang linker options
Jeremy Hayes [Thu, 8 Dec 2022 23:41:03 +0000 (16:41 -0700)]
Guard AppleClang linker options

Fix #3073

16 months agoMerge pull request #3066 from ShchchowAMD/shaochi/bindless
Greg Fischer [Wed, 7 Dec 2022 21:38:31 +0000 (14:38 -0700)]
Merge pull request #3066 from ShchchowAMD/shaochi/bindless

[glslang][extension] Add support for ARB_bindless_texture.

16 months ago[glslang][EXT] Support extension ARB_bindless_texture.
Zhou [Tue, 15 Nov 2022 16:04:55 +0000 (00:04 +0800)]
[glslang][EXT] Support extension ARB_bindless_texture.

Add missing callgraph clean for bindless status flag.

Add test cases. Add support to check special extensions not be available for Vulkan when using GLSL.

16 months agoMerge pull request #3081 from jeremy-lunarg/hayes-update-changes
Greg Fischer [Tue, 6 Dec 2022 22:34:33 +0000 (15:34 -0700)]
Merge pull request #3081 from jeremy-lunarg/hayes-update-changes

Update CHANGES for release 11.13.0

16 months agoMerge pull request #3080 from jeremy-lunarg/hayes-update-known-good
Greg Fischer [Tue, 6 Dec 2022 22:33:42 +0000 (15:33 -0700)]
Merge pull request #3080 from jeremy-lunarg/hayes-update-known-good

Update known_good.json

16 months agoUpdate CHANGES for release 11.13.0
Jeremy Hayes [Tue, 6 Dec 2022 21:50:03 +0000 (14:50 -0700)]
Update CHANGES for release 11.13.0

16 months agoUpdate known_good.json
Jeremy Hayes [Fri, 2 Dec 2022 21:24:58 +0000 (14:24 -0700)]
Update known_good.json

16 months agoMerge pull request #3079 from gby/GL_ARM_shader_core_builtins
Greg Fischer [Tue, 6 Dec 2022 20:11:57 +0000 (13:11 -0700)]
Merge pull request #3079 from gby/GL_ARM_shader_core_builtins

GL_ARM_shader_core_builtins support

16 months agoGL_ARM_shader_core_builtins support
Gilad Ben-Yossef [Mon, 5 Dec 2022 12:02:22 +0000 (14:02 +0200)]
GL_ARM_shader_core_builtins support

Add support for GL_ARM_shader_core_builtins and SPV_ARM_core_builtins,
including initial tests

17 months agoUse nullptr where possible instead of NULL or 0
Johannes Kauffmann [Tue, 22 Nov 2022 18:09:31 +0000 (19:09 +0100)]
Use nullptr where possible instead of NULL or 0

17 months agoInclude: PoolAlloc: do not rely on CMake define
Johannes Kauffmann [Wed, 23 Nov 2022 23:14:23 +0000 (00:14 +0100)]
Include: PoolAlloc: do not rely on CMake define

On Windows, _DEBUG is defined by CMake if CMAKE_BUILD_TYPE is Debug. But
on other platforms, this is not the case and thus in debug mode, the
guard checks are not enabled.

Instead, rely on the NDEBUG define, which is always defined in release
mode (Release, RelWithDebInfo and MinSizeRel). This works reliably on
all platforms: It is also used to enable or disable assertions.

17 months agoMerge pull request #3077 from greg-lunarg/edos3
Greg Fischer [Mon, 28 Nov 2022 23:27:56 +0000 (16:27 -0700)]
Merge pull request #3077 from greg-lunarg/edos3

Add EliminateDeadOutputStores to API.

17 months agoAdd EliminateDeadOutputStores to API.
Greg Fischer [Mon, 18 Apr 2022 22:00:51 +0000 (16:00 -0600)]
Add EliminateDeadOutputStores to API.

Also eliminates dead output variables and unused output variable
components. Finally calls aggressive dead code elimination.

AnalyzeDeadOutputStores also supplied to be called on the following
shader to provide input for the Eliminate* function.

17 months agoMerge pull request #3076 from greg-lunarg/kg124
Greg Fischer [Mon, 28 Nov 2022 20:27:56 +0000 (13:27 -0700)]
Merge pull request #3076 from greg-lunarg/kg124

Update known goods

17 months agoUpdate known goods
Greg Fischer [Mon, 28 Nov 2022 19:06:59 +0000 (12:06 -0700)]
Update known goods

17 months agoFix locations of cmake files in side compat shims
Sven-Hendrik Haase [Mon, 14 Nov 2022 05:30:55 +0000 (06:30 +0100)]
Fix locations of cmake files in side compat shims

In https://github.com/KhronosGroup/glslang/pull/3027, the installed cmake files were
stuck into a /cmake subdir but this isn't reflected in these compatibility shims.

17 months agoMerge pull request #3061 from ShabbyX/remove-angle-build-flag
Greg Fischer [Tue, 8 Nov 2022 21:46:48 +0000 (14:46 -0700)]
Merge pull request #3061 from ShabbyX/remove-angle-build-flag

Remove GLSLANG_ANGLE

17 months agoRemove GLSLANG_ANGLE
Shahbaz Youssefi [Tue, 8 Nov 2022 20:11:36 +0000 (15:11 -0500)]
Remove GLSLANG_ANGLE

ANGLE no longer links with glslang.  This change reverts
1ef2e250fc36d862573cc5e92f04b1d0e2d89867 which added a flag to strip
glslang to reduce its binary size.  This flag is no longer needed.

17 months agoMerge pull request #3060 from greg-lunarg/limit3
Greg Fischer [Tue, 8 Nov 2022 17:40:25 +0000 (10:40 -0700)]
Merge pull request #3060 from greg-lunarg/limit3

Fix include in resource_limits_c.h

17 months agoFix include in resource_limits_c.h
Greg Fischer [Mon, 7 Nov 2022 19:06:46 +0000 (12:06 -0700)]
Fix include in resource_limits_c.h

Fixes #3059

17 months agoMerge pull request #3057 from ShabbyX/fix-gn-build
Greg Fischer [Thu, 3 Nov 2022 20:01:33 +0000 (14:01 -0600)]
Merge pull request #3057 from ShabbyX/fix-gn-build

Fix gn build

17 months agoFix gn build
Shahbaz Youssefi [Thu, 3 Nov 2022 14:17:33 +0000 (10:17 -0400)]
Fix gn build

17 months agoMerge pull request #3055 from greg-lunarg/limit2
Greg Fischer [Wed, 2 Nov 2022 16:52:49 +0000 (10:52 -0600)]
Merge pull request #3055 from greg-lunarg/limit2

Improve ResourceLimits interface to be more forward compatible

17 months agoImprove ResourceLimits interface to be more forward compatible
Greg Fischer [Fri, 28 Oct 2022 23:27:18 +0000 (17:27 -0600)]
Improve ResourceLimits interface to be more forward compatible

New interface allows users to generate ResourceLimits for interface so
that additions to TBuiltInResource do not break the ABI.

Users should use the glslang-default-resource-limits library and the
Public/ResourceLimits.h header. Similar changes have been made to the
C interface. Use Public/resource_limits_c.h.

Fixes #2822

18 months agoMerge pull request #3050 from Try/mesh-shader-ibo-fixup
Jeremy Hayes [Mon, 31 Oct 2022 21:38:24 +0000 (15:38 -0600)]
Merge pull request #3050 from Try/mesh-shader-ibo-fixup

mesh shader: fix implicit index-array size calculation for lines and triangles

18 months agoupdate failing test-cases
Try [Wed, 19 Oct 2022 19:45:30 +0000 (21:45 +0200)]
update failing test-cases

18 months agoMerge pull request #3047 from akien-mga/spirv.hpp-dos2unix
Greg Fischer [Wed, 19 Oct 2022 17:33:25 +0000 (11:33 -0600)]
Merge pull request #3047 from akien-mga/spirv.hpp-dos2unix

Convert spirv.hpp line endings to LF (Unix style)

18 months agoMerge pull request #3046 from amdrexu/bugfix
Jeremy Hayes [Wed, 19 Oct 2022 16:45:29 +0000 (10:45 -0600)]
Merge pull request #3046 from amdrexu/bugfix

Fix incorrect parse message of mesh shader

18 months 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

18 months agomesh shader: fix implicit index-array size calculation for lines and triangles
Try [Sun, 16 Oct 2022 13:36:19 +0000 (15:36 +0200)]
mesh shader: fix implicit index-array size calculation for lines and triangles

#fixed #3041

18 months 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.

18 months 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

18 months 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

18 months 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

18 months 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

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

18 months 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

18 months 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.

18 months agoConvert spirv.hpp line endings to LF (Unix style)
Rémi Verschelde [Tue, 11 Oct 2022 08:59:19 +0000 (10:59 +0200)]
Convert spirv.hpp line endings to LF (Unix style)

This was the only header using CRLF, the rest already uses LF.

18 months agoFix incorrect parse message of mesh shader
Rex Xu [Tue, 11 Oct 2022 07:01:35 +0000 (15:01 +0800)]
Fix incorrect parse message of mesh shader

When GL_EXT_mesh_shader is enabled, the check of layout qualifiers
'max_vertices' and 'max_primitives' should use
gl_MaxMeshOutputVerticesEXT and gl_MaxMeshOutputPrimitivesEXT.

18 months 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`.

18 months 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

18 months 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

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

19 months 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.

19 months 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.

19 months 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

19 months 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…

19 months 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

19 months 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

19 months 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.

19 months 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…

19 months 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

19 months 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.

19 months 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

19 months 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.

19 months 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.

19 months 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.

19 months 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 …

19 months 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.

19 months 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

19 months 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.

19 months 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

19 months 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

19 months 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

19 months 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

19 months 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

19 months 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

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

19 months 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

20 months 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`

20 months 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

20 months 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.

20 months 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.

20 months 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

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

20 months 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

20 months 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

20 months 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

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