platform/upstream/SPIRV-Cross.git
3 years agoMSL: Fix copy of arrays to/from stage IO variables.
Hans-Kristian Arntzen [Mon, 19 Apr 2021 09:46:30 +0000 (11:46 +0200)]
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.

3 years agoMSL: Don't use native arrays for tess level inputs.
Hans-Kristian Arntzen [Fri, 16 Apr 2021 13:02:26 +0000 (15:02 +0200)]
MSL: Don't use native arrays for tess level inputs.

3 years agoMSL: Don't emit native array for masked clip/cull distance.
Hans-Kristian Arntzen [Fri, 16 Apr 2021 12:19:07 +0000 (14:19 +0200)]
MSL: Don't emit native array for masked clip/cull distance.

3 years agoc: Add C API for builtin stage IO reflection.
Hans-Kristian Arntzen [Fri, 16 Apr 2021 12:12:07 +0000 (14:12 +0200)]
c: Add C API for builtin stage IO reflection.

3 years agoSupport reflecting builtins.
Hans-Kristian Arntzen [Fri, 16 Apr 2021 11:32:37 +0000 (13:32 +0200)]
Support reflecting builtins.

They were ignored in input/output variables.

3 years agoCheck SPIR-V 1.4 rules when reflecting resources.
Hans-Kristian Arntzen [Fri, 16 Apr 2021 10:50:18 +0000 (12:50 +0200)]
Check SPIR-V 1.4 rules when reflecting resources.

3 years agoMSL: Make builtin argument type declaration context sensitive.
Hans-Kristian Arntzen [Fri, 16 Apr 2021 10:18:31 +0000 (12:18 +0200)]
MSL: Make builtin argument type declaration context sensitive.

Sometimes we'll need array template, sometimes not :shrug:.

3 years agoMSL: Use spvUnsafeArray for builtin arrays after all.
Hans-Kristian Arntzen [Fri, 16 Apr 2021 09:45:50 +0000 (11:45 +0200)]
MSL: Use spvUnsafeArray for builtin arrays after all.

It will get too messy to deal with constant initializers any other way,
so just deal with complexity in argument_decl instead ...

3 years agoMSL: Hoist out to_tesc_invocation_id() in more places.
Hans-Kristian Arntzen [Fri, 16 Apr 2021 09:26:47 +0000 (11:26 +0200)]
MSL: Hoist out to_tesc_invocation_id() in more places.

When emitting fixup code, we might not have gl_InvocationID yet.

3 years agoMSL: Handle loading Clip/CullDistance in TESE.
Hans-Kristian Arntzen [Wed, 14 Apr 2021 13:10:02 +0000 (15:10 +0200)]
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.

3 years agoMSL: Correctly analyze if builtin block is active.
Hans-Kristian Arntzen [Wed, 14 Apr 2021 12:28:27 +0000 (14:28 +0200)]
MSL: Correctly analyze if builtin block is active.

Need to consider all members, bi_type is invalid for Blocks, need to
look at member decorations.

3 years agoMSL: Test that we can capture cull distance to buffer.
Hans-Kristian Arntzen [Wed, 14 Apr 2021 12:02:43 +0000 (14:02 +0200)]
MSL: Test that we can capture cull distance to buffer.

3 years agoMSL: Handle CullDistance better.
Hans-Kristian Arntzen [Wed, 14 Apr 2021 11:51:55 +0000 (13:51 +0200)]
MSL: Handle CullDistance better.

3 years agoMSL: Emit multiple threadgroup slices for multi-patch.
Hans-Kristian Arntzen [Wed, 14 Apr 2021 11:13:13 +0000 (13:13 +0200)]
MSL: Emit multiple threadgroup slices for multi-patch.

Multiple patches can run in the same workgroup when using multi-patch
mode, so we need to allocate enough storage to avoid false sharing.

