diff -Naur Mesa-9.0-ori/src/gallium/drivers/nouveau/nouveau_video.c Mesa-9.0/src/gallium/drivers/nouveau/nouveau_video.c --- Mesa-9.0-ori/src/gallium/drivers/nouveau/nouveau_video.c 2012-12-08 15:57:14.369281846 +0100 +++ Mesa-9.0/src/gallium/drivers/nouveau/nouveau_video.c 2012-12-08 16:38:10.508540434 +0100 @@ -814,6 +814,7 @@ buffer->base.width = width; buffer->base.height = height; buffer->num_planes = 2; + memset(&buffer->surfaces, 0, sizeof(buffer->surfaces)); memset(&templ, 0, sizeof(templ)); templ.target = PIPE_TEXTURE_2D; diff -Naur Mesa-9.0-ori/src/gallium/drivers/nouveau/nouveau_video.h Mesa-9.0/src/gallium/drivers/nouveau/nouveau_video.h --- Mesa-9.0-ori/src/gallium/drivers/nouveau/nouveau_video.h 2012-12-08 15:57:14.369281846 +0100 +++ Mesa-9.0/src/gallium/drivers/nouveau/nouveau_video.h 2012-12-08 16:36:37.226049289 +0100 @@ -13,7 +13,7 @@ struct pipe_resource *resources[3]; struct pipe_sampler_view *sampler_view_planes[3]; struct pipe_sampler_view *sampler_view_components[3]; - struct pipe_surface *surfaces[3]; + struct pipe_surface *surfaces[VL_MAX_SURFACES]; }; struct nouveau_decoder {