Skip to content

Commit 34a97ff

Browse files
TheSpydogflibitijibibo
authored andcommitted
Remove support for border colors (#50)
1 parent a93c1b0 commit 34a97ff

File tree

4 files changed

+7
-78
lines changed

4 files changed

+7
-78
lines changed

include/SDL3/SDL_gpu.h

+1-14
Original file line numberDiff line numberDiff line change
@@ -319,21 +319,9 @@ typedef enum SDL_GpuSamplerAddressMode
319319
{
320320
SDL_GPU_SAMPLERADDRESSMODE_REPEAT,
321321
SDL_GPU_SAMPLERADDRESSMODE_MIRRORED_REPEAT,
322-
SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE,
323-
SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_BORDER
322+
SDL_GPU_SAMPLERADDRESSMODE_CLAMP_TO_EDGE
324323
} SDL_GpuSamplerAddressMode;
325324

326-
/* FIXME: we should probably make a library-level decision about color types */
327-
typedef enum SDL_GpuBorderColor
328-
{
329-
SDL_GPU_BORDERCOLOR_FLOAT_TRANSPARENT_BLACK,
330-
SDL_GPU_BORDERCOLOR_INT_TRANSPARENT_BLACK,
331-
SDL_GPU_BORDERCOLOR_FLOAT_OPAQUE_BLACK,
332-
SDL_GPU_BORDERCOLOR_INT_OPAQUE_BLACK,
333-
SDL_GPU_BORDERCOLOR_FLOAT_OPAQUE_WHITE,
334-
SDL_GPU_BORDERCOLOR_INT_OPAQUE_WHITE
335-
} SDL_GpuBorderColor;
336-
337325
/*
338326
* VSYNC:
339327
* Waits for vblank before presenting.
@@ -486,7 +474,6 @@ typedef struct SDL_GpuSamplerCreateInfo
486474
SDL_GpuCompareOp compareOp;
487475
float minLod;
488476
float maxLod;
489-
SDL_GpuBorderColor borderColor;
490477
} SDL_GpuSamplerCreateInfo;
491478

492479
typedef struct SDL_GpuVertexBinding

src/gpu/d3d11/SDL_gpu_d3d11.c

+2-39
Original file line numberDiff line numberDiff line change
@@ -374,41 +374,9 @@ static D3D11_INPUT_CLASSIFICATION SDLToD3D11_VertexInputRate[] = {
374374
static D3D11_TEXTURE_ADDRESS_MODE SDLToD3D11_SamplerAddressMode[] = {
375375
D3D11_TEXTURE_ADDRESS_WRAP, /* REPEAT */
376376
D3D11_TEXTURE_ADDRESS_MIRROR, /* MIRRORED_REPEAT */
377-
D3D11_TEXTURE_ADDRESS_CLAMP, /* CLAMP_TO_EDGE */
378-
D3D11_TEXTURE_ADDRESS_BORDER /* CLAMP_TO_BORDER */
377+
D3D11_TEXTURE_ADDRESS_CLAMP /* CLAMP_TO_EDGE */
379378
};
380379

