John Kessenich
7015bd658e
Web: Remove/rationalize a set of *_EXTENSIONS, using GLSLANG_WEB.
...
Focus was on the front end (not SPIR-V), minus the grammar.
Reduces #ifdef count by around 320 and makes the web build 270K smaller,
which is about 90% the target size.
The grammar and scanner will be another step, as will the SPIR-V backend.
This makes heavy use of methods #ifdef'd to return false as a global way
of turning off code, relying on C++ DCE to do the rest.
2019-08-20 23:21:55 -06:00
amhagan
91fb0091a2
Add support for SPV_KHR_shader_clock
2019-07-10 21:34:12 -04:00
Jeff Bolz
ba6170b534
Implement GL_EXT_demote_to_helper_invocation
2019-07-01 09:36:15 -05:00
Daniel Koch
2cb2f197a7
Add support for GL_NV_shader_sm_builtins
...
Including spirv and AST tests
Also increase size of TBuiltInVariable bitfields since we've now exceeded 127
and add a static_assert to make this easier to find next time it happens!
2019-06-08 08:53:11 -04:00
Jeff Bolz
c6f0ce8dbc
Support GL_ARB_fragment_shader_interlock
2019-06-03 11:55:25 -05:00
Jeff Bolz
758c93364c
Add support for GL_EXT_buffer_reference2
2019-05-01 16:13:26 -05:00
Jeff Bolz
4605e2ed2b
Implement GL_NV_cooperative_matrix
2019-02-25 23:42:59 -06:00
John Kessenich
567396b6b4
Whitespace: Fix some tabs->spaces, mostly to retriggered failed bots.
2019-02-11 03:43:12 -07:00
nicebyte
c28369b75f
Add support for GL_EXT_YUV_target
2019-01-29 13:17:47 -08:00
Jeff Bolz
9f2aec49e9
GL_EXT_buffer_reference
2019-01-07 12:36:13 -06:00
John Kessenich
b23d232ec5
Licensing. Fixes #958 . Add licenes file and update copyrights.
2018-12-14 10:47:35 -07:00
Alexander Galazin
32def9f467
Rename GL_KHX_shader_explicit_arithmetic_types to GL_EXT_shader_explicit_arithmetic_types
2018-12-03 13:16:59 +01:00
Daniel Koch
5154db5183
Implement GL_EXT_fragment_invocation_density
...
including SPV generation using SPV_EXT_fragment_invocation_density.
This is an alias of the functionality in SPV_NV_shading_rate, and thus in some
cases we can only have one set of the tokens present (switch statements), so
we have picked the EXT version. This required updating the expected test
results for SPV_NV_shading_rate.
Also updated the known-good for spirv-headers so that the validator in
spirv-tools knows about the new extension.
2018-11-26 10:01:58 -05:00
Jeff Bolz
7da39ed968
Implement GL_EXT_scalar_block_layout
2018-11-14 09:30:53 -06:00
Ashwin Lele
ff1783db87
Multiple features and misc fixes for final raytracing non experimental version.
2018-10-31 07:55:24 -07:00
Sahil Parmar
38772c0434
Allow GL_NV_mesh_shader in fragment shaders for perprimitiveNV
...
- Emit relevant capability/extension for use of perprimitiveNV in fragment shader
- Remove redundant checks for mesh shader qualifiers in glslang.y
- Add profile version check for use of extension GL_NV_mesh_shader
- Add a new gtest for use of perprimitiveNV in fragment shader
2018-10-25 23:50:59 -07:00
Sahil Parmar
80b9872cb4
Based on feedback rename checkShaderStageForNVExtensions to checkExtensionStage
...
Also continue error checking post requireStage() check
2018-09-27 11:08:13 -07:00
Sahil Parmar
251344f692
Call checkShaderStageForNVExtensions() from function updateExtensionBehavior()
2018-09-26 16:12:51 -07:00
Sahil Parmar
3ae0f58322
changes based on feedback
2018-09-26 13:38:25 -07:00
Sahil Parmar
95e2d4ec02
Add ES 320 support and additional error checks for SPV_NV_mesh_shader
...
- Add ES 320 support
- Error out use of perprimitiveNV for non mesh/fragment shaders
- Error out use of mesh/task shaders w/o use of NV_mesh_shader
- Error out use of NV_mesh_shader for non task/mesh shaders
- Error out use of perviewNV for non mesh shaders
- Error out use of taskNV for non mesh/task shaders
- Add test case for mesh shader with ES 320 profile
2018-09-25 13:45:32 -07:00
Chao Chen
5b2203db04
Add-support-for-SPV_NV_shading_rate
2018-09-19 13:07:43 -07:00
Chao Chen
b50c02ef53
Add-support-for-SPV_NVX_raytracing
2018-09-19 13:07:43 -07:00
Chao Chen
3c3669904c
Add-support-for-SPV_NV_mesh_shader
2018-09-19 13:07:43 -07:00
Chao Chen
3a1379667d
0003-Add-support-for-SPV_NV_shader_image_footprint
2018-09-19 13:07:42 -07:00
Chao Chen
beae2251b7
Add-support-for-SPV_NV_compute_shader_derivatives
2018-09-19 13:07:42 -07:00
Chao Chen
9eada4b971
Add-support-for-SPV_NV_fragment_shader_barycentric
2018-09-19 13:07:42 -07:00
Norbert Garnys
dad0c1bed0
Add GL_EXT_shader_atomic_int64
2018-09-13 15:34:26 +02:00
Jeff Bolz
36831c9bad
GL_KHR_memory_scope_semantics
2018-09-06 20:36:14 -05:00
otakuto
d03da06ac1
Remove execute permissions
2018-08-07 03:16:20 +09:00
John Kessenich
e7f9caeac4
Errors and Build: Fix build warnings, which also improved error messages.
2018-07-12 15:11:07 -06:00
John Kessenich
312dcfb070
Implement GL_EXT_shader_16bit_storage and GL_EXT_shader_8bit_storage extensions.
...
These introduce limited support for 8/16-bit types such that they can only be accessed in buffer memory and converted to/from 32-bit types.
Contributed from Khronos-internal work.
2018-07-03 13:51:31 -06:00
Alex Smith
e47bfaedf6
Add support for GL_EXT_samplerless_texture_functions
2018-07-01 10:58:53 +01:00
John Kessenich
461ea09943
Non-functional: Fix tabs.
2018-04-11 00:03:47 -06:00
John Kessenich
5611c6d27b
GLSL/SPV: Implement SPV_EXT_descriptor_indexing and GL_EXT_nonuniform_qualifier
2018-04-05 11:25:02 -06:00
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