About OpenGL and Vulkan Interoperability on Linux
2020-11-22, 12:30–13:00, Κύρια Αίθουσα Ομιλιών

EXT_external_objects and EXT_external_objects_fd are groups of OpenGL
extensions that allow OpenGL and Vulkan interoperability. When enabled,
Vulkan allocated resources can be accessed and re-used by OpenGL. This
talk is about the implementation of the extensions in various drivers,
and some common interoperability use cases and examples that have been
added to piglit: the driver testing framework we use.


Η ομιλία αφορά την υλοποίηση των ΕXT_external_objects και EXT_external_objects_fd OpenGL extensions για τέσσερις διαφορετικούς mesa drivers: iris (Intel), i965 (Intel), radeonsi (AMD) και freedreno (reversed engineered Adreno) καθώς και ενός Vulkan testing framework που γράφτηκε ως μέρος του Piglit για να ελεγχθούν τα extensions προτού συμπεριληφθούν στο επόμενο mesa release.

Τα extensions αυτά επιτρέπουν στους προγραμματιστές γραφικών να γράφουν κάποια τμήματα των εφαρμογών τους σε Vulkan και κάποια άλλα σε OpenGL επαναχρησιμοποιώντας τους ίδιους πόρους (textures και buffers). Ακόμη επιτρέπουν το συγχρονισμό της πρόσβασης των 2 APIs στους πόρους με έναν ειδικό τύπο semaphores που εισάγεται πλέον στο OpenGL. Είναι κυρίως χρήσιμα σε game και VR developers.

Η ομιλία βασίζεται σε μια προηγούμενη που δόθηκε στο XDC 2020 και αναφέρεται κυρίως στα contributions που κάναμε στην ομάδα γραφικών της Igalia (open source consultancy company) στα πλαίσια της δουλειάς μας στους mesa drivers και τα APIs γραφικών του mesa για να υποστηριχθούν και να ελεγχθούν αυτά τα extensions στα επόμενα releases.

See also: Presentation