mesa/src
Timur Kristóf 18f0d33423 ac/nir/ngg: Include culled primitives in query.
Vulkan spec 18.8. Primitives Generated Queries:

When a generated primitive query for a vertex stream is active,
the primitives-generated count is incremented every time a
primitive emitted to that stream reaches the transform feedback
stage, whether or not transform feedback is active.

We can see the order of stages in chapter 27 Fixed-Function
Vertex Post-Processing, which shows that the transform feedback
stage is before rasterization (and therefore culling).

Conclusion is that culled primitives should be included
in the primitives generated query.

This commit makes sure to emit the primitives generated query
code before culling and uses the input primitive count passed
to the current wave instead of the exec mask after culling.

Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21037>
(cherry picked from commit 3a819bd22e)
2023-02-08 20:34:44 +00:00
..
amd ac/nir/ngg: Include culled primitives in query. 2023-02-08 20:34:44 +00:00
android_stub
asahi asahi: Identify counts for compute kernels 2022-10-29 19:23:51 +00:00
broadcom v3dv: remove unused clamp_to_transparent_black_border property 2023-01-26 15:40:31 +00:00
c11 c11: Getting the macro guard of HAVE_PTHREAD in c11/threads.h to be consistence with util/u_uthread.h 2022-10-20 03:04:56 +00:00
compiler nir/lower_io: fix bounds checking for 64bit_bounded_global 2023-01-26 15:40:32 +00:00
drm-shim drm-shim: drop gnu99 override 2022-09-16 02:06:38 +00:00
egl egl: Rewrite eglGetMscRateANGLE to avoid probes and handle multi-monitor 2023-02-08 20:34:39 +00:00
etnaviv etnaviv: drm: fix check if BO is on a deferred destroy list 2023-02-08 20:34:40 +00:00
freedreno tu/kgsl: do not use kgsl_command_object::offset 2023-01-26 15:40:33 +00:00
gallium zink: fix cap check for arb sparse texture2 2023-02-08 20:34:44 +00:00
gbm utils: Merge util/debug.* into util/u_debug.* and remove util/debug.* 2022-11-02 07:25:39 +00:00
getopt
glx glx: fix xshm check to init xshm_opcode. 2022-12-14 20:47:01 +00:00
gtest gtest: Fix maybe-uninitialized compiler warning 2022-06-29 21:02:18 +00:00
hgl
imagination nir: Drop infer_non_readable option for nir_opt_access() 2022-11-02 03:42:04 +00:00
imgui
intel anv: handle ATTACHMENT_OPTIMAL layout 2023-02-08 20:34:44 +00:00
loader loader: Add infrastructure for tracking active CRTC resources 2023-02-08 20:34:39 +00:00
mapi glthread: fix glArrayElement handling 2023-01-26 15:40:32 +00:00
mesa glthread: handle GL_*_ARRAY in glEnable/Disable 2023-01-26 15:40:34 +00:00
microsoft dzn: Don't crash when libd3d12.so can't be found 2022-12-14 20:47:00 +00:00
nouveau nv50/ir/nir: ignore sampler for TXF/TXQ ops. 2022-11-02 12:29:34 +00:00
panfrost panfrost: Fix logic ops on Bifrost 2023-01-26 15:40:30 +00:00
tool pps: enable track_event in intel.cfg 2022-10-09 22:39:53 +03:00
util util: fix util_is_vbo_upload_ratio_too_large 2023-01-26 15:40:34 +00:00
virtio venus: properly ignore the sampler for immutable sampler 2023-01-11 17:44:20 +00:00
vulkan vulkan/runtime: match the spec when taking pipeline subsets. 2023-02-08 20:34:41 +00:00
meson.build meson: Remove usage of use_elf_tls 2022-07-29 23:59:11 +00:00