diff options
author | Xiang, Haihao <haihao.xiang@intel.com> | 2016-06-16 13:32:00 +0800 |
---|---|---|
committer | Xiang, Haihao <haihao.xiang@intel.com> | 2016-06-22 09:14:33 +0800 |
commit | 09afaebfb94aad7a01ed5a3f71a77fbb70e7b550 (patch) | |
tree | 55947e7a5b13e13e5d8e14783f193e4fc8f3ad03 | |
parent | bf387bbdde4fa1a419d19d7c606e9ba94e07e24e (diff) | |
download | libva-intel-driver-09afaebfb94aad7a01ed5a3f71a77fbb70e7b550.tar.gz |
Make sure a right VEBOX_IECP_STATE is used on BDW+
Some features of IECP aren't enabled, and the corresponding fields must
be set to 0 in VEBOX_IECP_STATE. Thanks for Peng's finding: The issue disappear
when disable libdrm cache
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=95349
Cc: peng.chen <peng.c.chen@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Tested-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
Tested-by: peng.chen <peng.c.chen@intel.com>
Tested-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
-rw-r--r-- | src/gen75_vpp_vebox.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gen75_vpp_vebox.c b/src/gen75_vpp_vebox.c index 8d0569d0..e124604f 100644 --- a/src/gen75_vpp_vebox.c +++ b/src/gen75_vpp_vebox.c @@ -923,6 +923,7 @@ void hsw_veb_state_table_setup(VADriverContextP ctx, struct intel_vebox_context dri_bo *iecp_bo = proc_ctx->iecp_state_table.bo; dri_bo_map(iecp_bo, 1); proc_ctx->iecp_state_table.ptr = iecp_bo->virtual; + memset(proc_ctx->iecp_state_table.ptr, 0, 97 * 4); hsw_veb_iecp_std_table(ctx, proc_ctx); hsw_veb_iecp_ace_table(ctx, proc_ctx); @@ -2196,6 +2197,7 @@ void skl_veb_state_table_setup(VADriverContextP ctx, struct intel_vebox_context dri_bo *iecp_bo = proc_ctx->iecp_state_table.bo; dri_bo_map(iecp_bo, 1); proc_ctx->iecp_state_table.ptr = iecp_bo->virtual; + memset(proc_ctx->iecp_state_table.ptr, 0, 90 * 4); hsw_veb_iecp_std_table(ctx, proc_ctx); hsw_veb_iecp_ace_table(ctx, proc_ctx); |