mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-06-06 06:34:35 +00:00
Merge b414272957 into 1bf6279fc7
This commit is contained in:
commit
accdb2a1c9
12 changed files with 81 additions and 5 deletions
|
|
@ -96,7 +96,11 @@ typedef enum SDL_BlendFactor
|
||||||
SDL_BLENDFACTOR_DST_COLOR = 0x7, /**< dstR, dstG, dstB, dstA */
|
SDL_BLENDFACTOR_DST_COLOR = 0x7, /**< dstR, dstG, dstB, dstA */
|
||||||
SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR = 0x8, /**< 1-dstR, 1-dstG, 1-dstB, 1-dstA */
|
SDL_BLENDFACTOR_ONE_MINUS_DST_COLOR = 0x8, /**< 1-dstR, 1-dstG, 1-dstB, 1-dstA */
|
||||||
SDL_BLENDFACTOR_DST_ALPHA = 0x9, /**< dstA, dstA, dstA, dstA */
|
SDL_BLENDFACTOR_DST_ALPHA = 0x9, /**< dstA, dstA, dstA, dstA */
|
||||||
SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA = 0xA /**< 1-dstA, 1-dstA, 1-dstA, 1-dstA */
|
SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA = 0xA, /**< 1-dstA, 1-dstA, 1-dstA, 1-dstA */
|
||||||
|
SDL_BLENDFACTOR_SRC1_COLOR = 0xB, /**< src1R, src1G, src1B, src1A */
|
||||||
|
SDL_BLENDFACTOR_ONE_MINUS_SRC1_COLOR = 0xC, /**< 1-src1R, 1-src1G, 1-src1B, 1-src1A */
|
||||||
|
SDL_BLENDFACTOR_SRC1_ALPHA = 0xD, /**< src1A, src1A, src1A, src1A */
|
||||||
|
SDL_BLENDFACTOR_ONE_MINUS_SRC1_ALPHA = 0xE /**< 1-src1A, 1-src1A, 1-src1A, 1-src1A */
|
||||||
} SDL_BlendFactor;
|
} SDL_BlendFactor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1246,7 +1246,11 @@ typedef enum SDL_GPUBlendFactor
|
||||||
SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA, /**< 1 - destination alpha */
|
SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA, /**< 1 - destination alpha */
|
||||||
SDL_GPU_BLENDFACTOR_CONSTANT_COLOR, /**< blend constant */
|
SDL_GPU_BLENDFACTOR_CONSTANT_COLOR, /**< blend constant */
|
||||||
SDL_GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR, /**< 1 - blend constant */
|
SDL_GPU_BLENDFACTOR_ONE_MINUS_CONSTANT_COLOR, /**< 1 - blend constant */
|
||||||
SDL_GPU_BLENDFACTOR_SRC_ALPHA_SATURATE /**< min(source alpha, 1 - destination alpha) */
|
SDL_GPU_BLENDFACTOR_SRC_ALPHA_SATURATE, /**< min(source alpha, 1 - destination alpha) */
|
||||||
|
SDL_GPU_BLENDFACTOR_SRC1_COLOR, /**< second source color */
|
||||||
|
SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC1_COLOR, /**< 1 - second source color */
|
||||||
|
SDL_GPU_BLENDFACTOR_SRC1_ALPHA, /**< second source alpha */
|
||||||
|
SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC1_ALPHA /**< 1 - second source alpha */
|
||||||
} SDL_GPUBlendFactor;
|
} SDL_GPUBlendFactor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -2281,6 +2285,12 @@ extern SDL_DECLSPEC SDL_GPUDevice * SDLCALL SDL_CreateGPUDevice(
|
||||||
* SDL_GPUSamplerCreateInfo must be set to false. Disabling optional
|
* SDL_GPUSamplerCreateInfo must be set to false. Disabling optional
|
||||||
* features allows the application to run on some older Android devices.
|
* features allows the application to run on some older Android devices.
|
||||||
* Defaults to true.
|
* Defaults to true.
|
||||||
|
* - `SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DUAL_SOURCE_BLENDING_BOOLEAN`: Enable
|
||||||
|
* Vulkan device feature dualSrcBlend. If disabled, dual source blend factors
|
||||||
|
* (SDL_BLENDFACTOR_SRC1_COLOR, SDL_BLENDFACTOR_ONE_MINUS_SRC1_COLOR,
|
||||||
|
* SDL_BLENDFACTOR_SRC1_ALPHA, SDL_BLENDFACTOR_ONE_MINUS_SRC1_ALPHA) are not
|
||||||
|
* supported. Disabling optional features allows the application to run on
|
||||||
|
* some older Android devices. Defaults to false.
|
||||||
*
|
*
|
||||||
* These are the current shader format properties:
|
* These are the current shader format properties:
|
||||||
*
|
*
|
||||||
|
|
@ -2370,6 +2380,7 @@ extern SDL_DECLSPEC SDL_GPUDevice * SDLCALL SDL_CreateGPUDeviceWithProperties(
|
||||||
#define SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN "SDL.gpu.device.create.feature.depth_clamping"
|
#define SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN "SDL.gpu.device.create.feature.depth_clamping"
|
||||||
#define SDL_PROP_GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN "SDL.gpu.device.create.feature.indirect_draw_first_instance"
|
#define SDL_PROP_GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN "SDL.gpu.device.create.feature.indirect_draw_first_instance"
|
||||||
#define SDL_PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN "SDL.gpu.device.create.feature.anisotropy"
|
#define SDL_PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN "SDL.gpu.device.create.feature.anisotropy"
|
||||||
|
#define SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DUAL_SOURCE_BLENDING_BOOLEAN "SDL.gpu.device.create.feature.dual_source_blending"
|
||||||
#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOLEAN "SDL.gpu.device.create.shaders.private"
|
#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_PRIVATE_BOOLEAN "SDL.gpu.device.create.shaders.private"
|
||||||
#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOLEAN "SDL.gpu.device.create.shaders.spirv"
|
#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_SPIRV_BOOLEAN "SDL.gpu.device.create.shaders.spirv"
|
||||||
#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOLEAN "SDL.gpu.device.create.shaders.dxbc"
|
#define SDL_PROP_GPU_DEVICE_CREATE_SHADERS_DXBC_BOOLEAN "SDL.gpu.device.create.shaders.dxbc"
|
||||||
|
|
|
||||||
|
|
@ -150,7 +150,7 @@ typedef struct BlitPipelineCacheEntry
|
||||||
#define SDL_GPU_COMPAREOP_MAX_ENUM_VALUE (SDL_GPU_COMPAREOP_ALWAYS + 1)
|
#define SDL_GPU_COMPAREOP_MAX_ENUM_VALUE (SDL_GPU_COMPAREOP_ALWAYS + 1)
|
||||||
#define SDL_GPU_STENCILOP_MAX_ENUM_VALUE (SDL_GPU_STENCILOP_DECREMENT_AND_WRAP + 1)
|
#define SDL_GPU_STENCILOP_MAX_ENUM_VALUE (SDL_GPU_STENCILOP_DECREMENT_AND_WRAP + 1)
|
||||||
#define SDL_GPU_BLENDOP_MAX_ENUM_VALUE (SDL_GPU_BLENDOP_MAX + 1)
|
#define SDL_GPU_BLENDOP_MAX_ENUM_VALUE (SDL_GPU_BLENDOP_MAX + 1)
|
||||||
#define SDL_GPU_BLENDFACTOR_MAX_ENUM_VALUE (SDL_GPU_BLENDFACTOR_SRC_ALPHA_SATURATE + 1)
|
#define SDL_GPU_BLENDFACTOR_MAX_ENUM_VALUE (SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC1_ALPHA + 1)
|
||||||
#define SDL_GPU_SWAPCHAINCOMPOSITION_MAX_ENUM_VALUE (SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084 + 1)
|
#define SDL_GPU_SWAPCHAINCOMPOSITION_MAX_ENUM_VALUE (SDL_GPU_SWAPCHAINCOMPOSITION_HDR10_ST2084 + 1)
|
||||||
#define SDL_GPU_PRESENTMODE_MAX_ENUM_VALUE (SDL_GPU_PRESENTMODE_MAILBOX + 1)
|
#define SDL_GPU_PRESENTMODE_MAX_ENUM_VALUE (SDL_GPU_PRESENTMODE_MAILBOX + 1)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -241,6 +241,10 @@ static D3D12_BLEND SDLToD3D12_BlendFactor[] = {
|
||||||
D3D12_BLEND_BLEND_FACTOR, // CONSTANT_COLOR
|
D3D12_BLEND_BLEND_FACTOR, // CONSTANT_COLOR
|
||||||
D3D12_BLEND_INV_BLEND_FACTOR, // ONE_MINUS_CONSTANT_COLOR
|
D3D12_BLEND_INV_BLEND_FACTOR, // ONE_MINUS_CONSTANT_COLOR
|
||||||
D3D12_BLEND_SRC_ALPHA_SAT, // SRC_ALPHA_SATURATE
|
D3D12_BLEND_SRC_ALPHA_SAT, // SRC_ALPHA_SATURATE
|
||||||
|
D3D12_BLEND_SRC1_COLOR, // SRC1_COLOR
|
||||||
|
D3D12_BLEND_INV_SRC1_COLOR, // ONE_MINUS_SRC1_COLOR
|
||||||
|
D3D12_BLEND_SRC1_ALPHA, // SRC1_ALPHA
|
||||||
|
D3D12_BLEND_INV_SRC1_ALPHA, // ONE_MINUS_SRC1_ALPHA
|
||||||
};
|
};
|
||||||
SDL_COMPILE_TIME_ASSERT(SDLToD3D12_BlendFactor, SDL_arraysize(SDLToD3D12_BlendFactor) == SDL_GPU_BLENDFACTOR_MAX_ENUM_VALUE);
|
SDL_COMPILE_TIME_ASSERT(SDLToD3D12_BlendFactor, SDL_arraysize(SDLToD3D12_BlendFactor) == SDL_GPU_BLENDFACTOR_MAX_ENUM_VALUE);
|
||||||
|
|
||||||
|
|
@ -259,6 +263,10 @@ static D3D12_BLEND SDLToD3D12_BlendFactorAlpha[] = {
|
||||||
D3D12_BLEND_BLEND_FACTOR, // CONSTANT_COLOR
|
D3D12_BLEND_BLEND_FACTOR, // CONSTANT_COLOR
|
||||||
D3D12_BLEND_INV_BLEND_FACTOR, // ONE_MINUS_CONSTANT_COLOR
|
D3D12_BLEND_INV_BLEND_FACTOR, // ONE_MINUS_CONSTANT_COLOR
|
||||||
D3D12_BLEND_SRC_ALPHA_SAT, // SRC_ALPHA_SATURATE
|
D3D12_BLEND_SRC_ALPHA_SAT, // SRC_ALPHA_SATURATE
|
||||||
|
D3D12_BLEND_SRC1_ALPHA, // SRC1_COLOR
|
||||||
|
D3D12_BLEND_INV_SRC1_ALPHA, // ONE_MINUS_SRC1_COLOR
|
||||||
|
D3D12_BLEND_SRC1_ALPHA, // SRC1_ALPHA
|
||||||
|
D3D12_BLEND_INV_SRC1_ALPHA, // ONE_MINUS_SRC1_ALPHA
|
||||||
};
|
};
|
||||||
SDL_COMPILE_TIME_ASSERT(SDLToD3D12_BlendFactorAlpha, SDL_arraysize(SDLToD3D12_BlendFactorAlpha) == SDL_GPU_BLENDFACTOR_MAX_ENUM_VALUE);
|
SDL_COMPILE_TIME_ASSERT(SDLToD3D12_BlendFactorAlpha, SDL_arraysize(SDLToD3D12_BlendFactorAlpha) == SDL_GPU_BLENDFACTOR_MAX_ENUM_VALUE);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -291,6 +291,10 @@ static MTLBlendFactor SDLToMetal_BlendFactor[] = {
|
||||||
MTLBlendFactorBlendColor, // CONSTANT_COLOR
|
MTLBlendFactorBlendColor, // CONSTANT_COLOR
|
||||||
MTLBlendFactorOneMinusBlendColor, // ONE_MINUS_CONSTANT_COLOR
|
MTLBlendFactorOneMinusBlendColor, // ONE_MINUS_CONSTANT_COLOR
|
||||||
MTLBlendFactorSourceAlphaSaturated, // SRC_ALPHA_SATURATE
|
MTLBlendFactorSourceAlphaSaturated, // SRC_ALPHA_SATURATE
|
||||||
|
MTLBlendFactorSource1Color, // SRC1_COLOR
|
||||||
|
MTLBlendFactorOneMinusSource1Color, // ONE_MINUS_SRC1_COLOR
|
||||||
|
MTLBlendFactorSource1Alpha, // SRC1_ALPHA
|
||||||
|
MTLBlendFactorOneMinusSource1Alpha, // ONE_MINUS_SRC1_ALPHA
|
||||||
};
|
};
|
||||||
SDL_COMPILE_TIME_ASSERT(SDLToMetal_BlendFactor, SDL_arraysize(SDLToMetal_BlendFactor) == SDL_GPU_BLENDFACTOR_MAX_ENUM_VALUE);
|
SDL_COMPILE_TIME_ASSERT(SDLToMetal_BlendFactor, SDL_arraysize(SDLToMetal_BlendFactor) == SDL_GPU_BLENDFACTOR_MAX_ENUM_VALUE);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -387,7 +387,11 @@ static VkBlendFactor SDLToVK_BlendFactor[] = {
|
||||||
VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA,
|
VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA,
|
||||||
VK_BLEND_FACTOR_CONSTANT_COLOR,
|
VK_BLEND_FACTOR_CONSTANT_COLOR,
|
||||||
VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR,
|
VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR,
|
||||||
VK_BLEND_FACTOR_SRC_ALPHA_SATURATE
|
VK_BLEND_FACTOR_SRC_ALPHA_SATURATE,
|
||||||
|
VK_BLEND_FACTOR_SRC1_COLOR,
|
||||||
|
VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR,
|
||||||
|
VK_BLEND_FACTOR_SRC1_ALPHA,
|
||||||
|
VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA
|
||||||
};
|
};
|
||||||
SDL_COMPILE_TIME_ASSERT(SDLToVK_BlendFactor, SDL_arraysize(SDLToVK_BlendFactor) == SDL_GPU_BLENDFACTOR_MAX_ENUM_VALUE);
|
SDL_COMPILE_TIME_ASSERT(SDLToVK_BlendFactor, SDL_arraysize(SDLToVK_BlendFactor) == SDL_GPU_BLENDFACTOR_MAX_ENUM_VALUE);
|
||||||
|
|
||||||
|
|
@ -12326,7 +12330,8 @@ static Uint8 VULKAN_INTERNAL_IsDeviceSuitable(
|
||||||
(!deviceFeatures.shaderClipDistance && features->desiredVulkan10DeviceFeatures.shaderClipDistance) ||
|
(!deviceFeatures.shaderClipDistance && features->desiredVulkan10DeviceFeatures.shaderClipDistance) ||
|
||||||
(!deviceFeatures.drawIndirectFirstInstance && features->desiredVulkan10DeviceFeatures.drawIndirectFirstInstance) ||
|
(!deviceFeatures.drawIndirectFirstInstance && features->desiredVulkan10DeviceFeatures.drawIndirectFirstInstance) ||
|
||||||
(!deviceFeatures.sampleRateShading && features->desiredVulkan10DeviceFeatures.sampleRateShading) ||
|
(!deviceFeatures.sampleRateShading && features->desiredVulkan10DeviceFeatures.sampleRateShading) ||
|
||||||
(!deviceFeatures.samplerAnisotropy && features->desiredVulkan10DeviceFeatures.samplerAnisotropy)) {
|
(!deviceFeatures.samplerAnisotropy && features->desiredVulkan10DeviceFeatures.samplerAnisotropy) ||
|
||||||
|
(!deviceFeatures.dualSrcBlend && features->desiredVulkan10DeviceFeatures.dualSrcBlend)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -12838,6 +12843,7 @@ static bool VULKAN_INTERNAL_PrepareVulkan(
|
||||||
features->desiredVulkan10DeviceFeatures.depthClamp = SDL_GetBooleanProperty(props, SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN, true) ? VK_TRUE : VK_FALSE;
|
features->desiredVulkan10DeviceFeatures.depthClamp = SDL_GetBooleanProperty(props, SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DEPTH_CLAMPING_BOOLEAN, true) ? VK_TRUE : VK_FALSE;
|
||||||
features->desiredVulkan10DeviceFeatures.shaderClipDistance = SDL_GetBooleanProperty(props, SDL_PROP_GPU_DEVICE_CREATE_FEATURE_CLIP_DISTANCE_BOOLEAN, true) ? VK_TRUE : VK_FALSE;
|
features->desiredVulkan10DeviceFeatures.shaderClipDistance = SDL_GetBooleanProperty(props, SDL_PROP_GPU_DEVICE_CREATE_FEATURE_CLIP_DISTANCE_BOOLEAN, true) ? VK_TRUE : VK_FALSE;
|
||||||
features->desiredVulkan10DeviceFeatures.drawIndirectFirstInstance = SDL_GetBooleanProperty(props, SDL_PROP_GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN, true) ? VK_TRUE : VK_FALSE;
|
features->desiredVulkan10DeviceFeatures.drawIndirectFirstInstance = SDL_GetBooleanProperty(props, SDL_PROP_GPU_DEVICE_CREATE_FEATURE_INDIRECT_DRAW_FIRST_INSTANCE_BOOLEAN, true) ? VK_TRUE : VK_FALSE;
|
||||||
|
features->desiredVulkan10DeviceFeatures.dualSrcBlend = SDL_GetBooleanProperty(props, SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DUAL_SOURCE_BLENDING_BOOLEAN, false) ? VK_TRUE : VK_FALSE;
|
||||||
|
|
||||||
// These features have near universal support so they are always enabled
|
// These features have near universal support so they are always enabled
|
||||||
features->desiredVulkan10DeviceFeatures.independentBlend = VK_TRUE;
|
features->desiredVulkan10DeviceFeatures.independentBlend = VK_TRUE;
|
||||||
|
|
|
||||||
|
|
@ -421,6 +421,14 @@ static D3D11_BLEND GetBlendFunc(SDL_BlendFactor factor)
|
||||||
return D3D11_BLEND_DEST_ALPHA;
|
return D3D11_BLEND_DEST_ALPHA;
|
||||||
case SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA:
|
case SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA:
|
||||||
return D3D11_BLEND_INV_DEST_ALPHA;
|
return D3D11_BLEND_INV_DEST_ALPHA;
|
||||||
|
case SDL_BLENDFACTOR_SRC1_COLOR:
|
||||||
|
return D3D11_BLEND_SRC1_COLOR;
|
||||||
|
case SDL_BLENDFACTOR_ONE_MINUS_SRC1_COLOR:
|
||||||
|
return D3D11_BLEND_INV_SRC1_COLOR;
|
||||||
|
case SDL_BLENDFACTOR_SRC1_ALPHA:
|
||||||
|
return D3D11_BLEND_SRC1_ALPHA;
|
||||||
|
case SDL_BLENDFACTOR_ONE_MINUS_SRC1_ALPHA:
|
||||||
|
return D3D11_BLEND_INV_SRC1_ALPHA;
|
||||||
default:
|
default:
|
||||||
return (D3D11_BLEND)0;
|
return (D3D11_BLEND)0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -611,6 +611,14 @@ static D3D12_BLEND GetBlendFunc(SDL_BlendFactor factor)
|
||||||
return D3D12_BLEND_DEST_ALPHA;
|
return D3D12_BLEND_DEST_ALPHA;
|
||||||
case SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA:
|
case SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA:
|
||||||
return D3D12_BLEND_INV_DEST_ALPHA;
|
return D3D12_BLEND_INV_DEST_ALPHA;
|
||||||
|
case SDL_BLENDFACTOR_SRC1_COLOR:
|
||||||
|
return D3D12_BLEND_SRC1_COLOR;
|
||||||
|
case SDL_BLENDFACTOR_ONE_MINUS_SRC1_COLOR:
|
||||||
|
return D3D12_BLEND_INV_SRC1_COLOR;
|
||||||
|
case SDL_BLENDFACTOR_SRC1_ALPHA:
|
||||||
|
return D3D12_BLEND_SRC1_ALPHA;
|
||||||
|
case SDL_BLENDFACTOR_ONE_MINUS_SRC1_ALPHA:
|
||||||
|
return D3D12_BLEND_INV_SRC1_ALPHA;
|
||||||
default:
|
default:
|
||||||
return (D3D12_BLEND)0;
|
return (D3D12_BLEND)0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,14 @@ static SDL_INLINE SDL_GPUBlendFactor GPU_ConvertBlendFactor(SDL_BlendFactor fact
|
||||||
return SDL_GPU_BLENDFACTOR_DST_ALPHA;
|
return SDL_GPU_BLENDFACTOR_DST_ALPHA;
|
||||||
case SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA:
|
case SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA:
|
||||||
return SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA;
|
return SDL_GPU_BLENDFACTOR_ONE_MINUS_DST_ALPHA;
|
||||||
|
case SDL_BLENDFACTOR_SRC1_COLOR:
|
||||||
|
return SDL_GPU_BLENDFACTOR_SRC1_COLOR;
|
||||||
|
case SDL_BLENDFACTOR_ONE_MINUS_SRC1_COLOR:
|
||||||
|
return SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC1_COLOR;
|
||||||
|
case SDL_BLENDFACTOR_SRC1_ALPHA:
|
||||||
|
return SDL_GPU_BLENDFACTOR_SRC1_ALPHA;
|
||||||
|
case SDL_BLENDFACTOR_ONE_MINUS_SRC1_ALPHA:
|
||||||
|
return SDL_GPU_BLENDFACTOR_ONE_MINUS_SRC1_ALPHA;
|
||||||
default:
|
default:
|
||||||
return SDL_GPU_BLENDFACTOR_INVALID;
|
return SDL_GPU_BLENDFACTOR_INVALID;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1771,6 +1771,9 @@ static bool GPU_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_P
|
||||||
if (!SDL_HasProperty(create_props, SDL_PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN)) {
|
if (!SDL_HasProperty(create_props, SDL_PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN)) {
|
||||||
SDL_SetBooleanProperty(create_props, SDL_PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN, false);
|
SDL_SetBooleanProperty(create_props, SDL_PROP_GPU_DEVICE_CREATE_FEATURE_ANISOTROPY_BOOLEAN, false);
|
||||||
}
|
}
|
||||||
|
if (!SDL_HasProperty(create_props, SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DUAL_SOURCE_BLENDING_BOOLEAN)) {
|
||||||
|
SDL_SetBooleanProperty(create_props, SDL_PROP_GPU_DEVICE_CREATE_FEATURE_DUAL_SOURCE_BLENDING_BOOLEAN, false);
|
||||||
|
}
|
||||||
// These properties allow using the renderer on more macOS devices.
|
// These properties allow using the renderer on more macOS devices.
|
||||||
if (!SDL_HasProperty(create_props, SDL_PROP_GPU_DEVICE_CREATE_METAL_ALLOW_MACFAMILY1_BOOLEAN)) {
|
if (!SDL_HasProperty(create_props, SDL_PROP_GPU_DEVICE_CREATE_METAL_ALLOW_MACFAMILY1_BOOLEAN)) {
|
||||||
SDL_SetBooleanProperty(create_props, SDL_PROP_GPU_DEVICE_CREATE_METAL_ALLOW_MACFAMILY1_BOOLEAN, false);
|
SDL_SetBooleanProperty(create_props, SDL_PROP_GPU_DEVICE_CREATE_METAL_ALLOW_MACFAMILY1_BOOLEAN, false);
|
||||||
|
|
|
||||||
|
|
@ -371,6 +371,14 @@ static GLenum GetBlendFunc(SDL_BlendFactor factor)
|
||||||
return GL_DST_ALPHA;
|
return GL_DST_ALPHA;
|
||||||
case SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA:
|
case SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA:
|
||||||
return GL_ONE_MINUS_DST_ALPHA;
|
return GL_ONE_MINUS_DST_ALPHA;
|
||||||
|
case SDL_BLENDFACTOR_SRC1_COLOR:
|
||||||
|
return GL_SRC1_COLOR;
|
||||||
|
case SDL_BLENDFACTOR_ONE_MINUS_SRC1_COLOR:
|
||||||
|
return GL_ONE_MINUS_SRC1_COLOR;
|
||||||
|
case SDL_BLENDFACTOR_SRC1_ALPHA:
|
||||||
|
return GL_SRC1_ALPHA;
|
||||||
|
case SDL_BLENDFACTOR_ONE_MINUS_SRC1_ALPHA:
|
||||||
|
return GL_ONE_MINUS_SRC1_ALPHA;
|
||||||
default:
|
default:
|
||||||
return GL_INVALID_ENUM;
|
return GL_INVALID_ENUM;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -342,6 +342,14 @@ static GLenum GetBlendFunc(SDL_BlendFactor factor)
|
||||||
return GL_DST_ALPHA;
|
return GL_DST_ALPHA;
|
||||||
case SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA:
|
case SDL_BLENDFACTOR_ONE_MINUS_DST_ALPHA:
|
||||||
return GL_ONE_MINUS_DST_ALPHA;
|
return GL_ONE_MINUS_DST_ALPHA;
|
||||||
|
case SDL_BLENDFACTOR_SRC1_COLOR:
|
||||||
|
return GL_SRC1_COLOR_EXT;
|
||||||
|
case SDL_BLENDFACTOR_ONE_MINUS_SRC1_COLOR:
|
||||||
|
return GL_ONE_MINUS_SRC1_COLOR_EXT;
|
||||||
|
case SDL_BLENDFACTOR_SRC1_ALPHA:
|
||||||
|
return GL_SRC1_ALPHA_EXT;
|
||||||
|
case SDL_BLENDFACTOR_ONE_MINUS_SRC1_ALPHA:
|
||||||
|
return GL_ONE_MINUS_SRC1_ALPHA_EXT;
|
||||||
default:
|
default:
|
||||||
return GL_INVALID_ENUM;
|
return GL_INVALID_ENUM;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue