i965/gs: Do prog_data setup and other calculations in brw_compile_gs
authorJason Ekstrand <jason.ekstrand@intel.com>
Wed, 21 Oct 2015 19:03:21 +0000 (12:03 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 21 Oct 2015 21:20:32 +0000 (14:20 -0700)
commit0e57694745979286cda0cd414cc6d1f4efe5408b
tree050560903d0e7ed3e881c513410a2dad8b43941e
parentf3bc73073af70a7fe4d2612c80bfb5ae5820b963
i965/gs: Do prog_data setup and other calculations in brw_compile_gs

This commit moves the large pile of setup calculations we have to do for
geometry shaders out of brw_gs_emit and into brw_compile_gs.  This has a
couple of nice implications.  First, it's less work that the caller of
brw_compile_gs has to do.  Second, it's consistent with the vertex and
fragment stages.  Finally, it allows us to put brw_gs_compile back behind
the API boundary where it belongs.

v2 (Jason Ekstrand):
 - Pull the changes to use nir info into a separate patch
 - Put brw_gs_compile into brw_shader.h rather than brw_vec4_gs_visitor.h
   so that we can use it for scalar GS.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_compiler.h
src/mesa/drivers/dri/i965/brw_gs.c
src/mesa/drivers/dri/i965/brw_shader.h
src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp