SDL: render: Added Xbox DXIL for gpu backend (0030f)

From 0030fafda2b24ad1059b3687e30cd79bfa5095f5 Mon Sep 17 00:00:00 2001
From: Ethan Lee <[EMAIL REDACTED]>
Date: Thu, 26 Feb 2026 10:06:50 -0500
Subject: [PATCH] render: Added Xbox DXIL for gpu backend

---
 VisualC-GDK/SDL/SDL.vcxproj                   |  4 ++
 .../gpu/shaders/compile_shaders_xbox.bat      | 25 ++++++++++
 src/render/gpu/shaders/dxil.h                 | 46 +++++++++++++++++++
 3 files changed, 75 insertions(+)
 create mode 100644 src/render/gpu/shaders/compile_shaders_xbox.bat

diff --git a/VisualC-GDK/SDL/SDL.vcxproj b/VisualC-GDK/SDL/SDL.vcxproj
index a1356ab17f8f5..95b71774d1009 100644
--- a/VisualC-GDK/SDL/SDL.vcxproj
+++ b/VisualC-GDK/SDL/SDL.vcxproj
@@ -169,6 +169,7 @@
     <PreBuildEvent>
       <Command>
         call "$(ProjectDir)..\..\src\render\direct3d12\compile_shaders_xbox.bat" "$(ProjectDir)..\"
+        call "$(ProjectDir)..\..\src\render\gpu\shaders\compile_shaders_xbox.bat" "$(ProjectDir)..\"
         call "$(ProjectDir)..\..\src\gpu\d3d12\compile_shaders_xbox.bat" "$(ProjectDir)..\"
       </Command>
     </PreBuildEvent>
@@ -207,6 +208,7 @@
     <PreBuildEvent>
       <Command>
         call $(ProjectDir)..\..\src\render\direct3d12\compile_shaders_xbox.bat $(ProjectDir)..\ one
+        call $(ProjectDir)..\..\src\render\gpu\shaders\compile_shaders_xbox.bat $(ProjectDir)..\ one
         call $(ProjectDir)..\..\src\gpu\d3d12\compile_shaders_xbox.bat $(ProjectDir)..\ one
       </Command>
     </PreBuildEvent>
@@ -278,6 +280,7 @@
     <PreBuildEvent>
       <Command>
         call $(ProjectDir)..\..\src\render\direct3d12\compile_shaders_xbox.bat $(ProjectDir)..\
+        call $(ProjectDir)..\..\src\render\gpu\shaders\compile_shaders_xbox.bat $(ProjectDir)..\
         call $(ProjectDir)..\..\src\gpu\d3d12\compile_shaders_xbox.bat $(ProjectDir)..\
       </Command>
     </PreBuildEvent>
@@ -317,6 +320,7 @@
     <PreBuildEvent>
       <Command>
         call $(ProjectDir)..\..\src\render\direct3d12\compile_shaders_xbox.bat $(ProjectDir)..\ one
+        call $(ProjectDir)..\..\src\render\gpu\shaders\compile_shaders_xbox.bat $(ProjectDir)..\ one
         call $(ProjectDir)..\..\src\gpu\d3d12\compile_shaders_xbox.bat $(ProjectDir)..\ one
       </Command>
     </PreBuildEvent>
diff --git a/src/render/gpu/shaders/compile_shaders_xbox.bat b/src/render/gpu/shaders/compile_shaders_xbox.bat
new file mode 100644
index 0000000000000..f1ed9c6124e0f
--- /dev/null
+++ b/src/render/gpu/shaders/compile_shaders_xbox.bat
@@ -0,0 +1,25 @@
+if %2.==one. goto setxboxone
+rem Xbox Series compile
+set DXC="%GameDKLatest%\GXDK\bin\Scarlett\DXC.exe"
+set SUFFIX=_Series.h
+goto startbuild
+
+:setxboxone
+set DXC="%GameDKLatest%\GXDK\bin\XboxOne\DXC.exe"
+set SUFFIX=_One.h
+
+:startbuild
+
+echo Building with %DXC%
+echo Suffix %SUFFIX%
+
+cd "%~dp0"
+
+%DXC% -E main -T ps_6_0 -Fh color.frag.dxil%SUFFIX% color.frag.hlsl
+%DXC% -E main -T ps_6_0 -Fh texture_advanced.frag.dxil%SUFFIX% texture_advanced.frag.hlsl
+%DXC% -E main -T ps_6_0 -Fh texture_rgba.frag.dxil%SUFFIX% texture_rgba.frag.hlsl
+%DXC% -E main -T ps_6_0 -Fh texture_rgb.frag.dxil%SUFFIX% texture_rgb.frag.hlsl
+
+%DXC% -E main -T vs_6_0 -Fh linepoint.vert.dxil%SUFFIX% linepoint.vert.hlsl
+%DXC% -E main -T vs_6_0 -Fh tri_color.vert.dxil%SUFFIX% tri_color.vert.hlsl
+%DXC% -E main -T vs_6_0 -Fh tri_texture.vert.dxil%SUFFIX% tri_texture.vert.hlsl
diff --git a/src/render/gpu/shaders/dxil.h b/src/render/gpu/shaders/dxil.h
index 3397297db2b73..c685c3bf61e24 100644
--- a/src/render/gpu/shaders/dxil.h
+++ b/src/render/gpu/shaders/dxil.h
@@ -1,3 +1,48 @@
+#if defined(SDL_PLATFORM_XBOXONE)
+#define g_main color_frag_dxil
+#include "color.frag.dxil_One.h"
+#undef g_main
+#define g_main linepoint_vert_dxil
+#include "linepoint.vert.dxil_One.h"
+#undef g_main
+#define g_main texture_advanced_frag_dxil
+#include "texture_advanced.frag.dxil_One.h"
+#undef g_main
+#define g_main texture_rgb_frag_dxil
+#include "texture_rgb.frag.dxil_One.h"
+#undef g_main
+#define g_main texture_rgba_frag_dxil
+#include "texture_rgba.frag.dxil_One.h"
+#undef g_main
+#define g_main tri_color_vert_dxil
+#include "tri_color.vert.dxil_One.h"
+#undef g_main
+#define g_main tri_texture_vert_dxil
+#include "tri_texture.vert.dxil_One.h"
+#undef g_main
+#elif defined(SDL_PLATFORM_XBOXSERIES)
+#define g_main color_frag_dxil
+#include "color.frag.dxil_Series.h"
+#undef g_main
+#define g_main linepoint_vert_dxil
+#include "linepoint.vert.dxil_Series.h"
+#undef g_main
+#define g_main texture_advanced_frag_dxil
+#include "texture_advanced.frag.dxil_Series.h"
+#undef g_main
+#define g_main texture_rgb_frag_dxil
+#include "texture_rgb.frag.dxil_Series.h"
+#undef g_main
+#define g_main texture_rgba_frag_dxil
+#include "texture_rgba.frag.dxil_Series.h"
+#undef g_main
+#define g_main tri_color_vert_dxil
+#include "tri_color.vert.dxil_Series.h"
+#undef g_main
+#define g_main tri_texture_vert_dxil
+#include "tri_texture.vert.dxil_Series.h"
+#undef g_main
+#else
 #include "color.frag.dxil.h"
 #include "linepoint.vert.dxil.h"
 #include "texture_advanced.frag.dxil.h"
@@ -5,3 +50,4 @@
 #include "texture_rgba.frag.dxil.h"
 #include "tri_color.vert.dxil.h"
 #include "tri_texture.vert.dxil.h"
+#endif