summaryrefslogtreecommitdiff
path: root/i965_media.c
diff options
context:
space:
mode:
authorXiang, Haihao <haihao.xiang@intel.com>2009-07-27 17:11:25 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2009-07-27 17:13:41 +0800
commit4e87262a7fd84708aa674ba66bb8413eb88ca042 (patch)
tree012658bb909fd1068fe8a2e883128d14cf0ae638 /i965_media.c
parentc3f90f889276135e93e2ee8b41829d0f8dc39092 (diff)
downloadlibva-intel-driver-4e87262a7fd84708aa674ba66bb8413eb88ca042.tar.gz
libva-intel-driver-4e87262a7fd84708aa674ba66bb8413eb88ca042.tar.bz2
libva-intel-driver-4e87262a7fd84708aa674ba66bb8413eb88ca042.zip
i965_drv_video: Eanble VAAPI on IGDNG
Diffstat (limited to 'i965_media.c')
-rw-r--r--i965_media.c31
1 files changed, 23 insertions, 8 deletions
diff --git a/i965_media.c b/i965_media.c
index bc51e8e..f7d5846 100644
--- a/i965_media.c
+++ b/i965_media.c
@@ -71,14 +71,29 @@ i965_media_urb_layout(VADriverContextP ctx)
static void
i965_media_state_base_address(VADriverContextP ctx)
{
- BEGIN_BATCH(ctx, 6);
- OUT_BATCH(ctx, CMD_STATE_BASE_ADDRESS | 4);
- OUT_BATCH(ctx, 0 | BASE_ADDRESS_MODIFY);
- OUT_BATCH(ctx, 0 | BASE_ADDRESS_MODIFY);
- OUT_BATCH(ctx, 0 | BASE_ADDRESS_MODIFY);
- OUT_BATCH(ctx, 0 | BASE_ADDRESS_MODIFY);
- OUT_BATCH(ctx, 0 | BASE_ADDRESS_MODIFY);
- ADVANCE_BATCH(ctx);
+ struct i965_driver_data *i965 = i965_driver_data(ctx);
+
+ if (IS_IGDNG(i965->intel.device_id)) {
+ BEGIN_BATCH(ctx, 8);
+ OUT_BATCH(ctx, CMD_STATE_BASE_ADDRESS | 6);
+ OUT_BATCH(ctx, 0 | BASE_ADDRESS_MODIFY);
+ OUT_BATCH(ctx, 0 | BASE_ADDRESS_MODIFY);
+ OUT_BATCH(ctx, 0 | BASE_ADDRESS_MODIFY);
+ OUT_BATCH(ctx, 0 | BASE_ADDRESS_MODIFY);
+ OUT_BATCH(ctx, 0 | BASE_ADDRESS_MODIFY);
+ OUT_BATCH(ctx, 0 | BASE_ADDRESS_MODIFY);
+ OUT_BATCH(ctx, 0 | BASE_ADDRESS_MODIFY);
+ ADVANCE_BATCH(ctx);
+ } else {
+ BEGIN_BATCH(ctx, 6);
+ OUT_BATCH(ctx, CMD_STATE_BASE_ADDRESS | 4);
+ OUT_BATCH(ctx, 0 | BASE_ADDRESS_MODIFY);
+ OUT_BATCH(ctx, 0 | BASE_ADDRESS_MODIFY);
+ OUT_BATCH(ctx, 0 | BASE_ADDRESS_MODIFY);
+ OUT_BATCH(ctx, 0 | BASE_ADDRESS_MODIFY);
+ OUT_BATCH(ctx, 0 | BASE_ADDRESS_MODIFY);
+ ADVANCE_BATCH(ctx);
+ }
}
static void