Bill Hollings
35e92e6ffb
MSL: Return fragment function value even when last SPIR-V Op is discard (OpKill).
...
Add test shader for new functionality.
Add legacy test reference shader for unrelated buffer-bitcast
test, that doesn't seem to have been added previously.
2021-09-12 16:28:21 -04:00
Bill Hollings
5fb1ca4f0d
Add support for additional ops in OpSpecConstantOp.
...
MSL: Support op OpQuantizeToF16 in OpSpecConstantOp.
All: Support op OpSRem in OpSpecConstantOp.
2021-09-03 18:20:49 -04:00
Hans-Kristian Arntzen
b8f1e71907
GLSL: Emit GL_EXT_buffer_reference_uvec2 as required.
2021-09-02 13:17:13 +02:00
Hans-Kristian Arntzen
23c4480d8e
Fix switch fallthrough case in some cases.
2021-08-31 17:24:09 +02:00
Hans-Kristian Arntzen
ac11a91792
GLSL: Emit precise for fp16/fp64 types as well.
2021-07-26 22:05:55 +02:00
Hans-Kristian Arntzen
18f3cd6810
GLSL: Ensure ray query object decls are flushed if allocated in Function.
...
glslang always emits Private variables, but DXC not so much.
2021-07-20 12:04:00 +02:00
Hans-Kristian Arntzen
5b227cc57c
GLSL: Implement GL_EXT_ray_query.
2021-07-19 14:01:21 +02:00
Hans-Kristian Arntzen
1ae2b58f19
Merge pull request #1700 from pkasting/master
...
Fix -Wunreachable-code-aggressive.
2021-06-30 22:16:02 +02:00
Peter Kasting
7cdab07efe
Fix -Wunreachable-code-aggressive.
...
Bug: chromium:1066980
2021-06-30 09:17:59 -07:00
Hans-Kristian Arntzen
206ee8f171
GLSL: Support pervertexNV in NV barycentric extension.
2021-06-30 16:27:46 +02:00
Jon Leech
f2a65545b8
Finish adding SPDX tags and setup a reuse checked in Github Actions CI
2021-06-29 11:03:52 +02:00
Hans-Kristian Arntzen
d6b29ab017
HLSL: Rewrite how block IO is emitted.
...
Emit block members directly in the IO structs and sort them.
Ensures we can get some kind of stable order between stages.
To complete the story, we'll need to be able to inject unused inputs /
builtins, or eliminate unused outputs (probably easiest solution).
2021-06-28 15:04:49 +02:00
Hans-Kristian Arntzen
9338996f3b
Merge pull request #1697 from KhronosGroup/fix-1693
...
GLSL: Emit num_views for OVR_multiview2.
2021-06-28 14:26:29 +02:00
Hans-Kristian Arntzen
d75666b170
GLSL: Emit num_views for OVR_multiview2.
2021-06-28 12:56:27 +02:00
Hans-Kristian Arntzen
8216e87f02
Handle SPIR-V 1.4 selection constructs.
...
Fix bug in to_trivial_mix_op, where we made a pre-1.4 assumption that
component count of selector is equal to value component count.
2021-06-28 12:23:44 +02:00
Hans-Kristian Arntzen
2e1b5fb39e
Merge pull request #1686 from KhronosGroup/fix-1684
...
GLSL: Support control flow hints
2021-06-03 14:13:18 +02:00
Hans-Kristian Arntzen
449f68ef3b
Ensure loop control flow hints only appear above loops.
2021-06-03 12:19:10 +02:00
Hans-Kristian Arntzen
d62b3c2b92
GLSL: Implement control flow hints.
2021-06-03 12:01:49 +02:00
Hans-Kristian Arntzen
165dbff228
Handle odd type for textureGather component.
2021-06-03 11:37:45 +02:00
xndcn
02fb8f2a24
Add comment after inf/nan float number for clarifying.
2021-05-27 02:40:41 +08:00
Hans-Kristian Arntzen
26a4986009
GLSL: Implement noncoherent framebuffer fetch.
2021-05-21 14:22:57 +02:00
Hans-Kristian Arntzen
e47a30e807
Honor NoContraction qualifier.
...
We'll need to force a temporary and mark it as precise.
MSL is a little weird here, but we can piggyback on top of the invariant
float math option here to force fma() operations everywhere.
2021-05-07 12:59:47 +02:00
Przemog1
0408c592dd
Fixed 16 bit int types
2021-05-07 11:06:19 +02:00
Hans-Kristian Arntzen
532f65583e
Rewrite how non-uniform qualifiers are handled.
...
Remove all shenanigans with propagation, and only consume nonuniform
qualifiers exactly where needed (last minute).
2021-04-22 16:03:08 +02:00
Hans-Kristian Arntzen
d137abeef5
Merge pull request #1655 from KhronosGroup/fix-1640
...
GLSL: Support shading rate builtins.
2021-04-20 16:35:02 +02:00
Hans-Kristian Arntzen
8e24e0b224
Merge pull request #1654 from KhronosGroup/fix-1641
...
GLSL: Implement gl_FragFullyCoveredNV.
2021-04-20 16:34:53 +02:00
Hans-Kristian Arntzen
71eb1754e3
Merge pull request #1653 from KhronosGroup/fix-1638
...
GLSL: Support GL_EXT_shader_image_load_formatted.
2021-04-20 16:34:44 +02:00
Hans-Kristian Arntzen
c89b5a1a3f
GLSL: Support shading rate builtins.
2021-04-20 13:58:07 +02:00
Hans-Kristian Arntzen
3fd148450a
GLSL: Implement gl_FragFullyCoveredNV.
2021-04-20 13:44:52 +02:00
Hans-Kristian Arntzen
f93a8fb1fe
GLSL: Support GL_EXT_shader_image_load_formatted.
2021-04-20 13:36:51 +02:00
Hans-Kristian Arntzen
96ba044f01
HLSL: Fix automatic location assignment in block IO.
2021-04-20 13:04:26 +02:00
Hans-Kristian Arntzen
ae9ca7d73c
MSL: Fix copy of arrays to/from stage IO variables.
...
Need to take into account effective storage classes and whether or not
we target stage IO blocks since native arrays are conditionally enabled.
2021-04-19 12:10:49 +02:00
Hans-Kristian Arntzen
75ed73818c
MSL: Handle loading Clip/CullDistance in TESE.
...
Need to allow the flattened space to go through in some edge cases where
we cannot reasonably unflatten.
2021-04-19 12:10:49 +02:00
Hans-Kristian Arntzen
c9946296dd
MSL: Fix initialization of masked threadgroup variables.
2021-04-19 12:10:49 +02:00
Hans-Kristian Arntzen
436b1250da
MSL: Do not perform scalar fixups for control-point outputs.
2021-04-19 12:10:49 +02:00
Hans-Kristian Arntzen
ae7bb41ef4
MSL: Test that we can mask location writes in TESC.
2021-04-19 12:10:49 +02:00
Hans-Kristian Arntzen
ba93b6518d
MSL: Fix masking of vertex block outputs.
2021-04-19 12:10:49 +02:00
Hans-Kristian Arntzen
a393de31e6
MSL: Refactor out variable/block member masking.
2021-04-19 12:10:49 +02:00
Hans-Kristian Arntzen
394c038bfd
MSL: Do not consider effective storage for any composite.
2021-04-19 12:10:49 +02:00
Hans-Kristian Arntzen
04988b89b9
MSL: Handle effective storage for masked CP outputs.
2021-04-19 12:10:49 +02:00
Hans-Kristian Arntzen
f2b5fb3f45
MSL: Emit threadgroup storage class for masked control point outputs.
...
Shader can still rely on writes to threadgroup memory to be visible.
2021-04-19 12:10:49 +02:00
Hans-Kristian Arntzen
2a2d57df13
MSL: Sketch out API to aid LTO-style optimization.
2021-04-19 12:10:49 +02:00
Hans-Kristian Arntzen
ee31e84e30
GLSL: Handle complex load/store scenarios to gl_SampleMask.
...
Need special workarounds to handle array load/store since array size is
unsized in GLSL, and array copy is not possible.
Also, consider bitcast for scalar loads and stores.
2021-03-09 10:25:03 +01:00
Hans-Kristian Arntzen
fb1f295aaf
Merge pull request #1635 from KhronosGroup/fix-1627
...
Handle edge cases in OpCopyMemory.
2021-03-09 10:21:35 +01:00
Hans-Kristian Arntzen
4ca06c7278
Handle edge cases in OpCopyMemory.
...
Implement this by synthesizing an OpLoad/OpStore pair instead.
2021-03-08 14:15:27 +01:00
Hans-Kristian Arntzen
d6c2c1b39a
HLSL: Support logical subgroup ops.
2021-03-08 12:52:03 +01:00
Hans-Kristian Arntzen
5570043af3
GLSL: Add support for Logical subgroup ops.
...
Completely missed these ...
2021-03-08 12:06:46 +01:00
Hans-Kristian Arntzen
97796e0609
MSL: Deal with pointer-to-pointer qualifier ordering.
2021-02-26 13:37:14 +01:00
Hans-Kristian Arntzen
ea02a0c03a
Check entry point variables in is_hidden_variables.
...
Need to be careful not to emit globals we're not supposed to.
2021-01-22 13:53:22 +01:00
Hans-Kristian Arntzen
4bedad3860
Handle nonuniformEXT qualifier for acceleration structures.
2021-01-22 13:13:56 +01:00