[PATCH 4/5] wined3d: Always set the get_drawable_size() surface function.
Henri Verbeet
hverbeet at codeweavers.com
Tue Aug 3 03:13:33 CDT 2010
---
dlls/wined3d/surface.c | 38 +++++++++++++++++++++++++++++---------
1 files changed, 29 insertions(+), 9 deletions(-)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 849d892..47282b0 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -4028,11 +4028,19 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_PrivateSetup(IWineD3DSurface *iface) {
}
}
- if(This->resource.usage & WINED3DUSAGE_RENDERTARGET) {
- switch(wined3d_settings.offscreen_rendering_mode) {
- case ORM_FBO: This->get_drawable_size = get_drawable_size_fbo; break;
- case ORM_BACKBUFFER: This->get_drawable_size = get_drawable_size_backbuffer; break;
- }
+ switch (wined3d_settings.offscreen_rendering_mode)
+ {
+ case ORM_FBO:
+ This->get_drawable_size = get_drawable_size_fbo;
+ break;
+
+ case ORM_BACKBUFFER:
+ This->get_drawable_size = get_drawable_size_backbuffer;
+ break;
+
+ default:
+ ERR("Unhandled offscreen rendering mode %#x.\n", wined3d_settings.offscreen_rendering_mode);
+ return WINED3DERR_INVALIDCALL;
}
This->Flags |= SFLAG_INSYSMEM;
@@ -4669,10 +4677,22 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_SetContainer(IWineD3DSurface *iface, I
if(swapchain) {
This->get_drawable_size = get_drawable_size_swapchain;
IWineD3DSwapChain_Release(swapchain);
- } else if(This->resource.usage & WINED3DUSAGE_RENDERTARGET) {
- switch(wined3d_settings.offscreen_rendering_mode) {
- case ORM_FBO: This->get_drawable_size = get_drawable_size_fbo; break;
- case ORM_BACKBUFFER: This->get_drawable_size = get_drawable_size_backbuffer; break;
+ }
+ else
+ {
+ switch (wined3d_settings.offscreen_rendering_mode)
+ {
+ case ORM_FBO:
+ This->get_drawable_size = get_drawable_size_fbo;
+ break;
+
+ case ORM_BACKBUFFER:
+ This->get_drawable_size = get_drawable_size_backbuffer;
+ break;
+
+ default:
+ ERR("Unhandled offscreen rendering mode %#x.\n", wined3d_settings.offscreen_rendering_mode);
+ return WINED3DERR_INVALIDCALL;
}
}
--
1.7.1
More information about the wine-patches
mailing list