mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 04:50:11 +01:00
read-only mirror of https://gitlab.freedesktop.org/mesa/mesa
apps/games using separate shader objects end up passing the separable shaders to the link_shader hook individually, which is still not ideal for zink's usage since the more optimal path is to have all the shaders and create a RAST+FS GPL stage that can run all the inter-stage io handlers it IS technically possible to handle this for simple VS+FS pipelines using GPL, however, but it's kinda gross. such shaders now use descriptor buffer to create their own pipelines/layouts/descriptors async, and then a "separable" variant of the gfx program can be created by fast-linking these together the "separable" gfx program can't handle shader variants, but it can do basic pipeline caching for PSO state changes, which makes it flexible enough to sorta kinda maybe handle the most basic cases of separate shader objects descriptor buffer is used because having to create and manage a separate architecture for sets/pools/templates is too nightmarish even for me this is, at best, a partial solution, but it's the best the vulkan api can currently do Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21197> |
||
|---|---|---|
| .github/workflows | ||
| .gitlab/issue_templates | ||
| .gitlab-ci | ||
| android | ||
| bin | ||
| build-support | ||
| docs | ||
| include | ||
| src | ||
| subprojects | ||
| .dir-locals.el | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .graphqlrc.yml | ||
| .mailmap | ||
| 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.