Chow
8a914f4293
Add Error check flag in io mapper
...
GLSL could detect contradictory uniform binding, but missing error reporting, even if we could now observe error inside infosink.
Add error check when first time validate uniform binding. When doing traversal, it should be zero error.
This error check flag will be used during linking time. To quickly report errors like contradictory uniform bindings.
Add error check flags for TDefaultGlslIoResolver when catching EPrefixInternalError
2020-01-16 13:29:40 +08:00
John Kessenich
4fc7a33910
Merge pull request #2058 from KhronosGroup/vulkan-1.2
...
SPV/Vulkan: Add support for Vulkan 1.2, which defaults to SPIR-V 1.5.
2020-01-15 10:48:58 -07:00
John Kessenich
c3bb5d6914
Update to latest SPIRV-Tools, supporting Vulkan 1.2.
2020-01-15 09:35:48 -07:00
John Kessenich
273d3a5093
SPV/Vulkan: Add support for Vulkan 1.2, which defaults to SPIR-V 1.5.
2020-01-15 00:10:41 -07:00
John Kessenich
d203754bc1
Merge pull request #2046 from Roy-AMD/Fix-multiple-AST-spv-generate-crash-issue
...
Fix glslang can't link multiple AST in a single stage
2020-01-10 10:19:24 -07:00
John Kessenich
5181367062
Merge pull request #1998 from ShchchowAMD/ARB_gpu_shader_fp64
...
Add support for ARB_gpu_shader_fp64
2020-01-08 06:18:44 -07:00
Sergey Kosarevsky
77405788a2
Public: replaced tabs with spaces
2020-01-08 14:26:44 +03:00
Sergey Kosarevsky
e33f4e7bbb
CInterface: replaced tabs with spaces
2020-01-08 14:25:56 +03:00
John Kessenich
e5dbc3114c
Merge pull request #2052 from KhronosGroup/fix-processed-def-undef-1829
...
Fix #1829 : Allow "--" options for def/undef, for OpModuleProcessed.
2020-01-08 02:21:34 -07:00
John Kessenich
6f98892dd1
Fix #1829 : Add "--" command-line options for macro def/undef.
...
This allows OpModuleProcessed logging to be consistent with everything taking
"--" options.
2020-01-08 01:28:45 -07:00
Chow
ab6a58801f
Move symbol builtin check to grammar stage
...
FYI, move builtin check to type symbol check.
Avoid modifying interface doubleCheck().
2020-01-08 14:07:50 +08:00
John Kessenich
1642ca1128
Merge pull request #2048 from Roy-AMD/Add-missing-extension-defination
...
Add missing extension defination
2020-01-07 01:32:53 -07:00
Roy
3eb540fbe7
Add missing extension defination
...
This micro should been defined 1, if opengl 2.0 is required.
2020-01-07 14:55:51 +08:00
John Kessenich
1d258ac346
Merge pull request #2032 from ShchchowAMD/atomic-uint-binding
...
Modify max binding checks for atomic_uint
2020-01-06 23:49:23 -07:00
John Kessenich
40801e31ed
Merge pull request #2050 from ShchchowAMD/built_in_MaxVector
...
Add builtin constants gl_MaxFragmentUniformVectors and gl_MaxVertexUniformVectors.
2020-01-06 09:21:33 -07:00
John Kessenich
8db9eccc0b
Bump revision
2020-01-06 07:50:40 -07:00
Chow
ac6b7cf581
Add builtin constants
...
Add builtin constants:
gl_MaxFragmentUniformVectors and gl_MaxVertexUniformVectors.
They should both be available since version 410 for core.
2020-01-06 15:53:20 +08:00
Chow
a3c7a25e10
Add support for ARB_gpu_shader_fp64
...
GLSL Version : >= 150
Purpose:
Allow users to use features by enabling this extension, even in low versions.
Extension Name:
ARB_gpu_shader_fp64
Builtin-variables:
Nah
Builtin-functions:
functions overloaded for this extension, please check registry in reference.
Keywords:
Double
Features:
add support for type "double"
Reference:
https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_gpu_shader_fp64.txt
Add support for implicit conversion
1. Remove builtin double vertex (this is introduced by vertex_attrib_64bit
2. Add extension check and implicit conversion as double has been introduced
3. Add test results.
2020-01-06 11:08:20 +08:00
Roy
05a5b53208
Fix glslang can't link multiple AST in a single stage
...
Root cause:
GlslangToSpv use symbol structure's ptr as a map key, but multiple shader object can build a new AST.
In the AST the the same symbol has different ptr point to their structure, so indext map faild.
solution:
Add a new map glslangTypeToIdMap to map ptr to symbol id, and use symbol id to index memberRemapper.
2020-01-03 16:30:37 +08:00
Sergey Kosarevsky
6944b38a78
CInterface: added static asserts to compare C/C++ enums
2019-12-30 11:13:16 +03:00
Sergey Kosarevsky
0e65b31641
Added LAST_ELEMENT_MARKER for every enum used in the C interface
2019-12-30 11:11:55 +03:00
John Kessenich
6334d594f6
Merge pull request #1997 from ShchchowAMD/ARB_uniform_buffer_object
...
Add support for ARB_uniform_buffer_object
2019-12-29 21:33:41 -07:00
John Kessenich
930403e5b3
Merge branch 'master' into ARB_uniform_buffer_object
2019-12-29 21:32:41 -07:00
John Kessenich
18fb7f24b8
Merge pull request #1996 from ShchchowAMD/ARB_texture_multisample
...
Add support for ARB_texture_multisample
2019-12-29 20:19:39 -07:00
John Kessenich
c674299ddb
Merge pull request #2036 from ShchchowAMD/fix_atomic_uint_offset_check
...
atomic counter offset should align to 4 (compute shader)
2019-12-29 19:49:16 -07:00
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