I want to implement triple buffering instead of double buffering for a
program that uses EGL on GBM on a KMS-enabled platform. So far, I used
kmscube as an example.
However, I do not see where I can specify that I want to have 3 buffers
allocated instead of 2. From what I saw, I could try to call
gbm_dri_surface_lock_front_buffer() to produce 3 BOs over time, but
there's a chance that gbm_dri_surface_has_free_buffers() will return 0
after getting 2 BOs already.
And, does gbm_dri_surface_lock_front_buffer() internally allocate the
buffer itself too (not just the BO structure)? Or are the flippable
pages preallocated by the implementation?
mesa-dev mailing list