Skip to content
Snippets Groups Projects
Commit 17a1391f authored by Henri Verbeet's avatar Henri Verbeet Committed by Alexandre Julliard
Browse files

wined3d: Create WINED3D_NO3D swapchain surfaces without GPU access.


The main issue this addresses is that WINED3D_RESOURCE_ACCESS_GPU implies that
WINED3D_LOCATION_TEXTURE_RGB makes sense as a location for the texture.

Signed-off-by: default avatarHenri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard's avatarAlexandre Julliard <julliard@winehq.org>
parent acb79238
Branches
Tags
No related merge requests found
......@@ -1413,7 +1413,10 @@ static HRESULT wined3d_swapchain_init(struct wined3d_swapchain *swapchain, struc
if (device->wined3d->flags & WINED3D_NO3D)
texture_desc.usage |= WINED3DUSAGE_OWNDC;
texture_desc.bind_flags = 0;
texture_desc.access = WINED3D_RESOURCE_ACCESS_GPU;
if (device->wined3d->flags & WINED3D_NO3D)
texture_desc.access = WINED3D_RESOURCE_ACCESS_CPU;
else
texture_desc.access = WINED3D_RESOURCE_ACCESS_GPU;
if (swapchain->state.desc.flags & WINED3D_SWAPCHAIN_LOCKABLE_BACKBUFFER)
texture_desc.access |= WINED3D_RESOURCE_ACCESS_MAP_R | WINED3D_RESOURCE_ACCESS_MAP_W;
texture_desc.width = swapchain->state.desc.backbuffer_width;
......@@ -1493,7 +1496,10 @@ static HRESULT wined3d_swapchain_init(struct wined3d_swapchain *swapchain, struc
texture_desc.format = swapchain->state.desc.auto_depth_stencil_format;
texture_desc.usage = 0;
texture_desc.bind_flags = WINED3D_BIND_DEPTH_STENCIL;
texture_desc.access = WINED3D_RESOURCE_ACCESS_GPU;
if (device->wined3d->flags & WINED3D_NO3D)
texture_desc.access = WINED3D_RESOURCE_ACCESS_CPU;
else
texture_desc.access = WINED3D_RESOURCE_ACCESS_GPU;
if (FAILED(hr = device->device_parent->ops->create_swapchain_texture(device->device_parent,
device->device_parent, &texture_desc, 0, &ds)))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment