i965/fs: Record pull constant locations for all array elements.
When demoting a variably indexed uniform array to pull constants, we only recorded the location for the base of the array (element 0). Recording locations for all array elements is a trivial amount of code and will make subsequent refactoring easier. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
@@ -1854,11 +1854,11 @@ fs_visitor::move_uniform_array_access_to_pull_constants()
|
||||
if (pull_constant_loc[uniform] == -1) {
|
||||
const float **values = &stage_prog_data->param[uniform];
|
||||
|
||||
pull_constant_loc[uniform] = stage_prog_data->nr_pull_params;
|
||||
|
||||
assert(param_size[uniform]);
|
||||
|
||||
for (int j = 0; j < param_size[uniform]; j++) {
|
||||
pull_constant_loc[uniform + j] = stage_prog_data->nr_pull_params;
|
||||
|
||||
stage_prog_data->pull_param[stage_prog_data->nr_pull_params++] =
|
||||
values[j];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user