Jason Ekstrand <ja...@jlekstrand.net> 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; -- -keith
signature.asc
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev