18553b50f945533bb910af81ea7f2c44bcab893d
So far we were saving all the descriptor info on the host memory. With this commit we do the equivalent that other mesa vulkan drivers (Anvil and Turnip) and create a bo on the descriptor pool that would be suballocated for each descriptor. This would allow to clean up individual bos from some vulkan objects, reducing device memory fragmentation, and allowing to avoid to alloc bos for that info. After all, pre-allocating needed memory is one of the purposes of the descriptor pool. This commit introduces all the infrastructure, but doesn't use it for any descriptor yet, as if no descriptor needed data uploaded to a bo. The idea to decide which info goes to the descriptor pool bo is info that we would need to upload to a bo in any case, as it is referenced as an address by any packet. We could be more aggressive with that general rule, but that would be enough for now. If in the future we support VK_EXT_descriptor_indexing, we probably would need to store more info, as under that extension, descriptors can be updated after being bound. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>
`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 `Freenode's #dri-devel <irc://chat.freenode.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%