<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jun 19, 2024 at 1:22 PM Triang3l <<a href="mailto:triang3l@yandex.ru">triang3l@yandex.ru</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">The shader compiler in R600g is actively developed (and I think OpenGL 4.6<br>
support is among the main goals), I don't see why it needs to be moved to a<br>
low-priority branch or to stop getting new NIR infrastructure updates <br>
with the<br>
current amount of maintenance it receives.<br></blockquote><div><br></div><div>Nothing stopping those developments from continuing in an amber branch, and the odds of any NIR changes being required for hardware this old are slim.</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">
<br>
On 19/06/2024 18:26, Thomas Debesse wrote:<br>
 > Maybe the work-in-progress “Terakan” vulkan driver for r600 cards<br>
 > won't be affected because vulkan is not a gallium thing.<br>
<br>
Terakan uses R600g files heavily, specifically the register structures, <br>
as well<br>
as the shader compiler (with additional intrinsics implemented and plans <br>
to move<br>
some SFN parts, primarily those interacting with bindings, such as storage<br>
images/buffers, to NIR lowerings in R600g too for more straightforward code<br>
sharing) and other shader-related parts.<br>
<br>
Moreover, there likely will be backporting of some parts of Terakan to R600g<br>
(architectural-scale bugfixes primarily) in the somewhat distant future <br>
(when<br>
they're fully implemented and well-tested in Terakan), specifically:<br>
  • GL_ARB_shader_draw_parameters.<br>
  • New vertex fetch subroutine generation, correctly dividing by the <br>
instance<br>
    divisor, and co-issuing instructions where possible.<br>
  • 2048 vertex stride fetch subroutine workaround on pre-Cayman GPUs <br>
(which have<br>
    bits only for up to 2047).<br>
  • Color attachment index compaction in fragment shaders to allow gaps <br>
to be<br>
    filled with storage resources.<br>
  • Handling different alignment of pitch calculated by texture fetching <br>
hardware<br>
    for 1D-thin-tiled mips of depth and stencil surface aspects that <br>
can't be<br>
    respected on the depth/stencil attachment side where the pitch <br>
register is<br>
    shared (likely will be using an intermediate overaligned surface).<br>
  • True indirect compute dispatch via a different packet sequence on the<br>
    existing kernel versions, and later, when the involved command <br>
parsing is<br>
    fixed in the kernel, using actual INDIRECT_DISPATCH type-3 packets.<br>
<br>
— Triang3l<br></blockquote><div><br></div><div>Terakan is not a Mesa driver, and Mesa has no obligation to cater to out-of-tree projects which use its internal API. For everything else, see above.</div><div><br></div><div><br></div><div>Mike </div></div></div>