summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/indices/u_indices.h
diff options
context:
space:
mode:
authorKeith Whitwell <keithw@vmware.com>2009-03-04 21:35:17 +0000
committerKeith Whitwell <keithw@vmware.com>2009-03-04 21:37:23 +0000
commit79a05a6b3f8a995c80d27a1f32f85ad84b1a6f9d (patch)
tree6d69f05b900da55b650407cb76a12394863668d4 /src/gallium/auxiliary/indices/u_indices.h
parent59311fb06c7bb20efe29ecdc237d0171ee959c0a (diff)
indices: add translate/generate functions for unfilled modes
Most of the time unfilled rendering requires a lot more thought than just translating triangles to lines or points. But sometimes, you can do exactly that, and it can be quite a bit quicker. Add code to do the translation. The caller has to determine whether it's a legal thing to do in the current state, in particular you'd need: - culling disabled - offset disabled - same front and back fill modes - possibly other stuff I can't think of.
Diffstat (limited to 'src/gallium/auxiliary/indices/u_indices.h')
-rw-r--r--src/gallium/auxiliary/indices/u_indices.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/indices/u_indices.h b/src/gallium/auxiliary/indices/u_indices.h
index abf5a3037d..be522c6725 100644
--- a/src/gallium/auxiliary/indices/u_indices.h
+++ b/src/gallium/auxiliary/indices/u_indices.h
@@ -80,4 +80,27 @@ int u_index_generator( unsigned hw_mask,
u_generate_func *out_generate );
+void u_unfilled_init( void );
+
+int u_unfilled_translator( unsigned prim,
+ unsigned in_index_size,
+ unsigned nr,
+ unsigned unfilled_mode,
+ unsigned *out_prim,
+ unsigned *out_index_size,
+ unsigned *out_nr,
+ u_translate_func *out_translate );
+
+int u_unfilled_generator( unsigned prim,
+ unsigned start,
+ unsigned nr,
+ unsigned unfilled_mode,
+ unsigned *out_prim,
+ unsigned *out_index_size,
+ unsigned *out_nr,
+ u_generate_func *out_generate );
+
+
+
+
#endif