From 36a5ef5f3dc59ffa37f56338197f6f5b4910977f Mon Sep 17 00:00:00 2001
From: Ethan Lee <[EMAIL REDACTED]>
Date: Sat, 21 Dec 2024 01:05:05 -0500
Subject: [PATCH] DXIL: GDK cannot do roundtrips to SPIR-V, compile HLSL
directly
---
src/SDL_shadercross.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/SDL_shadercross.c b/src/SDL_shadercross.c
index a42dd1f..0e69c4e 100644
--- a/src/SDL_shadercross.c
+++ b/src/SDL_shadercross.c
@@ -559,6 +559,9 @@ void *SDL_ShaderCross_CompileDXILFromHLSL(
const SDL_ShaderCross_HLSL_Info *info,
size_t *size)
{
+#if SDL_PLATFORM_GDK
+ return SDL_ShaderCross_INTERNAL_CompileUsingDXC(info, false, size);
+#else
// Roundtrip to SPIR-V to support things like Structured Buffers.
size_t spirvSize;
void *spirv = SDL_ShaderCross_CompileSPIRVFromHLSL(
@@ -594,6 +597,7 @@ void *SDL_ShaderCross_CompileDXILFromHLSL(
&translatedHlslInfo,
false,
size);
+#endif
}
void *SDL_ShaderCross_CompileSPIRVFromHLSL(