#include "radeon.h"
#include "r600_shader.h"
-struct r600_state;
-typedef void (*r600_state_destroy_t)(struct r600_state *rstate);
-
/* XXX move this to a more appropriate place */
struct r600_vertex_elements_state
{
struct pipe_vertex_element elements[32];
};
-struct r600_state {
- unsigned type;
- struct r600_atom *atom;
- void *state;
- unsigned nbuffers;
- struct pipe_buffer *buffer[256];
- unsigned nsurfaces;
- struct pipe_surface *surface[256];
- r600_state_destroy_t destroy;
-};
-
struct r600_pipe_shader {
unsigned type;
struct r600_shader shader;
unsigned max_index, unsigned mode,
unsigned start, unsigned count);
-void r600_state_destroy_common(struct r600_state *state);
-struct r600_state *r600_state_new(r600_state_destroy_t destroy);
-struct r600_state *r600_state_destroy(struct r600_state *state);
-
void r600_init_state_functions(struct r600_context *rctx);
void r600_init_query_functions(struct r600_context* rctx);
struct pipe_context *r600_create_context(struct pipe_screen *screen, void *priv);