diff options
author | Nicolai Hähnle <[email protected]> | 2017-05-19 17:43:51 +0200 |
---|---|---|
committer | Nicolai Hähnle <[email protected]> | 2017-07-31 14:55:33 +0200 |
commit | 9df23db13d706a28190325b64e6c3f61eedc6206 (patch) | |
tree | b971be901cc4e17b227ccbdbd27d4572f727bde5 /src/gallium/drivers/radeonsi/si_shader.c | |
parent | d77526ee3094293b62d08f6c04f28801d7868354 (diff) |
radeonsi: translate NIR to LLVM
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_shader.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_shader.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index ac58d87784a..cd1be493157 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -5652,9 +5652,16 @@ static bool si_compile_tgsi_main(struct si_shader_context *ctx, ctx->postponed_kill = lp_build_alloca(&ctx->gallivm, ctx->f32, ""); } - if (!lp_build_tgsi_llvm(bld_base, sel->tokens)) { - fprintf(stderr, "Failed to translate shader from TGSI to LLVM\n"); - return false; + if (sel->tokens) { + if (!lp_build_tgsi_llvm(bld_base, sel->tokens)) { + fprintf(stderr, "Failed to translate shader from TGSI to LLVM\n"); + return false; + } + } else { + if (!si_nir_build_llvm(ctx, sel->nir)) { + fprintf(stderr, "Failed to translate shader from NIR to LLVM\n"); + return false; + } } si_llvm_build_ret(ctx, ctx->return_value); |