bf4c160909863fcf37c85cc098da720448a9e4f2
Fixed: - VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT was able to stop prim counter when pipeline stats query is running. - This may have happened when prim gen query was in secondary cmdbuf. - VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT counting geometry in each tile. - VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT counting geometry in each tile when pipeline stats query is started inside prim gen query and inside a renderpass. The matter of VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT and pipeline stats interaction is solved by tracking whether pipeline stats query is running both on CPU (for non secondary cmdbuf case) and on GPU (for secondary cmdbuf). Note, prim gen query is not allowed with secondary command buffers, so only pipeline stats query is tracked on gpu. See https://gitlab.khronos.org/vulkan/vulkan/-/issues/3142 Counting geometry per each tile is solved by: - Conditionally executing START/STOP_PRIMITIVE_CTRS to not run in tiling pass. Solves the case when prim gen query is inside a renderpass. - Stop prim counters before executing `draw_cs` and restarting them afterwards. Solves prim gen query being outside a renderpass. Fixes GL CTS tests with Zink + `TU_DEBUG=gmem`: GTF-GL46.gtf30.GL3Tests.transform_feedback.transform_feedback_max_separate GTF-GL46.gtf40.GL3Tests.transform_feedback2.transform_feedback2_basic GTF-GL46.gtf40.GL3Tests.transform_feedback2.transform_feedback2_framebuffer GTF-GL46.gtf40.GL3Tests.transform_feedback3.transform_feedback3_streams_overflow GTF-GL46.gtf40.GL3Tests.transform_feedback3.transform_feedback3_streams_queried GTF-GL46.gtf40.GL3Tests.transform_feedback2.transform_feedback2_states Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6602 Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17163>
`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.5%
C++
17.2%
Python
2.7%
Rust
1.8%
Assembly
1.5%
Other
1%