radeonsi: set some context vars for nir path
authorTimothy Arceri <tarceri@itsqueeze.com>
Tue, 13 Feb 2018 02:06:51 +0000 (13:06 +1100)
committerTimothy Arceri <tarceri@itsqueeze.com>
Wed, 28 Feb 2018 23:51:56 +0000 (10:51 +1100)
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c

index 8707be504e563587367de8171e26f790e9353722..4a027d86592b6499b70dcc3e588a1f71ba3d8c29 100644 (file)
@@ -1253,7 +1253,16 @@ void si_llvm_context_set_tgsi(struct si_shader_context *ctx,
        ctx->temps = NULL;
        ctx->temps_count = 0;
 
-       if (!info || !tokens)
+       if (!info)
+               return;
+
+       ctx->num_const_buffers = util_last_bit(info->const_buffers_declared);
+       ctx->num_shader_buffers = util_last_bit(info->shader_buffers_declared);
+
+       ctx->num_samplers = util_last_bit(info->samplers_declared);
+       ctx->num_images = util_last_bit(info->images_declared);
+
+       if (!tokens)
                return;
 
        if (info->array_max[TGSI_FILE_TEMPORARY] > 0) {
@@ -1281,11 +1290,6 @@ void si_llvm_context_set_tgsi(struct si_shader_context *ctx,
        ctx->bld_base.emit_fetch_funcs[TGSI_FILE_TEMPORARY] = si_llvm_emit_fetch;
        ctx->bld_base.emit_fetch_funcs[TGSI_FILE_OUTPUT] = si_llvm_emit_fetch;
        ctx->bld_base.emit_fetch_funcs[TGSI_FILE_SYSTEM_VALUE] = fetch_system_value;
-
-       ctx->num_const_buffers = util_last_bit(info->const_buffers_declared);
-       ctx->num_shader_buffers = util_last_bit(info->shader_buffers_declared);
-       ctx->num_samplers = util_last_bit(info->samplers_declared);
-       ctx->num_images = util_last_bit(info->images_declared);
 }
 
 void si_llvm_create_func(struct si_shader_context *ctx,