summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/softpipe/sp_state.h
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2011-07-21 09:55:22 -0600
committerBrian Paul <[email protected]>2011-07-21 10:32:15 -0600
commit57aa597b3d5dac0fc59c05557dafec59e14e1019 (patch)
tree8b08868af2be97c6f2032fbc1363f4461d5ead34 /src/gallium/drivers/softpipe/sp_state.h
parentc534f11164bbecf25eb2b1e697f9511eceb0c86f (diff)
softpipe: use the polygon stipple utility module
This is an alternative to the draw module's polygon stipple stage. The softpipe implementation here is just a test. The advantange of using the new polygon stipple utility module (with other drivers) is we can avoid software vertex processing in the draw module and get much better performance. Polygon stipple doesn't require special vertex processing like the other draw module stage.
Diffstat (limited to 'src/gallium/drivers/softpipe/sp_state.h')
-rw-r--r--src/gallium/drivers/softpipe/sp_state.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/gallium/drivers/softpipe/sp_state.h b/src/gallium/drivers/softpipe/sp_state.h
index 243f7aab8ba..ec4c8cf5e4d 100644
--- a/src/gallium/drivers/softpipe/sp_state.h
+++ b/src/gallium/drivers/softpipe/sp_state.h
@@ -62,7 +62,7 @@ struct vertex_info;
struct sp_fragment_shader_variant_key
{
- int foo; /* XXX temporary */
+ boolean polygon_stipple;
};
@@ -72,6 +72,8 @@ struct sp_fragment_shader_variant
struct sp_fragment_shader_variant_key key;
struct tgsi_shader_info info;
+ unsigned stipple_sampler_unit;
+
/* See comments about this elsewhere */
#if 0
struct draw_fragment_shader *draw_shader;
@@ -150,7 +152,7 @@ softpipe_set_framebuffer_state(struct pipe_context *,
const struct pipe_framebuffer_state *);
void
-softpipe_update_derived(struct softpipe_context *softpipe);
+softpipe_update_derived(struct softpipe_context *softpipe, unsigned prim);
void
softpipe_draw_vbo(struct pipe_context *pipe,
@@ -185,4 +187,10 @@ softpipe_find_fs_variant(struct softpipe_context *softpipe,
const struct sp_fragment_shader_variant_key *key);
+struct sp_fragment_shader_variant *
+softpipe_find_fs_variant(struct softpipe_context *softpipe,
+ struct sp_fragment_shader *fs,
+ const struct sp_fragment_shader_variant_key *key);
+
+
#endif