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
John Kessenich
da581a2b95
GL_ARB_shader_draw_parameters: From @amdrexu, implement extension.
2015-10-14 14:10:30 -06:00
John Kessenich
c8b2e36f52
Implement GL_KHR_blend_equation_advanced.
2015-08-30 05:43:51 -06:00
John Kessenich
0fc4338f3e
Implement GL_OES_shader_multisample_interpolation, as well as core desktop versions of it.
2015-08-22 13:11:12 -06:00
John Kessenich
fb5ba510ca
Implement GL_OES_shader_image_atomic.
2015-08-16 23:40:15 -06:00
John Kessenich
556ab3ac96
Implement GL_OES_sample_variables.
2015-08-16 21:55:59 -06:00
John Kessenich
a39159a192
Implement GL_OES_texture_storage_multisample_2d_array.
2015-08-16 21:10:38 -06:00
John Kessenich
dc9eff7221
Implement GL_OES_texture_cube_map_array.
2015-08-16 14:21:20 -06:00
John Kessenich
302b46aebc
Implement GL_OES_texture_buffer.
2015-08-16 13:11:01 -06:00
John Kessenich
30314590ff
Implement GL_OES_primitive_bounding_box.
2015-08-16 12:09:15 -06:00
Lei Zhang
484bb12703
Create a new ppRequireExtensions method for preprocessor.
...
Now extensions required by preprocessor should be checked via
the ppRequireExtensions method. This is more clear and coherent
with the rest of the code.
2015-08-05 11:56:14 -04:00
Lei Zhang
9c1280b225
Use extension framework to enable #include directive.
...
This patch introduces a new extension, GL_GOOGLE_include_directive,
to enable support #include directives. It depends on the extension
GL_GOOGLE_cpp_style_line_directive.
2015-07-31 19:41:19 -04:00
John Kessenich
b9e5424792
Non-functional: Slight change to the Google #include implementation to separate it from AEP.
2015-07-28 19:01:16 -06:00