From 550b57db3340857f1ddd883f7a71ea95c4faceac Mon Sep 17 00:00:00 2001 From: Diego Rivero <7670773+dirivero@users.noreply.github.com> Date: Thu, 30 Apr 2026 23:04:13 -0300 Subject: [PATCH] Fix DeviceLuid byte ordering on MacOS GPU interop (#21293) bytes.Reverse() was resolving to System.Linq.Enumberable.Reverse(). Forcing now to MemoryExtensions.Reverse(Span) by calling AsSpan(). --- src/Avalonia.Native/AvaloniaNativeGlPlatformGraphics.cs | 2 +- src/Avalonia.Native/Metal.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Avalonia.Native/AvaloniaNativeGlPlatformGraphics.cs b/src/Avalonia.Native/AvaloniaNativeGlPlatformGraphics.cs index 9efe33689f..7e111735cf 100644 --- a/src/Avalonia.Native/AvaloniaNativeGlPlatformGraphics.cs +++ b/src/Avalonia.Native/AvaloniaNativeGlPlatformGraphics.cs @@ -264,7 +264,7 @@ namespace Avalonia.Native { // We are reversing bytes to match MoltenVK (LUID is a Vulkan term after all) var bytes = BitConverter.GetBytes(registryId); - bytes.Reverse(); + bytes.AsSpan().Reverse(); DeviceLuid = bytes; } } diff --git a/src/Avalonia.Native/Metal.cs b/src/Avalonia.Native/Metal.cs index 3137ce1b6b..fba317cc53 100644 --- a/src/Avalonia.Native/Metal.cs +++ b/src/Avalonia.Native/Metal.cs @@ -102,7 +102,7 @@ internal class MetalExternalObjectsFeature : IMetalExternalObjectsFeature if (_device.GetIOKitRegistryId(®istryId) != 0) { var bytes = BitConverter.GetBytes(registryId); - bytes.Reverse(); + bytes.AsSpan().Reverse(); DeviceLuid = bytes; } }