LLVMModuleRef mod = radeon_llvm_get_kernel_module(program->llvm_ctx, i,
code, header->num_bytes);
si_compile_llvm(sctx->screen, &program->kernels[i], sctx->tm,
- mod, &sctx->b.debug);
+ mod, &sctx->b.debug, TGSI_PROCESSOR_COMPUTE);
LLVMDisposeModule(mod);
}
}
int si_compile_llvm(struct si_screen *sscreen, struct si_shader *shader,
LLVMTargetMachineRef tm, LLVMModuleRef mod,
- struct pipe_debug_callback *debug)
+ struct pipe_debug_callback *debug, unsigned processor)
{
int r = 0;
bool dump_asm = r600_can_dump_shader(&sscreen->b,
r = si_compile_llvm(sscreen, si_shader_ctx->shader,
si_shader_ctx->tm, bld_base->base.gallivm->module,
- debug);
+ debug, TGSI_PROCESSOR_GEOMETRY);
radeon_llvm_dispose(&si_shader_ctx->radeon_bld);
radeon_llvm_finalize_module(&si_shader_ctx.radeon_bld);
mod = bld_base->base.gallivm->module;
- r = si_compile_llvm(sscreen, shader, tm, mod, debug);
+ r = si_compile_llvm(sscreen, shader, tm, mod, debug, si_shader_ctx.type);
if (r) {
fprintf(stderr, "LLVM failed to compile shader\n");
goto out;
void si_dump_shader_key(unsigned shader, union si_shader_key *key, FILE *f);
int si_compile_llvm(struct si_screen *sscreen, struct si_shader *shader,
LLVMTargetMachineRef tm, LLVMModuleRef mod,
- struct pipe_debug_callback *debug);
+ struct pipe_debug_callback *debug, unsigned processor);
void si_shader_destroy(struct si_shader *shader);
unsigned si_shader_io_get_unique_index(unsigned semantic_name, unsigned index);
int si_shader_binary_upload(struct si_screen *sscreen, struct si_shader *shader);