Added patch for IDXGIOutput::GetDesc.

This commit is contained in:
Michael Müller 2014-12-19 21:35:01 +01:00
parent c6eae9c6a3
commit 3d8a3c0e69
5 changed files with 70 additions and 1 deletions

View File

@ -37,11 +37,12 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
===================================
**Bugfixes and features included in the next upcoming release [3]:**
**Bugfixes and features included in the next upcoming release [4]:**
* Add stub for RtlSetHeapInformation
* Ensure X11 input events are handled even without explicit message loop ([Wine Bug #8854](https://bugs.winehq.org/show_bug.cgi?id=8854))
* Fix handling of subdirectory in FtpFindFirstFile ([Wine Bug #16526](https://bugs.winehq.org/show_bug.cgi?id=16526))
* Implement IDXGIOutput::GetDesc
**Bugs fixed in Wine Staging 1.7.33 [119]:**

1
debian/changelog vendored
View File

@ -8,6 +8,7 @@ wine-staging (1.7.34) UNRELEASED; urgency=low
* Added patch to ensure X11 input events are handled even without explicit message loop.
* Added test for server-Unexpected_Wakeup patch.
* Added patch for stub of ntdll.RtlSetHeapInformation.
* Added patch for IDXGIOutput::GetDesc.
* Removed patch to implement combase HSTRING objects (accepted upstream).
* Removed patch to add fake ProductId to registry (accepted upstream).
* Removed patch to implement stubs for MFStartup and MFShutdown (accepted upstream).

View File

@ -38,6 +38,7 @@ PATCHLIST := \
dbghelp-KdHelp.ok \
dinput-Events.ok \
dsound-Fast_Mixer.ok \
dxgi-GetDesc.ok \
fonts-Missing_Fonts.ok \
gdi32-MaxPixelFormats.ok \
gdi32-MultiMonitor.ok \
@ -486,6 +487,18 @@ dsound-Fast_Mixer.ok:
echo '+ { "Alexander E. Patrakov", "dsound: Add a linear resampler for use with a large number of mixing buffers.", 1 },'; \
) > dsound-Fast_Mixer.ok
# Patchset dxgi-GetDesc
# |
# | Modified files:
# | * dlls/dxgi/output.c
# |
.INTERMEDIATE: dxgi-GetDesc.ok
dxgi-GetDesc.ok:
$(call APPLY_FILE,dxgi-GetDesc/0001-dxgi-Implement-IDXGIOutput-GetDesc.patch)
@( \
echo '+ { "Michael Müller", "dxgi: Implement IDXGIOutput::GetDesc.", 1 },'; \
) > dxgi-GetDesc.ok
# Patchset fonts-Missing_Fonts
# |
# | This patchset fixes the following Wine bugs:

View File

@ -0,0 +1,53 @@
From 297166d280007d0e4413ec5977497a848dda678b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 19 Dec 2014 21:20:21 +0100
Subject: dxgi: Implement IDXGIOutput::GetDesc.
---
dlls/dxgi/output.c | 29 +++++++++++++++++++++++++++--
1 file changed, 27 insertions(+), 2 deletions(-)
diff --git a/dlls/dxgi/output.c b/dlls/dxgi/output.c
index f4a5c29..158491e 100644
--- a/dlls/dxgi/output.c
+++ b/dlls/dxgi/output.c
@@ -114,9 +114,34 @@ static HRESULT STDMETHODCALLTYPE dxgi_output_GetParent(IDXGIOutput *iface,
static HRESULT STDMETHODCALLTYPE dxgi_output_GetDesc(IDXGIOutput *iface, DXGI_OUTPUT_DESC *desc)
{
- FIXME("iface %p, desc %p stub!\n", iface, desc);
+ struct dxgi_output *This = impl_from_IDXGIOutput(iface);
+ struct wined3d *wined3d;
+ MONITORINFOEXW monitor_info;
- return E_NOTIMPL;
+ FIXME("iface %p, desc %p semi-stub!\n", iface, desc);
+
+ if (!desc)
+ return DXGI_ERROR_INVALID_CALL;
+
+ wined3d = This->adapter->parent->wined3d;
+
+ EnterCriticalSection(&dxgi_cs);
+ desc->Monitor = wined3d_get_adapter_monitor(wined3d, This->adapter->ordinal);
+ LeaveCriticalSection(&dxgi_cs);
+
+ if (!desc->Monitor)
+ return DXGI_ERROR_INVALID_CALL;
+
+ monitor_info.cbSize = sizeof(monitor_info);
+ if (!GetMonitorInfoW(desc->Monitor, (MONITORINFO *)&monitor_info))
+ return DXGI_ERROR_INVALID_CALL;
+
+ memcpy(&desc->DeviceName, &monitor_info.szDevice, sizeof(desc->DeviceName));
+ memcpy(&desc->DesktopCoordinates, &monitor_info.rcMonitor, sizeof(RECT));
+ desc->AttachedToDesktop = TRUE;
+ desc->Rotation = DXGI_MODE_ROTATION_IDENTITY;
+
+ return S_OK;
}
static HRESULT STDMETHODCALLTYPE dxgi_output_GetDisplayModeList(IDXGIOutput *iface,
--
1.9.1

View File

@ -0,0 +1 @@
Fixes: Implement IDXGIOutput::GetDesc