nv30, nv40: fully unify nv[34]0_context.h
[mesa.git] / src / gallium / drivers / nvfx / nvfx_context.h
index d5817ac5f89d95b4a244432d43d3c43371ba00f8..46cc7362eabaac9c99c17f85a5f5989cafa304e9 100644 (file)
@@ -183,13 +183,57 @@ struct nvfx_state_entry {
 
 extern struct nvfx_state_entry nvfx_state_blend;
 extern struct nvfx_state_entry nvfx_state_blend_colour;
+extern struct nvfx_state_entry nvfx_state_fragprog;
+extern struct nvfx_state_entry nvfx_state_framebuffer;
 extern struct nvfx_state_entry nvfx_state_rasterizer;
 extern struct nvfx_state_entry nvfx_state_scissor;
+extern struct nvfx_state_entry nvfx_state_sr;
+extern struct nvfx_state_entry nvfx_state_stipple;
+extern struct nvfx_state_entry nvfx_state_vbo;
+extern struct nvfx_state_entry nvfx_state_vertprog;
+extern struct nvfx_state_entry nvfx_state_viewport;
+extern struct nvfx_state_entry nvfx_state_vtxfmt;
+extern struct nvfx_state_entry nvfx_state_zsa;
+
+extern void nvfx_init_query_functions(struct nvfx_context *nvfx);
+extern void nvfx_init_surface_functions(struct nvfx_context *nvfx);
+
+/* nv30_context.c */
+struct pipe_context *
+nv30_create(struct pipe_screen *pscreen, void *priv);
+
+/* nv40_context.c */
+struct pipe_context *
+nv40_create(struct pipe_screen *pscreen, void *priv);
 
 /* nvfx_clear.c */
 extern void nvfx_clear(struct pipe_context *pipe, unsigned buffers,
                       const float *rgba, double depth, unsigned stencil);
 
+/* nvfx_draw.c */
+extern struct draw_stage *nvfx_draw_render_stage(struct nvfx_context *nvfx);
+extern void nvfx_draw_elements_swtnl(struct pipe_context *pipe,
+                                       struct pipe_buffer *idxbuf,
+                                       unsigned ib_size, unsigned mode,
+                                       unsigned start, unsigned count);
+
+/* nvfx_fragprog.c */
+extern void nvfx_fragprog_destroy(struct nvfx_context *,
+                                   struct nvfx_fragment_program *);
+
+/* nv30_fragtex.c */
+extern void nv30_init_sampler_functions(struct nvfx_context *nvfx);
+extern void nv30_fragtex_bind(struct nvfx_context *);
+extern struct nvfx_state_entry nv30_state_fragtex;
+
+/* nv40_fragtex.c */
+extern void nv40_init_sampler_functions(struct nvfx_context *nvfx);
+extern void nv40_fragtex_bind(struct nvfx_context *);
+extern struct nvfx_state_entry nv40_state_fragtex;
+
+/* nvfx_state.c */
+extern void nvfx_init_state_functions(struct nvfx_context *nvfx);
+
 /* nvfx_state_emit.c */
 extern void nvfx_state_flush_notify(struct nouveau_channel *chan);
 extern boolean nvfx_state_validate(struct nvfx_context *nvfx);
@@ -199,4 +243,17 @@ extern void nvfx_state_emit(struct nvfx_context *nvfx);
 /* nvfx_transfer.c */
 extern void nvfx_init_transfer_functions(struct nvfx_context *nvfx);
 
+/* nvfx_vbo.c */
+extern void nvfx_draw_arrays(struct pipe_context *, unsigned mode,
+                               unsigned start, unsigned count);
+extern void nvfx_draw_elements(struct pipe_context *pipe,
+                                 struct pipe_buffer *indexBuffer,
+                                 unsigned indexSize,
+                                 unsigned mode, unsigned start,
+                                 unsigned count);
+
+/* nvfx_vertprog.c */
+extern void nvfx_vertprog_destroy(struct nvfx_context *,
+                                 struct nvfx_vertex_program *);
+
 #endif