From: Chad Versace Date: Sat, 28 Jul 2012 02:21:20 +0000 (-0700) Subject: intel: Refactor intel_miptree_map/unmap X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=81980958d0d3def26741cfe78b7c23f6635f826a;p=mesa.git 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 --- 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); +}