3 years agoMSL: Unroll initializations of CullDistance/ClipDistance control points.
Hans-Kristian Arntzen [Wed, 14 Apr 2021 10:08:43 +0000 (12:08 +0200)]
MSL: Unroll initializations of CullDistance/ClipDistance control points.

3 years agoMSL: Fix initialization of masked threadgroup variables.
Hans-Kristian Arntzen [Wed, 14 Apr 2021 09:27:05 +0000 (11:27 +0200)]
MSL: Fix initialization of masked threadgroup variables.

3 years agoFix print_help comment.
Hans-Kristian Arntzen [Wed, 14 Apr 2021 08:51:51 +0000 (10:51 +0200)]
Fix print_help comment.

3 years agoMSL: Don't report fallback location allocations as being "used".
Hans-Kristian Arntzen [Fri, 9 Apr 2021 16:55:10 +0000 (18:55 +0200)]
MSL: Don't report fallback location allocations as being "used".

It may shadow unused *real* inputs and confuse applications.

3 years agoC: Add C api for stage output masking.
Hans-Kristian Arntzen [Fri, 9 Apr 2021 13:11:30 +0000 (15:11 +0200)]
C: Add C api for stage output masking.

3 years agoMSL: Cleanup fallback IO block emission.
Hans-Kristian Arntzen [Fri, 9 Apr 2021 12:59:45 +0000 (14:59 +0200)]
MSL: Cleanup fallback IO block emission.

Need to emit in add_variable_to_iface(). Unifies the code paths a fair
bit.

3 years agoMSL: Handle masking of TESC IO block members.
Hans-Kristian Arntzen [Fri, 9 Apr 2021 11:23:09 +0000 (13:23 +0200)]
MSL: Handle masking of TESC IO block members.

3 years agoMSL: Fixup gl_PerVertex names if we're emitting masked builtins.
Hans-Kristian Arntzen [Fri, 9 Apr 2021 10:58:21 +0000 (12:58 +0200)]
MSL: Fixup gl_PerVertex names if we're emitting masked builtins.

3 years agoMSL: Add test for complex control point outputs.
Hans-Kristian Arntzen [Fri, 9 Apr 2021 08:45:05 +0000 (10:45 +0200)]
MSL: Add test for complex control point outputs.

3 years agoMSL: Rewrite how IO blocks are emitted in multi-patch mode.
Hans-Kristian Arntzen [Thu, 8 Apr 2021 09:47:35 +0000 (11:47 +0200)]
MSL: Rewrite how IO blocks are emitted in multi-patch mode.

Firstly, never flatten inputs or outputs in multi-patch mode.
The main scenario where we do need to care is Block IO.
In this case, we should only flatten the top-level member, and after
that we use access chains as normal.

Using structs in Input storage class is now possible as well. We don't
need to consider per-location fixups at all here. In Vulkan, IO structs
must match exactly. Only plain vectors can have smaller vector sizes as
a special case.

3 years agoMSL: Handle flattening of patch block outputs as well.
Hans-Kristian Arntzen [Wed, 7 Apr 2021 15:02:30 +0000 (17:02 +0200)]
MSL: Handle flattening of patch block outputs as well.

Always propagate InterfaceMember decoration.

3 years agoMSL: Do not declare patch variables on stack.
Hans-Kristian Arntzen [Wed, 7 Apr 2021 13:16:08 +0000 (15:16 +0200)]
MSL: Do not declare patch variables on stack.

3 years agoMSL: Handle masking of builtin control points.
Hans-Kristian Arntzen [Wed, 7 Apr 2021 12:35:00 +0000 (14:35 +0200)]
MSL: Handle masking of builtin control points.

3 years agoMSL: Emit a masked builtin IO block if necessary.
Hans-Kristian Arntzen [Wed, 7 Apr 2021 11:36:22 +0000 (13:36 +0200)]
MSL: Emit a masked builtin IO block if necessary.

3 years agoMSL: Do not perform scalar fixups for control-point outputs.
Hans-Kristian Arntzen [Wed, 7 Apr 2021 11:33:26 +0000 (13:33 +0200)]
MSL: Do not perform scalar fixups for control-point outputs.

