mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 05:00:09 +01:00
read-only mirror of https://gitlab.freedesktop.org/mesa/mesa
gfxbench vk-5-normal has a shader that sampels into a texels[] array at the top, then in a loop calls a GLSL function passing texels[] in by value. This resulted in a copy to a temp inside the loop, which got lowered to scratch stores since it was pretty big. By doing find_array_copies(), we notice that it's equivalent to copy_deref, then get to copy-propagate from the array at the top. Then we only have to set up the scratch array outside of the loop and load_scratch from it in the called function inside the loop. This also causes there to be less spilling, stps 1144 -> 354 and ldps 826->36. However, it doesn't seem to change performance on the test. So, while this seems to be an improvement for the shader, and we could maybe even do better by rematerializing the txl samples inside the loop instead of storing the texture fetches to scratch in the first place, it doesn't currently seem worth pursuing more optimization of this shader. No change on freedreno shader-db. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15982> |
||
|---|---|---|
| .gitlab/issue_templates | ||
| .gitlab-ci | ||
| android | ||
| bin | ||
| build-support | ||
| docs | ||
| include | ||
| src | ||
| subprojects | ||
| .dir-locals.el | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .mailmap | ||
| .travis.yml | ||
| CODEOWNERS | ||
| meson.build | ||
| meson_options.txt | ||
| README.rst | ||
| VERSION | ||
`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.