Re: [PATCH v2 1/2] drm/vc4: Fix negative X/Y positioning on SAND planes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 06 Dec 2018 10:59:17 -0800
Eric Anholt <eric@xxxxxxxxxx> wrote:

> > +
> > +		/*
> > +		 * SCALER_PITCH0_SINK_PIX does not seem to work for SAND
> > +		 * formats. Specify a negative START_X instead, even if it's
> > +		 * less efficient.
> > +		 */
> > +		if (x_off)
> > +			vc4_state->crtc_x = -x_off;  
> 
> Wait. If we were supposed to start at a nonzero x position within the
> FB, then we instead put the image off the left hand side of the screen?
> That seems wrong.

Yep, I overlooked this case.

> 
> Did you test if we can just vc4_state->offsets[i] += x_off * cpp?

Yep, I tried, and it doesn't seem to work. We have to tell the HVS that
some pixels must be skipped at the beginning of each line of the first
tile. That's what SINK_PIX(x_off) is supposed to do, but it seems to be
broken for 2 reasons:

1/ the max value of SINK_PIX is 63, but the HVS supports 128 and 256
   bytes tiles.
2/ looks like the UV plane is truncated when we specify a SINK_PIX!=0.
   Don't know why exactly.
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux