On Mon 10 Aug 2015, Anuj Phogat wrote:
> This condition restricts the use of fast copy blit to cases
> where starting pixel of src and dst is oword (16 byte) aligned.
> 
> Many piglit tests (if using fast copy blit in Mesa) failed earlier
> because I missed adding this condition.Fast copy blit is currently
> enabled for use only with Yf/Ys tiling.
> 
> Cc: Ben Widawsky <benjamin.widaw...@intel.com>
> Signed-off-by: Anuj Phogat <anuj.pho...@gmail.com>
> ---
>  src/mesa/drivers/dri/i965/intel_blit.c | 4 ++++
>  1 file changed, 4 insertions(+)

> +   /* The start pixel for Fast Copy blit should be on an OWord boundary. */
> +   if ((dst_x * cpp | src_x * cpp) & 15)
> +      return false;
> +

Technically, it's (src_bo_base_address + src_offset + src_x * cpp) that
must be OWord-aligned. But src_bo_base_address is always 4K-aligned, and
there exist a check below that confirms that src_offset is
OWord-aligned. So... I believe checking the alignment of only the (dst_x
* cpp) component of (src_bo_base_address + src_offset + src_x * cpp) is
sufficient.

>     /* For all surface types buffers must be cacheline-aligned. */
>     if ((dst_offset | src_offset) & 63)
>        return false;

Reviewed-by: Chad Versace <chad.vers...@intel.com>

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to