nir/lower_clip_cull_distance_arrays: return prog

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26976>
This commit is contained in:
Alyssa Rosenzweig
2024-01-10 09:45:01 -04:00
committed by Marge Bot
parent a36812d9b4
commit 6fa32b5b83
2 changed files with 9 additions and 4 deletions

View File

@@ -6014,7 +6014,7 @@ bool nir_lower_clip_gs(nir_shader *shader, unsigned ucp_enables,
bool nir_lower_clip_fs(nir_shader *shader, unsigned ucp_enables,
bool use_clipdist_array);
void nir_lower_clip_cull_distance_to_vec4s(nir_shader *shader);
bool nir_lower_clip_cull_distance_to_vec4s(nir_shader *shader);
bool nir_lower_clip_cull_distance_arrays(nir_shader *nir);
bool nir_lower_clip_disable(nir_shader *shader, unsigned clip_plane_enable);

View File

@@ -386,7 +386,7 @@ lower_distance_to_vec4(nir_shader *shader, struct lower_distance_state *state)
}
}
void
bool
nir_lower_clip_cull_distance_to_vec4s(nir_shader *shader)
{
int clip_size = 0;
@@ -409,8 +409,10 @@ nir_lower_clip_cull_distance_to_vec4s(nir_shader *shader)
cull_size = MAX2(cull_size, get_unwrapped_array_length(shader, var));
}
if (clip_size == 0 && cull_size == 0)
return;
if (clip_size == 0 && cull_size == 0) {
nir_shader_preserve_all_metadata(shader);
return false;
}
struct lower_distance_state state;
state.old_distance_out_var = NULL;
@@ -430,6 +432,9 @@ nir_lower_clip_cull_distance_to_vec4s(nir_shader *shader)
lower_distance_to_vec4(shader, &state);
nir_fixup_deref_modes(shader);
/* Assume we made progress */
return true;
}
static bool