Jeff Bolz
2abe9a4d34
Implement GL_NV_shader_subgroup_partitioned
2018-03-29 22:52:17 -05:00
Ben Clayton
017a567be1
Add support for GL_NV_shader_noperspective_interpolation
2018-03-13 15:55:18 +00:00
John Kessenich
66011cb2c2
SPV: Implement Vulkan 1.1 features and extensions.
2018-03-06 16:12:04 -07:00
John Kessenich
b5b5f918c6
Non-functional: Make the vulkan version number meaning be only 0 or not 0.
2018-03-02 18:17:42 -07:00
Rex Xu
1e5d7b0b27
Implement the extension GL_AMD_gpu_shader_half_float_fetch
...
- Support new opaque types: f16sampler*, f16image*, f16subpassInput*.
- Add new built-in GLSL texture/image functions.
2018-03-02 16:48:03 +08:00
John Kessenich
a2858d9bdd
GLSL: Implement GL_EXT_control_flow_attributes.
...
See https://github.com/KhronosGroup/GLSL/pull/11 .
2018-02-01 00:55:08 -07:00
John Kessenich
adc33b23cc
Non-functional: Fix HLSL error message, and code formatting.
2018-01-08 11:47:08 -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
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
amhagan
05506bb874
Implement the extension GL_AMD_shader_fragment_mask
2017-09-09 22:05:24 +08:00
David Srbecký
2c5b3d64af
Add support for GL_OES_EGL_image_external_essl3
2017-09-05 14:56:26 +01:00
Rex Xu
129799a709
Implement extension GL_AMD_shader_image_load_store_lod
2017-08-24 06:56:39 +08:00
John Kessenich
786e8795ee
Build: Fix build when NV_EXTENSIONS is not enabled.
2017-08-19 15:54:49 -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 Srbecký
0fbe02c6a0
Implement extensions GL_OVR_multiview and GL_OVR_multiview2
...
They are almost identical to the already supported GL_EXT_multiview
2017-06-30 19:11:56 +01:00
Rex Xu
37cdceed41
Implement extension GL_ARB_shader_stencil_export
2017-06-29 17:50:46 +08:00
John Kessenich
102328b75f
Merge pull request #950 from dsrbecky/shadow_samplers
...
Add support for GL_EXT_shadow_samplers
2017-06-26 15:50:18 -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
David Srbecky
c6ac40a1a7
Add support for GL_EXT_shadow_samplers
2017-06-26 17:43:32 +01: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
e00e8f45a6
GLSL: replace general missing functionality with specific messages.
2017-06-05 16:42:33 -06:00
Rex Xu
225e0fcadd
Implement the extension GL_AMD_texture_gather_bias_lod
2017-06-05 16:41:06 +08:00
John Kessenich
c08fb8ab9c
Full stack: properly implement GL_EXT_device_group and GL_EXT_multiview.
2017-03-14 16:45:30 -06:00
John Kessenich
78cfba97e1
Fix location of #defines for core and compatibility profile.
...
These were recently added for all profiles, versus just desktop.
2017-03-14 15:19:32 -06:00
Lukas Hermanns
1fbc6e6ca1
Added 'GL_core_profile' and 'GL_compatibility_profile' macro definition to preamble.
...
Added version check (version >= 150) for GL_(core/compatibility)_profile macros.
Added GL_core_profile standard macro check to "150.vert" test file.
Fixed version check for GL_core_profile macros, and removed bad token character from 150.vert test.
Updated 150.vert.out test base-result with google-test suite.
2017-03-11 12:34:46 +01:00
Daniel Koch
efc972799d
Rename KHX to EXT to match the released specs
...
GL_KHX_multiview and GL_KHX_device_group don't exist,
they were released as GL_EXT_multiview and GL_EXT_device_group.
2017-03-03 18:40:48 -05:00
John Kessenich
b67b4a7072
PP: Address #737 : accept 'h'/'H' floating-point suffix more broadly.
2017-02-28 12:58:11 -07:00
John Kessenich
6c8aaacd28
SPV: Implement new extensions GL_KHX_device_group and GL_KHX_multiview.
...
These correspond to SPV_KHR_device_group and SPV_KHR_multiview.
Also, bring tests up to date with Khronos internals, and some misc. related changes.
2017-02-27 01:20:51 -07:00
Jason Ekstrand
f44d89a398
Implement GL_EXT_shader_image_load_formatted
2017-02-17 13:36:25 -08:00
chaoc
df3956c50f
Implement NVX_multiview_per_view_attributes
2017-02-14 15:04:33 -08:00
chaoc
771d89fc36
support SPV_NV_viewport_array2 and SPV_NV_stereo_view_rendering
2017-01-20 16:48:26 -08:00
John Kessenich
927608b393
Non-functional: White space after "//", mostly for copyrights.
2017-01-06 12:34:14 -07:00
John Kessenich
ecba76fe73
Non-Functional: Whitespace, comments, replace accidentally deleted comment.
...
- fixed ParseHelper.cpp newlines (crlf -> lf)
- removed trailing white space in most source files
- fix some spelling issues
- extra blank lines
- tabs to spaces
- replace #include comment about no location
2017-01-06 11:24:14 -07:00
chaoc
6e5acae144
Add support for SPV_NV_geometry_shader_passthrough
2016-12-20 13:28:52 -08:00
chaoc
0ad6a4e60d
Add support for SPV_NV_sample_mask_override_coverage
2016-12-19 16:29:34 -08:00
Rex Xu
c9e3c3c941
Parser: Implement extension GL_AMD_gpu_shader_half_float.
...
- Add built-in types: float16_t, f16vec, f16mat.
- Add support of half float constant: hf, HF.
- Extend built-in floating-point operators: +, -, *, /, ++, --, +=, -=,
*=, /=, ==, !=, >=, <=, >, <.
- Add support of type conversions: float16_t -> XXX, XXX -> float16_t.
- Add new built-in functions.
2016-09-30 16:13:06 +08:00
Rex Xu
9d93a2370d
Implement 4 AMD-specific extensions.
...
- Support GL_AMD_shader_ballot (SPV_AMD_shader_ballot).
- Support GL_AMD_shader_trinary_minmax (SPV_AMD_shader_trinary_minmax).
- Support GL_AMD_shader_explicit_vertex_parameter
(SPV_AMD_shader_explicit_vertex_parameter).
- Support GL_AMD_gcn_shader (SPV_AMD_gcn_shader).
2016-07-20 16:18:05 +08:00
John Kessenich
91e4aa5900
SPV: Further refine OpenGL vs. Vulkan differences for SPIR-V.
...
Includes adding test cases to verify the differences.
2016-07-07 19:27:15 -06:00
John Kessenich
21f1286f57
Front-end: Implement GL_EXT_shader_non_constant_global_initializers.
...
This lets ES shaders use non-constant initializers for non-constant globals.
2016-06-17 12:43:31 -06:00
John Kessenich
b901ade058
SPV: Non-functional: Condense SPV-related versioning, and rationalize all uses.
2016-06-16 23:31:29 -06:00
John Kessenich
d94c003fb7
Front-end: Complete GL_ARB_compute_shader implementation.
...
Core compute shaders were working, but the extension wasn't implemented.
2016-05-30 19:29:40 -06:00
John Kessenich
baa9fa5df7
Merge branch 'feature2' of https://github.com/amdrexu/glslang into amdrexu-feature2
2016-05-05 16:32:39 -06:00
Rex Xu
338b185a2b
Implement the extension GL_ARB_shader_group_vote.
2016-05-05 20:38:33 +08:00
Rex Xu
574ab04caa
Implement the extension GL_ARB_shader_ballot
...
Add new built-in variables and functions to the parser (SPIR-V tokens are missing).
2016-05-05 19:02:35 +08:00
John Kessenich
e512cd943e
Vulkan: Add the #define VULKAN 100 when compiled for Vulkan.
...
Note this requires test-based piecing together of the preamble string,
so it changed to being a std::string to make it easier to do.
This closes issue #254 .
2016-05-03 21:18:59 -06:00
Rex Xu
8ff43de891
Implement the extension GL_ARB_gpu_shader_int64
...
- Add new keyword int64_t/uint64_t/i64vec/u64vec.
- Support 64-bit integer literals (dec/hex/oct).
- Support built-in operators for 64-bit integer type.
- Add implicit and explicit type conversion for 64-bit integer type.
- Add new built-in functions defined in this extension.
2016-04-30 13:34:34 +08:00
John Kessenich
b3dc3acd59
Refactor TParseContext into 3 level inheritance.
...
Adds parseVersions.h as the base TParseVersions for versioning,
and splits the remainder between TParseContextBase (sharable across parsers)
and TParseContext (now the GLSL-specific part).
2016-03-12 19:08:55 -07:00
John Kessenich
6c292d3ba7
SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl).
2016-02-15 21:46:55 -07:00
Rex Xu
48edadfd24
Parser & SPV: Implement two extensions regarding GLSL sparse texture.
...
Implement extension "GL_ARB_sparse_texture2".
Implement extension "GL_ARB_sparse_texture_clamp".
2016-01-05 16:07:02 +08:00