381-
static void SDLToD3D11_BorderColor(
382-
SDL_GpuSamplerCreateInfo *createInfo,
383-
D3D11_SAMPLER_DESC *desc)
384-
{
385-
switch (createInfo->borderColor) {
386-
case SDL_GPU_BORDERCOLOR_FLOAT_OPAQUE_BLACK:
387-
case SDL_GPU_BORDERCOLOR_INT_OPAQUE_BLACK:
388-
desc->BorderColor[0] = 0.0f;
389-
desc->BorderColor[1] = 0.0f;
390-
desc->BorderColor[2] = 0.0f;
391-
desc->BorderColor[3] = 1.0f;
392-
break;
393-
394-
case SDL_GPU_BORDERCOLOR_FLOAT_OPAQUE_WHITE:
395-
case SDL_GPU_BORDERCOLOR_INT_OPAQUE_WHITE:
396-
desc->BorderColor[0] = 1.0f;
397-
desc->BorderColor[1] = 1.0f;
398-
desc->BorderColor[2] = 1.0f;
399-
desc->BorderColor[3] = 1.0f;
400-
break;
401-
402-
case SDL_GPU_BORDERCOLOR_FLOAT_TRANSPARENT_BLACK:
403-
case SDL_GPU_BORDERCOLOR_INT_TRANSPARENT_BLACK:
404-
desc->BorderColor[0] = 0.0f;
405-
desc->BorderColor[1] = 0.0f;
406-
desc->BorderColor[2] = 0.0f;
407-
desc->BorderColor[3] = 0.0f;
408-
break;
409-
}
410-
}
411-
412380
static D3D11_FILTER SDLToD3D11_Filter(SDL_GpuSamplerCreateInfo *createInfo)
413381
{
414382
if (createInfo->minFilter == SDL_GPU_FILTER_LINEAR) {
@@ -1875,17 +1843,13 @@ static SDL_GpuSampler *D3D11_CreateSampler(
18751843
samplerDesc.AddressU = SDLToD3D11_SamplerAddressMode[samplerCreateInfo->addressModeU];
18761844
samplerDesc.AddressV = SDLToD3D11_SamplerAddressMode[samplerCreateInfo->addressModeV];
18771845
samplerDesc.AddressW = SDLToD3D11_SamplerAddressMode[samplerCreateInfo->addressModeW];
1878-
1879-
SDLToD3D11_BorderColor(
1880-
samplerCreateInfo,
1881-
&samplerDesc);
1882-
18831846
samplerDesc.ComparisonFunc = (samplerCreateInfo->compareEnable ? SDLToD3D11_CompareOp[samplerCreateInfo->compareOp] : SDLToD3D11_CompareOp[SDL_GPU_COMPAREOP_ALWAYS]);
18841847
samplerDesc.MaxAnisotropy = (samplerCreateInfo->anisotropyEnable ? (UINT)samplerCreateInfo->maxAnisotropy : 0);
18851848
samplerDesc.Filter = SDLToD3D11_Filter(samplerCreateInfo);
18861849
samplerDesc.MaxLOD = samplerCreateInfo->maxLod;
18871850
samplerDesc.MinLOD = samplerCreateInfo->minLod;
18881851
samplerDesc.MipLODBias = samplerCreateInfo->mipLodBias;
1852+
SDL_zeroa(samplerDesc.BorderColor); /* arbitrary, unused */
18891853

18901854
res = ID3D11Device_CreateSamplerState(
18911855
renderer->device,
@@ -6059,7 +6023,6 @@ static void D3D11_INTERNAL_InitBlitPipelines(
60596023
samplerCreateInfo.mipLodBias = 0.0f;
60606024
samplerCreateInfo.minLod = 0;
60616025
samplerCreateInfo.maxLod = 1000;
6062-
samplerCreateInfo.borderColor = SDL_GPU_BORDERCOLOR_FLOAT_TRANSPARENT_BLACK;
60636026

60646027
renderer->blitNearestSampler = D3D11_CreateSampler(
60656028
(SDL_GpuRenderer *)renderer,

src/gpu/metal/SDL_gpu_metal.m

+2-13
Original file line numberDiff line numberDiff line change
@@ -250,17 +250,7 @@ static void METAL_UnclaimWindow(
250250
static MTLSamplerAddressMode SDLToMetal_SamplerAddressMode[] = {
251251
MTLSamplerAddressModeRepeat, /* REPEAT */
252252
MTLSamplerAddressModeMirrorRepeat, /* MIRRORED_REPEAT */
253-
MTLSamplerAddressModeClampToEdge, /* CLAMP_TO_EDGE */
254-
MTLSamplerAddressModeClampToBorderColor, /* CLAMP_TO_BORDER */
255-
};
256-
257-
static MTLSamplerBorderColor SDLToMetal_BorderColor[] = {
258-
MTLSamplerBorderColorTransparentBlack, /* FLOAT_TRANSPARENT_BLACK */
259-
MTLSamplerBorderColorTransparentBlack, /* INT_TRANSPARENT_BLACK */
260-
MTLSamplerBorderColorOpaqueBlack, /* FLOAT_OPAQUE_BLACK */
261-
MTLSamplerBorderColorOpaqueBlack, /* INT_OPAQUE_BLACK */
262-
MTLSamplerBorderColorOpaqueWhite, /* FLOAT_OPAQUE_WHITE */
263-
MTLSamplerBorderColorOpaqueWhite, /* INT_OPAQUE_WHITE */
253+
MTLSamplerAddressModeClampToEdge /* CLAMP_TO_EDGE */
264254
};
265255

266256
static MTLSamplerMinMagFilter SDLToMetal_MinMagFilter[] = {
@@ -1163,14 +1153,14 @@ static void METAL_PopDebugGroup(
11631153
samplerDesc.rAddressMode = SDLToMetal_SamplerAddressMode[samplerCreateInfo->addressModeU];
11641154
samplerDesc.sAddressMode = SDLToMetal_SamplerAddressMode[samplerCreateInfo->addressModeV];
11651155
samplerDesc.tAddressMode = SDLToMetal_SamplerAddressMode[samplerCreateInfo->addressModeW];
1166-
samplerDesc.borderColor = SDLToMetal_BorderColor[samplerCreateInfo->borderColor];
11671156
samplerDesc.minFilter = SDLToMetal_MinMagFilter[samplerCreateInfo->minFilter];
11681157
samplerDesc.magFilter = SDLToMetal_MinMagFilter[samplerCreateInfo->magFilter];
11691158
samplerDesc.mipFilter = SDLToMetal_MipFilter[samplerCreateInfo->mipmapMode]; /* FIXME: Is this right with non-mipmapped samplers? */
11701159
samplerDesc.lodMinClamp = samplerCreateInfo->minLod;
11711160
samplerDesc.lodMaxClamp = samplerCreateInfo->maxLod;
11721161
samplerDesc.maxAnisotropy = (NSUInteger)((samplerCreateInfo->anisotropyEnable) ? samplerCreateInfo->maxAnisotropy : 1);
11731162
samplerDesc.compareFunction = (samplerCreateInfo->compareEnable) ? SDLToMetal_CompareOp[samplerCreateInfo->compareOp] : MTLCompareFunctionAlways;
1163+
samplerDesc.borderColor = MTLSamplerBorderColorTransparentBlack; /* arbitrary, unused */
11741164

11751165
sampler = [renderer->device newSamplerStateWithDescriptor:samplerDesc];
11761166
if (sampler == NULL) {
@@ -3619,7 +3609,6 @@ static void METAL_INTERNAL_InitBlitResources(
36193609
samplerCreateInfo.mipLodBias = 0.0f;
36203610
samplerCreateInfo.minLod = 0;
36213611
samplerCreateInfo.maxLod = 1000;
3622-
samplerCreateInfo.borderColor = SDL_GPU_BORDERCOLOR_FLOAT_TRANSPARENT_BLACK;
36233612

36243613
renderer->blitNearestSampler = METAL_CreateSampler(
36253614
(SDL_GpuRenderer *)renderer,

src/gpu/vulkan/SDL_gpu_vulkan.c

+2-12
Original file line numberDiff line numberDiff line change
@@ -324,17 +324,7 @@ static VkSamplerMipmapMode SDLToVK_SamplerMipmapMode[] = {
324324
static VkSamplerAddressMode SDLToVK_SamplerAddressMode[] = {
325325
VK_SAMPLER_ADDRESS_MODE_REPEAT,
326326
VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT,
327-
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE,
328-
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER
329-
};
330-
331-
static VkBorderColor SDLToVK_BorderColor[] = {
332-
VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,
333-
VK_BORDER_COLOR_INT_TRANSPARENT_BLACK,
334-
VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK,
335-
VK_BORDER_COLOR_INT_OPAQUE_BLACK,
336-
VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE,
337-
VK_BORDER_COLOR_INT_OPAQUE_WHITE
327+
VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
338328
};
339329

340330
/* Structures */
@@ -6599,7 +6589,7 @@ static SDL_GpuSampler *VULKAN_CreateSampler(
65996589
vkSamplerCreateInfo.compareOp = SDLToVK_CompareOp[samplerCreateInfo->compareOp];
66006590
vkSamplerCreateInfo.minLod = samplerCreateInfo->minLod;
66016591
vkSamplerCreateInfo.maxLod = samplerCreateInfo->maxLod;
6602-
vkSamplerCreateInfo.borderColor = SDLToVK_BorderColor[samplerCreateInfo->borderColor];
6592+
vkSamplerCreateInfo.borderColor = VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK; /* arbitrary, unused */
66036593
vkSamplerCreateInfo.unnormalizedCoordinates = VK_FALSE;
66046594

66056595
vulkanResult = renderer->vkCreateSampler(

0 commit comments

Comments
 (0)