Kaynağa Gözat

render: Added Xbox DXIL for gpu backend

Ethan Lee 6 gün önce
ebeveyn
işleme
f2c4c66429

+ 4 - 0
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>

+ 25 - 0
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

+ 46 - 0
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