[g3dvl] add some more PIPE_VIDEO_CAPs
[mesa.git] / src / gallium / drivers / r600 / r600.h
index 0d37376594bb86401457c116207e7ec8357dbdd2..2af4d311f60f788e626913dbab86b8413b7045ed 100644 (file)
@@ -162,6 +162,9 @@ struct r600_pipe_resource_state {
 
 #define R600_BLOCK_STATUS_ENABLED      (1 << 0)
 #define R600_BLOCK_STATUS_DIRTY                (1 << 1)
+#define R600_BLOCK_STATUS_RESOURCE_DIRTY       (1 << 2)
+
+#define R600_BLOCK_STATUS_RESOURCE_VERTEX      (1 << 3)
 
 struct r600_block_reloc {
        struct r600_bo          *bo;
@@ -225,6 +228,7 @@ struct r600_query {
 #define R600_QUERY_STATE_STARTED       (1 << 0)
 #define R600_QUERY_STATE_ENDED         (1 << 1)
 #define R600_QUERY_STATE_SUSPENDED     (1 << 2)
+#define R600_QUERY_STATE_FLUSHED       (1 << 3)
 
 #define R600_CONTEXT_DRAW_PENDING      (1 << 0)
 #define R600_CONTEXT_DST_CACHES_DIRTY  (1 << 1)
@@ -236,11 +240,13 @@ struct r600_context {
        unsigned                nblocks;
        struct r600_block       **blocks;
        struct list_head        dirty;
+       struct list_head        resource_dirty;
        struct list_head        enable_list;
        unsigned                pm4_ndwords;
        unsigned                pm4_cdwords;
        unsigned                pm4_dirty_cdwords;
        unsigned                ctx_pm4_ndwords;
+       unsigned                init_dwords;
        unsigned                nreloc;
        unsigned                creloc;
        struct r600_reloc       *reloc;
@@ -257,6 +263,7 @@ struct r600_context {
        struct r600_range vs_resources;
        struct r600_range fs_resources;
        int num_ps_resources, num_vs_resources, num_fs_resources;
+       boolean                 have_depth_texture, have_depth_fb;
 };
 
 struct r600_draw {
@@ -288,7 +295,7 @@ boolean r600_context_query_result(struct r600_context *ctx,
 void r600_query_begin(struct r600_context *ctx, struct r600_query *query);
 void r600_query_end(struct r600_context *ctx, struct r600_query *query);
 void r600_context_queries_suspend(struct r600_context *ctx);
-void r600_context_queries_resume(struct r600_context *ctx);
+void r600_context_queries_resume(struct r600_context *ctx, boolean flushed);
 void r600_query_predication(struct r600_context *ctx, struct r600_query *query, int operation,
                            int flag_wait);
 void r600_context_emit_fence(struct r600_context *ctx, struct r600_bo *fence,