a03525d8db7b0295c955aee04d1694a4a1b4493f

This completely rewrites how uploading variants and emitting the program state works, which will make fast linking significantly faster and lays some of the groundwork for EXT_shader_objects. Variants are now compiled and uploaded as part of creating a tu_shader, and a a per-stage draw state is also created that contains all registers that are only set based on one stage. The program state is split into per-stage states, which come from the shaders, and VPC state which is emitted at linking time. Pipelines now contain shaders, and importing shaders from libraries when fast-linking just involves taking a reference on the shader. While the command buffer code still uses the old pipeline structures, the plan is to switch more and more things to directly use the shaders or derived state from the shaders that gets set by the pipeline, so that we can eliminate pipeline usage from tu_cmd_buffer.cc to enable ESO. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25076>
`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%