From 96b5c92780bb1a18c653b819042e9d82b8153fb0 Mon Sep 17 00:00:00 2001
From: Ethan Lee <[EMAIL REDACTED]>
Date: Sat, 6 Dec 2025 16:10:35 -0500
Subject: [PATCH] render: D3D12 Xbox does not have COMPARISON_FUNC_NONE yet
---
src/render/direct3d12/SDL_render_d3d12.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/render/direct3d12/SDL_render_d3d12.c b/src/render/direct3d12/SDL_render_d3d12.c
index 43260ae555bb5..046f690bb0a53 100644
--- a/src/render/direct3d12/SDL_render_d3d12.c
+++ b/src/render/direct3d12/SDL_render_d3d12.c
@@ -2877,7 +2877,15 @@ static D3D12_CPU_DESCRIPTOR_HANDLE *D3D12_GetSamplerState(D3D12_RenderData *data
samplerDesc.AddressW = D3D12_TEXTURE_ADDRESS_MODE_CLAMP;
samplerDesc.MipLODBias = 0.0f;
samplerDesc.MaxAnisotropy = 1;
+#if defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES)
+ // FIXME: Xbox doesn't support FUNC_NONE as of the October 2025 GDK, but
+ // at the same time it fixes validation issues on Windows. It's probably
+ // the more appropriate value, so get rid of this when GDK catches up.
+ // -flibit
+ samplerDesc.ComparisonFunc = D3D12_COMPARISON_FUNC_ALWAYS;
+#else
samplerDesc.ComparisonFunc = D3D12_COMPARISON_FUNC_NONE;
+#endif
samplerDesc.MinLOD = 0.0f;
samplerDesc.MaxLOD = D3D12_FLOAT32_MAX;
switch (scale_mode) {