a6a651b96ac987a50dba3b62bd08d21d7e3e7d73
There were two paths in this code: One was transform_loops, which would try to detect loops with an iteration count it understood and unroll that many times. The other was emulate_loops, which would just figure out how many instructions the program could have and still compile (hopefully), and unroll this loop however many times would fit in that. The transform_loops had no analysis as good as GLSL or NIR loop unrolling have, so it shouldn't be missed -- any opportunity it found would only be due to bugs in the unrolling code. The emulate_loops path had an issue with computing the number of times it should try to unroll -- if you had more instrs than ALUs available already, you'd overflow and unroll approximately infinitely many times, OOMing the system. But, also, it's better to throw a compiler error about unsupported loops than to run the loop an incorrect number of times and call it a success. Fixes: #5883, #6018 Reviewed-by: Filip Gawin <filip.gawin@zoho.com> Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com> Reviewed-by: Pavel Ondračka <pavel.ondracka@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15004>
`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.5%
C++
17.2%
Python
2.7%
Rust
1.8%
Assembly
1.5%
Other
1%