=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: dxgi: Get rid of set_feature_level() from dxgi_device_layer.
Alexandre Julliard
julliard at winehq.org
Mon Sep 24 15:48:23 CDT 2018
Module: wine
Branch: master
Commit: 23ad7f6a8b499a2cef99679600aba944c1a3956a
URL: https://source.winehq.org/git/wine.git/?a=commit;h=23ad7f6a8b499a2cef99679600aba944c1a3956a
Author: Józef Kucia <jkucia at codeweavers.com>
Date: Mon Sep 24 01:09:33 2018 +0200
dxgi: Get rid of set_feature_level() from dxgi_device_layer.
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/d3d11/d3d11_main.c | 18 +-----------------
dlls/d3d11/d3d11_private.h | 2 --
dlls/d3d11/device.c | 2 ++
dlls/dxgi/device.c | 12 ------------
dlls/dxgi/dxgi_private.h | 2 --
dlls/dxgi/utils.c | 3 ---
6 files changed, 3 insertions(+), 36 deletions(-)
diff --git a/dlls/d3d11/d3d11_main.c b/dlls/d3d11/d3d11_main.c
index 6d98116..9c89820 100644
--- a/dlls/d3d11/d3d11_main.c
+++ b/dlls/d3d11/d3d11_main.c
@@ -95,27 +95,11 @@ static HRESULT WINAPI layer_create(enum dxgi_device_layer_id id, void **layer_ba
return S_OK;
}
-static void WINAPI layer_set_feature_level(enum dxgi_device_layer_id id, void *device,
- D3D_FEATURE_LEVEL feature_level)
-{
- struct d3d_device *d3d_device = device;
-
- TRACE("id %#x, device %p, feature_level %#x.\n", id, device, feature_level);
-
- if (id != DXGI_DEVICE_LAYER_D3D10_DEVICE)
- {
- WARN("Unknown layer id %#x.\n", id);
- return;
- }
-
- d3d_device->feature_level = feature_level;
-}
-
HRESULT WINAPI D3D11CoreRegisterLayers(void)
{
static const struct dxgi_device_layer layers[] =
{
- {DXGI_DEVICE_LAYER_D3D10_DEVICE, layer_init, layer_get_size, layer_create, layer_set_feature_level},
+ {DXGI_DEVICE_LAYER_D3D10_DEVICE, layer_init, layer_get_size, layer_create},
};
DXGID3D10RegisterLayers(layers, ARRAY_SIZE(layers));
diff --git a/dlls/d3d11/d3d11_private.h b/dlls/d3d11/d3d11_private.h
index 6ec4131..3049193 100644
--- a/dlls/d3d11/d3d11_private.h
+++ b/dlls/d3d11/d3d11_private.h
@@ -588,8 +588,6 @@ struct dxgi_device_layer
UINT (WINAPI *get_size)(enum dxgi_device_layer_id id, struct layer_get_size_args *args, DWORD unknown0);
HRESULT (WINAPI *create)(enum dxgi_device_layer_id id, void **layer_base, DWORD unknown0,
void *device_object, REFIID riid, void **device_layer);
- void (WINAPI *set_feature_level)(enum dxgi_device_layer_id id, void *device,
- D3D_FEATURE_LEVEL feature_level);
};
HRESULT WINAPI DXGID3D10CreateDevice(HMODULE d3d10core, IDXGIFactory *factory, IDXGIAdapter *adapter,
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index e6ba31c..1edd41f 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -6004,6 +6004,8 @@ static void CDECL device_parent_wined3d_device_created(struct wined3d_device_par
wined3d_device_incref(wined3d_device);
device->wined3d_device = wined3d_device;
+ device->feature_level = wined3d_device_get_feature_level(wined3d_device);
+
set_default_depth_stencil_state(wined3d_device);
}
diff --git a/dlls/dxgi/device.c b/dlls/dxgi/device.c
index deb07ca..51773e9 100644
--- a/dlls/dxgi/device.c
+++ b/dlls/dxgi/device.c
@@ -411,7 +411,6 @@ HRESULT dxgi_device_init(struct dxgi_device *device, struct dxgi_device_layer *l
IWineDXGIDeviceParent *dxgi_device_parent;
struct dxgi_adapter *dxgi_adapter;
struct dxgi_factory *dxgi_factory;
- D3D_FEATURE_LEVEL feature_level;
void *layer_base;
HRESULT hr;
@@ -455,15 +454,6 @@ HRESULT dxgi_device_init(struct dxgi_device *device, struct dxgi_device_layer *l
wined3d_device_parent = IWineDXGIDeviceParent_get_wined3d_device_parent(dxgi_device_parent);
IWineDXGIDeviceParent_Release(dxgi_device_parent);
- if (!(feature_level = dxgi_check_feature_level_support(dxgi_factory, dxgi_adapter,
- feature_levels, level_count)))
- {
- IUnknown_Release(device->child_layer);
- wined3d_private_store_cleanup(&device->private_store);
- wined3d_mutex_unlock();
- return E_FAIL;
- }
-
if (FAILED(hr = wined3d_device_create(dxgi_factory->wined3d,
dxgi_adapter->ordinal, WINED3D_DEVICE_TYPE_HAL, NULL, 0, 4,
(const enum wined3d_feature_level *)feature_levels, level_count,
@@ -476,8 +466,6 @@ HRESULT dxgi_device_init(struct dxgi_device *device, struct dxgi_device_layer *l
return hr;
}
- layer->set_feature_level(layer->id, device->child_layer, feature_level);
-
memset(&swapchain_desc, 0, sizeof(swapchain_desc));
swapchain_desc.swap_effect = WINED3D_SWAP_EFFECT_DISCARD;
swapchain_desc.device_window = dxgi_factory_get_device_window(dxgi_factory);
diff --git a/dlls/dxgi/dxgi_private.h b/dlls/dxgi/dxgi_private.h
index 3a59196..8c3e41a 100644
--- a/dlls/dxgi/dxgi_private.h
+++ b/dlls/dxgi/dxgi_private.h
@@ -75,8 +75,6 @@ struct dxgi_device_layer
UINT (WINAPI *get_size)(enum dxgi_device_layer_id id, struct layer_get_size_args *args, DWORD unknown0);
HRESULT (WINAPI *create)(enum dxgi_device_layer_id id, void **layer_base, DWORD unknown0,
void *device_object, REFIID riid, void **device_layer);
- void (WINAPI *set_feature_level)(enum dxgi_device_layer_id id, void *device,
- D3D_FEATURE_LEVEL feature_level);
};
/* TRACE helper functions */
diff --git a/dlls/dxgi/utils.c b/dlls/dxgi/utils.c
index 009d351..ad8e2a2 100644
--- a/dlls/dxgi/utils.c
+++ b/dlls/dxgi/utils.c
@@ -23,7 +23,6 @@
#include "dxgi_private.h"
WINE_DEFAULT_DEBUG_CHANNEL(dxgi);
-WINE_DECLARE_DEBUG_CHANNEL(winediag);
#define WINE_DXGI_TO_STR(x) case x: return #x
@@ -674,7 +673,5 @@ D3D_FEATURE_LEVEL dxgi_check_feature_level_support(struct dxgi_factory *factory,
debug_feature_level(feature_levels[i]));
}
- FIXME_(winediag)("None of the requested D3D feature levels is supported on this GPU "
- "with the current shader backend.\n");
return 0;
}
More information about the wine-cvs
mailing list