[PATCH 6/8] wined3d: Make the entire surface current after clearing a discarded depth buffer.
Matteo Bruni
mbruni at codeweavers.com
Tue Apr 9 18:35:44 CDT 2013
---
dlls/wined3d/device.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index f94d77a..6b5c9dc 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -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(¤t_rect, 0, 0,
ds->ds_current_size.cx,
--
1.8.1.5
More information about the wine-patches
mailing list