r600g: only set depth bit for hw accessible depth buffers.
[mesa.git] / src / gallium / drivers / r600 / r600_pipe.h
index 360ee2af1fc31464d33015c256b3831d474bb5ba..beb4db12b08069eab6adab00a990b2659e690b52 100644 (file)
@@ -125,6 +125,7 @@ struct r600_translate_context {
        struct translate_cache          *translate_cache;
        /* The vertex buffer slot containing the translated buffer. */
        unsigned                        vb_slot;
+       void                            *saved_velems;
        void                            *new_velems;
 };
 
@@ -145,7 +146,8 @@ struct r600_pipe_context {
        struct pipe_index_buffer        index_buffer;
        struct pipe_vertex_buffer       vertex_buffer[PIPE_MAX_ATTRIBS];
        struct pipe_resource            *real_vertex_buffer[PIPE_MAX_ATTRIBS];
-       unsigned                        nvertex_buffer;
+       unsigned                        nvertex_buffers;
+       unsigned                        nreal_vertex_buffers; /* with the translated vertex buffer */
        unsigned                        cb_target_mask;
        /* for saving when using blitter */
        struct pipe_stencil_ref         stencil_ref;
@@ -169,6 +171,7 @@ struct r600_pipe_context {
        unsigned                        vb_max_index;
        struct r600_translate_context   tran;
        struct u_upload_mgr             *upload_const;
+       bool                            blit;
 };
 
 struct r600_drawl {
@@ -195,6 +198,7 @@ void evergreen_pipe_add_vertex_attrib(struct r600_pipe_context *rctx,
 /* r600_blit.c */
 void r600_init_blit_functions(struct r600_pipe_context *rctx);
 void r600_blit_uncompress_depth(struct pipe_context *ctx, struct r600_resource_texture *texture);
+void r600_flush_depth_textures(struct r600_pipe_context *rctx);
 
 /* r600_buffer.c */
 struct pipe_resource *r600_buffer_create(struct pipe_screen *screen,
@@ -249,7 +253,8 @@ unsigned r600_texture_get_offset(struct r600_resource_texture *rtex,
                                        unsigned level, unsigned layer);
 
 /* r600_translate.c */
-void r600_begin_vertex_translate(struct r600_pipe_context *rctx);
+void r600_begin_vertex_translate(struct r600_pipe_context *rctx,
+                                 int min_index, int max_index);
 void r600_end_vertex_translate(struct r600_pipe_context *rctx);
 void r600_translate_index_buffer(struct r600_pipe_context *r600,
                                 struct pipe_resource **index_buffer,