Module: wine Branch: master Commit: 1567329f9159d436ab26738dfce96bc17fc9ee47 URL: https://source.winehq.org/git/wine.git/?a=commit;h=1567329f9159d436ab26738df...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Tue Mar 27 15:54:50 2018 +0430
wined3d: Only create back-buffer views for swapchains with WINED3DUSAGE_RENDERTARGET set.
Since without it the view wouldn't be usable.
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/wined3d/device.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index b66b394..b17effe 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -1077,7 +1077,7 @@ HRESULT CDECL wined3d_device_init_3d(struct wined3d_device *device, goto err_out; }
- if (swapchain_desc->backbuffer_count) + if (swapchain_desc->backbuffer_count && swapchain_desc->backbuffer_usage & WINED3DUSAGE_RENDERTARGET) { struct wined3d_resource *back_buffer = &swapchain->back_buffers[0]->resource; struct wined3d_view_desc view_desc; @@ -1113,7 +1113,7 @@ HRESULT CDECL wined3d_device_init_3d(struct wined3d_device *device, TRACE("All defaults now set up.\n");
/* Clear the screen */ - if (swapchain->back_buffers && swapchain->back_buffers[0]) + if (device->back_buffer_view) clear_flags |= WINED3DCLEAR_TARGET; if (swapchain_desc->enable_auto_depth_stencil) clear_flags |= WINED3DCLEAR_ZBUFFER | WINED3DCLEAR_STENCIL; @@ -4893,7 +4893,7 @@ HRESULT CDECL wined3d_device_reset(struct wined3d_device *device, wined3d_rendertarget_view_decref(device->back_buffer_view); device->back_buffer_view = NULL; } - if (swapchain->desc.backbuffer_count) + if (swapchain->desc.backbuffer_count && swapchain->desc.backbuffer_usage & WINED3DUSAGE_RENDERTARGET) { struct wined3d_resource *back_buffer = &swapchain->back_buffers[0]->resource;