summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2014-06-04 11:17:52 +0200
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>2014-06-05 10:27:26 +0200
commit628c958f4881900548ed80be1286060db68e0115 (patch)
tree5b08f60f0304bfd45e22386d08548802f9268dd2
parente9c2a677a04e911529966cccf71eb3a9ae59e6c3 (diff)
downloadlibva-intel-driver-628c958f4881900548ed80be1286060db68e0115.tar.gz
libva-intel-driver-628c958f4881900548ed80be1286060db68e0115.tar.bz2
libva-intel-driver-628c958f4881900548ed80be1286060db68e0115.zip
decoder: h264: only allocate tiled surfaces for Sandybridge an newer.
Don't allocate tiled surfaces on Ironlake platforms and earlier, stick to linear surfaces. This is a regression from 6d76944. Reported-by: Haihao Xiang <haihao.xiang@intel.com> Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
-rw-r--r--src/i965_decoder_utils.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/i965_decoder_utils.c b/src/i965_decoder_utils.c
index 9a5092e..ae5fd76 100644
--- a/src/i965_decoder_utils.c
+++ b/src/i965_decoder_utils.c
@@ -222,9 +222,11 @@ avc_ensure_surface_bo(
/* (Re-)allocate the underlying surface buffer store, if necessary */
if (!obj_surface->bo || obj_surface->fourcc != hw_fourcc) {
+ struct i965_driver_data * const i965 = i965_driver_data(ctx);
+
i965_destroy_surface_storage(obj_surface);
- va_status = i965_check_alloc_surface_bo(ctx, obj_surface, 1,
- hw_fourcc, subsample);
+ va_status = i965_check_alloc_surface_bo(ctx, obj_surface,
+ i965->codec_info->has_tiled_surface, hw_fourcc, subsample);
if (va_status != VA_STATUS_SUCCESS)
return va_status;
}