Re: Xbox Series S/X UWP
Jason Ekstrand <[email protected]>
| Newsgroups | gmane.comp.video.mesa3d.devel |
|---|---|
| Message-ID | <[email protected]> |
On June 6, 2022 21:07:32 Marek Olšák <[email protected]> wrote: >> I'd love to see Mesa used to bring Vulkan to consoles! > > Ever heard of Steam Deck? ;) I have! I've even heard a rumour that a line it two of my code is running in it. :-P But why not take over ALL the consoles? --Jason > Marek > > > > On Mon, Jun 6, 2022 at 12:59 PM Jason Ekstrand <[email protected]> wrote: > > On Mon, Jun 6, 2022 at 11:38 AM Jesse Natalie <[email protected]> wrote: > > > (Hopefully this goes through and not to spam like last time I tried to > respond…) > > > > No, neither of these would currently work with UWP. > > > > The primary reason is that neither Khronos API has extensions to initialize > the winsys on top of the UWP core window infrastructure. In theory, you > could initialize Dozen for offscreen rendering and then explicitly marshal > the contents out – that would probably work actually. There’s 2 more > gotchas there though: > > The ICD loaders (OpenGL32.dll, Vulkan-1.dll) are not available in the UWP > environment. You could explicitly use the non-ICD version of GL (i.e. > Mesa’s OpenGL32.dll from the libgl-gdi target), include the open-source > Vulkan ICD loader, or use the ICD version of either > (OpenGLOn12.dll/libgallium_wgl.dll for GL – I plan to delete the former at > some point and just use the latter at some point; vulkan_dzn.dll for VK). > If the objective here is to write a Vulkan app and ship it in UWP, I don't > see any reason why it couldn't be used for that eventually. Without the > loader, you can still load the driver DLL directly. You just have to use > vkGetInstance/DeviceProcAddr for everything because drivers don't expose > the Vulkan 1.0 API symbols (the loader does). We'd also have to come up > with a story for window-system integration, as Jesse alluded. I'd love to > see Mesa used to bring Vulkan to consoles! Unfortunately, no one's working > on that currently or has any plans, as far as I know. > > > > --Jason > > > > There’s not currently extensions for D3D12 interop either spec’d or > implemented. > > > > There’s one more problem for GL that I don’t think is problematic for VK, > which is that it uses APIs that are banned from the UWP environment, > specifically around inserting window hooks for Win32 framebuffer lifetime > management. So you’d probably have to build a custom version that has all > of that stuff stripped out to get it to be shippable in a UWP. > > > > We (Microsoft) don’t really have plans to add this kind of stuff, at least > not in the near future, but I’d be open to accepting contributions that > enable this. > > > > -Jesse > > > > From: mesa-dev <[email protected]> On Behalf Of Daniel > Price > Sent: Monday, June 6, 2022 5:41 AM > To: [email protected] > Subject: [EXTERNAL] Xbox Series S/X UWP > > > > > > You don't often get email from [email protected]. Learn why this is > important > > > > Hi, I was wandering if these two layers would work with UWP on Xbox Series > Console or if not will there be plans to add support? > > > > https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14766 > > > > https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14881 > > > > Many Thanks > > Dan