summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/i915/i915_surface.c
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2012-07-28 01:19:18 +0200
committerMarek Olšák <[email protected]>2012-08-04 14:05:37 +0200
commit84645fa61390475e6efb080685e0dec059622a39 (patch)
tree03da220d7d9dd31568704f10a4cd4610ae693d34 /src/gallium/drivers/i915/i915_surface.c
parente2f623f1d6da9bc987582ff68d0471061ae44030 (diff)
gallium/u_blitter: add a query for checking whether copying is supported
v2: add comments
Diffstat (limited to 'src/gallium/drivers/i915/i915_surface.c')
-rw-r--r--src/gallium/drivers/i915/i915_surface.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/i915/i915_surface.c b/src/gallium/drivers/i915/i915_surface.c
index c51689dcb4c..a25676efeca 100644
--- a/src/gallium/drivers/i915/i915_surface.c
+++ b/src/gallium/drivers/i915/i915_surface.c
@@ -59,6 +59,13 @@ i915_surface_copy_render(struct pipe_context *pipe,
return;
}
+ if (!util_blitter_is_copy_supported(i915->blitter, dst, src,
+ PIPE_MASK_RGBAZS)) {
+ util_resource_copy_region(pipe, dst, dst_level, dstx, dsty, dstz,
+ src, src_level, src_box);
+ return;
+ }
+
util_blitter_save_blend(i915->blitter, (void *)i915->blend);
util_blitter_save_depth_stencil_alpha(i915->blitter, (void *)i915->depth_stencil);
util_blitter_save_stencil_ref(i915->blitter, &i915->stencil_ref);