<div dir="ltr"><div dir="ltr">> I'd love to see Mesa used to bring Vulkan to consoles!</div><div dir="ltr"><br></div><div>Ever heard of Steam Deck? ;)</div><div><br></div><div>Marek<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 6, 2022 at 12:59 PM Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jun 6, 2022 at 11:38 AM Jesse Natalie <<a href="mailto:jenatali@microsoft.com" target="_blank">jenatali@microsoft.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US">
<div>
<p class="MsoNormal"><span style="color:rgb(31,73,125)">(Hopefully this goes through and not to spam like last time I tried to respond…)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125)">No, neither of these would currently work with UWP.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125)">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:<u></u><u></u></span></p>
<ol style="margin-top:0in" type="1" start="1">
<li style="color:rgb(31,73,125);margin-left:0in">
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).</li></ol></div></div></blockquote><div>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.<br></div><div><br></div><div>--Jason</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div><ol style="margin-top:0in" type="1" start="1"><li style="color:rgb(31,73,125);margin-left:0in"><u></u><u></u></li><li style="color:rgb(31,73,125);margin-left:0in">
There’s not currently extensions for D3D12 interop either spec’d or implemented.<u></u><u></u></li></ol>
<p class="MsoNormal"><span style="color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125)">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.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125)">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.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125)">-Jesse<u></u><u></u></span></p>
<p class="MsoNormal"><span style="color:rgb(31,73,125)"><u></u> <u></u></span></p>
<div>
<div style="border-color:rgb(225,225,225) currentcolor currentcolor;border-style:solid none none;border-width:1pt medium medium;padding:3pt 0in 0in">
<p class="MsoNormal"><b>From:</b> mesa-dev <<a href="mailto:mesa-dev-bounces@lists.freedesktop.org" target="_blank">mesa-dev-bounces@lists.freedesktop.org</a>>
<b>On Behalf Of </b>Daniel Price<br>
<b>Sent:</b> Monday, June 6, 2022 5:41 AM<br>
<b>To:</b> <a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
<b>Subject:</b> [EXTERNAL] Xbox Series S/X UWP<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<table style="width:100%" width="100%" cellspacing="0" cellpadding="0" border="0" align="left">
<tbody>
<tr>
<td style="background:rgb(166,166,166) none repeat scroll 0% 0%;padding:5.25pt 1.5pt"></td>
<td style="width:100%;background:rgb(234,234,234) none repeat scroll 0% 0%;padding:5.25pt 3.75pt 5.25pt 11.25pt" width="100%">
<div>
<p class="MsoNormal">
<span style="font-size:9pt;font-family:"Segoe UI",sans-serif;color:rgb(33,33,33)">You don't often get email from
<a href="mailto:riverprice@hotmail.com" target="_blank">riverprice@hotmail.com</a>. <a href="https://aka.ms/LearnAboutSenderIdentification" target="_blank">
Learn why this is important</a><u></u><u></u></span></p>
</div>
</td>
<td style="width:56.25pt;background:rgb(234,234,234) none repeat scroll 0% 0%;padding:5.25pt 3.75pt" width="75">
</td>
</tr>
</tbody>
</table>
<div>
<div>
<p class="MsoNormal">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? <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><a href="https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14766" target="_blank">https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14766</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><a href="https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14881" target="_blank">https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14881</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Many Thanks <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Dan <u></u><u></u></p>
</div>
</div>
</div>
</div>

</blockquote></div></div>
</blockquote></div></div>