[Mesa-dev] [PATCH] intel/blorp: Set needs_(dst|src)_offset for Gen4 cubemaps

Ian Romanick idr at freedesktop.org
Tue Jun 6 16:10:49 UTC 2017


On 06/05/2017 06:03 PM, Jason Ekstrand wrote:
> On Mon, Jun 5, 2017 at 5:22 PM, Ian Romanick <idr at freedesktop.org
> <mailto:idr at freedesktop.org>> wrote:
> 
>     From: Jason Ekstrand <jason.ekstrand at intel.com
>     <mailto:jason.ekstrand at intel.com>>
> 
>     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.
> 
> 
> Don't we also need the patch which makes us respect needs_src_offset for
> the bilinear filter case?

I had expected that we would, but it didn't seem to matter for this
test.  I was going to wait on the other patches until the whole series
is ready, but I could send out the speculative fixes sooner.

>     Signed-off-by: Ian Romanick <ian.d.romanick at intel.com
>     <mailto:ian.d.romanick at intel.com>>
>     Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101284
>     <https://bugs.freedesktop.org/show_bug.cgi?id=101284>
>     ---
>      src/intel/blorp/blorp_blit.c | 8 ++++++--
>      1 file changed, 6 insertions(+), 2 deletions(-)
> 
>     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,
>     &params->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,
>     &params->src);
>     +         wm_prog_key->need_src_offset = true;
>     +      }
>         }
> 
>         if (devinfo->gen > 6 &&
>     --
>     2.9.4
> 
>     _______________________________________________
>     mesa-dev mailing list
>     mesa-dev at lists.freedesktop.org <mailto:mesa-dev at lists.freedesktop.org>
>     https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>     <https://lists.freedesktop.org/mailman/listinfo/mesa-dev>


More information about the mesa-dev mailing list