From 3205c9b691a121459275cebed371a5e7957849c6 Mon Sep 17 00:00:00 2001 From: Zephyron Date: Fri, 18 Apr 2025 14:24:47 +1000 Subject: [PATCH] fix(vulkan): address compiler warnings for Linux - Fix variable shadowing in ShaderManager constructor by renaming parameter - Remove unused variables in vk_texture_manager.cpp to avoid warnings - Fix int conversion warning in syscall return value These changes fix build errors when using certain optimized compile flags for Linux. Signed-off-by: Zephyron --- .../renderer_vulkan/vk_shader_util.cpp | 2 +- .../renderer_vulkan/vk_texture_manager.cpp | 37 ++++++++++--------- .../vulkan_common/hybrid_memory.cpp | 2 +- 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/src/video_core/renderer_vulkan/vk_shader_util.cpp b/src/video_core/renderer_vulkan/vk_shader_util.cpp index 054532786..c2d365411 100644 --- a/src/video_core/renderer_vulkan/vk_shader_util.cpp +++ b/src/video_core/renderer_vulkan/vk_shader_util.cpp @@ -242,7 +242,7 @@ void AsyncCompileShader(const Device& device, const std::string& shader_path, }).detach(); } -ShaderManager::ShaderManager(const Device& device) : device(device) { +ShaderManager::ShaderManager(const Device& device_) : device(device_) { // Initialize command queue system InitializeCommandQueue(); } diff --git a/src/video_core/renderer_vulkan/vk_texture_manager.cpp b/src/video_core/renderer_vulkan/vk_texture_manager.cpp index bad6c99f4..6eea83e65 100644 --- a/src/video_core/renderer_vulkan/vk_texture_manager.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_manager.cpp @@ -116,26 +116,27 @@ vk::Image TextureManager::LoadTexture(const std::string& texture_path) { vk::Image TextureManager::CreateDefaultTexture() { // Create a small default texture (1x1 pixel) to use as a fallback - const VkExtent2D extent{1, 1}; + // const VkExtent2D extent{1, 1}; // Create image - const VkImageCreateInfo image_ci{ - .sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, - .pNext = nullptr, - .flags = 0, - .imageType = VK_IMAGE_TYPE_2D, - .format = texture_format, - .extent = {extent.width, extent.height, 1}, - .mipLevels = 1, - .arrayLayers = 1, - .samples = VK_SAMPLE_COUNT_1_BIT, - .tiling = VK_IMAGE_TILING_OPTIMAL, - .usage = VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_SAMPLED_BIT, - .sharingMode = VK_SHARING_MODE_EXCLUSIVE, - .queueFamilyIndexCount = 0, - .pQueueFamilyIndices = nullptr, - .initialLayout = VK_IMAGE_LAYOUT_UNDEFINED, - }; + // Avoid unused variable warning by commenting out the unused struct + // VkImageCreateInfo image_ci{ + // .sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, + // .pNext = nullptr, + // .flags = 0, + // .imageType = VK_IMAGE_TYPE_2D, + // .format = texture_format, + // .extent = {extent.width, extent.height, 1}, + // .mipLevels = 1, + // .arrayLayers = 1, + // .samples = VK_SAMPLE_COUNT_1_BIT, + // .tiling = VK_IMAGE_TILING_OPTIMAL, + // .usage = VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_SAMPLED_BIT, + // .sharingMode = VK_SHARING_MODE_EXCLUSIVE, + // .queueFamilyIndexCount = 0, + // .pQueueFamilyIndices = nullptr, + // .initialLayout = VK_IMAGE_LAYOUT_UNDEFINED, + // }; // TODO: create an actual VkImage [ZEP] LOG_INFO(Render_Vulkan, "Created default fallback texture"); diff --git a/src/video_core/vulkan_common/hybrid_memory.cpp b/src/video_core/vulkan_common/hybrid_memory.cpp index 893f9dfe2..bb06fae98 100644 --- a/src/video_core/vulkan_common/hybrid_memory.cpp +++ b/src/video_core/vulkan_common/hybrid_memory.cpp @@ -205,7 +205,7 @@ void FaultManagedAllocator::ExceptionHandlerThread() { void FaultManagedAllocator::Initialize(void* base, size_t size) { #if defined(__linux__) || defined(__ANDROID__) - uffd = syscall(SYS_userfaultfd, O_CLOEXEC | O_NONBLOCK); + uffd = static_cast(syscall(SYS_userfaultfd, O_CLOEXEC | O_NONBLOCK)); if (uffd < 0) { LOG_ERROR(Render_Vulkan, "Failed to create userfaultfd, fault handling disabled"); return;