aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/intel_copy_image.c
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-09-08 21:34:16 -0700
committerJason Ekstrand <[email protected]>2016-09-12 19:44:05 -0700
commita1e49be71360a5a6124b5e7911b98d1887911e41 (patch)
tree3c77fee99d3a56094fdd428ee00ac3b5ff20b58d /src/mesa/drivers/dri/i965/intel_copy_image.c
parent540395bf9bba2a255809328d019b58a318e19c83 (diff)
i965: Use blorp_copy for all copy_image operations on gen6+
Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Chad Versace <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965/intel_copy_image.c')
-rw-r--r--src/mesa/drivers/dri/i965/intel_copy_image.c28
1 files changed, 6 insertions, 22 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_copy_image.c b/src/mesa/drivers/dri/i965/intel_copy_image.c
index 1ca6003cd12..7698d8ed90b 100644
--- a/src/mesa/drivers/dri/i965/intel_copy_image.c
+++ b/src/mesa/drivers/dri/i965/intel_copy_image.c
@@ -210,30 +210,14 @@ copy_miptrees(struct brw_context *brw,
int dst_x, int dst_y, int dst_z, unsigned dst_level,
int src_width, int src_height)
{
- struct gl_context *ctx = &brw->ctx;
unsigned bw, bh;
- if (brw->gen >= 6 &&
- brw->format_supported_as_render_target[dst_mt->format] &&
- !_mesa_is_format_compressed(src_mt->format)) {
-
- /* We'll use the destination format for both images */
- mesa_format format = dst_mt->format;
-
- brw_blorp_blit_miptrees(brw,
- src_mt, src_level, src_z, format, SWIZZLE_XYZW,
- dst_mt, dst_level, dst_z, format,
- src_x, src_y,
- src_x + src_width, src_y + src_height,
- dst_x, dst_y,
- dst_x + src_width, dst_y + src_height,
- GL_NEAREST, false, false, /* mirror */
- false, false);
- return;
- }
-
- if (src_mt->num_samples > 0 || dst_mt->num_samples > 0) {
- _mesa_problem(ctx, "Failed to copy multisampled texture with BLORP\n");
+ if (brw->gen >= 6) {
+ brw_blorp_copy_miptrees(brw,
+ src_mt, src_level, src_z,
+ dst_mt, dst_level, dst_z,
+ src_x, src_y, dst_x, dst_y,
+ src_width, src_height);
return;
}