[Mesa-dev] [PATCH 03/36] i965: Add functions to compute offsets within the VUE map.

Paul Berry stereotype441 at gmail.com
Fri Sep 2 09:06:42 PDT 2011


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.
---
 src/mesa/drivers/dri/i965/brw_context.h |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h
index bf15fd6..8cb42ad 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;
-- 
1.7.6



More information about the mesa-dev mailing list