struct translate_cache *translate_cache;
/* The vertex buffer slot containing the translated buffer. */
unsigned vb_slot;
+ void *saved_velems;
void *new_velems;
};
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;
unsigned vb_max_index;
struct r600_translate_context tran;
struct u_upload_mgr *upload_const;
+ bool blit;
};
struct r600_drawl {
/* 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,
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,