3 years agoMSL: Fix argument_decl check for builtin.
Hans-Kristian Arntzen [Wed, 7 Apr 2021 10:56:09 +0000 (12:56 +0200)]
MSL: Fix argument_decl check for builtin.

3 years agoMSL: Temporarily allow empty output struct.
Hans-Kristian Arntzen [Wed, 7 Apr 2021 10:55:47 +0000 (12:55 +0200)]
MSL: Temporarily allow empty output struct.

3 years agoMSL: Small refactors.
Hans-Kristian Arntzen [Wed, 7 Apr 2021 10:55:26 +0000 (12:55 +0200)]
MSL: Small refactors.

3 years agoMSL: Always emit block variable for block types.
Hans-Kristian Arntzen [Wed, 7 Apr 2021 08:55:40 +0000 (10:55 +0200)]
MSL: Always emit block variable for block types.

3 years agoMSL: Test that we can mask location writes in TESC.
Hans-Kristian Arntzen [Tue, 6 Apr 2021 13:50:02 +0000 (15:50 +0200)]
MSL: Test that we can mask location writes in TESC.

3 years agoMSL: Explicitly only consider masked variables to be thread-group-like.
Hans-Kristian Arntzen [Tue, 6 Apr 2021 13:13:19 +0000 (15:13 +0200)]
MSL: Explicitly only consider masked variables to be thread-group-like.

3 years agoMSL: Fix masking of vertex block outputs.
Hans-Kristian Arntzen [Tue, 6 Apr 2021 12:43:34 +0000 (14:43 +0200)]
MSL: Fix masking of vertex block outputs.

3 years agoMSL: Refactor out variable/block member masking.
Hans-Kristian Arntzen [Tue, 6 Apr 2021 12:12:24 +0000 (14:12 +0200)]
MSL: Refactor out variable/block member masking.

3 years agoMSL: Add tests for masking with --for-tess.
Hans-Kristian Arntzen [Tue, 6 Apr 2021 11:39:04 +0000 (13:39 +0200)]
MSL: Add tests for masking with --for-tess.

3 years agoMSL: Remove position mask tests. They will fail compilation.
Hans-Kristian Arntzen [Tue, 6 Apr 2021 11:33:16 +0000 (13:33 +0200)]
MSL: Remove position mask tests. They will fail compilation.

3 years agoMSL: Emit correct address space for masked arguments.
Hans-Kristian Arntzen [Tue, 6 Apr 2021 11:28:45 +0000 (13:28 +0200)]
MSL: Emit correct address space for masked arguments.

3 years agoMSL: Don't emit weird reference type for spvUnsafeArray types.
Hans-Kristian Arntzen [Tue, 6 Apr 2021 11:27:56 +0000 (13:27 +0200)]
MSL: Don't emit weird reference type for spvUnsafeArray types.

3 years agoMSL: Handle masked outputs in extract_global_variables.
Hans-Kristian Arntzen [Tue, 6 Apr 2021 10:57:00 +0000 (12:57 +0200)]
MSL: Handle masked outputs in extract_global_variables.

Need to conditionally add gl_in or gl_out.

3 years agoMSL: Force builtin arrays for builtin array types.
Hans-Kristian Arntzen [Tue, 6 Apr 2021 10:25:22 +0000 (12:25 +0200)]
MSL: Force builtin arrays for builtin array types.

Handles argument_decl() correctly.

3 years agoMSL: Add tests for vertex output masking.
Hans-Kristian Arntzen [Tue, 6 Apr 2021 09:49:07 +0000 (11:49 +0200)]
MSL: Add tests for vertex output masking.

3 years agoMSL: Do not consider effective storage for any composite.
Hans-Kristian Arntzen [Tue, 6 Apr 2021 09:35:04 +0000 (11:35 +0200)]
MSL: Do not consider effective storage for any composite.

