i965/vec4: Handle uniform and GRF array access on vertex programs (NIR)
authorAntia Puentes <apuentes@igalia.com>
Wed, 8 Jul 2015 14:08:17 +0000 (16:08 +0200)
committerJason Ekstrand <jason.ekstrand@intel.com>
Mon, 3 Aug 2015 16:40:51 +0000 (09:40 -0700)
commit34d162260f513a7eaec12611e3859bb34230cf33
tree749ce9922ac148295d99a69118e92cc83d828472
parent82f2e706bfd646b91bc0b8beecdff4e54b1f7b04
i965/vec4: Handle uniform and GRF array access on vertex programs (NIR)

When the NIR-vec4 pass is enabled, handles uniform and GRF array access
on ARB_vertex_program like it is done on vertex shaders.

When the old IR-vec4 pass is used, emit_program_code() emits pull constant
loads directly instead of using relative addressing, hence to call to
move_uniform_array_access_to_pull_constants() is not needed and it is enough
to call to split_uniform_registers().

The patch also calls to move_grf_array_access_to_scratch() like it is
done for shaders, however I suspect this is a no-op for vertex programs and
we could remove it.

Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
src/mesa/drivers/dri/i965/brw_vec4.cpp