<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)">
<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;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></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="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi all,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I would like to suggest promoting Qt Shader Tools (currently qt-labs/qtshadertools [1]) into a proper Qt module for Qt 6.0.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Qt 5.x is not in scope, meaning the new qt/qtshadertools repo would start with a dev branch only, and is to be ignored for Qt 5.x builds and releases.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">As described in this earlier blog post [2], the APIs and tools in this module provide the producer functionality for the new shader pipeline that allows Qt Quick, and, eventually, Qt Quick 3D, to operate on Vulkan, Metal, and Direct3D,
 in addition to OpenGL. The consumer bits are part of QtGui in 5.14 already.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">In order to open up the possibility for Qt modules and applications to perform the necessary conditioning steps on their shaders either offline or at run time, the module has to be part of and ship with Qt in 6.0. (build system integration
 is planned as well, but that is a separate future exercise)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Additionally, some of the on-going Qt 6.0 graphics work, such as, the enabling of Qt Quick 3D to operate on top of the QRhi graphics abstraction, requires linking to the qtshadertools module (for the time being at least). And so in order
 to allow that work to happen in dev, qtshadertools needs to be present as a proper module.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Best regards,<o:p></o:p></p>
<p class="MsoNormal">Laszlo<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">[1] <a href="https://codereview.qt-project.org/gitweb?p=qt-labs/qtshadertools.git;a=summary">
https://codereview.qt-project.org/gitweb?p=qt-labs/qtshadertools.git;a=summary</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">[2] <a href="https://www.qt.io/blog/qt-quick-on-vulkan-metal-and-direct3d-part-3">
https://www.qt.io/blog/qt-quick-on-vulkan-metal-and-direct3d-part-3</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>