3 years agoMSL: Handle effective storage for masked CP outputs.
Hans-Kristian Arntzen [Fri, 26 Mar 2021 16:28:42 +0000 (17:28 +0100)]
MSL: Handle effective storage for masked CP outputs.

3 years agoMSL: Emit threadgroup storage class for masked control point outputs.
Hans-Kristian Arntzen [Fri, 26 Mar 2021 16:23:44 +0000 (17:23 +0100)]
MSL: Emit threadgroup storage class for masked control point outputs.

Shader can still rely on writes to threadgroup memory to be visible.

3 years agoMSL: Do not redirect tess access chains on masked outputs.
Hans-Kristian Arntzen [Fri, 26 Mar 2021 15:16:03 +0000 (16:16 +0100)]
MSL: Do not redirect tess access chains on masked outputs.

3 years agoAdd --mask-stage-output-* CLI options.
Hans-Kristian Arntzen [Fri, 26 Mar 2021 14:58:41 +0000 (15:58 +0100)]
Add --mask-stage-output-* CLI options.

3 years agoMSL: Correctly emit array type for masked outputs.
Hans-Kristian Arntzen [Fri, 26 Mar 2021 14:58:23 +0000 (15:58 +0100)]
MSL: Correctly emit array type for masked outputs.

3 years agoMSL: Sketch out API to aid LTO-style optimization.
Hans-Kristian Arntzen [Thu, 25 Mar 2021 17:08:49 +0000 (18:08 +0100)]
MSL: Sketch out API to aid LTO-style optimization.

3 years agoClean up member sorting.
Hans-Kristian Arntzen [Fri, 26 Mar 2021 10:00:35 +0000 (11:00 +0100)]
Clean up member sorting.

3 years agoMSL: Sort builtin IO block members by builtin type.
Hans-Kristian Arntzen [Thu, 25 Mar 2021 15:48:01 +0000 (16:48 +0100)]
MSL: Sort builtin IO block members by builtin type.

Ensures consistent block matching.

3 years agoMSVC: Add /bigobj for debug builds.
Hans-Kristian Arntzen [Tue, 6 Apr 2021 12:59:53 +0000 (14:59 +0200)]
MSVC: Add /bigobj for debug builds.

3 years agoMerge pull request #1648 from billhollings/msl-pad-arg-buff-structs
Hans-Kristian Arntzen [Mon, 19 Apr 2021 08:36:02 +0000 (10:36 +0200)]
Merge pull request #1648 from billhollings/msl-pad-arg-buff-structs

MSL: Support padding Metal argument buffer entries based on argument index.

3 years agoMSL: Fixes to support padding Metal argument buffer entries based on argument index.
Bill Hollings [Sun, 18 Apr 2021 21:34:55 +0000 (17:34 -0400)]
MSL: Fixes to support padding Metal argument buffer entries based on argument index.

For buffers, support all MSLResourceBinding::basetype pointers, not just void*.
Rename MSLResourceBinding::base_type to basetype for consistent use in other structs.

3 years agoMSL: Fixes to support padding Metal argument buffer entries based on argument index.
Bill Hollings [Sat, 17 Apr 2021 19:20:53 +0000 (15:20 -0400)]
MSL: Fixes to support padding Metal argument buffer entries based on argument index.

For completeness, add [[id(N)]] qualifier to padding struct members.
Run clang-format.

3 years agoMSL: Fixes to support padding Metal argument buffer entries based on argument index.
Bill Hollings [Fri, 16 Apr 2021 19:00:59 +0000 (15:00 -0400)]
MSL: Fixes to support padding Metal argument buffer entries based on argument index.

Use separate lookups for texture and sampler members when padding for SamplerImages.
Remove unreachable code following SPIRV_CROSS_THROW.

3 years agoMSL: Fixes to support padding Metal argument buffer entries based on argument index.
Bill Hollings [Fri, 16 Apr 2021 13:05:15 +0000 (09:05 -0400)]
MSL: Fixes to support padding Metal argument buffer entries based on argument index.

