John Kessenich
c008fcb8cc
Merge pull request #2089 from Roy-AMD/Fix-iomapper-issue
...
Fix iomapper issue
2020-02-19 03:51:38 -07:00
Roy.li
615ae25891
Fix iomapper issue
...
Use type name to index map to instead of use instance name to index map, or anonymous block will cause a map issue.
2020-02-19 16:38:02 +08:00
John Kessenich
abfc4c2ceb
Fix part of #2070 : Correctly handle promotion for <unary-op>(int).
...
This still only handles a scalar correctly, and some
vector cases need additional fixes.
2020-02-18 06:53:39 -07:00
John Kessenich
ae59435606
Merge pull request #2081 from kainino0x/split-emscripten-from-glslang.js
...
CMake: Split "is emscripten" config from "enable glslang.js"
2020-02-07 06:10:29 -07:00
Kai Ninomiya
5166bc1859
Split "is emscripten" config from "enable glslang.js"
...
This should enable glslang to be used as a dependency of other projects
that target WebAssembly, instead of assuming "EMSCRIPTEN" => "Want
glslang.js".
2020-02-06 14:06:20 -08:00
David Neto
4bb910cb74
Avoid enum-compare warning
2020-02-06 05:43:43 -05:00
John Kessenich
2d70e98dea
Merge pull request #2028 from ShchchowAMD/constant_expressions_array_mod
...
GLSL: Support constant folding for mod
2020-02-06 02:56:37 -07:00
Rex Xu
b4bab3ce01
Fix a parser error of GL_KHR_memory_scope_semantics
...
When 2DMS or 2DMSArray is used, IMAGE_PARAMS will take an additional
paramter to represent sample number. The semantics check should get the
correct semantics values, taking this case into account.
2020-02-06 16:51:10 +08:00
John Kessenich
b82ed734e7
Merge pull request #2077 from kainino0x/configurable-target-pr
...
glslang.js: Make the SPIR-V target version configurable (1.0 ~ 1.5) and default to 1.0
2020-02-05 02:02:51 -07:00
Kai Ninomiya
53235dcb06
glslang.js: Make the SPIR-V target version configurable (1.0 ~ 1.5)
2020-02-04 10:33:38 -08:00
Timo Suoranta
322ab8f376
Fix memory corruption in TGlslIoMapper
2020-02-02 11:31:49 +02:00
Ryan Harrison
8b60570129
Use correct enum type in case statement
...
Two similarly named enums led to the wrong one being used here, this
is getting caught in the Chromium and Dawn DEPS rolls.
2020-01-27 14:31:45 -05:00
John Kessenich
19ec0d2ff9
Build: Fix more build warnings caused by PR #2038 .
...
Revisit fix for #2062 for consistency with this commit.
2020-01-27 10:16:25 -07:00
John Kessenich
d5f2f7b93d
Merge pull request #1940 from tsuoranta/fix-gcc9
...
Fix for GCC 9 / Werror=deprecated-copy
2020-01-27 01:02:08 -07:00
John Kessenich
248d2c5f7c
Merge pull request #2035 from ShchchowAMD/builtin_max_limits
...
Add Tess machine dependent built-in variables initialization for GLES…
2020-01-26 22:38:13 -07:00
John Kessenich
83973079f8
Build warning: Fix #2062 , missing enum value in a switch.
2020-01-26 21:37:38 -07:00
John Kessenich
965bd4d966
Merge pull request #2038 from corporateshark/c_interface
...
Implemented C-language interface for glslang
2020-01-24 04:10:09 -07:00
John Kessenich
9e9099cdf8
Merge pull request #2033 from ShchchowAMD/binding_contradictory
...
Add Error check flag in io mapper
2020-01-16 00:23:03 -07:00
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
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
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
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
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
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
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
Sergey Kosarevsky
b80a63a0ba
CInterface: replaced SH_ prefix with GLSLANG_
2019-12-26 21:17:37 +03: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
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
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