Enable Windows 10 msmpeg2vdec.dll to run.
Signed-off-by: Mohamad Al-Jaf mohamadaljaf@gmail.com --- configure | 2 ++ configure.ac | 1 + dlls/ext-ms-win-dx-ddraw-l1-1-0/Makefile.in | 1 + dlls/ext-ms-win-dx-ddraw-l1-1-0/ext-ms-win-dx-ddraw-l1-1-0.spec | 2 ++ 4 files changed, 6 insertions(+) create mode 100644 dlls/ext-ms-win-dx-ddraw-l1-1-0/Makefile.in create mode 100644 dlls/ext-ms-win-dx-ddraw-l1-1-0/ext-ms-win-dx-ddraw-l1-1-0.spec
diff --git a/configure b/configure index 67bcd371525..cd1cdfdd197 100755 --- a/configure +++ b/configure @@ -1339,6 +1339,7 @@ enable_explorerframe enable_ext_ms_win_authz_context_l1_1_0 enable_ext_ms_win_domainjoin_netjoin_l1_1_0 enable_ext_ms_win_dwmapi_ext_l1_1_0 +enable_ext_ms_win_dx_ddraw_l1_1_0 enable_ext_ms_win_gdi_dc_create_l1_1_0 enable_ext_ms_win_gdi_dc_create_l1_1_1 enable_ext_ms_win_gdi_dc_l1_2_0 @@ -21205,6 +21206,7 @@ wine_fn_config_makefile dlls/explorerframe/tests enable_tests wine_fn_config_makefile dlls/ext-ms-win-authz-context-l1-1-0 enable_ext_ms_win_authz_context_l1_1_0 wine_fn_config_makefile dlls/ext-ms-win-domainjoin-netjoin-l1-1-0 enable_ext_ms_win_domainjoin_netjoin_l1_1_0 wine_fn_config_makefile dlls/ext-ms-win-dwmapi-ext-l1-1-0 enable_ext_ms_win_dwmapi_ext_l1_1_0 +wine_fn_config_makefile dlls/ext-ms-win-dx-ddraw-l1-1-0 enable_ext_ms_win_dx_ddraw_l1_1_0 wine_fn_config_makefile dlls/ext-ms-win-gdi-dc-create-l1-1-0 enable_ext_ms_win_gdi_dc_create_l1_1_0 wine_fn_config_makefile dlls/ext-ms-win-gdi-dc-create-l1-1-1 enable_ext_ms_win_gdi_dc_create_l1_1_1 wine_fn_config_makefile dlls/ext-ms-win-gdi-dc-l1-2-0 enable_ext_ms_win_gdi_dc_l1_2_0 diff --git a/configure.ac b/configure.ac index b69f738ebca..29b17e208ae 100644 --- a/configure.ac +++ b/configure.ac @@ -2887,6 +2887,7 @@ WINE_CONFIG_MAKEFILE(dlls/explorerframe/tests) WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-authz-context-l1-1-0) WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-domainjoin-netjoin-l1-1-0) WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-dwmapi-ext-l1-1-0) +WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-dx-ddraw-l1-1-0) WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-gdi-dc-create-l1-1-0) WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-gdi-dc-create-l1-1-1) WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-gdi-dc-l1-2-0) diff --git a/dlls/ext-ms-win-dx-ddraw-l1-1-0/Makefile.in b/dlls/ext-ms-win-dx-ddraw-l1-1-0/Makefile.in new file mode 100644 index 00000000000..7ea9f6c0ff8 --- /dev/null +++ b/dlls/ext-ms-win-dx-ddraw-l1-1-0/Makefile.in @@ -0,0 +1 @@ +MODULE = ext-ms-win-dx-ddraw-l1-1-0.dll diff --git a/dlls/ext-ms-win-dx-ddraw-l1-1-0/ext-ms-win-dx-ddraw-l1-1-0.spec b/dlls/ext-ms-win-dx-ddraw-l1-1-0/ext-ms-win-dx-ddraw-l1-1-0.spec new file mode 100644 index 00000000000..9d64b320385 --- /dev/null +++ b/dlls/ext-ms-win-dx-ddraw-l1-1-0/ext-ms-win-dx-ddraw-l1-1-0.spec @@ -0,0 +1,2 @@ +@ stdcall DirectDrawCreate(ptr ptr ptr) ddraw.DirectDrawCreate +@ stdcall DirectDrawEnumerateExA(ptr ptr long) ddraw.DirectDrawEnumerateExA
Required by Windows 10 msmpeg2vdec.dll.
Signed-off-by: Mohamad Al-Jaf mohamadaljaf@gmail.com --- dlls/kernelbase/kernelbase.spec | 1 + dlls/kernelbase/main.c | 9 +++++++++ 2 files changed, 10 insertions(+)
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec index 55208889c35..e5924495f01 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -1674,6 +1674,7 @@ # @ stub VerifyPackageId # @ stub VerifyPackageRelativeApplicationId # @ stub VerifyScripts +@ stdcall VideoCodecsXboxFeaturesEnabled(ptr) @ stdcall VirtualAlloc2(long ptr long long long ptr long) @ stdcall VirtualAlloc(ptr long long long) @ stdcall VirtualAllocEx(long ptr long long long) diff --git a/dlls/kernelbase/main.c b/dlls/kernelbase/main.c index e6cf892a4dc..86e1494d2ae 100644 --- a/dlls/kernelbase/main.c +++ b/dlls/kernelbase/main.c @@ -241,6 +241,15 @@ BOOL WINAPI QuirkIsEnabled3(void *unk1, void *unk2) return FALSE; }
+/*********************************************************************** + * VideoCodecsXboxFeaturesEnabled (KERNELBASE.@) + */ +BOOL WINAPI VideoCodecsXboxFeaturesEnabled(void *arg) +{ + FIXME("(%p): stub\n", arg); + return FALSE; +} + HRESULT WINAPI QISearch(void *base, const QITAB *table, REFIID riid, void **obj) { const QITAB *ptr;
I don't think this belongs to kernelbase, same for patch 3/4. Whether we want internal API at all to accommodate for native dlls is another question.
Hi Nikolay,
Agreed, it does seem like it should not belong to kernelbase but the function is there in the Windows 10 kernelbase.dll binary.
As far as I know, these dlls are part of an API set. To me, it seems much more efficient if there was a way to integrate them into the core dlls rather than add individual dlls. But I don't know if this is possible at the moment.
What do you think? Which dll is more appropriate for these functions?
On Fri, Nov 26, 2021 at 4:45 AM Nikolay Sivov nsivov@codeweavers.com wrote:
I don't think this belongs to kernelbase, same for patch 3/4. Whether we want internal API at all to accommodate for native dlls is another question.
On 11/26/21 1:21 PM, Mohamad Al-Jaf wrote:
Hi Nikolay,
Agreed, it does seem like it should not belong to kernelbase but the function is there in the Windows 10 kernelbase.dll binary.
As far as I know, these dlls are part of an API set. To me, it seems much more efficient if there was a way to integrate them into the core dlls rather than add individual dlls. But I don't know if this is possible at the moment.
What do you think? Which dll is more appropriate for these functions?
Ideally, we wouldn't be integrating them anywhere. Does it work with just stub entries in api set dll, without forwards?
On Fri, Nov 26, 2021 at 4:45 AM Nikolay Sivov <nsivov@codeweavers.com mailto:nsivov@codeweavers.com> wrote:
I don't think this belongs to kernelbase, same for patch 3/4. Whether we want internal API at all to accommodate for native dlls is another question.
I tried that prior to adding the kernelbase stubs and unfortunately it did not work. Specifically, the function VideoCodecsXboxFeaturesEnabled is called and gets aborted if the function is unimplemented. I did not want to resort to adding these function stubs since they are essentially useless in Wine, but I don't see another way to get it to work.
One thing to note is that the function ApiSetQueryApiSetPresence is invoked: "0360:fixme:ntdll:ApiSetQueryApiSetPresence (L"ext-ms-mf-pal-l2-1-0", 000000000011E9E0) stub!"
I don't know if this is a bad idea, but would it be possible to just forward unimplemented API set function calls to a general function that returns false? This would avoid having to integrate them.
On Fri, Nov 26, 2021 at 5:45 AM Nikolay Sivov nsivov@codeweavers.com wrote:
On 11/26/21 1:21 PM, Mohamad Al-Jaf wrote:
Hi Nikolay,
Agreed, it does seem like it should not belong to kernelbase but the function is there in the Windows 10 kernelbase.dll binary.
As far as I know, these dlls are part of an API set. To me, it seems much more efficient if there was a way to integrate them into the core dlls rather than add individual dlls. But I don't know if this is possible at the moment.
What do you think? Which dll is more appropriate for these functions?
Ideally, we wouldn't be integrating them anywhere. Does it work with just stub entries in api set dll, without forwards?
On Fri, Nov 26, 2021 at 4:45 AM Nikolay Sivov nsivov@codeweavers.com wrote:
I don't think this belongs to kernelbase, same for patch 3/4. Whether we want internal API at all to accommodate for native dlls is another question.
Required by Windows 10 msmpeg2vdec.dll.
Signed-off-by: Mohamad Al-Jaf mohamadaljaf@gmail.com --- dlls/kernelbase/kernelbase.spec | 1 + dlls/kernelbase/main.c | 9 +++++++++ 2 files changed, 10 insertions(+)
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec index e5924495f01..6fd8ac0638e 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -1740,6 +1740,7 @@ @ stdcall WriteProcessMemory(long ptr ptr long ptr) # @ stub WriteStateAtomValue # @ stub WriteStateContainerValue +@ stdcall XboxH265CodecDXVASupport(ptr) @ stdcall ZombifyActCtx(ptr) # @ stub _AddMUIStringToCache # @ stub _GetMUIStringFromCache diff --git a/dlls/kernelbase/main.c b/dlls/kernelbase/main.c index 86e1494d2ae..7700a654a6e 100644 --- a/dlls/kernelbase/main.c +++ b/dlls/kernelbase/main.c @@ -250,6 +250,15 @@ BOOL WINAPI VideoCodecsXboxFeaturesEnabled(void *arg) return FALSE; }
+/*********************************************************************** + * XboxH265CodecDXVASupport (KERNELBASE.@) + */ +BOOL WINAPI XboxH265CodecDXVASupport(void *arg) +{ + FIXME("(%p): stub\n", arg); + return FALSE; +} + HRESULT WINAPI QISearch(void *base, const QITAB *table, REFIID riid, void **obj) { const QITAB *ptr;
Enable Windows 10 msmpeg2vdec.dll to run. Chromium Embedded Framework is used by some applications to display videos and requires msmpeg2vdec.dll.
Signed-off-by: Mohamad Al-Jaf mohamadaljaf@gmail.com --- configure | 2 ++ configure.ac | 1 + dlls/ext-ms-mf-pal-l2-1-0/Makefile.in | 1 + dlls/ext-ms-mf-pal-l2-1-0/ext-ms-mf-pal-l2-1-0.spec | 2 ++ 4 files changed, 6 insertions(+) create mode 100644 dlls/ext-ms-mf-pal-l2-1-0/Makefile.in create mode 100644 dlls/ext-ms-mf-pal-l2-1-0/ext-ms-mf-pal-l2-1-0.spec
diff --git a/configure b/configure index 726b80fad89..bf61803b37a 100755 --- a/configure +++ b/configure @@ -1336,6 +1336,7 @@ enable_dxva2 enable_esent enable_evr enable_explorerframe +enable_ext_ms_mf_pal_l2_1_0 enable_ext_ms_win_authz_context_l1_1_0 enable_ext_ms_win_domainjoin_netjoin_l1_1_0 enable_ext_ms_win_dwmapi_ext_l1_1_0 @@ -21357,6 +21358,7 @@ wine_fn_config_makefile dlls/evr enable_evr wine_fn_config_makefile dlls/evr/tests enable_tests wine_fn_config_makefile dlls/explorerframe enable_explorerframe wine_fn_config_makefile dlls/explorerframe/tests enable_tests +wine_fn_config_makefile dlls/ext-ms-mf-pal-l2-1-0 enable_ext_ms_mf_pal_l2_1_0 wine_fn_config_makefile dlls/ext-ms-win-authz-context-l1-1-0 enable_ext_ms_win_authz_context_l1_1_0 wine_fn_config_makefile dlls/ext-ms-win-domainjoin-netjoin-l1-1-0 enable_ext_ms_win_domainjoin_netjoin_l1_1_0 wine_fn_config_makefile dlls/ext-ms-win-dwmapi-ext-l1-1-0 enable_ext_ms_win_dwmapi_ext_l1_1_0 diff --git a/configure.ac b/configure.ac index 77a928e0fe3..209afc15afa 100644 --- a/configure.ac +++ b/configure.ac @@ -2895,6 +2895,7 @@ WINE_CONFIG_MAKEFILE(dlls/evr) WINE_CONFIG_MAKEFILE(dlls/evr/tests) WINE_CONFIG_MAKEFILE(dlls/explorerframe) WINE_CONFIG_MAKEFILE(dlls/explorerframe/tests) +WINE_CONFIG_MAKEFILE(dlls/ext-ms-mf-pal-l2-1-0) WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-authz-context-l1-1-0) WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-domainjoin-netjoin-l1-1-0) WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-dwmapi-ext-l1-1-0) diff --git a/dlls/ext-ms-mf-pal-l2-1-0/Makefile.in b/dlls/ext-ms-mf-pal-l2-1-0/Makefile.in new file mode 100644 index 00000000000..a3d9e17a044 --- /dev/null +++ b/dlls/ext-ms-mf-pal-l2-1-0/Makefile.in @@ -0,0 +1 @@ +MODULE = ext-ms-mf-pal-l2-1-0.dll diff --git a/dlls/ext-ms-mf-pal-l2-1-0/ext-ms-mf-pal-l2-1-0.spec b/dlls/ext-ms-mf-pal-l2-1-0/ext-ms-mf-pal-l2-1-0.spec new file mode 100644 index 00000000000..31110c03197 --- /dev/null +++ b/dlls/ext-ms-mf-pal-l2-1-0/ext-ms-mf-pal-l2-1-0.spec @@ -0,0 +1,2 @@ +@ stdcall VideoCodecsXboxFeaturesEnabled(ptr) kernelbase.VideoCodecsXboxFeaturesEnabled +@ stdcall XboxH265CodecDXVASupport(ptr) kernelbase.XboxH265CodecDXVASupport