summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorZhao Yakui <yakui.zhao@intel.com>2015-08-14 12:13:13 +0800
committerZhao, Yakui <yakui.zhao@intel.com>2015-08-17 08:29:34 +0800
commit7c47a8f74878904e0d2fbb5da966552f783d74ab (patch)
treefab259f018e5a7a4147c4ffa741d3181bb77417c /src
parent67e122a4b100365d5d8bb6377c73e39f6c44abf9 (diff)
VPP: Initialize the uninitialed surface to avoid NULL GPU buffer
Sometimes the surface allocation is deferred. In such case it should be checked correctly before it is using. Otherwise the corresponding GPU buffer is NULL. This is to fix the regression issue reported by XBMC. Tested-by: Zaverel <zaverel@free.fr> Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/i965_post_processing.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/i965_post_processing.c b/src/i965_post_processing.c
index 7efb75b..a1c0e4d 100755
--- a/src/i965_post_processing.c
+++ b/src/i965_post_processing.c
@@ -5953,6 +5953,12 @@ i965_proc_picture(VADriverContextP ctx,
unsigned int saved_filter_flag;
struct i965_post_processing_context *i965pp_context = i965->pp_context;
+ if (obj_surface->fourcc == 0) {
+ i965_check_alloc_surface_bo(ctx, obj_surface, 1,
+ VA_FOURCC_NV12,
+ SUBSAMPLE_YUV420);
+ }
+
i965_vpp_clear_surface(ctx, &proc_context->pp_context,
obj_surface,
pipeline_param->output_background_color);