From 00da9ebd7ebd7d0af959135559f4c2aaaea63476 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Lorette?= Date: Wed, 19 Mar 2025 08:33:20 +0100 Subject: [PATCH 1/2] add rules in valgrind.supp --- valgrind.supp | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/valgrind.supp b/valgrind.supp index aee48d4..3e24db9 100644 --- a/valgrind.supp +++ b/valgrind.supp @@ -158,3 +158,66 @@ obj:*libdbus-1.so* ... } +{ + vulkan_lvp_leaks + Memcheck:Leak + fun:* + ... + obj:*libvulkan_lvp.so* + ... +} +{ + vulkan_intel_leaks + Memcheck:Leak + fun:* + ... + obj:*libvulkan_intel.so* + ... +} +{ + vulkan_base_leaks + Memcheck:Leak + fun:* + ... + obj:*libvulkan.so* + ... +} +{ + vulkan_mesa_leaks + Memcheck:Leak + fun:* + ... + obj:*libVkLayer_MESA_device_select.so* + ... +} +{ + vulkan_read_errors + Memcheck:Addr1 + ... + obj:*libvulkan* + ... +} +{ + vulkan_read_errors_intel + Memcheck:Addr1 + ... + obj:*libvulkan_intel.so* + ... +} +{ + nvidia_thread_read_errors + Memcheck:Addr1 + ... + obj:*libnvidia-glcore.so* + ... + fun:start_thread + ... +} +{ + nvidia_specific_thread_error + Memcheck:Addr1 + obj:*libnvidia-glcore.so.550.120* + obj:*libnvidia-glcore.so.550.120* + fun:start_thread + fun:clone +} From bc1da5a177ea99a6823430aed30ce28481aed676 Mon Sep 17 00:00:00 2001 From: Kbz-8 Date: Mon, 23 Jun 2025 20:35:36 +0200 Subject: [PATCH 2/2] fixing image set pixel --- runtime/Sources/Renderer/Image.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/runtime/Sources/Renderer/Image.cpp b/runtime/Sources/Renderer/Image.cpp index ee3ade6..0aa37b2 100644 --- a/runtime/Sources/Renderer/Image.cpp +++ b/runtime/Sources/Renderer/Image.cpp @@ -218,7 +218,7 @@ namespace mlx void Texture::SetPixel(int x, int y, mlx_color color) noexcept { MLX_PROFILE_FUNCTION(); - if(x < 0 || y < 0 || static_cast(x) > m_width || static_cast(y) > m_height) + if(x < 0 || y < 0 || static_cast(x) >= m_width || static_cast(y) >= m_height) return; if(!m_staging_buffer.has_value()) OpenCPUBuffer(); @@ -232,7 +232,7 @@ namespace mlx void Texture::SetRegion(int x, int y, int w, int h, mlx_color* pixels) noexcept { MLX_PROFILE_FUNCTION(); - if(x < 0 || y < 0 || static_cast(x) > m_width || static_cast(y) > m_height) + if(x < 0 || y < 0 || static_cast(x) >= m_width || static_cast(y) >= m_height) return; if(w < 0 || h < 0) return; @@ -258,7 +258,7 @@ namespace mlx void Texture::SetLinearRegion(int x, int y, std::size_t len, mlx_color* pixels) noexcept { MLX_PROFILE_FUNCTION(); - if(x < 0 || y < 0 || static_cast(x) > m_width || static_cast(y) > m_height) + if(x < 0 || y < 0 || static_cast(x) >= m_width || static_cast(y) >= m_height) return; if(!m_staging_buffer.has_value()) OpenCPUBuffer(); @@ -282,7 +282,7 @@ namespace mlx mlx_color Texture::GetPixel(int x, int y) noexcept { MLX_PROFILE_FUNCTION(); - if(x < 0 || y < 0 || static_cast(x) > m_width || static_cast(y) > m_height) + if(x < 0 || y < 0 || static_cast(x) >= m_width || static_cast(y) >= m_height) return { .rgba = 0x00000000 }; if(!m_staging_buffer.has_value()) OpenCPUBuffer(); @@ -295,7 +295,7 @@ namespace mlx void Texture::GetRegion(int x, int y, int w, int h, mlx_color* dst) noexcept { MLX_PROFILE_FUNCTION(); - if(x < 0 || y < 0 || static_cast(x) > m_width || static_cast(y) > m_height) + if(x < 0 || y < 0 || static_cast(x) >= m_width || static_cast(y) >= m_height) return; if(!m_staging_buffer.has_value()) OpenCPUBuffer();