nir: Remove deref chain support from lower_tex
Acked-by: Rob Clark <robdclark@gmail.com> Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Acked-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -124,9 +124,7 @@ get_texture_size(nir_builder *b, nir_tex_instr *tex)
|
||||
txs->is_shadow = tex->is_shadow;
|
||||
txs->is_new_style_shadow = tex->is_new_style_shadow;
|
||||
txs->texture_index = tex->texture_index;
|
||||
txs->texture = nir_deref_var_clone(tex->texture, txs);
|
||||
txs->sampler_index = tex->sampler_index;
|
||||
txs->sampler = nir_deref_var_clone(tex->sampler, txs);
|
||||
txs->dest_type = nir_type_int;
|
||||
|
||||
unsigned idx = 0;
|
||||
@@ -251,9 +249,7 @@ sample_plane(nir_builder *b, nir_tex_instr *tex, int plane)
|
||||
plane_tex->coord_components = 2;
|
||||
|
||||
plane_tex->texture_index = tex->texture_index;
|
||||
plane_tex->texture = nir_deref_var_clone(tex->texture, plane_tex);
|
||||
plane_tex->sampler_index = tex->sampler_index;
|
||||
plane_tex->sampler = nir_deref_var_clone(tex->sampler, plane_tex);
|
||||
|
||||
nir_ssa_dest_init(&plane_tex->instr, &plane_tex->dest, 4, 32, NULL);
|
||||
|
||||
@@ -367,8 +363,6 @@ replace_gradient_with_lod(nir_builder *b, nir_ssa_def *lod, nir_tex_instr *tex)
|
||||
txl->is_shadow = tex->is_shadow;
|
||||
txl->is_new_style_shadow = tex->is_new_style_shadow;
|
||||
txl->sampler_index = tex->sampler_index;
|
||||
txl->texture = nir_deref_var_clone(tex->texture, txl);
|
||||
txl->sampler = nir_deref_var_clone(tex->sampler, txl);
|
||||
txl->coord_components = tex->coord_components;
|
||||
|
||||
nir_ssa_dest_init(&txl->instr, &txl->dest, 4, 32, NULL);
|
||||
@@ -888,6 +882,8 @@ nir_lower_tex(nir_shader *shader, const nir_lower_tex_options *options)
|
||||
{
|
||||
bool progress = false;
|
||||
|
||||
nir_assert_unlowered_derefs(shader, nir_lower_texture_derefs);
|
||||
|
||||
nir_foreach_function(function, shader) {
|
||||
if (function->impl)
|
||||
progress |= nir_lower_tex_impl(function->impl, options);
|
||||
|
Reference in New Issue
Block a user