i965/fs: Expose "urb_setup" as part of brw_wm_prog_data.
authorPaul Berry <stereotype441@gmail.com>
Tue, 3 Sep 2013 00:24:19 +0000 (17:24 -0700)
committerPaul Berry <stereotype441@gmail.com>
Mon, 16 Sep 2013 19:53:05 +0000 (12:53 -0700)
commit58f01bd17d5587c21d7f543b8f3769f3405dc420
tree295d6ea9f4522bc24ecb112da0a10aeb8f634da7
parent4a6939edae2cc36fc931824ce91484cc0480ec8c
i965/fs: Expose "urb_setup" as part of brw_wm_prog_data.

At the moment, for Gen6+, the FS assumes that all varying inputs are
delivered to it in the order in which they appear in the
gl_program::InputsRead bitfield, and the SF/SBE setup code ensures
that they are delivered in this order.

When we add support for more than 64 varying components, this will no
longer always be possible, because the Gen6+ SF/SBE stage is only
capable of performing arbitrary reorderings of 16 varying slots.

To allow extra flexibility in the ordering of FS varyings, this patch
causes the FS to advertise exactly what ordering it expects.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_context.h
src/mesa/drivers/dri/i965/brw_fs.cpp
src/mesa/drivers/dri/i965/brw_fs.h
src/mesa/drivers/dri/i965/brw_fs_visitor.cpp