[Mesa-dev] [PATCH 10/10] ac: remove the remaining duplicate llvm types
Marek Olšák
maraeo at gmail.com
Thu Nov 2 17:22:35 UTC 2017
For the series:
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Marek
On Thu, Nov 2, 2017 at 3:41 AM, Timothy Arceri <tarceri at itsqueeze.com> wrote:
> ---
> src/amd/common/ac_nir_to_llvm.c | 13 +------------
> 1 file changed, 1 insertion(+), 12 deletions(-)
>
> diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
> index ec51ed7007..38a65b9cd1 100644
> --- a/src/amd/common/ac_nir_to_llvm.c
> +++ b/src/amd/common/ac_nir_to_llvm.c
> @@ -127,22 +127,20 @@ struct nir_to_llvm_context {
> LLVMValueRef esgs_ring;
> LLVMValueRef gsvs_ring;
> LLVMValueRef hs_ring_tess_offchip;
> LLVMValueRef hs_ring_tess_factor;
>
> LLVMValueRef prim_mask;
> LLVMValueRef sample_pos_offset;
> LLVMValueRef persp_sample, persp_center, persp_centroid;
> LLVMValueRef linear_sample, linear_center, linear_centroid;
>
> - unsigned uniform_md_kind;
> - LLVMValueRef empty_md;
> gl_shader_stage stage;
>
> LLVMValueRef inputs[RADEON_LLVM_MAX_INPUTS * 4];
>
> uint64_t input_mask;
> uint64_t output_mask;
> uint8_t num_output_clips;
> uint8_t num_output_culls;
>
> bool is_gs_copy_shader;
> @@ -973,27 +971,20 @@ static void create_function(struct nir_to_llvm_context *ctx,
> set_userdata_location_shader(ctx, AC_UD_PS_SAMPLE_POS_OFFSET, &user_sgpr_idx, 1);
> }
> break;
> default:
> unreachable("Shader stage not implemented");
> }
>
> ctx->shader_info->num_user_sgprs = user_sgpr_idx;
> }
>
> -static void setup_types(struct nir_to_llvm_context *ctx)
> -{
> - ctx->uniform_md_kind =
> - LLVMGetMDKindIDInContext(ctx->context, "amdgpu.uniform", 14);
> - ctx->empty_md = LLVMMDNodeInContext(ctx->context, NULL, 0);
> -}
> -
> static int get_llvm_num_components(LLVMValueRef value)
> {
> LLVMTypeRef type = LLVMTypeOf(value);
> unsigned num_components = LLVMGetTypeKind(type) == LLVMVectorTypeKind
> ? LLVMGetVectorSize(type)
> : 1;
> return num_components;
> }
>
> static LLVMValueRef llvm_extract_elem(struct ac_llvm_context *ac,
> @@ -2213,21 +2204,21 @@ static LLVMValueRef visit_vulkan_resource_index(struct nir_to_llvm_context *ctx,
> stride = LLVMConstInt(ctx->ac.i32, 16, false);
> } else
> stride = LLVMConstInt(ctx->ac.i32, layout->binding[binding].size, false);
>
> offset = LLVMConstInt(ctx->ac.i32, base_offset, false);
> index = LLVMBuildMul(ctx->builder, index, stride, "");
> offset = LLVMBuildAdd(ctx->builder, offset, index, "");
>
> desc_ptr = ac_build_gep0(&ctx->ac, desc_ptr, offset);
> desc_ptr = cast_ptr(ctx, desc_ptr, ctx->ac.v4i32);
> - LLVMSetMetadata(desc_ptr, ctx->uniform_md_kind, ctx->empty_md);
> + LLVMSetMetadata(desc_ptr, ctx->ac.uniform_md_kind, ctx->ac.empty_md);
>
> return LLVMBuildLoad(ctx->builder, desc_ptr, "");
> }
>
> static LLVMValueRef visit_load_push_constant(struct nir_to_llvm_context *ctx,
> nir_intrinsic_instr *instr)
> {
> LLVMValueRef ptr, addr;
>
> addr = LLVMConstInt(ctx->ac.i32, nir_intrinsic_base(instr), 0);
> @@ -6474,21 +6465,20 @@ LLVMModuleRef ac_translate_nir_to_llvm(LLVMTargetMachineRef tm,
> ac_llvm_context_init(&ctx.ac, ctx.context, options->chip_class);
> ctx.ac.module = ctx.module;
> LLVMSetTarget(ctx.module, options->supports_spill ? "amdgcn-mesa-mesa3d" : "amdgcn--");
>
> LLVMTargetDataRef data_layout = LLVMCreateTargetDataLayout(tm);
> char *data_layout_str = LLVMCopyStringRepOfTargetData(data_layout);
> LLVMSetDataLayout(ctx.module, data_layout_str);
> LLVMDisposeTargetData(data_layout);
> LLVMDisposeMessage(data_layout_str);
>
> - setup_types(&ctx);
> ctx.builder = LLVMCreateBuilderInContext(ctx.context);
> ctx.ac.builder = ctx.builder;
>
> memset(shader_info, 0, sizeof(*shader_info));
>
> for(int i = 0; i < shader_count; ++i)
> ac_nir_shader_info_pass(shaders[i], options, &shader_info->info);
>
> for (i = 0; i < AC_UD_MAX_SETS; i++)
> shader_info->user_sgprs_locs.descriptor_sets[i].sgpr_idx = -1;
> @@ -6847,21 +6837,20 @@ void ac_create_gs_copy_shader(LLVMTargetMachineRef tm,
> ctx.context = LLVMContextCreate();
> ctx.module = LLVMModuleCreateWithNameInContext("shader", ctx.context);
> ctx.options = options;
> ctx.shader_info = shader_info;
>
> ac_llvm_context_init(&ctx.ac, ctx.context, options->chip_class);
> ctx.ac.module = ctx.module;
>
> ctx.is_gs_copy_shader = true;
> LLVMSetTarget(ctx.module, "amdgcn--");
> - setup_types(&ctx);
>
> ctx.builder = LLVMCreateBuilderInContext(ctx.context);
> ctx.ac.builder = ctx.builder;
> ctx.stage = MESA_SHADER_VERTEX;
>
> create_function(&ctx, MESA_SHADER_VERTEX, false, MESA_SHADER_VERTEX);
>
> ctx.gs_max_out_vertices = geom_shader->info.gs.vertices_out;
> ac_setup_rings(&ctx);
>
> --
> 2.14.3
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list