OSDN Git Service

i965/vs: Remove brw_vs_prog_data pointer from brw_vs_compile.
authorPaul Berry <stereotype441@gmail.com>
Sat, 16 Feb 2013 17:49:11 +0000 (09:49 -0800)
committerPaul Berry <stereotype441@gmail.com>
Thu, 11 Apr 2013 16:25:24 +0000 (09:25 -0700)
commit09cd6e06d2c7a54ca6eb8d3102822efa78e01a9c
tree7eeaeae8072d0d373ddf031137e235b8115181c9
parentdeffbbed4e0f24e05fe5314ee7ccd47e4826f9ba
i965/vs: Remove brw_vs_prog_data pointer from brw_vs_compile.

In patches that follow, we'll be splitting structs brw_vs_prog_data
and brw_vs_compile into a vec4-generic base struct and a VS-specific
derived struct (this will allow the vec4-generic code to be re-used
for geometry shaders).  Having brw_vs_compile point to
brw_vs_prog_data makes it difficult to do this cleanly.

Fortunately most of the functions that use brw_vs_compile (those in
the vec4_visitor class) already have access to brw_vs_prog_data
through a separate pointer (vec4_visitor::prog_data).  So all we have
to do is use that pointer consistently, and plumb prog_data through
the few remaining functions that need access to it.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_vec4.cpp
src/mesa/drivers/dri/i965/brw_vec4.h
src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
src/mesa/drivers/dri/i965/brw_vec4_vp.cpp
src/mesa/drivers/dri/i965/brw_vs.c
src/mesa/drivers/dri/i965/brw_vs.h
src/mesa/drivers/dri/i965/test_vec4_register_coalesce.cpp