nir: skip lowering sampler if there is no dereference
authorTimothy Arceri <tarceri@itsqueeze.com>
Wed, 1 Nov 2017 01:43:45 +0000 (12:43 +1100)
committerTimothy Arceri <tarceri@itsqueeze.com>
Fri, 3 Nov 2017 03:19:46 +0000 (14:19 +1100)
This avoids a crash on the output of nir_lower_bitmap().

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/compiler/nir/nir_lower_samplers_as_deref.c

index bdbd8672f402b8c0c3f411c543827e7e5ee065ca..3e819f7fa757c8bb9133fa82077248675d4a886d 100644 (file)
@@ -157,8 +157,10 @@ static bool
 lower_sampler(nir_tex_instr *instr, struct lower_samplers_as_deref_state *state,
               nir_builder *b)
 {
+   if (!instr->texture)
+      return false;
+
    /* In GLSL, we only fill out the texture field.  The sampler is inferred */
-   assert(instr->texture != NULL);
    assert(instr->sampler == NULL);
 
    b->cursor = nir_before_instr(&instr->instr);