diff options
author | Dave Airlie <[email protected]> | 2011-09-04 09:04:13 +0100 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2011-09-06 10:18:17 +0100 |
commit | 51fcf080a342896ea0bc71dce01e948c810a8db9 (patch) | |
tree | fa0377fe1b8c2e906424739cef54c1bff71021f8 /src/mesa/vbo/vbo_exec_api.c | |
parent | 667351bc5f07a149234e7f3a0b7c1139624d3de0 (diff) |
mesa/vbo: add ARB_vertex_type_2_10_10_10_rev APIs.
This adds the vertex processing paths for the 2101010 types. It converts
the attributes to floats for all the immediate entry points, some entrypoints
are normalised and the attrib APIs take a normalized parameter.
There are four main paths,
ui10 -> float unnormalized
i10 -> float unnormalized
ui10 -> float normalized
i10 -> float normalized
along with the ui2/i2 equivs.
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/mesa/vbo/vbo_exec_api.c')
-rw-r--r-- | src/mesa/vbo/vbo_exec_api.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/mesa/vbo/vbo_exec_api.c b/src/mesa/vbo/vbo_exec_api.c index 8474c787a46..cad7c4639ac 100644 --- a/src/mesa/vbo/vbo_exec_api.c +++ b/src/mesa/vbo/vbo_exec_api.c @@ -742,6 +742,51 @@ static void vbo_exec_vtxfmt_init( struct vbo_exec_context *exec ) vfmt->Indexf = vbo_Indexf; vfmt->Indexfv = vbo_Indexfv; + /* ARB_vertex_type_2_10_10_10_rev */ + vfmt->VertexP2ui = vbo_VertexP2ui; + vfmt->VertexP2uiv = vbo_VertexP2uiv; + vfmt->VertexP3ui = vbo_VertexP3ui; + vfmt->VertexP3uiv = vbo_VertexP3uiv; + vfmt->VertexP4ui = vbo_VertexP4ui; + vfmt->VertexP4uiv = vbo_VertexP4uiv; + + vfmt->TexCoordP1ui = vbo_TexCoordP1ui; + vfmt->TexCoordP1uiv = vbo_TexCoordP1uiv; + vfmt->TexCoordP2ui = vbo_TexCoordP2ui; + vfmt->TexCoordP2uiv = vbo_TexCoordP2uiv; + vfmt->TexCoordP3ui = vbo_TexCoordP3ui; + vfmt->TexCoordP3uiv = vbo_TexCoordP3uiv; + vfmt->TexCoordP4ui = vbo_TexCoordP4ui; + vfmt->TexCoordP4uiv = vbo_TexCoordP4uiv; + + vfmt->MultiTexCoordP1ui = vbo_MultiTexCoordP1ui; + vfmt->MultiTexCoordP1uiv = vbo_MultiTexCoordP1uiv; + vfmt->MultiTexCoordP2ui = vbo_MultiTexCoordP2ui; + vfmt->MultiTexCoordP2uiv = vbo_MultiTexCoordP2uiv; + vfmt->MultiTexCoordP3ui = vbo_MultiTexCoordP3ui; + vfmt->MultiTexCoordP3uiv = vbo_MultiTexCoordP3uiv; + vfmt->MultiTexCoordP4ui = vbo_MultiTexCoordP4ui; + vfmt->MultiTexCoordP4uiv = vbo_MultiTexCoordP4uiv; + + vfmt->NormalP3ui = vbo_NormalP3ui; + vfmt->NormalP3uiv = vbo_NormalP3uiv; + + vfmt->ColorP3ui = vbo_ColorP3ui; + vfmt->ColorP3uiv = vbo_ColorP3uiv; + vfmt->ColorP4ui = vbo_ColorP4ui; + vfmt->ColorP4uiv = vbo_ColorP4uiv; + + vfmt->SecondaryColorP3ui = vbo_SecondaryColorP3ui; + vfmt->SecondaryColorP3uiv = vbo_SecondaryColorP3uiv; + + vfmt->VertexAttribP1ui = vbo_VertexAttribP1ui; + vfmt->VertexAttribP1uiv = vbo_VertexAttribP1uiv; + vfmt->VertexAttribP2ui = vbo_VertexAttribP2ui; + vfmt->VertexAttribP2uiv = vbo_VertexAttribP2uiv; + vfmt->VertexAttribP3ui = vbo_VertexAttribP3ui; + vfmt->VertexAttribP3uiv = vbo_VertexAttribP3uiv; + vfmt->VertexAttribP4ui = vbo_VertexAttribP4ui; + vfmt->VertexAttribP4uiv = vbo_VertexAttribP4uiv; } |