On Thu, Dec 04, 2014 at 08:27:41PM +0000, Adam Cheney wrote: > Hi dri-devel, > > I have a question about validating the user specified rectangles in SetCrtc > and SetPlane. > > To me this is required for src_ or crtc_ rectangles to be legal, true for > both SetCrtc and SetPlane: > > > 1) src_{x,y,w,h} fits entirely within the fb size > > 2) crtc_{x,y,w,h} fits entirely within the mode size > > There is some common code that enforces 1), but 2) appears to be up to > individual drivers to enforce (if they choose to) as far as I can tell. > > If the crtc_ output rectangle extends outside of the connector's active mode, > should DRM drivers perform the mode clipping themselves, or should this be > considered an application bug and an error code returned? > > Is there any reason not to enforce 2) in the core DRM code, rather than in > the individual drivers?
We clip the crtc_ coords rather than require that they fit inside the crtc. It's a bug for the driver not to do that as far as I'm concerned. Since we do have sub-pixel src coordinates we could have required the crtc_ coordinates to stay within the crtc limits without losing functionality, but allowing them to extend outside made it easier to write test code, and gave me a nice excuse to push the drm_rect stuff ;) -- Ville Syrjälä Intel OTC