diff options
author | Keith Whitwell <keithw@vmware.com> | 2009-03-04 21:35:17 +0000 |
---|---|---|
committer | Keith Whitwell <keithw@vmware.com> | 2009-03-04 21:37:23 +0000 |
commit | 79a05a6b3f8a995c80d27a1f32f85ad84b1a6f9d (patch) | |
tree | 6d69f05b900da55b650407cb76a12394863668d4 /src/gallium/auxiliary/indices/u_indices.h | |
parent | 59311fb06c7bb20efe29ecdc237d0171ee959c0a (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.h | 23 |
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 |