wined3d: Avoid using the CPU blitter for clearing either depth or stencil on combined formats.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Henri Verbeet 2017-07-17 14:01:40 +02:00 committed by Alexandre Julliard
parent a9a5f371ae
commit 92d030c41e
1 changed files with 4 additions and 2 deletions

View File

@ -2595,8 +2595,10 @@ static void ffp_blitter_clear(struct wined3d_blitter *blitter, struct wined3d_de
}
}
if ((flags & (WINED3DCLEAR_ZBUFFER | WINED3DCLEAR_STENCIL))
&& (view = fb->depth_stencil) && ffp_blitter_use_cpu_clear(view))
if ((flags & (WINED3DCLEAR_ZBUFFER | WINED3DCLEAR_STENCIL)) && (view = fb->depth_stencil)
&& (!view->format->depth_size || (flags & WINED3DCLEAR_ZBUFFER))
&& (!view->format->stencil_size || (flags & WINED3DCLEAR_STENCIL))
&& ffp_blitter_use_cpu_clear(view))
{
next_flags |= flags & (WINED3DCLEAR_ZBUFFER | WINED3DCLEAR_STENCIL);
flags &= ~(WINED3DCLEAR_ZBUFFER | WINED3DCLEAR_STENCIL);