diff options
author | Jason Ekstrand <[email protected]> | 2014-11-14 09:46:48 -0800 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2015-01-15 07:19:01 -0800 |
commit | 895eee505cf9d4145d901accc2767c373e12c05e (patch) | |
tree | f1160c8a762835da364b9e29e5983a99deb2d1db /src/glsl | |
parent | cd01de08125202a7d77a337a85b38a492473500d (diff) |
nir/lower_samplers: Use the nir_instr_rewrite_src function
Reviewed-by: Connor Abbott <[email protected]>
Diffstat (limited to 'src/glsl')
-rw-r--r-- | src/glsl/nir/nir_lower_samplers.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/glsl/nir/nir_lower_samplers.cpp b/src/glsl/nir/nir_lower_samplers.cpp index e10456db230..347c84adc9b 100644 --- a/src/glsl/nir/nir_lower_samplers.cpp +++ b/src/glsl/nir/nir_lower_samplers.cpp @@ -124,7 +124,16 @@ lower_sampler(nir_tex_instr *instr, struct gl_shader_program *shader_program, { if (instr->sampler) { instr->sampler_index = get_sampler_index(instr->sampler, shader_program, - prog); + prog); + nir_src empty_src; + memset(&empty_src, 0, sizeof empty_src); + for (nir_deref *deref = &instr->sampler->deref; deref; deref = deref->child) { + if (deref->deref_type == nir_deref_type_array) { + nir_deref_array *arr = nir_deref_as_array(deref); + nir_instr_rewrite_src(&instr->instr, &arr->indirect, empty_src); + } + } + instr->sampler = NULL; } } |