John Kessenich
f0e35bf0ef
GLSL: Make sampling operations have agnostic precision qualifiers for desktop.
...
Desktop defaults to highp for samplers, but this should not apply to the built-in
functions, so make it appy only to user declarations.
2017-10-19 00:32:59 -06:00
Aaron Muir Hamilton
5313613dd1
Don't try to swizzle void.
2017-10-17 09:04:38 +00:00
Rex Xu
e8fe8b0de9
Implement extension GL_NV_shader_atomic_int64
2017-09-27 12:06:27 +08:00
John Kessenich
31365afaf4
Merge pull request #1044 from dsrbecky/image_external_essl3
...
Add support for GL_OES_EGL_image_external_essl3
2017-09-15 21:10:08 -06:00
xavier
ae8af5d33e
HLSL: fix array[1] of vec4 constant declaration.
2017-09-15 15:28:38 -06:00
John Kessenich
bdbbc68e29
HLSL: Add bounds checking, shared with GLSL. Partially address #1032 .
2017-09-14 20:04:20 -06:00
John Kessenich
ba6a3c290e
GLSL: Make gl_Layer and gl_ViewportIndex always be outside blocks.
...
There was some ambiguity/contradiction in this behavior, and
Khronos decided glslang should always have these outside blocks,
rather than have stage/vendor/target variations.
2017-09-13 13:22:50 -06:00
John Kessenich
9855bdad00
GLSL: Promote HLSL entry-point renaming code to be used by GLSL as well.
...
Fixes #1045 .
2017-09-12 09:40:54 -06:00
David Srbecký
2c5b3d64af
Add support for GL_OES_EGL_image_external_essl3
2017-09-05 14:56:26 +01:00
John Kessenich
82e95a3aa5
SPV: Add auto location mapping of non-opaque non-block uniform variables.
...
Fix #1019 .
2017-08-26 15:47:25 -06:00
Rex Xu
129799a709
Implement extension GL_AMD_shader_image_load_store_lod
2017-08-24 06:56:39 +08:00
John Kessenich
53863a3a90
GLSL: Implement version 320 for ES.
2017-07-23 13:54:15 -06:00
John Kessenich
67eb497002
SPV/OpenGL: Require locations on non-opaque uniform variables.
2017-07-21 13:37:46 -06:00
Gabríel Arthúr Pétursson
b5d9c11e1a
Fix NULL pointer dereference in TParseContext::builtInOpCheck
2017-07-15 15:22:50 +00:00
John Kessenich
9645f78293
Merge pull request #965 from chaoc/spv-khr-post-depth-coverage
...
Implement SPV_KHR_post_depth_coverage
2017-07-05 14:48:19 -06:00
chaoc
c120452754
Implement SPV_KHR_post_depth_coverage
...
Added support for both extension GL_ARB_post_depth_coverage and GL_EXT_post_depth_coverage.
2017-07-05 12:27:15 -07:00
David Srbecky
5513d9d0d8
Multiview extension: Accept layout(num_views) qualifier
2017-07-03 15:51:40 +01:00
John Kessenich
89400ea73e
GLSL: validation of early_fragment_tests, others, on an object.
...
Some layout qualifiers must not be on an object and had a TBD for testing
them: early_fragment_tests, cw/ccw, points, point_mode, and
fractional_even_spacing/fractional_odd_spacing/equal_spacing.
2017-06-29 10:46:47 -06:00
John Kessenich
4be4aebdcd
Infrastructure: Non-functional: Move to rich description of environment.
...
This is for input languages, client APIs, code to generate, etc.
2017-06-26 14:49:11 -06:00
John Kessenich
82ae8c31e0
HLSL: Fix #924 : Convert between two different arrays with cast.
2017-06-13 23:13:10 -06:00
Rex Xu
cabbb788b4
Implement extension GL_AMD_gpu_shader_int16
...
- Add int16 types (int16_t, uint16_t, i16vec, u16vec).
- Add int16 support to GLSL operators.
- Add int16 type conversions (to int16, from int16).
- Add int16 built-in functions.
2017-06-09 17:11:23 +08:00
John Kessenich
3fcb42cfa6
GLSL: Fix #853 : Only outer dimension of array can be specialization constant.
2017-06-08 12:26:49 -06:00
John Kessenich
d314ecfbe3
GLSL: Correct missing "not" from error message about non writeonly images.
2017-06-08 10:36:45 -06:00
John Kessenich
c5f2ab965f
GLSL: Disallow unsized arrays of atomic_uint.
...
This tracks Khronos-private specification bug 15945.
2017-06-08 10:07:14 -06:00
John Kessenich
885443c788
Build: reset for multi-threaded test error, that reported a single missing character.
2017-06-07 19:03:11 -06:00
John Kessenich
14d65beb06
GLSL: Fix Khronos private Bugzilla 15973: local sizes can't be 0.
2017-06-07 18:53:33 -06:00
John Kessenich
9b2531ba23
Infrastructure: Move nesting counters, etc., to base class.
...
This lets all languages share the same definitions.
2017-06-06 19:53:24 -06:00
Jeremy Hayes
549764b5ec
Build: Fix linux
...
I believe this is a repeat of 12d6936.
2017-06-06 15:52:50 -06:00
Rex Xu
225e0fcadd
Implement the extension GL_AMD_texture_gather_bias_lod
2017-06-05 16:41:06 +08:00
John Kessenich
94c18a84cd
GLSL: Fix bug setting component=0 for an auto-location assignment.
...
Setting component=0 is later taken to mean the shader did so, which
is not always legal. It should instead set the component as not set
by the shader.
2017-06-04 13:17:20 -06:00
John Kessenich
8de7e7bf14
GLSL: Error when using location on an arrayed block.
...
This implements a recent change to the GLSL specification to enforce
this ill-defined situation.
2017-06-04 13:05:50 -06:00
Rex Xu
0848cc0725
Parser: Add missing codes for float16
2017-06-01 19:59:20 +08:00
John Kessenich
7c9129bcb7
SPV: Fix #904 : Correctly check for built-in block redeclations for location check.
2017-05-24 23:10:28 -06:00
John Kessenich
1d585ac8bd
SPV: Correctly enforce 'location' presence on in/out blocks.
...
Blocks have this on members, not the object.
2017-05-20 12:15:41 -06:00
John Kessenich
71facdf435
SPV: Give error on not assigning locations to I/O.
...
Also, provides an option to auto-assign locations.
Existing tests use this option, to avoid the error message,
however, it is not fully implemented yet.
2017-05-18 15:07:05 -06:00
John Kessenich
670271890d
SPV: Support test #pragma for generating the StorageBuffer storage class.
...
Longer term, this storage class should be generated based on the mode
of compilation.
2017-04-19 18:34:49 -06:00
John Kessenich
2184c2f21a
Fix #287 : pin down the io-array size before checking for out of range index.
2017-04-03 14:29:20 -06:00
John Kessenich
4dc835c369
Non-functional: Round of adding 'const', related to more efficient getFullNamespaceName().
2017-03-30 10:16:22 -06:00
John Kessenich
aa3c64c214
Fix #800 (mostly): set of Linux warnings.
2017-03-28 09:52:38 -06:00
John Kessenich
33f85b6e59
SPV: Allow push constant buffers to not have an instance name.
2017-03-06 08:51:35 -07:00
John Kessenich
5a042c0686
GLSL: Fix #741 : rationalize per-block vs. per-member offset checking.
2017-02-28 14:13:48 -07:00
Jason Ekstrand
f44d89a398
Implement GL_EXT_shader_image_load_formatted
2017-02-17 13:36:25 -08:00
John Kessenich
7225a1cb1e
Support align/offset for all versions GLSL/ESSL targeting SPIR-V.
2017-02-13 09:09:04 -07:00
John Kessenich
02467d8d94
HLSL: Wrap the entry-point; need to write 'in' args, and support 'inout' args.
...
This needs some render testing, but is destined to be part of master.
This also leads to a variety of other simplifications.
- IO are global symbols, so only need one list of linkage nodes (deferred)
- no longer need parse-context-wide 'inEntryPoint' state, entry-point is localized
- several parts of splitting/flattening are now localized
2017-02-06 22:58:32 -07:00
John Kessenich
62c3e400cf
Fix bug from PR #678 : NV_EXTENSIONS deleted implicit array sizing.
2017-01-26 22:03:57 -07:00
Henrik Rydgard
bec5fc898a
Fix build if NV_EXTENSIONS is not set
2017-01-23 16:27:08 +01:00
chaoc
771d89fc36
support SPV_NV_viewport_array2 and SPV_NV_stereo_view_rendering
2017-01-20 16:48:26 -08:00
John Kessenich
e48b8d74e2
Infrastructure: remove potential memory leaks.
2017-01-19 15:30:56 -07:00
John Kessenich
c142c88967
Front-ends: Non-functional: Rationalize vector and matrix swizzles.
...
This reduces code duplication in a few ways, and better encapsulates
vector swizzle representation.
2017-01-13 19:35:29 -07:00
John Kessenich
927608b393
Non-functional: White space after "//", mostly for copyrights.
2017-01-06 12:34:14 -07:00