summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/cell/ppu/cell_context.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/pipe/cell/ppu/cell_context.h')
-rw-r--r--src/mesa/pipe/cell/ppu/cell_context.h49
1 files changed, 47 insertions, 2 deletions
diff --git a/src/mesa/pipe/cell/ppu/cell_context.h b/src/mesa/pipe/cell/ppu/cell_context.h
index b4d93d1414..a64692081d 100644
--- a/src/mesa/pipe/cell/ppu/cell_context.h
+++ b/src/mesa/pipe/cell/ppu/cell_context.h
@@ -31,16 +31,61 @@
#include "pipe/p_context.h"
-
+#include "cell_winsys.h"
struct cell_context
{
struct pipe_context pipe;
- int spu_info;
+ struct cell_winsys *winsys;
+
+ const struct pipe_alpha_test_state *alpha_test;
+ const struct pipe_blend_state *blend;
+ const struct pipe_sampler_state *sampler[PIPE_MAX_SAMPLERS];
+ const struct pipe_depth_stencil_state *depth_stencil;
+ const struct pipe_rasterizer_state *rasterizer;
+
+ struct pipe_blend_color blend_color;
+ struct pipe_clear_color_state clear_color;
+ struct pipe_clip_state clip;
+ struct pipe_constant_buffer constants[2];
+ struct pipe_feedback_state feedback;
+ struct pipe_framebuffer_state framebuffer;
+ struct pipe_poly_stipple poly_stipple;
+ struct pipe_scissor_state scissor;
+ struct softpipe_texture *texture[PIPE_MAX_SAMPLERS];
+ struct pipe_viewport_state viewport;
+ struct pipe_vertex_buffer vertex_buffer[PIPE_ATTRIB_MAX];
+ struct pipe_vertex_element vertex_element[PIPE_ATTRIB_MAX];
+ uint sampler_units[PIPE_MAX_SAMPLERS];
+ uint dirty;
+
+ /** The primitive drawing context */
+ struct draw_context *draw;
+ struct draw_stage *setup;
+ struct draw_stage *vbuf;
+
+
+ uint num_spus;
+
+
};
+static INLINE struct cell_context *
+cell_context(struct pipe_context *pipe)
+{
+ return (struct cell_context *) pipe;
+}
+
+
+extern struct pipe_context *
+cell_create_context(struct pipe_winsys *ws, struct cell_winsys *cws);
+
+
+
+
+
#endif /* CELL_CONTEXT_H */