Module: wine
Branch: master
Commit: e5f5bea390d263e2119e25ee8802864409719941
URL: https://gitlab.winehq.org/wine/wine/-/commit/e5f5bea390d263e2119e25ee880286…
Author: Henri Verbeet <hverbeet(a)codeweavers.com>
Date: Wed Sep 14 11:34:27 2022 +0200
d3d11/tests: Move the is_warp_device() call out of the loop in check_format_support().
There's no point in querying this multiple times, it's not going to change.
Perhaps more importantly, calling is_warp_device() inside a todo_wine block
will cause "Test succeeded inside todo block: ..." messages from
get_device_adapter_desc(). These appear to have been introduced by commit
fcc276ecb1508d5217ec977ca530ee7d30d355b9. Arguably get_device_adapter_desc()
shouldn't use ok() in the first place.
---
dlls/d3d11/tests/d3d11.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
index 5e00bc7a336..bc7f8fd971d 100644
--- a/dlls/d3d11/tests/d3d11.c
+++ b/dlls/d3d11/tests/d3d11.c
@@ -20961,6 +20961,7 @@ static void check_format_support(ID3D11Device *device, const unsigned int *forma
D3D_FEATURE_LEVEL feature_level, const struct format_support *formats,
unsigned int format_count, unsigned int feature_flag, const char *feature_name)
{
+ BOOL warp = is_warp_device(device);
unsigned int i;
for (i = 0; i < format_count; ++i)
@@ -20971,7 +20972,7 @@ static void check_format_support(ID3D11Device *device, const unsigned int *forma
if (formats[i].fl_required <= feature_level)
{
todo_wine_if (feature_flag == D3D11_FORMAT_SUPPORT_DISPLAY)
- ok(supported || broken(is_warp_device(device)),
+ ok(supported || broken(warp),
"Format %#x - %s not supported, format support %#x.\n",
format, feature_name, format_support[format]);
continue;
Module: wine
Branch: master
Commit: 51466755ad52d80164f969fffcf1f7ba4699a4d2
URL: https://gitlab.winehq.org/wine/wine/-/commit/51466755ad52d80164f969fffcf1f7…
Author: Henri Verbeet <hverbeet(a)codeweavers.com>
Date: Wed Sep 14 15:14:44 2022 +0200
wined3d: Destroy the Vulkan command pool after cleaning up resources.
This fixes an issue exposed (but not caused) by commit
e553be7e776282fea77b8b60304298d9de90bd8b. Calling vkFreeCommandBuffers()
after the corresponding command pool was destroyed causes invalid memory
accesses. Thanks to Jacek for pointing this out.
---
dlls/wined3d/context_vk.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/wined3d/context_vk.c b/dlls/wined3d/context_vk.c
index db1840d29e2..d47f7cf5d1a 100644
--- a/dlls/wined3d/context_vk.c
+++ b/dlls/wined3d/context_vk.c
@@ -1684,10 +1684,13 @@ void wined3d_context_vk_cleanup(struct wined3d_context_vk *context_vk)
heap_free(context_vk->vk_descriptor_pools);
if (context_vk->vk_framebuffer)
VK_CALL(vkDestroyFramebuffer(device_vk->vk_device, context_vk->vk_framebuffer, NULL));
- VK_CALL(vkDestroyCommandPool(device_vk->vk_device, context_vk->vk_command_pool, NULL));
if (context_vk->vk_so_counter_bo.vk_buffer)
wined3d_context_vk_destroy_bo(context_vk, &context_vk->vk_so_counter_bo);
wined3d_context_vk_cleanup_resources(context_vk, VK_NULL_HANDLE);
+ /* Destroy the command pool after cleaning up resources. In particular,
+ * this needs to happen after all command buffers are freed, because
+ * vkFreeCommandBuffers() requires a valid pool handle. */
+ VK_CALL(vkDestroyCommandPool(device_vk->vk_device, context_vk->vk_command_pool, NULL));
wined3d_context_vk_destroy_query_pools(context_vk, &context_vk->free_occlusion_query_pools);
wined3d_context_vk_destroy_query_pools(context_vk, &context_vk->free_timestamp_query_pools);
wined3d_context_vk_destroy_query_pools(context_vk, &context_vk->free_pipeline_statistics_query_pools);
Module: wine
Branch: master
Commit: 1df5309a822ac33daabda5654a3eaf93b88dffea
URL: https://gitlab.winehq.org/wine/wine/-/commit/1df5309a822ac33daabda5654a3eaf…
Author: Mohamad Al-Jaf <mohamadaljaf(a)gmail.com>
Date: Sun Sep 11 23:58:39 2022 -0400
winusb: Add WinUsb_Free stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52677
Signed-off-by: Mohamad Al-Jaf <mohamadaljaf(a)gmail.com>
---
dlls/winusb/Makefile.in | 3 +++
dlls/winusb/main.c | 36 ++++++++++++++++++++++++++++++++++++
dlls/winusb/winusb.spec | 2 +-
3 files changed, 40 insertions(+), 1 deletion(-)
diff --git a/dlls/winusb/Makefile.in b/dlls/winusb/Makefile.in
index c8cab4dbed9..d33bf088362 100644
--- a/dlls/winusb/Makefile.in
+++ b/dlls/winusb/Makefile.in
@@ -1 +1,4 @@
MODULE = winusb.dll
+
+C_SRCS = \
+ main.c
diff --git a/dlls/winusb/main.c b/dlls/winusb/main.c
new file mode 100644
index 00000000000..52682a5f53d
--- /dev/null
+++ b/dlls/winusb/main.c
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2022 Mohamad Al-Jaf
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include <stdarg.h>
+
+#include "windef.h"
+#include "winbase.h"
+#include "winusb.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(winusb);
+
+/***********************************************************************
+ * WinUsb_Free (winusb.@)
+ */
+BOOL WINAPI WinUsb_Free(WINUSB_INTERFACE_HANDLE handle)
+{
+ FIXME( "(%p) - stub\n", handle );
+ return TRUE;
+}
diff --git a/dlls/winusb/winusb.spec b/dlls/winusb/winusb.spec
index 09371e9ee46..a0b57d58096 100644
--- a/dlls/winusb/winusb.spec
+++ b/dlls/winusb/winusb.spec
@@ -1,7 +1,7 @@
@ stub WinUsb_AbortPipe
@ stub WinUsb_ControlTransfer
@ stub WinUsb_FlushPipe
-@ stub WinUsb_Free
+@ stdcall WinUsb_Free(ptr)
@ stub WinUsb_GetAssociatedInterface
@ stub WinUsb_GetCurrentAlternateSetting
@ stub WinUsb_GetDescriptor
Module: wine
Branch: master
Commit: 437bdce96cf80266e607d6dff8135e5a24974dec
URL: https://gitlab.winehq.org/wine/wine/-/commit/437bdce96cf80266e607d6dff8135e…
Author: Mohamad Al-Jaf <mohamadaljaf(a)gmail.com>
Date: Sun Sep 11 23:56:59 2022 -0400
include: Add winusb.h file.
Signed-off-by: Mohamad Al-Jaf <mohamadaljaf(a)gmail.com>
---
include/Makefile.in | 1 +
include/winusb.h | 34 ++++++++++++++++++++++++++++++++++
2 files changed, 35 insertions(+)
diff --git a/include/Makefile.in b/include/Makefile.in
index 70134a7bcb7..0598a3ce3de 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -890,6 +890,7 @@ SOURCES = \
wintabx.h \
winternl.h \
wintrust.h \
+ winusb.h \
winuser.h \
winuser.rh \
winver.h \
diff --git a/include/winusb.h b/include/winusb.h
new file mode 100644
index 00000000000..77b686b4c7c
--- /dev/null
+++ b/include/winusb.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2022 Mohamad Al-Jaf
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef _WINUSB_H_
+#define _WINUSB_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef PVOID WINUSB_INTERFACE_HANDLE, *PWINUSB_INTERFACE_HANDLE;
+
+BOOL WINAPI WinUsb_Free(WINUSB_INTERFACE_HANDLE);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _WINUSB_H_ */