radeonsi: translate NIR to LLVM
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
d77526ee30
commit
9df23db13d
|
@ -30,7 +30,7 @@
|
|||
#include "amd_family.h"
|
||||
#include "../vulkan/radv_descriptor_set.h"
|
||||
#include "ac_shader_info.h"
|
||||
#include "shader_enums.h"
|
||||
#include "compiler/shader_enums.h"
|
||||
struct ac_shader_binary;
|
||||
struct ac_shader_config;
|
||||
struct nir_shader;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -307,4 +307,6 @@ LLVMTypeRef si_const_array(LLVMTypeRef elem_type, int num_elements);
|
|||
void si_shader_context_init_alu(struct lp_build_tgsi_context *bld_base);
|
||||
void si_shader_context_init_mem(struct si_shader_context *ctx);
|
||||
|
||||
bool si_nir_build_llvm(struct si_shader_context *ctx, struct nir_shader *nir);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -22,6 +22,9 @@
|
|||
*/
|
||||
|
||||
#include "si_shader.h"
|
||||
#include "si_shader_internal.h"
|
||||
|
||||
#include "ac_nir_to_llvm.h"
|
||||
|
||||
#include "tgsi/tgsi_from_mesa.h"
|
||||
|
||||
|
@ -310,3 +313,9 @@ void si_nir_scan_shader(const struct nir_shader *nir,
|
|||
}
|
||||
}
|
||||
|
||||
bool si_nir_build_llvm(struct si_shader_context *ctx, struct nir_shader *nir)
|
||||
{
|
||||
ac_nir_translate(&ctx->ac, &ctx->abi, nir, NULL);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue