i965_drv_video: only use tiled surface for NV12 on SandyBridge
authorXiang, Haihao <haihao.xiang@intel.com>
Fri, 11 Mar 2011 03:10:48 +0000 (11:10 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Fri, 11 Mar 2011 03:12:43 +0000 (11:12 +0800)
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
i965_drv_video/i965_drv_video.c

index 2fc2378..6e00239 100644 (file)
@@ -59,7 +59,8 @@
 
 #define HAS_VC1(ctx)    (IS_GEN6((ctx)->intel.device_id) && (ctx)->intel.has_bsd)
 
-#define HAS_TILED_SURFACE(ctx) (IS_GEN6((ctx)->intel.device_id))
+#define HAS_TILED_SURFACE(ctx) (IS_GEN6((ctx)->intel.device_id) && \
+                                (ctx)->render_state.interleaved_uv)
 
 enum {
     I965_SURFACETYPE_RGBA = 1,
@@ -436,7 +437,7 @@ i965_CreateSurfaces(VADriverContextP ctx,
         obj_surface->orig_width = width;
         obj_surface->orig_height = height;
 
-        if (IS_GEN6(i965->intel.device_id)) {
+        if (HAS_TILED_SURFACE(i965)) {
             obj_surface->width = ALIGN(obj_surface->orig_width, 128);
             obj_surface->height = ALIGN(obj_surface->orig_height, 32);
         } else {