[PATCH 3/5] wined3d: Handle changing the backbuffer format in wined3d_device_reset().
Henri Verbeet
hverbeet at codeweavers.com
Thu Nov 24 15:52:34 CST 2011
---
dlls/wined3d/device.c | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index d165806..e12f48a 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -5241,6 +5241,8 @@ static HRESULT updateSurfaceDesc(struct wined3d_surface *surface,
while (surface->pow2Height < pPresentationParameters->BackBufferHeight) surface->pow2Height <<= 1;
}
+ if (!(surface->resource.usage & WINED3DUSAGE_DEPTHSTENCIL))
+ surface->resource.format = wined3d_get_format(gl_info, pPresentationParameters->BackBufferFormat);
surface->resource.multisample_type = pPresentationParameters->MultiSampleType;
surface->resource.multisample_quality = pPresentationParameters->MultiSampleQuality;
@@ -5498,10 +5500,6 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
&& present_parameters->BackBufferCount != swapchain->presentParms.BackBufferCount)
FIXME("Cannot change the back buffer count yet.\n");
- if (present_parameters->BackBufferFormat != WINED3DFMT_UNKNOWN
- && present_parameters->BackBufferFormat != swapchain->presentParms.BackBufferFormat)
- FIXME("Cannot change the back buffer format yet.\n");
-
if (present_parameters->hDeviceWindow
&& present_parameters->hDeviceWindow != swapchain->presentParms.hDeviceWindow)
FIXME("Cannot change the device window yet.\n");
@@ -5572,6 +5570,13 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device,
update_desc = TRUE;
}
+ if (present_parameters->BackBufferFormat != WINED3DFMT_UNKNOWN
+ && present_parameters->BackBufferFormat != swapchain->presentParms.BackBufferFormat)
+ {
+ swapchain->presentParms.BackBufferFormat = present_parameters->BackBufferFormat;
+ update_desc = TRUE;
+ }
+
if (present_parameters->MultiSampleType != swapchain->presentParms.MultiSampleType
|| present_parameters->MultiSampleQuality != swapchain->presentParms.MultiSampleQuality)
{
--
1.7.3.4
More information about the wine-patches
mailing list