From 7bb2dbfc9765c97d9c53ad954342419338018474 Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Thu, 1 Sep 2011 15:30:21 -0700 Subject: [PATCH] i965: Add functions to compute offsets within the VUE map. Some parts of the i965 driver keep track of locations within the VUE (vertex URB entry) using byte offsets. This patch adds inline functions to compute these byte offsets using the VUE map. Reviewed-by: Eric Anholt --- src/mesa/drivers/dri/i965/brw_context.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h index bf15fd6cfcf..8cb42adc450 100644 --- a/src/mesa/drivers/dri/i965/brw_context.h +++ b/src/mesa/drivers/dri/i965/brw_context.h @@ -334,6 +334,24 @@ struct brw_vue_map { int num_slots; }; +/** + * Convert a VUE slot number into a byte offset within the VUE. + */ +static inline GLuint brw_vue_slot_to_offset(GLuint slot) +{ + return 16*slot; +} + +/** + * Convert a vert_result into a byte offset within the VUE. + */ +static inline GLuint brw_vert_result_to_offset(struct brw_vue_map *vue_map, + GLuint vert_result) +{ + return brw_vue_slot_to_offset(vue_map->vert_result_to_slot[vert_result]); +} + + struct brw_sf_prog_data { GLuint urb_read_length; GLuint total_grf; -- 2.30.2