nir: Return progress from nir_lower_clip_fs().

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Matt Turner
2017-03-02 11:15:53 -08:00
parent 4e4927cd95
commit 9dbf91f5c0
2 changed files with 7 additions and 3 deletions

View File

@@ -2498,7 +2498,7 @@ bool nir_lower_tex(nir_shader *shader,
bool nir_lower_idiv(nir_shader *shader); bool nir_lower_idiv(nir_shader *shader);
bool nir_lower_clip_vs(nir_shader *shader, unsigned ucp_enables); bool nir_lower_clip_vs(nir_shader *shader, unsigned ucp_enables);
void nir_lower_clip_fs(nir_shader *shader, unsigned ucp_enables); bool nir_lower_clip_fs(nir_shader *shader, unsigned ucp_enables);
bool nir_lower_clip_cull_distance_arrays(nir_shader *nir); bool nir_lower_clip_cull_distance_arrays(nir_shader *nir);
void nir_lower_two_sided_color(nir_shader *shader); void nir_lower_two_sided_color(nir_shader *shader);

View File

@@ -292,18 +292,20 @@ lower_clip_fs(nir_function_impl *impl, unsigned ucp_enables,
b.shader->info->fs.uses_discard = true; b.shader->info->fs.uses_discard = true;
} }
} }
nir_metadata_preserve(impl, nir_metadata_dominance);
} }
/* insert conditional kill based on interpolated CLIPDIST /* insert conditional kill based on interpolated CLIPDIST
*/ */
void bool
nir_lower_clip_fs(nir_shader *shader, unsigned ucp_enables) nir_lower_clip_fs(nir_shader *shader, unsigned ucp_enables)
{ {
nir_variable *in[2]; nir_variable *in[2];
int maxloc = -1; int maxloc = -1;
if (!ucp_enables) if (!ucp_enables)
return; return false;
nir_foreach_variable(var, &shader->inputs) { nir_foreach_variable(var, &shader->inputs) {
int loc = var->data.driver_location; int loc = var->data.driver_location;
@@ -332,4 +334,6 @@ nir_lower_clip_fs(nir_shader *shader, unsigned ucp_enables)
if (!strcmp(function->name, "main")) if (!strcmp(function->name, "main"))
lower_clip_fs(function->impl, ucp_enables, in); lower_clip_fs(function->impl, ucp_enables, in);
} }
return true;
} }