3816 Commits

Author SHA1 Message Date
John Kessenich
01aee059f5
Merge pull request #1995 from ShchchowAMD/ARB_sample_shading_support
Add support for ARB_sample_shading
2019-12-29 19:35:18 -07:00
Sergey Kosarevsky
b80a63a0ba CInterface: replaced SH_ prefix with GLSLANG_ 2019-12-26 21:17:37 +03:00
John Kessenich
5de15a256e HLSL: Fix #2037: Integer dot used incorrect input for adds. 2019-12-26 10:56:54 -07:00
Chow
5db058c020 atomic counter offset should align to 4
atomic counter offset should align to 4
Ref:
glspec46.core - 6.8 BufferObjectState
offset restriction multiple of 4
2019-12-25 17:27:45 +08:00
Chow
891ec09c62 Modify atomic_uint binding check
Modify atomic_uint binding check.

Currently, when not declared with offset, default atomic_unint won't check whether its binding is valid or not more than its limit value.
2019-12-25 17:08:48 +08:00
Sergey Kosarevsky
d7f09317f7 CInterface: added glslang_program_SPIRV_get_ptr() 2019-12-25 01:01:06 +03:00
Sergey Kosarevsky
4ecd0f6723 CInterface: added files to CMakeLists.txt 2019-12-25 00:06:00 +03:00
Sergey Kosarevsky
e9ddba8fd8 CInterface: added _BIT suffix to glslang_messages_t and glslang_reflection_options_t, fixed const-correctness 2019-12-25 00:05:41 +03:00
Sergey Kosarevsky
ca593a98f9 CInterface: reformatted according to .clang-format rules 2019-12-25 00:00:23 +03:00
Sergey Kosarevsky
8cded6ccb9 Added original glslang_c_interface implementation by Viktor Latypov 2019-12-24 23:53:05 +03:00
Chow
786aa339a1 Add Tess machine dependent built-in variables initialization for GLES 3.2
Add Tess machine dependent built-in variables initialization for GLES 3.2
2019-12-24 13:56:15 +08:00
Chow
97c4c0936f Add support for ARB_uniform_buffer_object
GLSL Version : >= 120

Purpose:
Allow users to use features by enabling this extension, even in low versions.

Extension Name:
ARB_uniform_buffer_object

Builtin-variables:
Uniform

Builtin-functions:
Nah

Keywords:
Nah

Features:
uniform block

Reference:
https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_uniform_buffer_object.txt
2019-12-23 16:30:12 +08:00
Chow
a8f9886cc6 Add support for ARB_texture_multisample
GLSL Version : >= 140

Purpose:
Allow users to use features by enabling this extension, even in low versions.

Extension Name:
ARB_texture_multisample

Builtin-variables:
Nah

Builtin-functions:
Nah

Keywords:
      sampler2DMS, isampler2DMS, usampler2DMS,
      sampler2DMSArray, isampler2DMSArray, usampler2DMSArray

Reference:
https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_texture_multisample.txt
2019-12-23 15:37:04 +08:00
Chow
78b1180466 Add support for ARB_sample_shading
Version : >= 130

Extension Name: ARB_sample_shading

Builtin-variables:
"gl_SampleID"
"gl_SamplePosition"
"gl_SampleMask"
"gl_NumSamples"

Reference:
https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_sample_shading.txt
2019-12-23 14:34:38 +08:00
Chow
44e842cd9c Add constant expression with mod
Purpose:
glsl spec allows to define array with the length of the result of  constant expression, the arithmetic operation of "mod(float (7.1), float (4.0))" should be generate the array length at the shader compile time,

but glslang didn't support mod operation for the constant expression in previous implementation;

An example is as following:

