From 5eb9f687087a4bc71775a32efcd848fc6cd67694 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 4 Mar 2011 15:04:36 +0000 Subject: [PATCH] intel: Add some defense against buffer allocation failure for subimage blits Once more! This time without the unwarranted conversion from drm_intel_bo_alloc_tiled. Signed-off-by: [a very embarrassed] Chris Wilson --- src/mesa/drivers/dri/intel/intel_tex_subimage.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/intel/intel_tex_subimage.c b/src/mesa/drivers/dri/intel/intel_tex_subimage.c index 6b7f13f..8b43c40 100644 --- a/src/mesa/drivers/dri/intel/intel_tex_subimage.c +++ b/src/mesa/drivers/dri/intel/intel_tex_subimage.c @@ -92,6 +92,7 @@ intelTexSubimage(struct gl_context * ctx, { unsigned long pitch; uint32_t tiling_mode = I915_TILING_NONE; + temp_bo = drm_intel_bo_alloc_tiled(intel->bufmgr, "subimage blit bo", width, height, @@ -99,7 +100,14 @@ intelTexSubimage(struct gl_context * ctx, &tiling_mode, &pitch, 0); - drm_intel_gem_bo_map_gtt(temp_bo); + if (temp_bo == NULL) + return; + + if (drm_intel_gem_bo_map_gtt(temp_bo)) { + drm_intel_bo_unreference(temp_bo); + return; + } + texImage->Data = temp_bo->virtual; texImage->ImageOffsets[0] = 0; dstRowStride = pitch; -- 2.7.4