Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com>
---
dlls/d3d8/directx.c | 7 ++++++-
dlls/d3d9/directx.c | 14 ++++++++++++--
dlls/ddraw/ddraw.c | 12 ++++++------
dlls/ddraw/device.c | 8 ++++----
dlls/ddraw/surface.c | 2 +-
dlls/dxgi/swapchain.c | 2 +-
dlls/wined3d/device.c | 2 +-
dlls/wined3d/directx.c | 25 +++++++++++--------------
dlls/wined3d/swapchain.c | 31 ++++++++++++++++---------------
dlls/wined3d/wined3d.spec | 4 ++--
include/wine/wined3d.h | 6 +++---
11 files changed, 63 insertions(+), 50 deletions(-)
diff --git a/dlls/d3d8/directx.c b/dlls/d3d8/directx.c
index b78b119d22c..d515caffd25 100644
--- a/dlls/d3d8/directx.c
+++ b/dlls/d3d8/directx.c
@@ -184,13 +184,18 @@ static HRESULT WINAPI d3d8_GetAdapterDisplayMode(IDirect3D8 *iface, UINT adapter
{
struct d3d8 *d3d8 = impl_from_IDirect3D8(iface);
struct wined3d_display_mode wined3d_mode;
+ unsigned int output_idx;
HRESULT hr;
TRACE("iface %p, adapter %u, mode %p.\n",
iface, adapter, mode);
+ output_idx = adapter;
+ if (output_idx >= d3d8->wined3d_output_count)
+ return D3DERR_INVALIDCALL;
+
wined3d_mutex_lock();
- hr = wined3d_get_adapter_display_mode(d3d8->wined3d, adapter, &wined3d_mode, NULL);
+ hr = wined3d_output_get_display_mode(d3d8->wined3d_outputs[output_idx], &wined3d_mode, NULL);
wined3d_mutex_unlock();
if (SUCCEEDED(hr))
diff --git a/dlls/d3d9/directx.c b/dlls/d3d9/directx.c
index 83bb3d8217c..d006cf27435 100644
--- a/dlls/d3d9/directx.c
+++ b/dlls/d3d9/directx.c
@@ -208,12 +208,17 @@ static HRESULT WINAPI d3d9_GetAdapterDisplayMode(IDirect3D9Ex *iface, UINT adapt
{
struct d3d9 *d3d9 = impl_from_IDirect3D9Ex(iface);
struct wined3d_display_mode wined3d_mode;
+ unsigned int output_idx;
HRESULT hr;
TRACE("iface %p, adapter %u, mode %p.\n", iface, adapter, mode);
+ output_idx = adapter;
+ if (output_idx >= d3d9->wined3d_output_count)
+ return D3DERR_INVALIDCALL;
+
wined3d_mutex_lock();
- hr = wined3d_get_adapter_display_mode(d3d9->wined3d, adapter, &wined3d_mode, NULL);
+ hr = wined3d_output_get_display_mode(d3d9->wined3d_outputs[output_idx], &wined3d_mode, NULL);
wined3d_mutex_unlock();
if (SUCCEEDED(hr))
@@ -504,16 +509,21 @@ static HRESULT WINAPI d3d9_GetAdapterDisplayModeEx(IDirect3D9Ex *iface,
{
struct d3d9 *d3d9 = impl_from_IDirect3D9Ex(iface);
struct wined3d_display_mode wined3d_mode;
+ unsigned int output_idx;
HRESULT hr;
TRACE("iface %p, adapter %u, mode %p, rotation %p.\n",
iface, adapter, mode, rotation);
+ output_idx = adapter;
+ if (output_idx >= d3d9->wined3d_output_count)
+ return D3DERR_INVALIDCALL;
+
if (mode->Size != sizeof(*mode))
return D3DERR_INVALIDCALL;
wined3d_mutex_lock();
- hr = wined3d_get_adapter_display_mode(d3d9->wined3d, adapter, &wined3d_mode,
+ hr = wined3d_output_get_display_mode(d3d9->wined3d_outputs[output_idx], &wined3d_mode,
(enum wined3d_display_rotation *)rotation);
wined3d_mutex_unlock();
diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c
index 4d4a9d7114f..f947ca8b2b6 100644
--- a/dlls/ddraw/ddraw.c
+++ b/dlls/ddraw/ddraw.c
@@ -556,7 +556,7 @@ static HRESULT ddraw_attach_d3d_device(struct ddraw *ddraw, HWND window,
TRACE("ddraw %p.\n", ddraw);
- if (FAILED(hr = wined3d_get_adapter_display_mode(ddraw->wined3d, WINED3DADAPTER_DEFAULT, &mode, NULL)))
+ if (FAILED(hr = wined3d_output_get_display_mode(ddraw->wined3d_output, &mode, NULL)))
{
ERR("Failed to get display mode.\n");
return hr;
@@ -1617,7 +1617,7 @@ static HRESULT WINAPI ddraw7_GetDisplayMode(IDirectDraw7 *iface, DDSURFACEDESC2
wined3d_mutex_lock();
- if (FAILED(hr = wined3d_get_adapter_display_mode(ddraw->wined3d, WINED3DADAPTER_DEFAULT, &mode, NULL)))
+ if (FAILED(hr = wined3d_output_get_display_mode(ddraw->wined3d_output, &mode, NULL)))
{
ERR("Failed to get display mode, hr %#x.\n", hr);
wined3d_mutex_unlock();
@@ -1710,7 +1710,7 @@ static HRESULT WINAPI ddraw7_GetFourCCCodes(IDirectDraw7 *iface, DWORD *NumCodes
TRACE("iface %p, codes_count %p, codes %p.\n", iface, NumCodes, Codes);
- if (FAILED(hr = wined3d_get_adapter_display_mode(ddraw->wined3d, WINED3DADAPTER_DEFAULT, &mode, NULL)))
+ if (FAILED(hr = wined3d_output_get_display_mode(ddraw->wined3d_output, &mode, NULL)))
{
ERR("Failed to get display mode, hr %#x.\n", hr);
return hr;
@@ -1772,7 +1772,7 @@ static HRESULT WINAPI ddraw7_GetMonitorFrequency(IDirectDraw7 *iface, DWORD *fre
TRACE("iface %p, frequency %p.\n", iface, frequency);
wined3d_mutex_lock();
- hr = wined3d_get_adapter_display_mode(ddraw->wined3d, WINED3DADAPTER_DEFAULT, &mode, NULL);
+ hr = wined3d_output_get_display_mode(ddraw->wined3d_output, &mode, NULL);
wined3d_mutex_unlock();
if (FAILED(hr))
{
@@ -1907,7 +1907,7 @@ static HRESULT WINAPI ddraw7_GetAvailableVidMem(IDirectDraw7 *iface, DDSCAPS2 *c
/* Some applications (e.g. 3DMark 2000) assume that the reported amount of
* video memory doesn't include the memory used by the default framebuffer.
*/
- if (FAILED(hr = wined3d_get_adapter_display_mode(ddraw->wined3d, WINED3DADAPTER_DEFAULT, &mode, NULL)))
+ if (FAILED(hr = wined3d_output_get_display_mode(ddraw->wined3d_output, &mode, NULL)))
{
WARN("Failed to get display mode, hr %#x.\n", hr);
wined3d_mutex_unlock();
@@ -4432,7 +4432,7 @@ static HRESULT WINAPI d3d7_EnumZBufferFormats(IDirect3D7 *iface, REFCLSID device
* not like that we'll have to find some workaround, like iterating over
* all imaginable formats and collecting all the depth stencil formats we
* can get. */
- if (FAILED(hr = wined3d_get_adapter_display_mode(ddraw->wined3d, WINED3DADAPTER_DEFAULT, &mode, NULL)))
+ if (FAILED(hr = wined3d_output_get_display_mode(ddraw->wined3d_output, &mode, NULL)))
{
ERR("Failed to get display mode, hr %#x.\n", hr);
wined3d_mutex_unlock();
diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c
index 39626157a56..ab3584b8fea 100644
--- a/dlls/ddraw/device.c
+++ b/dlls/ddraw/device.c
@@ -1086,10 +1086,10 @@ static HRESULT d3d_device7_EnumTextureFormats(IDirect3DDevice7 *iface,
wined3d_mutex_lock();
memset(&mode, 0, sizeof(mode));
- if (FAILED(hr = wined3d_get_adapter_display_mode(device->ddraw->wined3d, WINED3DADAPTER_DEFAULT, &mode, NULL)))
+ if (FAILED(hr = wined3d_output_get_display_mode(device->ddraw->wined3d_output, &mode, NULL)))
{
wined3d_mutex_unlock();
- WARN("Cannot get the current adapter format\n");
+ WARN("Failed to get output display mode, hr %#x.\n", hr);
return hr;
}
@@ -1214,10 +1214,10 @@ static HRESULT WINAPI d3d_device2_EnumTextureFormats(IDirect3DDevice2 *iface,
wined3d_mutex_lock();
memset(&mode, 0, sizeof(mode));
- if (FAILED(hr = wined3d_get_adapter_display_mode(device->ddraw->wined3d, WINED3DADAPTER_DEFAULT, &mode, NULL)))
+ if (FAILED(hr = wined3d_output_get_display_mode(device->ddraw->wined3d_output, &mode, NULL)))
{
wined3d_mutex_unlock();
- WARN("Cannot get the current adapter format\n");
+ WARN("Failed to get output display mode, hr %#x.\n", hr);
return hr;
}
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
index 442aeed67b3..a803324c450 100644
--- a/dlls/ddraw/surface.c
+++ b/dlls/ddraw/surface.c
@@ -6008,7 +6008,7 @@ HRESULT ddraw_surface_create(struct ddraw *ddraw, const DDSURFACEDESC2 *surface_
return DDERR_INVALIDCAPS;
}
- if (FAILED(hr = wined3d_get_adapter_display_mode(ddraw->wined3d, WINED3DADAPTER_DEFAULT, &mode, NULL)))
+ if (FAILED(hr = wined3d_output_get_display_mode(ddraw->wined3d_output, &mode, NULL)))
{
ERR("Failed to get display mode, hr %#x.\n", hr);
heap_free(texture);
diff --git a/dlls/dxgi/swapchain.c b/dlls/dxgi/swapchain.c
index 25e994c5fe8..0d929099eb9 100644
--- a/dlls/dxgi/swapchain.c
+++ b/dlls/dxgi/swapchain.c
@@ -2903,7 +2903,7 @@ static HRESULT d3d12_swapchain_init(struct d3d12_swapchain *swapchain, IWineDXGI
if (FAILED(hr = wined3d_swapchain_desc_from_dxgi(&wined3d_desc, window, swapchain_desc, fullscreen_desc)))
return hr;
if (FAILED(hr = wined3d_swapchain_state_create(&wined3d_desc, window,
- dxgi_adapter->factory->wined3d, dxgi_adapter->ordinal, &swapchain->state)))
+ dxgi_adapter->factory->wined3d, &swapchain->state)))
return hr;
if (swapchain_desc->BufferUsage && swapchain_desc->BufferUsage != DXGI_USAGE_RENDER_TARGET_OUTPUT)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 21f9af9566d..9a1a16a6a7b 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4856,7 +4856,7 @@ HRESULT CDECL wined3d_device_set_cursor_properties(struct wined3d_device *device
return WINED3DERR_INVALIDCALL;
}
- if (FAILED(hr = wined3d_get_adapter_display_mode(device->wined3d, device->adapter->ordinal, &mode, NULL)))
+ if (FAILED(hr = wined3d_output_get_display_mode(&device->adapter->outputs[0], &mode, NULL)))
{
ERR("Failed to get display mode, hr %#x.\n", hr);
return WINED3DERR_INVALIDCALL;
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index fb43e46ee5e..6ab9dd23579 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -933,7 +933,7 @@ HRESULT CDECL wined3d_get_output_desc(const struct wined3d *wined3d, unsigned in
if (!(monitor = MonitorFromPoint(adapter->monitor_position, MONITOR_DEFAULTTOPRIMARY)))
return WINED3DERR_INVALIDCALL;
- if (FAILED(hr = wined3d_get_adapter_display_mode(wined3d, adapter_idx, &mode, &rotation)))
+ if (FAILED(hr = wined3d_output_get_display_mode(&adapter->outputs[0], &mode, &rotation)))
return hr;
memcpy(desc->device_name, adapter->device_name, sizeof(desc->device_name));
@@ -1144,7 +1144,7 @@ HRESULT CDECL wined3d_find_closest_matching_adapter_mode(const struct wined3d *w
if (!mode->width || !mode->height)
{
struct wined3d_display_mode current_mode;
- if (FAILED(hr = wined3d_get_adapter_display_mode(wined3d, adapter_idx,
+ if (FAILED(hr = wined3d_output_get_display_mode(&wined3d->adapters[adapter_idx]->outputs[0],
¤t_mode, NULL)))
{
heap_free(matching_modes);
@@ -1180,24 +1180,20 @@ HRESULT CDECL wined3d_find_closest_matching_adapter_mode(const struct wined3d *w
return WINED3D_OK;
}
-HRESULT CDECL wined3d_get_adapter_display_mode(const struct wined3d *wined3d, UINT adapter_idx,
+HRESULT CDECL wined3d_output_get_display_mode(const struct wined3d_output *output,
struct wined3d_display_mode *mode, enum wined3d_display_rotation *rotation)
{
- const struct wined3d_adapter *adapter;
DEVMODEW m;
- TRACE("wined3d %p, adapter_idx %u, display_mode %p, rotation %p.\n",
- wined3d, adapter_idx, mode, rotation);
+ TRACE("output %p, display_mode %p, rotation %p.\n", output, mode, rotation);
- if (!mode || adapter_idx >= wined3d->adapter_count)
+ if (!mode)
return WINED3DERR_INVALIDCALL;
- adapter = wined3d->adapters[adapter_idx];
-
memset(&m, 0, sizeof(m));
m.dmSize = sizeof(m);
- EnumDisplaySettingsExW(adapter->device_name, ENUM_CURRENT_SETTINGS, &m, 0);
+ EnumDisplaySettingsExW(output->device_name, ENUM_CURRENT_SETTINGS, &m, 0);
mode->width = m.dmPelsWidth;
mode->height = m.dmPelsHeight;
mode->refresh_rate = DEFAULT_REFRESH_RATE;
@@ -1209,12 +1205,12 @@ HRESULT CDECL wined3d_get_adapter_display_mode(const struct wined3d *wined3d, UI
* are pretty angry if they SetDisplayMode from 24 to 16 bpp and find out
* that GetDisplayMode still returns 24 bpp. This should probably be
* handled in winex11 instead. */
- if (adapter->outputs[0].screen_format && adapter->outputs[0].screen_format != mode->format_id)
+ if (output->screen_format && output->screen_format != mode->format_id)
{
WARN("Overriding format %s with stored format %s.\n",
debug_d3dformat(mode->format_id),
- debug_d3dformat(adapter->outputs[0].screen_format));
- mode->format_id = adapter->outputs[0].screen_format;
+ debug_d3dformat(output->screen_format));
+ mode->format_id = output->screen_format;
}
if (!(m.dmFields & DM_DISPLAYFLAGS))
@@ -1421,7 +1417,8 @@ HRESULT CDECL wined3d_get_adapter_raster_status(const struct wined3d *wined3d, U
if (!QueryPerformanceCounter(&counter) || !QueryPerformanceFrequency(&freq_per_sec))
return WINED3DERR_INVALIDCALL;
- if (FAILED(wined3d_get_adapter_display_mode(wined3d, adapter_idx, &mode, NULL)))
+ if (FAILED(wined3d_output_get_display_mode(&wined3d->adapters[adapter_idx]->outputs[0], &mode,
+ NULL)))
return WINED3DERR_INVALIDCALL;
if (mode.refresh_rate == DEFAULT_REFRESH_RATE)
mode.refresh_rate = 60;
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index 24519f076ee..57e5e25003a 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -321,12 +321,18 @@ struct wined3d_swapchain_state * CDECL wined3d_swapchain_get_state(struct wined3
HRESULT CDECL wined3d_swapchain_get_display_mode(const struct wined3d_swapchain *swapchain,
struct wined3d_display_mode *mode, enum wined3d_display_rotation *rotation)
{
+ struct wined3d_output *output;
HRESULT hr;
TRACE("swapchain %p, mode %p, rotation %p.\n", swapchain, mode, rotation);
- hr = wined3d_get_adapter_display_mode(swapchain->device->wined3d,
- swapchain->device->adapter->ordinal, mode, rotation);
+ if (!(output = wined3d_swapchain_get_output(swapchain)))
+ {
+ ERR("Failed to get output from swapchain %p.\n", swapchain);
+ return E_FAIL;
+ }
+
+ hr = wined3d_output_get_display_mode(output, mode, rotation);
TRACE("Returning w %u, h %u, refresh rate %u, format %s.\n",
mode->width, mode->height, mode->refresh_rate, debug_d3dformat(mode->format_id));
@@ -811,8 +817,7 @@ static enum wined3d_format_id adapter_format_from_backbuffer_format(const struct
}
static HRESULT wined3d_swapchain_state_init(struct wined3d_swapchain_state *state,
- const struct wined3d_swapchain_desc *desc, HWND window,
- struct wined3d *wined3d, unsigned int adapter_idx)
+ const struct wined3d_swapchain_desc *desc, HWND window, struct wined3d *wined3d)
{
struct wined3d_output *output;
HRESULT hr;
@@ -825,7 +830,7 @@ static HRESULT wined3d_swapchain_state_init(struct wined3d_swapchain_state *stat
return E_FAIL;
}
- if (FAILED(hr = wined3d_get_adapter_display_mode(wined3d, adapter_idx, &state->original_mode, NULL)))
+ if (FAILED(hr = wined3d_output_get_display_mode(output, &state->original_mode, NULL)))
{
ERR("Failed to get current display mode, hr %#x.\n", hr);
return hr;
@@ -858,7 +863,6 @@ static HRESULT wined3d_swapchain_init(struct wined3d_swapchain *swapchain, struc
struct wined3d_swapchain_desc *desc, void *parent, const struct wined3d_parent_ops *parent_ops,
const struct wined3d_swapchain_ops *swapchain_ops)
{
- const struct wined3d_adapter *adapter = device->adapter;
struct wined3d_resource_desc texture_desc;
struct wined3d_output *output;
BOOL displaymode_set = FALSE;
@@ -882,7 +886,7 @@ static HRESULT wined3d_swapchain_init(struct wined3d_swapchain *swapchain, struc
FIXME("Unimplemented swap effect %#x.\n", desc->swap_effect);
window = desc->device_window ? desc->device_window : device->create_parms.focus_window;
- if (FAILED(hr = wined3d_swapchain_state_init(&swapchain->state, desc, window, device->wined3d, adapter->ordinal)))
+ if (FAILED(hr = wined3d_swapchain_state_init(&swapchain->state, desc, window, device->wined3d)))
return hr;
swapchain->swapchain_ops = swapchain_ops;
@@ -1496,7 +1500,7 @@ HRESULT CDECL wined3d_swapchain_state_resize_target(struct wined3d_swapchain_sta
}
else
{
- if (FAILED(hr = wined3d_get_adapter_display_mode(wined3d, 0, &actual_mode, NULL)))
+ if (FAILED(hr = wined3d_output_get_display_mode(output, &actual_mode, NULL)))
{
ERR("Failed to get display mode, hr %#x.\n", hr);
wined3d_mutex_unlock();
@@ -1665,7 +1669,7 @@ HRESULT CDECL wined3d_swapchain_state_set_fullscreen(struct wined3d_swapchain_st
if (mode)
WARN("WINED3D_SWAPCHAIN_ALLOW_MODE_SWITCH is not set, ignoring mode.\n");
- if (FAILED(hr = wined3d_get_adapter_display_mode(wined3d, 0, &actual_mode, NULL)))
+ if (FAILED(hr = wined3d_output_get_display_mode(output, &actual_mode, NULL)))
{
ERR("Failed to get display mode, hr %#x.\n", hr);
return WINED3DERR_INVALIDCALL;
@@ -1716,20 +1720,17 @@ void CDECL wined3d_swapchain_state_destroy(struct wined3d_swapchain_state *state
}
HRESULT CDECL wined3d_swapchain_state_create(const struct wined3d_swapchain_desc *desc,
- HWND window, struct wined3d *wined3d, unsigned int adapter_idx, struct wined3d_swapchain_state **state)
+ HWND window, struct wined3d *wined3d, struct wined3d_swapchain_state **state)
{
struct wined3d_swapchain_state *s;
HRESULT hr;
- TRACE("desc %p, window %p, wined3d %p, adapter_idx %u, state %p.\n",
- desc, window, wined3d, adapter_idx, state);
-
- TRACE("desc %p, window %p, state %p.\n", desc, window, state);
+ TRACE("desc %p, window %p, wined3d %p, state %p.\n", desc, window, wined3d, state);
if (!(s = heap_alloc_zero(sizeof(*s))))
return E_OUTOFMEMORY;
- if (FAILED(hr = wined3d_swapchain_state_init(s, desc, window, wined3d, adapter_idx)))
+ if (FAILED(hr = wined3d_swapchain_state_init(s, desc, window, wined3d)))
{
heap_free(s);
return hr;
diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec
index b83adbaa8f3..01f261b7662 100644
--- a/dlls/wined3d/wined3d.spec
+++ b/dlls/wined3d/wined3d.spec
@@ -12,7 +12,6 @@
@ cdecl wined3d_find_closest_matching_adapter_mode(ptr long ptr)
@ cdecl wined3d_get_adapter(ptr long)
@ cdecl wined3d_get_adapter_count(ptr)
-@ cdecl wined3d_get_adapter_display_mode(ptr long ptr ptr)
@ cdecl wined3d_get_adapter_identifier(ptr long long ptr)
@ cdecl wined3d_get_adapter_raster_status(ptr long ptr)
@ cdecl wined3d_get_device_caps(ptr long long ptr)
@@ -159,6 +158,7 @@
@ cdecl wined3d_device_update_texture(ptr ptr ptr)
@ cdecl wined3d_device_validate_device(ptr ptr)
+@ cdecl wined3d_output_get_display_mode(ptr ptr ptr)
@ cdecl wined3d_output_get_mode(ptr long long long ptr)
@ cdecl wined3d_output_get_mode_count(ptr long long)
@ cdecl wined3d_output_set_display_mode(ptr ptr)
@@ -280,7 +280,7 @@
@ cdecl wined3d_swapchain_set_palette(ptr ptr)
@ cdecl wined3d_swapchain_set_window(ptr ptr)
-@ cdecl wined3d_swapchain_state_create(ptr ptr ptr long ptr)
+@ cdecl wined3d_swapchain_state_create(ptr ptr ptr ptr)
@ cdecl wined3d_swapchain_state_destroy(ptr)
@ cdecl wined3d_swapchain_state_resize_target(ptr ptr ptr ptr)
@ cdecl wined3d_swapchain_state_set_fullscreen(ptr ptr ptr ptr ptr)
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index f62375e539e..b2b7dac87c2 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -2263,8 +2263,6 @@ HRESULT __cdecl wined3d_find_closest_matching_adapter_mode(const struct wined3d
struct wined3d_adapter * __cdecl wined3d_get_adapter(const struct wined3d *wined3d,
unsigned int idx);
UINT __cdecl wined3d_get_adapter_count(const struct wined3d *wined3d);
-HRESULT __cdecl wined3d_get_adapter_display_mode(const struct wined3d *wined3d, UINT adapter_idx,
- struct wined3d_display_mode *mode, enum wined3d_display_rotation *rotation);
HRESULT __cdecl wined3d_get_adapter_identifier(const struct wined3d *wined3d, UINT adapter_idx,
DWORD flags, struct wined3d_adapter_identifier *identifier);
HRESULT __cdecl wined3d_get_adapter_raster_status(const struct wined3d *wined3d, UINT adapter_idx,
@@ -2494,6 +2492,8 @@ HRESULT __cdecl wined3d_device_update_texture(struct wined3d_device *device,
struct wined3d_texture *src_texture, struct wined3d_texture *dst_texture);
HRESULT __cdecl wined3d_device_validate_device(const struct wined3d_device *device, DWORD *num_passes);
+HRESULT __cdecl wined3d_output_get_display_mode(const struct wined3d_output *output,
+ struct wined3d_display_mode *mode, enum wined3d_display_rotation *rotation);
HRESULT __cdecl wined3d_output_get_mode(const struct wined3d_output *output,
enum wined3d_format_id format_id, enum wined3d_scanline_ordering scanline_ordering,
unsigned int mode_idx, struct wined3d_display_mode *mode);
@@ -2756,7 +2756,7 @@ void __cdecl wined3d_swapchain_set_palette(struct wined3d_swapchain *swapchain,
void __cdecl wined3d_swapchain_set_window(struct wined3d_swapchain *swapchain, HWND window);
HRESULT __cdecl wined3d_swapchain_state_create(const struct wined3d_swapchain_desc *desc,
- HWND window, struct wined3d *wined3d, unsigned int adapter_idx, struct wined3d_swapchain_state **state);
+ HWND window, struct wined3d *wined3d, struct wined3d_swapchain_state **state);
void __cdecl wined3d_swapchain_state_destroy(struct wined3d_swapchain_state *state);
HRESULT __cdecl wined3d_swapchain_state_resize_target(struct wined3d_swapchain_state *state,
struct wined3d *wined3d, struct wined3d_output *output,
--
2.20.1