Module: wine Branch: master Commit: 7eeddc3bea26a5eaaf1c5d509dea64be344b8a8b URL: https://gitlab.winehq.org/wine/wine/-/commit/7eeddc3bea26a5eaaf1c5d509dea64b...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Fri May 31 01:09:40 2024 +0200
d3dcompiler: Enable D3DCOMPILE_EFFECT_CHILD_EFFECT option.
---
dlls/d3dcompiler_43/compiler.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/dlls/d3dcompiler_43/compiler.c b/dlls/d3dcompiler_43/compiler.c index 6a829ae43d7..6fffcfb82ab 100644 --- a/dlls/d3dcompiler_43/compiler.c +++ b/dlls/d3dcompiler_43/compiler.c @@ -457,7 +457,7 @@ HRESULT WINAPI D3DCompile2(const void *data, SIZE_T data_size, const char *filen struct d3dcompiler_include_from_file include_from_file; struct vkd3d_shader_preprocess_info preprocess_info; struct vkd3d_shader_hlsl_source_info hlsl_info; - struct vkd3d_shader_compile_option options[5]; + struct vkd3d_shader_compile_option options[6]; struct vkd3d_shader_compile_info compile_info; struct vkd3d_shader_compile_option *option; struct vkd3d_shader_code byte_code; @@ -485,8 +485,8 @@ HRESULT WINAPI D3DCompile2(const void *data, SIZE_T data_size, const char *filen { FIXME("Ignoring flags %#x.\n", flags); } - if (effect_flags) - FIXME("Ignoring effect flags %#x.\n", effect_flags); + if (effect_flags & ~D3DCOMPILE_EFFECT_CHILD_EFFECT) + FIXME("Ignoring effect flags %#x.\n", effect_flags & ~D3DCOMPILE_EFFECT_CHILD_EFFECT); if (secondary_flags) FIXME("Ignoring secondary flags %#x.\n", secondary_flags);
@@ -557,6 +557,13 @@ HRESULT WINAPI D3DCompile2(const void *data, SIZE_T data_size, const char *filen option->value = VKD3D_SHADER_COMPILE_OPTION_BACKCOMPAT_MAP_SEMANTIC_NAMES; }
+ if (effect_flags & D3DCOMPILE_EFFECT_CHILD_EFFECT) + { + option = &options[compile_info.option_count++]; + option->name = VKD3D_SHADER_COMPILE_OPTION_CHILD_EFFECT; + option->value = true; + } + #if D3D_COMPILER_VERSION <= 39 option = &options[compile_info.option_count++]; option->name = VKD3D_SHADER_COMPILE_OPTION_INCLUDE_EMPTY_BUFFERS_IN_EFFECTS;