Applied.

Thanks
Haihao

> From: Zhao Yakui <yakui.z...@intel.com>
> 
> This is to fix the regression caused by 
> e25b3fbce3fc3c13ca054ba9a512bec954642fa8.
> When one surface is created,the height/width is aligned to 16 pixels. But when
> trying to allocate buffer object for it on SNB/IVB and the later chips,the 
> width
> is aligned to 128 and height is aligned to 32. If the surface is mapped and 
> accessed
> before allocating surface buffer object, the APP will get incorrect dimension.
> 
> Signed-off-by: Zhao Yakui <yakui.z...@intel.com>
> ---
>  src/i965_drv_video.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c
> index 3bea253..662d8af 100644
> --- a/src/i965_drv_video.c
> +++ b/src/i965_drv_video.c
> @@ -516,8 +516,13 @@ i965_CreateSurfaces(VADriverContextP ctx,
>          obj_surface->orig_width = width;
>          obj_surface->orig_height = height;
>  
> -        obj_surface->width = ALIGN(width, 16);
> -        obj_surface->height = ALIGN(height, 16);
> +     if (IS_G4X(i965->intel.device_id) || 
> IS_IRONLAKE(i965->intel.device_id)) {
> +             obj_surface->width = ALIGN(width, 16);
> +             obj_surface->height = ALIGN(height, 16);
> +     } else {
> +             obj_surface->width = ALIGN(width, 128);
> +             obj_surface->height = ALIGN(height, 32);
> +     }
>          obj_surface->flags = SURFACE_REFERENCED;
>          obj_surface->fourcc = 0;
>          obj_surface->bo = NULL;


_______________________________________________
Libva mailing list
Libva@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libva

Reply via email to