diff options
author | Maciej Cencora <m.cencora@gmail.com> | 2009-05-30 13:28:47 +0200 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-06-07 16:39:28 +1000 |
commit | e98082997c8cfe3bf9c1c1cdc40c23ee897d1007 (patch) | |
tree | a6c0e9a4ecde1b239b9294974d36827a59903045 /src/mesa/drivers/dri/r300/r300_context.h | |
parent | a27b689d08d88f99ebccf58bbba64d3cfc668866 (diff) |
r300: prepare for different vertex data type support
Diffstat (limited to 'src/mesa/drivers/dri/r300/r300_context.h')
-rw-r--r-- | src/mesa/drivers/dri/r300/r300_context.h | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_context.h b/src/mesa/drivers/dri/r300/r300_context.h index 2ea064ed452..7694fe4862f 100644 --- a/src/mesa/drivers/dri/r300/r300_context.h +++ b/src/mesa/drivers/dri/r300/r300_context.h @@ -584,16 +584,6 @@ struct r300_swtcl_info { */ GLuint specoffset; - struct vertex_attribute{ - GLuint attr; - GLubyte format; - GLubyte dst_loc; - GLuint swizzle; - GLubyte write_mask; - } vert_attrs[VERT_ATTRIB_MAX]; - - GLubyte vertex_attr_count; - int sw_tcl_inputs[VERT_ATTRIB_MAX]; }; @@ -605,6 +595,27 @@ struct r300_vtable { void (* SetupPixelShader)(GLcontext *ctx); }; +struct r300_vertex_buffer { + struct vertex_attribute { + /* generic */ + GLubyte element; + GLvoid *data; + GLboolean free_needed; + GLuint stride; + GLuint dwords; + GLubyte size; /* number of components */ + + /* hw specific */ + uint32_t data_type:4; + uint32_t dst_loc:5; + uint32_t _signed:1; + uint32_t normalize:1; + uint32_t swizzle:12; + uint32_t write_mask:4; + } attribs[VERT_ATTRIB_MAX]; + + GLubyte num_attribs; +}; /** * \brief R300 context structure. @@ -632,6 +643,7 @@ struct r300_context { } options; struct r300_swtcl_info swtcl; + struct r300_vertex_buffer vbuf; GLboolean vap_flush_needed; uint32_t fallback; |