###########
#version 460
flat out highp int vtx_out_out0;
void main (void)
{
     float array[int(mod(float (7.1), float (4.0)))];
     vtx_out_out0 =  array.length();
}
###########
2019-12-23 11:29:52 +08:00
John Kessenich
bd97b6f9f2 Command-line: Give better error messages. From #1829. 2019-12-20 10:33:13 -07:00
Roy.li
4200c91666
Merge pull request #7 from KhronosGroup/master
Sync code from glslang base repo
2019-12-18 15:21:32 +08:00
John Kessenich
ebf634bcaa
Merge pull request #2023 from greg-lunarg/kg109
Update spriv-tools known good
2019-12-12 22:28:57 -07:00
Greg Fischer
85122e7051 Update spriv-tools known good 2019-12-12 11:15:42 -07:00
John Kessenich
6c479796f6
Merge pull request #2021 from KhronosGroup/fix-2020-inconsistent-HLSL
Fix #2020: PR #1977 broke HLSL member consistency, this fixes it.
2019-12-10 00:36:41 -07:00
John Kessenich
1843c0c415 Fix #2020: PR #1977 broke HLSL member consistency, this finishes it...
using an unitialized member.  This commit consistently does not use those
HLSL members unless ENABLE_HLSL is on.
2019-12-09 23:48:50 -07:00
John Kessenich
1afa2b8cc5
Merge pull request #2019 from KhronosGroup/fix-2014-dont-and-versions-extensions
Fix: #2014: Don't do "extension-on && version >= ..." keyword checks.
2019-12-09 10:18:17 -07:00
John Kessenich
ff61c18f1b
Merge pull request #2018 from KhronosGroup/fix-2007-rationalize-include-paths
Fix #2007: Fix a couple relative header paths in header files.
2019-12-09 08:10:38 -07:00
John Kessenich
71b0100ae9 Fix: #2014: Don't do "extension-on && version >= ..." keyword checks.
Keywords should only have tests like "extension-on || version >= ...", or
"extension-off && version <= ...".
2019-12-09 04:34:09 -07:00
John Kessenich
b5d9dee710 Fix #2007: Fix a couple relative header paths in header files. 2019-12-09 03:12:10 -07:00
John Kessenich
d519167d2e Fix #1993: Fully exclude ftransform() from SPIR-V semantics. 2019-12-09 01:35:14 -07:00
John Kessenich
0de87ee9a5
Merge pull request #2010 from rnk/pool-alloc-clang
Remove glslang::pool_allocator::setAllocator
2019-12-04 19:24:16 -07:00
Reid Kleckner
24b3e8384e Remove glslang::pool_allocator::setAllocator
TPoolAllocator is not copy assignable, so this setter could never have
been used. After a recent change (878a24ee2), new versions of Clang
reject this code outright.
2019-12-04 14:09:03 -08:00
John Kessenich
e58c080d4f
Merge pull request #1990 from ianromanick/INTEL_shader_integer_functions2
Implement INTEL_shader_integer_functions2
2019-12-03 20:07:08 -07:00
Ian Romanick
b3bd402c7c INTEL_shader_integer_functions2: Add SPIR-V generation
v2: Move addCapability and addExtension extension calls from
TGlslangToSpvTraverser::createBinaryOperation to
TGlslangToSpvTraverser::visitAggregate.  Suggested by JohnK.
2019-12-03 11:06:41 -08:00
Ian Romanick
fbcdcac254 INTEL_shader_integer_functions2: Add compiler front-end support
The changes to glslang/glslang/MachineIndependent/ParseHelper.cpp exist
purely to prevent even more instances of "warning: enumeration value
‘EOp...’ not handled in switch"

v2: Remove 8-bit types.  Overzealous copy-and-paste led to adding
support for a bunch of types that the extension doesn't actually enable.

v3: Update expected test results file.  Just changing an expected
results file to make a test pass seems sketchy to me, but I'm not sure
what else to do.

