diff --git a/modules/renderer/private/backend/vk/context/instance.cpp b/modules/renderer/private/backend/vk/context/instance.cpp index 0f832c1..6ba6054 100644 --- a/modules/renderer/private/backend/vk/context/instance.cpp +++ b/modules/renderer/private/backend/vk/context/instance.cpp @@ -112,7 +112,7 @@ Instance::~Instance() unload_library(); } -__attribute__((no_sanitize("memory"))) void Instance::initialize_instance() +void Instance::initialize_instance() { auto app_info = VkApplicationInfo { .sType = VK_STRUCTURE_TYPE_APPLICATION_INFO, @@ -231,7 +231,7 @@ __attribute__((no_sanitize("memory"))) void Instance::initialize_instance() ensure(m_instance, "Failed to create vulkan instance"); } -__attribute__((no_sanitize("memory"))) void Instance::load_library() +void Instance::load_library() { constexpr auto runtime_loader_flags = RTLD_NOW | RTLD_LOCAL | RTLD_NODELETE; library = dlopen("libvulkan.so.1", runtime_loader_flags); @@ -248,7 +248,7 @@ __attribute__((no_sanitize("memory"))) void Instance::load_library() ensure(vk_get_instance_proc_address, "Failed to load vulkan function: vkGetInstanceProcAddr"); } -__attribute__((no_sanitize("memory"))) void Instance::unload_library() +void Instance::unload_library() { if (!library) { @@ -263,7 +263,7 @@ __attribute__((no_sanitize("memory"))) void Instance::unload_library() // library = nullptr; } -__attribute__((no_sanitize("memory"))) void Instance::load_global_functions() +void Instance::load_global_functions() { constexpr auto load_fn = [](T &pfn, const char *fn_name) { // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) @@ -277,7 +277,7 @@ __attribute__((no_sanitize("memory"))) void Instance::load_global_functions() load_fn(vk_enumerate_instance_layer_properties, "vkEnumerateInstanceLayerProperties"); } -__attribute__((no_sanitize("memory"))) void Instance::load_instance_functions() +void Instance::load_instance_functions() { const auto load_fn = [&](T &pfn, const char *fn_name) { // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) @@ -321,7 +321,7 @@ __attribute__((no_sanitize("memory"))) void Instance::load_instance_functions() load_fn(vk_destroy_surface_khr, "vkDestroySurfaceKHR"); } -__attribute__((no_sanitize("memory"))) void Instance::load_device_functions_impl(VkDevice device) +void Instance::load_device_functions_impl(VkDevice device) { const auto load_fn = [&](T &pfn, const char *fn_name) { // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) diff --git a/modules/renderer/private/backend/vk/context/instance.hpp b/modules/renderer/private/backend/vk/context/instance.hpp index 0e86da2..05e7a76 100644 --- a/modules/renderer/private/backend/vk/context/instance.hpp +++ b/modules/renderer/private/backend/vk/context/instance.hpp @@ -64,18 +64,17 @@ private: Instance(); - __attribute__((no_sanitize("memory"))) void initialize_instance(); + void initialize_instance(); - __attribute__((no_sanitize("memory"))) void load_library(); + void load_library(); - __attribute__((no_sanitize("memory"))) void unload_library(); + void unload_library(); - __attribute__((no_sanitize("memory"))) void load_global_functions(); + void load_global_functions(); - __attribute__((no_sanitize("memory"))) void load_instance_functions(); - - __attribute__((no_sanitize("memory"))) void load_device_functions_impl(VkDevice device); + void load_instance_functions(); + void load_device_functions_impl(VkDevice device); VkInstance m_instance = VK_NULL_HANDLE; VkAllocationCallbacks *m_allocator = nullptr; diff --git a/modules/surface/private/linux/system.cpp b/modules/surface/private/linux/system.cpp index b98ec6e..ac310b6 100644 --- a/modules/surface/private/linux/system.cpp +++ b/modules/surface/private/linux/system.cpp @@ -12,7 +12,6 @@ #include // -#include namespace lt::surface { @@ -105,10 +104,7 @@ void System::on_unregister() { } -__attribute__((no_sanitize_memory)) void System::create_surface_component( - ecs::EntityId entity, - SurfaceComponent::CreateInfo info -) +void System::create_surface_component(ecs::EntityId entity, SurfaceComponent::CreateInfo info) try { auto &component = m_registry->add(entity, info); @@ -171,11 +167,6 @@ try auto hints = std::array { 2, 0, 0, 0, 0 }; const auto motif_hints = XInternAtom(display, "_MOTIF_WM_HINTS", False); -#if defined(__clang__) && __has_feature(memory_sanitizer) - auto bytes = (size_t)(1u) * (size_t)hints.size(); - __msan_unpoison((void *)hints.data(), bytes); -#endif - XChangeProperty( display, surface.m_native_data.window, @@ -344,10 +335,7 @@ void System::modify_title(SurfaceComponent &surface, const ModifyTitleRequest &r XStoreName(display, window, request.title.c_str()); } -__attribute__((no_sanitize("memory"))) void System::modify_resolution( - SurfaceComponent &surface, - const ModifyResolutionRequest &request -) +void System::modify_resolution(SurfaceComponent &surface, const ModifyResolutionRequest &request) { // surface.m_resolution = request.resolution; diff --git a/modules/surface/public/system.hpp b/modules/surface/public/system.hpp index 6993d49..24e36e9 100644 --- a/modules/surface/public/system.hpp +++ b/modules/surface/public/system.hpp @@ -27,10 +27,7 @@ public: void on_unregister() override; - __attribute__((no_sanitize("memory"))) void create_surface_component( - ecs::EntityId entity, - SurfaceComponent::CreateInfo info - ); + void create_surface_component(ecs::EntityId entity, SurfaceComponent::CreateInfo info); void tick(app::TickInfo tick) override; @@ -48,12 +45,12 @@ private: void modify_title(struct SurfaceComponent &surface, const struct ModifyTitleRequest &request); - __attribute__((no_sanitize("memory"))) void modify_resolution( + void modify_resolution( struct SurfaceComponent &surface, const struct ModifyResolutionRequest &request ); - __attribute__((no_sanitize("memory"))) void modify_position( + void modify_position( struct SurfaceComponent &surface, const struct ModifyPositionRequest &request );