summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/state_trackers/d3d1x/gd3d11/d3d11_context.h23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/gallium/state_trackers/d3d1x/gd3d11/d3d11_context.h b/src/gallium/state_trackers/d3d1x/gd3d11/d3d11_context.h
index 12f2aaddc91..aedf82a4381 100644
--- a/src/gallium/state_trackers/d3d1x/gd3d11/d3d11_context.h
+++ b/src/gallium/state_trackers/d3d1x/gd3d11/d3d11_context.h
@@ -1726,9 +1726,26 @@ changed:
SYNCHRONIZED;
GalliumD3D11Resource<>* dst = (GalliumD3D11Resource<>*)dst_resource;
GalliumD3D11Resource<>* src = (GalliumD3D11Resource<>*)src_resource;
- unsigned dst_layer = d3d11_subresource_to_face(dst->resource, dst_subresource);
- unsigned src_layer = d3d11_subresource_to_face(src->resource, src_subresource);
- pipe->resource_resolve(pipe, dst->resource, dst_layer, src->resource, src_layer);
+ struct pipe_resolve_info info;
+
+ info.dst.res = dst->resource;
+ info.src.res = src->resource;
+ info.dst.level = 0;
+ info.dst.layer = d3d11_subresource_to_face(dst->resource, dst_subresource);
+ info.src.layer = d3d11_subresource_to_face(src->resource, src_subresource);
+
+ info.src.x0 = 0;
+ info.src.x1 = info.src.res->width0;
+ info.src.y0 = 0;
+ info.src.y1 = info.src.res->height0;
+ info.dst.x0 = 0;
+ info.dst.x1 = info.dst.res->width0;
+ info.dst.y0 = 0;
+ info.dst.y1 = info.dst.res->height0;
+
+ info.mask = PIPE_MASK_RGBA | PIPE_MASK_ZS;
+
+ pipe->resource_resolve(pipe, &info);
}
#if API >= 11