mesa: add is_indirect to _mesa_prim

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
i965: Add new defines for indirect draws

- MMIO registers for draw parameters
- New bit in 3DPRIMITIVE command to enable indirection

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
i965: add state atom for indirect buffer

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
i965: flag new indirect buffer in brw_try_draw_prims

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
i965: implement indirect drawing for Gen7

Just prior to emitting the 3DPRIMITIVE command, we load each of the
indirect registers. The values loaded are either from offsets into the
current indirect BO, or constant zero if the parameter is not used for
this draw.

Enabling use of the indirect registers is done by turning on a bit in
the first dword of the 3DPRIMITIVE command itself.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>