st/glsl_to_nir: call gl_nir_lower_buffers() a little later
authorTimothy Arceri <tarceri@itsqueeze.com>
Fri, 6 Dec 2019 10:53:17 +0000 (21:53 +1100)
committerTimothy Arceri <tarceri@itsqueeze.com>
Fri, 13 Dec 2019 00:07:19 +0000 (00:07 +0000)
In a following commit we will use a NIR based builder to build the
OpenGL resource list, so we want to delay this call a little.

Ack-by: Alejandro PiƱeiro <apinheiro@igalia.com>
src/mesa/state_tracker/st_glsl_to_nir.cpp

index a1b7b499cff5fc39b273147ca7219113efb06ba4..c252babb7115776462bf68208c6e5d075232973a 100644 (file)
@@ -405,7 +405,6 @@ st_nir_preprocess(struct st_context *st, struct gl_program *prog,
                  nir_var_mem_shared, nir_address_format_32bit_offset);
    }
 
-   NIR_PASS_V(nir, gl_nir_lower_buffers, shader_program);
    /* Do a round of constant folding to clean up address calculations */
    NIR_PASS_V(nir, nir_opt_constant_folding);
 }
@@ -726,6 +725,8 @@ st_link_nir(struct gl_context *ctx,
       struct gl_linked_shader *shader = linked_shader[i];
       nir_shader *nir = shader->Program->nir;
 
+      NIR_PASS_V(nir, gl_nir_lower_buffers, shader_program);
+
       /* Linked shaders are optimized in st_nir_link_shaders. Separate shaders
        * and shaders with a fixed-func VS or FS are optimized here.
        */