Sahil Parmar
035cbbe3d0
Allow redeclaration of builtin interface blocks in mesh shader
...
Apart from allowing redeclaration of gl_MeshPerVertexNV and gl_MeshPerPrimitiveNV blocks, this change also -
- Resize clip/cull perview distances based on static index use
- Error out use of both single-view and per-view builtins
- Add new gtests with redeclared blocks and edit existing test output
- Fix couple of typos
2018-10-04 16:39:18 -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
Alex Smith
e47bfaedf6
Add support for GL_EXT_samplerless_texture_functions
2018-07-01 10:58:53 +01:00
John Kessenich
2a805d9cea
Revert "GLSL: Fix #1279 : refract does not have a double-type eta."
...
This reverts commit ebec909487b8c44a8c28b40c9899857593cc9bb5.
Khronos decided glslang was originally correct, and the specifications
are incorrect.
2018-06-19 09:43:09 -06:00
John Kessenich
ebec909487
GLSL: Fix #1279 : refract does not have a double-type eta.
2018-05-17 10:43:21 -06:00
John Kessenich
9cf275bb9e
Build: Add missing break statements. Fixes #1052 .
2018-04-26 14:12:29 -06:00
Jeff Bolz
2abe9a4d34
Implement GL_NV_shader_subgroup_partitioned
2018-03-29 22:52:17 -05:00
Rex Xu
ae06d1fe94
Add int16 support to AMD_trinary_minmax and AMD_shader_ballot
2018-03-28 16:33:01 +08:00
John Kessenich
859b0342b8
Types: Fix #1290 : Rationalize and correct "mixed" style array dimensioning.
...
There a couple functional problems, which when reduced down also led to
some good simplifications and rationalization. So, this commit:
- corrects "mixed" functionality: int[A] f[B] -> f[B][A]
- correct multi-identifier decls: int[A] f[B], g[C] -> f and g are independently sized.
- increases symmetry between different places in the code that do this
- makes fewer ways to do the same thing; several methods are just gone now
- makes more clear when something is copied or shared
2018-03-26 00:38:53 -06: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
davidhubbard
f5ddcfc528
TBuiltIns::identifyBuiltIns: EShLangFragment fallthrough
...
EShLangFragment falls through to EShLangCompute, only #ifndef AMD_EXTENSIONS.
This is probably a bug.
2018-02-28 11:29:04 -06: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
2edde6665d
SPV: Don't support noise*() when generating SPV.
2017-11-03 03:39:48 -06:00
John Kessenich
715c353a15
Non-functional: copyright update, to help with non-determinism test.
2017-10-28 14:42:44 -06: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
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
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
2a305f6531
Fix issues of GL_ARB_viewport_layer_array
2017-09-01 06:54:19 +08:00
Rex Xu
129799a709
Implement extension GL_AMD_shader_image_load_store_lod
2017-08-24 06:56:39 +08:00
John Kessenich
934d11b6db
GLSL 4.6: Implement shader group vote.
2017-07-31 03:00:04 -06:00
John Kessenich
941f3bbd7a
GLSL 4.6: Implement draw parameters.
2017-07-31 03:00:04 -06:00
John Kessenich
0d0c6d38f0
GLSL 4.6: Implement atomic counter ops and SPV_KHR_shader_atomic_counter_ops.
2017-07-31 03:00:04 -06:00
John Kessenich
53863a3a90
GLSL: Implement version 320 for ES.
2017-07-23 13:54:15 -06: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
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
Rex Xu
225e0fcadd
Implement the extension GL_AMD_texture_gather_bias_lod
2017-06-05 16:41:06 +08:00
John Kessenich
2c6f48b1f6
Fix #373 : Implicitly make gl_FragColor a location=0 output.
2017-05-20 13:23:25 -06:00
John Kessenich
12d693682f
Build fix: Make string assignment simpler to avoid some compiler issues.
...
Included changing related parameters to const.
Should fix complaints with previous commit. See issue #879 .
2017-05-09 23:30:56 -06:00
John Kessenich
1ee1c8e1ed
Build: Fix portability in previous commit.
2017-05-08 00:47:48 -06:00
John Kessenich
c10191d132
SPV: Support texelFetch() on a textureBuffer (no sampler).
...
Fixes Vulkan Khronos-internal issue 770.
2017-05-08 00:12:28 -06:00
John Kessenich
0e7378446b
Fix #790 : Don't emit NV-specific interface members unless enabled by extension.
2017-03-24 18:40:40 -06: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
601b7fa4b9
Revert previous check-in, until knowing what the spec. is and whether the test failure is related.
2017-03-13 22:49:36 -06:00
John Kessenich
7a44a31dee
SPV: Address #759 : make ViewIndex and DeviceIndex by 'in', not 'uniform'.
2017-03-13 15:43:26 -06: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