Add lookup from argument buffer argument index to resource binding for efficiency.
Fix error in advancing padding counts with combined image samplers.
Run clang-format.

3 years agoMerge branch 'master' of https://github.com/billhollings/SPIRV-Cross into msl-pad...
Bill Hollings [Thu, 15 Apr 2021 14:04:45 +0000 (10:04 -0400)]
Merge branch 'master' of https://github.com/billhollings/SPIRV-Cross into msl-pad-arg-buff-structs

3 years agoMerge pull request #1650 from Dredhog/active-builtins-c-api
Hans-Kristian Arntzen [Wed, 14 Apr 2021 14:20:16 +0000 (16:20 +0200)]
Merge pull request #1650 from Dredhog/active-builtins-c-api

c: Add missing API to update and query active builtins.

3 years agoc: Remove SPVC_PUBLIC_API prefix from API implementation
lukas.taparauskas [Wed, 14 Apr 2021 13:19:50 +0000 (16:19 +0300)]
c: Remove SPVC_PUBLIC_API prefix from API implementation

3 years agoc: Add missing API to query active builtins.
lukas.taparauskas [Wed, 14 Apr 2021 12:44:00 +0000 (15:44 +0300)]
c: Add missing API to query active builtins.

3 years agoMSL: Support padding Metal argument buffer entries based on argument index.
Bill Hollings [Tue, 13 Apr 2021 23:01:20 +0000 (19:01 -0400)]
MSL: Support padding Metal argument buffer entries based on argument index.

If CompilerMSL::Options::pad_argument_buffer_resources enabled, Metal argument buffer
struct members are positionally aligned to their argument indexes by adding synthetic
padding members when needed. The types and sizes of these synthetic members are
identified in the resource_bindings vector provided through the API.

Add CompilerMSL::Options::pad_argument_buffer_resources to enable padding
Metal argument buffer structs to positionally match members to argument indexes.
Add MSLResourceBinding::base_type to identify resource type through API.

3 years agoFix Github CI in PRs.
Hans-Kristian Arntzen [Fri, 26 Mar 2021 17:40:43 +0000 (18:40 +0100)]
Fix Github CI in PRs.

3 years agoMerge pull request #1642 from mehmetoguzderin/msl-long-ulong-member
Hans-Kristian Arntzen [Fri, 26 Mar 2021 17:02:25 +0000 (18:02 +0100)]
Merge pull request #1642 from mehmetoguzderin/msl-long-ulong-member

MSL: Support long ulong types in buffers in 2.3+.

3 years agoMove condition to default block
Mehmet Oguz Derin [Fri, 26 Mar 2021 13:29:44 +0000 (16:29 +0300)]
Move condition to default block

3 years agoMSL: Support long ulong types in buffers in 2.3+.
Mehmet Oguz Derin [Thu, 25 Mar 2021 23:41:26 +0000 (02:41 +0300)]
MSL: Support long ulong types in buffers in 2.3+.

[Metal Shading Language Specification](https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf) states that:

> Note: As of Metal 2.3, Metal supports buffers that contain long or ulong data types.

This PR aims to support long and ulong data types in buffers for Metal 2.3+.

3 years agoUse Github actions CI tag.
Hans-Kristian Arntzen [Fri, 12 Mar 2021 14:36:03 +0000 (15:36 +0100)]
Use Github actions CI tag.

3 years agoAdd GitHub Actions script.
Hans-Kristian Arntzen [Fri, 12 Mar 2021 11:51:53 +0000 (12:51 +0100)]
Add GitHub Actions script.

3 years agoMerge pull request #1633 from KhronosGroup/fix-1626
Hans-Kristian Arntzen [Tue, 9 Mar 2021 14:17:21 +0000 (15:17 +0100)]
Merge pull request #1633 from KhronosGroup/fix-1626

GLSL: Handle complex load/store scenarios to gl_SampleMask.

