[Mesa-dev] [PATCH 09/12] i965: Replace intel_need_resolve with the hiz ops it maps to.

Eric Anholt eric at anholt.net
Tue May 22 10:21:50 PDT 2012


Having this enum separate caused us to need a bunch of helper
functions to translate to the op to be executed.
---
 src/mesa/drivers/dri/intel/intel_mipmap_tree.c |   18 +++++++++---------
 src/mesa/drivers/dri/intel/intel_resolve_map.c |    2 +-
 src/mesa/drivers/dri/intel/intel_resolve_map.h |   18 +++++++++++-------
 3 files changed, 21 insertions(+), 17 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
index 99f4230..2042afd 100644
--- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
+++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c
@@ -572,7 +572,7 @@ intel_miptree_alloc_hiz(struct intel_context *intel,
 
 	 head->level = level;
 	 head->layer = layer;
-	 head->need = INTEL_NEED_HIZ_RESOLVE;
+	 head->need = GEN6_HIZ_OP_HIZ_RESOLVE;
       }
    }
 
@@ -590,7 +590,7 @@ intel_miptree_slice_set_needs_hiz_resolve(struct intel_mipmap_tree *mt,
       return;
 
    intel_resolve_map_set(&mt->hiz_map,
-			 level, layer, INTEL_NEED_HIZ_RESOLVE);
+			 level, layer, GEN6_HIZ_OP_HIZ_RESOLVE);
 }
 
 
@@ -605,7 +605,7 @@ intel_miptree_slice_set_needs_depth_resolve(struct intel_mipmap_tree *mt,
       return;
 
    intel_resolve_map_set(&mt->hiz_map,
-			 level, layer, INTEL_NEED_DEPTH_RESOLVE);
+			 level, layer, GEN6_HIZ_OP_DEPTH_RESOLVE);
 }
 
 typedef void (*resolve_func_t)(struct intel_context *intel,
@@ -618,7 +618,7 @@ intel_miptree_slice_resolve(struct intel_context *intel,
 			    struct intel_mipmap_tree *mt,
 			    uint32_t level,
 			    uint32_t layer,
-			    enum intel_need_resolve need,
+			    enum gen6_hiz_op need,
 			    resolve_func_t func)
 {
    intel_miptree_check_level_layer(mt, level, layer);
@@ -641,7 +641,7 @@ intel_miptree_slice_resolve_hiz(struct intel_context *intel,
 				uint32_t layer)
 {
    return intel_miptree_slice_resolve(intel, mt, level, layer,
-				      INTEL_NEED_HIZ_RESOLVE,
+				      GEN6_HIZ_OP_HIZ_RESOLVE,
 				      intel->vtbl.resolve_hiz_slice);
 }
 
@@ -652,14 +652,14 @@ intel_miptree_slice_resolve_depth(struct intel_context *intel,
 				  uint32_t layer)
 {
    return intel_miptree_slice_resolve(intel, mt, level, layer,
-				      INTEL_NEED_DEPTH_RESOLVE,
+				      GEN6_HIZ_OP_DEPTH_RESOLVE,
 				      intel->vtbl.resolve_depth_slice);
 }
 
 static bool
 intel_miptree_all_slices_resolve(struct intel_context *intel,
 				 struct intel_mipmap_tree *mt,
-				 enum intel_need_resolve need,
+				 enum gen6_hiz_op need,
 				 resolve_func_t func)
 {
    bool did_resolve = false;
@@ -682,7 +682,7 @@ intel_miptree_all_slices_resolve_hiz(struct intel_context *intel,
 				     struct intel_mipmap_tree *mt)
 {
    return intel_miptree_all_slices_resolve(intel, mt,
-					   INTEL_NEED_HIZ_RESOLVE,
+					   GEN6_HIZ_OP_HIZ_RESOLVE,
 					   intel->vtbl.resolve_hiz_slice);
 }
 
@@ -691,7 +691,7 @@ intel_miptree_all_slices_resolve_depth(struct intel_context *intel,
 				       struct intel_mipmap_tree *mt)
 {
    return intel_miptree_all_slices_resolve(intel, mt,
-					   INTEL_NEED_DEPTH_RESOLVE,
+					   GEN6_HIZ_OP_DEPTH_RESOLVE,
 					   intel->vtbl.resolve_depth_slice);
 }
 
diff --git a/src/mesa/drivers/dri/intel/intel_resolve_map.c b/src/mesa/drivers/dri/intel/intel_resolve_map.c
index e7d82fa..471988d 100644
--- a/src/mesa/drivers/dri/intel/intel_resolve_map.c
+++ b/src/mesa/drivers/dri/intel/intel_resolve_map.c
@@ -36,7 +36,7 @@ void
 intel_resolve_map_set(struct intel_resolve_map *head,
 		      uint32_t level,
 		      uint32_t layer,
-		      enum intel_need_resolve need)
+		      enum gen6_hiz_op need)
 {
    struct intel_resolve_map **tail = &head->next;
    struct intel_resolve_map *prev = head;
diff --git a/src/mesa/drivers/dri/intel/intel_resolve_map.h b/src/mesa/drivers/dri/intel/intel_resolve_map.h
index 0f31ca8..8504271 100644
--- a/src/mesa/drivers/dri/intel/intel_resolve_map.h
+++ b/src/mesa/drivers/dri/intel/intel_resolve_map.h
@@ -25,6 +25,10 @@
 
 #include <stdint.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /**
  * For an overview of the HiZ operations, see the following sections of the
  * Sandy Bridge PRM, Volume 1, Part2:
@@ -42,11 +46,6 @@ enum gen6_hiz_op {
    GEN6_HIZ_OP_NONE,
 };
 
-enum intel_need_resolve {
-   INTEL_NEED_HIZ_RESOLVE,
-   INTEL_NEED_DEPTH_RESOLVE,
-};
-
 /**
  * \brief Map of miptree slices to needed resolves.
  *
@@ -76,7 +75,7 @@ enum intel_need_resolve {
 struct intel_resolve_map {
    uint32_t level;
    uint32_t layer;
-   enum intel_need_resolve need;
+   enum gen6_hiz_op need;
 
    struct intel_resolve_map *next;
    struct intel_resolve_map *prev;
@@ -86,7 +85,7 @@ void
 intel_resolve_map_set(struct intel_resolve_map *head,
 		      uint32_t level,
 		      uint32_t layer,
-		      enum intel_need_resolve need);
+		      enum gen6_hiz_op need);
 
 struct intel_resolve_map*
 intel_resolve_map_get(struct intel_resolve_map *head,
@@ -98,3 +97,8 @@ intel_resolve_map_remove(struct intel_resolve_map *elem);
 
 void
 intel_resolve_map_clear(struct intel_resolve_map *head);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
-- 
1.7.10



More information about the mesa-dev mailing list