mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-05-31 22:42:52 +08:00
Added missing handling of texture address mode to SDL render Vulkan backend
This commit is contained in:
committed by
Sam Lantinga
parent
86200d1203
commit
64b19fc504
@@ -3735,6 +3735,28 @@ static VkSampler VULKAN_GetSampler(VULKAN_RenderData *data, SDL_ScaleMode scale_
|
|||||||
SDL_SetError("Unknown scale mode: %d", scale_mode);
|
SDL_SetError("Unknown scale mode: %d", scale_mode);
|
||||||
return VK_NULL_HANDLE;
|
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]);
|
VkResult result = vkCreateSampler(data->device, &samplerCreateInfo, NULL, &data->samplers[key]);
|
||||||
if (result != VK_SUCCESS) {
|
if (result != VK_SUCCESS) {
|
||||||
SET_ERROR_CODE("vkCreateSampler()", result);
|
SET_ERROR_CODE("vkCreateSampler()", result);
|
||||||
|
|||||||
Reference in New Issue
Block a user