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
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
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
b92ce60fc7
GLSL/SPV: Fix #1310 : don't create unnecessary integer matrices.
2018-04-07 18:49:54 -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
John Kessenich
cd23a47566
Merge pull request #1291 from ben-clayton/add-nv-nopersp
...
Add support for GL_NV_shader_noperspective_interpolation
2018-03-16 15:50:38 -06:00
Ben Clayton
f648083365
Add tests for GL_NV_shader_noperspective_interpolation
2018-03-16 16:49:29 +00:00
John Kessenich
647fccaf2f
AST: Fix shift conversions, which don't require matching types.
...
The base and shift amount need to be integers, but not of the same type.
This fixes #1296 and replaces #1297 .
2018-03-15 21:11:36 -06:00
John Kessenich
66011cb2c2
SPV: Implement Vulkan 1.1 features and extensions.
2018-03-06 16:12:04 -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
46413d5780
SPV: Fix #1258 : cache constant structs by id, not opcode.
...
Constants were generally cached by type opcode, but all structures share the
same type opcode (OpTypeStruct), so they need to be cached by type id.
2018-02-26 19:35:39 -07:00
John Kessenich
9c9c4e90df
GLSL/SPV: Fix #1196 : Require resources to have layout(binding=X).
2018-02-22 11:47:41 -07: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
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
John Kessenich
8297936dd6
SPV: Change barrier emission to conform to Khronos decisions.
...
The memory model group agreed to these definitions for how
to map GLSL barrier, memoryBarrier, etc. With HLSL following suit.
2017-12-16 00:30: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
cbdf871d7f
SPV: SampleMask does not depend on SampleRateShading.
...
Fixes #1158 .
Fixes #1159 .
2017-11-20 16:32:49 -07: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
LoopDawg
7f93d56ef2
HLSL: add subpass input types and methods
...
Add support for Subpass Input proposal of issue #1069 .
Subpass input types are given as:
layout(input_attachment_index = 1) SubpassInput<float4> subpass_f;
layout(input_attachment_index = 2) SubpassInput<int4> subpass_i;
layout(input_attachment_index = 3) SubpassInput<uint4> subpass_u;
layout(input_attachment_index = 1) SubpassInputMS<float4> subpass_ms_f;
layout(input_attachment_index = 2) SubpassInputMS<int4> subpass_ms_i;
layout(input_attachment_index = 3) SubpassInputMS<uint4> subpass_ms_u;
The input attachment may also be specified using attribute syntax:
[[vk::input_attachment_index(7)]] SubpassInput subpass_2;
The template type may be a shorter-than-vec4 vector, but currently user
structs are not supported. (An unimplemented error will be issued).
The load operations are methods on objects of the above type:
float4 result = subpass_f.SubpassLoad();
int4 result = subpass_i.SubpassLoad();
uint4 result = subpass_u.SubpassLoad();
float4 result = subpass_ms_f.SubpassLoad(samp);
int4 result = subpass_ms_i.SubpassLoad(samp);
uint4 result = subpass_ms_u.SubpassLoad(samp);
Additionally, the AST printer could not print EOpSubpass* nodes. Now it can.
Fixes #1069
2017-10-02 12:46:55 -06:00
Rex Xu
e8fe8b0de9
Implement extension GL_NV_shader_atomic_int64
2017-09-27 12:06:27 +08:00
amhagan
05506bb874
Implement the extension GL_AMD_shader_fragment_mask
2017-09-09 22:05:24 +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
961cd35b73
SPV: Fix #995 : Include memory decorations on parameters.
2017-07-18 03:07:43 -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
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
d66c5b1299
HLSL: iomapper: Fix #914 . Tolerate user aliasing of bindings.
...
Because it is valid in HLSL to alias bindings:
A) remove validation that aliasing is not done
B) make the algorithms tolerate aliasing
2017-06-01 18:16:33 -06:00
t.jung
baf570efa5
Pure Texture to Sampled Texture Transform
...
Adds a transformation step to the post processing step.
Two modes are available:
1) keep
- Keeps samplers, textures and sampled textures as is
2) transform pure texture into sampled texture and remove pure samplers
- removes all pure samplers
- transforms all pure textures into its sampled counter part
Change-Id: If54972e8052961db66c23f4b7e719d363cf6edbd
2017-05-29 18:29:45 +02: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
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
0e7378446b
Fix #790 : Don't emit NV-specific interface members unless enabled by extension.
2017-03-24 18:40:40 -06:00
John Kessenich
33f85b6e59
SPV: Allow push constant buffers to not have an instance name.
2017-03-06 08:51:35 -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
John Kessenich
4a57dced66
SPV: Handle nested opaque types as function parameters.
2017-02-24 19:22:54 -07:00
steve-lunarg
932bb5cc4e
Add reflection queries for thread local size and ssbo auto-binding
...
New command line option --shift-ssbo-binding mirrors --shift-ubo-binding, etc.
New reflection query getLocalSize(int dim) queries local size, e.g, CS threads.
2017-02-22 09:40:28 -07:00
chaoc
df3956c50f
Implement NVX_multiview_per_view_attributes
2017-02-14 15:04:33 -08:00