From 2fc9c7e3d9b2bcd65c9e192bc11d3c87835f85dc Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Sat, 27 Aug 2016 21:57:51 -0700 Subject: [PATCH] intel/blorp: Take a destination swizzle in blorp_blit Signed-off-by: Jason Ekstrand Reviewed-by: Topi Pohjolainen --- src/intel/blorp/blorp.h | 2 +- src/intel/blorp/blorp_blit.c | 3 ++- src/mesa/drivers/dri/i965/brw_blorp.c | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/intel/blorp/blorp.h b/src/intel/blorp/blorp.h index 173d4faf5f2..d562b17c268 100644 --- a/src/intel/blorp/blorp.h +++ b/src/intel/blorp/blorp.h @@ -101,7 +101,7 @@ blorp_blit(struct blorp_batch *batch, enum isl_format src_format, struct isl_swizzle src_swizzle, const struct blorp_surf *dst_surf, unsigned dst_level, unsigned dst_layer, - enum isl_format dst_format, + enum isl_format dst_format, struct isl_swizzle dst_swizzle, float src_x0, float src_y0, float src_x1, float src_y1, float dst_x0, float dst_y0, diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c index 5bdf05cb0cc..c6fba669cee 100644 --- a/src/intel/blorp/blorp_blit.c +++ b/src/intel/blorp/blorp_blit.c @@ -1363,7 +1363,7 @@ blorp_blit(struct blorp_batch *batch, enum isl_format src_format, struct isl_swizzle src_swizzle, const struct blorp_surf *dst_surf, unsigned dst_level, unsigned dst_layer, - enum isl_format dst_format, + enum isl_format dst_format, struct isl_swizzle dst_swizzle, float src_x0, float src_y0, float src_x1, float src_y1, float dst_x0, float dst_y0, @@ -1618,6 +1618,7 @@ blorp_blit(struct blorp_batch *batch, brw_blorp_get_blit_kernel(batch->blorp, ¶ms, &wm_prog_key); params.src.view.swizzle = src_swizzle; + params.dst.view.swizzle = dst_swizzle; batch->blorp->exec(batch, ¶ms); } diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c b/src/mesa/drivers/dri/i965/brw_blorp.c index b6fe5d17111..cc17c98d498 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp.c +++ b/src/mesa/drivers/dri/i965/brw_blorp.c @@ -362,6 +362,7 @@ brw_blorp_blit_miptrees(struct brw_context *brw, brw_blorp_to_isl_format(brw, src_format, false), src_isl_swizzle, &dst_surf, dst_level, dst_layer, brw_blorp_to_isl_format(brw, dst_format, true), + ISL_SWIZZLE_IDENTITY, src_x0, src_y0, src_x1, src_y1, dst_x0, dst_y0, dst_x1, dst_y1, filter, mirror_x, mirror_y); -- 2.30.2