svga: add VS code to set attribute W component to 1
authorBrian Paul <brianp@vmware.com>
Thu, 17 Apr 2014 16:00:29 +0000 (09:00 -0700)
committerBrian Paul <brianp@vmware.com>
Thu, 17 Apr 2014 18:29:33 +0000 (11:29 -0700)
commit851645a3e7f06348d60180ec122b9ad0dc3cf432
tree6ff45de67a75286fd7fa9ca94636f67f3887d9c8
parent615a356ee38d882e9f073dba0b8918a903094124
svga: add VS code to set attribute W component to 1

There's a few 3-component vertex attribute formats that have no
equivalent SVGA3D_DECLTYPE_x format.  Previously, we had to use
the swtnl code to handle them.  This patch lets us use hwtnl for
more vertex attribute types by fetching 3-component attributes as
4-component attributes and explicitly setting the W component to 1.

This lets us handle PIPE_FORMAT_R16G16B16_SNORM/UNORM and
PIPE_FORMAT_R8G8B8_UNORM vertex attribs without using the swtnl path.

Fixes piglit normal3b3s GL_SHORT test.

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
src/gallium/drivers/svga/svga_context.h
src/gallium/drivers/svga/svga_pipe_vertex.c
src/gallium/drivers/svga/svga_state_vs.c
src/gallium/drivers/svga/svga_tgsi.h
src/gallium/drivers/svga/svga_tgsi_insn.c