On 01/08/17 02:03 PM, Keith Packard wrote:
These provide crtc-id based functions instead of pipe-number, while also offering higher resolution time (ns) and wider frame count (64) as required by the Vulkan API.
v2:
Check for DRIVER_MODESET in new crtc-based vblank ioctls
Failing to check this will oops the driver.
Ensure vblank interupt is running in crtc_get_sequence ioctl
The sequence and timing values are not correct while the interrupt is off, so make sure it's running before asking for them.
Short-circuit get_sequence if the counter is enabled and accurate
Steal the idea from the code in wait_vblank to avoid the expense of drm_vblank_get/put
Return active state of crtc in crtc_get_sequence ioctl
Might be useful for applications that aren't in charge of modesetting?
Use drm_crtc_vblank_get/put in new crtc-based vblank sequence ioctls
Daniel Vetter prefers these over the old drm_vblank_put/get APIs.
Return s64 ns instead of u64 in new sequence event
Suggested-by: Daniel Vetter daniel@ffwll.ch Suggested-by: Ville Syrjälä ville.syrjala@linux.intel.com Signed-off-by: Keith Packard keithp@keithp.com
[...]
+#define DRM_CRTC_SEQUENCE_NEXT_ON_MISS 0x00000002 /* Use next sequence if we've missed */
Do you have userspace making use of DRM_CRTC_SEQUENCE_NEXT_ON_MISS? If not, drop it.
+#define DRM_CRTC_SEQUENCE_FIRST_PIXEL_OUT 0x00000004 /* Signal when first pixel is displayed */
I thought there was consensus that this flag is pointless.