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

Reply via email to