From f1768f5640497da47b129ccbaabbe015c4d6548b Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Mon, 18 Jul 2022 11:22:54 -0500 Subject: [PATCH] intel/compiler: Store the number of position slots in the VUE map Reviewed-by: Lionel Landwerlin Reviewed-by: Caio Oliveira Part-of: --- src/intel/compiler/brw_compiler.h | 6 ++++++ src/intel/compiler/brw_vue_map.c | 2 ++ 2 files changed, 8 insertions(+) diff --git a/src/intel/compiler/brw_compiler.h b/src/intel/compiler/brw_compiler.h index b9d79ad..6a78965 100644 --- a/src/intel/compiler/brw_compiler.h +++ b/src/intel/compiler/brw_compiler.h @@ -1203,6 +1203,12 @@ struct brw_vue_map { int num_slots; /** + * Number of position VUE slots. If num_pos_slots > 1, primitive + * replication is being used. + */ + int num_pos_slots; + + /** * Number of per-patch VUE slots. Only valid for tessellation control * shader outputs and tessellation evaluation shader inputs. */ diff --git a/src/intel/compiler/brw_vue_map.c b/src/intel/compiler/brw_vue_map.c index b7f379d..c11708b 100644 --- a/src/intel/compiler/brw_vue_map.c +++ b/src/intel/compiler/brw_vue_map.c @@ -206,6 +206,7 @@ brw_compute_vue_map(const struct intel_device_info *devinfo, } vue_map->num_slots = slot; + vue_map->num_pos_slots = pos_slots; vue_map->num_per_vertex_slots = 0; vue_map->num_per_patch_slots = 0; } @@ -275,6 +276,7 @@ brw_compute_tess_vue_map(struct brw_vue_map *vue_map, } vue_map->num_per_vertex_slots = slot - vue_map->num_per_patch_slots; + vue_map->num_pos_slots = 0; vue_map->num_slots = slot; } -- 2.7.4