-
- Downloads
glamor: Unbreak glamor_fd_from_pixmap()
When support for allocating GBM BOs with modifiers was added, glamor_fd_from_pixmap() was changed so that it would return an error if it got a bo with modifiers set from glamor_fds_from_pixmap(). The problem is that on systems that support BOs with modifiers, glamor_fds_from_pixmap() will always return BOs with modifiers. This means that glamor_fd_from_pixmap() was broken entirely, which broke a number of other things including glamor_shareable_fd_from_pixmap(), which meant that modesetting using multiple GPUs with the modesetting DDX was also broken. Easy reproducer: - Find a laptop with DRI prime that has outputs connected to the dedicated GPU and integrated GPU - Try to enable one display on each using the modesetting DDX - Fail Since there isn't a way to ask for no modifiers from glamor_fds_from_pixmap, we create a shared _glamor_fds_from_pixmap() function used by both glamor_fds_from_pixmap() and glamor_fd_from_pixmap() that calls down to the appropriate glamor_egl_fd*_from_pixmap() function. Signed-off-by:Lyude Paul <lyude@redhat.com> Reviewed-by:
Dave Airlie <airlied@redhat.com> Cc: Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Fixes: c8c276c9 ("glamor: Implement PixmapFromBuffers and BuffersFromPixmap")
Showing
- glamor/glamor.c 33 additions, 23 deletionsglamor/glamor.c
- glamor/glamor.h 2 additions, 1 deletionglamor/glamor.h
- glamor/glamor_egl.c 1 addition, 1 deletionglamor/glamor_egl.c
- glamor/glamor_egl_stubs.c 7 additions, 0 deletionsglamor/glamor_egl_stubs.c
- hw/xwayland/xwayland-glamor-gbm.c 10 additions, 0 deletionshw/xwayland/xwayland-glamor-gbm.c
Loading
Please register or sign in to comment