From 81980958d0d3def26741cfe78b7c23f6635f826a Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Fri, 27 Jul 2012 19:21:20 -0700 Subject: [PATCH] intel: Refactor intel_miptree_map/unmap Move the body of intel_miptree_map into a new function, intel_miptree_map_singlesample. Now intel_miptree_map dispatches to the new function. A future commit adds a multisample variant. Ditto for intel_miptree_unmap. Reviewed-by: Eric Anholt Signed-off-by: Chad Versace --- .../drivers/dri/intel/intel_mipmap_tree.c | 67 ++++++++++++++----- 1 file changed, 50 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 b424e4d8068..8be8d1397ef 100644 --- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c @@ -1448,21 +1448,23 @@ intel_miptree_unmap_depthstencil(struct intel_context *intel, free(map->buffer); } -void -intel_miptree_map(struct intel_context *intel, - struct intel_mipmap_tree *mt, - unsigned int level, - unsigned int slice, - unsigned int x, - unsigned int y, - unsigned int w, - unsigned int h, - GLbitfield mode, - void **out_ptr, - int *out_stride) +static void +intel_miptree_map_singlesample(struct intel_context *intel, + struct intel_mipmap_tree *mt, + unsigned int level, + unsigned int slice, + unsigned int x, + unsigned int y, + unsigned int w, + unsigned int h, + GLbitfield mode, + void **out_ptr, + int *out_stride) { struct intel_miptree_map *map; + assert(mt->num_samples <= 1); + map = calloc(1, sizeof(struct intel_miptree_map)); if (!map){ *out_ptr = NULL; @@ -1507,14 +1509,16 @@ intel_miptree_map(struct intel_context *intel, } } -void -intel_miptree_unmap(struct intel_context *intel, - struct intel_mipmap_tree *mt, - unsigned int level, - unsigned int slice) +static void +intel_miptree_unmap_singlesample(struct intel_context *intel, + struct intel_mipmap_tree *mt, + unsigned int level, + unsigned int slice) { struct intel_miptree_map *map = mt->level[level].slice[slice].map; + assert(mt->num_samples <= 1); + if (!map) return; @@ -1536,3 +1540,32 @@ intel_miptree_unmap(struct intel_context *intel, mt->level[level].slice[slice].map = NULL; free(map); } + +void +intel_miptree_map(struct intel_context *intel, + struct intel_mipmap_tree *mt, + unsigned int level, + unsigned int slice, + unsigned int x, + unsigned int y, + unsigned int w, + unsigned int h, + GLbitfield mode, + void **out_ptr, + int *out_stride) +{ + intel_miptree_map_singlesample(intel, mt, + level, slice, + x, y, w, h, + mode, + out_ptr, out_stride); +} + +void +intel_miptree_unmap(struct intel_context *intel, + struct intel_mipmap_tree *mt, + unsigned int level, + unsigned int slice) +{ + intel_miptree_unmap_singlesample(intel, mt, level, slice); +} -- 2.30.2