<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.xmsonormal, li.xmsonormal, div.xmsonormal
        {mso-style-name:x_msonormal;
        margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:200869619;
        mso-list-template-ids:-1701528252;}
@list l1
        {mso-list-id:462384574;
        mso-list-type:hybrid;
        mso-list-template-ids:99616422 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l1:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Like I said previously, most titles you’ll find on Windows are not going to be OpenGL titles, and as such there’s nothing to be gained for those titles by trying to leverage Mesa3D or the compatibility pack.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">If you do have an app that uses OpenGL or OpenCL, I personally don’t think there’s going to be much value trying to build this code from source, for three reasons:<o:p></o:p></span></p>
<ol style="margin-top:0in" start="1" type="1">
<li class="MsoListParagraph" style="color:#1F497D;margin-left:0in;mso-list:l1 level1 lfo3">
Unlike Linux, Windows includes in an inbox version of OpenGL32.dll. There’s not a simple way to override such a thing. There is an ICD mechanism, but trying to use it involves some nonstandard steps (it’s not just “ninja install” like it could be on Linux).<o:p></o:p></li><li class="MsoListParagraph" style="color:#1F497D;margin-left:0in;mso-list:l1 level1 lfo3">
The compatibility pack is pretty up-to-date. As it’s still early-in-life, we’re currently updating it frequently, picking up the latest master branch with bugfixes (and new bugs), rather than keeping long-lived branches with back-ported targeted fixes only.<o:p></o:p></li><li class="MsoListParagraph" style="color:#1F497D;margin-left:0in;mso-list:l1 level1 lfo3">
There’s no additional functionality to be gained by building it yourself. There’s nothing in the current distribution mechanism to disable any available functionality.<o:p></o:p></li></ol>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">That said, currently if you’re on a retail version of Win10, the compat pack that you’ll have only works with Photoshop (to avoid potentially breaking other apps). If you’re on an insider build, however, then
 it’ll work for any app that you have. Feel free to let us know if you find OpenGL or OpenCL apps that don’t work with it.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">There’s also <a href="https://github.com/pal1000/mesa-dist-win">
https://github.com/pal1000/mesa-dist-win</a>, which provides pre-built versions of Mesa3D code (or a framework making it easier to build) for Windows, if you do decide you want your own things.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">-Jesse<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Will Gaines <uatu2021@outlook.com> <br>
<b>Sent:</b> Sunday, April 18, 2021 6:25 PM<br>
<b>To:</b> mesa-dev@lists.freedesktop.org; Jesse Natalie <jenatali@microsoft.com><br>
<b>Subject:</b> [EXTERNAL] Re: Viability of Mesa 21.0.2 with Windows 10 ARM - Snapdragon/Adreno<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black">Hi Jesse, first I want to thank you for providing the most cogent and clear assessment of the problem because all the information I've found to date is piecemeal and I'm the first
 to admit I am not a professional or have extensive experience with these issues. I am approaching it from being a casual lifelong PC gaming hobbyist so the learning curve has been steeped.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black">To the third point first, WL3 was just an example. The first two points are the bulk of what I am trying to figure out.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black">1) Is it worth attempting to install/compile the full Mesa3D build on the system specifications detailed compared to what is already available via the OpenCL and OpenGL Compatibility
 Pack (I have this along with the preview Adreno 680 GPU driver)? Not necessarily specific to a title like WL3, but would I at least have more options to tweak graphics settings?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black">2) If the former point is affirmative and there could be more potential in an independent installation of Mesa3D, is there anything to consider outside the standard Windows installation
 guide given the ARM architecture to set it up? I guess what I'm getting at is that if I can experiment more with a separate install than the pack, I want to know if I can just follow the basic instructions or need to approach it differently like with WSL.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-family:"Arial",sans-serif;color:black">I very much appreciate you bearing with me particularly as I am not coming at this from someone with experience and practice but just a side project to
 see if I can do more with what I have. Any additional information is greatly appreciated; thank you again. <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black">Will<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="2" width="98%" align="center">
