From f1b6c13ba9d63e2634c5f6206cc5252b01ea70a0 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Thu, 26 Mar 2026 15:33:55 +0100 Subject: [PATCH] Fix PixelFormatSampler.Write` in C# to actually work --- Source/Engine/Graphics/Models/MeshAccessor.cs | 18 +++++++++--------- Source/Engine/Graphics/PixelFormatSampler.cs | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Source/Engine/Graphics/Models/MeshAccessor.cs b/Source/Engine/Graphics/Models/MeshAccessor.cs index 1db33b5ba..8e9050e5a 100644 --- a/Source/Engine/Graphics/Models/MeshAccessor.cs +++ b/Source/Engine/Graphics/Models/MeshAccessor.cs @@ -157,7 +157,7 @@ namespace FlaxEngine #endif var v = new Float4(value); fixed (byte* data = _data) - _sampler.Write(data + index * _stride, ref v); + _sampler.Write(data + index * _stride, &v); } /// @@ -173,7 +173,7 @@ namespace FlaxEngine #endif var v = new Float4(value); fixed (byte* data = _data) - _sampler.Write(data + index * _stride, ref v); + _sampler.Write(data + index * _stride, &v); } /// @@ -189,7 +189,7 @@ namespace FlaxEngine #endif var v = new Float4(value, 0.0f, 0.0f); fixed (byte* data = _data) - _sampler.Write(data + index * _stride, ref v); + _sampler.Write(data + index * _stride, &v); } /// @@ -205,7 +205,7 @@ namespace FlaxEngine #endif var v = new Float4(value, 0.0f); fixed (byte* data = _data) - _sampler.Write(data + index * _stride, ref v); + _sampler.Write(data + index * _stride, &v); } /// @@ -220,7 +220,7 @@ namespace FlaxEngine throw new NullReferenceException("Missing stream data. Ensure to allocate mesh buffer or check for its existence."); #endif fixed (byte* data = _data) - _sampler.Write(data + index * _stride, ref value); + _sampler.Write(data + index * _stride, &value); } /// @@ -259,7 +259,7 @@ namespace FlaxEngine for (int i = 0; i < count; i++) { var v = new Float4(src[i], 0.0f, 0.0f); - _sampler.Write(data + i * _stride, ref v); + _sampler.Write(data + i * _stride, &v); } } } @@ -287,7 +287,7 @@ namespace FlaxEngine for (int i = 0; i < count; i++) { var v = new Float4(src[i], 0.0f); - _sampler.Write(data + i * _stride, ref v); + _sampler.Write(data + i * _stride, &v); } } } @@ -315,7 +315,7 @@ namespace FlaxEngine for (int i = 0; i < count; i++) { var v = (Float4)src[i]; - _sampler.Write(data + i * _stride, ref v); + _sampler.Write(data + i * _stride, &v); } } } @@ -352,7 +352,7 @@ namespace FlaxEngine for (int i = 0; i < count; i++) { var v = new Float4(src[i]); - _sampler.Write(data + i * _stride, ref v); + _sampler.Write(data + i * _stride, &v); } } } diff --git a/Source/Engine/Graphics/PixelFormatSampler.cs b/Source/Engine/Graphics/PixelFormatSampler.cs index 8ff5a32fb..62046b2a5 100644 --- a/Source/Engine/Graphics/PixelFormatSampler.cs +++ b/Source/Engine/Graphics/PixelFormatSampler.cs @@ -22,7 +22,7 @@ namespace FlaxEngine /// /// Write data function. /// - public delegate* unmanaged Write; + public delegate* unmanaged Write; /// /// Tries to get a sampler tool for the specified format to read pixels. @@ -38,7 +38,7 @@ namespace FlaxEngine Format = format, PixelSize = pixelSize, Read = (delegate* unmanaged)read.ToPointer(), - Write = (delegate* unmanaged)write.ToPointer(), + Write = (delegate* unmanaged)write.ToPointer(), }; return pixelSize != 0; }