-
d1106b0a
by Hans-Kristian Arntzen at 2024-12-13T10:45:02+01:00
HLSL: Fix clip/cull lowering for single element.
-
6173e24b
by Hans-Kristian Arntzen at 2024-12-13T10:48:33+01:00
Merge pull request #2430 from KhronosGroup/hlsl-mesh-single-clip-cull-fix
HLSL: Fix clip/cull lowering for single element.
-
82331a2c
by scribam at 2024-12-29T12:21:47+01:00
Bump to CMake 3.10
-
104d91a9
by Hans-Kristian Arntzen at 2025-01-02T12:37:39+01:00
Merge pull request #2431 from scribam/cmake-minimum-required
Bump to CMake 3.10
-
cea4d3f7
by Pedro Diaz at 2025-01-12T11:45:17+01:00
Added some more Metal keywords used by in the wild to remap entry points
-
5e7db829
by Hans-Kristian Arntzen at 2025-01-15T18:46:28+01:00
Merge pull request #2434 from pdiaz/main
[MSL] Added some more reserved keywords
-
eb9a6e2d
by squidbus at 2025-01-20T01:46:09-08:00
MSL: Terminate function with return value using return if ending in unreachable.
-
597881eb
by Hans-Kristian Arntzen at 2025-01-23T11:21:20+01:00
Merge pull request #2436 from squidbus/msl-unreachable
MSL: Terminate function with return value using return if ending in unreachable.
-
a07b462e
by Hans-Kristian Arntzen at 2025-01-23T11:37:08+01:00
GLSL: Deal with gl_Layer in vert/tese.
-
ae9ee0e4
by Hans-Kristian Arntzen at 2025-01-23T11:56:33+01:00
Merge pull request #2438 from KhronosGroup/fix-2432
GLSL: Deal with gl_Layer in vert/tese.
-
19d4984d
by Hans-Kristian Arntzen at 2025-01-23T12:38:00+01:00
MSL: Add option to disable rasterization depending on usage.
It's not generally safe to return void if position is not written,
there might be subsequent stages that don't care about position.
To avoid any potential breakage, add an option that auto-demotes
instead.
-
78ddf56e
by Hans-Kristian Arntzen at 2025-01-23T12:38:00+01:00
MSL: Add missing reference output.
-
af313eca
by Hans-Kristian Arntzen at 2025-01-23T12:38:00+01:00
MSL: Add auto-disable-rasterization option to C API.
-
1a7b7ef6
by Hans-Kristian Arntzen at 2025-01-23T12:45:00+01:00
Merge pull request #2439 from KhronosGroup/fix-2261
MSL: Add option to auto-disable rasterization based on Position usage
-
205f6d5f
by Hans-Kristian Arntzen at 2025-02-12T12:05:35+01:00
Roll deps.
-
2924511d
by Hans-Kristian Arntzen at 2025-02-12T12:08:19+01:00
Get rid of stale references.
-
a92e8251
by Hans-Kristian Arntzen at 2025-02-12T12:38:20+01:00
Try bumping to upload-artifacts v4.
-
825c5d35
by Hans-Kristian Arntzen at 2025-02-12T12:58:15+01:00
Merge pull request #2445 from KhronosGroup/roll-deps
Roll deps
-
a4598963
by Hans-Kristian Arntzen at 2025-02-12T12:58:33+01:00
Update SPIR-V headers.
-
da6231c1
by Hans-Kristian Arntzen at 2025-02-12T12:58:33+01:00
Deal with OpExtInstWithForwardRefsKHR.
-
b24ee6ed
by Hans-Kristian Arntzen at 2025-02-12T13:21:11+01:00
Merge pull request #2446 from KhronosGroup/fix-2441
Recognize ExtInstWithForwardRefsKHR
-
88849b55
by Hans-Kristian Arntzen at 2025-02-12T15:39:33+01:00
GLSL: Only consider inout for storage classes that make sense.
Naked BDA pointer is passed by-value.
-
7f72d59c
by Hans-Kristian Arntzen at 2025-02-12T16:00:16+01:00
MSL: Always pass BDA by value into functions.
There is some general confusion around by-ref/by-pointer since function
arguments reset the tracking for when a pointer _expression_ is lvalue or rvalue.
-
7269730f
by Hans-Kristian Arntzen at 2025-02-12T16:00:16+01:00
HLSL: Set up the pointer for wrapped mesh output properly.
-
5fce5915
by Hans-Kristian Arntzen at 2025-02-12T16:16:39+01:00
Merge pull request #2447 from KhronosGroup/fix-2440
Emit BDA parameters as actual pointers.
-
2315b7c1
by Boyan Ding at 2025-02-13T21:15:41-08:00
MSL: Expose information about specialization constants - macro mapping
Specialization constant may be translated into either function constant
or macro in MSL. MoltenVK requires different processing for the two cases.
We expose the list of constant ids and their corresponding macro names
so that MoltenVK can use them properly support specialization on those
macros.
-
e050f6d1
by Hans-Kristian Arntzen at 2025-02-14T14:47:10+01:00
Use unordered_set instead of slower std::set.
-
9f9782ed
by Hans-Kristian Arntzen at 2025-02-14T15:52:13+01:00
Merge pull request #2442 from dboyan/msl-specialize-macro
MSL: Expose information about specialization constants - macro mapping
-
fbbf0366
by Boyan Ding at 2025-02-15T11:25:09-08:00
Allow non-literal specialization constant to be array size of OpConstantNull
The usage appears in Vulkan CTS related to extension
VK_KHR_zero_initialize_workgroup_memory.
-
98fdd13d
by Boyan Ding at 2025-02-15T11:33:16-08:00
GLSL/MSL: Support VK_KHR_zero_initialize_workgroup_memory
The extension allows initializing workgroup memory with OpConstantNull,
and is a part of Vulkan 1.3.
In GLSL, the support is realized via GL_EXT_null_initializer. While in MSL,
we have to generate code snippets to let the threads initialize the memory.
-
8a928225
by Hans-Kristian Arntzen at 2025-02-17T11:27:12+01:00
Merge pull request #2444 from dboyan/zero_init_wg_mem
GLSL/MSL: Support VK_KHR_zero_initialize_workgroup_memory
-
1624c203
by Andrew Naumov at 2025-02-17T18:22:56+01:00
MSL: Add missing gl_WorkGroupSize declaration in mesh shader
SPIR-V mesh shader compiled from HLSL does not have LocalSizeId entry, use LocalSize instead.
-
c12b2b8b
by Andrew Naumov at 2025-02-17T18:50:11+01:00
MSL: Use spvUnsafeArray for BuiltIn in mesh shader
-
e9c29901
by Andrew Naumov at 2025-02-17T18:53:29+01:00
MSL: Disable force_gl_in_out_block
-
e415aab1
by Andrew Naumov at 2025-02-17T20:54:25+01:00
MSL: Fix mesh shader builtin names to match with CompilerGLSL::to_expression
-
34fe9892
by Andrew Naumov at 2025-02-17T21:00:47+01:00
MSL: Mark hlsl mesh shader as valid in tests
-
ca6d7533
by Hans-Kristian Arntzen at 2025-02-18T11:41:33+01:00
GLSL: Request 64-bit atomic extension as needed.
No idea how I missed this originally.
-
b220e535
by Hans-Kristian Arntzen at 2025-02-18T11:59:22+01:00
GLSL: Deal with atomics on plain POD BDA.
-
6a62df69
by Hans-Kristian Arntzen at 2025-02-18T13:26:42+01:00
Merge pull request #2448 from andrejnau/fix_hlsl_mesh_shader_to_msl
MSL: Fix support for HLSL mesh shader
-
2c32b6bf
by Hans-Kristian Arntzen at 2025-02-18T14:39:47+01:00
Merge pull request #2449 from KhronosGroup/glsl-atomic-fixes
GLSL: Fix some issues with atomics
-
dcbb41fa
by Boyan Ding at 2025-02-26T00:21:19-08:00
MSL: Apply input override on all flattened members in interface block
As in #2305, the current logic cannot properly apply input override on
composite types in interface block. This change fixes the common case
where the composite types are flattened into the interface block.
The typing override is decoupled from location calculation so that it can
be applied to all members. In the meantime, some common logics are
consolidated.
-
764abd56
by Boyan Ding at 2025-03-03T20:14:50-08:00
MSL: Treat pointer to vector as scalar type when bitcasting
Otherwise, they will be misregarded as vectors and can be used in
as_type, which does not support pointer type as destination.
-
3af0cedc
by Hans-Kristian Arntzen at 2025-03-10T14:15:39+01:00
Merge pull request #2450 from dboyan/fix-interface-matching
MSL: Apply input override on all flattened members in interface block
-
a8834b0c
by Hans-Kristian Arntzen at 2025-03-10T14:25:33+01:00
Merge pull request #2452 from dboyan/fix-2451
MSL: Treat pointer to vector as scalar type when bitcasting
-
3b8b2631
by Hans-Kristian Arntzen at 2025-03-10T14:25:43+01:00
MSL: Use the more proper pointer typing.
-
1823c119
by Hans-Kristian Arntzen at 2025-03-10T14:32:40+01:00
Merge pull request #2453 from KhronosGroup/msl-ptr-bitcast-cleanup
MSL: Use the more proper pointer typing.
-
fad4997a
by Evan Tang at 2025-03-19T17:21:06-05:00
MSL: Use decltype for getting return of gather
MacOS 15 added a fourth template parameter to textures so the old template matching fails
-
86744550
by Evan Tang at 2025-03-19T17:31:47-05:00
MSL: Remove spvForward
None of the functions it was being used for accept types with custom copy constructors
-
72b5b7c1
by Hans-Kristian Arntzen at 2025-03-26T13:53:37+01:00
Merge pull request #2454 from etang-cw/GatherSequoia
MSL: Fix gather functions on Sequoia
-
de656c6a
by Hans-Kristian Arntzen at 2025-03-31T13:19:25+02:00
GLSL: Implement SPV_KHR_cooperative_matrix.
-
9daa7fe0
by Hans-Kristian Arntzen at 2025-03-31T13:32:45+02:00
Merge pull request #2457 from KhronosGroup/fix-2456-2301
GLSL: Implement SPV_KHR_cooperative_matrix.
-
e264f49c
by Hans-Kristian Arntzen at 2025-04-03T17:29:33+02:00
GLSL: Ban composite swizzle ops for coopmat.
-
a6530fdd
by Hans-Kristian Arntzen at 2025-04-04T10:40:28+02:00
Merge pull request #2458 from KhronosGroup/fix-coopmat-composites
GLSL: Ban composite swizzle ops for coopmat.
-
7f10fe08
by Hans-Kristian Arntzen at 2025-04-04T17:19:10+02:00
GLSL: Fix coopmat function parameter typing.
-
cb71abe3
by Hans-Kristian Arntzen at 2025-04-04T17:25:23+02:00
Merge pull request #2460 from KhronosGroup/coopmat-param-type-fix
GLSL: Fix coopmat function parameter typing.
-
23b3cb57
by Hans-Kristian Arntzen at 2025-04-11T11:46:22+02:00
GLSL: Deal more gracefully with coopmat types.
-
7e144e98
by Hans-Kristian Arntzen at 2025-04-11T11:52:35+02:00
Merge pull request #2462 from KhronosGroup/coopmat-type-fix
GLSL: Deal more gracefully with coopmat types.
-
1bf01db4
by Hans-Kristian Arntzen at 2025-04-11T12:19:09+02:00
GLSL: Workaround glslang issue with coopmat function overloads.
-
68300dc0
by Hans-Kristian Arntzen at 2025-04-11T12:31:56+02:00
Merge pull request #2463 from KhronosGroup/coopmat-overload-war
GLSL: Workaround glslang issue with coopmat function overloads.
-
185833a6
by Bill Hollings at 2025-04-11T13:40:59-04:00
MSL: Support broader tessellation I/O matching for VK_KHR_maintenance4.
Tessellation stages pass I/O via buffer content which may contain nested structs,
which was not previously handled.
- Adjust the vector sizes of any nested struct members within tessellation input
variables to match the vector sizes of the corresponding output variables from
the previous pipeline stage.
- Update one corresponding test case.
-
cf0db9f6
by Hans-Kristian Arntzen at 2025-04-16T13:08:52+02:00
Style nit
-
644ed8f3
by Hans-Kristian Arntzen at 2025-04-16T14:04:46+02:00
ci: Use ubuntu-24.04 image instead.
20.04 is removed.
-
868d9af9
by Hans-Kristian Arntzen at 2025-04-16T14:20:03+02:00
Merge pull request #2465 from KhronosGroup/ci-ubuntu-update
ci: Use ubuntu-24.04 image instead.
-
ccff4280
by Hans-Kristian Arntzen at 2025-04-16T14:20:31+02:00
Merge pull request #2464 from billhollings/fix-tess-io-struct-mbr-vecsize
MSL: Support broader tessellation I/O matching for VK_KHR_maintenance4.
-
67302489
by sean at 2025-04-20T16:29:00+02:00
Add support for KHR_expect_assume
-
e12444ab
by Hans-Kristian Arntzen at 2025-04-22T10:54:36+02:00
Nits
-
8a273e13
by Hans-Kristian Arntzen at 2025-04-22T11:37:37+02:00
Roll deps.
mod() seems to be broken in spirv-opt now, so workaround that for now.
It's not relevant to the test in question.
-
c256ca7c
by Hans-Kristian Arntzen at 2025-04-22T11:41:42+02:00
Merge pull request #2466 from spnda/KHR_expect_assume
MSL: Add support for SPV_KHR_expect_assume
-
6f28a5de
by Hans-Kristian Arntzen at 2025-04-22T12:20:40+02:00
Merge pull request #2467 from KhronosGroup/roll-deps
Roll deps.
-
60f44a29
by Hans-Kristian Arntzen at 2025-04-22T12:20:51+02:00
Update spir-v headers.
-
c4f82d10
by Hans-Kristian Arntzen at 2025-04-22T12:20:51+02:00
GLSL: Implement GL_EXT_bfloat16
-
2275d0ef
by Hans-Kristian Arntzen at 2025-04-22T12:37:12+02:00
Merge pull request #2468 from KhronosGroup/bfloat16
Implement GL_EXT_bfloat16
-
27a07098
by squidbus at 2025-04-22T16:58:54-07:00
GLSL/MSL: Implement SPV_KHR_subgroup_rotate
-
f2cfac04
by Hans-Kristian Arntzen at 2025-04-23T11:25:50+02:00
Merge pull request #2469 from squidbus/subgroup_rotate
GLSL/MSL: Implement SPV_KHR_subgroup_rotate
-
f1079ab8
by sean at 2025-04-23T13:25:37+02:00
Properly define SPV_EXPECT when builtin not available
-
5b18a641
by Hans-Kristian Arntzen at 2025-04-23T13:37:02+02:00
Merge pull request #2470 from spnda/KHR_expect_assume
Properly define SPV_EXPECT when builtin not available
-
2d676f4d
by squidbus at 2025-04-23T17:14:13-07:00
MSL: Implement subgroup clustered rotate.
-
79187757
by Hans-Kristian Arntzen at 2025-04-24T15:05:59+02:00
Merge pull request #2471 from squidbus/msl-rotate-clustered
MSL: Implement subgroup clustered rotate.
-
9ad588da
by squidbus at 2025-04-24T16:12:16-07:00
MSL: Add support for DebugPrintf.
-
efab0204
by squidbus at 2025-04-24T16:43:46-07:00
Use macos-15 in CI for MSL 3.2 support.
-
8a5540e9
by Bill Hollings at 2025-05-01T08:01:20-04:00
Fix crash due to regression caused by recent changes to location calculations.
Commit dcbb41f introduced a new way of determining interface struct member
locations, but did not handle nested structs, causing array out of bounds
by attempting to restart location calculation for each nested struct.
- Only retrieve base location once for each interface variable,
instead of separately for each nested struct, and determine locations
of all nested struct members from that base variable location.
- Add test shaders
-
d12aa8e1
by Hans-Kristian Arntzen at 2025-05-02T11:47:52+02:00
Merge pull request #2472 from squidbus/msl-debug-printf
MSL: Add support for DebugPrintf.
-
8b91a447
by squidbus at 2025-05-02T02:57:11-07:00
MSL: Add option to provide a default point size.
-
2ffd40b5
by Hans-Kristian Arntzen at 2025-05-02T12:01:05+02:00
Merge pull request #2477 from billhollings/nested-in-out-structs
Fix crash due to regression caused by recent changes to location calculations.
-
e07cec74
by Hans-Kristian Arntzen at 2025-05-02T12:14:57+02:00
Merge pull request #2474 from squidbus/point-size-default
MSL: Add option to provide a default point size.
-
d1d9ec7b
by squidbus at 2025-05-02T04:27:33-07:00
Use accurate negative OpSMod behavior.
-
c042b595
by squidbus at 2025-05-02T04:27:35-07:00
Update shader tests.
-
f1cb5b66
by Hans-Kristian Arntzen at 2025-05-02T15:01:47+02:00
Merge pull request #2475 from squidbus/accurate-smod
Use accurate negative OpSMod behavior.
-
02053d35
by squidbus at 2025-05-04T12:29:35-07:00
GLSL/MSL: Add support for SPV_KHR_quad_control.
-
1a9e9f3b
by squidbus at 2025-05-06T21:52:41-07:00
Revert "Use accurate negative OpSMod behavior." and "Update shader tests."
This reverts commit d1d9ec7b456e66d1ea566d3bf2f6ad69e38f1ccc and c042b595a8bbd2501e766e2b7d9775fe0ccf1b9a.
-
eebfdba4
by squidbus at 2025-05-07T00:47:23-07:00
MSL: Implement accurate OpSMod.
-
169b434e
by Hans-Kristian Arntzen at 2025-05-08T10:57:18+02:00
Merge pull request #2479 from squidbus/quad_control
GLSL/MSL: Add support for SPV_KHR_quad_control.
-
22b22f56
by Hans-Kristian Arntzen at 2025-05-08T10:59:00+02:00
Merge pull request #2480 from squidbus/fix-smod
Revert previous accurate OpSMod implementation and re-implement for MSL.
-
0c25283d
by Patrik Wallin Hybelius at 2025-05-08T15:16:38+02:00
Fix using buffer reference blocks as struct members in glsl
Buffer reference blocks are always emitted after structs, even when forward declared.
This causes invalid GLSL to be generated if a buffer reference block is used as a struct member.
This patch fixes the problem by emitting buffer reference block forward declarations before emitting structs.
Change-Id: I27dd9a8855f3514f48689a9203f9562f387b55af
Signed-off-by: Patrik Wallin Hybelius <patrik.wallinhybelius@arm.com>
-
dc8a531a
by Hans-Kristian Arntzen at 2025-05-22T11:37:11+02:00
GLSL: Clean up some use of old references to PhysicalStorageBufferEXT.
-
9b890468
by Hans-Kristian Arntzen at 2025-05-22T11:38:01+02:00
GLSL: Style nit cleanup.
-
30190922
by Hans-Kristian Arntzen at 2025-05-22T11:38:04+02:00
GLSL: Add test shader for out of order BDA decl and update tests.
-
f649961e
by Hans-Kristian Arntzen at 2025-05-22T11:56:51+02:00
Merge pull request #2484 from KhronosGroup/pr-2482
Land PR 2482
-
3d97830b
by Hans-Kristian Arntzen at 2025-05-22T12:33:32+02:00
MSL: Don't emit const for BDA pointers.
glslang has a bug here and emitting const pointers isn't super useful,
since it's mostly just a programmer aid in C++, it doesn't have same
semantic meaning as NonWritable in SPIR-V.
-
5176e683
by Hans-Kristian Arntzen at 2025-05-22T13:07:52+02:00
Merge pull request #2485 from KhronosGroup/fix-2476
MSL: Don't emit const for BDA pointers.
-
1ae11fc2
by Hans-Kristian Arntzen at 2025-05-22T13:35:45+02:00
GLSL: Avoid cyclical recursion explosion when analyzing BDA types.
-
60d16f4f
by Hans-Kristian Arntzen at 2025-05-22T13:35:46+02:00
MSL: Fix loading BDA from std140 UBO.
-
969e75f7
by Hans-Kristian Arntzen at 2025-05-22T13:50:37+02:00
Merge pull request #2486 from KhronosGroup/fix-2481
MSL: Clear out physical type remapping once we've cast to BDA.
-
7add79c6
by Hans-Kristian Arntzen at 2025-05-23T12:21:24+02:00
MSL: Implement coherence and atomic_thread_fence support in MSL 3.2.
-
27d209e0
by Hans-Kristian Arntzen at 2025-05-23T12:40:16+02:00
MSL: Implement atomic_thread_fence for MSL 3.2+.
-
cec2e40e
by Hans-Kristian Arntzen at 2025-05-23T13:02:13+02:00
MSL: Add basic tests for MSL 3.2 coherent/fence.
-
4341e6ca
by Hans-Kristian Arntzen at 2025-05-23T13:20:10+02:00
Merge pull request #2487 from KhronosGroup/fix-2473
Implement MSL 3.2 coherent/atomic_thread_fence
-
bcf2bb93
by Ashley Harris at 2025-05-27T14:20:09+02:00
Geometry shader support for HLSL (#2483)
-
cca1b7ce
by Hans-Kristian Arntzen at 2025-05-27T14:25:48+02:00
HLSL: Style fixups from geometry shader merge.
-
1a69a919
by Chip Davis at 2025-05-28T10:57:51+02:00
MSL: Implement clustered subgroup operations for sizes other than 4.
This is required by Vulkan 1.4. Fortunately, I hit upon a way to do this
with minimal overhead. The Metal compiler even inlines and unrolls the
recursive template used here. I just hope that the Vulkan committee
never agrees to mandate prefix op support--I have no idea how to do that
one cheaply.
Unfortunately, the extra goop is needed to handle the case where one or
more threads are inactive.
The function-like macro parameter used in `FUNC_SUBGROUP_CLUSTERED()`
does work with Clang and GCC. I don't know if it works with MSVC.
Fix `LogicalAnd`, `LogicalOr`, and `LogicalXor` ops as well. These need
a cast for the Metal compiler to allow this, just like with the shuffle
and broadcast ops. The tests for these were marked "invalid," meaning no
validation on the transpiled MSL shader was done. Is it any wonder no
one caught this? It works now, though, so we can drop the `.invalid.`
marker.
-
716f7ca6
by Chip Davis at 2025-05-28T04:51:10-06:00
MSL: Fix generation of the `WorkgroupSize` built-in.
Use any existing `gl_WorkGroupSize` when adding an implicit
`WorkgroupSize`. Make a constant using the `LocalSize` or `LocalSizeId`
when those execution modes are set. Only when none is present do we add
the `WorkgroupSize` as an input. Of course, since the `GLCompute` model
requires one of the three of constant `WorkgroupSize`, `LocalSize`, or
`LocalSizeId` to be present, this shouldn't happen in practice, but I
thought I'd handle it properly anyway.
-
12799833
by shobomaru at 2025-05-28T22:00:45+09:00
Treat raytracing::acceleration_structure as a texture resource, not a buffer, in argument buffers.
-
464c8ab9
by Hans-Kristian Arntzen at 2025-06-11T12:46:38+02:00
Merge pull request #2491 from cdavis5e/msl-workgroup-size-fix
MSL: Fix generation of the `WorkgroupSize` built-in.
-
0d5a98c8
by Hans-Kristian Arntzen at 2025-06-11T12:57:42+02:00
Merge pull request #2492 from shobomaru/argument_buffer_raytracing
Treat raytracing::acceleration_structure as a texture resource in argument buffer
-
cfeb34a4
by Stephan Seitz at 2025-06-17T12:39:46+02:00
Merge pull request #2488 from theHamsta/replicated-composites
glsl: Implement `SPV_EXT_replicated_composites`
-
47acf438
by Hans-Kristian Arntzen at 2025-06-20T14:20:41+02:00
Roll deps.
-
edc29b70
by Hans-Kristian Arntzen at 2025-06-20T15:29:54+02:00
Update SPIR-V headers.
-
b5cd5588
by Hans-Kristian Arntzen at 2025-06-20T15:30:33+02:00
Add packed base size for bfloat16.
-
071cefb9
by Hans-Kristian Arntzen at 2025-06-20T15:51:49+02:00
GLSL: Implement GL_EXT_float8.
-
04cd3041
by Hans-Kristian Arntzen at 2025-06-20T16:33:28+02:00
GLSL: Implement the conversion part of NV_coopmat2.
Used by dxil-spirv specifically.
The rest of the extension is too hairy to do without a good reason.
-
bc491f6c
by Hans-Kristian Arntzen at 2025-06-20T16:53:14+02:00
Merge pull request #2498 from KhronosGroup/glsl-float8
GLSL: Add float8 and NV_coopmat2 conversion support.
-
beb9792a
by Bill Hollings at 2025-06-22T17:05:46-04:00
MSL: Support SPIR-V Fast Math execution modes and decorations.
- Add CompilerMSL::Options::use_fast_math_pragmas to direct whether the MSL
should include pragma directives to control floating point compilation options.
- Add CompilerMSL::get_fp_fast_math_flags() to return a set of FPFastMathModeMask
flags that are safe to be applied to all floating-point types, based on
FPFastMathDefault and FPFastMathMode decorations on individual operations,
or execution modes SignedZeroInfNanPreserve and ContractionOff.
- Add SPIREntryPoint::fp_fast_math_defaults to track FPFastMathDefault by type ID.
- Add Decoration::fp_fast_math_mode to support DecorationFPFastMathMode.
- Use add_pragma_line() for all emitted pragmas, to better control line spacing.
- Update numerous shader references that were affected by a reordering
in emitted pragma lines, due to the consistent use of add_pragma_line().
-
e17b1896
by Hans-Kristian Arntzen at 2025-06-23T14:07:57+02:00
Nit
-
94cc87bc
by Hans-Kristian Arntzen at 2025-06-23T14:13:00+02:00
Merge branch 'expose-FPFastMathDefault' of https://github.com/billhollings/SPIRV-Cross into pr-2495
-
6d66232b
by Hans-Kristian Arntzen at 2025-06-23T14:26:04+02:00
MSL: Rethink add_pragma_line and add_typedef_line.
No need for ordered sets, and be more careful about forcing recompiles.
-
2345c781
by Hans-Kristian Arntzen at 2025-06-23T14:37:23+02:00
Merge pull request #2500 from KhronosGroup/pr-2495
Land PR 2495
-
6e3a91bb
by Hans-Kristian Arntzen at 2025-06-27T12:18:47+02:00
MSL: Always emit access qualifier when emitting coherency.
-
d7440cbc
by Hans-Kristian Arntzen at 2025-06-27T12:27:55+02:00
Merge pull request #2503 from KhronosGroup/fix-2502
MSL: Always emit access qualifier when emitting coherency.
-
b1d2c769
by Patrik Wallin Hybelius at 2025-06-30T10:46:46+02:00
Roll deps.
Change-Id: I42ea1f2fccf29b18e5750cc10b67b9050e1d5b02
Signed-off-by: Patrik Wallin Hybelius <patrik.wallinhybelius@arm.com>
-
48357fc7
by Patrik Wallin Hybelius at 2025-06-30T11:30:52+02:00
Fix test failing due to updated glslang
Change-Id: Ib0d404dfd34328ed9c9dc12571095e222bdd59ec
Signed-off-by: Patrik Wallin Hybelius <patrik.wallinhybelius@arm.com>
-
470abe4d
by Patrik Wallin Hybelius at 2025-06-30T12:17:44+02:00
Add support for GL_ARM_tensors
Change-Id: Ic454861961f620caac310e0bbc4de9fb10f50aeb
Signed-off-by: Patrik Wallin Hybelius <patrik.wallinhybelius@arm.com>
-
d8e3e2b1
by Hans-Kristian Arntzen at 2025-07-01T12:36:51+02:00
Merge pull request #2497 from hybelius/GL_ARM_tensors
Add GL_ARM_tensors support for glsl