On 9 August 2017 at 09:42, Joe Kniss <djmk at chromium.org> wrote: > Because all drivers currently use gem objects for framebuffer planes, > the virtual create_handle() is not required. This change adds a > struct drm_gem_object *gems[4] field to drm_framebuffer and removes > create_handle() function pointer from drm_framebuffer_funcs. The > corresponding *_create_handle() function is removed from each driver. > > In many cases this change eliminates a struct *_framebuffer object, > as the only need for the derived struct is the addition of the gem > object pointer. Why the libdrm in the tag? this isn't for libdrm. This will break drivers that don't current implement the virtual at all. I think vwmgfx. The current code checks if the virtual is there before callng it, this code just calls the gem code always. Dave.