From ff281e62043203fd83f3f88e2ed68828646e155d Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 9 May 2018 13:21:43 +1000 Subject: [PATCH] nir: fix clip cull lowering to not assert if GLSL already lowered. If GLSL has already done the lowering, we'd rather not crash in this pass. Reviewed-by: Kenneth Graunke --- src/compiler/nir/nir_lower_clip_cull_distance_arrays.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c b/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c index 86ce5fb1f86..2afbf9285c0 100644 --- a/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c +++ b/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c @@ -144,6 +144,12 @@ combine_clip_cull(nir_shader *nir, cull = var; } + /* if the GLSL lowering pass has already run, don't bother repeating */ + if (!cull && clip) { + if (!glsl_type_is_array(clip->type)) + return false; + } + const unsigned clip_array_size = get_unwrapped_array_length(nir, clip); const unsigned cull_array_size = get_unwrapped_array_length(nir, cull); -- 2.30.2