John Kessenich
da0b18c3db
Error message: Improve error message (will help another party id a bug).
2018-02-01 11:09:21 -07:00
John Kessenich
eb2c0c72bf
GLSL: XFB: more support for built-in block redeclarations with XFB.
...
- correct inheritence (or not) of the right XFB buffer
- compute implicit stride (fixes #1212 )
- semantic check block-member redeclarations
- inherit stride from a member
2018-01-09 18:00:33 -07:00
LoopDawg
c074f2bc24
g++ 5.4.0 suspected defect workaround
...
Fix compilation error under g++ 5.4.0.
2017-12-20 11:21:05 -07:00
John Kessenich
e1ff231235
GLSL: Fix #1193 : no 'location' on uniform/buffer block.
2017-12-16 10:07:22 -07:00
John Kessenich
a0d60f2bea
gcc: potentially a compiler-bug work around
2017-12-16 02:58:10 -07:00
John Kessenich
edaf556778
SPV: Plumb through XFB buffer and stride information.
...
Also, only emit this XFB information where the SPIR-V spec says
it should be emitted: essentially, on objects.
This and the previous commit together fix #1185 .
2017-12-15 06:25:14 -07:00
John Kessenich
be3842f6ae
GLSL: Implement XFB for redeclared built-in blocks.
2017-12-15 04:43:59 -07:00
Piers Daniell
1c5443c693
Add implementation of SPV_EXT_fragment_fully_covered
...
This implementation uses the GLSL extension
GL_NV_conservative_raster_underestimation to generate the new SPIR-V
FullyCoveredEXT built in.
2017-12-14 07:42:23 -07:00
John Kessenich
e8d21388ed
Fix nondeterminism discussed in 258b700f59
2017-11-02 00:05:53 -06:00
John Kessenich
ac51602455
Fix #1065 : don't validate Vulkan binding numbers.
...
To handle sparse assignments, don't check maxCombinedTextureImageUnits.
2017-11-01 22:37:24 -06:00
Aaron Muir Hamilton
437911af33
GLSL: Check for implicit inner dimension in array of atomic_uint.
2017-10-23 15:31:10 +00:00
Aaron Muir Hamilton
07c0bcea92
Only try swizzles on vectors, numbers, and booleans.
2017-10-21 19:54:37 +00:00
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