2242 Commits

Author SHA1 Message Date
John Kessenich
4b420b4ffc Bump version (also fix line endings the grammar). 2020-03-18 08:35:40 -06:00
Daniel Koch
db32b243ff Add support for GLSL_EXT_ray_tracing
and SPV_KHR_ray_tracing
2020-03-17 20:42:47 -04:00
Jeff Bolz
40007b862d Forbid memoryBarrierAtomicCounter for Vulkan compiles 2020-03-16 23:53:04 -05:00
Malcolm Bechard
4b2483ee88
Fix #2005. Allow multiple compilation units to declare identical push_constant blocks (#2123)
* Fixes #2005

Allow multiple units in a stage to have push_constants as long
as the blocks match.
Requires #2006 to be fixed to be functional.

* tweaks to #2005 fix after some testing

* add unit tests for push constants across multiple compilation units

For #2005

* update reference output for tests that fail validation

* fix uninitialized result.validationResult
2020-03-16 08:51:15 -06:00
Chow
9b620aa0c1
Add flag to check whether offset is implicit or explicit (#2031)
When we use unsized array in shader storage buffer, glslang calculate the offset during delcaring the block, it may lead to incorrect block offsets when its implicit array size changed.

So here is what we do:
1. For GLSL, we add flag explicitOffset in TQualifier, and set it when layout offset is specified explicitly
2. By using this flag we could tell difference as whether it is an explicit offset, and recalculate the block member offset conditionally in OpenGL.
2020-03-11 03:59:25 -06:00
Jeff Bolz
ad3f10bbd0 EXT_debug_printf - make escape sequences better match C/C++ 2020-03-10 10:23:07 -05:00
John Kessenich
dbb56a1d48
Merge pull request #2105 from jeffbolznv/nonunif
Allow nonuniformEXT() on sampler types
2020-03-10 03:50:27 -06:00
Jeff Bolz
13444545a9 disable escape sequences for #line and #error 2020-03-09 21:09:18 -05:00
Jeff Bolz
39ffdaf2ab Allow nonuniformEXT() on sampler types.
Also add missing NonUniformEXT decoration on OpImageTexelPointer.
2020-03-09 10:48:12 -05:00
John Kessenich
f333272eb5
Merge pull request #2103 from kainino0x/web-cmake-typo
Fix typo in Web CMakeLists
2020-03-09 02:03:02 -06:00
John Kessenich
6861ea4e10
Merge pull request #2101 from travisfoo/master
add c wrapper for standalone ResourceLimits and remove that dependency from glslang_c_interface
2020-03-09 01:53:41 -06:00
Kai Ninomiya
851f3daad0 Fix typo in Web CMakeLists 2020-03-06 19:13:16 -08:00
Travis Fort
fd37e0c0f1 add c wrapper for standalone ResourceLimits and remove that dependency from glslang_c_interface 2020-03-06 10:06:47 -05:00
John Kessenich
aa95c80e1a
Merge pull request #2100 from travisfoo/master
Fix for #2099: add c interface support for TBuiltInResource and glslang::DefaultTBuiltInResource
2020-03-06 00:14:41 -07:00
Travis Fort
48556b8471 add stdbool.h to properly support bool type 2020-03-05 20:49:49 -05:00
Travis Fort
bdcfc48466 add c interface support for TBuiltInResource and glslang::DefaultTBuiltInResource 2020-03-05 16:05:07 -05:00
Jeff Bolz
04d73731de GL_EXT_debug_printf implementation 2020-03-05 13:41:34 -06:00
John Kessenich
56364b6b60 Copyright update, mostly to trigger bots again. 2020-03-01 04:51:40 -07:00
John Kessenich
c480237be2 Fix #2095: correct the indentation.
This also made it obvious some code was (functionally correctly)
repeated, so deleted that too.
2020-03-01 02:16:51 -07:00
John Kessenich
82da15f4f0 Fix #2091, remove incorrect assert for division by 0.0. 2020-02-28 04:10:13 -07:00
Sergey Kosarevsky
a7ff36e6bd Fix for #2075: removed DefaultTBuiltInResource from glslang_c_interface.cpp 2020-02-28 02:18:37 +03:00
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