mesa/src/amd
Timur Kristóf 3a819bd22e 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>
2023-02-04 11:53:07 +01:00
..
addrlib amd: split GFX1103 into GFX1103_R1 and GFX1103_R2 2023-02-03 00:18:01 +00:00
ci amd/ci: update sanctuary trace sha1 2023-02-03 00:18:02 +00:00
common ac/nir/ngg: Include culled primitives in query. 2023-02-04 11:53:07 +01:00
compiler aco: remove early_rast wait insert 2023-02-03 12:27:44 +00:00
drm-shim r300: use drm_shim_override 2022-11-16 14:37:47 +00:00
llvm nir: Eliminate nir_op_f2b 2023-02-03 22:39:57 +00:00
registers amd/registers: remove confusing definitions from gfx10-rsrc.json 2023-02-03 00:18:02 +00:00
vulkan radv: Work around shader_call_data variables in raygen shaders 2023-02-03 14:25:19 +00:00
.clang-format radv: Add nir_foreach_variable_with_modes to .clang-format 2022-12-09 07:07:10 +00:00
meson.build meson: build radeon drm-shim also for r300 and r600 2022-11-16 14:37:47 +00:00