wined3d: Make the entire surface current after clearing a discarded depth buffer.

This commit is contained in:
Matteo Bruni 2013-04-10 01:35:44 +02:00 committed by Alexandre Julliard
parent 50a91e11c6
commit f6d2737e62
1 changed files with 8 additions and 0 deletions

View File

@ -501,6 +501,14 @@ static void prepare_ds_clear(struct wined3d_surface *ds, struct wined3d_context
{
RECT current_rect, r;
if (ds->flags & SFLAG_DISCARDED)
{
/* Depth buffer was discarded, make it entirely current in its new location since
* there is no other place where we would get data anyway. */
SetRect(out_rect, 0, 0, ds->resource.width, ds->resource.height);
return;
}
if (ds->flags & location)
SetRect(&current_rect, 0, 0,
ds->ds_current_size.cx,