summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <[email protected]>2018-05-13 01:17:23 +0200
committerJason Ekstrand <[email protected]>2018-06-22 20:54:00 -0700
commit67df3739c599d85c01681a278ae3b34284af5735 (patch)
treebc244f1da74468bba51d308c224b3ce0c13de8f1 /src/gallium/drivers/radeonsi
parent9cb345588bef489e49bf09bb126050268217b705 (diff)
radeonsi: Remove deref chain support in nir scan pass.
Acked-by: Rob Clark <[email protected]> Acked-by: Bas Nieuwenhuizen <[email protected]> Acked-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi')
-rw-r--r--src/gallium/drivers/radeonsi/si_shader_nir.c34
1 files changed, 4 insertions, 30 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c
index 21551a76d6b..c46d0ab5a82 100644
--- a/src/gallium/drivers/radeonsi/si_shader_nir.c
+++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
@@ -34,9 +34,6 @@
static nir_variable* tex_get_texture_var(nir_tex_instr *instr)
{
- if (instr->texture)
- return instr->texture->var;
-
for (unsigned i = 0; i < instr->num_srcs; i++) {
switch (instr->src[i].src_type) {
case nir_tex_src_texture_deref:
@@ -51,9 +48,6 @@ static nir_variable* tex_get_texture_var(nir_tex_instr *instr)
static nir_variable* intrinsic_get_var(nir_intrinsic_instr *instr)
{
- if (instr->variables[0])
- return instr->variables[0]->var;
-
return nir_deref_instr_get_variable(nir_src_as_deref(instr->src[0]));
}
@@ -149,9 +143,6 @@ static void scan_instruction(struct tgsi_shader_info *info,
case nir_intrinsic_load_tess_level_outer:
info->reads_tess_factors = true;
break;
- case nir_intrinsic_image_var_load:
- case nir_intrinsic_image_var_size:
- case nir_intrinsic_image_var_samples:
case nir_intrinsic_image_deref_load:
case nir_intrinsic_image_deref_size:
case nir_intrinsic_image_deref_samples: {
@@ -161,15 +152,6 @@ static void scan_instruction(struct tgsi_shader_info *info,
break;
}
- case nir_intrinsic_image_var_store:
- case nir_intrinsic_image_var_atomic_add:
- case nir_intrinsic_image_var_atomic_min:
- case nir_intrinsic_image_var_atomic_max:
- case nir_intrinsic_image_var_atomic_and:
- case nir_intrinsic_image_var_atomic_or:
- case nir_intrinsic_image_var_atomic_xor:
- case nir_intrinsic_image_var_atomic_exchange:
- case nir_intrinsic_image_var_atomic_comp_swap:
case nir_intrinsic_image_deref_store:
case nir_intrinsic_image_deref_atomic_add:
case nir_intrinsic_image_deref_atomic_min:
@@ -198,7 +180,6 @@ static void scan_instruction(struct tgsi_shader_info *info,
case nir_intrinsic_ssbo_atomic_comp_swap:
info->writes_memory = true;
break;
- case nir_intrinsic_load_var:
case nir_intrinsic_load_deref: {
nir_variable *var = intrinsic_get_var(intr);
nir_variable_mode mode = var->data.mode;
@@ -233,9 +214,6 @@ static void scan_instruction(struct tgsi_shader_info *info,
}
break;
}
- case nir_intrinsic_interp_var_at_centroid:
- case nir_intrinsic_interp_var_at_sample:
- case nir_intrinsic_interp_var_at_offset:
case nir_intrinsic_interp_deref_at_centroid:
case nir_intrinsic_interp_deref_at_sample:
case nir_intrinsic_interp_deref_at_offset: {
@@ -243,21 +221,17 @@ static void scan_instruction(struct tgsi_shader_info *info,
switch (interp) {
case INTERP_MODE_SMOOTH:
case INTERP_MODE_NONE:
- if (intr->intrinsic == nir_intrinsic_interp_var_at_centroid ||
- intr->intrinsic == nir_intrinsic_interp_deref_at_centroid)
+ if (intr->intrinsic == nir_intrinsic_interp_deref_at_centroid)
info->uses_persp_opcode_interp_centroid = true;
- else if (intr->intrinsic == nir_intrinsic_interp_var_at_sample ||
- intr->intrinsic == nir_intrinsic_interp_deref_at_sample)
+ else if (intr->intrinsic == nir_intrinsic_interp_deref_at_sample)
info->uses_persp_opcode_interp_sample = true;
else
info->uses_persp_opcode_interp_offset = true;
break;
case INTERP_MODE_NOPERSPECTIVE:
- if (intr->intrinsic == nir_intrinsic_interp_var_at_centroid ||
- intr->intrinsic == nir_intrinsic_interp_deref_at_centroid)
+ if (intr->intrinsic == nir_intrinsic_interp_deref_at_centroid)
info->uses_linear_opcode_interp_centroid = true;
- else if (intr->intrinsic == nir_intrinsic_interp_var_at_sample ||
- intr->intrinsic == nir_intrinsic_interp_deref_at_sample)
+ else if (intr->intrinsic == nir_intrinsic_interp_deref_at_sample)
info->uses_linear_opcode_interp_sample = true;
else
info->uses_linear_opcode_interp_offset = true;