3 years agoGLSL: Handle complex load/store scenarios to gl_SampleMask.
Hans-Kristian Arntzen [Mon, 8 Mar 2021 10:51:51 +0000 (11:51 +0100)]
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.

3 years agoMerge pull request #1635 from KhronosGroup/fix-1627
Hans-Kristian Arntzen [Tue, 9 Mar 2021 09:21:35 +0000 (10:21 +0100)]
Merge pull request #1635 from KhronosGroup/fix-1627

Handle edge cases in OpCopyMemory.

3 years agoMerge pull request #1634 from KhronosGroup/fix-1625
Hans-Kristian Arntzen [Tue, 9 Mar 2021 09:21:24 +0000 (10:21 +0100)]
Merge pull request #1634 from KhronosGroup/fix-1625

Handle logical subgroup arithmetic ops

3 years agoMerge pull request #1632 from KhronosGroup/fix-1629
Hans-Kristian Arntzen [Tue, 9 Mar 2021 09:21:10 +0000 (10:21 +0100)]
Merge pull request #1632 from KhronosGroup/fix-1629

Throw if SPIR-V module has no entry points.

3 years agoHandle edge cases in OpCopyMemory.
Hans-Kristian Arntzen [Mon, 8 Mar 2021 13:09:32 +0000 (14:09 +0100)]
Handle edge cases in OpCopyMemory.

Implement this by synthesizing an OpLoad/OpStore pair instead.

3 years agoMSL: Add test for logical subgroup arith ops.
Hans-Kristian Arntzen [Mon, 8 Mar 2021 11:57:37 +0000 (12:57 +0100)]
MSL: Add test for logical subgroup arith ops.

3 years agoHLSL: Support logical subgroup ops.
Hans-Kristian Arntzen [Mon, 8 Mar 2021 11:52:03 +0000 (12:52 +0100)]
HLSL: Support logical subgroup ops.

3 years agoGLSL: Add support for Logical subgroup ops.
Hans-Kristian Arntzen [Mon, 8 Mar 2021 11:06:46 +0000 (12:06 +0100)]
GLSL: Add support for Logical subgroup ops.

Completely missed these ...

3 years agoThrow if SPIR-V module has no entry points.
Hans-Kristian Arntzen [Mon, 8 Mar 2021 09:39:59 +0000 (10:39 +0100)]
Throw if SPIR-V module has no entry points.

3 years agoMerge pull request #1630 from KhronosGroup/fix-1628
Hans-Kristian Arntzen [Fri, 26 Feb 2021 14:51:52 +0000 (15:51 +0100)]
Merge pull request #1630 from KhronosGroup/fix-1628

MSL: Deal with pointer-to-pointer qualifier ordering.

3 years agoMSL: Deal with pointer-to-pointer qualifier ordering.
Hans-Kristian Arntzen [Fri, 26 Feb 2021 11:50:24 +0000 (12:50 +0100)]
MSL: Deal with pointer-to-pointer qualifier ordering.

3 years agoMerge pull request #1622 from KhronosGroup/fix-1619
Hans-Kristian Arntzen [Wed, 17 Feb 2021 19:46:06 +0000 (20:46 +0100)]
Merge pull request #1622 from KhronosGroup/fix-1619

MSL: Handle load and store to TessLevel array in TESC.

3 years agoMerge pull request #1623 from phuang/patch-2
Hans-Kristian Arntzen [Wed, 17 Feb 2021 19:45:57 +0000 (20:45 +0100)]
Merge pull request #1623 from phuang/patch-2

Add two missing source files

3 years agoAdd two missing source files
Peng Huang [Wed, 17 Feb 2021 16:14:04 +0000 (11:14 -0500)]
Add two missing source files

3 years agoMerge pull request #1621 from KhronosGroup/fix-1618
Hans-Kristian Arntzen [Wed, 17 Feb 2021 15:59:30 +0000 (16:59 +0100)]
Merge pull request #1621 from KhronosGroup/fix-1618

MSL: Fix automatic assign of builtin attributes in tessellation

