intel: Define intel_miptree_check_level_layer()
authorChad Versace <chad.versace@linux.intel.com>
Thu, 17 Nov 2011 06:42:44 +0000 (22:42 -0800)
committerChad Versace <chad.versace@linux.intel.com>
Tue, 22 Nov 2011 18:35:42 +0000 (10:35 -0800)
This is a small helper function that asserts that a given level and layer
are valid for a miptree. I will be extensively using it in the future
miptree HiZ functions.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
src/mesa/drivers/dri/intel/intel_mipmap_tree.h

index 8f024f9..d6134f8 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef INTEL_MIPMAP_TREE_H
 #define INTEL_MIPMAP_TREE_H
 
+#include <assert.h>
+
 #include "intel_regions.h"
 
 /* A layer on top of the intel_regions code which adds:
@@ -188,6 +190,17 @@ intel_miptree_create_for_renderbuffer(struct intel_context *intel,
                                       uint32_t width,
                                       uint32_t height);
 
+/** \brief Assert that the level and layer are valid for the miptree. */
+static inline void
+intel_miptree_check_level_layer(struct intel_mipmap_tree *mt,
+                                uint32_t level,
+                                uint32_t layer)
+{
+   assert(level >= mt->first_level);
+   assert(level <= mt->last_level);
+   assert(layer < mt->level[level].depth);
+}
+
 int intel_miptree_pitch_align (struct intel_context *intel,
                               struct intel_mipmap_tree *mt,
                               uint32_t tiling,