diff options
author | Chris Wilson <[email protected]> | 2011-03-04 15:04:36 +0000 |
---|---|---|
committer | Chris Wilson <[email protected]> | 2011-03-30 11:01:42 +0100 |
commit | 5eb9f687087a4bc71775a32efcd848fc6cd67694 (patch) | |
tree | bbc2356a6679d42385b66848a5ebc378a53de3c9 /src/mesa/drivers/dri/intel | |
parent | f5a9a0bc22c4b717c2c32f4ddf283878d6c7ba93 (diff) |
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 <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/intel')
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_tex_subimage.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_tex_subimage.c b/src/mesa/drivers/dri/intel/intel_tex_subimage.c index 6b7f13ff353..8b43c406cf9 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; |