diff --git a/Source/Engine/Engine/NativeInterop.cs b/Source/Engine/Engine/NativeInterop.cs index 745a01c2f..082c6999a 100644 --- a/Source/Engine/Engine/NativeInterop.cs +++ b/Source/Engine/Engine/NativeInterop.cs @@ -422,7 +422,7 @@ namespace FlaxEngine.Interop return fieldOffset; #elif DOTNET_HOST_MONO // Get the address from _MonoClassField::offset, source: https://meetemq.com/2023/09/10/nets-fields-and-their-offsets/ - IntPtr fieldOffsetPtr = (IntPtr*)field.FieldHandle.Value; // Pointer to MonoClassField + var fieldOffsetPtr = (IntPtr*)field.FieldHandle.Value; // Pointer to MonoClassField fieldOffsetPtr += 3; // Skip three pointers (type, name, parent_and_flags) return *(int*)fieldOffsetPtr - IntPtr.Size * 2; // Load the value of a pointer (4 bytes, int32), then subtracting 16 bytes from it (2 pointers for vtable and threadsync) #endif diff --git a/Source/Engine/GraphicsDevice/Vulkan/GPUContextVulkan.cpp b/Source/Engine/GraphicsDevice/Vulkan/GPUContextVulkan.cpp index 2db4e202a..2afb18349 100644 --- a/Source/Engine/GraphicsDevice/Vulkan/GPUContextVulkan.cpp +++ b/Source/Engine/GraphicsDevice/Vulkan/GPUContextVulkan.cpp @@ -1388,7 +1388,7 @@ void GPUContextVulkan::UpdateBuffer(GPUBuffer* buffer, const void* data, uint32 } else { - auto allocation = _device->UploadBuffer.Upload(data, size, 4); + auto allocation = _device->UploadBuffer.Upload(data, size, PLATFORM_MEMORY_ALIGNMENT); VkBufferCopy region; region.size = size; diff --git a/Source/Engine/GraphicsDevice/Vulkan/UploadBufferVulkan.cpp b/Source/Engine/GraphicsDevice/Vulkan/UploadBufferVulkan.cpp index 15b58a8b4..3a0258c8c 100644 --- a/Source/Engine/GraphicsDevice/Vulkan/UploadBufferVulkan.cpp +++ b/Source/Engine/GraphicsDevice/Vulkan/UploadBufferVulkan.cpp @@ -111,6 +111,7 @@ UploadBufferVulkan::Allocation UploadBufferVulkan::Allocate(uint64 size, uint64 // Move within a page _currentOffset += size; + ASSERT_LOW_LAYER(_currentOffset <= _currentPage->Size); return result; } diff --git a/Source/Engine/Renderer/RenderList.cpp b/Source/Engine/Renderer/RenderList.cpp index 50bf00f57..72b9a4e20 100644 --- a/Source/Engine/Renderer/RenderList.cpp +++ b/Source/Engine/Renderer/RenderList.cpp @@ -749,10 +749,7 @@ void RenderList::SortDrawCalls(const RenderContext& renderContext, bool reverseD else { for (int32 i = 0; i < listSize; i++) - { - const DrawCall& drawCall = drawCallsData[listData[i]]; - sortedKeys[i] = drawCall.SortKey; - } + sortedKeys[i] = drawCallsData[listData[i]].SortKey; } // Sort draw calls indices