</div>
<div id="divRplyFwdMsg">
<p class="MsoNormal"><b><span style="color:black">From:</span></b><span style="color:black"> Jesse Natalie <<a href="mailto:jenatali@microsoft.com">jenatali@microsoft.com</a>><br>
<b>Sent:</b> Sunday, April 18, 2021 8:06:00 PM<br>
<b>To:</b> Will Gaines <<a href="mailto:uatu2021@outlook.com">uatu2021@outlook.com</a>>;
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a> <<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a>><br>
<b>Subject:</b> RE: Viability of Mesa 21.0.2 with Windows 10 ARM - Snapdragon/Adreno</span>
<o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="xmsonormal"><span style="color:#1F497D">Hi,</span><o:p></o:p></p>
<p class="xmsonormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="xmsonormal"><span style="color:#1F497D">I think there’s a bit of a misconception here.</span><o:p></o:p></p>
<p class="xmsonormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="xmsonormal"><span style="color:#1F497D">First, Microsoft has recently been engaging with Mesa3D to build the
<a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.microsoft.com%2Fen-us%2Fp%2Fopencl-and-opengl-compatibility-pack%2F9nqpsl29bfff%3Factivetab%3Dpivot%3Aoverviewtab&data=04%7C01%7Cjenatali%40microsoft.com%7C70fdfce463bf4e211ed608d902d1e5e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637543923527528454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=OfnwSJRBQ0P8AoMWgdQ%2Bze12UHvn0Fi1zzzo%2FxftQiA%3D&reserved=0">
OpenCL™ and OpenGL® Compatibility Pack</a>. This provides some level of x86, x64, arm32, and arm64 support for OpenGL (and OpenCL) on Windows devices with no native drivers for these APIs (e.g. the Samsung Galaxy Book S).</span><o:p></o:p></p>
<p class="xmsonormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="xmsonormal"><span style="color:#1F497D">Second, in any given application process, the host code executing on the CPU all needs to be the same architecture. So, if you’re running an x86 game, you’d also need to be running an x86 graphics driver, all
 of which need to be emulated. There’s some exceptions to this rule, where we’ve enabled some high-frequency code to be specially-compiled to the native platform instruction set (called CHPE [Compiled Hybrid Portable Executable] for x86, or ARM64EC for x64).
 If you’re running a DirectX game, both the D3D runtime and driver should’ve been built this way, but the application code would still need to be translated at runtime. The compatibility pack mentioned above doesn’t yet have CHPE/ARM64EC builds, but we’re looking
 into it.</span><o:p></o:p></p>
<p class="xmsonormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="xmsonormal"><span style="color:#1F497D">Third, I doubt Wasteland 3 is an OpenGL game.
<a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.pcgamingwiki.com%2Fwiki%2FWasteland_3&data=04%7C01%7Cjenatali%40microsoft.com%7C70fdfce463bf4e211ed608d902d1e5e5%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637543923527538446%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=G9D0qCo%2FRgEZiGXa7tgKDVEXtnqRS1OBgaapaYARtwg%3D&reserved=0">
PCGamingWiki</a> indicates it’s D3D11. Mesa3D currently only has API implementations for OpenGL, Vulkan, and D3D9, and on Windows, the only drivers available are software (swrast/llvmpipe) for GL/VK or layered (zink/d3d12) for GL.</span><o:p></o:p></p>
<p class="xmsonormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<p class="xmsonormal"><span style="color:#1F497D">-Jesse</span><o:p></o:p></p>
<p class="xmsonormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="xmsonormal"><b>From:</b> mesa-dev <<a href="mailto:mesa-dev-bounces@lists.freedesktop.org">mesa-dev-bounces@lists.freedesktop.org</a>>
<b>On Behalf Of </b>Will Gaines<br>
<b>Sent:</b> Sunday, April 18, 2021 5:51 PM<br>
<b>To:</b> <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<b>Subject:</b> [EXTERNAL] [Mesa-dev] Viability of Mesa 21.0.2 with Windows 10 ARM - Snapdragon/Adreno<o:p></o:p></p>
</div>
</div>
<p class="xmsonormal"> <o:p></o:p></p>
<div>
<p class="xmsonormal" style="background:white"><span style="color:#212121">Hello and greetings; please indulge me as I'll probably come across as an idiot, but I can't seem to get a straight answer regarding what I've been trying to do. I sincerely hope someone
 will be able to lay out clearly if I'm on a fool's errand which is fine because I can stop wasting my time.</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span style="color:#212121"> </span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span style="color:#212121">Briefly, I picked up a Samsung Galaxy Book S with the Snapdragon 8cx/Adreno 680 build running Windows 10 on ARM. Based on everything I've understood, while the hardware isn't terrible,
 the architecture and MS struggling with 64-bit x86 emulation is what could be holding it back from being a serviceable machine for some gaming. I didn't really get on this until I hopped on Windows Insider and went to the 21359 build in the Dev Channel. I've
 gotten stable runs of games like Wasteland 3 on low settings but feel like there's either a solution or someone has looked and found it a dead-end to get better performance.</span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span style="color:#212121"> </span><o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span style="color:#212121">Long story short, I think Mesa3D might work but I've combed through documents and logs regarding compatibility with Windows 10 ARM and an Adreno GPU. The latest release suggests it's
 possible, but before I put any more time into it I wanted to know if anyone had experience along these lines: can the dev build features support everything needed to set up and has there been any roadblocks? Thanks for hearing me out, I appreciate it.</span><o:p></o:p></p>
</div>
<div id="x_ms-outlook-mobile-signature">
<div>
<p class="xmsonormal"> <o:p></o:p></p>
</div>
<div>
<p class="xmsonormal" style="background:white"><span style="color:#212121"> </span><o:p></o:p></p>
</div>
<p class="xmsonormal" style="background:white"><span style="color:#212121">Scott free</span><o:p></o:p></p>
</div>
</div>
</div>
</div>
</body>
</html>