[PATCH vkd3d] vkd3d-shader/dxbc: Emit a fixme when a DXIL shader chunk is found.

Conor McCarthy cmccarthy at codeweavers.com
Sun Jan 9 23:14:37 CST 2022


Simplifies detection of SM6+ shaders, e.g. Horizon Zero Dawn and
Cyberpunk 2077.

Signed-off-by: Conor McCarthy <cmccarthy at codeweavers.com>
---
 libs/vkd3d-shader/dxbc.c                 | 4 ++++
 libs/vkd3d-shader/vkd3d_shader_private.h | 1 +
 2 files changed, 5 insertions(+)

diff --git a/libs/vkd3d-shader/dxbc.c b/libs/vkd3d-shader/dxbc.c
index b83e2654..c5ba3575 100644
--- a/libs/vkd3d-shader/dxbc.c
+++ b/libs/vkd3d-shader/dxbc.c
@@ -2024,6 +2024,10 @@ static int shdr_handler(const char *data, DWORD data_size, DWORD tag, void *cont
             TRACE("Skipping AON9 shader code chunk.\n");
             break;
 
+        case TAG_DXIL:
+            FIXME("Skipping DXIL shader model 6+ code chunk.\n");
+            break;
+
         default:
             TRACE("Skipping chunk %#x.\n", tag);
             break;
diff --git a/libs/vkd3d-shader/vkd3d_shader_private.h b/libs/vkd3d-shader/vkd3d_shader_private.h
index 62073cf1..9c022777 100644
--- a/libs/vkd3d-shader/vkd3d_shader_private.h
+++ b/libs/vkd3d-shader/vkd3d_shader_private.h
@@ -1218,6 +1218,7 @@ static inline void *vkd3d_find_struct_(const struct vkd3d_struct *chain,
     ((DWORD)(ch2) << 16) | ((DWORD)(ch3) << 24 ))
 #define TAG_AON9 MAKE_TAG('A', 'o', 'n', '9')
 #define TAG_DXBC MAKE_TAG('D', 'X', 'B', 'C')
+#define TAG_DXIL MAKE_TAG('D', 'X', 'I', 'L')
 #define TAG_ISG1 MAKE_TAG('I', 'S', 'G', '1')
 #define TAG_ISGN MAKE_TAG('I', 'S', 'G', 'N')
 #define TAG_OSG1 MAKE_TAG('O', 'S', 'G', '1')
-- 
2.34.1




More information about the wine-devel mailing list