*/
void
ac_llvm_context_init(struct ac_llvm_context *ctx, LLVMContextRef context,
- enum chip_class chip_class)
+ enum chip_class chip_class, enum radeon_family family)
{
LLVMValueRef args[1];
ctx->chip_class = chip_class;
+ ctx->family = family;
ctx->context = context;
ctx->module = NULL;
LLVMValueRef empty_md;
enum chip_class chip_class;
+ enum radeon_family family;
LLVMValueRef lds;
};
void
ac_llvm_context_init(struct ac_llvm_context *ctx, LLVMContextRef context,
- enum chip_class chip_class);
+ enum chip_class chip_class, enum radeon_family family);
unsigned ac_get_type_size(LLVMTypeRef type);
ctx.context = LLVMContextCreate();
ctx.module = LLVMModuleCreateWithNameInContext("shader", ctx.context);
- ac_llvm_context_init(&ctx.ac, ctx.context, options->chip_class);
+ ac_llvm_context_init(&ctx.ac, ctx.context, options->chip_class,
+ options->family);
ctx.ac.module = ctx.module;
LLVMSetTarget(ctx.module, options->supports_spill ? "amdgcn-mesa-mesa3d" : "amdgcn--");
ctx.options = options;
ctx.shader_info = shader_info;
- ac_llvm_context_init(&ctx.ac, ctx.context, options->chip_class);
+ ac_llvm_context_init(&ctx.ac, ctx.context, options->chip_class,
+ options->family);
ctx.ac.module = ctx.module;
ctx.is_gs_copy_shader = true;
ctx->gallivm.builder = lp_create_builder(ctx->gallivm.context,
float_mode);
- ac_llvm_context_init(&ctx->ac, ctx->gallivm.context, sscreen->info.chip_class);
+ ac_llvm_context_init(&ctx->ac, ctx->gallivm.context,
+ sscreen->info.chip_class, sscreen->info.family);
ctx->ac.module = ctx->gallivm.module;
ctx->ac.builder = ctx->gallivm.builder;