const struct ac_nir_compiler_options *options;
struct ac_shader_variant_info *shader_info;
struct ac_shader_abi abi;
- struct ac_nir_context *nir;
unsigned max_workgroup_size;
LLVMContextRef context;
ctx.ac = *ac;
ctx.abi = abi;
- if (nctx)
- nctx->nir = &ctx;
-
ctx.stage = nir->info.stage;
ctx.main_function = LLVMGetBasicBlockParent(LLVMGetInsertBlock(ctx.ac.builder));
ralloc_free(ctx.defs);
ralloc_free(ctx.phis);
ralloc_free(ctx.vars);
-
- if (nctx)
- nctx->nir = NULL;
}
static
nir_ctx.ac = ctx.ac;
nir_ctx.abi = &ctx.abi;
- ctx.nir = &nir_ctx;
-
nir_foreach_variable(variable, &geom_shader->outputs) {
scan_shader_output_decl(&ctx, variable, geom_shader, MESA_SHADER_VERTEX);
handle_shader_output_decl(&nir_ctx, geom_shader, variable);
ac_gs_copy_shader_emit(&ctx);
- ctx.nir = NULL;
-
LLVMBuildRetVoid(ctx.ac.builder);
ac_llvm_finalize_module(&ctx);