Mesa (main): radv: exclude PRIMITIVE_{COUNT,INDICES} from the per-vertex output mask
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Apr 14 09:48:34 UTC 2022
Module: Mesa
Branch: main
Commit: 4d23967e8c1d8ba210a9b0065183ad8befc53d2e
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4d23967e8c1d8ba210a9b0065183ad8befc53d2e
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date: Wed Apr 13 11:12:28 2022 +0200
radv: exclude PRIMITIVE_{COUNT,INDICES} from the per-vertex output mask
They should be excluded for the primitive and vertex output masks.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15918>
---
src/amd/vulkan/radv_shader_info.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/amd/vulkan/radv_shader_info.c b/src/amd/vulkan/radv_shader_info.c
index f374ad29773..f3ff932cbb5 100644
--- a/src/amd/vulkan/radv_shader_info.c
+++ b/src/amd/vulkan/radv_shader_info.c
@@ -688,11 +688,12 @@ radv_nir_shader_info_pass(struct radv_device *device, const struct nir_shader *n
memset(outinfo->vs_output_param_offset, AC_EXP_PARAM_UNDEFINED,
sizeof(outinfo->vs_output_param_offset));
+ uint64_t special_mask = BITFIELD64_BIT(VARYING_SLOT_PRIMITIVE_COUNT) |
+ BITFIELD64_BIT(VARYING_SLOT_PRIMITIVE_INDICES);
uint64_t per_prim_mask =
- nir->info.outputs_written & nir->info.per_primitive_outputs &
- ~BITFIELD64_BIT(VARYING_SLOT_PRIMITIVE_INDICES) & ~BITFIELD64_BIT(VARYING_SLOT_PRIMITIVE_COUNT);
+ nir->info.outputs_written & nir->info.per_primitive_outputs & ~special_mask;
uint64_t per_vtx_mask =
- nir->info.outputs_written & ~per_prim_mask;
+ nir->info.outputs_written & ~nir->info.per_primitive_outputs & ~special_mask;
unsigned total_param_exports = 0;
More information about the mesa-commit
mailing list