[PATCH 2/6] drm/i915: Add render decompression support

Daniel Stone daniel at fooishbar.org
Mon Jul 31 16:14:53 UTC 2017


Hi,

On 26 July 2017 at 19:07, Ben Widawsky <ben at bwidawsk.net> wrote:
> Due to hardware limitations we require that the main surface and
> the AUX surface (CCS) be part of the same bo. The hardware also
> makes life hard by not allowing you to provide separate x/y offsets
> for the main and AUX surfaces (excpet with NV12), so finding suitable
> offsets for both requires a bit of work. Assuming we still want keep
> playing tricks with the offsets. I've just gone with a dumb "search
> backward for suitable offsets" approach, which is far from optimal,
>                  but it works.
>
>                  Also not all planes will be capable of scanning out compressed surfaces,
>                  and eg. 90/270 degree rotation is not supported in combination with
>                  decompression either.
>
>                  This patch may contain work from at least the following people:
>                  * Vandana Kannan <vandana.kannan at intel.com>
>                  * Daniel Vetter <daniel at ffwll.ch>
>                  * Ben Widawsky <ben at bwidawsk.net>
>
>         v2: Deal with display workarounds 0390, 0531, 1125 (Paulo)
> v3: Pretend CCS tiles are regular 128 byte wide Y tiles (Jason)
>         Put the AUX register defines to the correct place
>         Fix up the slightly bogus rotation check
>         v4: Use I915_WRITE_FW() due to plane update locking changes
> s/return -EINVAL/goto err/ in intel_framebuffer_init()
>         Eliminate a bunch hardcoded numbers in CCS code
>
> v5: (By Ben)
> conflict resolution +
> -               res_blocks += fixed_16_16_to_u32_round_up(y_tile_minimum);
> +               res_blocks += fixed16_to_u32_round_up(y_tile_minimum);

':set paste' is your friend :P

Cheers,
Daniel


More information about the dri-devel mailing list