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 <chris@chris-wilson.co.uk>
This commit is contained in:
parent
f5a9a0bc22
commit
5eb9f68708
|
@ -92,6 +92,7 @@ intelTexSubimage(struct gl_context * ctx,
|
||||||
{
|
{
|
||||||
unsigned long pitch;
|
unsigned long pitch;
|
||||||
uint32_t tiling_mode = I915_TILING_NONE;
|
uint32_t tiling_mode = I915_TILING_NONE;
|
||||||
|
|
||||||
temp_bo = drm_intel_bo_alloc_tiled(intel->bufmgr,
|
temp_bo = drm_intel_bo_alloc_tiled(intel->bufmgr,
|
||||||
"subimage blit bo",
|
"subimage blit bo",
|
||||||
width, height,
|
width, height,
|
||||||
|
@ -99,7 +100,14 @@ intelTexSubimage(struct gl_context * ctx,
|
||||||
&tiling_mode,
|
&tiling_mode,
|
||||||
&pitch,
|
&pitch,
|
||||||
0);
|
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->Data = temp_bo->virtual;
|
||||||
texImage->ImageOffsets[0] = 0;
|
texImage->ImageOffsets[0] = 0;
|
||||||
dstRowStride = pitch;
|
dstRowStride = pitch;
|
||||||
|
|
Loading…
Reference in New Issue