[PATCH vkd3d 3/5] vkd3d-shader: Only use scan_dxbc() for scanning dxbc-tpf source.

Henri Verbeet hverbeet at codeweavers.com
Wed Sep 1 08:45:07 CDT 2021


Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
---
It's clearly not going to work for e.g. HLSL.

 libs/vkd3d-shader/vkd3d_shader_main.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/libs/vkd3d-shader/vkd3d_shader_main.c b/libs/vkd3d-shader/vkd3d_shader_main.c
index 5fab5151..e28cfad8 100644
--- a/libs/vkd3d-shader/vkd3d_shader_main.c
+++ b/libs/vkd3d-shader/vkd3d_shader_main.c
@@ -1006,7 +1006,22 @@ int vkd3d_shader_scan(const struct vkd3d_shader_compile_info *compile_info, char
 
     vkd3d_shader_message_context_init(&message_context, compile_info->log_level);
 
-    ret = scan_dxbc(compile_info, &message_context);
+    switch (compile_info->source_type)
+    {
+        case VKD3D_SHADER_SOURCE_DXBC_TPF:
+            ret = scan_dxbc(compile_info, &message_context);
+            break;
+
+        case VKD3D_SHADER_SOURCE_HLSL:
+            FIXME("HLSL support not implemented.\n");
+            ret = VKD3D_ERROR_NOT_IMPLEMENTED;
+            break;
+
+        default:
+            ERR("Unsupported source type %#x.\n", compile_info->source_type);
+            ret = VKD3D_ERROR_INVALID_ARGUMENT;
+            break;
+    }
 
     vkd3d_shader_message_context_trace_messages(&message_context);
     if (!vkd3d_shader_message_context_copy_messages(&message_context, messages))
-- 
2.20.1




More information about the wine-devel mailing list