3 years agoMSL: Handle load and store to TessLevel array in TESC.
Hans-Kristian Arntzen [Wed, 17 Feb 2021 12:18:47 +0000 (13:18 +0100)]
MSL: Handle load and store to TessLevel array in TESC.

More edge cases ... :(

3 years agoMSL: Gracefully assign automatic input locations to builtin attributes.
Hans-Kristian Arntzen [Wed, 17 Feb 2021 11:21:21 +0000 (12:21 +0100)]
MSL: Gracefully assign automatic input locations to builtin attributes.

3 years agoMSL: Refactor out location consumption count computation.
Hans-Kristian Arntzen [Wed, 17 Feb 2021 10:29:33 +0000 (11:29 +0100)]
MSL: Refactor out location consumption count computation.

3 years agoAdd comment where aux image atomic buffers are reflected from.
Hans-Kristian Arntzen [Wed, 17 Feb 2021 09:42:58 +0000 (10:42 +0100)]
Add comment where aux image atomic buffers are reflected from.

They also use secondary bindings, not just samplers.

3 years agoMerge pull request #1620 from phuang/patch-1
Hans-Kristian Arntzen [Wed, 17 Feb 2021 09:30:10 +0000 (10:30 +0100)]
Merge pull request #1620 from phuang/patch-1

Fix build errors on Windows

3 years agoFix build errors on Windows
Peng Huang [Wed, 17 Feb 2021 01:42:00 +0000 (20:42 -0500)]
Fix build errors on Windows

error:
clang-cl: error: unknown argument ignored in clang-cl: '-fno-exceptions'

3 years agoMerge pull request #1617 from KhronosGroup/fix-1608
Hans-Kristian Arntzen [Tue, 16 Feb 2021 10:10:07 +0000 (11:10 +0100)]
Merge pull request #1617 from KhronosGroup/fix-1608

MSL: Fixup type when using tessellation levels in TESC functions.

3 years agoMerge pull request #1616 from KhronosGroup/fix-1609
Hans-Kristian Arntzen [Mon, 15 Feb 2021 17:19:55 +0000 (18:19 +0100)]
Merge pull request #1616 from KhronosGroup/fix-1609

MSL: Always return [[position]] when required.

3 years agoMSL: Fixup type when using tessellation levels in TESC functions.
Hans-Kristian Arntzen [Mon, 15 Feb 2021 12:28:11 +0000 (13:28 +0100)]
MSL: Fixup type when using tessellation levels in TESC functions.

Need to rewrite array size depending on execution mode.

3 years agoMSL: Always return [[position]] when required.
Hans-Kristian Arntzen [Mon, 15 Feb 2021 11:49:37 +0000 (12:49 +0100)]
MSL: Always return [[position]] when required.

3 years agoMerge pull request #1615 from KhronosGroup/fix-1612
Hans-Kristian Arntzen [Mon, 15 Feb 2021 10:45:20 +0000 (11:45 +0100)]
Merge pull request #1615 from KhronosGroup/fix-1612

c: Add missing IOS_SUPPORT_BASE_VERTEX_INSTANCE option.

3 years agoc: Add missing IOS_SUPPORT_BASE_VERTEX_INSTANCE option.
Hans-Kristian Arntzen [Mon, 15 Feb 2021 10:43:46 +0000 (11:43 +0100)]
c: Add missing IOS_SUPPORT_BASE_VERTEX_INSTANCE option.

3 years agoMerge pull request #1614 from KhronosGroup/fix-1610
Hans-Kristian Arntzen [Mon, 15 Feb 2021 10:40:25 +0000 (11:40 +0100)]
Merge pull request #1614 from KhronosGroup/fix-1610

HLSL: Add vector to illegal names list.

3 years agoHLSL: Add vector to illegal names list.
Hans-Kristian Arntzen [Mon, 15 Feb 2021 10:38:14 +0000 (11:38 +0100)]
HLSL: Add vector to illegal names list.