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

Reply via email to