On Mon, Jun 11, 2018 at 9:32 PM, Keith Packard <[email protected]> wrote:
> Jason Ekstrand <[email protected]> writes: > > > This seems a bit odd. Why is the FD not stored in the display? What if > > you acquire multiple displays for two-player VR? If the master FD passed > > in is not -1, we could just create a VkDisplayKHR object containing > > it. > > You want to share the master_fd passed in at init_wsi time among all > VkDisplayKHR objects, so you need to leave that FD in the global > structure. However, you're right that when you use > EXT_acquire_xlib_display, then you get a separate master_fd for each DRM > output and need to have one per display. > > However, extending this code to support multiple master FDs looks tricky > -- in the case where you have a single master_fd, then enumerating the > DRM resources for that gives you all of the available > connectors. However, if you have one DRM master per connector, then you > need to enumerate each independently to get the complete set of > available resources. For APIs which don't explicitly include a > connector, I would have to go find a suitable master FD for each > resource. > > How about I just disallow multiple leases for now? If you want multiple > outputs, I think you'd want them on the same DRM master anyways, and we > could get that by creating a new extension which had the application > pass in a DRM master that had all of the resources you want to access. > > /* XXX no support for multiple leases yet */ > if (wsi->fd >= 0) > return VK_ERROR_OUT_OF_DATE_KHR; > That's fine with me. As long as we do something sensible such as disallowing it instead of just falling over. --Jason
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
