Hi Chris, Thanks for taking a look! On 27 September 2017 at 13:18, Chris Wilson <[email protected]> wrote: > Quoting Alexandros Frantzis (2017-09-27 13:09:16) >> Use EGL fence sync objects to emit timepoints for the beginning and the >> end of rendering on the GPU. > > But why not use a qbo with GL_TIMESTAMP?
As Alexandros said, we don't really have support for that at the moment. > sync_file are only timestamped when they are signaled, which is very, > very loosely coupled with the GPU rendering. This would, I imagine, mainly be used with the DRM/GBM backend; given that we're submitting the buffer to KMS for a flip immediately afterwards, we'll require CPU signaling anyway. I'll grant you that it's not ideal for nested compositors, but ... shrug. > Each will also force a > flush and submission of the GL pipeline, which seems to me to be very > heavyweight ? The initial point is a no-op as far as GL is concerned, since it will either be the very first operation called at startup, or immediately after a flush -> swap -> context switch. The second is called immediately before SwapBuffers, so again not adding any intra-batch flush overhead. We have a single repaint loop per-CRTC, and per-CRTC buffers we draw into, which are only ever rendered once per frame (driven by, e.g., KMS flip completion). Besides, any compositor with a repaint loop so GL-complex the flush causes noticeable overhead is objectively broken anyway. Cheers, Daniel _______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
