radv: remove unnecessary vs_common_out.export_viewport_index
This was only used when the FS needs the viewport index if it's not exported by the previous stage. Though, this is actually useless because the driver will emit 0 for the PS input in this case. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13061>
This commit is contained in:

committed by
Marge Bot

parent
7594d4ae2c
commit
a35cfa77f6
@@ -2872,16 +2872,12 @@ radv_fill_shader_info(struct radv_pipeline *pipeline,
|
|||||||
infos[MESA_SHADER_FRAGMENT].ps.layer_input;
|
infos[MESA_SHADER_FRAGMENT].ps.layer_input;
|
||||||
keys[MESA_SHADER_VERTEX].vs_common_out.export_clip_dists =
|
keys[MESA_SHADER_VERTEX].vs_common_out.export_clip_dists =
|
||||||
!!infos[MESA_SHADER_FRAGMENT].ps.num_input_clips_culls;
|
!!infos[MESA_SHADER_FRAGMENT].ps.num_input_clips_culls;
|
||||||
keys[MESA_SHADER_VERTEX].vs_common_out.export_viewport_index =
|
|
||||||
infos[MESA_SHADER_FRAGMENT].ps.viewport_index_input;
|
|
||||||
keys[MESA_SHADER_TESS_EVAL].vs_common_out.export_prim_id =
|
keys[MESA_SHADER_TESS_EVAL].vs_common_out.export_prim_id =
|
||||||
infos[MESA_SHADER_FRAGMENT].ps.prim_id_input;
|
infos[MESA_SHADER_FRAGMENT].ps.prim_id_input;
|
||||||
keys[MESA_SHADER_TESS_EVAL].vs_common_out.export_layer_id =
|
keys[MESA_SHADER_TESS_EVAL].vs_common_out.export_layer_id =
|
||||||
infos[MESA_SHADER_FRAGMENT].ps.layer_input;
|
infos[MESA_SHADER_FRAGMENT].ps.layer_input;
|
||||||
keys[MESA_SHADER_TESS_EVAL].vs_common_out.export_clip_dists =
|
keys[MESA_SHADER_TESS_EVAL].vs_common_out.export_clip_dists =
|
||||||
!!infos[MESA_SHADER_FRAGMENT].ps.num_input_clips_culls;
|
!!infos[MESA_SHADER_FRAGMENT].ps.num_input_clips_culls;
|
||||||
keys[MESA_SHADER_TESS_EVAL].vs_common_out.export_viewport_index =
|
|
||||||
infos[MESA_SHADER_FRAGMENT].ps.viewport_index_input;
|
|
||||||
|
|
||||||
/* NGG passthrough mode can't be enabled for vertex shaders
|
/* NGG passthrough mode can't be enabled for vertex shaders
|
||||||
* that export the primitive ID.
|
* that export the primitive ID.
|
||||||
|
@@ -55,7 +55,6 @@ struct radv_vs_out_key {
|
|||||||
uint32_t export_prim_id : 1;
|
uint32_t export_prim_id : 1;
|
||||||
uint32_t export_layer_id : 1;
|
uint32_t export_layer_id : 1;
|
||||||
uint32_t export_clip_dists : 1;
|
uint32_t export_clip_dists : 1;
|
||||||
uint32_t export_viewport_index : 1;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct radv_vs_variant_key {
|
struct radv_vs_variant_key {
|
||||||
|
@@ -637,23 +637,6 @@ radv_nir_shader_info_pass(struct radv_device *device, const struct nir_shader *n
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Make sure to export the ViewportIndex if the fragment shader needs it. */
|
|
||||||
if (key->vs_common_out.export_viewport_index) {
|
|
||||||
switch (nir->info.stage) {
|
|
||||||
case MESA_SHADER_VERTEX:
|
|
||||||
info->vs.output_usage_mask[VARYING_SLOT_VIEWPORT] |= 0x1;
|
|
||||||
break;
|
|
||||||
case MESA_SHADER_TESS_EVAL:
|
|
||||||
info->tes.output_usage_mask[VARYING_SLOT_VIEWPORT] |= 0x1;
|
|
||||||
break;
|
|
||||||
case MESA_SHADER_GEOMETRY:
|
|
||||||
info->gs.output_usage_mask[VARYING_SLOT_VIEWPORT] |= 0x1;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Make sure to export the clip/cull distances if the fragment shader needs it. */
|
/* Make sure to export the clip/cull distances if the fragment shader needs it. */
|
||||||
if (key->vs_common_out.export_clip_dists) {
|
if (key->vs_common_out.export_clip_dists) {
|
||||||
switch (nir->info.stage) {
|
switch (nir->info.stage) {
|
||||||
|
Reference in New Issue
Block a user