[igt-dev] [PATCH i-g-t 3/7] lib/rendercopy: Set the upper 32bits of surface base address on gen8+

Chris Wilson chris at chris-wilson.co.uk
Wed Jul 4 16:41:37 UTC 2018


Quoting Ville Syrjala (2018-07-04 17:16:42)
> diff --git a/lib/rendercopy_gen8.c b/lib/rendercopy_gen8.c
> index 4406a0a0e6eb..5a9bf32e6b9b 100644
> --- a/lib/rendercopy_gen8.c
> +++ b/lib/rendercopy_gen8.c
> @@ -172,7 +172,8 @@ gen8_bind_buf(struct intel_batchbuffer *batch,
>         else if (buf->tiling == I915_TILING_Y)
>                 ss->ss0.tiled_mode = 3;
>  
> -       ss->ss8.base_addr = buf->bo->offset;
> +       ss->ss8.base_addr = buf->bo->offset64;
> +       ss->ss9.base_addr_hi = buf->bo->offset64 >> 32;

To be pedantic, we might want to use gen8_canonical_addr(x)
{ return (int64_t)((uint64_t)x << (63-47)) >> (63-47); }
-Chris


More information about the igt-dev mailing list