Module: vkd3d Branch: master Commit: eb1ae29de0a5a7c319c2123396c31871a27cc0fe URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=eb1ae29de0a5a7c319c21233...
Author: Conor McCarthy cmccarthy@codeweavers.com Date: Mon Jan 10 15:14:37 2022 +1000
vkd3d-shader/dxbc: Emit a fixme when a DXIL shader chunk is found.
Simplifies detection of SM6+ shaders, e.g. Horizon Zero Dawn and Cyberpunk 2077.
Signed-off-by: Conor McCarthy cmccarthy@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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 0b76a4a..d26ed54 100644 --- a/libs/vkd3d-shader/dxbc.c +++ b/libs/vkd3d-shader/dxbc.c @@ -1988,6 +1988,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 ffea91d..6f0c57c 100644 --- a/libs/vkd3d-shader/vkd3d_shader_private.h +++ b/libs/vkd3d-shader/vkd3d_shader_private.h @@ -1216,6 +1216,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')