-
efee0216
by Krzysztof Bogacki at 2025-07-05T16:06:33+02:00
GLSL: Add partial support for NV_cluster_acceleration_structure.
-
9301aaa3
by Maksym Pavlenko at 2025-07-06T19:55:21-07:00
Add mesh shading execution models to reflection
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
-
7fbfe4fc
by Maksym Pavlenko at 2025-07-06T20:28:18-07:00
Reflect workgroup_size for mesh/task shaders
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
-
5b46644d
by Hans-Kristian Arntzen at 2025-07-23T10:56:02+02:00
Merge pull request #2505 from mxpv/reflect
Add mesh shaders to reflection
-
11584d5e
by Stephan Seitz at 2025-07-28T12:30:53+02:00
glsl: implement `SPV_NV_cooperative_vector`
https://github.khronos.org/SPIRV-Registry/extensions/NV/SPV_NV_cooperative_vector.html
The implementation tries to follow the code for SPV_EXT_cooperative_matrix.
The extension could be mapped in a follow-up to the following HLSL
proposal https://github.com/microsoft/hlsl-specs/blob/main/proposals/0026-hlsl-long-vector-type.md
-
b7f45395
by Hans-Kristian Arntzen at 2025-07-28T13:02:53+02:00
Cleanups for review.
-
421220a8
by Hans-Kristian Arntzen at 2025-07-28T13:09:26+02:00
Refactor all extended type info into union.
-
1c86e5e8
by Hans-Kristian Arntzen at 2025-07-28T13:14:24+02:00
Set parent type for coopvec.
-
c7e6a011
by Hans-Kristian Arntzen at 2025-07-28T13:46:29+02:00
GLSL: Use the matrix layout names for coopvec.
-
82457918
by Hans-Kristian Arntzen at 2025-07-28T13:56:11+02:00
Merge pull request #2512 from KhronosGroup/pr-2489
Land PR 2489
-
256192e6
by Hans-Kristian Arntzen at 2025-07-28T14:09:34+02:00
Merge pull request #2499 from Saancreed/glsl-nv-cluster-acceleration-structure
GLSL: Add partial support for NV_cluster_acceleration_structure.
-
8c018ed6
by Hans-Kristian Arntzen at 2025-08-06T12:53:29+02:00
Implement line directive from ShaderDebugInfo.100.
-
b9c63db5
by Hans-Kristian Arntzen at 2025-08-06T13:27:33+02:00
MSL: Fix issues with fp16 trancendentals.
-
a92254a1
by Hans-Kristian Arntzen at 2025-08-06T13:28:34+02:00
Merge pull request #2517 from KhronosGroup/fix-2506
Implement line directive from ShaderDebugInfo.100.
-
c678f94e
by Hans-Kristian Arntzen at 2025-08-06T13:49:03+02:00
Merge pull request #2518 from KhronosGroup/fix-2507
MSL: Fix issues with fp16 trancendentals.
-
f02c55d1
by Hans-Kristian Arntzen at 2025-08-06T14:25:43+02:00
Propagate spec constant use through composites.
-
5e2a851d
by Hans-Kristian Arntzen at 2025-08-06T15:00:52+02:00
MSL: Deal with spec constant arrays which depend on composite extract.
-
073a60d5
by Hans-Kristian Arntzen at 2025-08-06T15:39:09+02:00
Merge pull request #2519 from KhronosGroup/fix-2511
MSL: Deal with WorkGroupSize spec constant being used as array size.
-
533bb760
by Hans-Kristian Arntzen at 2025-08-07T10:52:13+02:00
MSL: Always emit gl_Layer for multiview.
If all builtins were used by shader itself, it would skip emitting
gl_Layer leading to fun shenanigans.
-
6d5e12d1
by Hans-Kristian Arntzen at 2025-08-07T11:16:01+02:00
MSL: Fix edge case where a reference is taken of packed vector element.
Apparently, this is not allowed.
-
6034fa70
by Hans-Kristian Arntzen at 2025-08-07T11:25:40+02:00
README: Add a note clarifying which kinds of GLSL can be cross compiled.
-
0238ebff
by Hans-Kristian Arntzen at 2025-08-07T13:08:21+02:00
Merge pull request #2520 from KhronosGroup/fix-2513
MSL: Always emit gl_Layer for multiview.
-
df3b1cb0
by Hans-Kristian Arntzen at 2025-08-07T13:08:32+02:00
Merge pull request #2521 from KhronosGroup/fix-2515
MSL: Fix edge case where a reference is taken of packed vector element.
-
c9965407
by Hans-Kristian Arntzen at 2025-08-07T13:08:45+02:00
Merge pull request #2522 from KhronosGroup/fix-2516
README: Add a note clarifying which kinds of GLSL can be cross compiled.
-
6ad3ece9
by Hans-Kristian Arntzen at 2025-08-11T14:46:53+02:00
MSL: Don't use fast::normalize for half at all.
Clearly doesn't exist on shader playground, so ... *shrug*
-
7fde3539
by Hans-Kristian Arntzen at 2025-08-11T17:30:12+02:00
Merge pull request #2526 from KhronosGroup/fix-2525
MSL: Don't use fast::normalize for half at all.
-
2afea95c
by Stephan Seitz at 2025-08-14T13:25:28+02:00
glsl: support OpAccessChain on OpTypeCooperativeVectorNV
-
7ff43ba9
by Hans-Kristian Arntzen at 2025-08-15T11:32:16+02:00
Be more memory efficient when moving _expression_ invalidations around.
-
6458ad0c
by Hans-Kristian Arntzen at 2025-08-15T11:56:50+02:00
Deal with pathological recursion scenarios.
If there's a bajillion back-to-back if () {} if () {},
it's possible to stack overflow. Mitigate this by implementing manual
tail calls for simple cases.
-
bbc88687
by Hans-Kristian Arntzen at 2025-08-15T15:56:16+02:00
Rewrite CFG traversal algorithm to not be recursive.
Similar concern as for block emission.
-
4b7bcb7e
by Hans-Kristian Arntzen at 2025-08-15T16:07:56+02:00
Merge pull request #2531 from KhronosGroup/cfg-traversal-stack-flatten
Fix some pathological recursion issues
-
7789fe4d
by Hans-Kristian Arntzen at 2025-08-15T16:37:16+02:00
Merge pull request #2528 from theHamsta/coopvec-accesschains
glsl: support OpAccessChain on OpTypeCooperativeVectorNV
-
28c68ff9
by Hans-Kristian Arntzen at 2025-08-15T16:57:27+02:00
MSL: Fix crash when using force-native-arrays in some cases.
-
2ea5d373
by Hans-Kristian Arntzen at 2025-08-15T17:16:38+02:00
Merge pull request #2532 from KhronosGroup/fix-2530
MSL: Fix crash when using force-native-arrays in some cases.
-
c5f8ea1d
by assiduous at 2025-08-16T10:35:01-07:00
Add source language to parsed IR source data
-
f2a2b1bc
by Hans-Kristian Arntzen at 2025-08-18T14:29:11+02:00
Add helper to query effective float_controls2 per-op.
-
ec606946
by Hans-Kristian Arntzen at 2025-08-18T14:29:11+02:00
Expand type_is_floating_point to new coopmat types.
-
4eb2bb3e
by Hans-Kristian Arntzen at 2025-08-18T14:29:11+02:00
Reroute any NoContraction queries through float controls.
-
abee6bff
by Hans-Kristian Arntzen at 2025-08-18T14:29:11+02:00
MSL: Attempt to deal with float controls and trancendentals.
Fast variants of these can apparently lose NaN, which is not allowed
when appropriate float controls are set.
-
1c7a5584
by Hans-Kristian Arntzen at 2025-08-18T14:36:10+02:00
Merge pull request #2533 from DiligentGraphics/diligent-sdk-1.4.321
Add source language to parsed IR source data
-
0a88b2d5
by Hans-Kristian Arntzen at 2025-08-18T14:41:26+02:00
Merge pull request #2535 from KhronosGroup/fix-2525
Honor float controls on a per-op level in some situations
-
a127a0f3
by Mikko Strandborg at 2025-08-24T10:27:18+03:00
MSL: Fix boolean spec const as_type<> invalid output
- Updated `emit_specialization_constants_and_structs` to deduplicate function constants and handle boolean types correctly, avoiding illegal bitcasting in Metal.
- Modified `bitcast_glsl_op` to prevent bitcasting to/from boolean types, ensuring compliance with Metal's restrictions.
- Added a new test shader `spec-constant-bool-mixed.asm.frag` to validate the behavior of mixed specialization constants with the same SpecId for boolean and uint types.
-
7a261b4f
by Hans-Kristian Arntzen at 2025-08-29T10:40:39+02:00
Fix validity of new test shader.
-
9ef5f503
by Hans-Kristian Arntzen at 2025-08-29T11:30:59+02:00
Merge pull request #2536 from strandborg/metal-bool-spec-constants
MSL: Fix boolean spec const as_type<> invalid output
-
6585e11e
by Hans-Kristian Arntzen at 2025-08-29T11:33:19+02:00
MSL: Add missing reference output for pr 2536.
-
a2e24af6
by Hans-Kristian Arntzen at 2025-08-29T11:34:41+02:00
MSL: Fix array copy to array inside stage IO Blocks.
Need to consider if the type is actually using explicit layout (in which case we drop array wrapper),
not if it's just block-like, which also covers stage IO.
-
23474ebb
by Hans-Kristian Arntzen at 2025-08-29T12:04:46+02:00
Merge pull request #2540 from KhronosGroup/fix-2527
MSL: Fix array copy to array inside stage IO Blocks.
-
c12d3367
by Hans-Kristian Arntzen at 2025-08-29T14:25:34+02:00
MSL: Don't emit const device for readonly SSBO.
Any attempt to alias these creates pain and suffering.
const pointers don't carry much meaning in C++ anyway unlike readonly in
SPIR-V which gives stronger guarantees about the memory itself being
non-writable, where C++ only blocks writing via that reference.
-
07244428
by Hans-Kristian Arntzen at 2025-08-29T14:34:55+02:00
Merge pull request #2541 from KhronosGroup/fix-2537
MSL: Don't emit const device for readonly SSBO.
-
93f4a53d
by krovee at 2025-09-09T20:55:21+10:00
Fix use of default spirv_cross to SPIRV_CROSS_NAMESPACE in spirv_hlsl.cpp
Change use of default namespace spirv_cross to configurable SPIRV_CROSS_NAMESPACE because sometimes it matters. E.g. in Diligent Engine it is redefined as SPIRV_CROSS_NAMESPACE=diligent_spirv_cross so this line won't compile until we change vanilla namespace to configurable macro.
No other changes that can potentially make functional differences, all tests pass.
-
cad2fca1
by krovee at 2025-09-09T20:56:50+10:00
Merge pull request #1 from krovee/fix/configurable-ns-spirv_hlsl-cpp
Fix use of default spirv_cross to SPIRV_CROSS_NAMESPACE in spirv_hlsl…
-
60c4ec0c
by Hans-Kristian Arntzen at 2025-09-09T13:03:54+02:00
Apply suggestions from code review
-
b26ac3fa
by Hans-Kristian Arntzen at 2025-09-09T18:29:58+02:00
Merge pull request #2543 from krovee/main
Fix: change default namespace spirv_cross to configurable SPIRV_CROSS_NAMESPACE in spirv_hlsl.cpp
-
615699c0
by Hans-Kristian Arntzen at 2025-09-23T12:11:13+02:00
GLSL: Implement extended subgroup types.
-
ac61f0ac
by Hans-Kristian Arntzen at 2025-09-23T12:33:35+02:00
MSL: Add some extra reserved function names.
-
599d35f5
by Hans-Kristian Arntzen at 2025-09-23T12:38:17+02:00
MSL: Deal with 64-bit subgroup shuffles.
-
4331fac7
by Hans-Kristian Arntzen at 2025-09-23T13:09:06+02:00
Merge pull request #2545 from KhronosGroup/fix-2538
Improve handling of subgroup ops with extended types.
-
085818ff
by Hans-Kristian Arntzen at 2025-09-23T15:29:25+02:00
Add ability to override namespace of included spir-v header.
Allows working around issue where the hpp11 header of SPIR-V uses a conflicting
namespace.
-
9868edce
by Hans-Kristian Arntzen at 2025-09-23T15:42:28+02:00
Merge pull request #2547 from KhronosGroup/fix-2523
Add ability to override namespace of included spir-v header.
-
acf8c8f4
by Hans-Kristian Arntzen at 2025-09-23T16:20:04+02:00
MSL: Get rid of obsolete buffer_aliases_argument vector.
-
d245df33
by Hans-Kristian Arntzen at 2025-09-23T17:17:20+02:00
MSL: Ensure dynamic buffer offsets get a unique name.
-
b0fe8e8f
by Hans-Kristian Arntzen at 2025-09-23T17:28:15+02:00
Merge pull request #2546 from KhronosGroup/fix-2539
MSL: Fix missing use of add_local_variable_name for dynamic offset resources
-
896fc880
by Hans-Kristian Arntzen at 2025-09-24T14:40:20+02:00
MSL: Rethink how discrete variable count descriptor arrays are emitted.
-
29f9df5b
by Hans-Kristian Arntzen at 2025-09-24T14:59:09+02:00
Merge pull request #2548 from KhronosGroup/fix-2542
MSL: Rethink how discrete variable count descriptor arrays are emitted.
-
7affe74d
by Hans-Kristian Arntzen at 2025-09-24T15:07:42+02:00
MSL: Throw on attempting to alias unrolled discrete descriptors.