On Dec 11, 2016 12:28 AM, "Pohjolainen, Topi" <topi.pohjolai...@gmail.com>
wrote:

On Tue, Dec 06, 2016 at 12:37:45PM -0800, Jason Ekstrand wrote:
> Cc: "13.0" <mesa-sta...@lists.freedesktop.org>
> ---
>  src/mesa/drivers/dri/i965/intel_blit.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/intel_blit.c
b/src/mesa/drivers/dri/i965/intel_blit.c
> index 03a35ee..5f0cf74 100644
> --- a/src/mesa/drivers/dri/i965/intel_blit.c
> +++ b/src/mesa/drivers/dri/i965/intel_blit.c
> @@ -421,8 +421,10 @@ intel_miptree_copy(struct brw_context *brw,
>
>        assert(src_x % bw == 0);
>        assert(src_y % bh == 0);
> -      assert(src_width % bw == 0);
> -      assert(src_height % bh == 0);
> +      assert(src_width % bw == 0 ||
> +             src_x + src_width == minify(src_mt->logical_width0,
src_level));
> +      assert(src_height % bh == 0 ||
> +             src_y + src_height == minify(src_mt->logical_height0,
src_level));

Can you given example how we can blit sub-block worth of data? Above there
is
check for src_x/y being block aligned don't all mipmap levels need to be
aligned as well?


For compressed textures, the width and height of the entire texture don't
have to be block-aligned.  When computing the size of a miplevel in blocks,
you just round up to the nearest block and part of the last block may be
outside the texture.  This means that every time you have a subrectangle of
a compressed textures, the upper and left edges have to be block-aligned
and the lower and right edges have to be either block-aligned or be the
left or right edge of the miplevel.  Make sense?  It's really annoying.

>
>        src_x /= (int)bw;
>        src_y /= (int)bh;
> --
> 2.5.0.400.gff86faf
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to