summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/draw/draw_context.h
diff options
context:
space:
mode:
authorZack Rusin <[email protected]>2009-12-14 17:11:46 -0500
committerZack Rusin <[email protected]>2009-12-25 05:52:16 -0500
commit89d8577fb3036547ef0b47498cc8dc5c77f886e0 (patch)
tree9356cc45b0cdaad4f979b0d328ad0562686a66e8 /src/gallium/auxiliary/draw/draw_context.h
parent57cce7a409724a261c6dae6c979496a630167742 (diff)
gallium: add geometry shader support to gallium
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_context.h')
-rw-r--r--src/gallium/auxiliary/draw/draw_context.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/gallium/auxiliary/draw/draw_context.h b/src/gallium/auxiliary/draw/draw_context.h
index 465b8f10c6c..b716209df29 100644
--- a/src/gallium/auxiliary/draw/draw_context.h
+++ b/src/gallium/auxiliary/draw/draw_context.h
@@ -45,6 +45,7 @@ struct pipe_context;
struct draw_context;
struct draw_stage;
struct draw_vertex_shader;
+struct draw_geometry_shader;
struct tgsi_sampler;
@@ -85,11 +86,11 @@ draw_install_pstipple_stage(struct draw_context *draw, struct pipe_context *pipe
int
-draw_find_vs_output(const struct draw_context *draw,
- uint semantic_name, uint semantic_index);
+draw_find_shader_output(const struct draw_context *draw,
+ uint semantic_name, uint semantic_index);
uint
-draw_num_vs_outputs(const struct draw_context *draw);
+draw_num_shader_outputs(const struct draw_context *draw);
void
@@ -112,6 +113,17 @@ void draw_delete_vertex_shader(struct draw_context *draw,
struct draw_vertex_shader *dvs);
+/*
+ * Geometry shader functions
+ */
+struct draw_geometry_shader *
+draw_create_geometry_shader(struct draw_context *draw,
+ const struct pipe_shader_state *shader);
+void draw_bind_geometry_shader(struct draw_context *draw,
+ struct draw_geometry_shader *dvs);
+void draw_delete_geometry_shader(struct draw_context *draw,
+ struct draw_geometry_shader *dvs);
+
/*
* Vertex data functions
@@ -140,6 +152,7 @@ void draw_set_mapped_vertex_buffer(struct draw_context *draw,
unsigned attr, const void *buffer);
void draw_set_mapped_constant_buffer(struct draw_context *draw,
+ unsigned shader_type,
const void *buffer,
unsigned size );