Alexandre Julliard : dxgi: Build with msvcrt.
Alexandre Julliard
julliard at winehq.org
Thu Mar 3 16:06:40 CST 2022
Module: wine
Branch: master
Commit: 6b8cbfe3fdc1ab8c6efd55dc51df7c3d738c4a47
URL: https://source.winehq.org/git/wine.git/?a=commit;h=6b8cbfe3fdc1ab8c6efd55dc51df7c3d738c4a47
Author: Alexandre Julliard <julliard at winehq.org>
Date: Thu Mar 3 10:23:26 2022 +0100
dxgi: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/dxgi/Makefile.in | 4 +-
dlls/dxgi/adapter.c | 2 -
dlls/dxgi/device.c | 2 -
dlls/dxgi/dxgi_main.c | 2 -
dlls/dxgi/factory.c | 2 -
dlls/dxgi/output.c | 2 -
dlls/dxgi/surface.c | 2 -
dlls/dxgi/swapchain.c | 163 ++------------------------------------------------
dlls/dxgi/utils.c | 2 -
9 files changed, 6 insertions(+), 175 deletions(-)
diff --git a/dlls/dxgi/Makefile.in b/dlls/dxgi/Makefile.in
index 111d756b635..d4398008dad 100644
--- a/dlls/dxgi/Makefile.in
+++ b/dlls/dxgi/Makefile.in
@@ -2,9 +2,7 @@ EXTRADEFS = -DWINE_NO_LONG_TYPES
MODULE = dxgi.dll
IMPORTLIB = dxgi
IMPORTS = gdi32 dxguid uuid wined3d user32 win32u
-EXTRAINCL = $(VKD3D_CFLAGS)
-
-EXTRADLLFLAGS = -mcygwin
+EXTRAINCL = $(VKD3D_PE_CFLAGS)
C_SRCS = \
adapter.c \
diff --git a/dlls/dxgi/adapter.c b/dlls/dxgi/adapter.c
index e38fef5fa4f..644f7e889ec 100644
--- a/dlls/dxgi/adapter.c
+++ b/dlls/dxgi/adapter.c
@@ -17,8 +17,6 @@
*
*/
-#include "config.h"
-
#include "dxgi_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(dxgi);
diff --git a/dlls/dxgi/device.c b/dlls/dxgi/device.c
index b2635c3f582..7dcc081ee0a 100644
--- a/dlls/dxgi/device.c
+++ b/dlls/dxgi/device.c
@@ -17,8 +17,6 @@
*
*/
-#include "config.h"
-
#include "dxgi_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(dxgi);
diff --git a/dlls/dxgi/dxgi_main.c b/dlls/dxgi/dxgi_main.c
index 3ac62f6b65c..3a69e1d55c2 100644
--- a/dlls/dxgi/dxgi_main.c
+++ b/dlls/dxgi/dxgi_main.c
@@ -17,8 +17,6 @@
*
*/
-#include "config.h"
-
#define DXGI_INIT_GUID
#include "dxgi_private.h"
diff --git a/dlls/dxgi/factory.c b/dlls/dxgi/factory.c
index f57ed7df48f..97f71bc8fc1 100644
--- a/dlls/dxgi/factory.c
+++ b/dlls/dxgi/factory.c
@@ -17,8 +17,6 @@
*
*/
-#include "config.h"
-
#include "dxgi_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(dxgi);
diff --git a/dlls/dxgi/output.c b/dlls/dxgi/output.c
index bbe394b6556..585f5ae5b82 100644
--- a/dlls/dxgi/output.c
+++ b/dlls/dxgi/output.c
@@ -16,8 +16,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-#include "config.h"
-
#include "dxgi_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(dxgi);
diff --git a/dlls/dxgi/surface.c b/dlls/dxgi/surface.c
index 663ae30af94..dd069524fbc 100644
--- a/dlls/dxgi/surface.c
+++ b/dlls/dxgi/surface.c
@@ -17,8 +17,6 @@
*
*/
-#include "config.h"
-
#include "dxgi_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(dxgi);
diff --git a/dlls/dxgi/swapchain.c b/dlls/dxgi/swapchain.c
index 0bc1ba4f493..aaf4fe101de 100644
--- a/dlls/dxgi/swapchain.c
+++ b/dlls/dxgi/swapchain.c
@@ -17,23 +17,8 @@
*
*/
-#include "config.h"
-
#include "dxgi_private.h"
-
-#ifdef SONAME_LIBVKD3D
-#define VK_NO_PROTOTYPES
-#define VKD3D_NO_PROTOTYPES
-#define VKD3D_NO_VULKAN_H
-#define VKD3D_NO_WIN32_TYPES
-#ifndef USE_WIN32_VULKAN
-#define WINE_VK_HOST
-#include <dlfcn.h>
-#endif
-#include "wine/vulkan.h"
-#include "wine/vulkan_driver.h"
#include <vkd3d.h>
-#endif
WINE_DEFAULT_DEBUG_CHANNEL(dxgi);
WINE_DECLARE_DEBUG_CHANNEL(winediag);
@@ -928,78 +913,6 @@ cleanup:
return hr;
}
-#ifdef SONAME_LIBVKD3D
-
-#ifdef USE_WIN32_VULKAN
-
-static void *load_library(const char *name)
-{
- return LoadLibraryA(name);
-}
-
-static void *get_library_proc(void *handle, const char *name)
-{
- return (void *)GetProcAddress(handle, name);
-}
-
-static void close_library(void *handle)
-{
- if (handle)
- FreeLibrary(handle);
-}
-
-static PFN_vkGetInstanceProcAddr load_vulkan(void **vulkan_handle)
-{
- *vulkan_handle = LoadLibraryA("vulkan-1.dll");
- return (void *)GetProcAddress(*vulkan_handle, "vkGetInstanceProcAddr");
-}
-
-#else
-
-static void *load_library(const char *name)
-{
- return dlopen(name, RTLD_NOW);
-}
-
-static void *get_library_proc(void *handle, const char *name)
-{
- return dlsym(handle, name);
-}
-
-static void close_library(void *handle)
-{
- if (handle)
- dlclose(handle);
-}
-
-static PFN_vkGetInstanceProcAddr load_vulkan(void **vulkan_handle)
-{
- const struct vulkan_funcs *vk_funcs;
-
- *vulkan_handle = NULL;
-
- vk_funcs = __wine_get_vulkan_driver(WINE_VULKAN_DRIVER_VERSION);
- if (vk_funcs)
- return (PFN_vkGetInstanceProcAddr)vk_funcs->p_vkGetInstanceProcAddr;
-
- return NULL;
-}
-
-#endif /* USE_WIN32_VULKAN */
-
-static PFN_vkd3d_acquire_vk_queue vkd3d_acquire_vk_queue;
-static PFN_vkd3d_create_image_resource vkd3d_create_image_resource;
-static PFN_vkd3d_get_device_parent vkd3d_get_device_parent;
-static PFN_vkd3d_get_vk_device vkd3d_get_vk_device;
-static PFN_vkd3d_get_vk_format vkd3d_get_vk_format;
-static PFN_vkd3d_get_vk_physical_device vkd3d_get_vk_physical_device;
-static PFN_vkd3d_get_vk_queue_family_index vkd3d_get_vk_queue_family_index;
-static PFN_vkd3d_instance_from_device vkd3d_instance_from_device;
-static PFN_vkd3d_instance_get_vk_instance vkd3d_instance_get_vk_instance;
-static PFN_vkd3d_release_vk_queue vkd3d_release_vk_queue;
-static PFN_vkd3d_resource_decref vkd3d_resource_decref;
-static PFN_vkd3d_resource_incref vkd3d_resource_incref;
-
struct dxgi_vk_funcs
{
PFN_vkAcquireNextImageKHR p_vkAcquireNextImageKHR;
@@ -1938,7 +1851,7 @@ static void d3d12_swapchain_destroy(struct d3d12_swapchain *swapchain)
if (swapchain->factory)
IWineDXGIFactory_Release(swapchain->factory);
- close_library(vulkan_module);
+ FreeLibrary(vulkan_module);
wined3d_swapchain_state_destroy(swapchain->state);
}
@@ -2861,61 +2774,13 @@ static const struct IDXGISwapChain4Vtbl d3d12_swapchain_vtbl =
d3d12_swapchain_SetHDRMetaData,
};
-static BOOL load_vkd3d_functions(void *vkd3d_handle)
-{
-#define LOAD_FUNCPTR(f) if (!(f = get_library_proc(vkd3d_handle, #f))) return FALSE;
- LOAD_FUNCPTR(vkd3d_acquire_vk_queue)
- LOAD_FUNCPTR(vkd3d_create_image_resource)
- LOAD_FUNCPTR(vkd3d_get_device_parent)
- LOAD_FUNCPTR(vkd3d_get_vk_device)
- LOAD_FUNCPTR(vkd3d_get_vk_format)
- LOAD_FUNCPTR(vkd3d_get_vk_physical_device)
- LOAD_FUNCPTR(vkd3d_get_vk_queue_family_index)
- LOAD_FUNCPTR(vkd3d_instance_from_device)
- LOAD_FUNCPTR(vkd3d_instance_get_vk_instance)
- LOAD_FUNCPTR(vkd3d_release_vk_queue)
- LOAD_FUNCPTR(vkd3d_resource_decref)
- LOAD_FUNCPTR(vkd3d_resource_incref)
-#undef LOAD_FUNCPTR
-
- return TRUE;
-}
-
-static void *vkd3d_handle;
-
-static BOOL WINAPI init_vkd3d_once(INIT_ONCE *once, void *param, void **context)
-{
- TRACE("Loading vkd3d %s.\n", SONAME_LIBVKD3D);
-
- if (!(vkd3d_handle = load_library(SONAME_LIBVKD3D)))
- return FALSE;
-
- if (!load_vkd3d_functions(vkd3d_handle))
- {
- ERR("Failed to load vkd3d functions.\n");
- close_library(vkd3d_handle);
- vkd3d_handle = NULL;
- return FALSE;
- }
-
- return TRUE;
-}
-
-static BOOL init_vkd3d(void)
-{
- static INIT_ONCE init_once = INIT_ONCE_STATIC_INIT;
- InitOnceExecuteOnce(&init_once, init_vkd3d_once, NULL, NULL);
- return !!vkd3d_handle;
-}
-
static BOOL init_vk_funcs(struct dxgi_vk_funcs *dxgi, VkInstance vk_instance, VkDevice vk_device)
{
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr;
PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr;
- dxgi->vulkan_module = NULL;
-
- if (!(vkGetInstanceProcAddr = load_vulkan(&dxgi->vulkan_module)))
+ dxgi->vulkan_module = LoadLibraryA("vulkan-1.dll");
+ if (!(vkGetInstanceProcAddr = (void *)GetProcAddress(dxgi->vulkan_module, "vkGetInstanceProcAddr")))
{
ERR_(winediag)("Failed to load Vulkan.\n");
return FALSE;
@@ -2927,7 +2792,7 @@ static BOOL init_vk_funcs(struct dxgi_vk_funcs *dxgi, VkInstance vk_instance, Vk
if (!(dxgi->p_##name = (void *)vkGetInstanceProcAddr(vk_instance, #name))) \
{ \
ERR("Failed to get instance proc "#name".\n"); \
- close_library(dxgi->vulkan_module); \
+ FreeLibrary(dxgi->vulkan_module); \
return FALSE; \
}
LOAD_INSTANCE_PFN(vkCreateWin32SurfaceKHR)
@@ -2944,7 +2809,7 @@ static BOOL init_vk_funcs(struct dxgi_vk_funcs *dxgi, VkInstance vk_instance, Vk
if (!(dxgi->p_##name = (void *)vkGetDeviceProcAddr(vk_device, #name))) \
{ \
ERR("Failed to get device proc "#name".\n"); \
- close_library(dxgi->vulkan_module); \
+ FreeLibrary(dxgi->vulkan_module); \
return FALSE; \
}
LOAD_DEVICE_PFN(vkAcquireNextImageKHR)
@@ -3050,12 +2915,6 @@ static HRESULT d3d12_swapchain_init(struct d3d12_swapchain *swapchain, IWineDXGI
return DXGI_ERROR_INVALID_CALL;
}
- if (!init_vkd3d())
- {
- ERR_(winediag)("libvkd3d could not be loaded.\n");
- return DXGI_ERROR_UNSUPPORTED;
- }
-
if (FAILED(hr = dxgi_get_output_from_window(factory, window, &output)))
{
WARN("Failed to get output from window %p, hr %#x.\n", window, hr);
@@ -3246,15 +3105,3 @@ HRESULT d3d12_swapchain_create(IWineDXGIFactory *factory, ID3D12CommandQueue *qu
return S_OK;
}
-
-#else
-
-HRESULT d3d12_swapchain_create(IWineDXGIFactory *factory, ID3D12CommandQueue *queue, HWND window,
- const DXGI_SWAP_CHAIN_DESC1 *swapchain_desc, const DXGI_SWAP_CHAIN_FULLSCREEN_DESC *fullscreen_desc,
- IDXGISwapChain1 **swapchain)
-{
- ERR_(winediag)("Wine was built without Direct3D 12 support.\n");
- return DXGI_ERROR_UNSUPPORTED;
-}
-
-#endif /* SONAME_LIBVKD3D */
diff --git a/dlls/dxgi/utils.c b/dlls/dxgi/utils.c
index ee891e70b10..d701725afa9 100644
--- a/dlls/dxgi/utils.c
+++ b/dlls/dxgi/utils.c
@@ -17,8 +17,6 @@
*
*/
-#include "config.h"
-
#include "dxgi_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(dxgi);
More information about the wine-cvs
mailing list