From: Jason Ekstrand Date: Wed, 31 May 2017 18:29:14 +0000 (-0700) Subject: intel/blorp: Set needs_(dst|src)_offset for Gen4 cubemaps X-Git-Tag: upstream/18.1.0~8609 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b2dd61196e7fb4ee9b4d1be7b83c2bdfa7f12021;p=platform%2Fupstream%2Fmesa.git intel/blorp: Set needs_(dst|src)_offset for Gen4 cubemaps We call convert_to_single_slice so they may end up with a non-trivial offset that needs to be taken into account. v2 (idr): Also set needs_src_offset. Suggested by Jason. Fixes ES2-CTS.functional.texture.specification.basic_copyteximage2d.cube_rgba and ES2-CTS.functional.texture.specification.basic_copytexsubimage2d.cube_rgba on G45. Signed-off-by: Ian Romanick Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101284 Reviewed-by: Jason Ekstrand --- diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c index d93cde2..e48e5da 100644 --- a/src/intel/blorp/blorp_blit.c +++ b/src/intel/blorp/blorp_blit.c @@ -1672,11 +1672,15 @@ try_blorp_blit(struct blorp_batch *batch, /* The MinLOD and MinimumArrayElement don't work properly for cube maps. * Convert them to a single slice on gen4. */ - if (params->dst.surf.usage & ISL_SURF_USAGE_CUBE_BIT) + if (params->dst.surf.usage & ISL_SURF_USAGE_CUBE_BIT) { blorp_surf_convert_to_single_slice(batch->blorp->isl_dev, ¶ms->dst); + wm_prog_key->need_dst_offset = true; + } - if (params->src.surf.usage & ISL_SURF_USAGE_CUBE_BIT) + if (params->src.surf.usage & ISL_SURF_USAGE_CUBE_BIT) { blorp_surf_convert_to_single_slice(batch->blorp->isl_dev, ¶ms->src); + wm_prog_key->need_src_offset = true; + } } if (devinfo->gen > 6 &&