2ac3e921e3b8b9504cca3309314b4a4ea9ee5cba

Change NGG GS emit vertex code to emit combined shared stores, also change the export vertex code to emit combined shared loads. This results in more optimal code generation, ie. fewer LDS instructions are generated. GS vertices are stored using an odd stride to minimize the chance of bank conflicts, which means that unfortunately we still can't use an alignment higher than 4 here, so the best we can get are some ds_read2_b32 instructions. Fossil DB stats on Navi 21 (formerly Sienna Cichlid): Totals from 135 (0.10% of 128653) affected shaders: VGPRs: 6416 -> 6512 (+1.50%) CodeSize: 529436 -> 503792 (-4.84%) MaxWaves: 2952 -> 2924 (-0.95%) Instrs: 93384 -> 90176 (-3.44%) Latency: 290283 -> 293611 (+1.15%); split: -0.36%, +1.50% InvThroughput: 81218 -> 82598 (+1.70%) Copies: 6603 -> 6606 (+0.05%) PreVGPRs: 5037 -> 5076 (+0.77%) Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11425>
`Mesa <https://mesa3d.org>`_ - The 3D Graphics Library ====================================================== Source ------ This repository lives at https://gitlab.freedesktop.org/mesa/mesa. Other repositories are likely forks, and code found there is not supported. Build & install --------------- You can find more information in our documentation (`docs/install.rst <https://mesa3d.org/install.html>`_), but the recommended way is to use Meson (`docs/meson.rst <https://mesa3d.org/meson.html>`_): .. code-block:: sh $ mkdir build $ cd build $ meson .. $ sudo ninja install Support ------- Many Mesa devs hang on IRC; if you're not sure which channel is appropriate, you should ask your question on `OFTC's #dri-devel <irc://irc.oftc.net/dri-devel>`_, someone will redirect you if necessary. Remember that not everyone is in the same timezone as you, so it might take a while before someone qualified sees your question. To figure out who you're talking to, or which nick to ping for your question, check out `Who's Who on IRC <https://dri.freedesktop.org/wiki/WhosWho/>`_. The next best option is to ask your question in an email to the mailing lists: `mesa-dev\@lists.freedesktop.org <https://lists.freedesktop.org/mailman/listinfo/mesa-dev>`_ Bug reports ----------- If you think something isn't working properly, please file a bug report (`docs/bugs.rst <https://mesa3d.org/bugs.html>`_). Contributing ------------ Contributions are welcome, and step-by-step instructions can be found in our documentation (`docs/submittingpatches.rst <https://mesa3d.org/submittingpatches.html>`_). Note that Mesa uses gitlab for patches submission, review and discussions.
Description
Languages
C
75.3%
C++
18.2%
Python
2.7%
Assembly
1.5%
Rust
1.2%
Other
0.9%