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