vl: add interlacing capabilities
[mesa.git] / src / gallium / drivers / r600 / r600_pipe.c
index bd68eff8f73ab00c876d3203babcfe581f32571e..140ae11af9a60ea7fbf0af4cb337791e8cd2665a 100644 (file)
@@ -232,6 +232,8 @@ static struct pipe_context *r600_create_context(struct pipe_screen *screen, void
        rctx->context.create_video_decoder = vl_create_decoder;
        rctx->context.create_video_buffer = vl_video_buffer_create;
 
+       r600_init_common_atoms(rctx);
+
        switch (rctx->chip_class) {
        case R600:
        case R700:
@@ -282,6 +284,8 @@ static struct pipe_context *r600_create_context(struct pipe_screen *screen, void
                return NULL;
        }
 
+       LIST_INITHEAD(&rctx->dirty_states);
+
        r600_get_backend_mask(rctx); /* this emits commands and must be last */
 
        return &rctx->context;
@@ -531,6 +535,12 @@ static int r600_get_video_param(struct pipe_screen *screen,
                return vl_video_buffer_max_size(screen);
        case PIPE_VIDEO_CAP_PREFERED_FORMAT:
                return PIPE_FORMAT_NV12;
+       case PIPE_VIDEO_CAP_PREFERS_INTERLACED:
+               return false;
+       case PIPE_VIDEO_CAP_SUPPORTS_INTERLACED:
+               return false;
+       case PIPE_VIDEO_CAP_SUPPORTS_PROGRESSIVE:
+               return true;
        default:
                return 0;
        }