X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fdrivers%2Fdri%2Fintel%2Fintel_mipmap_tree.c;h=6e1e034e53d60936f237ea76495de4e4ae6da769;hb=407e8ae5b167b0193e1e5b1266a5d61ed836dfb5;hp=f28fac8394b48c848e8cda5ef5deb14fe1348f3e;hpb=8db761409dadc2e899d4e7107eff3aa07b07aa11;p=mesa.git diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c index f28fac8394b..6e1e034e53d 100644 --- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c @@ -29,7 +29,7 @@ #include "intel_mipmap_tree.h" #include "intel_regions.h" #include "intel_chipset.h" -#include "enums.h" +#include "main/enums.h" #define FILE_DEBUG_FLAG DEBUG_MIPTREE @@ -103,7 +103,8 @@ intel_miptree_create(struct intel_context *intel, GLuint last_level, GLuint width0, GLuint height0, - GLuint depth0, GLuint cpp, GLuint compress_byte) + GLuint depth0, GLuint cpp, GLuint compress_byte, + GLboolean expect_accelerated_upload) { struct intel_mipmap_tree *mt; @@ -111,16 +112,17 @@ intel_miptree_create(struct intel_context *intel, first_level, last_level, width0, height0, depth0, cpp, compress_byte); /* - * pitch == 0 indicates the null texture + * pitch == 0 || height == 0 indicates the null texture */ - if (!mt || !mt->pitch) + if (!mt || !mt->pitch || !mt->total_height) return NULL; mt->region = intel_region_alloc(intel, mt->cpp, mt->pitch, mt->total_height, - mt->pitch); + mt->pitch, + expect_accelerated_upload); if (!mt->region) { free(mt); @@ -163,7 +165,7 @@ intel_miptree_create_for_region(struct intel_context *intel, mt->pitch = region->pitch; #endif - mt->region = region; + intel_region_reference(&mt->region, region); return mt; }