gbm backend doesn't display anything
Created by: fjhenigman
Unlike all the other backends, gbm is off-screen only. I've got drm/kms display working on this branch, though it's WIP: https://github.com/fjhenigman/waffle/tree/gbmdisplay At the moment it's controlled by environment variable because it was convenient and I was undecided on how to do it right. I thought of a few ways:
- different platforms, e.g. WAFFLE_PLATFORM_GBM and WAFFLE_PLATFORM_GBM_ONSCREEN
- new context flags, e.g. WAFFLE_CONTEXT_OFFSCREEN - might be relevant to other platforms
- show on screen if waffle_window_show() is called, otherwise do not
- add argument(s) to waffle_display_connect() or waffle_window_create() or waffle_window_show()
- new function(s) 1-3 have the advantage of not changing the waffle api, though 3 is only an on/off option, it wouldn't allow specifying copy vs. flip for example. As for option 1 we might not want to clutter the platform namespace with a lot of things like WAFFLE_PLATFORM_GBM_OFFSCREEN, WAFFLE_PLATFORM_GBM_FLIP, WAFFLE_PLATFORM_GBM_COPY... Option 2 is avoids that, and is nicely open-ended, but display details maybe don't belong with context?