diff --git a/src/intel/compiler/brw_compiler.h b/src/intel/compiler/brw_compiler.h index b9d79ad0c06..6a78965abc6 100644 --- a/src/intel/compiler/brw_compiler.h +++ b/src/intel/compiler/brw_compiler.h @@ -1202,6 +1202,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 b7f379d2e5a..c11708b9df1 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; }