Hi, On 26 July 2017 at 19:07, Ben Widawsky <ben@xxxxxxxxxxxx> 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@xxxxxxxxx> > * Daniel Vetter <daniel@xxxxxxxx> > * Ben Widawsky <ben@xxxxxxxxxxxx> > > 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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel