diff options
Diffstat (limited to 'src/mesa/drivers')
| -rw-r--r-- | src/mesa/drivers/dri/intel/intel_mipmap_tree.c | 4 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/intel/intel_span.c | 6 | 
2 files changed, 9 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c index 96836561df..5915bfb2f3 100644 --- a/src/mesa/drivers/dri/intel/intel_mipmap_tree.c +++ b/src/mesa/drivers/dri/intel/intel_mipmap_tree.c @@ -138,8 +138,10 @@ intel_miptree_create(struct intel_context *intel,     /*      * pitch == 0 || height == 0  indicates the null texture      */ -   if (!mt || !mt->pitch || !mt->total_height) +   if (!mt || !mt->pitch || !mt->total_height) { +      free(mt);        return NULL; +   }     mt->region = intel_region_alloc(intel,  				   tiling, diff --git a/src/mesa/drivers/dri/intel/intel_span.c b/src/mesa/drivers/dri/intel/intel_span.c index dcfcad1d95..e3869c8c1d 100644 --- a/src/mesa/drivers/dri/intel/intel_span.c +++ b/src/mesa/drivers/dri/intel/intel_span.c @@ -163,6 +163,9 @@ static uint32_t x_tile_swizzle(struct intel_renderbuffer *irb,  	int	x_tile_number, y_tile_number;  	int	tile_off, tile_base; +        x += irb->region->draw_x; +        y += irb->region->draw_y; +  	tile_stride = (irb->region->pitch * irb->region->cpp) << 3;  	xbyte = x * irb->region->cpp; @@ -218,6 +221,9 @@ static uint32_t y_tile_swizzle(struct intel_renderbuffer *irb,  	int	x_tile_number, y_tile_number;  	int	tile_off, tile_base; +        x += irb->region->draw_x; +        y += irb->region->draw_y; +  	tile_stride = (irb->region->pitch * irb->region->cpp) << 5;  	xbyte = x * irb->region->cpp;  | 
