radeonsi: merge uses_persp_opcode_interp_sample/uses_linear_opcode_interp_sample

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6624>
This commit is contained in:
Marek Olšák 2020-09-06 02:38:09 -04:00 committed by Marge Bot
parent 7b3e24c2d8
commit 8df349a31e
3 changed files with 4 additions and 10 deletions

View file

@ -355,8 +355,7 @@ struct si_shader_info {
bool uses_linear_center; bool uses_linear_center;
bool uses_linear_centroid; bool uses_linear_centroid;
bool uses_linear_sample; bool uses_linear_sample;
bool uses_persp_opcode_interp_sample; bool uses_interp_at_sample;
bool uses_linear_opcode_interp_sample;
bool uses_instanceid; bool uses_instanceid;
bool uses_drawid; bool uses_drawid;
bool uses_primid; bool uses_primid;

View file

@ -397,9 +397,6 @@ static void scan_instruction(const struct nir_shader *nir, struct si_shader_info
info->uses_linear_centroid = true; info->uses_linear_centroid = true;
else else
info->uses_linear_center = true; info->uses_linear_center = true;
if (intr->intrinsic == nir_intrinsic_load_barycentric_at_sample)
info->uses_linear_opcode_interp_sample = true;
} else { } else {
if (intr->intrinsic == nir_intrinsic_load_barycentric_sample) if (intr->intrinsic == nir_intrinsic_load_barycentric_sample)
info->uses_persp_sample = true; info->uses_persp_sample = true;
@ -407,10 +404,9 @@ static void scan_instruction(const struct nir_shader *nir, struct si_shader_info
info->uses_persp_centroid = true; info->uses_persp_centroid = true;
else else
info->uses_persp_center = true; info->uses_persp_center = true;
if (intr->intrinsic == nir_intrinsic_load_barycentric_at_sample)
info->uses_persp_opcode_interp_sample = true;
} }
if (intr->intrinsic == nir_intrinsic_load_barycentric_at_sample)
info->uses_interp_at_sample = true;
break; break;
} }
case nir_intrinsic_load_input: case nir_intrinsic_load_input:

View file

@ -1980,8 +1980,7 @@ static inline void si_shader_selector_key(struct pipe_context *ctx, struct si_sh
sel->info.uses_linear_sample > sel->info.uses_linear_sample >
1; 1;
if (sel->info.uses_persp_opcode_interp_sample || if (sel->info.uses_interp_at_sample)
sel->info.uses_linear_opcode_interp_sample)
key->mono.u.ps.interpolate_at_sample_force_center = 1; key->mono.u.ps.interpolate_at_sample_force_center = 1;
} }