i965_drv_video: Currently only use tiled-Y surfaces on Sandybridge
authorXiang, Haihao <haihao.xiang@intel.com>
Wed, 10 Nov 2010 02:48:12 +0000 (10:48 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Mon, 6 Dec 2010 04:50:05 +0000 (12:50 +0800)
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
i965_drv_video/i965_drv_video.c

index b9c5ce3..f0466ad 100644 (file)
@@ -417,8 +417,15 @@ i965_CreateSurfaces(VADriverContextP ctx,
         obj_surface->subpic = VA_INVALID_ID;
         obj_surface->orig_width = width;
         obj_surface->orig_height = height;
-        obj_surface->width = ALIGN(obj_surface->orig_width, 128);
-        obj_surface->height = ALIGN(obj_surface->orig_height, 32);
+
+        if (IS_GEN6(i965->intel.device_id)) {
+            obj_surface->width = ALIGN(obj_surface->orig_width, 128);
+            obj_surface->height = ALIGN(obj_surface->orig_height, 32);
+        } else {
+            obj_surface->width = ALIGN(obj_surface->orig_width, 16);
+            obj_surface->height = ALIGN(obj_surface->orig_height, 16);
+        }
+
         obj_surface->size = SIZE_YUV420(obj_surface->width, obj_surface->height);
         obj_surface->flags = SURFACE_REFERENCED;
         obj_surface->bo = NULL;