Here's a series of extensions necessary to perform reasonable direct
display operations, either directly through DRM with no window system,
or using RandR and Linux leases.
There's one new extension, MESA_query_timestamp which performs the
same operation as glGetInteger64v(GL_TIMESTAMP, ×tamp) -- it gets
the current GPU tick using an immediate register read so that the
application can correlate GPU and CPU times. I'd love to be able to
have a single call that got both CPU and GPU times so we could put
that in the kernel, but there's no standard timestamp for the various
winsys layers (although most (all?) appear to use MONOTONIC currently,
at least on Linux).
I've refactored this series so that each patch adds a single
extension, and the code for each extension is generally grouped
together. I did not split the code in the new wsi_common_display.c
apart; it's all related to implementing various modes related to
KHR_display, so I didn't see a good place to break it apart that
wouldn't end up with a bunch of extra complexity.
mesa-dev mailing list