Bill Hollings
a75fe07546
MSL: Fix casting in constant expressions with different sizes.
...
Previous casting in constant expressions used as_type<> between
types of different overall sizes.
Add check for overall size (width * vecsize) to ensure as_type<> will work,
otherwise use regular cast. Also beef up test of integer values to also check
vecsize, and use regular casts for those.
2021-08-12 16:19:46 -04:00
Bill Hollings
9552ca5473
MSL: Support row-major transpose when storing matrix from constant RHS matrix.
...
Remove test and exception when storing row-major matrix
from RHS that is not a SPIRExpression.
Add test shaders.
2021-08-12 09:08:35 -04:00
Hans-Kristian Arntzen
bab4e5911b
Merge pull request #1716 from KhronosGroup/terminator-access-fix
...
Handle value access in terminators.
2021-07-29 15:48:51 +02:00
Hans-Kristian Arntzen
cb613eb675
Handle value access in terminators.
...
Fixes case where value is created inside loop body and consumed by a
return outside it.
2021-07-29 15:27:52 +02:00
Hans-Kristian Arntzen
1964799fba
Merge pull request #1715 from KhronosGroup/precise-fp16-fp64
...
GLSL: Emit precise for fp16/fp64 types as well.
2021-07-26 22:45:18 +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
cd22336a38
Merge pull request #1712 from cdavis5e/msl-subgroup-ballot-simplify
...
MSL: Simplify spvSubgroupBallot().
2021-07-22 12:15:33 +02:00
Chip Davis
03ad13bae6
MSL: Simplify spvSubgroupBallot().
...
A bitcast to `uint2` will do just fine. I honestly don't know why I
didn't do it this way earlier.
2021-07-21 00:25:09 -05: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
e51630595f
Merge pull request #1711 from KhronosGroup/fix-1690
...
GLSL: Implement GL_EXT_ray_query.
2021-07-19 14:37:09 +02:00
Hans-Kristian Arntzen
5b227cc57c
GLSL: Implement GL_EXT_ray_query.
2021-07-19 14:01:21 +02:00
Hans-Kristian Arntzen
6196e3b029
MSL: Remove redundant path for SampleMask.
2021-07-15 16:34:06 +02:00
Hans-Kristian Arntzen
2fcbef398c
Merge pull request #1709 from billhollings/fix-sample-mask-in
...
MSL: Adjust gl_SampleMaskIn for sample-shading and/or fixed sample mask.
2021-07-15 16:32:35 +02:00
Hans-Kristian Arntzen
fe08bf4af4
Remove EXPERIMENTAL from JSON reflection backend.
2021-07-15 16:21:58 +02:00
Bill Hollings
ebb5098def
MSL: Adjust gl_SampleMaskIn for sample-shading and/or fixed sample mask.
...
Vulkan specifies that the Sample Mask Test occurs before fragment shading.
This means gl_SampleMaskIn should be influenced by both sample-shading and
VkPipelineMultisampleStateCreateInfo::pSampleMask.
CTS tests dEQP-VK.pipeline.multisample_shader_builtin.* bear this out.
For sample-shading, gl_SampleMaskIn should only have a single bit set,
Since Metal does not filter for this, apply a bitmask based on gl_SampleID.
For a fixed sample mask, since Metal is unaware of
VkPipelineMultisampleStateCreateInfo::pSampleMask, we need to ensure that
we apply it to both gl_SampleMaskIn and gl_SampleMask. This has the side
effect of a redundant application of pSampleMask if the shader already
includes gl_SampleMaskIn when setting gl_SampleMask, but I don't see an
easy way around this.
Also, simplify the logic for including the fixed sample mask in gl_ShaderMask,
and print the fixed sample mask as a hex value for readability of bits.
2021-07-13 21:22:13 -04:00
Hans-Kristian Arntzen
be3988b13c
Merge pull request #1706 from SpaceIm/fix/ios-bundle
...
CMake: fix cross-build to iOS/tvOS/watchOS
2021-07-13 13:23:48 +02:00
Hans-Kristian Arntzen
a70ce5192e
Merge pull request #1708 from KhronosGroup/fix-interpolant-access-chain
...
MSL: Add test for PR 1707
2021-07-13 13:23:36 +02:00
Hans-Kristian Arntzen
71b83a18f4
MSL: Add test for scalar access chain pull interpolant.
2021-07-13 12:25:18 +02:00
Hans-Kristian Arntzen
d42c0b2e08
Merge pull request #1707 from billhollings/fix-interpolant-access-chain
...
MSL: Fix setting SPIRVCrossDecorationInterpolantComponentExpr decoration.
2021-07-13 12:25:08 +02:00
Bill Hollings
3e04eee491
MSL: Fix setting SPIRVCrossDecorationInterpolantComponentExpr decoration.
...
When setting SPIRVCrossDecorationInterpolantComponentExpr decoration, take
into consideration a possible array of vectors in an access chain, and don't
apply the decoration until we traverse through the array into the vector itself.
2021-07-12 14:52:07 -04:00
SpaceIm
d74eaabde0
fix cross-build to iOS/tvOS/watchOS
...
see https://cmake.org/cmake/help/latest/policy/CMP0006.html
2021-07-11 15:22:43 +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
Hans-Kristian Arntzen
bf746bd680
Merge pull request #1699 from KhronosGroup/pervertexnv
...
GLSL: Support pervertexNV in NV barycentric extension.
2021-06-30 19:13:21 +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
Hans-Kristian Arntzen
c5b8022e61
Merge pull request #1669 from KhronosGroup/1560-reuse1
...
Make repository REUSE compliant and check licenses in CI
2021-06-29 11:52:33 +02:00
Hans-Kristian Arntzen
54882ad16d
Add GLSL.std.450.h to REUSE.
2021-06-29 11:03:52 +02:00
Jon Leech
3781d49d7c
.gitignore ignored new license text
2021-06-29 11:03:52 +02:00
Jon Leech
c862f8d22d
Actually checkout repo into new reuse job
2021-06-29 11:03:52 +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
Jon Leech
2ceca64004
Add missing copyright headers.
2021-06-29 11:03:38 +02:00
Hans-Kristian Arntzen
853e84e8bf
Merge pull request #1698 from KhronosGroup/fix-1691
...
HLSL: Rewrite how block IO is emitted.
2021-06-29 10:56:34 +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
3149095585
Merge pull request #1696 from KhronosGroup/fix-1694
...
Handle SPIR-V 1.4 selection constructs.
2021-06-28 13:03:06 +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
9cdeefb5e3
Merge pull request #1692 from Kangz/fix_default_copy_dtor
...
Fix IVariant -Wdeprecated-copy-with-dtor
2021-06-21 14:53:13 +02:00
Corentin Wallez
6a85c695cc
Fix IVariant -Wdeprecated-copy-with-dtor
...
Since C++11 the generation of implicit copy constructor is deprecated if
the type has a user-defined constructor or destructor (even if defaulted).
Same thing for the implicit copy assignment operator.
Fix this by adding a defaulted copy-constructor for IVariant that remove
the implicit default constructor, so add it too.
2021-06-21 14:11:31 +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
fa42f1ce34
Merge pull request #1685 from KhronosGroup/fix-1683
...
Handle odd type for textureGather component.
2021-06-03 12:21:27 +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
Hans-Kristian Arntzen
585fc6f3cb
MSL: Always enable support for base vertex/index on iOS.
...
No good reason to not just enable it in CLI.
2021-06-03 11:27:49 +02:00
Hans-Kristian Arntzen
a6ce49ca24
Merge pull request #1680 from xndcn/cc
...
Add comment after inf/nan float number for clarifying.
2021-05-27 11:56:54 +02:00
xndcn
02fb8f2a24
Add comment after inf/nan float number for clarifying.
2021-05-27 02:40:41 +08:00
Hans-Kristian Arntzen
ff61890722
Merge pull request #1679 from okuoku/fix-c-sample-code
...
Fix C sample code in README.md
2021-05-21 18:43:08 +02:00
okuoku
38c6ef1d56
Fix C sample code in README.md
2021-05-22 01:18:26 +09:00
Hans-Kristian Arntzen
faec1a8643
Merge pull request #1678 from KhronosGroup/fix-1674
...
MSL: Add CLI option for sampler suffix.
2021-05-21 17:37:02 +02:00