v4: Add missing entry for EOpAbsDifference in
TOutputTraverser::visitBinary.  Noticed by JohnK.
2019-12-03 11:06:34 -08:00
Ian Romanick
e0da415dff INTEL_shader_integer_functions2: Add basic extension tracking 2019-12-03 10:54:22 -08:00
John Kessenich
a4af7676fe
Merge pull request #2004 from ianromanick/document-other-test-requirements
Update README.md to include other test requirements
2019-12-02 22:58:21 -07:00
Ian Romanick
9216e8cf16 Update README.md to include other test requirements
Knowing this in advance would have saved me some time.
2019-12-02 10:53:46 -08:00
John Kessenich
83af469512
Merge pull request #2001 from mbechard/master
Fix #1981
2019-11-30 19:35:13 -07:00
Malcolm Bechard
dd9e570db6 Fix #1981
Copy over incoming units localSize if it's set, and this->localSize is not set
Also fix overwritting localSizeSpecId if it's already been set.
2019-11-27 23:37:16 -05:00
John Kessenich
38b4db48f9 Fix #1983: __ is okay starting with ES 300, rather than 310. 2019-11-23 01:29:02 -07:00
John Kessenich
86258aab80
Merge pull request #1972 from andflo-Arm/master
Fix construction issue for 8 and 16 bit types.
2019-11-22 21:38:36 -07:00
John Kessenich
8b5853d4f9 Fix #1987: Use large enough built-in buffer to hold vec4 of maxint-64. 2019-11-22 11:11:03 -07:00
John Kessenich
e01c847a70 Merge branch 'dj2-install' 2019-11-22 06:24:38 -07:00
John Kessenich
43fe7bafb1
Merge pull request #1980 from mattst88/respect-CMAKE_INSTALL_LIBDIR
Respect CMAKE_INSTALL_LIBDIR in installed CMake files
2019-11-22 01:38:38 -07:00
Dan Sinclair
04567eb232 Check for ENABLE_SPVREMAPPER flag in CMakeList files.
There is a flag to disable the SPVRemapper during the GLSLang build.
That flag is check in some, but not all spots so if you try to build
with SPVRemapper disabled you get CMake errors and compile errors.

This CL fixs up the build so building with -DENABLE_SPVREMAPPER=0 will
complete correclty.
2019-11-21 10:33:32 -05:00
Arfrever Frehtes Taifersar Arahesis
bd69a4fb12 Respect CMAKE_INSTALL_LIBDIR in installed CMake files
Fixes #1965
2019-11-18 11:11:55 -08:00
John Kessenich
f4d4668529
Merge pull request #1977 from KhronosGroup/no-hlsl-structs
HLSL: Fix #1976: Don't let ENABLE_HLSL change struct/class layout.
2019-11-15 07:22:44 -07:00
John Kessenich
3c0d2e5b67 HLSL: Fix #1976: Don't let ENABLE_HLSL change struct/class layout. 2019-11-15 05:01:27 -07:00
Andreas Flöjt
cb563e68d2 Add a test for 8- and 16-bit construction. 2019-11-14 14:41:52 +01:00
John Kessenich
37dcb89457
Merge pull request #1973 from KhronosGroup/fix-fmod-int
HLSL: Fix #1960: fmod() was not converting int args to float.
2019-11-12 06:00:51 -07:00
John Kessenich
e7cb9cb9c4 HLSL: Fix #1960: fmod() was not converting int args to float. 2019-11-12 05:32:51 -07:00
Andreas Flöjt
1b93de4f1d Fix construction issue for 8 and 16 bit types.
The problem is that constructing a float16_t, int8_t, uint8_t, int16_t,
or uint16_t with a non 32-bit argument generates an aggregate with the
wrong construction op. For int8_t and uint8_t, this resulted in a crash.
2019-11-11 11:30:22 +01:00
John Kessenich
f34cdc70ca
Merge pull request #1968 from dneto0/reclaim-web-codespace
SPIR-V postprocessing: WEB case only needs CFG mods
2019-11-07 20:31:16 -07:00