summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/draw/draw_private.h
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2008-01-24 11:19:06 +0000
committerJosé Fonseca <jrfonseca@tungstengraphics.com>2008-01-26 10:33:18 +0900
commit027983f5850afea753381be454122166c6d56777 (patch)
tree1c8eb9dc82c6f4241e73641dbfeb24913c1a4f8d /src/mesa/pipe/draw/draw_private.h
parentc3e4e9260d7527bb0369650b861cba43834f7106 (diff)
gallium: restructure vertex fetch code slightly
Diffstat (limited to 'src/mesa/pipe/draw/draw_private.h')
-rw-r--r--src/mesa/pipe/draw/draw_private.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/mesa/pipe/draw/draw_private.h b/src/mesa/pipe/draw/draw_private.h
index 1c2e88264f..1e59f5bd8d 100644
--- a/src/mesa/pipe/draw/draw_private.h
+++ b/src/mesa/pipe/draw/draw_private.h
@@ -137,6 +137,13 @@ struct draw_vertex_shader {
#endif
};
+
+/* Internal function for vertex fetch.
+ */
+typedef void (*fetch_func)(const void *ptr, float *attrib);
+
+
+
/**
* Private context for the drawing module.
*/
@@ -196,6 +203,15 @@ struct draw_context
/** TGSI program interpreter runtime state */
struct tgsi_exec_machine machine;
+ /* Vertex fetch internal state
+ */
+ struct {
+ const ubyte *src_ptr[PIPE_ATTRIB_MAX];
+ unsigned pitch[PIPE_ATTRIB_MAX];
+ fetch_func fetch[PIPE_ATTRIB_MAX];
+ unsigned nr_attrs;
+ } vertex_fetch;
+
/* Post-tnl vertex cache:
*/
struct {
@@ -270,6 +286,7 @@ extern void draw_vertex_shader_queue_flush_llvm( struct draw_context *draw );
struct tgsi_exec_machine;
+extern void draw_update_vertex_fetch( struct draw_context *draw );
extern void draw_vertex_fetch( struct draw_context *draw,
struct tgsi_exec_machine *machine,
const unsigned *elts,