gallium: first steps to treat edgeflags as regular vertex element
authorKeith Whitwell <keithw@vmware.com>
Wed, 9 Dec 2009 18:03:10 +0000 (19:03 +0100)
committerRoland Scheidegger <sroland@vmware.com>
Wed, 9 Dec 2009 18:03:10 +0000 (19:03 +0100)
commita08e348a84f57ed5e8bf5888f1ce13934d2ce8fa
tree595ffc983588c5441c39ff11c3a089e521f94e53
parent59f6af51b858340139fe2139e2698fef8a5ad62f
gallium: first steps to treat edgeflags as regular vertex element

The idea here is to eliminate the set_edgeflags() call in pipe_context
by treating edgeflags as a regular vertex element.

Edgeflags provoke special treatment in hardware, which means we need to
label them in some way, in this case we'll be passing them through the
vertex shader and labelling the vertex shader output with a new TGSI
semantic (TGSI_SEMANTIC_EDGEFLAG).
15 files changed:
src/gallium/auxiliary/draw/draw_context.c
src/gallium/auxiliary/draw/draw_context.h
src/gallium/auxiliary/draw/draw_private.h
src/gallium/auxiliary/draw/draw_pt.c
src/gallium/auxiliary/draw/draw_pt.h
src/gallium/auxiliary/draw/draw_pt_fetch.c
src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c
src/gallium/auxiliary/draw/draw_pt_post_vs.c
src/gallium/include/pipe/p_context.h
src/gallium/include/pipe/p_shader_tokens.h
src/mesa/state_tracker/st_atom_shader.c
src/mesa/state_tracker/st_draw.c
src/mesa/state_tracker/st_mesa_to_tgsi.c
src/mesa/state_tracker/st_program.c
src/mesa/state_tracker/st_program.h