mirror of
https://gitee.com/openharmony/third_party_mesa3d
synced 2025-02-22 19:23:28 +00:00

spirv_to_nir sometimes wraps derefs in vec2 or mov instructions as part of its texture handling. These get in the way of nir_rematerialize_derefs_in_use_blocks_impl. Running copy propagation should get rid of the extra move instructions and get us back to intact deref chains for everything except variable pointer use-cases. fossil-db (Sienna Cichlid): Totals from 6 (0.00% of 134572) affected shaders: CodeSize: 92656 -> 93088 (+0.47%) Instrs: 17060 -> 17138 (+0.46%) Latency: 224408 -> 227539 (+1.40%) InvThroughput: 37402 -> 37924 (+1.40%) VClause: 408 -> 402 (-1.47%) Copies: 1065 -> 1107 (+3.94%) Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5668 Fixes: 14a12b771d0 ("spirv: Rework our handling of images and samplers") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13924> (cherry picked from commit b4251007810bc2a02d44580b04ad34ec381f891b)
`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.6%
C++
19.2%
Python
2.3%
Assembly
1.5%
Meson
0.7%
Other
0.5%