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>
This commit is contained in:
parent
82f2e706bf
commit
34d162260f
|
@ -1760,7 +1760,7 @@ vec4_visitor::run(gl_clip_plane *clip_planes)
|
|||
* that we have reladdr computations available for CSE, since we'll
|
||||
* often do repeated subexpressions for those.
|
||||
*/
|
||||
if (shader) {
|
||||
if (shader || use_vec4_nir) {
|
||||
move_grf_array_access_to_scratch();
|
||||
move_uniform_array_access_to_pull_constants();
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue