From 64b19fc504ac680da209741cadcfe51f0d7d66c4 Mon Sep 17 00:00:00 2001 From: Thomas Stehle Date: Sat, 19 Jul 2025 14:02:41 +0200 Subject: [PATCH] Added missing handling of texture address mode to SDL render Vulkan backend --- src/render/vulkan/SDL_render_vulkan.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/render/vulkan/SDL_render_vulkan.c b/src/render/vulkan/SDL_render_vulkan.c index 0fe78973df..6eff6c4daf 100644 --- a/src/render/vulkan/SDL_render_vulkan.c +++ b/src/render/vulkan/SDL_render_vulkan.c @@ -3735,6 +3735,28 @@ static VkSampler VULKAN_GetSampler(VULKAN_RenderData *data, SDL_ScaleMode scale_ SDL_SetError("Unknown scale mode: %d", scale_mode); return VK_NULL_HANDLE; } + switch (address_u) { + case SDL_TEXTURE_ADDRESS_CLAMP: + samplerCreateInfo.addressModeU = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE; + break; + case SDL_TEXTURE_ADDRESS_WRAP: + samplerCreateInfo.addressModeU = VK_SAMPLER_ADDRESS_MODE_REPEAT; + break; + default: + SDL_SetError("Unknown texture address mode: %d", address_u); + return VK_NULL_HANDLE; + } + switch (address_v) { + case SDL_TEXTURE_ADDRESS_CLAMP: + samplerCreateInfo.addressModeV = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE; + break; + case SDL_TEXTURE_ADDRESS_WRAP: + samplerCreateInfo.addressModeV = VK_SAMPLER_ADDRESS_MODE_REPEAT; + break; + default: + SDL_SetError("Unknown texture address mode: %d", address_v); + return VK_NULL_HANDLE; + } VkResult result = vkCreateSampler(data->device, &samplerCreateInfo, NULL, &data->samplers[key]); if (result != VK_SUCCESS) { SET_ERROR_CODE("vkCreateSampler()", result);