From 1567329f9159d436ab26738dfce96bc17fc9ee47 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Tue, 27 Mar 2018 15:36:50 +0430 Subject: [PATCH] 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 Signed-off-by: Alexandre Julliard --- 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 b66b3946c46..b17effefd5a 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;